@payloadcms/ui 3.29.0-internal.2984e42 → 3.29.0-internal.37e46b5

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 (493) hide show
  1. package/dist/elements/BulkUpload/EditForm/index.d.ts.map +1 -1
  2. package/dist/elements/BulkUpload/EditForm/index.js +8 -5
  3. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  4. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  5. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +127 -143
  6. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  7. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  8. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  9. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  10. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  11. package/dist/elements/BulkUpload/FileSidebar/index.js +5 -5
  12. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  13. package/dist/elements/BulkUpload/FormsManager/index.js +3 -3
  14. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  15. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  16. package/dist/elements/BulkUpload/index.js +4 -2
  17. package/dist/elements/BulkUpload/index.js.map +1 -1
  18. package/dist/elements/Collapsible/provider.d.ts.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 +1 -1
  22. package/dist/elements/ColumnSelector/index.js.map +1 -1
  23. package/dist/elements/ColumnSelector/index.scss +3 -2
  24. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  25. package/dist/elements/DeleteDocument/index.js +2 -1
  26. package/dist/elements/DeleteDocument/index.js.map +1 -1
  27. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  28. package/dist/elements/DeleteMany/index.js +1 -1
  29. package/dist/elements/DeleteMany/index.js.map +1 -1
  30. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  31. package/dist/elements/DocumentDrawer/DrawerContent.js +1 -2
  32. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  33. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  34. package/dist/elements/DocumentDrawer/Provider.js +3 -3
  35. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  36. package/dist/elements/DocumentDrawer/types.d.ts +0 -4
  37. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  38. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  39. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  40. package/dist/elements/DocumentFields/index.js +5 -1
  41. package/dist/elements/DocumentFields/index.js.map +1 -1
  42. package/dist/elements/Drawer/index.d.ts.map +1 -1
  43. package/dist/elements/Drawer/index.js +5 -3
  44. package/dist/elements/Drawer/index.js.map +1 -1
  45. package/dist/elements/EditMany/DrawerContent.d.ts +1 -2
  46. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  47. package/dist/elements/EditMany/DrawerContent.js +120 -108
  48. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  49. package/dist/elements/EditMany/index.d.ts.map +1 -1
  50. package/dist/elements/EditMany/index.js +5 -6
  51. package/dist/elements/EditMany/index.js.map +1 -1
  52. package/dist/elements/FieldSelect/index.d.ts +2 -12
  53. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  54. package/dist/elements/FieldSelect/index.js +48 -31
  55. package/dist/elements/FieldSelect/index.js.map +1 -1
  56. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  57. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +1 -2
  58. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  59. package/dist/elements/ListControls/index.d.ts +24 -1
  60. package/dist/elements/ListControls/index.d.ts.map +1 -1
  61. package/dist/elements/ListControls/index.js +86 -115
  62. package/dist/elements/ListControls/index.js.map +1 -1
  63. package/dist/elements/ListControls/index.scss +9 -5
  64. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  65. package/dist/elements/ListDrawer/DrawerContent.js +2 -4
  66. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  67. package/dist/elements/ListDrawer/Provider.js +3 -3
  68. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  69. package/dist/elements/ListDrawer/types.d.ts +2 -3
  70. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  71. package/dist/elements/ListDrawer/types.js.map +1 -1
  72. package/dist/elements/LoadingOverlay/index.js +3 -3
  73. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  74. package/dist/elements/Nav/context.d.ts.map +1 -1
  75. package/dist/elements/Nav/context.js +4 -2
  76. package/dist/elements/Nav/context.js.map +1 -1
  77. package/dist/elements/Pill/index.d.ts +1 -1
  78. package/dist/elements/Pill/index.d.ts.map +1 -1
  79. package/dist/elements/Pill/index.js +0 -2
  80. package/dist/elements/Pill/index.js.map +1 -1
  81. package/dist/elements/Pill/index.scss +6 -29
  82. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  83. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  84. package/dist/elements/Popup/PopupButtonList/index.js +0 -1
  85. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  86. package/dist/elements/Popup/index.d.ts.map +1 -1
  87. package/dist/elements/Popup/index.js +1 -1
  88. package/dist/elements/Popup/index.js.map +1 -1
  89. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +1 -2
  90. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  91. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +1 -4
  92. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  93. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  94. package/dist/elements/PublishButton/ScheduleDrawer/index.js +3 -3
  95. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  96. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  97. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  98. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  99. package/dist/elements/RelationshipTable/index.js +4 -3
  100. package/dist/elements/RelationshipTable/index.js.map +1 -1
  101. package/dist/elements/StepNav/context.d.ts.map +1 -1
  102. package/dist/elements/StepNav/context.js +5 -3
  103. package/dist/elements/StepNav/context.js.map +1 -1
  104. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  105. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -24
  106. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  107. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  108. package/dist/elements/Table/DefaultCell/index.js +25 -32
  109. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  110. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  111. package/dist/elements/Table/RelationshipProvider/index.js +5 -3
  112. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  113. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  114. package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.js +6 -4
  115. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -0
  116. package/dist/{providers → elements}/TableColumns/buildColumnState.d.ts +1 -1
  117. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  118. package/dist/{providers → elements}/TableColumns/buildColumnState.js +2 -9
  119. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  120. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  121. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  122. package/dist/{providers → elements}/TableColumns/buildPolymorphicColumnState.js +1 -1
  123. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  124. package/dist/elements/TableColumns/context.d.ts.map +1 -0
  125. package/dist/elements/TableColumns/context.js +4 -0
  126. package/dist/elements/TableColumns/context.js.map +1 -0
  127. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  128. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  129. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  130. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  131. package/dist/elements/TableColumns/index.d.ts.map +1 -0
  132. package/dist/{providers → elements}/TableColumns/index.js +3 -5
  133. package/dist/elements/TableColumns/index.js.map +1 -0
  134. package/dist/{providers → elements}/TableColumns/types.d.ts +1 -1
  135. package/dist/elements/TableColumns/types.d.ts.map +1 -0
  136. package/dist/elements/TableColumns/types.js.map +1 -0
  137. package/dist/elements/Thumbnail/index.js +23 -25
  138. package/dist/elements/Thumbnail/index.js.map +1 -1
  139. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  140. package/dist/elements/Toasts/fieldErrors.js +2 -2
  141. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  142. package/dist/elements/Upload/index.d.ts.map +1 -1
  143. package/dist/elements/Upload/index.js +52 -8
  144. package/dist/elements/Upload/index.js.map +1 -1
  145. package/dist/elements/Upload/index.scss +1 -0
  146. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  147. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  148. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  149. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  150. package/dist/elements/WhereBuilder/index.js +15 -18
  151. package/dist/elements/WhereBuilder/index.js.map +1 -1
  152. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +8 -0
  153. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -0
  154. package/dist/elements/WhereBuilder/transformWhereQuery.js +45 -0
  155. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -0
  156. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +4 -0
  157. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -0
  158. package/dist/elements/WhereBuilder/validateWhereQuery.js +36 -0
  159. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -0
  160. package/dist/exports/client/{DatePicker-DMHV2M2L.js → CodeEditor-TQ5ADFPC.js} +2 -2
  161. package/dist/exports/client/{CodeEditor-J4IKAVAK.js → DatePicker-HHQ6TPOW.js} +2 -2
  162. package/dist/exports/client/{chunk-3AA2TJQ5.js → chunk-IMEQ6NKQ.js} +2 -2
  163. package/dist/exports/client/{chunk-3AA2TJQ5.js.map → chunk-IMEQ6NKQ.js.map} +3 -3
  164. package/dist/exports/client/{chunk-PKQOCWZD.js → chunk-LMYT7O7U.js} +2 -2
  165. package/dist/exports/client/{chunk-PKQOCWZD.js.map → chunk-LMYT7O7U.js.map} +3 -3
  166. package/dist/exports/client/index.d.ts +3 -7
  167. package/dist/exports/client/index.d.ts.map +1 -1
  168. package/dist/exports/client/index.js +23 -23
  169. package/dist/exports/client/index.js.map +4 -4
  170. package/dist/exports/shared/index.d.ts +3 -8
  171. package/dist/exports/shared/index.d.ts.map +1 -1
  172. package/dist/exports/shared/index.js +2 -2
  173. package/dist/exports/shared/index.js.map +4 -4
  174. package/dist/fields/Array/index.d.ts.map +1 -1
  175. package/dist/fields/Array/index.js +3 -4
  176. package/dist/fields/Array/index.js.map +1 -1
  177. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  178. package/dist/fields/Blocks/BlockRow.js +20 -26
  179. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  180. package/dist/fields/Blocks/index.d.ts.map +1 -1
  181. package/dist/fields/Blocks/index.js +4 -5
  182. package/dist/fields/Blocks/index.js.map +1 -1
  183. package/dist/fields/Checkbox/index.d.ts +1 -1
  184. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  185. package/dist/fields/Checkbox/index.js +3 -4
  186. package/dist/fields/Checkbox/index.js.map +1 -1
  187. package/dist/fields/Code/index.d.ts.map +1 -1
  188. package/dist/fields/Code/index.js +3 -4
  189. package/dist/fields/Code/index.js.map +1 -1
  190. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  191. package/dist/fields/Collapsible/index.js +2 -3
  192. package/dist/fields/Collapsible/index.js.map +1 -1
  193. package/dist/fields/ConfirmPassword/index.js +11 -13
  194. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  195. package/dist/fields/DateTime/index.d.ts.map +1 -1
  196. package/dist/fields/DateTime/index.js +4 -5
  197. package/dist/fields/DateTime/index.js.map +1 -1
  198. package/dist/fields/Email/index.d.ts.map +1 -1
  199. package/dist/fields/Email/index.js +2 -3
  200. package/dist/fields/Email/index.js.map +1 -1
  201. package/dist/fields/Group/index.d.ts.map +1 -1
  202. package/dist/fields/Group/index.js.map +1 -1
  203. package/dist/fields/Group/index.scss +6 -12
  204. package/dist/fields/Group/provider.d.ts.map +1 -1
  205. package/dist/fields/Group/provider.js +5 -3
  206. package/dist/fields/Group/provider.js.map +1 -1
  207. package/dist/fields/JSON/index.d.ts.map +1 -1
  208. package/dist/fields/JSON/index.js +4 -5
  209. package/dist/fields/JSON/index.js.map +1 -1
  210. package/dist/fields/Number/index.d.ts.map +1 -1
  211. package/dist/fields/Number/index.js +5 -6
  212. package/dist/fields/Number/index.js.map +1 -1
  213. package/dist/fields/Password/index.d.ts.map +1 -1
  214. package/dist/fields/Password/index.js +4 -2
  215. package/dist/fields/Password/index.js.map +1 -1
  216. package/dist/fields/Point/index.d.ts.map +1 -1
  217. package/dist/fields/Point/index.js +3 -4
  218. package/dist/fields/Point/index.js.map +1 -1
  219. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  220. package/dist/fields/RadioGroup/index.js +3 -4
  221. package/dist/fields/RadioGroup/index.js.map +1 -1
  222. package/dist/fields/Relationship/index.d.ts.map +1 -1
  223. package/dist/fields/Relationship/index.js +4 -5
  224. package/dist/fields/Relationship/index.js.map +1 -1
  225. package/dist/fields/Row/provider.d.ts.map +1 -1
  226. package/dist/fields/Row/provider.js +5 -3
  227. package/dist/fields/Row/provider.js.map +1 -1
  228. package/dist/fields/Select/index.d.ts.map +1 -1
  229. package/dist/fields/Select/index.js +3 -4
  230. package/dist/fields/Select/index.js.map +1 -1
  231. package/dist/fields/Tabs/Tab/index.d.ts +0 -1
  232. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  233. package/dist/fields/Tabs/Tab/index.js +25 -29
  234. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  235. package/dist/fields/Tabs/Tab/index.scss +0 -4
  236. package/dist/fields/Tabs/index.d.ts +1 -1
  237. package/dist/fields/Tabs/index.d.ts.map +1 -1
  238. package/dist/fields/Tabs/index.js +194 -285
  239. package/dist/fields/Tabs/index.js.map +1 -1
  240. package/dist/fields/Tabs/index.scss +0 -8
  241. package/dist/fields/Tabs/provider.d.ts.map +1 -1
  242. package/dist/fields/Tabs/provider.js +5 -3
  243. package/dist/fields/Tabs/provider.js.map +1 -1
  244. package/dist/fields/Text/index.d.ts.map +1 -1
  245. package/dist/fields/Text/index.js +3 -4
  246. package/dist/fields/Text/index.js.map +1 -1
  247. package/dist/fields/Textarea/index.d.ts.map +1 -1
  248. package/dist/fields/Textarea/index.js +1 -2
  249. package/dist/fields/Textarea/index.js.map +1 -1
  250. package/dist/fields/Upload/index.d.ts.map +1 -1
  251. package/dist/fields/Upload/index.js +1 -2
  252. package/dist/fields/Upload/index.js.map +1 -1
  253. package/dist/forms/Form/context.d.ts.map +1 -1
  254. package/dist/forms/Form/context.js +25 -9
  255. package/dist/forms/Form/context.js.map +1 -1
  256. package/dist/forms/Form/fieldReducer.js +1 -1
  257. package/dist/forms/Form/fieldReducer.js.map +1 -1
  258. package/dist/forms/Form/index.d.ts.map +1 -1
  259. package/dist/forms/Form/index.js +8 -8
  260. package/dist/forms/Form/index.js.map +1 -1
  261. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  262. package/dist/forms/RowLabel/Context/index.js +2 -2
  263. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  264. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  265. package/dist/forms/RowLabel/index.js +2 -2
  266. package/dist/forms/RowLabel/index.js.map +1 -1
  267. package/dist/forms/RowLabel/types.d.ts +1 -1
  268. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  269. package/dist/forms/RowLabel/types.js.map +1 -1
  270. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +1 -3
  271. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  272. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -45
  273. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  274. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +2 -4
  275. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  276. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +0 -4
  277. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  278. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +2 -4
  279. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  280. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +0 -4
  281. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  282. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +2 -4
  283. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  284. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +2 -41
  285. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  286. package/dist/forms/fieldSchemasToFormState/index.d.ts +2 -4
  287. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  288. package/dist/forms/fieldSchemasToFormState/index.js +0 -6
  289. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  290. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +2 -4
  291. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  292. package/dist/forms/fieldSchemasToFormState/iterateFields.js +0 -16
  293. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  294. package/dist/forms/useField/index.d.ts.map +1 -1
  295. package/dist/forms/useField/index.js +67 -70
  296. package/dist/forms/useField/index.js.map +1 -1
  297. package/dist/forms/useField/types.d.ts +0 -1
  298. package/dist/forms/useField/types.d.ts.map +1 -1
  299. package/dist/forms/useField/types.js.map +1 -1
  300. package/dist/hooks/useQueues.js +3 -3
  301. package/dist/hooks/useQueues.js.map +1 -1
  302. package/dist/icons/Chevron/index.d.ts +0 -1
  303. package/dist/icons/Chevron/index.d.ts.map +1 -1
  304. package/dist/icons/Chevron/index.js +0 -2
  305. package/dist/icons/Chevron/index.js.map +1 -1
  306. package/dist/icons/Dots/index.d.ts +0 -2
  307. package/dist/icons/Dots/index.d.ts.map +1 -1
  308. package/dist/icons/Dots/index.js +2 -5
  309. package/dist/icons/Dots/index.js.map +1 -1
  310. package/dist/icons/Dots/index.scss +0 -14
  311. package/dist/providers/Actions/index.d.ts.map +1 -1
  312. package/dist/providers/Actions/index.js +5 -3
  313. package/dist/providers/Actions/index.js.map +1 -1
  314. package/dist/providers/Auth/index.d.ts.map +1 -1
  315. package/dist/providers/Auth/index.js +5 -3
  316. package/dist/providers/Auth/index.js.map +1 -1
  317. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  318. package/dist/providers/ClientFunction/index.js +4 -4
  319. package/dist/providers/ClientFunction/index.js.map +1 -1
  320. package/dist/providers/Config/index.d.ts.map +1 -1
  321. package/dist/providers/Config/index.js +5 -3
  322. package/dist/providers/Config/index.js.map +1 -1
  323. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  324. package/dist/providers/DocumentEvents/index.js +5 -3
  325. package/dist/providers/DocumentEvents/index.js.map +1 -1
  326. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  327. package/dist/providers/DocumentInfo/index.js +5 -3
  328. package/dist/providers/DocumentInfo/index.js.map +1 -1
  329. package/dist/providers/DocumentInfo/types.d.ts +0 -1
  330. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  331. package/dist/providers/DocumentInfo/types.js.map +1 -1
  332. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  333. package/dist/providers/EditDepth/index.js +5 -3
  334. package/dist/providers/EditDepth/index.js.map +1 -1
  335. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  336. package/dist/providers/EntityVisibility/index.js +5 -3
  337. package/dist/providers/EntityVisibility/index.js.map +1 -1
  338. package/dist/providers/ListQuery/context.d.ts +0 -2
  339. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  340. package/dist/providers/ListQuery/context.js +2 -4
  341. package/dist/providers/ListQuery/context.js.map +1 -1
  342. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  343. package/dist/providers/ListQuery/index.js +14 -30
  344. package/dist/providers/ListQuery/index.js.map +1 -1
  345. package/dist/providers/ListQuery/types.d.ts +3 -6
  346. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  347. package/dist/providers/ListQuery/types.js.map +1 -1
  348. package/dist/providers/Locale/index.d.ts.map +1 -1
  349. package/dist/providers/Locale/index.js +9 -5
  350. package/dist/providers/Locale/index.js.map +1 -1
  351. package/dist/providers/Operation/index.d.ts.map +1 -1
  352. package/dist/providers/Operation/index.js +5 -3
  353. package/dist/providers/Operation/index.js.map +1 -1
  354. package/dist/providers/Params/index.d.ts.map +1 -1
  355. package/dist/providers/Params/index.js +5 -3
  356. package/dist/providers/Params/index.js.map +1 -1
  357. package/dist/providers/Preferences/index.d.ts.map +1 -1
  358. package/dist/providers/Preferences/index.js +5 -3
  359. package/dist/providers/Preferences/index.js.map +1 -1
  360. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  361. package/dist/providers/RouteCache/index.js +5 -3
  362. package/dist/providers/RouteCache/index.js.map +1 -1
  363. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  364. package/dist/providers/RouteTransition/index.js +4 -2
  365. package/dist/providers/RouteTransition/index.js.map +1 -1
  366. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  367. package/dist/providers/SearchParams/index.js +5 -3
  368. package/dist/providers/SearchParams/index.js.map +1 -1
  369. package/dist/providers/Selection/index.d.ts.map +1 -1
  370. package/dist/providers/Selection/index.js +5 -3
  371. package/dist/providers/Selection/index.js.map +1 -1
  372. package/dist/providers/ServerFunctions/index.d.ts +0 -1
  373. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  374. package/dist/providers/ServerFunctions/index.js +2 -2
  375. package/dist/providers/ServerFunctions/index.js.map +1 -1
  376. package/dist/providers/Theme/index.d.ts.map +1 -1
  377. package/dist/providers/Theme/index.js +5 -3
  378. package/dist/providers/Theme/index.js.map +1 -1
  379. package/dist/providers/Translation/index.d.ts.map +1 -1
  380. package/dist/providers/Translation/index.js +5 -3
  381. package/dist/providers/Translation/index.js.map +1 -1
  382. package/dist/providers/UploadControls/index.d.ts +12 -0
  383. package/dist/providers/UploadControls/index.d.ts.map +1 -0
  384. package/dist/providers/UploadControls/index.js +41 -0
  385. package/dist/providers/UploadControls/index.js.map +1 -0
  386. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  387. package/dist/providers/UploadEdits/index.js +4 -2
  388. package/dist/providers/UploadEdits/index.js.map +1 -1
  389. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  390. package/dist/providers/UploadHandlers/index.js +3 -3
  391. package/dist/providers/UploadHandlers/index.js.map +1 -1
  392. package/dist/styles.css +1 -1
  393. package/dist/utilities/buildFormState.d.ts.map +1 -1
  394. package/dist/utilities/buildFormState.js +1 -5
  395. package/dist/utilities/buildFormState.js.map +1 -1
  396. package/dist/utilities/mergeListSearchAndWhere.d.ts +10 -0
  397. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +1 -0
  398. package/dist/utilities/mergeListSearchAndWhere.js +47 -0
  399. package/dist/utilities/mergeListSearchAndWhere.js.map +1 -0
  400. package/dist/utilities/renderTable.js +4 -4
  401. package/dist/utilities/renderTable.js.map +1 -1
  402. package/dist/utilities/upsertPreferences.d.ts +2 -7
  403. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  404. package/dist/utilities/upsertPreferences.js +5 -11
  405. package/dist/utilities/upsertPreferences.js.map +1 -1
  406. package/dist/views/Edit/index.d.ts.map +1 -1
  407. package/dist/views/Edit/index.js +10 -8
  408. package/dist/views/Edit/index.js.map +1 -1
  409. package/dist/views/List/index.d.ts.map +1 -1
  410. package/dist/views/List/index.js +1 -7
  411. package/dist/views/List/index.js.map +1 -1
  412. package/package.json +5 -5
  413. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts +0 -8
  414. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +0 -1
  415. package/dist/elements/ListControls/ActiveQueryPreset/index.js +0 -102
  416. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +0 -1
  417. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +0 -21
  418. package/dist/elements/ListControls/types.d.ts +0 -28
  419. package/dist/elements/ListControls/types.d.ts.map +0 -1
  420. package/dist/elements/ListControls/types.js.map +0 -1
  421. package/dist/elements/ListControls/useQueryPresets.d.ts +0 -17
  422. package/dist/elements/ListControls/useQueryPresets.d.ts.map +0 -1
  423. package/dist/elements/ListControls/useQueryPresets.js +0 -259
  424. package/dist/elements/ListControls/useQueryPresets.js.map +0 -1
  425. package/dist/elements/Popup/PopupDivider/index.d.ts +0 -4
  426. package/dist/elements/Popup/PopupDivider/index.d.ts.map +0 -1
  427. package/dist/elements/Popup/PopupDivider/index.js +0 -10
  428. package/dist/elements/Popup/PopupDivider/index.js.map +0 -1
  429. package/dist/elements/Popup/PopupDivider/index.scss +0 -10
  430. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts +0 -4
  431. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts.map +0 -1
  432. package/dist/elements/QueryPresets/cells/AccessCell/index.js +0 -25
  433. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +0 -1
  434. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +0 -4
  435. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +0 -1
  436. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +0 -11
  437. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +0 -1
  438. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts +0 -4
  439. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +0 -1
  440. package/dist/elements/QueryPresets/cells/WhereCell/index.js +0 -29
  441. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +0 -1
  442. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +0 -4
  443. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +0 -1
  444. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +0 -64
  445. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +0 -1
  446. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +0 -28
  447. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +0 -4
  448. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +0 -1
  449. package/dist/elements/QueryPresets/fields/WhereField/index.js +0 -121
  450. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +0 -1
  451. package/dist/elements/QueryPresets/fields/WhereField/index.scss +0 -23
  452. package/dist/icons/People/index.d.ts +0 -6
  453. package/dist/icons/People/index.d.ts.map +0 -1
  454. package/dist/icons/People/index.js +0 -18
  455. package/dist/icons/People/index.js.map +0 -1
  456. package/dist/icons/People/index.scss +0 -11
  457. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  458. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +0 -1
  459. package/dist/providers/TableColumns/buildColumnState.d.ts.map +0 -1
  460. package/dist/providers/TableColumns/buildColumnState.js.map +0 -1
  461. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  462. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  463. package/dist/providers/TableColumns/context.d.ts.map +0 -1
  464. package/dist/providers/TableColumns/context.js +0 -4
  465. package/dist/providers/TableColumns/context.js.map +0 -1
  466. package/dist/providers/TableColumns/filterFields.d.ts.map +0 -1
  467. package/dist/providers/TableColumns/filterFields.js.map +0 -1
  468. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +0 -1
  469. package/dist/providers/TableColumns/getInitialColumns.js.map +0 -1
  470. package/dist/providers/TableColumns/index.d.ts.map +0 -1
  471. package/dist/providers/TableColumns/index.js.map +0 -1
  472. package/dist/providers/TableColumns/types.d.ts.map +0 -1
  473. package/dist/providers/TableColumns/types.js +0 -2
  474. package/dist/providers/TableColumns/types.js.map +0 -1
  475. package/dist/utilities/getDisplayedFieldValue.d.ts +0 -13
  476. package/dist/utilities/getDisplayedFieldValue.d.ts.map +0 -1
  477. package/dist/utilities/getDisplayedFieldValue.js +0 -28
  478. package/dist/utilities/getDisplayedFieldValue.js.map +0 -1
  479. package/dist/utilities/hasOptionLabelJSXElement.d.ts +0 -3
  480. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +0 -1
  481. package/dist/utilities/hasOptionLabelJSXElement.js +0 -15
  482. package/dist/utilities/hasOptionLabelJSXElement.js.map +0 -1
  483. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  484. /package/dist/{providers → elements}/TableColumns/RenderDefaultCell/index.scss +0 -0
  485. /package/dist/{providers → elements}/TableColumns/context.d.ts +0 -0
  486. /package/dist/{providers → elements}/TableColumns/filterFields.d.ts +0 -0
  487. /package/dist/{providers → elements}/TableColumns/filterFields.js +0 -0
  488. /package/dist/{providers → elements}/TableColumns/getInitialColumns.d.ts +0 -0
  489. /package/dist/{providers → elements}/TableColumns/getInitialColumns.js +0 -0
  490. /package/dist/{providers → elements}/TableColumns/index.d.ts +0 -0
  491. /package/dist/elements/{ListControls → TableColumns}/types.js +0 -0
  492. /package/dist/exports/client/{CodeEditor-J4IKAVAK.js.map → CodeEditor-TQ5ADFPC.js.map} +0 -0
  493. /package/dist/exports/client/{DatePicker-DMHV2M2L.js.map → DatePicker-HHQ6TPOW.js.map} +0 -0
