@payloadcms/ui 3.0.0-beta.34 → 3.0.0-beta.36

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 (566) hide show
  1. package/dist/elements/AppHeader/index.js +64 -39
  2. package/dist/elements/AppHeader/index.js.map +1 -1
  3. package/dist/elements/ArrayAction/index.js +75 -41
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.js +15 -8
  6. package/dist/elements/Autosave/index.js.map +1 -1
  7. package/dist/elements/Banner/index.js +16 -5
  8. package/dist/elements/Banner/index.js.map +1 -1
  9. package/dist/elements/Button/index.js +53 -31
  10. package/dist/elements/Button/index.js.map +1 -1
  11. package/dist/elements/Card/index.js +23 -15
  12. package/dist/elements/Card/index.js.map +1 -1
  13. package/dist/elements/CodeEditor/CodeEditor.js +3 -2
  14. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  15. package/dist/elements/CodeEditor/index.js +8 -6
  16. package/dist/elements/CodeEditor/index.js.map +1 -1
  17. package/dist/elements/Collapsible/index.js +63 -38
  18. package/dist/elements/Collapsible/index.js.map +1 -1
  19. package/dist/elements/Collapsible/provider.js +5 -3
  20. package/dist/elements/Collapsible/provider.js.map +1 -1
  21. package/dist/elements/ColumnSelector/index.js +24 -22
  22. package/dist/elements/ColumnSelector/index.js.map +1 -1
  23. package/dist/elements/CopyToClipboard/index.js +21 -11
  24. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  25. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  26. package/dist/elements/DatePicker/DatePicker.js +29 -17
  27. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  28. package/dist/elements/DatePicker/index.js +7 -3
  29. package/dist/elements/DatePicker/index.js.map +1 -1
  30. package/dist/elements/DeleteDocument/index.js +57 -32
  31. package/dist/elements/DeleteDocument/index.js.map +1 -1
  32. package/dist/elements/DeleteMany/index.js +43 -23
  33. package/dist/elements/DeleteMany/index.js.map +1 -1
  34. package/dist/elements/DocumentControls/index.d.ts +1 -0
  35. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  36. package/dist/elements/DocumentControls/index.js +180 -101
  37. package/dist/elements/DocumentControls/index.js.map +1 -1
  38. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  39. package/dist/elements/DocumentDrawer/DrawerContent.js +30 -24
  40. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  41. package/dist/elements/DocumentDrawer/index.js +14 -8
  42. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  43. package/dist/elements/DocumentFields/index.js +52 -34
  44. package/dist/elements/DocumentFields/index.js.map +1 -1
  45. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +14 -11
  46. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  47. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +16 -5
  48. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  49. package/dist/elements/DocumentHeader/Tabs/index.js +64 -56
  50. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  51. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +5 -3
  52. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  53. package/dist/elements/DocumentHeader/index.js +21 -11
  54. package/dist/elements/DocumentHeader/index.js.map +1 -1
  55. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +14 -11
  56. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  57. package/dist/elements/DraggableSortable/index.js +12 -8
  58. package/dist/elements/DraggableSortable/index.js.map +1 -1
  59. package/dist/elements/Drawer/index.js +58 -35
  60. package/dist/elements/Drawer/index.js.map +1 -1
  61. package/dist/elements/Dropzone/index.js +30 -18
  62. package/dist/elements/Dropzone/index.js.map +1 -1
  63. package/dist/elements/DuplicateDocument/index.js +37 -17
  64. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  65. package/dist/elements/EditMany/index.d.ts.map +1 -1
  66. package/dist/elements/EditMany/index.js +112 -76
  67. package/dist/elements/EditMany/index.js.map +1 -1
  68. package/dist/elements/EditUpload/index.d.ts +2 -4
  69. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  70. package/dist/elements/EditUpload/index.js +247 -162
  71. package/dist/elements/EditUpload/index.js.map +1 -1
  72. package/dist/elements/ErrorPill/index.js +14 -7
  73. package/dist/elements/ErrorPill/index.js.map +1 -1
  74. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  75. package/dist/elements/FieldSelect/index.js +42 -25
  76. package/dist/elements/FieldSelect/index.js.map +1 -1
  77. package/dist/elements/FileDetails/FileMeta/index.js +54 -20
  78. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  79. package/dist/elements/FileDetails/index.js +42 -30
  80. package/dist/elements/FileDetails/index.js.map +1 -1
  81. package/dist/elements/GenerateConfirmation/index.js +48 -26
  82. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  83. package/dist/elements/Gutter/index.js +5 -3
  84. package/dist/elements/Gutter/index.js.map +1 -1
  85. package/dist/elements/Hamburger/index.js +48 -27
  86. package/dist/elements/Hamburger/index.js.map +1 -1
  87. package/dist/elements/IDLabel/index.js +9 -3
  88. package/dist/elements/IDLabel/index.js.map +1 -1
  89. package/dist/elements/ListControls/index.js +94 -62
  90. package/dist/elements/ListControls/index.js.map +1 -1
  91. package/dist/elements/ListDrawer/DrawerContent.js +97 -67
  92. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  93. package/dist/elements/ListDrawer/index.js +14 -8
  94. package/dist/elements/ListDrawer/index.js.map +1 -1
  95. package/dist/elements/ListSelection/index.js +31 -17
  96. package/dist/elements/ListSelection/index.js.map +1 -1
  97. package/dist/elements/Loading/index.js +31 -18
  98. package/dist/elements/Loading/index.js.map +1 -1
  99. package/dist/elements/LoadingOverlay/index.js +13 -8
  100. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  101. package/dist/elements/Localizer/LocalizerLabel/index.js +19 -9
  102. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  103. package/dist/elements/Localizer/index.js +31 -24
  104. package/dist/elements/Localizer/index.js.map +1 -1
  105. package/dist/elements/Logout/index.js +9 -5
  106. package/dist/elements/Logout/index.js.map +1 -1
  107. package/dist/elements/Nav/NavHamburger/index.js +7 -5
  108. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  109. package/dist/elements/Nav/NavToggler/index.js +5 -3
  110. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  111. package/dist/elements/Nav/NavWrapper/index.js +9 -6
  112. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  113. package/dist/elements/Nav/context.d.ts +1 -1
  114. package/dist/elements/Nav/context.d.ts.map +1 -1
  115. package/dist/elements/Nav/context.js +5 -3
  116. package/dist/elements/Nav/context.js.map +1 -1
  117. package/dist/elements/Nav/index.client.js +43 -35
  118. package/dist/elements/Nav/index.client.js.map +1 -1
  119. package/dist/elements/Nav/index.js +31 -19
  120. package/dist/elements/Nav/index.js.map +1 -1
  121. package/dist/elements/NavGroup/index.js +39 -24
  122. package/dist/elements/NavGroup/index.js.map +1 -1
  123. package/dist/elements/Pagination/ClickableArrow/index.js +5 -3
  124. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  125. package/dist/elements/Pagination/Page/index.js +5 -3
  126. package/dist/elements/Pagination/Page/index.js.map +1 -1
  127. package/dist/elements/Pagination/Separator/index.js +5 -3
  128. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  129. package/dist/elements/Pagination/index.js +17 -17
  130. package/dist/elements/Pagination/index.js.map +1 -1
  131. package/dist/elements/PerPage/index.js +46 -28
  132. package/dist/elements/PerPage/index.js.map +1 -1
  133. package/dist/elements/Pill/index.js +25 -12
  134. package/dist/elements/Pill/index.js.map +1 -1
  135. package/dist/elements/Popup/PopupButtonList/index.js +17 -12
  136. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  137. package/dist/elements/Popup/PopupTrigger/index.js +9 -6
  138. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  139. package/dist/elements/Popup/index.js +52 -35
  140. package/dist/elements/Popup/index.js.map +1 -1
  141. package/dist/elements/PreviewButton/index.js +6 -4
  142. package/dist/elements/PreviewButton/index.js.map +1 -1
  143. package/dist/elements/PreviewSizes/index.js +81 -49
  144. package/dist/elements/PreviewSizes/index.js.map +1 -1
  145. package/dist/elements/{Publish → PublishButton}/index.d.ts +1 -1
  146. package/dist/elements/PublishButton/index.d.ts.map +1 -0
  147. package/dist/elements/PublishButton/index.js +40 -0
  148. package/dist/elements/PublishButton/index.js.map +1 -0
  149. package/dist/elements/PublishMany/index.js +42 -22
  150. package/dist/elements/PublishMany/index.js.map +1 -1
  151. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  152. package/dist/elements/ReactSelect/ClearIndicator/index.js +9 -6
  153. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  154. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  155. package/dist/elements/ReactSelect/Control/index.js +27 -23
  156. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  157. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +1 -1
  158. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  159. package/dist/elements/ReactSelect/DropdownIndicator/index.js +7 -5
  160. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  161. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  162. package/dist/elements/ReactSelect/MultiValue/index.js +20 -17
  163. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  164. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  165. package/dist/elements/ReactSelect/MultiValueLabel/index.js +11 -9
  166. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  167. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +1 -1
  168. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  169. package/dist/elements/ReactSelect/MultiValueRemove/index.js +14 -8
  170. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  171. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  172. package/dist/elements/ReactSelect/SingleValue/index.js +11 -7
  173. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  174. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  175. package/dist/elements/ReactSelect/ValueContainer/index.js +7 -3
  176. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  177. package/dist/elements/ReactSelect/index.js +15 -7
  178. package/dist/elements/ReactSelect/index.js.map +1 -1
  179. package/dist/elements/ReactSelect/types.d.ts +1 -1
  180. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  181. package/dist/elements/ReactSelect/types.js.map +1 -1
  182. package/dist/elements/RenderCustomComponent/index.js +3 -2
  183. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  184. package/dist/elements/RenderTitle/index.js +8 -6
  185. package/dist/elements/RenderTitle/index.js.map +1 -1
  186. package/dist/elements/{Save → SaveButton}/index.d.ts +1 -1
  187. package/dist/elements/SaveButton/index.d.ts.map +1 -0
  188. package/dist/elements/{Save → SaveButton}/index.js +10 -6
  189. package/dist/elements/SaveButton/index.js.map +1 -0
  190. package/dist/elements/{SaveDraft → SaveDraftButton}/index.d.ts +1 -1
  191. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -0
  192. package/dist/elements/{SaveDraft → SaveDraftButton}/index.js +10 -6
  193. package/dist/elements/SaveDraftButton/index.js.map +1 -0
  194. package/dist/elements/SearchFilter/index.js +14 -9
  195. package/dist/elements/SearchFilter/index.js.map +1 -1
  196. package/dist/elements/SelectAll/index.js +2 -1
  197. package/dist/elements/SelectAll/index.js.map +1 -1
  198. package/dist/elements/SelectRow/index.js +2 -1
  199. package/dist/elements/SelectRow/index.js.map +1 -1
  200. package/dist/elements/ShimmerEffect/index.js +23 -20
  201. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  202. package/dist/elements/SortColumn/index.js +43 -31
  203. package/dist/elements/SortColumn/index.js.map +1 -1
  204. package/dist/elements/SortComplex/index.js +41 -23
  205. package/dist/elements/SortComplex/index.js.map +1 -1
  206. package/dist/elements/Status/index.js +94 -41
  207. package/dist/elements/Status/index.js.map +1 -1
  208. package/dist/elements/StayLoggedIn/index.js +40 -20
  209. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  210. package/dist/elements/StepNav/index.js +63 -41
  211. package/dist/elements/StepNav/index.js.map +1 -1
  212. package/dist/elements/Table/DefaultCell/fields/Array/index.js +4 -1
  213. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  214. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +4 -1
  215. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  216. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +7 -3
  217. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  218. package/dist/elements/Table/DefaultCell/fields/Code/index.js +7 -3
  219. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  220. package/dist/elements/Table/DefaultCell/fields/Date/index.js +8 -5
  221. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  222. package/dist/elements/Table/DefaultCell/fields/File/index.js +21 -15
  223. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  224. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +7 -3
  225. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  226. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  227. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +40 -21
  228. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  229. package/dist/elements/Table/DefaultCell/fields/Select/index.js +4 -1
  230. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  231. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +4 -1
  232. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  233. package/dist/elements/Table/DefaultCell/index.js +31 -15
  234. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  235. package/dist/elements/Table/RelationshipProvider/index.js +5 -3
  236. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  237. package/dist/elements/Table/TableCellProvider/index.js +5 -3
  238. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  239. package/dist/elements/Table/index.js +39 -24
  240. package/dist/elements/Table/index.js.map +1 -1
  241. package/dist/elements/TableColumns/buildColumnState.js +8 -5
  242. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  243. package/dist/elements/TableColumns/filterFields.js +1 -1
  244. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  245. package/dist/elements/TableColumns/index.js +5 -3
  246. package/dist/elements/TableColumns/index.js.map +1 -1
  247. package/dist/elements/Thumbnail/index.js +14 -8
  248. package/dist/elements/Thumbnail/index.js.map +1 -1
  249. package/dist/elements/ThumbnailCard/index.js +14 -7
  250. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  251. package/dist/elements/Tooltip/index.d.ts +5 -1
  252. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  253. package/dist/elements/Tooltip/index.js +42 -27
  254. package/dist/elements/Tooltip/index.js.map +1 -1
  255. package/dist/elements/Tooltip/index.scss +12 -10
  256. package/dist/elements/Translation/index.js +19 -16
  257. package/dist/elements/Translation/index.js.map +1 -1
  258. package/dist/elements/UnpublishMany/index.js +42 -22
  259. package/dist/elements/UnpublishMany/index.js.map +1 -1
  260. package/dist/elements/Upload/index.d.ts.map +1 -1
  261. package/dist/elements/Upload/index.js +114 -82
  262. package/dist/elements/Upload/index.js.map +1 -1
  263. package/dist/elements/ViewDescription/index.js +6 -4
  264. package/dist/elements/ViewDescription/index.js.map +1 -1
  265. package/dist/elements/WhereBuilder/Condition/Date/index.js +10 -8
  266. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  267. package/dist/elements/WhereBuilder/Condition/Number/index.js +2 -1
  268. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  269. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +49 -43
  270. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  271. package/dist/elements/WhereBuilder/Condition/Select/index.js +2 -1
  272. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  273. package/dist/elements/WhereBuilder/Condition/Text/index.js +2 -1
  274. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  275. package/dist/elements/WhereBuilder/Condition/index.js +84 -66
  276. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  277. package/dist/elements/WhereBuilder/index.js +97 -69
  278. package/dist/elements/WhereBuilder/index.js.map +1 -1
  279. package/dist/elements/WithServerSideProps/index.js +7 -2
  280. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  281. package/dist/elements/withMergedProps/index.js +4 -1
  282. package/dist/elements/withMergedProps/index.js.map +1 -1
  283. package/dist/fields/Array/ArrayRow.js +53 -47
  284. package/dist/fields/Array/ArrayRow.js.map +1 -1
  285. package/dist/fields/Array/index.d.ts.map +1 -1
  286. package/dist/fields/Array/index.js +135 -93
  287. package/dist/fields/Array/index.js.map +1 -1
  288. package/dist/fields/Array/index.scss +0 -4
  289. package/dist/fields/Blocks/BlockRow.js +62 -53
  290. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  291. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +12 -7
  292. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  293. package/dist/fields/Blocks/BlocksDrawer/index.js +36 -28
  294. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  295. package/dist/fields/Blocks/RowActions.js +30 -24
  296. package/dist/fields/Blocks/RowActions.js.map +1 -1
  297. package/dist/fields/Blocks/SectionTitle/index.js +14 -12
  298. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  299. package/dist/fields/Blocks/index.d.ts.map +1 -1
  300. package/dist/fields/Blocks/index.js +154 -105
  301. package/dist/fields/Blocks/index.js.map +1 -1
  302. package/dist/fields/Blocks/index.scss +0 -4
  303. package/dist/fields/Checkbox/Input.d.ts +3 -4
  304. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  305. package/dist/fields/Checkbox/Input.js +40 -25
  306. package/dist/fields/Checkbox/Input.js.map +1 -1
  307. package/dist/fields/Checkbox/index.d.ts +2 -1
  308. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  309. package/dist/fields/Checkbox/index.js +29 -23
  310. package/dist/fields/Checkbox/index.js.map +1 -1
  311. package/dist/fields/Checkbox/index.scss +0 -4
  312. package/dist/fields/Code/index.js +34 -18
  313. package/dist/fields/Code/index.js.map +1 -1
  314. package/dist/fields/Collapsible/index.js +57 -42
  315. package/dist/fields/Collapsible/index.js.map +1 -1
  316. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  317. package/dist/fields/ConfirmPassword/index.js +28 -17
  318. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  319. package/dist/fields/DateTime/index.d.ts.map +1 -1
  320. package/dist/fields/DateTime/index.js +36 -24
  321. package/dist/fields/DateTime/index.js.map +1 -1
  322. package/dist/fields/DateTime/index.scss +0 -6
  323. package/dist/fields/Email/index.js +37 -21
  324. package/dist/fields/Email/index.js.map +1 -1
  325. package/dist/fields/Group/index.js +58 -36
  326. package/dist/fields/Group/index.js.map +1 -1
  327. package/dist/fields/Group/provider.js +5 -3
  328. package/dist/fields/Group/provider.js.map +1 -1
  329. package/dist/fields/HiddenInput/index.js +2 -1
  330. package/dist/fields/HiddenInput/index.js.map +1 -1
  331. package/dist/fields/JSON/index.d.ts.map +1 -1
  332. package/dist/fields/JSON/index.js +40 -19
  333. package/dist/fields/JSON/index.js.map +1 -1
  334. package/dist/fields/Number/index.d.ts.map +1 -1
  335. package/dist/fields/Number/index.js +75 -55
  336. package/dist/fields/Number/index.js.map +1 -1
  337. package/dist/fields/Password/index.d.ts.map +1 -1
  338. package/dist/fields/Password/index.js +31 -20
  339. package/dist/fields/Password/index.js.map +1 -1
  340. package/dist/fields/Point/index.js +67 -31
  341. package/dist/fields/Point/index.js.map +1 -1
  342. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  343. package/dist/fields/RadioGroup/Radio/index.js +27 -18
  344. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  345. package/dist/fields/RadioGroup/Radio/index.scss +2 -1
  346. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  347. package/dist/fields/RadioGroup/index.js +60 -47
  348. package/dist/fields/RadioGroup/index.js.map +1 -1
  349. package/dist/fields/RadioGroup/index.scss +0 -4
  350. package/dist/fields/Relationship/AddNew/index.js +67 -44
  351. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  352. package/dist/fields/Relationship/index.d.ts.map +1 -1
  353. package/dist/fields/Relationship/index.js +119 -100
  354. package/dist/fields/Relationship/index.js.map +1 -1
  355. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  356. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +49 -33
  357. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  358. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  359. package/dist/fields/Relationship/select-components/SingleValue/index.js +50 -30
  360. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  361. package/dist/fields/Row/index.js +23 -19
  362. package/dist/fields/Row/index.js.map +1 -1
  363. package/dist/fields/Row/provider.js +5 -3
  364. package/dist/fields/Row/provider.js.map +1 -1
  365. package/dist/fields/Select/Input.d.ts +11 -0
  366. package/dist/fields/Select/Input.d.ts.map +1 -0
  367. package/dist/fields/Select/Input.js +87 -0
  368. package/dist/fields/Select/Input.js.map +1 -0
  369. package/dist/fields/Select/index.d.ts +3 -1
  370. package/dist/fields/Select/index.d.ts.map +1 -1
  371. package/dist/fields/Select/index.js +22 -53
  372. package/dist/fields/Select/index.js.map +1 -1
  373. package/dist/fields/Tabs/Tab/index.js +26 -16
  374. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  375. package/dist/fields/Tabs/index.js +47 -31
  376. package/dist/fields/Tabs/index.js.map +1 -1
  377. package/dist/fields/Tabs/provider.js +5 -3
  378. package/dist/fields/Tabs/provider.js.map +1 -1
  379. package/dist/fields/Text/Input.d.ts.map +1 -1
  380. package/dist/fields/Text/Input.js +66 -46
  381. package/dist/fields/Text/Input.js.map +1 -1
  382. package/dist/fields/Text/index.js +2 -1
  383. package/dist/fields/Text/index.js.map +1 -1
  384. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  385. package/dist/fields/Textarea/Input.js +51 -30
  386. package/dist/fields/Textarea/Input.js.map +1 -1
  387. package/dist/fields/Textarea/index.js +2 -1
  388. package/dist/fields/Textarea/index.js.map +1 -1
  389. package/dist/fields/Upload/Input.d.ts.map +1 -1
  390. package/dist/fields/Upload/Input.js +71 -41
  391. package/dist/fields/Upload/Input.js.map +1 -1
  392. package/dist/fields/Upload/index.js +2 -1
  393. package/dist/fields/Upload/index.js.map +1 -1
  394. package/dist/forms/FieldDescription/index.js +8 -4
  395. package/dist/forms/FieldDescription/index.js.map +1 -1
  396. package/dist/forms/FieldError/index.js +10 -5
  397. package/dist/forms/FieldError/index.js.map +1 -1
  398. package/dist/forms/FieldError/index.scss +1 -2
  399. package/dist/forms/FieldLabel/index.js +14 -6
  400. package/dist/forms/FieldLabel/index.js.map +1 -1
  401. package/dist/forms/FieldPropsProvider/index.js +5 -3
  402. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  403. package/dist/forms/Form/index.d.ts.map +1 -1
  404. package/dist/forms/Form/index.js +31 -18
  405. package/dist/forms/Form/index.js.map +1 -1
  406. package/dist/forms/NullifyField/index.js +8 -5
  407. package/dist/forms/NullifyField/index.js.map +1 -1
  408. package/dist/forms/RenderFields/RenderField.js +7 -3
  409. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  410. package/dist/forms/RenderFields/index.js +23 -22
  411. package/dist/forms/RenderFields/index.js.map +1 -1
  412. package/dist/forms/RenderFields/index.scss +5 -0
  413. package/dist/forms/RowLabel/Context/index.js +5 -3
  414. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  415. package/dist/forms/RowLabel/index.js +9 -6
  416. package/dist/forms/RowLabel/index.js.map +1 -1
  417. package/dist/forms/Submit/index.js +12 -9
  418. package/dist/forms/Submit/index.js.map +1 -1
  419. package/dist/forms/withCondition/WatchCondition.js +4 -1
  420. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  421. package/dist/forms/withCondition/index.js +7 -3
  422. package/dist/forms/withCondition/index.js.map +1 -1
  423. package/dist/graphics/Account/Default/index.js +22 -16
  424. package/dist/graphics/Account/Default/index.js.map +1 -1
  425. package/dist/graphics/Account/Gravatar/index.js +2 -1
  426. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  427. package/dist/graphics/Account/index.js +2 -1
  428. package/dist/graphics/Account/index.js.map +1 -1
  429. package/dist/graphics/DefaultBlockImage/index.js +32 -21
  430. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  431. package/dist/graphics/ExternalLink/index.js +9 -7
  432. package/dist/graphics/ExternalLink/index.js.map +1 -1
  433. package/dist/graphics/File/index.js +20 -14
  434. package/dist/graphics/File/index.js.map +1 -1
  435. package/dist/graphics/Icon/index.js +14 -9
  436. package/dist/graphics/Icon/index.js.map +1 -1
  437. package/dist/graphics/Logo/index.js +37 -22
  438. package/dist/graphics/Logo/index.js.map +1 -1
  439. package/dist/graphics/Search/index.js +23 -18
  440. package/dist/graphics/Search/index.js.map +1 -1
  441. package/dist/hooks/useDebouncedCallback.js +1 -1
  442. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  443. package/dist/hooks/useDelay.js +1 -1
  444. package/dist/hooks/useDelay.js.map +1 -1
  445. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  446. package/dist/hooks/useDelayedRender.js +1 -1
  447. package/dist/hooks/useDelayedRender.js.map +1 -1
  448. package/dist/hooks/useIntersect.js +1 -1
  449. package/dist/hooks/useIntersect.js.map +1 -1
  450. package/dist/icons/Calendar/index.js +34 -27
  451. package/dist/icons/Calendar/index.js.map +1 -1
  452. package/dist/icons/Check/index.js +18 -13
  453. package/dist/icons/Check/index.js.map +1 -1
  454. package/dist/icons/Chevron/index.js +8 -6
  455. package/dist/icons/Chevron/index.js.map +1 -1
  456. package/dist/icons/CloseMenu/index.js +22 -17
  457. package/dist/icons/CloseMenu/index.js.map +1 -1
  458. package/dist/icons/CodeBlock/index.js +14 -9
  459. package/dist/icons/CodeBlock/index.js.map +1 -1
  460. package/dist/icons/Copy/index.js +17 -12
  461. package/dist/icons/Copy/index.js.map +1 -1
  462. package/dist/icons/DragHandle/index.js +42 -33
  463. package/dist/icons/DragHandle/index.js.map +1 -1
  464. package/dist/icons/Edit/index.js +22 -16
  465. package/dist/icons/Edit/index.js.map +1 -1
  466. package/dist/icons/Line/index.js +11 -9
  467. package/dist/icons/Line/index.js.map +1 -1
  468. package/dist/icons/Link/index.js +14 -9
  469. package/dist/icons/Link/index.js.map +1 -1
  470. package/dist/icons/LogOut/index.js +25 -15
  471. package/dist/icons/LogOut/index.js.map +1 -1
  472. package/dist/icons/Menu/index.js +27 -21
  473. package/dist/icons/Menu/index.js.map +1 -1
  474. package/dist/icons/MinimizeMaximize/index.js +35 -19
  475. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  476. package/dist/icons/More/index.js +24 -18
  477. package/dist/icons/More/index.js.map +1 -1
  478. package/dist/icons/Plus/index.js +20 -15
  479. package/dist/icons/Plus/index.js.map +1 -1
  480. package/dist/icons/Search/index.js +19 -14
  481. package/dist/icons/Search/index.js.map +1 -1
  482. package/dist/icons/Swap/index.js +29 -22
  483. package/dist/icons/Swap/index.js.map +1 -1
  484. package/dist/icons/X/index.js +20 -15
  485. package/dist/icons/X/index.js.map +1 -1
  486. package/dist/providers/Actions/index.js +5 -3
  487. package/dist/providers/Actions/index.js.map +1 -1
  488. package/dist/providers/Auth/index.js +5 -3
  489. package/dist/providers/Auth/index.js.map +1 -1
  490. package/dist/providers/ClientFunction/index.js +8 -5
  491. package/dist/providers/ClientFunction/index.js.map +1 -1
  492. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -2
  493. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  494. package/dist/providers/ComponentMap/buildComponentMap/collections.js +12 -11
  495. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  496. package/dist/providers/ComponentMap/buildComponentMap/fields.js +19 -16
  497. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  498. package/dist/providers/ComponentMap/buildComponentMap/globals.js +7 -6
  499. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  500. package/dist/providers/ComponentMap/buildComponentMap/index.js +18 -11
  501. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  502. package/dist/providers/ComponentMap/index.js +5 -3
  503. package/dist/providers/ComponentMap/index.js.map +1 -1
  504. package/dist/providers/Config/index.js +5 -3
  505. package/dist/providers/Config/index.js.map +1 -1
  506. package/dist/providers/DocumentEvents/index.js +5 -3
  507. package/dist/providers/DocumentEvents/index.js.map +1 -1
  508. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  509. package/dist/providers/DocumentInfo/index.js +58 -28
  510. package/dist/providers/DocumentInfo/index.js.map +1 -1
  511. package/dist/providers/DocumentInfo/types.d.ts +2 -1
  512. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  513. package/dist/providers/DocumentInfo/types.js.map +1 -1
  514. package/dist/providers/EditDepth/index.js +5 -3
  515. package/dist/providers/EditDepth/index.js.map +1 -1
  516. package/dist/providers/EntityVisibility/index.js +5 -3
  517. package/dist/providers/EntityVisibility/index.js.map +1 -1
  518. package/dist/providers/FieldComponents/index.js +5 -3
  519. package/dist/providers/FieldComponents/index.js.map +1 -1
  520. package/dist/providers/FormQueryParams/index.js +5 -3
  521. package/dist/providers/FormQueryParams/index.js.map +1 -1
  522. package/dist/providers/ListInfo/index.js +5 -3
  523. package/dist/providers/ListInfo/index.js.map +1 -1
  524. package/dist/providers/ListQuery/index.js +5 -3
  525. package/dist/providers/ListQuery/index.js.map +1 -1
  526. package/dist/providers/Locale/index.js +5 -3
  527. package/dist/providers/Locale/index.js.map +1 -1
  528. package/dist/providers/Operation/index.js +5 -3
  529. package/dist/providers/Operation/index.js.map +1 -1
  530. package/dist/providers/Params/index.js +5 -3
  531. package/dist/providers/Params/index.js.map +1 -1
  532. package/dist/providers/Preferences/index.js +5 -3
  533. package/dist/providers/Preferences/index.js.map +1 -1
  534. package/dist/providers/Root/index.d.ts +2 -0
  535. package/dist/providers/Root/index.d.ts.map +1 -1
  536. package/dist/providers/Root/index.js +75 -28
  537. package/dist/providers/Root/index.js.map +1 -1
  538. package/dist/providers/RouteCache/index.js +5 -3
  539. package/dist/providers/RouteCache/index.js.map +1 -1
  540. package/dist/providers/SearchParams/index.js +5 -3
  541. package/dist/providers/SearchParams/index.js.map +1 -1
  542. package/dist/providers/Selection/index.js +5 -3
  543. package/dist/providers/Selection/index.js.map +1 -1
  544. package/dist/providers/Theme/index.d.ts +3 -0
  545. package/dist/providers/Theme/index.d.ts.map +1 -1
  546. package/dist/providers/Theme/index.js +31 -19
  547. package/dist/providers/Theme/index.js.map +1 -1
  548. package/dist/providers/Translation/index.js +5 -3
  549. package/dist/providers/Translation/index.js.map +1 -1
  550. package/dist/scss/app.scss +0 -6
  551. package/dist/templates/Default/NavHamburger/index.js +2 -1
  552. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  553. package/dist/templates/Default/Wrapper/index.js +5 -3
  554. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  555. package/dist/templates/Default/index.js +43 -26
  556. package/dist/templates/Default/index.js.map +1 -1
  557. package/dist/templates/Minimal/index.js +8 -5
  558. package/dist/templates/Minimal/index.js.map +1 -1
  559. package/package.json +16 -12
  560. package/dist/elements/Publish/index.d.ts.map +0 -1
  561. package/dist/elements/Publish/index.js +0 -87
  562. package/dist/elements/Publish/index.js.map +0 -1
  563. package/dist/elements/Save/index.d.ts.map +0 -1
  564. package/dist/elements/Save/index.js.map +0 -1
  565. package/dist/elements/SaveDraft/index.d.ts.map +0 -1
  566. package/dist/elements/SaveDraft/index.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\nimport type { Where } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport usePayloadAPI from '../../hooks/usePayloadAPI.js'\nimport { X } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { useModal } = facelessUIImport\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const { componentMap } = useComponentMap()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const { List } = componentMap.collections?.[selectedCollectionConfig?.slug] || {}\n\n const [selectedOption, setSelectedOption] = useState<{ label: string; value: string }>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {})\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {}\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <X />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n {List}\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"names":["facelessUIImport","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","X","useAuth","useComponentMap","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","useModal","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","componentMap","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","selectedOption","setSelectedOption","label","labels","singular","value","undefined","selectedConfig","preferenceKey","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","collectionSlug","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","state","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","admin","listSearchableFields","useAsTitle","versions","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","newPreferences","onCreateNew","doc","docID","id","Header","header","className","div","h2","plural","button","aria-label","onClick","type","description","onChange","options","coll","collectionConfig","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","rowColl","rowData","onSave"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAIA,YAAYA,sBAAsB,qBAAoB;AACtD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,QAAO;AAI3E,SAASC,UAAU,QAAQ,kCAAiC;AAC5D,OAAOC,mBAAmB,+BAA8B;AACxD,SAASC,CAAC,QAAQ,yBAAwB;AAC1C,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,gBAAgB,QAAQ,oCAAmC;AACpE,SAASC,iBAAiB,QAAQ,qCAAoC;AACtE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,iBAAiB,QAAQ,6BAA4B;AAC9D,SAASC,cAAc,QAAQ,sBAAqB;AACpD,SAASC,IAAI,QAAQ,mBAAkB;AACvC,SAASC,WAAW,QAAQ,0BAAyB;AACrD,SAASC,oBAAoB,QAAQ,2BAA0B;AAC/D,SAASC,eAAe,QAAQ,8BAA6B;AAC7D,SAASC,SAAS,QAAQ,aAAY;AAEtC,MAAMC,wBAAwB,CAACC,OAAcC;IAC3C,IAAI,SAASD,OAAO;QAClBA,MAAME,GAAG,CAACC,IAAI,CAACF;IACjB,OAAO,IAAI,QAAQD,OAAO;QACxBA,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF,OAAO;QACLD,QAAQ;YACNE,KAAK;gBAACF;gBAAOC;aAAY;QAC3B;IACF;IAEA,OAAOD;AACT;AAEA,OAAO,MAAMI,oBAA+C,CAAC,EAC3DC,eAAe,EACfC,YAAY,EACZC,UAAU,EACVC,aAAa,EACbC,QAAQ,EACRC,kBAAkB,EACnB;IACC,MAAM,EAAEC,QAAQ,EAAE,GAAGpC;IAErB,MAAM,EAAEqC,IAAI,EAAEC,CAAC,EAAE,GAAGtB;IACpB,MAAM,EAAEuB,WAAW,EAAE,GAAG7B;IACxB,MAAM,EAAE8B,aAAa,EAAE,GAAGzB;IAC1B,MAAM,EAAE0B,UAAU,EAAEC,WAAW,EAAE,GAAGN;IACpC,MAAM,CAACO,OAAOC,SAAS,GAAGtC;IAC1B,MAAM,CAACuC,MAAMC,QAAQ,GAAGxC,SAAiB;IACzC,MAAM,CAACyC,MAAMC,QAAQ,GAAG1C,SAAiB;IACzC,MAAM,CAACmB,OAAOwB,SAAS,GAAG3C,SAAgB;IAC1C,MAAM,CAAC4C,QAAQC,UAAU,GAAG7C,SAAiB;IAE7C,MAAM,EAAE8C,YAAY,EAAE,GAAGzC;IAEzB,MAAM,EACJ0C,WAAW,EACXC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAG5C;IAEJ,MAAM6C,2BAA2BJ,YAAYK,MAAM,CAAC,CAAC,EAAEC,IAAI,EAAE;QAC3D,OAAO7B,gBAAgB8B,QAAQ,CAACD;IAClC;IAEA,MAAM,CAACE,0BAA0BC,4BAA4B,GAAGxD,SAC9D;QACE,OACEmD,yBAAyBM,IAAI,CAAC,CAAC,EAAEJ,IAAI,EAAE,GAAKA,SAASxB,uBACrDsB,0BAA0B,CAAC,EAAE;IAEjC;IAGF,MAAM,EAAEO,IAAI,EAAE,GAAGZ,aAAaC,WAAW,EAAE,CAACQ,0BAA0BF,KAAK,IAAI,CAAC;IAEhF,MAAM,CAACM,gBAAgBC,kBAAkB,GAAG5D,SAA2C,IACrFuD,2BACI;YACEM,OAAOlE,eAAe4D,yBAAyBO,MAAM,CAACC,QAAQ,EAAEhC;YAChEiC,OAAOT,yBAAyBF,IAAI;QACtC,IACAY;IAGN,8FAA8F;IAE9FnE,UAAU;IACR,oDAAoD;IACtD,GAAG;QAACyD;KAAyB;IAE7B,uFAAuF;IACvFzD,UAAU;QACR,IAAI+B,oBAAoB;YACtB,2DAA2D;YAC3D,MAAMqC,iBACJf,yBAAyBM,IAAI,CAAC,CAAC,EAAEJ,IAAI,EAAE,GAAKA,SAASxB,uBACrDsB,0BAA0B,CAAC,EAAE;YAC/BK,4BAA4BU;QAC9B;IACF,GAAG;QAACrC;QAAoBsB;QAA0BvB;QAAUI;KAAE;IAE9D,MAAMmC,gBAAgB,CAAC,EAAEZ,yBAAyBF,IAAI,CAAC,KAAK,CAAC;IAE7D,kCAAkC;IAClC,MAAM,CAACe,gBAAgBC,uBAAuB,EAAE3C,YAAY4C,kBAAkB,EAAE,CAAC,GAC/E3D,kBAAkB;QAChB4D,gBAAgBhB,yBAAyBF,IAAI;IAC/C;IAEFvD,UAAU;QACR,IAAI6D,gBAAgB;YAClBH,4BACEL,yBAAyBM,IAAI,CAAC,CAAC,EAAEJ,IAAI,EAAE,GAAKM,eAAeK,KAAK,KAAKX;QAEzE;IACF,GAAG;QAACM;QAAgBR;KAAyB;IAE7C,MAAMqB,wBAAwBvC,aAAac,aAAa,CAACQ,0BAA0BF,KAAK;IACxF,MAAMoB,sBAAsBD,uBAAuBE,QAAQC;IAE3D,sDAAsD;IACtD,MAAMC,SAASxC,YAAYV;IAC3B,MAAMmD,SAASD,SAAS,CAAC,EAAE1B,UAAU,EAAED,IAAI,CAAC,EAAEM,yBAAyBF,IAAI,CAAC,CAAC,GAAG;IAChF,MAAM,CAACyB,WAAWC,kBAAkB,GAAGhF,WAAW,CAACiF,QAAUA,QAAQ,GAAG,GAAG,yDAAyD;;IACpI,MAAM,CAAC,EAAEC,IAAI,EAAEC,OAAO,EAAEC,WAAWC,aAAa,EAAE,EAAE,EAAEC,SAAS,EAAE,CAAC,GAAGnF,cAAc2E,QAAQ,CAAC;IAC5F,MAAMS,iCAAiCnC,yBAAyBoC,MAAM,GAAG;IAEzEzF,UAAU;QACR,MAAM,EACJuD,IAAI,EACJmC,OAAO,EAAEC,oBAAoB,EAAEC,UAAU,EAAE,GAAG,CAAC,CAAC,EAChDC,QAAQ,EACT,GAAGpC;QACJ,MAAMqC,SAQF,CAAC;QAEL,IAAIC,cAAc;YAAE,GAAI1E,SAAS,CAAC,CAAC;QAAE;QACrC,MAAM2E,eAAenE,eAAe,CAAC0B,KAAK;QAE1C,IAAI1B,iBAAiB,OAAOmE,iBAAiB,WAAW;YACtDD,cAAc3E,sBAAsB2E,aAAaC;QACnD;QAEA,IAAIlD,QAAQ;YACV,MAAMmD,qBAAqB,AAACN,CAAAA,wBAAwB;gBAACC;aAAW,AAAD,EAAGM,GAAG,CAAC,CAACC;gBACrE,OAAO;oBACL,CAACA,UAAU,EAAE;wBACXC,MAAMtD;oBACR;gBACF;YACF,GAAG,EAAE;YAEL,IAAImD,mBAAmBR,MAAM,GAAG,GAAG;gBACjC,MAAMY,eAAsB;oBAC1BC,IAAI;2BAAIL;qBAAmB;gBAC7B;gBAEAF,cAAc3E,sBAAsB2E,aAAaM;YACnD;QACF;QAEA,IAAI1D,MAAMmD,OAAOnD,IAAI,GAAGA;QACxB,IAAIF,MAAMqD,OAAOrD,IAAI,GAAGA;QACxB,IAAIuC,WAAWc,OAAOd,SAAS,GAAGA;QAClC,IAAIe,aAAaD,OAAOzE,KAAK,GAAG0E;QAChC,IAAIF,UAAUU,QAAQT,OAAOU,KAAK,GAAG;QAErCjB,UAAUO;IACZ,GAAG;QAACnD;QAAMF;QAAMpB;QAAOyB;QAAQkC;QAAWnD;QAAe4B;QAA0BvB;QAAGqD;KAAU;IAEhGvF,UAAU;QACR,MAAMyG,iBAAiB;YACrBlE;YACAE;QACF;QAEA,KAAKL,cAAciC,eAAeoC,gBAAgB;IACpD,GAAG;QAAChE;QAAMF;QAAOH;QAAeiC;KAAc;IAE9C,MAAMqC,cAAc3G,YAClB,CAAC,EAAE4G,GAAG,EAAE;QACN,IAAI,OAAO7E,aAAa,YAAY;YAClCA,SAAS;gBACP2C,gBAAgBhB,yBAAyBF,IAAI;gBAC7CqD,OAAOD,IAAIE,EAAE;YACf;QACF;QACA5B;QACA5C,WAAWmC;QACXnC,WAAWT;IACb,GACA;QAACS;QAAYmC;QAAoB5C;QAAYE;QAAU2B;KAAyB;IAGlF,IAAI,CAACA,4BAA4B2B,SAAS;QACxC,OAAO;IACT;IAEA,IAAIE,eAAe;QACjB,qBAAO,oBAACxE;IACV;IAEA,qBACE,oBAACL;QACCqG,sBACE,oBAACC;YAAOC,WAAW,CAAC,EAAE7F,UAAU,QAAQ,CAAC;yBACvC,oBAAC8F;YAAID,WAAW,CAAC,EAAE7F,UAAU,aAAa,CAAC;yBACzC,oBAAC8F;YAAID,WAAW,CAAC,EAAE7F,UAAU,gBAAgB,CAAC;yBAC5C,oBAAC+F;YAAGF,WAAW,CAAC,EAAE7F,UAAU,aAAa,CAAC;WACvC,CAACQ,eACE9B,eAAe4D,0BAA0BO,QAAQmD,QAAQlF,QACzDN,eAELgD,qCACC,oBAACJ;YAAsByC,WAAW,CAAC,EAAE7F,UAAU,mBAAmB,CAAC;yBACjE,oBAACJ,YAAMmB,EAAE,uCAIf,oBAACkF;YACCC,cAAYnF,EAAE;YACd8E,WAAW,CAAC,EAAE7F,UAAU,cAAc,CAAC;YACvCmG,SAAS;gBACPjF,WAAWT;YACb;YACA2F,MAAK;yBAEL,oBAAClH,YAGJoD,0BAA0BiC,OAAO8B,6BAChC,oBAACP;YAAID,WAAW,CAAC,EAAE7F,UAAU,YAAY,CAAC;yBACxC,oBAACD;YAAgBsG,aAAa/D,yBAAyBiC,KAAK,CAAC8B,WAAW;aAG3EhC,gDACC,oBAACyB;YAAID,WAAW,CAAC,EAAE7F,UAAU,wBAAwB,CAAC;yBACpD,oBAAChB;YAAW4D,OAAO7B,EAAE;0BACrB,oBAAClB;YACCgG,WAAW,CAAC,EAAE7F,UAAU,mBAAmB,CAAC;YAC5CsG,UAAU3D;YACV4D,SAASrE,yBAAyB6C,GAAG,CAAC,CAACyB,OAAU,CAAA;oBAC/C5D,OAAOlE,eAAe8H,KAAK3D,MAAM,CAACC,QAAQ,EAAEhC;oBAC5CiC,OAAOyD,KAAKpE,IAAI;gBAClB,CAAA;YACAW,OAAOL;;QAMjB+D,kBAAkBnE;QAClBgB,gBAAgBhB,yBAAyBF,IAAI;QAC7CoB,qBAAqBA;QACrBkD,gBAAgB;qBAEhB,oBAACnH;QACCyE,MAAMA;QACN2C,cAAcvF,SAASkB,0BAA0BiC,OAAOqC,YAAYD;QACpEE,aAAavF;QACbwF,kBAAkBrF;QAClBsF,qBAAqB1F;QACrB2F,oBAAoBpF;QACpBqF,kBAAkB1F;QAClB2F,mBAAmBxF;QACnByF,oBAAoB;QACpBjE,eAAeA;qBAEf,oBAACpD;QACCsH,WAAW;YACT;gBACEvB,WAAW,CAAC,EAAE7F,UAAU,YAAY,CAAC;gBACrCqH,MAAM;gBACNlB,SAAS,CAAC,EAAE7C,gBAAgBgE,OAAO,EAAEC,OAAO,EAAE;oBAC5C,IAAI,OAAO5G,aAAa,YAAY;wBAClCA,SAAS;4BACP2C,gBAAgBgE;4BAChB7B,OAAO8B,QAAQ7B,EAAE;wBACnB;oBACF;gBACF;YACF;SACD;QACDpC,gBAAgBhB,yBAAyBF,IAAI;QAC7Cc,eAAeA;OAEdT,oBACD,oBAACU;QAAeqE,QAAQjC;;AAKlC,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/ListDrawer/DrawerContent.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig } from 'payload/types'\nimport type { Where } from 'payload/types'\n\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { ListDrawerProps } from './types.js'\n\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport usePayloadAPI from '../../hooks/usePayloadAPI.js'\nimport { X } from '../../icons/X/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListInfoProvider } from '../../providers/ListInfo/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { LoadingOverlay } from '../Loading/index.js'\nimport { Pill } from '../Pill/index.js'\nimport { ReactSelect } from '../ReactSelect/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { ViewDescription } from '../ViewDescription/index.js'\nimport { baseClass } from './index.js'\n\nconst hoistQueryParamsToAnd = (where: Where, queryParams: Where) => {\n if ('and' in where) {\n where.and.push(queryParams)\n } else if ('or' in where) {\n where = {\n and: [where, queryParams],\n }\n } else {\n where = {\n and: [where, queryParams],\n }\n }\n\n return where\n}\n\nexport const ListDrawerContent: React.FC<ListDrawerProps> = ({\n collectionSlugs,\n customHeader,\n drawerSlug,\n filterOptions,\n onSelect,\n selectedCollection,\n}) => {\n const { useModal } = facelessUIImport\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { setPreference } = usePreferences()\n const { closeModal, isModalOpen } = useModal()\n const [limit, setLimit] = useState<number>()\n const [sort, setSort] = useState<string>(null)\n const [page, setPage] = useState<number>(1)\n const [where, setWhere] = useState<Where>(null)\n const [search, setSearch] = useState<string>('')\n\n const { componentMap } = useComponentMap()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const enabledCollectionConfigs = collections.filter(({ slug }) => {\n return collectionSlugs.includes(slug)\n })\n\n const [selectedCollectionConfig, setSelectedCollectionConfig] = useState<ClientCollectionConfig>(\n () => {\n return (\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n )\n },\n )\n\n const { List } = componentMap.collections?.[selectedCollectionConfig?.slug] || {}\n\n const [selectedOption, setSelectedOption] = useState<{ label: string; value: string }>(() =>\n selectedCollectionConfig\n ? {\n label: getTranslation(selectedCollectionConfig.labels.singular, i18n),\n value: selectedCollectionConfig.slug,\n }\n : undefined,\n )\n\n // const [fields, setFields] = useState<Field[]>(() => formatFields(selectedCollectionConfig))\n\n useEffect(() => {\n // setFields(formatFields(selectedCollectionConfig))\n }, [selectedCollectionConfig])\n\n // allow external control of selected collection, same as the initial state logic above\n useEffect(() => {\n if (selectedCollection) {\n // if passed a selection, find it and check if it's enabled\n const selectedConfig =\n enabledCollectionConfigs.find(({ slug }) => slug === selectedCollection) ||\n enabledCollectionConfigs?.[0]\n setSelectedCollectionConfig(selectedConfig)\n }\n }, [selectedCollection, enabledCollectionConfigs, onSelect, t])\n\n const preferenceKey = `${selectedCollectionConfig.slug}-list`\n\n // this is the 'create new' drawer\n const [DocumentDrawer, DocumentDrawerToggler, { drawerSlug: documentDrawerSlug }] =\n useDocumentDrawer({\n collectionSlug: selectedCollectionConfig.slug,\n })\n\n useEffect(() => {\n if (selectedOption) {\n setSelectedCollectionConfig(\n enabledCollectionConfigs.find(({ slug }) => selectedOption.value === slug),\n )\n }\n }, [selectedOption, enabledCollectionConfigs])\n\n const collectionPermissions = permissions?.collections?.[selectedCollectionConfig?.slug]\n const hasCreatePermission = collectionPermissions?.create?.permission\n\n // If modal is open, get active page of upload gallery\n const isOpen = isModalOpen(drawerSlug)\n const apiURL = isOpen ? `${serverURL}${api}/${selectedCollectionConfig.slug}` : null\n const [cacheBust, dispatchCacheBust] = useReducer((state) => state + 1, 0) // used to force a re-fetch even when apiURL is unchanged\n const [{ data, isError, isLoading: isLoadingList }, { setParams }] = usePayloadAPI(apiURL, {})\n const moreThanOneAvailableCollection = enabledCollectionConfigs.length > 1\n\n useEffect(() => {\n const {\n slug,\n admin: { listSearchableFields, useAsTitle } = {},\n versions,\n } = selectedCollectionConfig\n const params: {\n cacheBust?: number\n draft?: string\n limit?: number\n page?: number\n search?: string\n sort?: string\n where?: unknown\n } = {}\n\n let copyOfWhere = { ...(where || {}) }\n const filterOption = filterOptions?.[slug]\n\n if (filterOptions && typeof filterOption !== 'boolean') {\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, filterOption)\n }\n\n if (search) {\n const searchAsConditions = (listSearchableFields || [useAsTitle]).map((fieldName) => {\n return {\n [fieldName]: {\n like: search,\n },\n }\n }, [])\n\n if (searchAsConditions.length > 0) {\n const searchFilter: Where = {\n or: [...searchAsConditions],\n }\n\n copyOfWhere = hoistQueryParamsToAnd(copyOfWhere, searchFilter)\n }\n }\n\n if (page) params.page = page\n if (sort) params.sort = sort\n if (cacheBust) params.cacheBust = cacheBust\n if (copyOfWhere) params.where = copyOfWhere\n if (versions?.drafts) params.draft = 'true'\n\n setParams(params)\n }, [page, sort, where, search, cacheBust, filterOptions, selectedCollectionConfig, t, setParams])\n\n useEffect(() => {\n const newPreferences = {\n limit,\n sort,\n }\n\n void setPreference(preferenceKey, newPreferences, true)\n }, [sort, limit, setPreference, preferenceKey])\n\n const onCreateNew = useCallback(\n ({ doc }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: selectedCollectionConfig.slug,\n docID: doc.id,\n })\n }\n dispatchCacheBust()\n closeModal(documentDrawerSlug)\n closeModal(drawerSlug)\n },\n [closeModal, documentDrawerSlug, drawerSlug, onSelect, selectedCollectionConfig],\n )\n\n if (!selectedCollectionConfig || isError) {\n return null\n }\n\n if (isLoadingList) {\n return <LoadingOverlay />\n }\n\n return (\n <ListInfoProvider\n Header={\n <header className={`${baseClass}__header`}>\n <div className={`${baseClass}__header-wrap`}>\n <div className={`${baseClass}__header-content`}>\n <h2 className={`${baseClass}__header-text`}>\n {!customHeader\n ? getTranslation(selectedCollectionConfig?.labels?.plural, i18n)\n : customHeader}\n </h2>\n {hasCreatePermission && (\n <DocumentDrawerToggler className={`${baseClass}__create-new-button`}>\n <Pill>{t('general:createNew')}</Pill>\n </DocumentDrawerToggler>\n )}\n </div>\n <button\n aria-label={t('general:close')}\n className={`${baseClass}__header-close`}\n onClick={() => {\n closeModal(drawerSlug)\n }}\n type=\"button\"\n >\n <X />\n </button>\n </div>\n {selectedCollectionConfig?.admin?.description && (\n <div className={`${baseClass}__sub-header`}>\n <ViewDescription description={selectedCollectionConfig.admin.description} />\n </div>\n )}\n {moreThanOneAvailableCollection && (\n <div className={`${baseClass}__select-collection-wrap`}>\n <FieldLabel label={t('upload:selectCollectionToBrowse')} />\n <ReactSelect\n className={`${baseClass}__select-collection`}\n onChange={setSelectedOption} // this is only changing the options which is not rerunning my effect\n options={enabledCollectionConfigs.map((coll) => ({\n label: getTranslation(coll.labels.singular, i18n),\n value: coll.slug,\n }))}\n value={selectedOption}\n />\n </div>\n )}\n </header>\n }\n collectionConfig={selectedCollectionConfig}\n collectionSlug={selectedCollectionConfig.slug}\n hasCreatePermission={hasCreatePermission}\n newDocumentURL={null}\n >\n <ListQueryProvider\n data={data}\n defaultLimit={limit || selectedCollectionConfig?.admin?.pagination?.defaultLimit}\n defaultSort={sort}\n handlePageChange={setPage}\n handlePerPageChange={setLimit}\n handleSearchChange={setSearch}\n handleSortChange={setSort}\n handleWhereChange={setWhere}\n modifySearchParams={false}\n preferenceKey={preferenceKey}\n >\n <TableColumnsProvider\n cellProps={[\n {\n className: `${baseClass}__first-cell`,\n link: false,\n onClick: ({ collectionSlug: rowColl, rowData }) => {\n if (typeof onSelect === 'function') {\n onSelect({\n collectionSlug: rowColl,\n docID: rowData.id as string,\n })\n }\n },\n },\n ]}\n collectionSlug={selectedCollectionConfig.slug}\n preferenceKey={preferenceKey}\n >\n {List}\n <DocumentDrawer onSave={onCreateNew} />\n </TableColumnsProvider>\n </ListQueryProvider>\n </ListInfoProvider>\n )\n}\n"],"names":["facelessUIImport","getTranslation","React","useCallback","useEffect","useReducer","useState","FieldLabel","usePayloadAPI","X","useAuth","useComponentMap","useConfig","ListInfoProvider","ListQueryProvider","usePreferences","useTranslation","useDocumentDrawer","LoadingOverlay","Pill","ReactSelect","TableColumnsProvider","ViewDescription","baseClass","hoistQueryParamsToAnd","where","queryParams","and","push","ListDrawerContent","collectionSlugs","customHeader","drawerSlug","filterOptions","onSelect","selectedCollection","useModal","i18n","t","permissions","setPreference","closeModal","isModalOpen","limit","setLimit","sort","setSort","page","setPage","setWhere","search","setSearch","componentMap","collections","routes","api","serverURL","enabledCollectionConfigs","filter","slug","includes","selectedCollectionConfig","setSelectedCollectionConfig","find","List","selectedOption","setSelectedOption","label","labels","singular","value","undefined","selectedConfig","preferenceKey","DocumentDrawer","DocumentDrawerToggler","documentDrawerSlug","collectionSlug","collectionPermissions","hasCreatePermission","create","permission","isOpen","apiURL","cacheBust","dispatchCacheBust","state","data","isError","isLoading","isLoadingList","setParams","moreThanOneAvailableCollection","length","admin","listSearchableFields","useAsTitle","versions","params","copyOfWhere","filterOption","searchAsConditions","map","fieldName","like","searchFilter","or","drafts","draft","newPreferences","onCreateNew","doc","docID","id","Header","header","className","div","h2","plural","button","aria-label","onClick","type","description","onChange","options","coll","collectionConfig","newDocumentURL","defaultLimit","pagination","defaultSort","handlePageChange","handlePerPageChange","handleSearchChange","handleSortChange","handleWhereChange","modifySearchParams","cellProps","link","rowColl","rowData","onSave"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,6 @@