@@ -7,9 +7,8 @@ type Args = {
7
7
  docs: UpcomingEvent[];
8
8
  i18n: I18nClient;
9
9
  localization: ClientConfig['localization'];
10
- supportedTimezones: ClientConfig['admin']['timezones']['supportedTimezones'];
11
10
  t: TFunction;
12
11
  };
13
- export declare const buildUpcomingColumns: ({ dateFormat, deleteHandler, docs, i18n, localization, supportedTimezones, t, }: Args) => Column[];
12
+ export declare const buildUpcomingColumns: ({ dateFormat, deleteHandler, docs, i18n, localization, t, }: Args) => Column[];
14
13
  export {};
15
14
  //# sourceMappingURL=buildUpcomingColumns.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1C,kBAAkB,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC,WAAW,CAAC,CAAC,oBAAoB,CAAC,CAAA;IAC5E,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAED,eAAO,MAAM,oBAAoB,oFAQ9B,IAAI,KAAG,MAAM,EA4Gf,CAAA"}
1
+ {"version":3,"file":"buildUpcomingColumns.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAAkB,KAAK,UAAU,EAAE,KAAK,SAAS,EAAE,MAAM,0BAA0B,CAAA;AAG1F,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAA;AAM/C,KAAK,IAAI,GAAG;IACV,UAAU,EAAE,MAAM,CAAA;IAClB,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,KAAK,IAAI,CAAA;IAC5C,IAAI,EAAE,aAAa,EAAE,CAAA;IACrB,IAAI,EAAE,UAAU,CAAA;IAChB,YAAY,EAAE,YAAY,CAAC,cAAc,CAAC,CAAA;IAC1C,CAAC,EAAE,SAAS,CAAA;CACb,CAAA;AAED,eAAO,MAAM,oBAAoB,gEAO9B,IAAI,KAAG,MAAM,EAsGf,CAAA"}
@@ -10,7 +10,6 @@ export const buildUpcomingColumns = ({
10
10
  docs,
11
11
  i18n,
12
12
  localization,
13
- supportedTimezones,
14
13
  t
15
14
  }) => {
16
15
  const columns = [{
@@ -59,10 +58,8 @@ export const buildUpcomingColumns = ({
59
58
  children: t('general:timezone')
60
59
  }),
61
60
  renderedCells: docs.map(doc => {
62
- const matchedTimezone = supportedTimezones.find(timezone => timezone.value === doc.input.timezone);
63
- const timezone = matchedTimezone?.label || doc.input.timezone;
64
61
  return /*#__PURE__*/_jsx("span", {
65
- children: timezone || t('general:noValue')
62
+ children: doc.input.timezone || t('general:noValue')
66
63
  }, doc.id);
67
64
  })
68
65
  }];
@@ -1 +1 @@
1
- {"version":3,"file":"buildUpcomingColumns.js","names":["getTranslation","React","formatDate","Button","Pill","buildUpcomingColumns","dateFormat","deleteHandler","docs","i18n","localization","supportedTimezones","t","columns","accessor","active","field","name","type","Heading","_jsx","renderedCells","map","doc","input","_jsxs","pillStyle","id","date","waitUntil","pattern","timezone","matchedTimezone","find","value","label","push","locale","matchedLocale","locales","code","buttonStyle","className","icon","onClick","e","preventDefault","tooltip"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"sourcesContent":["import type { ClientConfig, Column } from 'payload'\n\nimport { getTranslation, type I18nClient, type TFunction } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UpcomingEvent } from './types.js'\n\nimport { formatDate } from '../../../utilities/formatDate.js'\nimport { Button } from '../../Button/index.js'\nimport { Pill } from '../../Pill/index.js'\n\ntype Args = {\n dateFormat: string\n deleteHandler: (id: number | string) => void\n docs: UpcomingEvent[]\n i18n: I18nClient\n localization: ClientConfig['localization']\n supportedTimezones: ClientConfig['admin']['timezones']['supportedTimezones']\n t: TFunction\n}\n\nexport const buildUpcomingColumns = ({\n dateFormat,\n deleteHandler,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n}: Args): Column[] => {\n const columns: Column[] = [\n {\n accessor: 'input.type',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('version:type')}</span>,\n renderedCells: docs.map((doc) => {\n const type = doc.input?.type\n\n return (\n <Pill key={doc.id} pillStyle={type === 'publish' ? 'success' : 'warning'}>\n {type === 'publish' && t('version:publish')}\n {type === 'unpublish' && t('version:unpublish')}\n </Pill>\n )\n }),\n },\n {\n accessor: 'waitUntil',\n active: true,\n field: {\n name: '',\n type: 'date',\n },\n Heading: <span>{t('general:time')}</span>,\n renderedCells: docs.map((doc) => (\n <span key={doc.id}>\n {formatDate({\n date: doc.waitUntil,\n i18n,\n pattern: dateFormat,\n timezone: doc.input.timezone,\n })}\n </span>\n )),\n },\n {\n accessor: 'input.timezone',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('general:timezone')}</span>,\n renderedCells: docs.map((doc) => {\n const matchedTimezone = supportedTimezones.find(\n (timezone) => timezone.value === doc.input.timezone,\n )\n\n const timezone = matchedTimezone?.label || doc.input.timezone\n\n return <span key={doc.id}>{timezone || t('general:noValue')}</span>\n }),\n },\n ]\n\n if (localization) {\n columns.push({\n accessor: 'input.locale',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('general:locale')}</span>,\n renderedCells: docs.map((doc) => {\n if (doc.input.locale) {\n const matchedLocale = localization.locales.find(\n (locale) => locale.code === doc.input.locale,\n )\n if (matchedLocale) {\n return <span key={doc.id}>{getTranslation(matchedLocale.label, i18n)}</span>\n }\n }\n\n return <span key={doc.id}>{t('general:all')}</span>\n }),\n })\n }\n\n columns.push({\n accessor: 'delete',\n active: true,\n field: {\n name: 'delete',\n type: 'text',\n },\n Heading: <span>{t('general:delete')}</span>,\n renderedCells: docs.map((doc) => (\n <Button\n buttonStyle=\"icon-label\"\n className=\"schedule-publish__delete\"\n icon=\"x\"\n key={doc.id}\n onClick={(e) => {\n e.preventDefault()\n deleteHandler(doc.id)\n }}\n tooltip={t('general:delete')}\n />\n )),\n })\n\n return columns\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"buildUpcomingColumns.js","names":["getTranslation","React","formatDate","Button","Pill","buildUpcomingColumns","dateFormat","deleteHandler","docs","i18n","localization","t","columns","accessor","active","field","name","type","Heading","_jsx","renderedCells","map","doc","input","_jsxs","pillStyle","id","date","waitUntil","pattern","timezone","push","locale","matchedLocale","locales","find","code","label","buttonStyle","className","icon","onClick","e","preventDefault","tooltip"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.tsx"],"sourcesContent":["import type { ClientConfig, Column } from 'payload'\n\nimport { getTranslation, type I18nClient, type TFunction } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { UpcomingEvent } from './types.js'\n\nimport { formatDate } from '../../../utilities/formatDate.js'\nimport { Button } from '../../Button/index.js'\nimport { Pill } from '../../Pill/index.js'\n\ntype Args = {\n dateFormat: string\n deleteHandler: (id: number | string) => void\n docs: UpcomingEvent[]\n i18n: I18nClient\n localization: ClientConfig['localization']\n t: TFunction\n}\n\nexport const buildUpcomingColumns = ({\n dateFormat,\n deleteHandler,\n docs,\n i18n,\n localization,\n t,\n}: Args): Column[] => {\n const columns: Column[] = [\n {\n accessor: 'input.type',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('version:type')}</span>,\n renderedCells: docs.map((doc) => {\n const type = doc.input?.type\n\n return (\n <Pill key={doc.id} pillStyle={type === 'publish' ? 'success' : 'warning'}>\n {type === 'publish' && t('version:publish')}\n {type === 'unpublish' && t('version:unpublish')}\n </Pill>\n )\n }),\n },\n {\n accessor: 'waitUntil',\n active: true,\n field: {\n name: '',\n type: 'date',\n },\n Heading: <span>{t('general:time')}</span>,\n renderedCells: docs.map((doc) => (\n <span key={doc.id}>\n {formatDate({\n date: doc.waitUntil,\n i18n,\n pattern: dateFormat,\n timezone: doc.input.timezone,\n })}\n </span>\n )),\n },\n {\n accessor: 'input.timezone',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('general:timezone')}</span>,\n renderedCells: docs.map((doc) => {\n return <span key={doc.id}>{doc.input.timezone || t('general:noValue')}</span>\n }),\n },\n ]\n\n if (localization) {\n columns.push({\n accessor: 'input.locale',\n active: true,\n field: {\n name: '',\n type: 'text',\n },\n Heading: <span>{t('general:locale')}</span>,\n renderedCells: docs.map((doc) => {\n if (doc.input.locale) {\n const matchedLocale = localization.locales.find(\n (locale) => locale.code === doc.input.locale,\n )\n if (matchedLocale) {\n return <span key={doc.id}>{getTranslation(matchedLocale.label, i18n)}</span>\n }\n }\n\n return <span key={doc.id}>{t('general:all')}</span>\n }),\n })\n }\n\n columns.push({\n accessor: 'delete',\n active: true,\n field: {\n name: 'delete',\n type: 'text',\n },\n Heading: <span>{t('general:delete')}</span>,\n renderedCells: docs.map((doc) => (\n <Button\n buttonStyle=\"icon-label\"\n className=\"schedule-publish__delete\"\n icon=\"x\"\n key={doc.id}\n onClick={(e) => {\n e.preventDefault()\n deleteHandler(doc.id)\n }}\n tooltip={t('general:delete')}\n />\n )),\n })\n\n return columns\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAA;AAkB5D,OAAO,cAAc,CAAA;AAMrB,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8U1C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"names":[],"mappings":"AAUA,OAAO,KAA+B,MAAM,OAAO,CAAA;AAGnD,OAAO,KAAK,EAAE,WAAW,EAAiB,MAAM,YAAY,CAAA;AAkB5D,OAAO,cAAc,CAAA;AAMrB,KAAK,KAAK,GAAG;IACX,WAAW,CAAC,EAAE,WAAW,CAAA;IACzB,IAAI,EAAE,MAAM,CAAA;CACb,CAAA;AAOD,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoU1C,CAAA"}
@@ -146,11 +146,10 @@ export const ScheduleDrawer = ({
146
146
  docs,
147
147
  i18n,
148
148
  localization,
149
- supportedTimezones,
150
149
  t
151
150
  }));
152
151
  setUpcoming(docs);
153
- }, [collectionSlug, globalSlug, serverURL, api, i18n, dateFormat, localization, supportedTimezones, t, id]);
152
+ }, [collectionSlug, globalSlug, serverURL, api, dateFormat, id, t, i18n, localization]);
154
153
  const deleteHandler = React.useCallback(async id_0 => {
155
154
  try {
156
155
  await schedulePublish({
@@ -187,6 +186,7 @@ export const ScheduleDrawer = ({
187
186
  locale: publishSpecificLocale,
188
187
  timezone
189
188
  });
189
+ setTimezone(defaultTimezone);
190
190
  setDate(undefined);
191
191
  toast.success(t('version:scheduledSuccessfully'));
192
192
  void fetchUpcoming();
@@ -195,7 +195,7 @@ export const ScheduleDrawer = ({
195
195
  toast.error(err_0.message);
196
196
  }
197
197
  setProcessing(false);
198
- }, [date, locale, type, t, schedulePublish, collectionSlug, id, globalSlug, timezone, fetchUpcoming]);
198
+ }, [date, locale, type, t, schedulePublish, collectionSlug, id, globalSlug, timezone, defaultTimezone, fetchUpcoming]);
199
199
  const displayedValue = useMemo(() => {
200
200
  if (timezone && userTimezone && date) {
201
201
  // Create TZDate instances for the selected timezone and the user's timezone
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["TZDateMini","TZDate","useModal","getTranslation","transpose","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useServerFunctions","useTranslation","requests","Banner","DrawerCloseButton","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","toggleModal","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","serverURL","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String","docs","post","body","stringify","headers","language","then","res","json","deleteHandler","current","deleteID","success","err","console","error","message","useEffect","handleSave","publishSpecificLocale","doc","relationTo","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","_jsxs","className","gutter","Header","_jsx","onClick","required","isSelected","onChange","option","path","readOnly","minDate","e","pickerAppearance","timeIntervals","length","selectedTimezone","Fragment","buttonStyle","disabled","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transpose } from 'date-fns/transpose'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport './index.scss'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug, defaultType }) => {\n const { toggleModal } = useModal()\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug, title } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n query.where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n query.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n query.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .post(`${serverURL}${api}/payload-jobs`, {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n supportedTimezones,\n t,\n }),\n )\n setUpcoming(docs)\n }, [\n collectionSlug,\n globalSlug,\n serverURL,\n api,\n i18n,\n dateFormat,\n localization,\n supportedTimezones,\n t,\n id,\n ])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let publishSpecificLocale: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n publishSpecificLocale = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n locale: publishSpecificLocale,\n timezone,\n })\n\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n return (\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <div className={`${baseClass}__drawer-header`}>\n <h2 title={modalTitle}>{modalTitle}</h2>\n <DrawerCloseButton onClick={() => toggleModal(slug)} />\n </div>\n }\n slug={slug}\n >\n <Gutter className={`${baseClass}__scheduler`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n <br />\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n minDate={new Date()}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeIntervals={5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n <br />\n {localeOptions.length > 0 && type === 'publish' && (\n <React.Fragment>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n <br />\n </React.Fragment>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && (\n <Banner type=\"info\">{t('general:noUpcomingEventsScheduled')}</Banner>\n )}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["TZDateMini","TZDate","useModal","getTranslation","transpose","qs","React","useCallback","useMemo","toast","FieldLabel","Radio","useConfig","useDocumentInfo","useServerFunctions","useTranslation","requests","Banner","DrawerCloseButton","Button","DatePickerField","Drawer","Gutter","ReactSelect","ShimmerEffect","Table","TimezonePicker","buildUpcomingColumns","baseClass","defaultLocaleOption","label","value","ScheduleDrawer","slug","defaultType","toggleModal","config","admin","dateFormat","timezones","defaultTimezone","supportedTimezones","localization","routes","api","serverURL","id","collectionSlug","globalSlug","title","i18n","t","schedulePublish","type","setType","useState","date","setDate","timezone","setTimezone","locale","setLocale","processing","setProcessing","modalTitle","upcoming","setUpcoming","upcomingColumns","setUpcomingColumns","deleteHandlerRef","useRef","userTimezone","Intl","DateTimeFormat","resolvedOptions","timeZone","localeOptions","options","locales","map","code","unshift","fetchUpcoming","query","sort","where","and","taskSlug","equals","waitUntil","greater_than","Date","push","String","docs","post","body","stringify","headers","language","then","res","json","deleteHandler","current","deleteID","success","err","console","error","message","useEffect","handleSave","publishSpecificLocale","doc","relationTo","undefined","global","displayedValue","DateWithOriginalTz","tz","DateWithUserTz","modifiedDate","withTimeZone","dateWithTimezone","dateWithUserTimezone","toISOString","onChangeDate","incomingDate","tzDateWithUTC","dateToUserTz","fetchInitialUpcoming","_jsxs","className","gutter","Header","_jsx","onClick","required","isSelected","onChange","option","path","readOnly","minDate","e","pickerAppearance","timeIntervals","length","selectedTimezone","Fragment","buttonStyle","disabled","appearance","columns","data"],"sources":["../../../../src/elements/PublishButton/ScheduleDrawer/index.tsx"],"sourcesContent":["/* eslint-disable no-console */\n'use client'\n\nimport type { Column, Where } from 'payload'\n\nimport { TZDateMini as TZDate } from '@date-fns/tz/date/mini'\nimport { useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { transpose } from 'date-fns/transpose'\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useMemo } from 'react'\nimport { toast } from 'sonner'\n\nimport type { PublishType, UpcomingEvent } from './types.js'\n\nimport { FieldLabel } from '../../../fields/FieldLabel/index.js'\nimport { Radio } from '../../../fields/RadioGroup/Radio/index.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useDocumentInfo } from '../../../providers/DocumentInfo/index.js'\nimport { useServerFunctions } from '../../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { requests } from '../../../utilities/api.js'\nimport { Banner } from '../../Banner/index.js'\nimport { DrawerCloseButton } from '../../BulkUpload/DrawerCloseButton/index.js'\nimport { Button } from '../../Button/index.js'\nimport { DatePickerField } from '../../DatePicker/index.js'\nimport { Drawer } from '../../Drawer/index.js'\nimport { Gutter } from '../../Gutter/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { ShimmerEffect } from '../../ShimmerEffect/index.js'\nimport { Table } from '../../Table/index.js'\nimport './index.scss'\nimport { TimezonePicker } from '../../TimezonePicker/index.js'\nimport { buildUpcomingColumns } from './buildUpcomingColumns.js'\n\nconst baseClass = 'schedule-publish'\n\ntype Props = {\n defaultType?: PublishType\n slug: string\n}\n\nconst defaultLocaleOption = {\n label: 'All',\n value: 'all',\n}\n\nexport const ScheduleDrawer: React.FC<Props> = ({ slug, defaultType }) => {\n const { toggleModal } = useModal()\n const {\n config: {\n admin: {\n dateFormat,\n timezones: { defaultTimezone, supportedTimezones },\n },\n localization,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n const { id, collectionSlug, globalSlug, title } = useDocumentInfo()\n const { i18n, t } = useTranslation()\n const { schedulePublish } = useServerFunctions()\n const [type, setType] = React.useState<PublishType>(defaultType || 'publish')\n const [date, setDate] = React.useState<Date>()\n const [timezone, setTimezone] = React.useState<string>(defaultTimezone)\n const [locale, setLocale] = React.useState<{ label: string; value: string }>(defaultLocaleOption)\n const [processing, setProcessing] = React.useState(false)\n const modalTitle = t('general:schedulePublishFor', { title })\n const [upcoming, setUpcoming] = React.useState<UpcomingEvent[]>()\n const [upcomingColumns, setUpcomingColumns] = React.useState<Column[]>()\n const deleteHandlerRef = React.useRef<((id: number | string) => Promise<void>) | null>(() => null)\n\n // Get the user timezone so we can adjust the displayed value against it\n const userTimezone = Intl.DateTimeFormat().resolvedOptions().timeZone\n\n const localeOptions = React.useMemo(() => {\n if (localization) {\n const options = localization.locales.map(({ code, label }) => ({\n label: getTranslation(label, i18n),\n value: code,\n }))\n\n options.unshift(defaultLocaleOption)\n\n return options\n }\n\n return []\n }, [localization, i18n])\n\n const fetchUpcoming = React.useCallback(async () => {\n const query: { sort: string; where: Where } = {\n sort: 'waitUntil',\n where: {\n and: [\n {\n taskSlug: {\n equals: 'schedulePublish',\n },\n },\n {\n waitUntil: {\n greater_than: new Date(),\n },\n },\n ],\n },\n }\n\n if (collectionSlug) {\n query.where.and.push({\n 'input.doc.value': {\n equals: String(id),\n },\n })\n query.where.and.push({\n 'input.doc.relationTo': {\n equals: collectionSlug,\n },\n })\n }\n\n if (globalSlug) {\n query.where.and.push({\n 'input.global': {\n equals: globalSlug,\n },\n })\n }\n\n const { docs } = await requests\n .post(`${serverURL}${api}/payload-jobs`, {\n body: qs.stringify(query),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/x-www-form-urlencoded',\n 'X-HTTP-Method-Override': 'GET',\n },\n })\n .then((res) => res.json())\n\n setUpcomingColumns(\n buildUpcomingColumns({\n dateFormat,\n // eslint-disable-next-line @typescript-eslint/no-misused-promises\n deleteHandler: deleteHandlerRef.current,\n docs,\n i18n,\n localization,\n t,\n }),\n )\n setUpcoming(docs)\n }, [collectionSlug, globalSlug, serverURL, api, dateFormat, id, t, i18n, localization])\n\n const deleteHandler = React.useCallback(\n async (id: number | string) => {\n try {\n await schedulePublish({\n deleteID: id,\n })\n await fetchUpcoming()\n toast.success(t('general:deletedSuccessfully'))\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n },\n [fetchUpcoming, schedulePublish, t],\n )\n\n React.useEffect(() => {\n deleteHandlerRef.current = deleteHandler\n }, [deleteHandler])\n\n const handleSave = React.useCallback(async () => {\n if (!date) {\n return toast.error(t('general:noDateSelected'))\n }\n\n setProcessing(true)\n\n let publishSpecificLocale: string\n\n if (typeof locale === 'object' && locale.value !== 'all' && type === 'publish') {\n publishSpecificLocale = locale.value\n }\n\n try {\n await schedulePublish({\n type,\n date,\n doc: collectionSlug\n ? {\n relationTo: collectionSlug,\n value: String(id),\n }\n : undefined,\n global: globalSlug || undefined,\n locale: publishSpecificLocale,\n timezone,\n })\n\n setTimezone(defaultTimezone)\n setDate(undefined)\n toast.success(t('version:scheduledSuccessfully'))\n void fetchUpcoming()\n } catch (err) {\n console.error(err)\n toast.error(err.message)\n }\n\n setProcessing(false)\n }, [\n date,\n locale,\n type,\n t,\n schedulePublish,\n collectionSlug,\n id,\n globalSlug,\n timezone,\n defaultTimezone,\n fetchUpcoming,\n ])\n\n const displayedValue = useMemo(() => {\n if (timezone && userTimezone && date) {\n // Create TZDate instances for the selected timezone and the user's timezone\n // These instances allow us to transpose the date between timezones while keeping the same time value\n const DateWithOriginalTz = TZDate.tz(timezone)\n const DateWithUserTz = TZDate.tz(userTimezone)\n\n const modifiedDate = new TZDate(date).withTimeZone(timezone)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(modifiedDate, DateWithOriginalTz)\n\n // Transpose the date to the user's timezone - this is necessary because the react-datepicker component insists on displaying the date in the user's timezone\n const dateWithUserTimezone = transpose(dateWithTimezone, DateWithUserTz)\n\n return dateWithUserTimezone.toISOString()\n }\n\n return date\n }, [timezone, date, userTimezone])\n\n const onChangeDate = useCallback(\n (incomingDate: Date) => {\n if (timezone && incomingDate) {\n // Create TZDate instances for the selected timezone\n const tzDateWithUTC = TZDate.tz(timezone)\n\n // Creates a TZDate instance for the user's timezone — this is default behaviour of TZDate as it wraps the Date constructor\n const dateToUserTz = new TZDate(incomingDate)\n\n // Transpose the date to the selected timezone\n const dateWithTimezone = transpose(dateToUserTz, tzDateWithUTC)\n\n setDate(dateWithTimezone || null)\n } else {\n setDate(incomingDate || null)\n }\n },\n [setDate, timezone],\n )\n\n React.useEffect(() => {\n if (!upcoming) {\n const fetchInitialUpcoming = async () => {\n await fetchUpcoming()\n }\n\n void fetchInitialUpcoming()\n }\n }, [upcoming, fetchUpcoming])\n\n return (\n <Drawer\n className={baseClass}\n gutter={false}\n Header={\n <div className={`${baseClass}__drawer-header`}>\n <h2 title={modalTitle}>{modalTitle}</h2>\n <DrawerCloseButton onClick={() => toggleModal(slug)} />\n </div>\n }\n slug={slug}\n >\n <Gutter className={`${baseClass}__scheduler`}>\n <FieldLabel label={t('version:type')} required />\n <ul className={`${baseClass}__type`}>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'publish'}\n onChange={() => setType('publish')}\n option={{ label: t('version:publish'), value: 'publish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n <li>\n <Radio\n id={`${slug}-type`}\n isSelected={type === 'unpublish'}\n onChange={() => setType('unpublish')}\n option={{ label: t('version:unpublish'), value: 'unpublish' }}\n path={`${slug}-type`}\n readOnly={processing}\n />\n </li>\n </ul>\n <br />\n <FieldLabel label={t('general:time')} path={'time'} required />\n <DatePickerField\n id=\"time\"\n minDate={new Date()}\n onChange={(e) => onChangeDate(e)}\n pickerAppearance=\"dayAndTime\"\n readOnly={processing}\n timeIntervals={5}\n value={displayedValue}\n />\n {supportedTimezones.length > 0 && (\n <TimezonePicker\n id={`timezone-picker`}\n onChange={setTimezone}\n options={supportedTimezones}\n selectedTimezone={timezone}\n />\n )}\n <br />\n {localeOptions.length > 0 && type === 'publish' && (\n <React.Fragment>\n <FieldLabel label={t('localization:localeToPublish')} />\n <ReactSelect\n onChange={(e) => setLocale(e as { label: string; value: string })}\n options={localeOptions}\n value={locale}\n />\n <br />\n </React.Fragment>\n )}\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"primary\"\n disabled={processing}\n id=\"scheduled-publish-save\"\n onClick={handleSave}\n type=\"button\"\n >\n {t('general:save')}\n </Button>\n {processing ? <span>{t('general:saving')}</span> : null}\n </div>\n </Gutter>\n <Gutter className={`${baseClass}__upcoming`}>\n <h4>{t('general:upcomingEvents')}</h4>\n {!upcoming && <ShimmerEffect />}\n {upcoming?.length === 0 && (\n <Banner type=\"info\">{t('general:noUpcomingEventsScheduled')}</Banner>\n )}\n {upcoming?.length > 0 && (\n <Table appearance=\"condensed\" columns={upcomingColumns} data={upcoming} />\n )}\n </Gutter>\n </Drawer>\n )\n}\n"],"mappings":"AAAA,+BACA;;;AAIA,SAASA,UAAA,IAAcC,MAAM,QAAQ;AACrC,SAASC,QAAQ,QAAQ;AACzB,SAASC,cAAc,QAAQ;AAC/B,SAASC,SAAS,QAAQ;AAC1B,YAAYC,EAAA,MAAQ;AACpB,OAAOC,KAAA,IAASC,WAAW,EAAEC,OAAO,QAAQ;AAC5C,SAASC,KAAK,QAAQ;AAItB,SAASC,UAAU,QAAQ;AAC3B,SAASC,KAAK,QAAQ;AACtB,SAASC,SAAS,QAAQ;AAC1B,SAASC,eAAe,QAAQ;AAChC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,cAAc,QAAQ;AAC/B,SAASC,QAAQ,QAAQ;AACzB,SAASC,MAAM,QAAQ;AACvB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,MAAM,QAAQ;AACvB,SAASC,eAAe,QAAQ;AAChC,SAASC,MAAM,QAAQ;AACvB,SAASC,MAAM,QAAQ;AACvB,SAASC,WAAW,QAAQ;AAC5B,SAASC,aAAa,QAAQ;AAC9B,SAASC,KAAK,QAAQ;AACtB,OAAO;AACP,SAASC,cAAc,QAAQ;AAC/B,SAASC,oBAAoB,QAAQ;AAErC,MAAMC,SAAA,GAAY;AAOlB,MAAMC,mBAAA,GAAsB;EAC1BC,KAAA,EAAO;EACPC,KAAA,EAAO;AACT;AAEA,OAAO,MAAMC,cAAA,GAAkCA,CAAC;EAAEC,IAAI;EAAEC;AAAW,CAAE;EACnE,MAAM;IAAEC;EAAW,CAAE,GAAGjC,QAAA;EACxB,MAAM;IACJkC,MAAA,EAAQ;MACNC,KAAA,EAAO;QACLC,UAAU;QACVC,SAAA,EAAW;UAAEC,eAAe;UAAEC;QAAkB;MAAE,CACnD;MACDC,YAAY;MACZC,MAAA,EAAQ;QAAEC;MAAG,CAAE;MACfC;IAAS;EACV,CACF,GAAGjC,SAAA;EACJ,MAAM;IAAEkC,EAAE;IAAEC,cAAc;IAAEC,UAAU;IAAEC;EAAK,CAAE,GAAGpC,eAAA;EAClD,MAAM;IAAEqC,IAAI;IAAEC;EAAC,CAAE,GAAGpC,cAAA;EACpB,MAAM;IAAEqC;EAAe,CAAE,GAAGtC,kBAAA;EAC5B,MAAM,CAACuC,IAAA,EAAMC,OAAA,CAAQ,GAAGhD,KAAA,CAAMiD,QAAQ,CAAcrB,WAAA,IAAe;EACnE,MAAM,CAACsB,IAAA,EAAMC,OAAA,CAAQ,GAAGnD,KAAA,CAAMiD,QAAQ;EACtC,MAAM,CAACG,QAAA,EAAUC,WAAA,CAAY,GAAGrD,KAAA,CAAMiD,QAAQ,CAASf,eAAA;EACvD,MAAM,CAACoB,MAAA,EAAQC,SAAA,CAAU,GAAGvD,KAAA,CAAMiD,QAAQ,CAAmC1B,mBAAA;EAC7E,MAAM,CAACiC,UAAA,EAAYC,aAAA,CAAc,GAAGzD,KAAA,CAAMiD,QAAQ,CAAC;EACnD,MAAMS,UAAA,GAAab,CAAA,CAAE,8BAA8B;IAAEF;EAAM;EAC3D,MAAM,CAACgB,QAAA,EAAUC,WAAA,CAAY,GAAG5D,KAAA,CAAMiD,QAAQ;EAC9C,MAAM,CAACY,eAAA,EAAiBC,kBAAA,CAAmB,GAAG9D,KAAA,CAAMiD,QAAQ;EAC5D,MAAMc,gBAAA,GAAmB/D,KAAA,CAAMgE,MAAM,CAAkD,MAAM;EAE7F;EACA,MAAMC,YAAA,GAAeC,IAAA,CAAKC,cAAc,GAAGC,eAAe,GAAGC,QAAQ;EAErE,MAAMC,aAAA,GAAgBtE,KAAA,CAAME,OAAO,CAAC;IAClC,IAAIkC,YAAA,EAAc;MAChB,MAAMmC,OAAA,GAAUnC,YAAA,CAAaoC,OAAO,CAACC,GAAG,CAAC,CAAC;QAAEC,IAAI;QAAElD;MAAK,CAAE,MAAM;QAC7DA,KAAA,EAAO3B,cAAA,CAAe2B,KAAA,EAAOoB,IAAA;QAC7BnB,KAAA,EAAOiD;MACT;MAEAH,OAAA,CAAQI,OAAO,CAACpD,mBAAA;MAEhB,OAAOgD,OAAA;IACT;IAEA,OAAO,EAAE;EACX,GAAG,CAACnC,YAAA,EAAcQ,IAAA,CAAK;EAEvB,MAAMgC,aAAA,GAAgB5E,KAAA,CAAMC,WAAW,CAAC;IACtC,MAAM4E,KAAA,GAAwC;MAC5CC,IAAA,EAAM;MACNC,KAAA,EAAO;QACLC,GAAA,EAAK,CACH;UACEC,QAAA,EAAU;YACRC,MAAA,EAAQ;UACV;QACF,GACA;UACEC,SAAA,EAAW;YACTC,YAAA,EAAc,IAAIC,IAAA;UACpB;QACF;MAEJ;IACF;IAEA,IAAI5C,cAAA,EAAgB;MAClBoC,KAAA,CAAME,KAAK,CAACC,GAAG,CAACM,IAAI,CAAC;QACnB,mBAAmB;UACjBJ,MAAA,EAAQK,MAAA,CAAO/C,EAAA;QACjB;MACF;MACAqC,KAAA,CAAME,KAAK,CAACC,GAAG,CAACM,IAAI,CAAC;QACnB,wBAAwB;UACtBJ,MAAA,EAAQzC;QACV;MACF;IACF;IAEA,IAAIC,UAAA,EAAY;MACdmC,KAAA,CAAME,KAAK,CAACC,GAAG,CAACM,IAAI,CAAC;QACnB,gBAAgB;UACdJ,MAAA,EAAQxC;QACV;MACF;IACF;IAEA,MAAM;MAAE8C;IAAI,CAAE,GAAG,MAAM9E,QAAA,CACpB+E,IAAI,CAAC,GAAGlD,SAAA,GAAYD,GAAA,eAAkB,EAAE;MACvCoD,IAAA,EAAM3F,EAAA,CAAG4F,SAAS,CAACd,KAAA;MACnBe,OAAA,EAAS;QACP,mBAAmBhD,IAAA,CAAKiD,QAAQ;QAChC,gBAAgB;QAChB,0BAA0B;MAC5B;IACF,GACCC,IAAI,CAAEC,GAAA,IAAQA,GAAA,CAAIC,IAAI;IAEzBlC,kBAAA,CACEzC,oBAAA,CAAqB;MACnBW,UAAA;MACA;MACAiE,aAAA,EAAelC,gBAAA,CAAiBmC,OAAO;MACvCV,IAAA;MACA5C,IAAA;MACAR,YAAA;MACAS;IACF;IAEFe,WAAA,CAAY4B,IAAA;EACd,GAAG,CAAC/C,cAAA,EAAgBC,UAAA,EAAYH,SAAA,EAAWD,GAAA,EAAKN,UAAA,EAAYQ,EAAA,EAAIK,CAAA,EAAGD,IAAA,EAAMR,YAAA,CAAa;EAEtF,MAAM6D,aAAA,GAAgBjG,KAAA,CAAMC,WAAW,CACrC,MAAOuC,IAAA;IACL,IAAI;MACF,MAAMM,eAAA,CAAgB;QACpBqD,QAAA,EAAU3D;MACZ;MACA,MAAMoC,aAAA;MACNzE,KAAA,CAAMiG,OAAO,CAACvD,CAAA,CAAE;IAClB,EAAE,OAAOwD,GAAA,EAAK;MACZC,OAAA,CAAQC,KAAK,CAACF,GAAA;MACdlG,KAAA,CAAMoG,KAAK,CAACF,GAAA,CAAIG,OAAO;IACzB;EACF,GACA,CAAC5B,aAAA,EAAe9B,eAAA,EAAiBD,CAAA,CAAE;EAGrC7C,KAAA,CAAMyG,SAAS,CAAC;IACd1C,gBAAA,CAAiBmC,OAAO,GAAGD,aAAA;EAC7B,GAAG,CAACA,aAAA,CAAc;EAElB,MAAMS,UAAA,GAAa1G,KAAA,CAAMC,WAAW,CAAC;IACnC,IAAI,CAACiD,IAAA,EAAM;MACT,OAAO/C,KAAA,CAAMoG,KAAK,CAAC1D,CAAA,CAAE;IACvB;IAEAY,aAAA,CAAc;IAEd,IAAIkD,qBAAA;IAEJ,IAAI,OAAOrD,MAAA,KAAW,YAAYA,MAAA,CAAO7B,KAAK,KAAK,SAASsB,IAAA,KAAS,WAAW;MAC9E4D,qBAAA,GAAwBrD,MAAA,CAAO7B,KAAK;IACtC;IAEA,IAAI;MACF,MAAMqB,eAAA,CAAgB;QACpBC,IAAA;QACAG,IAAA;QACA0D,GAAA,EAAKnE,cAAA,GACD;UACEoE,UAAA,EAAYpE,cAAA;UACZhB,KAAA,EAAO8D,MAAA,CAAO/C,EAAA;QAChB,IACAsE,SAAA;QACJC,MAAA,EAAQrE,UAAA,IAAcoE,SAAA;QACtBxD,MAAA,EAAQqD,qBAAA;QACRvD;MACF;MAEAC,WAAA,CAAYnB,eAAA;MACZiB,OAAA,CAAQ2D,SAAA;MACR3G,KAAA,CAAMiG,OAAO,CAACvD,CAAA,CAAE;MAChB,KAAK+B,aAAA;IACP,EAAE,OAAOyB,KAAA,EAAK;MACZC,OAAA,CAAQC,KAAK,CAACF,KAAA;MACdlG,KAAA,CAAMoG,KAAK,CAACF,KAAA,CAAIG,OAAO;IACzB;IAEA/C,aAAA,CAAc;EAChB,GAAG,CACDP,IAAA,EACAI,MAAA,EACAP,IAAA,EACAF,CAAA,EACAC,eAAA,EACAL,cAAA,EACAD,EAAA,EACAE,UAAA,EACAU,QAAA,EACAlB,eAAA,EACA0C,aAAA,CACD;EAED,MAAMoC,cAAA,GAAiB9G,OAAA,CAAQ;IAC7B,IAAIkD,QAAA,IAAYa,YAAA,IAAgBf,IAAA,EAAM;MACpC;MACA;MACA,MAAM+D,kBAAA,GAAqBtH,MAAA,CAAOuH,EAAE,CAAC9D,QAAA;MACrC,MAAM+D,cAAA,GAAiBxH,MAAA,CAAOuH,EAAE,CAACjD,YAAA;MAEjC,MAAMmD,YAAA,GAAe,IAAIzH,MAAA,CAAOuD,IAAA,EAAMmE,YAAY,CAACjE,QAAA;MAEnD;MACA,MAAMkE,gBAAA,GAAmBxH,SAAA,CAAUsH,YAAA,EAAcH,kBAAA;MAEjD;MACA,MAAMM,oBAAA,GAAuBzH,SAAA,CAAUwH,gBAAA,EAAkBH,cAAA;MAEzD,OAAOI,oBAAA,CAAqBC,WAAW;IACzC;IAEA,OAAOtE,IAAA;EACT,GAAG,CAACE,QAAA,EAAUF,IAAA,EAAMe,YAAA,CAAa;EAEjC,MAAMwD,YAAA,GAAexH,WAAA,CAClByH,YAAA;IACC,IAAItE,QAAA,IAAYsE,YAAA,EAAc;MAC5B;MACA,MAAMC,aAAA,GAAgBhI,MAAA,CAAOuH,EAAE,CAAC9D,QAAA;MAEhC;MACA,MAAMwE,YAAA,GAAe,IAAIjI,MAAA,CAAO+H,YAAA;MAEhC;MACA,MAAMJ,kBAAA,GAAmBxH,SAAA,CAAU8H,YAAA,EAAcD,aAAA;MAEjDxE,OAAA,CAAQmE,kBAAA,IAAoB;IAC9B,OAAO;MACLnE,OAAA,CAAQuE,YAAA,IAAgB;IAC1B;EACF,GACA,CAACvE,OAAA,EAASC,QAAA,CAAS;EAGrBpD,KAAA,CAAMyG,SAAS,CAAC;IACd,IAAI,CAAC9C,QAAA,EAAU;MACb,MAAMkE,oBAAA,GAAuB,MAAAA,CAAA;QAC3B,MAAMjD,aAAA;MACR;MAEA,KAAKiD,oBAAA;IACP;EACF,GAAG,CAAClE,QAAA,EAAUiB,aAAA,CAAc;EAE5B,oBACEkD,KAAA,CAAC/G,MAAA;IACCgH,SAAA,EAAWzG,SAAA;IACX0G,MAAA,EAAQ;IACRC,MAAA,eACEH,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGzG,SAAA,iBAA0B;8BAC3C4G,IAAA,CAAC;QAAGvF,KAAA,EAAOe,UAAA;kBAAaA;uBACxBwE,IAAA,CAACtH,iBAAA;QAAkBuH,OAAA,EAASA,CAAA,KAAMtG,WAAA,CAAYF,IAAA;;;IAGlDA,IAAA,EAAMA,IAAA;4BAENmG,KAAA,CAAC9G,MAAA;MAAO+G,SAAA,EAAW,GAAGzG,SAAA,aAAsB;8BAC1C4G,IAAA,CAAC9H,UAAA;QAAWoB,KAAA,EAAOqB,CAAA,CAAE;QAAiBuF,QAAQ;uBAC9CN,KAAA,CAAC;QAAGC,SAAA,EAAW,GAAGzG,SAAA,QAAiB;gCACjC4G,IAAA,CAAC;oBACC,aAAAA,IAAA,CAAC7H,KAAA;YACCmC,EAAA,EAAI,GAAGb,IAAA,OAAW;YAClB0G,UAAA,EAAYtF,IAAA,KAAS;YACrBuF,QAAA,EAAUA,CAAA,KAAMtF,OAAA,CAAQ;YACxBuF,MAAA,EAAQ;cAAE/G,KAAA,EAAOqB,CAAA,CAAE;cAAoBpB,KAAA,EAAO;YAAU;YACxD+G,IAAA,EAAM,GAAG7G,IAAA,OAAW;YACpB8G,QAAA,EAAUjF;;yBAGd0E,IAAA,CAAC;oBACC,aAAAA,IAAA,CAAC7H,KAAA;YACCmC,EAAA,EAAI,GAAGb,IAAA,OAAW;YAClB0G,UAAA,EAAYtF,IAAA,KAAS;YACrBuF,QAAA,EAAUA,CAAA,KAAMtF,OAAA,CAAQ;YACxBuF,MAAA,EAAQ;cAAE/G,KAAA,EAAOqB,CAAA,CAAE;cAAsBpB,KAAA,EAAO;YAAY;YAC5D+G,IAAA,EAAM,GAAG7G,IAAA,OAAW;YACpB8G,QAAA,EAAUjF;;;uBAIhB0E,IAAA,CAAC,W,aACDA,IAAA,CAAC9H,UAAA;QAAWoB,KAAA,EAAOqB,CAAA,CAAE;QAAiB2F,IAAA,EAAM;QAAQJ,QAAQ;uBAC5DF,IAAA,CAACpH,eAAA;QACC0B,EAAA,EAAG;QACHkG,OAAA,EAAS,IAAIrD,IAAA;QACbiD,QAAA,EAAWK,CAAA,IAAMlB,YAAA,CAAakB,CAAA;QAC9BC,gBAAA,EAAiB;QACjBH,QAAA,EAAUjF,UAAA;QACVqF,aAAA,EAAe;QACfpH,KAAA,EAAOuF;UAER7E,kBAAA,CAAmB2G,MAAM,GAAG,kBAC3BZ,IAAA,CAAC9G,cAAA;QACCoB,EAAA,EAAI,iBAAiB;QACrB8F,QAAA,EAAUjF,WAAA;QACVkB,OAAA,EAASpC,kBAAA;QACT4G,gBAAA,EAAkB3F;uBAGtB8E,IAAA,CAAC,WACA5D,aAAA,CAAcwE,MAAM,GAAG,KAAK/F,IAAA,KAAS,0BACpC+E,KAAA,CAAC9H,KAAA,CAAMgJ,QAAQ;gCACbd,IAAA,CAAC9H,UAAA;UAAWoB,KAAA,EAAOqB,CAAA,CAAE;yBACrBqF,IAAA,CAACjH,WAAA;UACCqH,QAAA,EAAWK,GAAA,IAAMpF,SAAA,CAAUoF,GAAA;UAC3BpE,OAAA,EAASD,aAAA;UACT7C,KAAA,EAAO6B;yBAET4E,IAAA,CAAC;uBAGLJ,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGzG,SAAA,WAAoB;gCACrC4G,IAAA,CAACrH,MAAA;UACCoI,WAAA,EAAY;UACZC,QAAA,EAAU1F,UAAA;UACVhB,EAAA,EAAG;UACH2F,OAAA,EAASzB,UAAA;UACT3D,IAAA,EAAK;oBAEJF,CAAA,CAAE;YAEJW,UAAA,gBAAa0E,IAAA,CAAC;oBAAMrF,CAAA,CAAE;aAA4B;;qBAGvDiF,KAAA,CAAC9G,MAAA;MAAO+G,SAAA,EAAW,GAAGzG,SAAA,YAAqB;8BACzC4G,IAAA,CAAC;kBAAIrF,CAAA,CAAE;UACN,CAACc,QAAA,iBAAYuE,IAAA,CAAChH,aAAA,OACdyC,QAAA,EAAUmF,MAAA,KAAW,kBACpBZ,IAAA,CAACvH,MAAA;QAAOoC,IAAA,EAAK;kBAAQF,CAAA,CAAE;UAExBc,QAAA,EAAUmF,MAAA,GAAS,kBAClBZ,IAAA,CAAC/G,KAAA;QAAMgI,UAAA,EAAW;QAAYC,OAAA,EAASvF,eAAA;QAAiBwF,IAAA,EAAM1F;;;;AAKxE","ignoreList":[]}
@@ -4,9 +4,9 @@ import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import React, { useCallback } from 'react';
6
6
  import { EditIcon } from '../../../../icons/Edit/index.js';
7
- import { useCellProps } from '../../../../providers/TableColumns/RenderDefaultCell/index.js';
8
7
  import { useDocumentDrawer } from '../../../DocumentDrawer/index.js';
9
8
  import { DefaultCell } from '../../../Table/DefaultCell/index.js';
9
+ import { useCellProps } from '../../../TableColumns/RenderDefaultCell/index.js';
10
10
  import './index.scss';
11
11
  export const DrawerLink = props => {
12
12
  const $ = _c(15);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useCallback","EditIcon","useCellProps","useDocumentDrawer","DefaultCell","DrawerLink","props","$","onDrawerDelete","onDrawerDeleteFromProps","onDrawerSave","onDrawerSaveFromProps","cellProps","t0","rowData","id","t1","collectionSlug","t2","DocumentDrawer","DocumentDrawerToggler","t3","closeDrawer","t4","args","t5","args_0","t6","_jsxs","className","children","_jsx","link","onClick","onDelete","onSave"],"sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\n\nimport type { DocumentDrawerProps } from '../../../DocumentDrawer/types.js'\n\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useCellProps } from '../../../../providers/TableColumns/RenderDefaultCell/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport './index.scss'\n\nexport const DrawerLink: React.FC<{\n readonly onDrawerDelete?: DocumentDrawerProps['onDelete']\n readonly onDrawerSave?: DocumentDrawerProps['onSave']\n}> = (props) => {\n const { onDrawerDelete: onDrawerDeleteFromProps, onDrawerSave: onDrawerSaveFromProps } = props\n\n const cellProps = useCellProps()\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id: cellProps?.rowData.id,\n collectionSlug: cellProps?.collectionSlug,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerSaveFromProps === 'function') {\n void onDrawerSaveFromProps(args)\n }\n },\n [closeDrawer, onDrawerSaveFromProps],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerDeleteFromProps === 'function') {\n void onDrawerDeleteFromProps(args)\n }\n },\n [closeDrawer, onDrawerDeleteFromProps],\n )\n\n return (\n <div className=\"drawer-link\">\n <DefaultCell {...cellProps} className=\"drawer-link__cell\" link={false} onClick={null} />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n <DocumentDrawer onDelete={onDrawerDelete} onSave={onDrawerSave} />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAInC,SAASC,QAAQ,QAAQ;AACzB,SAASC,YAAY,QAAQ;AAC7B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,OAAO;AAEP,OAAO,MAAMC,UAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,cAAA,EAAAC,uBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAyFL,KAAA;EAEzF,MAAAM,SAAA,GAAkBV,YAAA;EAGZ,MAAAW,EAAA,GAAAD,SAAA,EAAAE,OAAA,CAAAC,EAAA;EACY,MAAAC,EAAA,GAAAJ,SAAA,EAAAK,cAAA;EAAW,IAAAC,EAAA;EAAA,IAAAX,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAS,EAAA;IAFsDE,EAAA;MAAAH,EAAA,EAC7EF,EAAmB;MAAAI,cAAA,EACPD;IAAW;IAC7BT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAHA,OAAAY,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAiElB,iBAAA,CAAkBe,EAGnF;EAH8C;IAAAI;EAAA,IAAAD,EAAe;EAAA,IAAAE,EAAA;EAAA,IAAAhB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAI,qBAAA;IAM3DY,EAAA,GAAAC,IAAA;MACEF,WAAA;MAAA,IAEI,OAAOX,qBAAA,KAA0B;QAC9BA,qBAAA,CAAsBa,IAAA;MAAA;IAAA;IAE/BjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAI,qBAAA;IAAAJ,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAPF,MAAAG,YAAA,GAAqBa,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAE,uBAAA;IAIpCgB,EAAA,GAAAC,MAAA;MACEJ,WAAA;MAAA,IAEI,OAAOb,uBAAA,KAA4B;QAChCA,uBAAA,CAAwBe,MAAA;MAAA;IAAA;IAEjCjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAE,uBAAA;IAAAF,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAPF,MAAAC,cAAA,GAAuBiB,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,QAAAY,cAAA,IAAAZ,CAAA,SAAAa,qBAAA,IAAAb,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAAG,YAAA;IAItCiB,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAA3B,WAAA;QAAA,GAAiBQ,SAAS;QAAAiB,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAACX,qBAAA;QAAAU,QAAA,EACCC,IAAA,CAAA9B,QAAA,IAAC;MAAA,C,GAEH8B,IAAA,CAACZ,cAAA;QAAAe,QAAA,EAAyB1B,cAAA;QAAA2B,MAAA,EAAwBzB;MAAA,C;;;;;;;;;;;SALpDiB,E;CAQJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useCallback","EditIcon","useDocumentDrawer","DefaultCell","useCellProps","DrawerLink","props","$","onDrawerDelete","onDrawerDeleteFromProps","onDrawerSave","onDrawerSaveFromProps","cellProps","t0","rowData","id","t1","collectionSlug","t2","DocumentDrawer","DocumentDrawerToggler","t3","closeDrawer","t4","args","t5","args_0","t6","_jsxs","className","children","_jsx","link","onClick","onDelete","onSave"],"sources":["../../../../../src/elements/RelationshipTable/cells/DrawerLink/index.tsx"],"sourcesContent":["'use client'\n\nimport React, { useCallback } from 'react'\n\nimport type { DocumentDrawerProps } from '../../../DocumentDrawer/types.js'\n\nimport { EditIcon } from '../../../../icons/Edit/index.js'\nimport { useDocumentDrawer } from '../../../DocumentDrawer/index.js'\nimport { DefaultCell } from '../../../Table/DefaultCell/index.js'\nimport { useCellProps } from '../../../TableColumns/RenderDefaultCell/index.js'\nimport './index.scss'\n\nexport const DrawerLink: React.FC<{\n readonly onDrawerDelete?: DocumentDrawerProps['onDelete']\n readonly onDrawerSave?: DocumentDrawerProps['onSave']\n}> = (props) => {\n const { onDrawerDelete: onDrawerDeleteFromProps, onDrawerSave: onDrawerSaveFromProps } = props\n\n const cellProps = useCellProps()\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer }] = useDocumentDrawer({\n id: cellProps?.rowData.id,\n collectionSlug: cellProps?.collectionSlug,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerSaveFromProps === 'function') {\n void onDrawerSaveFromProps(args)\n }\n },\n [closeDrawer, onDrawerSaveFromProps],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n closeDrawer()\n\n if (typeof onDrawerDeleteFromProps === 'function') {\n void onDrawerDeleteFromProps(args)\n }\n },\n [closeDrawer, onDrawerDeleteFromProps],\n )\n\n return (\n <div className=\"drawer-link\">\n <DefaultCell {...cellProps} className=\"drawer-link__cell\" link={false} onClick={null} />\n <DocumentDrawerToggler>\n <EditIcon />\n </DocumentDrawerToggler>\n <DocumentDrawer onDelete={onDrawerDelete} onSave={onDrawerSave} />\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,IAASC,WAAW,QAAQ;AAInC,SAASC,QAAQ,QAAQ;AACzB,SAASC,iBAAiB,QAAQ;AAClC,SAASC,WAAW,QAAQ;AAC5B,SAASC,YAAY,QAAQ;AAC7B,OAAO;AAEP,OAAO,MAAMC,UAAA,GAGRC,KAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EACH;IAAAU,cAAA,EAAAC,uBAAA;IAAAC,YAAA,EAAAC;EAAA,IAAyFL,KAAA;EAEzF,MAAAM,SAAA,GAAkBR,YAAA;EAGZ,MAAAS,EAAA,GAAAD,SAAA,EAAAE,OAAA,CAAAC,EAAA;EACY,MAAAC,EAAA,GAAAJ,SAAA,EAAAK,cAAA;EAAW,IAAAC,EAAA;EAAA,IAAAX,CAAA,QAAAM,EAAA,IAAAN,CAAA,QAAAS,EAAA;IAFsDE,EAAA;MAAAH,EAAA,EAC7EF,EAAmB;MAAAI,cAAA,EACPD;IAAW;IAC7BT,CAAA,MAAAM,EAAA;IAAAN,CAAA,MAAAS,EAAA;IAAAT,CAAA,MAAAW,EAAA;EAAA;IAAAA,EAAA,GAAAX,CAAA;EAAA;EAHA,OAAAY,cAAA,EAAAC,qBAAA,EAAAC,EAAA,IAAiEnB,iBAAA,CAAkBgB,EAGnF;EAH8C;IAAAI;EAAA,IAAAD,EAAe;EAAA,IAAAE,EAAA;EAAA,IAAAhB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAI,qBAAA;IAM3DY,EAAA,GAAAC,IAAA;MACEF,WAAA;MAAA,IAEI,OAAOX,qBAAA,KAA0B;QAC9BA,qBAAA,CAAsBa,IAAA;MAAA;IAAA;IAE/BjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAI,qBAAA;IAAAJ,CAAA,MAAAgB,EAAA;EAAA;IAAAA,EAAA,GAAAhB,CAAA;EAAA;EAPF,MAAAG,YAAA,GAAqBa,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAAlB,CAAA,QAAAe,WAAA,IAAAf,CAAA,QAAAE,uBAAA;IAIpCgB,EAAA,GAAAC,MAAA;MACEJ,WAAA;MAAA,IAEI,OAAOb,uBAAA,KAA4B;QAChCA,uBAAA,CAAwBe,MAAA;MAAA;IAAA;IAEjCjB,CAAA,MAAAe,WAAA;IAAAf,CAAA,MAAAE,uBAAA;IAAAF,CAAA,MAAAkB,EAAA;EAAA;IAAAA,EAAA,GAAAlB,CAAA;EAAA;EAPF,MAAAC,cAAA,GAAuBiB,EAQiB;EAAA,IAAAE,EAAA;EAAA,IAAApB,CAAA,QAAAY,cAAA,IAAAZ,CAAA,SAAAa,qBAAA,IAAAb,CAAA,SAAAK,SAAA,IAAAL,CAAA,SAAAC,cAAA,IAAAD,CAAA,SAAAG,YAAA;IAItCiB,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAA5B,WAAA;QAAA,GAAiBS,SAAS;QAAAiB,SAAA,EAAY;QAAAG,IAAA;QAAAC,OAAA;MAAA,C,GACtCF,IAAA,CAACX,qBAAA;QAAAU,QAAA,EACCC,IAAA,CAAA9B,QAAA,IAAC;MAAA,C,GAEH8B,IAAA,CAACZ,cAAA;QAAAe,QAAA,EAAyB1B,cAAA;QAAA2B,MAAA,EAAwBzB;MAAA,C;;;;;;;;;;;SALpDiB,E;CAQJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAqD,MAAM,OAAO,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAoBrE,OAAO,cAAc,CAAA;AAIrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAmTvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAqD,MAAM,OAAO,CAAA;AAEzE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAcrE,OAAO,cAAc,CAAA;AAWrB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAmTvE,CAAA"}
@@ -2,7 +2,7 @@
2
2
 
3
3
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
4
  import { getTranslation } from '@payloadcms/translations';
5
- import { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared';
5
+ import { transformColumnsToPreferences } from 'payload/shared';
6
6
  import React, { Fragment, useCallback, useEffect, useState } from 'react';
7
7
  import { Button } from '../../elements/Button/index.js';
8
8
  import { Pill } from '../../elements/Pill/index.js';
@@ -13,16 +13,17 @@ import { useAuth } from '../../providers/Auth/index.js';
13
13
  import { useConfig } from '../../providers/Config/index.js';
14
14
  import { ListQueryProvider } from '../../providers/ListQuery/index.js';
15
15
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
16
- import { TableColumnsProvider } from '../../providers/TableColumns/index.js';
17
16
  import { useTranslation } from '../../providers/Translation/index.js';
17
+ import { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js';
18
18
  import { AnimateHeight } from '../AnimateHeight/index.js';
19
+ import './index.scss';
19
20
  import { ColumnSelector } from '../ColumnSelector/index.js';
20
21
  import { useDocumentDrawer } from '../DocumentDrawer/index.js';
21
22
  import { Popup, PopupList } from '../Popup/index.js';
22
23
  import { RelationshipProvider } from '../Table/RelationshipProvider/index.js';
24
+ import { TableColumnsProvider } from '../TableColumns/index.js';
23
25
  import { DrawerLink } from './cells/DrawerLink/index.js';
24
26
  import { RelationshipTablePagination } from './Pagination.js';
25
- import './index.scss';
26
27
  const baseClass = 'relationship-table';
27
28
  export const RelationshipTable = props => {
28
29
  const {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useState","Button","Pill","useEffectEvent","ChevronIcon","PlusIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","AnimateHeight","ColumnSelector","useDocumentDrawer","Popup","PopupList","RelationshipProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","selectedCollection","setSelectedCollection","undefined","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","handleTableRender","DocumentDrawer","DocumentDrawerToggler","closeDrawer","isDrawerOpen","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","canCreate","collections","create","_jsxs","className","_jsx","button","buttonStyle","buttonType","horizontalAlign","render","close","closePopup","ButtonGroup","relatedCollection","onClick","find","each","slug","labels","singular","size","icon","direction","pillStyle","length","label","plural","modifySearchParams","onQueryChange","LinkedCellOverride","height","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.scss'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const [selectedCollection, setSelectedCollection] = useState(\n Array.isArray(relationTo) ? undefined : relationTo,\n )\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit),\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n docs,\n enableRowSelections: false,\n parent,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, isDrawerOpen, openDrawer }] =\n useDocumentDrawer({\n collectionSlug: selectedCollection,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data?.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data?.docs, renderTable],\n )\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[Array.isArray(relationTo) ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (Array.isArray(relationTo) && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, relationTo])\n\n useEffect(() => {\n if (Array.isArray(relationTo) && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {!Array.isArray(relationTo) && canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n\n {Array.isArray(relationTo) && (\n <Fragment>\n <Popup\n button={\n <Button buttonStyle=\"none\" className={`${baseClass}__add-new-polymorphic`}>\n {i18n.t('fields:addNew')}\n <PlusIcon />\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection)\n }}\n >\n {getTranslation(\n config.collections.find((each) => each.slug === relatedCollection)\n .labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n </Fragment>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: Array.isArray(relationTo)\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n columns={transformColumnsToPreferences(columnState)}\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n >\n <TableColumnsProvider\n collectionSlug={Array.isArray(relationTo) ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n {collectionConfig && (\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n )}\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"AAAA;;;AACA,SAASA,cAAc,QAAQ;AAS/B,SAASC,qBAAqB,EAAEC,6BAA6B,QAAQ;AACrE,OAAOC,KAAA,IAASC,QAAQ,EAAEC,WAAW,EAAEC,SAAS,EAAEC,QAAQ,QAAQ;AAIlE,SAASC,MAAM,QAAQ;AACvB,SAASC,IAAI,QAAQ;AACrB,SAASC,cAAc,QAAQ;AAC/B,SAASC,WAAW,QAAQ;AAC5B,SAASC,QAAQ,QAAQ;AACzB,SAASC,OAAO,QAAQ;AACxB,SAASC,SAAS,QAAQ;AAC1B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,kBAAkB,QAAQ;AACnC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,cAAc,QAAQ;AAC/B,SAASC,aAAa,QAAQ;AAC9B,SAASC,cAAc,QAAQ;AAC/B,SAASC,iBAAiB,QAAQ;AAClC,SAASC,KAAK,EAAEC,SAAS,QAAQ;AACjC,SAASC,oBAAoB,QAAQ;AACrC,SAASC,UAAU,QAAQ;AAC3B,SAASC,2BAA2B,QAAQ;AAC5C,OAAO;AAEP,MAAMC,SAAA,GAAY;AAoBlB,OAAO,MAAMC,iBAAA,GAAgEC,KAAA;EAC3E,MAAM;IACJC,UAAU;IACVC,WAAA,GAAc,IAAI;IAClBC,WAAW;IACXC,YAAA,GAAe,KAAK;IACpBC,KAAK;IACLC,aAAa;IACbC,WAAA,EAAaC,oBAAoB;IACjCC,iBAAiB;IACjBC,KAAK;IACLC,MAAM;IACNC;EAAU,CACX,GAAGZ,KAAA;EACJ,MAAM,CAACa,KAAA,EAAOC,QAAA,CAAS,GAAGpC,QAAA,CAA0B;EACpD,MAAM;IAAEqC,MAAM;IAAEC;EAAe,CAAE,GAAG/B,SAAA;EAEpC,MAAM;IAAEgC;EAAW,CAAE,GAAGjC,OAAA;EAExB,MAAM,CAACuB,WAAA,CAAY,GAAG7B,QAAA,CAAwB;IAC5C,IAAI8B,oBAAA,EAAsB;MACxB,OAAO;QACL,GAAGA,oBAAoB;QACvBU,IAAA,EAAMC,KAAA,CAAMC,OAAO,CAACZ,oBAAA,CAAqBU,IAAI,IACzCV,oBAAA,CAAqBU,IAAI,CAACG,MAAM,CAAC,CAACC,GAAA,EAAKC,GAAA;UACrC,IAAI,OAAOA,GAAA,KAAQ,UAAU;YAC3B,OAAO,C,GACFD,GAAA,EACH;cACEE,EAAA,EAAID;YACN,EACD;UACH;UACA,OAAO,C,GAAID,GAAA,EAAKC,GAAA,CAAI;QACtB,GAAG,EAAE,IACL;MACN;IACF;EACF;EAEA,MAAM;IAAEE,IAAI;IAAEC;EAAC,CAAE,GAAGrC,cAAA;EAEpB,MAAM,CAACsC,KAAA,EAAOC,QAAA,CAAS,GAAGlD,QAAA;EAC1B,MAAM,CAACmD,kBAAA,EAAoBC,qBAAA,CAAsB,GAAGpD,QAAA,CAAS;EAE7D,MAAM,CAACqD,gBAAA,CAAiB,GAAGrD,QAAA,CAAS,MAAMsC,eAAA,CAAgB;IAAEgB,cAAA,EAAgBpB;EAAW;EAEvF,MAAM,CAACqB,kBAAA,EAAoBC,qBAAA,CAAsB,GAAGxD,QAAA,CAClDyC,KAAA,CAAMC,OAAO,CAACR,UAAA,IAAcuB,SAAA,GAAYvB,UAAA;EAE1C,MAAM,CAACwB,cAAA,EAAgBC,iBAAA,CAAkB,GAAG3D,QAAA,CAAS,CAAC0B,YAAA;EACtD,MAAM,CAACkC,IAAA,EAAMC,OAAA,CAAQ,GAAG7D,QAAA,CAAwB6B,WAAA;EAChD,MAAM,CAACiC,WAAA,EAAaC,cAAA,CAAe,GAAG/D,QAAA;EAEtC,MAAM;IAAEgE;EAAa,CAAE,GAAGvD,kBAAA;EAE1B,MAAMwD,WAAA,GAAcnE,WAAA,CAClB,MAAO0C,IAAA;IACL,MAAM0B,QAAA,GAAsB;MAC1BC,KAAA,EAAOC,MAAA,CAAOzC,KAAA,EAAO0C,YAAA,IAAgBhB,gBAAA,EAAkBiB,KAAA,EAAOC,UAAA,EAAYF,YAAA;MAC1EG,IAAA,EAAM7C,KAAA,CAAM8C,WAAW,IAAIpB,gBAAA,EAAkBoB,WAAA;MAC7C,IAAIxB,KAAA,IAAS,CAAC,CAAC;MACfyB,KAAA,EAAO;QAAE,IAAIzB,KAAA,EAAOyB,KAAA,IAAS,CAAC,CAAC;MAAE;IACnC;IAEA,IAAI9C,aAAA,EAAe;MACjBsC,QAAA,CAASQ,KAAK,GAAGhF,qBAAA,CAAsBwE,QAAA,CAASQ,KAAK,EAAE9C,aAAA;IACzD;IAEA;IACA,MAAM+C,cAAA,GAAiBhD,KAAA,CAAM2C,KAAK,CAACK,cAAc,GAC7ChD,KAAA,CAAM2C,KAAK,CAACK,cAAc,CAACC,GAAG,CAAEC,QAAA,KAAc;MAC5CA,QAAA;MACAC,MAAA,EAAQ;IACV,MACArB,SAAA;IAEJ,MAAM;MACJG,IAAA,EAAMmB,OAAO;MACbC,KAAA,EAAOC,cAAc;MACrB9C,KAAA,EAAO+C;IAAQ,CAChB,GAAG,MAAMlB,aAAA,CAAc;MACtBV,cAAA,EAAgBpB,UAAA;MAChBiD,OAAA,EAASxF,6BAAA,CAA8BsD,KAAA,EAAOkC,OAAA,KAAYR,cAAA;MAC1DnC,IAAA;MACA4C,mBAAA,EAAqB;MACrBnD,MAAA;MACAgB,KAAA,EAAOiB,QAAA;MACPmB,cAAA,EAAgB;MAChBC,eAAA,EAAiB;IACnB;IAEAzB,OAAA,CAAQkB,OAAA;IACR3C,QAAA,CAAS8C,QAAA;IACTnB,cAAA,CAAekB,cAAA;IACftB,iBAAA,CAAkB;EACpB,GACA,CACEhC,KAAA,CAAM0C,YAAY,EAClB1C,KAAA,CAAM8C,WAAW,EACjBpB,gBAAA,EAAkBiB,KAAA,EAAOC,UAAA,EAAYF,YAAA,EACrChB,gBAAA,EAAkBoB,WAAA,EAClBxB,KAAA,EACArB,aAAA,EACAoC,aAAA,EACA9B,UAAA,EACAD,MAAA,CACD;EAGH,MAAMsD,iBAAA,GAAoBpF,cAAA,CAAe,CAAC8C,KAAA,EAAkBvB,YAAA;IAC1D,IAAI,CAACA,YAAA,KAAiB,CAACS,KAAA,IAASc,KAAI,GAAI;MACtC,KAAKgB,WAAA;IACP;EACF;EAEAlE,SAAA,CAAU;IACRwF,iBAAA,CAAkBtC,KAAA,EAAOvB,YAAA;EAC3B,GAAG,CAACuB,KAAA,EAAOvB,YAAA,CAAa;EAExB,MAAM,CAAC8D,cAAA,EAAgBC,qBAAA,EAAuB;IAAEC,WAAW;IAAEC,YAAY;IAAEC;EAAU,CAAE,CAAC,GACtF9E,iBAAA,CAAkB;IAChBwC,cAAA,EAAgBC;EAClB;EAEF,MAAMsC,YAAA,GAAe/F,WAAA,CAClBgG,IAAA;IACC,MAAMC,aAAA,GAAgBnC,IAAA,EAAMpB,IAAA,EAAMwD,SAAA,CAAWnD,GAAA,IAAQA,GAAA,CAAIC,EAAE,KAAKgD,IAAA,CAAKjD,GAAG,CAACC,EAAE;IAC3E,IAAImD,mBAAA,GAA6CxC,SAAA;IAEjD,IAAIsC,aAAA,KAAkB,CAAC,GAAG;MACxB,MAAMG,OAAA,GAAU,C,GAAItC,IAAA,CAAKpB,IAAI,CAAC;MAC9B0D,OAAO,CAACH,aAAA,CAAc,GAAGD,IAAA,CAAKjD,GAAG;MACjCoD,mBAAA,GAAsBC,OAAA;IACxB,OAAO;MACLD,mBAAA,GAAsB,CAACH,IAAA,CAAKjD,GAAG,E,GAAKe,IAAA,CAAKpB,IAAI,CAAC;IAChD;IAEA,KAAKyB,WAAA,CAAYgC,mBAAA;EACnB,GACA,CAACrC,IAAA,EAAMpB,IAAA,EAAMyB,WAAA,CAAY;EAG3B,MAAMkC,cAAA,GAAiBrG,WAAA,CACpBgG,IAAA;IACCJ,WAAA;IAEA,KAAKG,YAAA,CAAaC,IAAA;EACpB,GACA,CAACJ,WAAA,EAAaG,YAAA,CAAa;EAG7B,MAAMO,cAAA,GAAiBtG,WAAA,CACpBgG,IAAA;IACC,MAAMI,OAAA,GAAUtC,IAAA,CAAKpB,IAAI,CAAC6D,MAAM,CAAExD,GAAA,IAAQA,GAAA,CAAIC,EAAE,KAAKgD,IAAA,CAAKhD,EAAE;IAC5D,KAAKmB,WAAA,CAAYiC,OAAA;EACnB,GACA,CAACtC,IAAA,EAAMpB,IAAA,EAAMyB,WAAA,CAAY;EAG3B,MAAMqC,SAAA,GACJ9E,WAAA,KAAgB,SAChBe,WAAA,EAAagE,WAAA,GAAc9D,KAAA,CAAMC,OAAO,CAACR,UAAA,IAAcA,UAAU,CAAC,EAAE,GAAGA,UAAA,CAAW,EAAEsE,MAAA;EAEtFzG,SAAA,CAAU;IACR,IAAI0C,KAAA,CAAMC,OAAO,CAACR,UAAA,KAAeqB,kBAAA,EAAoB;MACnDqC,UAAA;IACF;EACF,GAAG,CAACrC,kBAAA,EAAoBqC,UAAA,EAAY1D,UAAA,CAAW;EAE/CnC,SAAA,CAAU;IACR,IAAI0C,KAAA,CAAMC,OAAO,CAACR,UAAA,KAAe,CAACyD,YAAA,IAAgBpC,kBAAA,EAAoB;MACpEC,qBAAA,CAAsBC,SAAA;IACxB;IACA;EACF,GAAG,CAACkC,YAAA,CAAa;EAEjB,oBACEc,KAAA,CAAC;IAAIC,SAAA,EAAWtF,SAAA;4BACdqF,KAAA,CAAC;MAAIC,SAAA,EAAW,GAAGtF,SAAA,UAAmB;iBACnCY,KAAA,E,aACDyE,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGtF,SAAA,WAAoB;mBACpC,CAACqB,KAAA,CAAMC,OAAO,CAACR,UAAA,KAAeoE,SAAA,iBAC7BK,IAAA,CAAClB,qBAAA;UAAsBiB,SAAA,EAAW,GAAGtF,SAAA,WAAoB;oBACtD2B,IAAA,CAAKC,CAAC,CAAC;YAIXP,KAAA,CAAMC,OAAO,CAACR,UAAA,kBACbyE,IAAA,CAAC9G,QAAA;oBACC,aAAA8G,IAAA,CAAC5F,KAAA;YACC6F,MAAA,eACEH,KAAA,CAACxG,MAAA;cAAO4G,WAAA,EAAY;cAAOH,SAAA,EAAW,GAAGtF,SAAA,uBAAgC;yBACtE2B,IAAA,CAAKC,CAAC,CAAC,kB,aACR2D,IAAA,CAACtG,QAAA;;YAGLyG,UAAA,EAAW;YACXC,eAAA,EAAgB;YAChBC,MAAA,EAAQA,CAAC;cAAEC,KAAA,EAAOC;YAAU,CAAE,kBAC5BP,IAAA,CAAC3F,SAAA,CAAUmG,WAAW;wBACnBjF,UAAA,CAAW0C,GAAG,CAAEwC,iBAAA;gBACf,IAAI7E,WAAA,CAAYgE,WAAW,CAACa,iBAAA,CAAkB,CAACZ,MAAM,EAAE;kBACrD,oBACEG,IAAA,CAAC3F,SAAA,CAAUf,MAAM;oBACfyG,SAAA,EAAW,GAAGtF,SAAA,sBAA+BgG,iBAAA,EAAmB;oBAEhEC,OAAA,EAASA,CAAA;sBACPH,UAAA;sBACA1D,qBAAA,CAAsB4D,iBAAA;oBACxB;8BAEC3H,cAAA,CACC4C,MAAA,CAAOkE,WAAW,CAACe,IAAI,CAAEC,IAAA,IAASA,IAAA,CAAKC,IAAI,KAAKJ,iBAAA,EAC7CK,MAAM,CAACC,QAAQ,EAClB3E,IAAA;qBATGqE,iBAAA;gBAaX;gBAEA,OAAO;cACT;;YAGJO,IAAA,EAAK;;yBAIXhB,IAAA,CAACzG,IAAA;UACC,iBAAe,GAAGkB,SAAA,UAAmB;UACrC,iBAAe+B,kBAAA;UACfuD,SAAA,EAAW,GAAGtF,SAAA,oBACZ+B,kBAAA,GAAqB,GAAG/B,SAAA,kBAA2B,GAAG,IACtD;UACFwG,IAAA,eAAMjB,IAAA,CAACvG,WAAA;YAAYyH,SAAA,EAAW1E,kBAAA,GAAqB,OAAO;;UAC1DkE,OAAA,EAASA,CAAA,KAAMjE,qBAAA,CAAsB,CAACD,kBAAA;UACtC2E,SAAA,EAAU;oBAET9E,CAAA,CAAE;;;QAIRvB,WAAA,EACAiC,cAAA,gBACCiD,IAAA,CAAC;gBAAG3D,CAAA,CAAE;sBAENyD,KAAA,CAAC5G,QAAA;iBACE+D,IAAA,EAAMpB,IAAA,IAAQoB,IAAA,CAAKpB,IAAI,CAACuF,MAAM,KAAK,kBAClCtB,KAAA,CAAC;QAAIC,SAAA,EAAW,GAAGtF,SAAA,cAAuB;gCACxCuF,IAAA,CAAC;oBACE5D,IAAA,CAAKC,CAAC,CAAC,qBAAqB;YAC3BgF,KAAA,EAAOvF,KAAA,CAAMC,OAAO,CAACR,UAAA,IACjBa,IAAA,CAAKC,CAAC,CAAC,uBACPvD,cAAA,CAAe4D,gBAAA,EAAkBoE,MAAA,EAAQQ,MAAA,EAAQlF,IAAA;UACvD;YAEDuD,SAAA,iBACCK,IAAA,CAAC1G,MAAA;UAAOoH,OAAA,EAASzB,UAAA;oBACd7C,IAAA,CAAKC,CAAC,CAAC,0BAA0B;YAChCgF,KAAA,EAAOvI,cAAA,CAAe4D,gBAAA,EAAkBoE,MAAA,EAAQC,QAAA,EAAU3E,IAAA;UAC5D;;UAKPa,IAAA,EAAMpB,IAAA,IAAQoB,IAAA,CAAKpB,IAAI,CAACuF,MAAM,GAAG,kBAChCpB,IAAA,CAAC1F,oBAAA;kBACC,aAAA0F,IAAA,CAACnG,iBAAA;UACC2E,OAAA,EAASxF,6BAAA,CAA8BmE,WAAA;UACvCF,IAAA,EAAMA,IAAA;UACNS,YAAA,EACE1C,KAAA,CAAM0C,YAAY,IAAIhB,gBAAA,EAAkBiB,KAAA,EAAOC,UAAA,EAAYF,YAAA;UAE7D6D,kBAAA,EAAoB;UACpBC,aAAA,EAAejF,QAAA;oBAEf,aAAAuD,KAAA,CAAC/F,oBAAA;YACC4C,cAAA,EAAgBb,KAAA,CAAMC,OAAO,CAACR,UAAA,IAAcA,UAAU,CAAC,EAAE,GAAGA,UAAA;YAC5D4B,WAAA,EAAaA,WAAA;YACbsE,kBAAA,eACEzB,IAAA,CAACzF,UAAA;cAAWkF,cAAA,EAAgBA,cAAA;cAAgBP,YAAA,EAAcA;;oCAG5Dc,IAAA,CAAC/F,aAAA;cACC8F,SAAA,EAAW,GAAGtF,SAAA,WAAoB;cAClCiH,MAAA,EAAQlF,kBAAA,GAAqB,SAAS;cACtCL,EAAA,EAAI,GAAG1B,SAAA,UAAmB;wBAE1B,aAAAuF,IAAA,CAAC;gBAAID,SAAA,EAAW,GAAGtF,SAAA,iBAA0B;0BAC1CiC,gBAAA,iBACCsD,IAAA,CAAC9F,cAAA;kBAAeyC,cAAA,EAAgBD,gBAAA,CAAiBmE;;;gBAItDrF,KAAA,E,aACDwE,IAAA,CAACxF,2BAAA;;;;QAOZI,UAAA,E,aACDoF,IAAA,CAACnB,cAAA;MAAe3D,WAAA,EAAaE,iBAAA;MAAmBuG,MAAA,EAAQnC;;;AAG9D","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useState","Button","Pill","useEffectEvent","ChevronIcon","PlusIcon","useAuth","useConfig","ListQueryProvider","useServerFunctions","useTranslation","hoistQueryParamsToAnd","AnimateHeight","ColumnSelector","useDocumentDrawer","Popup","PopupList","RelationshipProvider","TableColumnsProvider","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","permissions","docs","Array","isArray","reduce","acc","doc","id","i18n","t","query","setQuery","openColumnSelector","setOpenColumnSelector","collectionConfig","collectionSlug","selectedCollection","setSelectedCollection","undefined","isLoadingTable","setIsLoadingTable","data","setData","columnState","setColumnState","getTableState","renderTable","newQuery","limit","String","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","newData","state","newColumnState","NewTable","columns","enableRowSelections","renderRowTypes","tableAppearance","handleTableRender","DocumentDrawer","DocumentDrawerToggler","closeDrawer","isDrawerOpen","openDrawer","onDrawerSave","args","foundDocIndex","findIndex","withNewOrUpdatedDoc","newDocs","onDrawerCreate","onDrawerDelete","filter","canCreate","collections","create","_jsxs","className","_jsx","button","buttonStyle","buttonType","horizontalAlign","render","close","closePopup","ButtonGroup","relatedCollection","onClick","find","each","slug","labels","singular","size","icon","direction","pillStyle","length","label","plural","modifySearchParams","onQueryChange","LinkedCellOverride","height","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { Pill } from '../../elements/Pill/index.js'\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { PlusIcon } from '../../icons/Plus/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { hoistQueryParamsToAnd } from '../../utilities/mergeListSearchAndWhere.js'\nimport { AnimateHeight } from '../AnimateHeight/index.js'\nimport './index.scss'\nimport { ColumnSelector } from '../ColumnSelector/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { Popup, PopupList } from '../Popup/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { TableColumnsProvider } from '../TableColumns/index.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n\n const { permissions } = useAuth()\n\n const [initialData] = useState<PaginatedDocs>(() => {\n if (initialDataFromProps) {\n return {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n return [...acc, doc]\n }, [])\n : [],\n }\n }\n })\n\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n const [openColumnSelector, setOpenColumnSelector] = useState(false)\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const [selectedCollection, setSelectedCollection] = useState(\n Array.isArray(relationTo) ? undefined : relationTo,\n )\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n const [data, setData] = useState<PaginatedDocs>(initialData)\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (docs?: PaginatedDocs['docs']) => {\n const newQuery: ListQuery = {\n limit: String(field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit),\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to ListPreferences['columns']\n const defaultColumns = field.admin.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n docs,\n enableRowSelections: false,\n parent,\n query: newQuery,\n renderRowTypes: true,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const [DocumentDrawer, DocumentDrawerToggler, { closeDrawer, isDrawerOpen, openDrawer }] =\n useDocumentDrawer({\n collectionSlug: selectedCollection,\n })\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n const foundDocIndex = data?.docs?.findIndex((doc) => doc.id === args.doc.id)\n let withNewOrUpdatedDoc: PaginatedDocs['docs'] = undefined\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = args.doc\n withNewOrUpdatedDoc = newDocs\n } else {\n withNewOrUpdatedDoc = [args.doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedDoc)\n },\n [data?.docs, renderTable],\n )\n\n const onDrawerCreate = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n closeDrawer()\n\n void onDrawerSave(args)\n },\n [closeDrawer, onDrawerSave],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n void renderTable(newDocs)\n },\n [data?.docs, renderTable],\n )\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[Array.isArray(relationTo) ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (Array.isArray(relationTo) && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, relationTo])\n\n useEffect(() => {\n if (Array.isArray(relationTo) && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {!Array.isArray(relationTo) && canCreate && (\n <DocumentDrawerToggler className={`${baseClass}__add-new`}>\n {i18n.t('fields:addNew')}\n </DocumentDrawerToggler>\n )}\n\n {Array.isArray(relationTo) && (\n <Fragment>\n <Popup\n button={\n <Button buttonStyle=\"none\" className={`${baseClass}__add-new-polymorphic`}>\n {i18n.t('fields:addNew')}\n <PlusIcon />\n </Button>\n }\n buttonType=\"custom\"\n horizontalAlign=\"center\"\n render={({ close: closePopup }) => (\n <PopupList.ButtonGroup>\n {relationTo.map((relatedCollection) => {\n if (permissions.collections[relatedCollection].create) {\n return (\n <PopupList.Button\n className={`${baseClass}__relation-button--${relatedCollection}`}\n key={relatedCollection}\n onClick={() => {\n closePopup()\n setSelectedCollection(relatedCollection)\n }}\n >\n {getTranslation(\n config.collections.find((each) => each.slug === relatedCollection)\n .labels.singular,\n i18n,\n )}\n </PopupList.Button>\n )\n }\n\n return null\n })}\n </PopupList.ButtonGroup>\n )}\n size=\"medium\"\n />\n </Fragment>\n )}\n <Pill\n aria-controls={`${baseClass}-columns`}\n aria-expanded={openColumnSelector}\n className={`${baseClass}__toggle-columns ${\n openColumnSelector ? `${baseClass}__buttons-active` : ''\n }`}\n icon={<ChevronIcon direction={openColumnSelector ? 'up' : 'down'} />}\n onClick={() => setOpenColumnSelector(!openColumnSelector)}\n pillStyle=\"light\"\n >\n {t('general:columns')}\n </Pill>\n </div>\n </div>\n {BeforeInput}\n {isLoadingTable ? (\n <p>{t('general:loading')}</p>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <div className={`${baseClass}__no-results`}>\n <p>\n {i18n.t('general:noResults', {\n label: Array.isArray(relationTo)\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n </p>\n {canCreate && (\n <Button onClick={openDrawer}>\n {i18n.t('general:createNewLabel', {\n label: getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n </Button>\n )}\n </div>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n columns={transformColumnsToPreferences(columnState)}\n data={data}\n defaultLimit={\n field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit\n }\n modifySearchParams={false}\n onQueryChange={setQuery}\n >\n <TableColumnsProvider\n collectionSlug={Array.isArray(relationTo) ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink onDrawerDelete={onDrawerDelete} onDrawerSave={onDrawerSave} />\n }\n >\n <AnimateHeight\n className={`${baseClass}__columns`}\n height={openColumnSelector ? 'auto' : 0}\n id={`${baseClass}-columns`}\n >\n <div className={`${baseClass}__columns-inner`}>\n {collectionConfig && (\n <ColumnSelector collectionSlug={collectionConfig.slug} />\n )}\n </div>\n </AnimateHeight>\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer initialData={initialDrawerData} onSave={onDrawerCreate} />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAAuC,MAAM,OAAO,CAAA;AAE3D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,eAAO,MAAM,UAAU,QAAO,WAA2B,CAAA;AAEzD,eAAO,MAAM,OAAO,4BAAmC,CAAA;AAEvD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAapE,CAAA"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/context.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8C,MAAM,OAAO,CAAA;AAElE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAA;AAE7C,eAAO,MAAM,UAAU,QAAO,WAAkC,CAAA;AAEhE,eAAO,MAAM,OAAO,4BAAmC,CAAA;AAEvD,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAapE,CAAA"}
@@ -2,8 +2,10 @@
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
4
  import { jsx as _jsx } from "react/jsx-runtime";
5
- import React, { createContext, use, useState } from 'react';
6
- export const useStepNav = () => use(Context);
5
+ import React, { createContext, useContext, useState } from 'react';
6
+ export const useStepNav = () => {
7
+ return useContext(Context);
8
+ };
7
9
  export const Context = /*#__PURE__*/createContext({});
8
10
  export const StepNavProvider = t0 => {
9
11
  const $ = _c(4);
@@ -20,7 +22,7 @@ export const StepNavProvider = t0 => {
20
22
  const [stepNav, setStepNav] = useState(t1);
21
23
  let t2;
22
24
  if ($[1] !== children || $[2] !== stepNav) {
23
- t2 = _jsx(Context, {
25
+ t2 = _jsx(Context.Provider, {
24
26
  value: {
25
27
  setStepNav,
26
28
  stepNav
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","names":["c","_c","React","createContext","use","useState","useStepNav","Context","StepNavProvider","t0","$","children","t1","Symbol","for","stepNav","setStepNav","t2","_jsx","value"],"sources":["../../../src/elements/StepNav/context.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, use, useState } from 'react'\n\nimport type { ContextType } from './types.js'\n\nexport const useStepNav = (): ContextType => use(Context)\n\nexport const Context = createContext({} as ContextType)\n\nexport const StepNavProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const [stepNav, setStepNav] = useState([])\n\n return (\n <Context\n value={{\n setStepNav,\n stepNav,\n }}\n >\n {children}\n </Context>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,GAAG,EAAEC,QAAQ,QAAQ;AAIpD,OAAO,MAAMC,UAAA,GAAaA,CAAA,KAAmBF,GAAA,CAAIG,OAAA;AAEjD,OAAO,MAAMA,OAAA,gBAAUJ,aAAA,CAAc,CAAC;AAEtC,OAAO,MAAMK,eAAA,GAA4DC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAY;EAAA,IAAAG,EAAA;EAAA,IAAAF,CAAA,QAAAG,MAAA,CAAAC,GAAA;IAC7CF,EAAA;IAAEF,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAAzC,OAAAK,OAAA,EAAAC,UAAA,IAA8BX,QAAA,CAASO,EAAE;EAAA,IAAAK,EAAA;EAAA,IAAAP,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAK,OAAA;IAGvCE,EAAA,GAAAC,IAAA,CAAAX,OAAA;MAAAY,KAAA;QAAAH,UAAA;QAAAD;MAAA;MAAAJ;IAAA,C;;;;;;;SAAAM,E;CASJ","ignoreList":[]}
1
+ {"version":3,"file":"context.js","names":["c","_c","React","createContext","useContext","useState","useStepNav","Context","StepNavProvider","t0","$","children","t1","Symbol","for","stepNav","setStepNav","t2","_jsx","Provider","value"],"sources":["../../../src/elements/StepNav/context.tsx"],"sourcesContent":["'use client'\nimport React, { createContext, useContext, useState } from 'react'\n\nimport type { ContextType } from './types.js'\n\nexport const useStepNav = (): ContextType => useContext(Context)\n\nexport const Context = createContext({} as ContextType)\n\nexport const StepNavProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const [stepNav, setStepNav] = useState([])\n\n return (\n <Context.Provider\n value={{\n setStepNav,\n stepNav,\n }}\n >\n {children}\n </Context.Provider>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AACA,OAAOC,KAAA,IAASC,aAAa,EAAEC,UAAU,EAAEC,QAAQ,QAAQ;AAI3D,OAAO,MAAMC,UAAA,GAAaA,CAAA;EAAA,OAAmBF,UAAA,CAAAG,OAAW;AAAA;AAExD,OAAO,MAAMA,OAAA,gBAAUJ,aAAA,CAAc,CAAC;AAEtC,OAAO,MAAMK,eAAA,GAA4DC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU;EAAA,IAAAF,EAAY;EAAA,IAAAG,EAAA;EAAA,IAAAF,CAAA,QAAAG,MAAA,CAAAC,GAAA;IAC7CF,EAAA;IAAEF,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAAzC,OAAAK,OAAA,EAAAC,UAAA,IAA8BX,QAAA,CAASO,EAAE;EAAA,IAAAK,EAAA;EAAA,IAAAP,CAAA,QAAAC,QAAA,IAAAD,CAAA,QAAAK,OAAA;IAGvCE,EAAA,GAAAC,IAAA,CAAAX,OAAA,CAAAY,QAAA;MAAAC,KAAA;QAAAJ,UAAA;QAAAD;MAAA;MAAAJ;IAAA,C;;;;;;;SAAAM,E;CASJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAOrB,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,eAAe,GAAG,iBAAiB,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;CAClD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CAyE5C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,sBAAsB,EACtB,yBAAyB,EACzB,eAAe,EACf,iBAAiB,EAClB,MAAM,SAAS,CAAA;AAEhB,OAAO,KAAK,MAAM,OAAO,CAAA;AAGzB,OAAO,cAAc,CAAA;AAIrB,MAAM,WAAW,aACf,SAAQ,yBAAyB,CAAC,eAAe,GAAG,iBAAiB,CAAC;IACtE,QAAQ,CAAC,gBAAgB,EAAE,sBAAsB,CAAA;CAClD;AAED,eAAO,MAAM,QAAQ,EAAE,KAAK,CAAC,EAAE,CAAC,aAAa,CA6B5C,CAAA"}
@@ -5,8 +5,6 @@ import React from 'react';
5
5
  import { Thumbnail } from '../../../../Thumbnail/index.js';
6
6
  import './index.scss';
7
7
  const baseClass = 'file';
8
- const targetThumbnailSizeMin = 40;
9
- const targetThumbnailSizeMax = 180;
10
8
  export const FileCell = ({
11
9
  cellData: filename,
12
10
  collectionConfig,
@@ -16,27 +14,6 @@ export const FileCell = ({
16
14
  const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined;
17
15
  const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true;
18
16
  if (previewAllowed) {
19
- let fileSrc = rowData?.thumbnailURL ?? rowData?.url;
20
- if (rowData?.url && !rowData?.thumbnailURL && typeof rowData?.mimeType === 'string' && rowData?.mimeType.startsWith('image') && rowData?.sizes) {
21
- const sizes = Object.values(rowData.sizes);
22
- const bestFit = sizes.reduce((closest, current) => {
23
- if (!current.width || current.width < targetThumbnailSizeMin) {
24
- return closest;
25
- }
26
- if (current.width >= targetThumbnailSizeMin && current.width <= targetThumbnailSizeMax) {
27
- return !closest.width || current.width < closest.width || closest.width < targetThumbnailSizeMin || closest.width > targetThumbnailSizeMax ? current : closest;
28
- }
29
- if (!closest.width || !closest.original && closest.width < targetThumbnailSizeMin && current.width > closest.width || closest.width > targetThumbnailSizeMax && current.width < closest.width) {
30
- return current;
31
- }
32
- return closest;
33
- }, {
34
- original: true,
35
- url: rowData?.url,
36
- width: rowData?.width
37
- });
38
- fileSrc = bestFit.url || fileSrc;
39
- }
40
17
  return /*#__PURE__*/_jsxs("div", {
41
18
  className: baseClass,
42
19
  children: [/*#__PURE__*/_jsx(Thumbnail, {
@@ -46,7 +23,7 @@ export const FileCell = ({
46
23
  ...rowData,
47
24
  filename
48
25
  },
49
- fileSrc: fileSrc,
26
+ fileSrc: rowData?.thumbnailURL || rowData?.url,
50
27
  size: "small",
51
28
  uploadConfig: collectionConfig?.upload
52
29
  }), /*#__PURE__*/_jsx("span", {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["React","Thumbnail","baseClass","targetThumbnailSizeMin","targetThumbnailSizeMax","FileCell","cellData","filename","collectionConfig","field","rowData","fieldPreviewAllowed","displayPreview","undefined","previewAllowed","upload","fileSrc","thumbnailURL","url","mimeType","startsWith","sizes","Object","values","bestFit","reduce","closest","current","width","original","_jsxs","className","_jsx","collectionSlug","slug","doc","size","uploadConfig","String","_Fragment"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n TextFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport React from 'react'\n\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file'\n\nconst targetThumbnailSizeMin = 40\nconst targetThumbnailSizeMax = 180\n\nexport interface FileCellProps\n extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {\n readonly collectionConfig: ClientCollectionConfig\n}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n field,\n rowData,\n}) => {\n const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined\n const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true\n\n if (previewAllowed) {\n let fileSrc: string | undefined = rowData?.thumbnailURL ?? rowData?.url\n\n if (\n rowData?.url &&\n !rowData?.thumbnailURL &&\n typeof rowData?.mimeType === 'string' &&\n rowData?.mimeType.startsWith('image') &&\n rowData?.sizes\n ) {\n const sizes = Object.values<{ url?: string; width?: number }>(rowData.sizes)\n\n const bestFit = sizes.reduce(\n (closest, current) => {\n if (!current.width || current.width < targetThumbnailSizeMin) {\n return closest\n }\n\n if (current.width >= targetThumbnailSizeMin && current.width <= targetThumbnailSizeMax) {\n return !closest.width ||\n current.width < closest.width ||\n closest.width < targetThumbnailSizeMin ||\n closest.width > targetThumbnailSizeMax\n ? current\n : closest\n }\n\n if (\n !closest.width ||\n (!closest.original &&\n closest.width < targetThumbnailSizeMin &&\n current.width > closest.width) ||\n (closest.width > targetThumbnailSizeMax && current.width < closest.width)\n ) {\n return current\n }\n\n return closest\n },\n { original: true, url: rowData?.url, width: rowData?.width },\n )\n\n fileSrc = bestFit.url || fileSrc\n }\n\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={fileSrc}\n size=\"small\"\n uploadConfig={collectionConfig?.upload}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n } else {\n return <>{String(filename)}</>\n }\n}\n"],"mappings":"AAAA;;;AAQA,OAAOA,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,MAAMC,sBAAA,GAAyB;AAC/B,MAAMC,sBAAA,GAAyB;AAO/B,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,mBAAA,GAAsB,oBAAoBF,KAAA,GAAQA,KAAA,CAAMG,cAAc,GAAGC,SAAA;EAC/E,MAAMC,cAAA,GAAiBH,mBAAA,IAAuBH,gBAAA,CAAiBO,MAAM,EAAEH,cAAA,IAAkB;EAEzF,IAAIE,cAAA,EAAgB;IAClB,IAAIE,OAAA,GAA8BN,OAAA,EAASO,YAAA,IAAgBP,OAAA,EAASQ,GAAA;IAEpE,IACER,OAAA,EAASQ,GAAA,IACT,CAACR,OAAA,EAASO,YAAA,IACV,OAAOP,OAAA,EAASS,QAAA,KAAa,YAC7BT,OAAA,EAASS,QAAA,CAASC,UAAA,CAAW,YAC7BV,OAAA,EAASW,KAAA,EACT;MACA,MAAMA,KAAA,GAAQC,MAAA,CAAOC,MAAM,CAAmCb,OAAA,CAAQW,KAAK;MAE3E,MAAMG,OAAA,GAAUH,KAAA,CAAMI,MAAM,CAC1B,CAACC,OAAA,EAASC,OAAA;QACR,IAAI,CAACA,OAAA,CAAQC,KAAK,IAAID,OAAA,CAAQC,KAAK,GAAGzB,sBAAA,EAAwB;UAC5D,OAAOuB,OAAA;QACT;QAEA,IAAIC,OAAA,CAAQC,KAAK,IAAIzB,sBAAA,IAA0BwB,OAAA,CAAQC,KAAK,IAAIxB,sBAAA,EAAwB;UACtF,OAAO,CAACsB,OAAA,CAAQE,KAAK,IACnBD,OAAA,CAAQC,KAAK,GAAGF,OAAA,CAAQE,KAAK,IAC7BF,OAAA,CAAQE,KAAK,GAAGzB,sBAAA,IAChBuB,OAAA,CAAQE,KAAK,GAAGxB,sBAAA,GACduB,OAAA,GACAD,OAAA;QACN;QAEA,IACE,CAACA,OAAA,CAAQE,KAAK,IACb,CAACF,OAAA,CAAQG,QAAQ,IAChBH,OAAA,CAAQE,KAAK,GAAGzB,sBAAA,IAChBwB,OAAA,CAAQC,KAAK,GAAGF,OAAA,CAAQE,KAAK,IAC9BF,OAAA,CAAQE,KAAK,GAAGxB,sBAAA,IAA0BuB,OAAA,CAAQC,KAAK,GAAGF,OAAA,CAAQE,KAAK,EACxE;UACA,OAAOD,OAAA;QACT;QAEA,OAAOD,OAAA;MACT,GACA;QAAEG,QAAA,EAAU;QAAMX,GAAA,EAAKR,OAAA,EAASQ,GAAA;QAAKU,KAAA,EAAOlB,OAAA,EAASkB;MAAM;MAG7DZ,OAAA,GAAUQ,OAAA,CAAQN,GAAG,IAAIF,OAAA;IAC3B;IAEA,oBACEc,KAAA,CAAC;MAAIC,SAAA,EAAW7B,SAAA;8BACd8B,IAAA,CAAC/B,SAAA;QACC8B,SAAA,EAAW,GAAG7B,SAAA,aAAsB;QACpC+B,cAAA,EAAgBzB,gBAAA,EAAkB0B,IAAA;QAClCC,GAAA,EAAK;UACH,GAAGzB,OAAO;UACVH;QACF;QACAS,OAAA,EAASA,OAAA;QACToB,IAAA,EAAK;QACLC,YAAA,EAAc7B,gBAAA,EAAkBO;uBAElCiB,IAAA,CAAC;QAAKD,SAAA,EAAW,GAAG7B,SAAA,YAAqB;kBAAGoC,MAAA,CAAO/B,QAAA;;;EAGzD,OAAO;IACL,oBAAOyB,IAAA,CAAAO,SAAA;gBAAGD,MAAA,CAAO/B,QAAA;;EACnB;AACF","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["React","Thumbnail","baseClass","FileCell","cellData","filename","collectionConfig","field","rowData","fieldPreviewAllowed","displayPreview","undefined","previewAllowed","upload","_jsxs","className","_jsx","collectionSlug","slug","doc","fileSrc","thumbnailURL","url","size","uploadConfig","String","_Fragment"],"sources":["../../../../../../src/elements/Table/DefaultCell/fields/File/index.tsx"],"sourcesContent":["'use client'\nimport type {\n ClientCollectionConfig,\n DefaultCellComponentProps,\n TextFieldClient,\n UploadFieldClient,\n} from 'payload'\n\nimport React from 'react'\n\nimport { Thumbnail } from '../../../../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file'\n\nexport interface FileCellProps\n extends DefaultCellComponentProps<TextFieldClient | UploadFieldClient> {\n readonly collectionConfig: ClientCollectionConfig\n}\n\nexport const FileCell: React.FC<FileCellProps> = ({\n cellData: filename,\n collectionConfig,\n field,\n rowData,\n}) => {\n const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined\n const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true\n\n if (previewAllowed) {\n return (\n <div className={baseClass}>\n <Thumbnail\n className={`${baseClass}__thumbnail`}\n collectionSlug={collectionConfig?.slug}\n doc={{\n ...rowData,\n filename,\n }}\n fileSrc={rowData?.thumbnailURL || rowData?.url}\n size=\"small\"\n uploadConfig={collectionConfig?.upload}\n />\n <span className={`${baseClass}__filename`}>{String(filename)}</span>\n </div>\n )\n } else {\n return <>{String(filename)}</>\n }\n}\n"],"mappings":"AAAA;;;AAQA,OAAOA,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAOlB,OAAO,MAAMC,QAAA,GAAoCA,CAAC;EAChDC,QAAA,EAAUC,QAAQ;EAClBC,gBAAgB;EAChBC,KAAK;EACLC;AAAO,CACR;EACC,MAAMC,mBAAA,GAAsB,oBAAoBF,KAAA,GAAQA,KAAA,CAAMG,cAAc,GAAGC,SAAA;EAC/E,MAAMC,cAAA,GAAiBH,mBAAA,IAAuBH,gBAAA,CAAiBO,MAAM,EAAEH,cAAA,IAAkB;EAEzF,IAAIE,cAAA,EAAgB;IAClB,oBACEE,KAAA,CAAC;MAAIC,SAAA,EAAWb,SAAA;8BACdc,IAAA,CAACf,SAAA;QACCc,SAAA,EAAW,GAAGb,SAAA,aAAsB;QACpCe,cAAA,EAAgBX,gBAAA,EAAkBY,IAAA;QAClCC,GAAA,EAAK;UACH,GAAGX,OAAO;UACVH;QACF;QACAe,OAAA,EAASZ,OAAA,EAASa,YAAA,IAAgBb,OAAA,EAASc,GAAA;QAC3CC,IAAA,EAAK;QACLC,YAAA,EAAclB,gBAAA,EAAkBO;uBAElCG,IAAA,CAAC;QAAKD,SAAA,EAAW,GAAGb,SAAA,YAAqB;kBAAGuB,MAAA,CAAOpB,QAAA;;;EAGzD,OAAO;IACL,oBAAOW,IAAA,CAAAU,SAAA;gBAAGD,MAAA,CAAOpB,QAAA;;EACnB;AACF","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAUzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAwI3D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAqB,MAAM,SAAS,CAAA;AAI3E,OAAO,KAAK,MAAM,OAAO,CAAA;AAQzB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA+H3D,CAAA"}