1
1
  'use client';
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { createElement as _createElement } from "react";
2
4
  import * as facelessUIImport from '@faceless-ui/modal';
3
5
  import React, { useCallback, useEffect, useId, useMemo, useState } from 'react';
4
6
  export * from './types.js';
@@ -9,24 +11,28 @@ import { ListDrawerContent } from './DrawerContent.js';
9
11
  export const baseClass = 'list-drawer';
10
12
  export const formatListDrawerSlug = ({ depth, uuid })=>`list-drawer_${depth}_${uuid}`;
11
13
  export const ListDrawerToggler = ({ children, className, disabled, drawerSlug, ...rest })=>{
12
- return /*#__PURE__*/ React.createElement(DrawerToggler, {
14
+ return /*#__PURE__*/ _jsx(DrawerToggler, {
13
15
  className: [
14
16
  className,
15
17
  `${baseClass}__toggler`
16
18
  ].filter(Boolean).join(' '),
17
19
  disabled: disabled,
18
20
  slug: drawerSlug,
19
- ...rest
20
- }, children);
21
+ ...rest,
22
+ children: children
23
+ });
21
24
  };
22
25
  export const ListDrawer = (props)=>{
23
26
  const { drawerSlug } = props;
24
- return /*#__PURE__*/ React.createElement(Drawer, {
27
+ return /*#__PURE__*/ _jsx(Drawer, {
25
28
  Header: null,
26
29
  className: baseClass,
27
30
  gutter: false,
28
- slug: drawerSlug
29
- }, /*#__PURE__*/ React.createElement(ListDrawerContent, props));
31
+ slug: drawerSlug,
32
+ children: /*#__PURE__*/ _jsx(ListDrawerContent, {
33
+ ...props
34
+ })
35
+ });
30
36
  };
31
37
  export const useListDrawer = ({ collectionSlugs: collectionSlugsFromProps, filterOptions, selectedCollection, uploads })=>{
32
38
  const { useModal } = facelessUIImport;
@@ -80,7 +86,7 @@ export const useListDrawer = ({ collectionSlugs: collectionSlugsFromProps, filte
80
86
  openModal
81
87
  ]);
82
88
  const MemoizedDrawer = useMemo(()=>{
83
- return (props)=>/*#__PURE__*/ React.createElement(ListDrawer, {
89
+ return (props)=>/*#__PURE__*/ _createElement(ListDrawer, {
84
90
  ...props,
85
91
  closeDrawer: closeDrawer,
86
92
  collectionSlugs: collectionSlugs,
@@ -99,7 +105,7 @@ export const useListDrawer = ({ collectionSlugs: collectionSlugsFromProps, filte
99
105
  filterOptions
100
106
  ]);
101
107
  const MemoizedDrawerToggler = useMemo(()=>{
102
- return (props)=>/*#__PURE__*/ React.createElement(ListDrawerToggler, {
108
+ return (props)=>/*#__PURE__*/ _jsx(ListDrawerToggler, {
103
109
  ...props,
104
110
  drawerSlug: drawerSlug
105
111
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const { useModal } = facelessUIImport\n\n const { collections } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"names":["facelessUIImport","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","useModal","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","length","filteredCollectionSlugs","upload","map","toggleDrawer","closeDrawer","openDrawer","MemoizedDrawer","key","MemoizedDrawerToggler","MemoizedDrawerState","isDrawerOpen"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/ListDrawer/index.tsx"],"sourcesContent":["'use client'\nimport * as facelessUIImport from '@faceless-ui/modal'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\n\nimport type { ListDrawerProps, ListTogglerProps, UseListDrawer } from './types.js'\n\nexport * from './types.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useEditDepth } from '../../providers/EditDepth/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { ListDrawerContent } from './DrawerContent.js'\nimport './index.scss'\n\nexport const baseClass = 'list-drawer'\n\nexport const formatListDrawerSlug = ({\n depth,\n uuid,\n}: {\n depth: number\n uuid: string // supply when creating a new document and no id is available\n}) => `list-drawer_${depth}_${uuid}`\n\nexport const ListDrawerToggler: React.FC<ListTogglerProps> = ({\n children,\n className,\n disabled,\n drawerSlug,\n ...rest\n}) => {\n return (\n <DrawerToggler\n className={[className, `${baseClass}__toggler`].filter(Boolean).join(' ')}\n disabled={disabled}\n slug={drawerSlug}\n {...rest}\n >\n {children}\n </DrawerToggler>\n )\n}\n\nexport const ListDrawer: React.FC<ListDrawerProps> = (props) => {\n const { drawerSlug } = props\n\n return (\n <Drawer Header={null} className={baseClass} gutter={false} slug={drawerSlug}>\n <ListDrawerContent {...props} />\n </Drawer>\n )\n}\n\nexport const useListDrawer: UseListDrawer = ({\n collectionSlugs: collectionSlugsFromProps,\n filterOptions,\n selectedCollection,\n uploads,\n}) => {\n const { useModal } = facelessUIImport\n\n const { collections } = useConfig()\n const drawerDepth = useEditDepth()\n const uuid = useId()\n const { closeModal, modalState, openModal, toggleModal } = useModal()\n const [isOpen, setIsOpen] = useState(false)\n const [collectionSlugs, setCollectionSlugs] = useState(collectionSlugsFromProps)\n\n const drawerSlug = formatListDrawerSlug({\n depth: drawerDepth,\n uuid,\n })\n\n useEffect(() => {\n setIsOpen(Boolean(modalState[drawerSlug]?.isOpen))\n }, [modalState, drawerSlug])\n\n useEffect(() => {\n if (!collectionSlugs || collectionSlugs.length === 0) {\n const filteredCollectionSlugs = collections.filter(({ upload }) => {\n if (uploads) {\n return Boolean(upload) === true\n }\n return true\n })\n\n setCollectionSlugs(filteredCollectionSlugs.map(({ slug }) => slug))\n }\n }, [collectionSlugs, uploads, collections])\n const toggleDrawer = useCallback(() => {\n toggleModal(drawerSlug)\n }, [toggleModal, drawerSlug])\n\n const closeDrawer = useCallback(() => {\n closeModal(drawerSlug)\n }, [drawerSlug, closeModal])\n\n const openDrawer = useCallback(() => {\n openModal(drawerSlug)\n }, [drawerSlug, openModal])\n\n const MemoizedDrawer = useMemo(() => {\n return (props) => (\n <ListDrawer\n {...props}\n closeDrawer={closeDrawer}\n collectionSlugs={collectionSlugs}\n drawerSlug={drawerSlug}\n filterOptions={filterOptions}\n key={drawerSlug}\n selectedCollection={selectedCollection}\n uploads={uploads}\n />\n )\n }, [drawerSlug, collectionSlugs, uploads, closeDrawer, selectedCollection, filterOptions])\n\n const MemoizedDrawerToggler = useMemo(() => {\n return (props) => <ListDrawerToggler {...props} drawerSlug={drawerSlug} />\n }, [drawerSlug])\n\n const MemoizedDrawerState = useMemo(\n () => ({\n closeDrawer,\n drawerDepth,\n drawerSlug,\n isDrawerOpen: isOpen,\n openDrawer,\n toggleDrawer,\n }),\n [drawerDepth, drawerSlug, isOpen, toggleDrawer, closeDrawer, openDrawer],\n )\n\n return [MemoizedDrawer, MemoizedDrawerToggler, MemoizedDrawerState]\n}\n"],"names":["facelessUIImport","React","useCallback","useEffect","useId","useMemo","useState","useConfig","useEditDepth","Drawer","DrawerToggler","ListDrawerContent","baseClass","formatListDrawerSlug","depth","uuid","ListDrawerToggler","children","className","disabled","drawerSlug","rest","filter","Boolean","join","slug","ListDrawer","props","Header","gutter","useListDrawer","collectionSlugs","collectionSlugsFromProps","filterOptions","selectedCollection","uploads","useModal","collections","drawerDepth","closeModal","modalState","openModal","toggleModal","isOpen","setIsOpen","setCollectionSlugs","length","filteredCollectionSlugs","upload","map","toggleDrawer","closeDrawer","openDrawer","MemoizedDrawer","key","MemoizedDrawerToggler","MemoizedDrawerState","isDrawerOpen"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import React, { Fragment } from 'react';
3
4
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
4
5
  import { useTranslation } from '../../providers/Translation/index.js';
@@ -9,23 +10,36 @@ export const ListSelection = ({ label })=>{
9
10
  if (count === 0) {
10
11
  return null;
11
12
  }
12
- return /*#__PURE__*/ React.createElement("div", {
13
- className: baseClass
14
- }, /*#__PURE__*/ React.createElement("span", null, t('general:selectedCount', {
15
- count,
16
- label
17
- })), selectAll !== SelectAllStatus.AllAvailable && /*#__PURE__*/ React.createElement(Fragment, null, ' ', "—", /*#__PURE__*/ React.createElement("button", {
18
- "aria-label": t('general:selectAll', {
19
- count,
20
- label
21
- }),
22
- className: `${baseClass}__button`,
23
- onClick: ()=>toggleAll(true),
24
- type: "button"
25
- }, t('general:selectAll', {
26
- count: totalDocs,
27
- label
28
- }))));
13
+ return /*#__PURE__*/ _jsxs("div", {
14
+ className: baseClass,
15
+ children: [
16
+ /*#__PURE__*/ _jsx("span", {
17
+ children: t('general:selectedCount', {
18
+ count,
19
+ label
20
+ })
21
+ }),
22
+ selectAll !== SelectAllStatus.AllAvailable && /*#__PURE__*/ _jsxs(Fragment, {
23
+ children: [
24
+ ' ',
25
+ "",
26
+ /*#__PURE__*/ _jsx("button", {
27
+ "aria-label": t('general:selectAll', {
28
+ count,
29
+ label
30
+ }),
31
+ className: `${baseClass}__button`,
32
+ onClick: ()=>toggleAll(true),
33
+ type: "button",
34
+ children: t('general:selectAll', {
35
+ count: totalDocs,
36
+ label
37
+ })
38
+ })
39
+ ]
40
+ })
41
+ ]
42
+ });
29
43
  };
30
44
 
31
45
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({ label }) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && (\n <Fragment>\n {' '}\n &mdash;\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label })}\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","label","count","selectAll","toggleAll","totalDocs","t","div","className","span","AllAvailable","button","aria-label","onClick","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,EAAEC,YAAY,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AAMlB,OAAO,MAAMC,gBAA8C,CAAC,EAAEC,KAAK,EAAE;IACnE,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGR;IACnD,MAAM,EAAES,CAAC,EAAE,GAAGR;IAEd,IAAII,UAAU,GAAG;QACf,OAAO;IACT;IAEA,qBACE,oBAACK;QAAIC,WAAWT;qBACd,oBAACU,cAAMH,EAAE,yBAAyB;QAAEJ;QAAOD;IAAM,KAChDE,cAAcP,gBAAgBc,YAAY,kBACzC,oBAACf,gBACE,KAAI,mBAEL,oBAACgB;QACCC,cAAYN,EAAE,qBAAqB;YAAEJ;YAAOD;QAAM;QAClDO,WAAW,CAAC,EAAET,UAAU,QAAQ,CAAC;QACjCc,SAAS,IAAMT,UAAU;QACzBU,MAAK;OAEJR,EAAE,qBAAqB;QAAEJ,OAAOG;QAAWJ;IAAM;AAM9D,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/ListSelection/index.tsx"],"sourcesContent":["'use client'\nimport React, { Fragment } from 'react'\n\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'list-selection'\n\nexport type ListSelectionProps = {\n label: string\n}\n\nexport const ListSelection: React.FC<ListSelectionProps> = ({ label }) => {\n const { count, selectAll, toggleAll, totalDocs } = useSelection()\n const { t } = useTranslation()\n\n if (count === 0) {\n return null\n }\n\n return (\n <div className={baseClass}>\n <span>{t('general:selectedCount', { count, label })}</span>\n {selectAll !== SelectAllStatus.AllAvailable && (\n <Fragment>\n {' '}\n &mdash;\n <button\n aria-label={t('general:selectAll', { count, label })}\n className={`${baseClass}__button`}\n onClick={() => toggleAll(true)}\n type=\"button\"\n >\n {t('general:selectAll', { count: totalDocs, label })}\n </button>\n </Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","Fragment","SelectAllStatus","useSelection","useTranslation","baseClass","ListSelection","label","count","selectAll","toggleAll","totalDocs","t","div","className","span","AllAvailable","button","aria-label","onClick","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,QAAQ,QAAQ,QAAO;AAEvC,SAASC,eAAe,EAAEC,YAAY,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AAMlB,OAAO,MAAMC,gBAA8C,CAAC,EAAEC,KAAK,EAAE;IACnE,MAAM,EAAEC,KAAK,EAAEC,SAAS,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGR;IACnD,MAAM,EAAES,CAAC,EAAE,GAAGR;IAEd,IAAII,UAAU,GAAG;QACf,OAAO;IACT;IAEA,qBACE,MAACK;QAAIC,WAAWT;;0BACd,KAACU;0BAAMH,EAAE,yBAAyB;oBAAEJ;oBAAOD;gBAAM;;YAChDE,cAAcP,gBAAgBc,YAAY,kBACzC,MAACf;;oBACE;oBAAI;kCAEL,KAACgB;wBACCC,cAAYN,EAAE,qBAAqB;4BAAEJ;4BAAOD;wBAAM;wBAClDO,WAAW,CAAC,EAAET,UAAU,QAAQ,CAAC;wBACjCc,SAAS,IAAMT,UAAU;wBACzBU,MAAK;kCAEJR,EAAE,qBAAqB;4BAAEJ,OAAOG;4BAAWJ;wBAAM;;;;;;AAM9D,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import { getTranslation } from '@payloadcms/translations';
3
4
  import React from 'react';
4
5
  import { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js';
@@ -7,7 +8,7 @@ import { useTranslation } from '../../providers/Translation/index.js';
7
8
  const baseClass = 'loading-overlay';
8
9
  export const LoadingOverlay = ({ animationDuration, loadingText, overlayType, show = true })=>{
9
10
  const { t } = useTranslation();
10
- return /*#__PURE__*/ React.createElement("div", {
11
+ return /*#__PURE__*/ _jsxs("div", {
11
12
  className: [
12
13
  baseClass,
13
14
  show ? `${baseClass}--entering` : `${baseClass}--exiting`,
@@ -15,22 +16,34 @@ export const LoadingOverlay = ({ animationDuration, loadingText, overlayType, sh
15
16
  ].filter(Boolean).join(' '),
16
17
  style: {
17
18
  animationDuration: animationDuration || '500ms'
18
- }
19
- }, /*#__PURE__*/ React.createElement("div", {
20
- className: `${baseClass}__bars`
21
- }, /*#__PURE__*/ React.createElement("div", {
22
- className: `${baseClass}__bar`
23
- }), /*#__PURE__*/ React.createElement("div", {
24
- className: `${baseClass}__bar`
25
- }), /*#__PURE__*/ React.createElement("div", {
26
- className: `${baseClass}__bar`
27
- }), /*#__PURE__*/ React.createElement("div", {
28
- className: `${baseClass}__bar`
29
- }), /*#__PURE__*/ React.createElement("div", {
30
- className: `${baseClass}__bar`
31
- })), /*#__PURE__*/ React.createElement("span", {
32
- className: `${baseClass}__text`
33
- }, loadingText || t('general:loading')));
19
+ },
20
+ children: [
21
+ /*#__PURE__*/ _jsxs("div", {
22
+ className: `${baseClass}__bars`,
23
+ children: [
24
+ /*#__PURE__*/ _jsx("div", {
25
+ className: `${baseClass}__bar`
26
+ }),
27
+ /*#__PURE__*/ _jsx("div", {
28
+ className: `${baseClass}__bar`
29
+ }),
30
+ /*#__PURE__*/ _jsx("div", {
31
+ className: `${baseClass}__bar`
32
+ }),
33
+ /*#__PURE__*/ _jsx("div", {
34
+ className: `${baseClass}__bar`
35
+ }),
36
+ /*#__PURE__*/ _jsx("div", {
37
+ className: `${baseClass}__bar`
38
+ })
39
+ ]
40
+ }),
41
+ /*#__PURE__*/ _jsx("span", {
42
+ className: `${baseClass}__text`,
43
+ children: loadingText || t('general:loading')
44
+ })
45
+ ]
46
+ });
34
47
  };
35
48
  export const LoadingOverlayToggle = ({ name: key, type = 'fullscreen', loadingText, show })=>{
36
49
  const { toggleLoadingOverlay } = useLoadingOverlay();
@@ -65,7 +78,7 @@ export const FormLoadingOverlayToggle = ({ name, type = 'fullscreen', action, fo
65
78
  loading: t('general:loading'),
66
79
  update: t('general:updating')
67
80
  };
68
- return /*#__PURE__*/ React.createElement(LoadingOverlayToggle, {
81
+ return /*#__PURE__*/ _jsx(LoadingOverlayToggle, {
69
82
  loadingText: `${labels[action]} ${loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''}`.trim(),
70
83
  name: name,
71
84
  show: formIsLoading || isProcessing,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Loading/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { LoadingOverlayTypes } from '../../elements/LoadingOverlay/types.js'\n\nimport { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'loading-overlay'\n\ntype LoadingOverlayProps = {\n animationDuration?: string\n loadingText?: string\n overlayType?: string\n show?: boolean\n}\n\nexport const LoadingOverlay: React.FC<LoadingOverlayProps> = ({\n animationDuration,\n loadingText,\n overlayType,\n show = true,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div\n className={[\n baseClass,\n show ? `${baseClass}--entering` : `${baseClass}--exiting`,\n overlayType ? `${baseClass}--${overlayType}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n animationDuration: animationDuration || '500ms',\n }}\n >\n <div className={`${baseClass}__bars`}>\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n </div>\n\n <span className={`${baseClass}__text`}>{loadingText || t('general:loading')}</span>\n </div>\n )\n}\n\nexport type UseLoadingOverlayToggleProps = {\n loadingText?: string\n name: string\n show: boolean\n type?: LoadingOverlayTypes\n}\nexport const LoadingOverlayToggle: React.FC<UseLoadingOverlayToggleProps> = ({\n name: key,\n type = 'fullscreen',\n loadingText,\n show,\n}) => {\n const { toggleLoadingOverlay } = useLoadingOverlay()\n\n React.useEffect(() => {\n toggleLoadingOverlay({\n type,\n isLoading: show,\n key,\n loadingText: loadingText || undefined,\n })\n\n return () => {\n toggleLoadingOverlay({\n type,\n isLoading: false,\n key,\n })\n }\n }, [show, toggleLoadingOverlay, key, type, loadingText])\n\n return null\n}\n\nexport type FormLoadingOverlayToggleProps = {\n action: 'create' | 'loading' | 'update'\n formIsLoading?: boolean\n loadingSuffix?: string\n name: string\n type?: LoadingOverlayTypes\n}\n\nexport const FormLoadingOverlayToggle: React.FC<FormLoadingOverlayToggleProps> = ({\n name,\n type = 'fullscreen',\n action,\n formIsLoading = false,\n loadingSuffix,\n}) => {\n const isProcessing = useFormProcessing()\n const { i18n, t } = useTranslation()\n\n const labels = {\n create: t('general:creating'),\n loading: t('general:loading'),\n update: t('general:updating'),\n }\n\n return (\n <LoadingOverlayToggle\n loadingText={`${labels[action]} ${\n loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''\n }`.trim()}\n name={name}\n show={formIsLoading || isProcessing}\n type={type}\n />\n )\n}\n"],"names":["getTranslation","React","useLoadingOverlay","useFormProcessing","useTranslation","baseClass","LoadingOverlay","animationDuration","loadingText","overlayType","show","t","div","className","filter","Boolean","join","style","span","LoadingOverlayToggle","name","key","type","toggleLoadingOverlay","useEffect","isLoading","undefined","FormLoadingOverlayToggle","action","formIsLoading","loadingSuffix","isProcessing","i18n","labels","create","loading","update","trim"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AASlB,OAAO,MAAMC,iBAAgD,CAAC,EAC5DC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,OAAO,IAAI,EACZ;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGP;IAEd,qBACE,oBAACQ;QACCC,WAAW;YACTR;YACAK,OAAO,CAAC,EAAEL,UAAU,UAAU,CAAC,GAAG,CAAC,EAAEA,UAAU,SAAS,CAAC;YACzDI,cAAc,CAAC,EAAEJ,UAAU,EAAE,EAAEI,YAAY,CAAC,GAAG;SAChD,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,OAAO;YACLV,mBAAmBA,qBAAqB;QAC1C;qBAEA,oBAACK;QAAIC,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;qBAClC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;sBACnC,oBAACO;QAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;uBAGrC,oBAACa;QAAKL,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;OAAGG,eAAeG,EAAE;AAG/D,EAAC;AAQD,OAAO,MAAMQ,uBAA+D,CAAC,EAC3EC,MAAMC,GAAG,EACTC,OAAO,YAAY,EACnBd,WAAW,EACXE,IAAI,EACL;IACC,MAAM,EAAEa,oBAAoB,EAAE,GAAGrB;IAEjCD,MAAMuB,SAAS,CAAC;QACdD,qBAAqB;YACnBD;YACAG,WAAWf;YACXW;YACAb,aAAaA,eAAekB;QAC9B;QAEA,OAAO;YACLH,qBAAqB;gBACnBD;gBACAG,WAAW;gBACXJ;YACF;QACF;IACF,GAAG;QAACX;QAAMa;QAAsBF;QAAKC;QAAMd;KAAY;IAEvD,OAAO;AACT,EAAC;AAUD,OAAO,MAAMmB,2BAAoE,CAAC,EAChFP,IAAI,EACJE,OAAO,YAAY,EACnBM,MAAM,EACNC,gBAAgB,KAAK,EACrBC,aAAa,EACd;IACC,MAAMC,eAAe5B;IACrB,MAAM,EAAE6B,IAAI,EAAErB,CAAC,EAAE,GAAGP;IAEpB,MAAM6B,SAAS;QACbC,QAAQvB,EAAE;QACVwB,SAASxB,EAAE;QACXyB,QAAQzB,EAAE;IACZ;IAEA,qBACE,oBAACQ;QACCX,aAAa,CAAC,EAAEyB,MAAM,CAACL,OAAO,CAAC,CAAC,EAC9BE,gBAAgB9B,eAAe8B,eAAeE,QAAQ,GACvD,CAAC,CAACK,IAAI;QACPjB,MAAMA;QACNV,MAAMmB,iBAAiBE;QACvBT,MAAMA;;AAGZ,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Loading/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { LoadingOverlayTypes } from '../../elements/LoadingOverlay/types.js'\n\nimport { useLoadingOverlay } from '../../elements/LoadingOverlay/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'loading-overlay'\n\ntype LoadingOverlayProps = {\n animationDuration?: string\n loadingText?: string\n overlayType?: string\n show?: boolean\n}\n\nexport const LoadingOverlay: React.FC<LoadingOverlayProps> = ({\n animationDuration,\n loadingText,\n overlayType,\n show = true,\n}) => {\n const { t } = useTranslation()\n\n return (\n <div\n className={[\n baseClass,\n show ? `${baseClass}--entering` : `${baseClass}--exiting`,\n overlayType ? `${baseClass}--${overlayType}` : '',\n ]\n .filter(Boolean)\n .join(' ')}\n style={{\n animationDuration: animationDuration || '500ms',\n }}\n >\n <div className={`${baseClass}__bars`}>\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n <div className={`${baseClass}__bar`} />\n </div>\n\n <span className={`${baseClass}__text`}>{loadingText || t('general:loading')}</span>\n </div>\n )\n}\n\nexport type UseLoadingOverlayToggleProps = {\n loadingText?: string\n name: string\n show: boolean\n type?: LoadingOverlayTypes\n}\nexport const LoadingOverlayToggle: React.FC<UseLoadingOverlayToggleProps> = ({\n name: key,\n type = 'fullscreen',\n loadingText,\n show,\n}) => {\n const { toggleLoadingOverlay } = useLoadingOverlay()\n\n React.useEffect(() => {\n toggleLoadingOverlay({\n type,\n isLoading: show,\n key,\n loadingText: loadingText || undefined,\n })\n\n return () => {\n toggleLoadingOverlay({\n type,\n isLoading: false,\n key,\n })\n }\n }, [show, toggleLoadingOverlay, key, type, loadingText])\n\n return null\n}\n\nexport type FormLoadingOverlayToggleProps = {\n action: 'create' | 'loading' | 'update'\n formIsLoading?: boolean\n loadingSuffix?: string\n name: string\n type?: LoadingOverlayTypes\n}\n\nexport const FormLoadingOverlayToggle: React.FC<FormLoadingOverlayToggleProps> = ({\n name,\n type = 'fullscreen',\n action,\n formIsLoading = false,\n loadingSuffix,\n}) => {\n const isProcessing = useFormProcessing()\n const { i18n, t } = useTranslation()\n\n const labels = {\n create: t('general:creating'),\n loading: t('general:loading'),\n update: t('general:updating'),\n }\n\n return (\n <LoadingOverlayToggle\n loadingText={`${labels[action]} ${\n loadingSuffix ? getTranslation(loadingSuffix, i18n) : ''\n }`.trim()}\n name={name}\n show={formIsLoading || isProcessing}\n type={type}\n />\n )\n}\n"],"names":["getTranslation","React","useLoadingOverlay","useFormProcessing","useTranslation","baseClass","LoadingOverlay","animationDuration","loadingText","overlayType","show","t","div","className","filter","Boolean","join","style","span","LoadingOverlayToggle","name","key","type","toggleLoadingOverlay","useEffect","isLoading","undefined","FormLoadingOverlayToggle","action","formIsLoading","loadingSuffix","isProcessing","i18n","labels","create","loading","update","trim"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,iBAAiB,QAAQ,yCAAwC;AAC1E,SAASC,iBAAiB,QAAQ,8BAA6B;AAC/D,SAASC,cAAc,QAAQ,uCAAsC;AAGrE,MAAMC,YAAY;AASlB,OAAO,MAAMC,iBAAgD,CAAC,EAC5DC,iBAAiB,EACjBC,WAAW,EACXC,WAAW,EACXC,OAAO,IAAI,EACZ;IACC,MAAM,EAAEC,CAAC,EAAE,GAAGP;IAEd,qBACE,MAACQ;QACCC,WAAW;YACTR;YACAK,OAAO,CAAC,EAAEL,UAAU,UAAU,CAAC,GAAG,CAAC,EAAEA,UAAU,SAAS,CAAC;YACzDI,cAAc,CAAC,EAAEJ,UAAU,EAAE,EAAEI,YAAY,CAAC,GAAG;SAChD,CACEK,MAAM,CAACC,SACPC,IAAI,CAAC;QACRC,OAAO;YACLV,mBAAmBA,qBAAqB;QAC1C;;0BAEA,MAACK;gBAAIC,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;;kCAClC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;kCACnC,KAACO;wBAAIC,WAAW,CAAC,EAAER,UAAU,KAAK,CAAC;;;;0BAGrC,KAACa;gBAAKL,WAAW,CAAC,EAAER,UAAU,MAAM,CAAC;0BAAGG,eAAeG,EAAE;;;;AAG/D,EAAC;AAQD,OAAO,MAAMQ,uBAA+D,CAAC,EAC3EC,MAAMC,GAAG,EACTC,OAAO,YAAY,EACnBd,WAAW,EACXE,IAAI,EACL;IACC,MAAM,EAAEa,oBAAoB,EAAE,GAAGrB;IAEjCD,MAAMuB,SAAS,CAAC;QACdD,qBAAqB;YACnBD;YACAG,WAAWf;YACXW;YACAb,aAAaA,eAAekB;QAC9B;QAEA,OAAO;YACLH,qBAAqB;gBACnBD;gBACAG,WAAW;gBACXJ;YACF;QACF;IACF,GAAG;QAACX;QAAMa;QAAsBF;QAAKC;QAAMd;KAAY;IAEvD,OAAO;AACT,EAAC;AAUD,OAAO,MAAMmB,2BAAoE,CAAC,EAChFP,IAAI,EACJE,OAAO,YAAY,EACnBM,MAAM,EACNC,gBAAgB,KAAK,EACrBC,aAAa,EACd;IACC,MAAMC,eAAe5B;IACrB,MAAM,EAAE6B,IAAI,EAAErB,CAAC,EAAE,GAAGP;IAEpB,MAAM6B,SAAS;QACbC,QAAQvB,EAAE;QACVwB,SAASxB,EAAE;QACXyB,QAAQzB,EAAE;IACZ;IAEA,qBACE,KAACQ;QACCX,aAAa,CAAC,EAAEyB,MAAM,CAACL,OAAO,CAAC,CAAC,EAC9BE,gBAAgB9B,eAAe8B,eAAeE,QAAQ,GACvD,CAAC,CAACK,IAAI;QACPjB,MAAMA;QACNV,MAAMmB,iBAAiBE;QACvBT,MAAMA;;AAGZ,EAAC"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import React, { createContext } from 'react';
3
4
  import { LoadingOverlay } from '../../elements/Loading/index.js';
4
5
  import { useDelayedRender } from '../../hooks/useDelayedRender.js';
@@ -44,17 +45,21 @@ export const LoadingOverlayProvider = ({ children })=>{
44
45
  triggerDelayedRender,
45
46
  fallbackText
46
47
  ]);
47
- return /*#__PURE__*/ React.createElement(Context.Provider, {
48
+ return /*#__PURE__*/ _jsxs(Context.Provider, {
48
49
  value: {
49
50
  isOnScreen: isMounted,
50
51
  toggleLoadingOverlay
51
- }
52
- }, isMounted && /*#__PURE__*/ React.createElement(LoadingOverlay, {
53
- animationDuration: `${animatedDuration}ms`,
54
- loadingText: overlays.loadingText || fallbackText,
55
- overlayType: overlays.overlayType,
56
- show: !isUnmounting
57
- }), children);
52
+ },
53
+ children: [
54
+ isMounted && /*#__PURE__*/ _jsx(LoadingOverlay, {
55
+ animationDuration: `${animatedDuration}ms`,
56
+ loadingText: overlays.loadingText || fallbackText,
57
+ overlayType: overlays.overlayType,
58
+ show: !isUnmounting
59
+ }),
60
+ children
61
+ ]
62
+ });
58
63
  };
59
64
  export const useLoadingOverlay = ()=>{
60
65
  const contextHook = React.useContext(Context);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/LoadingOverlay/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext } from 'react'\n\nimport type { LoadingOverlayContext, ToggleLoadingOverlay } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useDelayedRender } from '../../hooks/useDelayedRender.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { defaultLoadingOverlayState, reducer } from './reducer.js'\n\nconst animatedDuration = 250\n\nconst Context = createContext({\n isOnScreen: false,\n toggleLoadingOverlay: undefined,\n})\n\nexport const LoadingOverlayProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { t } = useTranslation()\n const fallbackText = t('general:loading')\n const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState)\n\n const { isMounted, isUnmounting, triggerDelayedRender } = useDelayedRender({\n delayBeforeShow: 1000,\n inTimeout: animatedDuration,\n minShowTime: 500,\n outTimeout: animatedDuration,\n show: overlays.isLoading,\n })\n\n const toggleLoadingOverlay = React.useCallback<ToggleLoadingOverlay>(\n ({ type, isLoading, key, loadingText = fallbackText }) => {\n if (isLoading) {\n triggerDelayedRender()\n dispatchOverlay({\n type: 'add',\n payload: {\n type,\n key,\n loadingText,\n },\n })\n } else {\n dispatchOverlay({\n type: 'remove',\n payload: {\n type,\n key,\n },\n })\n }\n },\n [triggerDelayedRender, fallbackText],\n )\n\n return (\n <Context.Provider\n value={{\n isOnScreen: isMounted,\n toggleLoadingOverlay,\n }}\n >\n {isMounted && (\n <LoadingOverlay\n animationDuration={`${animatedDuration}ms`}\n loadingText={overlays.loadingText || fallbackText}\n overlayType={overlays.overlayType}\n show={!isUnmounting}\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport const useLoadingOverlay = (): LoadingOverlayContext => {\n const contextHook = React.useContext(Context)\n if (contextHook === undefined) {\n throw new Error('useLoadingOverlay must be used within a LoadingOverlayProvider')\n }\n\n return contextHook\n}\n"],"names":["React","createContext","LoadingOverlay","useDelayedRender","useTranslation","defaultLoadingOverlayState","reducer","animatedDuration","Context","isOnScreen","toggleLoadingOverlay","undefined","LoadingOverlayProvider","children","t","fallbackText","overlays","dispatchOverlay","useReducer","isMounted","isUnmounting","triggerDelayedRender","delayBeforeShow","inTimeout","minShowTime","outTimeout","show","isLoading","useCallback","type","key","loadingText","payload","Provider","value","animationDuration","overlayType","useLoadingOverlay","contextHook","useContext","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,OAAOA,SAASC,aAAa,QAAQ,QAAO;AAI5C,SAASC,cAAc,QAAQ,kCAAiC;AAChE,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,0BAA0B,EAAEC,OAAO,QAAQ,eAAc;AAElE,MAAMC,mBAAmB;AAEzB,MAAMC,wBAAUP,cAAc;IAC5BQ,YAAY;IACZC,sBAAsBC;AACxB;AAEA,OAAO,MAAMC,yBAAmE,CAAC,EAAEC,QAAQ,EAAE;IAC3F,MAAM,EAAEC,CAAC,EAAE,GAAGV;IACd,MAAMW,eAAeD,EAAE;IACvB,MAAM,CAACE,UAAUC,gBAAgB,GAAGjB,MAAMkB,UAAU,CAACZ,SAASD;IAE9D,MAAM,EAAEc,SAAS,EAAEC,YAAY,EAAEC,oBAAoB,EAAE,GAAGlB,iBAAiB;QACzEmB,iBAAiB;QACjBC,WAAWhB;QACXiB,aAAa;QACbC,YAAYlB;QACZmB,MAAMV,SAASW,SAAS;IAC1B;IAEA,MAAMjB,uBAAuBV,MAAM4B,WAAW,CAC5C,CAAC,EAAEC,IAAI,EAAEF,SAAS,EAAEG,GAAG,EAAEC,cAAchB,YAAY,EAAE;QACnD,IAAIY,WAAW;YACbN;YACAJ,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;oBACAC;gBACF;YACF;QACF,OAAO;YACLd,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;gBACF;YACF;QACF;IACF,GACA;QAACT;QAAsBN;KAAa;IAGtC,qBACE,oBAACP,QAAQyB,QAAQ;QACfC,OAAO;YACLzB,YAAYU;YACZT;QACF;OAECS,2BACC,oBAACjB;QACCiC,mBAAmB,CAAC,EAAE5B,iBAAiB,EAAE,CAAC;QAC1CwB,aAAaf,SAASe,WAAW,IAAIhB;QACrCqB,aAAapB,SAASoB,WAAW;QACjCV,MAAM,CAACN;QAGVP;AAGP,EAAC;AAED,OAAO,MAAMwB,oBAAoB;IAC/B,MAAMC,cAActC,MAAMuC,UAAU,CAAC/B;IACrC,IAAI8B,gBAAgB3B,WAAW;QAC7B,MAAM,IAAI6B,MAAM;IAClB;IAEA,OAAOF;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/LoadingOverlay/index.tsx"],"sourcesContent":["'use client'\nimport React, { createContext } from 'react'\n\nimport type { LoadingOverlayContext, ToggleLoadingOverlay } from './types.js'\n\nimport { LoadingOverlay } from '../../elements/Loading/index.js'\nimport { useDelayedRender } from '../../hooks/useDelayedRender.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { defaultLoadingOverlayState, reducer } from './reducer.js'\n\nconst animatedDuration = 250\n\nconst Context = createContext({\n isOnScreen: false,\n toggleLoadingOverlay: undefined,\n})\n\nexport const LoadingOverlayProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const { t } = useTranslation()\n const fallbackText = t('general:loading')\n const [overlays, dispatchOverlay] = React.useReducer(reducer, defaultLoadingOverlayState)\n\n const { isMounted, isUnmounting, triggerDelayedRender } = useDelayedRender({\n delayBeforeShow: 1000,\n inTimeout: animatedDuration,\n minShowTime: 500,\n outTimeout: animatedDuration,\n show: overlays.isLoading,\n })\n\n const toggleLoadingOverlay = React.useCallback<ToggleLoadingOverlay>(\n ({ type, isLoading, key, loadingText = fallbackText }) => {\n if (isLoading) {\n triggerDelayedRender()\n dispatchOverlay({\n type: 'add',\n payload: {\n type,\n key,\n loadingText,\n },\n })\n } else {\n dispatchOverlay({\n type: 'remove',\n payload: {\n type,\n key,\n },\n })\n }\n },\n [triggerDelayedRender, fallbackText],\n )\n\n return (\n <Context.Provider\n value={{\n isOnScreen: isMounted,\n toggleLoadingOverlay,\n }}\n >\n {isMounted && (\n <LoadingOverlay\n animationDuration={`${animatedDuration}ms`}\n loadingText={overlays.loadingText || fallbackText}\n overlayType={overlays.overlayType}\n show={!isUnmounting}\n />\n )}\n {children}\n </Context.Provider>\n )\n}\n\nexport const useLoadingOverlay = (): LoadingOverlayContext => {\n const contextHook = React.useContext(Context)\n if (contextHook === undefined) {\n throw new Error('useLoadingOverlay must be used within a LoadingOverlayProvider')\n }\n\n return contextHook\n}\n"],"names":["React","createContext","LoadingOverlay","useDelayedRender","useTranslation","defaultLoadingOverlayState","reducer","animatedDuration","Context","isOnScreen","toggleLoadingOverlay","undefined","LoadingOverlayProvider","children","t","fallbackText","overlays","dispatchOverlay","useReducer","isMounted","isUnmounting","triggerDelayedRender","delayBeforeShow","inTimeout","minShowTime","outTimeout","show","isLoading","useCallback","type","key","loadingText","payload","Provider","value","animationDuration","overlayType","useLoadingOverlay","contextHook","useContext","Error"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,SAASC,aAAa,QAAQ,QAAO;AAI5C,SAASC,cAAc,QAAQ,kCAAiC;AAChE,SAASC,gBAAgB,QAAQ,kCAAiC;AAClE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,0BAA0B,EAAEC,OAAO,QAAQ,eAAc;AAElE,MAAMC,mBAAmB;AAEzB,MAAMC,wBAAUP,cAAc;IAC5BQ,YAAY;IACZC,sBAAsBC;AACxB;AAEA,OAAO,MAAMC,yBAAmE,CAAC,EAAEC,QAAQ,EAAE;IAC3F,MAAM,EAAEC,CAAC,EAAE,GAAGV;IACd,MAAMW,eAAeD,EAAE;IACvB,MAAM,CAACE,UAAUC,gBAAgB,GAAGjB,MAAMkB,UAAU,CAACZ,SAASD;IAE9D,MAAM,EAAEc,SAAS,EAAEC,YAAY,EAAEC,oBAAoB,EAAE,GAAGlB,iBAAiB;QACzEmB,iBAAiB;QACjBC,WAAWhB;QACXiB,aAAa;QACbC,YAAYlB;QACZmB,MAAMV,SAASW,SAAS;IAC1B;IAEA,MAAMjB,uBAAuBV,MAAM4B,WAAW,CAC5C,CAAC,EAAEC,IAAI,EAAEF,SAAS,EAAEG,GAAG,EAAEC,cAAchB,YAAY,EAAE;QACnD,IAAIY,WAAW;YACbN;YACAJ,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;oBACAC;gBACF;YACF;QACF,OAAO;YACLd,gBAAgB;gBACdY,MAAM;gBACNG,SAAS;oBACPH;oBACAC;gBACF;YACF;QACF;IACF,GACA;QAACT;QAAsBN;KAAa;IAGtC,qBACE,MAACP,QAAQyB,QAAQ;QACfC,OAAO;YACLzB,YAAYU;YACZT;QACF;;YAECS,2BACC,KAACjB;gBACCiC,mBAAmB,CAAC,EAAE5B,iBAAiB,EAAE,CAAC;gBAC1CwB,aAAaf,SAASe,WAAW,IAAIhB;gBACrCqB,aAAapB,SAASoB,WAAW;gBACjCV,MAAM,CAACN;;YAGVP;;;AAGP,EAAC;AAED,OAAO,MAAMwB,oBAAoB;IAC/B,MAAMC,cAActC,MAAMuC,UAAU,CAAC/B;IACrC,IAAI8B,gBAAgB3B,WAAW;QAC7B,MAAM,IAAI6B,MAAM;IAClB;IAEA,OAAOF;AACT,EAAC"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { getTranslation } from '@payloadcms/translations';
2
3
  import React from 'react';
3
4
  import { Chevron } from '../../../icons/Chevron/index.js';
@@ -8,19 +9,28 @@ export const LocalizerLabel = (props)=>{
8
9
  const { ariaLabel, className } = props;
9
10
  const locale = useLocale();
10
11
  const { i18n, t } = useTranslation();
11
- return /*#__PURE__*/ React.createElement("div", {
12
+ return /*#__PURE__*/ _jsxs("div", {
12
13
  "aria-label": ariaLabel || t('general:locale'),
13
14
  className: [
14
15
  baseClass,
15
16
  className
16
- ].filter(Boolean).join(' ')
17
- }, /*#__PURE__*/ React.createElement("div", {
18
- className: `${baseClass}__label`
19
- }, `${t('general:locale')}:`), "  ", /*#__PURE__*/ React.createElement("span", {
20
- className: `${baseClass}__current-label`
21
- }, `${getTranslation(locale.label, i18n)}`), " ", /*#__PURE__*/ React.createElement(Chevron, {
22
- className: `${baseClass}__chevron`
23
- }));
17
+ ].filter(Boolean).join(' '),
18
+ children: [
19
+ /*#__PURE__*/ _jsx("div", {
20
+ className: `${baseClass}__label`,
21
+ children: `${t('general:locale')}:`
22
+ }),
23
+ "  ",
24
+ /*#__PURE__*/ _jsx("span", {
25
+ className: `${baseClass}__current-label`,
26
+ children: `${getTranslation(locale.label, i18n)}`
27
+ }),
28
+ " ",
29
+ /*#__PURE__*/ _jsx(Chevron, {
30
+ className: `${baseClass}__chevron`
31
+ })
32
+ ]
33
+ });
24
34
  };
25
35
 
26
36
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { Chevron } from '../../../icons/Chevron/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer-button'\n\nexport const LocalizerLabel: React.FC<{\n ariaLabel?: string\n className?: string\n}> = (props) => {\n const { ariaLabel, className } = props\n const locale = useLocale()\n const { i18n, t } = useTranslation()\n\n return (\n <div\n aria-label={ariaLabel || t('general:locale')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`}</div>\n &nbsp;&nbsp;\n <span className={`${baseClass}__current-label`}>\n {`${getTranslation(locale.label, i18n)}`}\n </span>\n &nbsp;\n <Chevron className={`${baseClass}__chevron`} />\n </div>\n )\n}\n"],"names":["getTranslation","React","Chevron","useLocale","useTranslation","baseClass","LocalizerLabel","props","ariaLabel","className","locale","i18n","t","div","aria-label","filter","Boolean","join","span","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,kCAAiC;AACzD,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AAGxE,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAGR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGF;IACjC,MAAMG,SAASP;IACf,MAAM,EAAEQ,IAAI,EAAEC,CAAC,EAAE,GAAGR;IAEpB,qBACE,oBAACS;QACCC,cAAYN,aAAaI,EAAE;QAC3BH,WAAW;YAACJ;YAAWI;SAAU,CAACM,MAAM,CAACC,SAASC,IAAI,CAAC;qBAEvD,oBAACJ;QAAIJ,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;OAAG,CAAC,EAAEO,EAAE,kBAAkB,CAAC,CAAC,GAAO,oBAExE,oBAACM;QAAKT,WAAW,CAAC,EAAEJ,UAAU,eAAe,CAAC;OAC3C,CAAC,EAAEL,eAAeU,OAAOS,KAAK,EAAER,MAAM,CAAC,GACnC,mBAEP,oBAACT;QAAQO,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;;AAGjD,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Localizer/LocalizerLabel/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { Chevron } from '../../../icons/Chevron/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer-button'\n\nexport const LocalizerLabel: React.FC<{\n ariaLabel?: string\n className?: string\n}> = (props) => {\n const { ariaLabel, className } = props\n const locale = useLocale()\n const { i18n, t } = useTranslation()\n\n return (\n <div\n aria-label={ariaLabel || t('general:locale')}\n className={[baseClass, className].filter(Boolean).join(' ')}\n >\n <div className={`${baseClass}__label`}>{`${t('general:locale')}:`}</div>\n &nbsp;&nbsp;\n <span className={`${baseClass}__current-label`}>\n {`${getTranslation(locale.label, i18n)}`}\n </span>\n &nbsp;\n <Chevron className={`${baseClass}__chevron`} />\n </div>\n )\n}\n"],"names":["getTranslation","React","Chevron","useLocale","useTranslation","baseClass","LocalizerLabel","props","ariaLabel","className","locale","i18n","t","div","aria-label","filter","Boolean","join","span","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,OAAO,QAAQ,kCAAiC;AACzD,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AAGxE,MAAMC,YAAY;AAElB,OAAO,MAAMC,iBAGR,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAEC,SAAS,EAAE,GAAGF;IACjC,MAAMG,SAASP;IACf,MAAM,EAAEQ,IAAI,EAAEC,CAAC,EAAE,GAAGR;IAEpB,qBACE,MAACS;QACCC,cAAYN,aAAaI,EAAE;QAC3BH,WAAW;YAACJ;YAAWI;SAAU,CAACM,MAAM,CAACC,SAASC,IAAI,CAAC;;0BAEvD,KAACJ;gBAAIJ,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;0BAAG,CAAC,EAAEO,EAAE,kBAAkB,CAAC,CAAC;;YAAO;0BAExE,KAACM;gBAAKT,WAAW,CAAC,EAAEJ,UAAU,eAAe,CAAC;0BAC3C,CAAC,EAAEL,eAAeU,OAAOS,KAAK,EAAER,MAAM,CAAC;;YACnC;0BAEP,KAACT;gBAAQO,WAAW,CAAC,EAAEJ,UAAU,SAAS,CAAC;;;;AAGjD,EAAC"}
@@ -1,3 +1,4 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
1
2
  import { getTranslation } from '@payloadcms/translations';
2
3
  import { useRouter } from 'next/navigation.js';
3
4
  import React from 'react';
@@ -21,33 +22,39 @@ export const Localizer = (props)=>{
21
22
  const { clearRouteCache } = useRouteCache();
22
23
  if (localization) {
23
24
  const { locales } = localization;
24
- return /*#__PURE__*/ React.createElement("div", {
25
+ return /*#__PURE__*/ _jsx("div", {
25
26
  className: [
26
27
  baseClass,
27
28
  className
28
- ].filter(Boolean).join(' ')
29
- }, /*#__PURE__*/ React.createElement(Popup, {
30
- button: /*#__PURE__*/ React.createElement(LocalizerLabel, null),
31
- horizontalAlign: "right",
32
- render: ({ close })=>/*#__PURE__*/ React.createElement(PopupList.ButtonGroup, null, locales.map((localeOption)=>{
33
- const localeOptionLabel = getTranslation(localeOption.label, i18n);
34
- return /*#__PURE__*/ React.createElement(PopupList.Button, {
35
- active: locale.code === localeOption.code,
36
- key: localeOption.code,
37
- onClick: ()=>{
38
- router.replace(stringifyParams({
39
- params: {
40
- locale: localeOption.code
41
- }
42
- }));
43
- clearRouteCache();
44
- close();
45
- }
46
- }, localeOptionLabel, localeOptionLabel !== localeOption.code && ` (${localeOption.code})`);
47
- })),
48
- showScrollbar: true,
49
- size: "large"
50
- }));
29
+ ].filter(Boolean).join(' '),
30
+ children: /*#__PURE__*/ _jsx(Popup, {
31
+ button: /*#__PURE__*/ _jsx(LocalizerLabel, {}),
32
+ horizontalAlign: "right",
33
+ render: ({ close })=>/*#__PURE__*/ _jsx(PopupList.ButtonGroup, {
34
+ children: locales.map((localeOption)=>{
35
+ const localeOptionLabel = getTranslation(localeOption.label, i18n);
36
+ return /*#__PURE__*/ _jsxs(PopupList.Button, {
37
+ active: locale.code === localeOption.code,
38
+ onClick: ()=>{
39
+ router.replace(stringifyParams({
40
+ params: {
41
+ locale: localeOption.code
42
+ }
43
+ }));
44
+ clearRouteCache();
45
+ close();
46
+ },
47
+ children: [
48
+ localeOptionLabel,
49
+ localeOptionLabel !== localeOption.code && ` (${localeOption.code})`
50
+ ]
51
+ }, localeOption.code);
52
+ })
53
+ }),
54
+ showScrollbar: true,
55
+ size: "large"
56
+ })
57
+ });
51
58
  }
52
59
  return null;
53
60
  };
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const config = useConfig()\n const { localization } = config\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n key={localeOption.code}\n onClick={() => {\n router.replace(\n stringifyParams({\n params: {\n locale: localeOption.code,\n },\n }),\n )\n clearRouteCache()\n close()\n }}\n >\n {localeOptionLabel}\n {localeOptionLabel !== localeOption.code && ` (${localeOption.code})`}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","useRouter","React","useConfig","useLocale","useRouteCache","useSearchParams","useTranslation","PopupList","Popup","LocalizerLabel","baseClass","Localizer","props","className","config","localization","i18n","locale","stringifyParams","router","clearRouteCache","locales","div","filter","Boolean","join","button","horizontalAlign","render","close","ButtonGroup","map","localeOption","localeOptionLabel","label","Button","active","code","key","onClick","replace","params","showScrollbar","size"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,SAAS,QAAQ,oBAAmB;AAC7C,SAASC,KAAK,QAAQ,oBAAmB;AACzC,SAASC,cAAc,QAAQ,4BAA2B;AAG1D,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAER,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAE,GAAGD;IACtB,MAAME,SAASZ;IACf,MAAM,EAAEa,YAAY,EAAE,GAAGD;IAEzB,MAAM,EAAEE,IAAI,EAAE,GAAGV;IACjB,MAAMW,SAASd;IACf,MAAM,EAAEe,eAAe,EAAE,GAAGb;IAC5B,MAAMc,SAASnB;IACf,MAAM,EAAEoB,eAAe,EAAE,GAAGhB;IAE5B,IAAIW,cAAc;QAChB,MAAM,EAAEM,OAAO,EAAE,GAAGN;QAEpB,qBACE,oBAACO;YAAIT,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;yBAC1D,oBAACjB;YACCkB,sBAAQ,oBAACjB;YACTkB,iBAAgB;YAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,oBAACtB,UAAUuB,WAAW,QACnBT,QAAQU,GAAG,CAAC,CAACC;oBACZ,MAAMC,oBAAoBlC,eAAeiC,aAAaE,KAAK,EAAElB;oBAE7D,qBACE,oBAACT,UAAU4B,MAAM;wBACfC,QAAQnB,OAAOoB,IAAI,KAAKL,aAAaK,IAAI;wBACzCC,KAAKN,aAAaK,IAAI;wBACtBE,SAAS;4BACPpB,OAAOqB,OAAO,CACZtB,gBAAgB;gCACduB,QAAQ;oCACNxB,QAAQe,aAAaK,IAAI;gCAC3B;4BACF;4BAEFjB;4BACAS;wBACF;uBAECI,mBACAA,sBAAsBD,aAAaK,IAAI,IAAI,CAAC,EAAE,EAAEL,aAAaK,IAAI,CAAC,CAAC,CAAC;gBAG3E;YAGJK,eAAAA;YACAC,MAAK;;IAIb;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Localizer/index.tsx"],"sourcesContent":["import { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { PopupList } from '../Popup/index.js'\nimport { Popup } from '../Popup/index.js'\nimport { LocalizerLabel } from './LocalizerLabel/index.js'\nimport './index.scss'\n\nconst baseClass = 'localizer'\n\nexport const Localizer: React.FC<{\n className?: string\n}> = (props) => {\n const { className } = props\n const config = useConfig()\n const { localization } = config\n\n const { i18n } = useTranslation()\n const locale = useLocale()\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n if (localization) {\n const { locales } = localization\n\n return (\n <div className={[baseClass, className].filter(Boolean).join(' ')}>\n <Popup\n button={<LocalizerLabel />}\n horizontalAlign=\"right\"\n render={({ close }) => (\n <PopupList.ButtonGroup>\n {locales.map((localeOption) => {\n const localeOptionLabel = getTranslation(localeOption.label, i18n)\n\n return (\n <PopupList.Button\n active={locale.code === localeOption.code}\n key={localeOption.code}\n onClick={() => {\n router.replace(\n stringifyParams({\n params: {\n locale: localeOption.code,\n },\n }),\n )\n clearRouteCache()\n close()\n }}\n >\n {localeOptionLabel}\n {localeOptionLabel !== localeOption.code && ` (${localeOption.code})`}\n </PopupList.Button>\n )\n })}\n </PopupList.ButtonGroup>\n )}\n showScrollbar\n size=\"large\"\n />\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","useRouter","React","useConfig","useLocale","useRouteCache","useSearchParams","useTranslation","PopupList","Popup","LocalizerLabel","baseClass","Localizer","props","className","config","localization","i18n","locale","stringifyParams","router","clearRouteCache","locales","div","filter","Boolean","join","button","horizontalAlign","render","close","ButtonGroup","map","localeOption","localeOptionLabel","label","Button","active","code","onClick","replace","params","showScrollbar","size"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,SAAS,QAAQ,oBAAmB;AAC7C,SAASC,KAAK,QAAQ,oBAAmB;AACzC,SAASC,cAAc,QAAQ,4BAA2B;AAG1D,MAAMC,YAAY;AAElB,OAAO,MAAMC,YAER,CAACC;IACJ,MAAM,EAAEC,SAAS,EAAE,GAAGD;IACtB,MAAME,SAASZ;IACf,MAAM,EAAEa,YAAY,EAAE,GAAGD;IAEzB,MAAM,EAAEE,IAAI,EAAE,GAAGV;IACjB,MAAMW,SAASd;IACf,MAAM,EAAEe,eAAe,EAAE,GAAGb;IAC5B,MAAMc,SAASnB;IACf,MAAM,EAAEoB,eAAe,EAAE,GAAGhB;IAE5B,IAAIW,cAAc;QAChB,MAAM,EAAEM,OAAO,EAAE,GAAGN;QAEpB,qBACE,KAACO;YAAIT,WAAW;gBAACH;gBAAWG;aAAU,CAACU,MAAM,CAACC,SAASC,IAAI,CAAC;sBAC1D,cAAA,KAACjB;gBACCkB,sBAAQ,KAACjB;gBACTkB,iBAAgB;gBAChBC,QAAQ,CAAC,EAAEC,KAAK,EAAE,iBAChB,KAACtB,UAAUuB,WAAW;kCACnBT,QAAQU,GAAG,CAAC,CAACC;4BACZ,MAAMC,oBAAoBlC,eAAeiC,aAAaE,KAAK,EAAElB;4BAE7D,qBACE,MAACT,UAAU4B,MAAM;gCACfC,QAAQnB,OAAOoB,IAAI,KAAKL,aAAaK,IAAI;gCAEzCC,SAAS;oCACPnB,OAAOoB,OAAO,CACZrB,gBAAgB;wCACdsB,QAAQ;4CACNvB,QAAQe,aAAaK,IAAI;wCAC3B;oCACF;oCAEFjB;oCACAS;gCACF;;oCAECI;oCACAA,sBAAsBD,aAAaK,IAAI,IAAI,CAAC,EAAE,EAAEL,aAAaK,IAAI,CAAC,CAAC,CAAC;;+BAdhEL,aAAaK,IAAI;wBAiB5B;;gBAGJI,aAAa;gBACbC,MAAK;;;IAIb;IAEA,OAAO;AACT,EAAC"}