@payloadcms/ui 3.29.0-internal.0ad276c → 3.29.0-internal.3471e81

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 (465) hide show
  1. package/dist/elements/BulkUpload/FormsManager/index.js +2 -2
  2. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/index.js +2 -4
  5. package/dist/elements/BulkUpload/index.js.map +1 -1
  6. package/dist/elements/Collapsible/provider.d.ts.map +1 -1
  7. package/dist/elements/Collapsible/provider.js +3 -5
  8. package/dist/elements/Collapsible/provider.js.map +1 -1
  9. package/dist/elements/ColumnSelector/index.js +1 -1
  10. package/dist/elements/ColumnSelector/index.js.map +1 -1
  11. package/dist/elements/ColumnSelector/index.scss +2 -3
  12. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  13. package/dist/elements/DeleteDocument/index.js +1 -2
  14. package/dist/elements/DeleteDocument/index.js.map +1 -1
  15. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  16. package/dist/elements/DeleteMany/index.js +1 -1
  17. package/dist/elements/DeleteMany/index.js.map +1 -1
  18. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  19. package/dist/elements/DocumentDrawer/DrawerContent.js +2 -1
  20. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  21. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  22. package/dist/elements/DocumentDrawer/Provider.js +3 -3
  23. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  24. package/dist/elements/DocumentDrawer/types.d.ts +4 -0
  25. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  26. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  27. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  28. package/dist/elements/DocumentFields/index.js +1 -5
  29. package/dist/elements/DocumentFields/index.js.map +1 -1
  30. package/dist/elements/Drawer/index.d.ts.map +1 -1
  31. package/dist/elements/Drawer/index.js +3 -5
  32. package/dist/elements/Drawer/index.js.map +1 -1
  33. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  34. package/dist/elements/EditMany/DrawerContent.js +2 -2
  35. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  37. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +2 -1
  38. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  39. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts +8 -0
  40. package/dist/elements/ListControls/ActiveQueryPreset/index.d.ts.map +1 -0
  41. package/dist/elements/ListControls/ActiveQueryPreset/index.js +102 -0
  42. package/dist/elements/ListControls/ActiveQueryPreset/index.js.map +1 -0
  43. package/dist/elements/ListControls/ActiveQueryPreset/index.scss +21 -0
  44. package/dist/elements/ListControls/index.d.ts +1 -24
  45. package/dist/elements/ListControls/index.d.ts.map +1 -1
  46. package/dist/elements/ListControls/index.js +115 -86
  47. package/dist/elements/ListControls/index.js.map +1 -1
  48. package/dist/elements/ListControls/index.scss +5 -9
  49. package/dist/elements/ListControls/types.d.ts +28 -0
  50. package/dist/elements/ListControls/types.d.ts.map +1 -0
  51. package/dist/elements/ListControls/types.js.map +1 -0
  52. package/dist/elements/ListControls/useQueryPresets.d.ts +17 -0
  53. package/dist/elements/ListControls/useQueryPresets.d.ts.map +1 -0
  54. package/dist/elements/ListControls/useQueryPresets.js +259 -0
  55. package/dist/elements/ListControls/useQueryPresets.js.map +1 -0
  56. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  57. package/dist/elements/ListDrawer/DrawerContent.js +4 -2
  58. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  59. package/dist/elements/ListDrawer/Provider.js +3 -3
  60. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  61. package/dist/elements/ListDrawer/types.d.ts +3 -2
  62. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  63. package/dist/elements/ListDrawer/types.js.map +1 -1
  64. package/dist/elements/LoadingOverlay/index.js +3 -3
  65. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  66. package/dist/elements/Nav/context.d.ts.map +1 -1
  67. package/dist/elements/Nav/context.js +2 -4
  68. package/dist/elements/Nav/context.js.map +1 -1
  69. package/dist/elements/Pill/index.d.ts +1 -1
  70. package/dist/elements/Pill/index.d.ts.map +1 -1
  71. package/dist/elements/Pill/index.js +2 -0
  72. package/dist/elements/Pill/index.js.map +1 -1
  73. package/dist/elements/Pill/index.scss +29 -6
  74. package/dist/elements/Popup/PopupButtonList/index.d.ts +1 -1
  75. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  76. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  77. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  78. package/dist/elements/Popup/PopupDivider/index.d.ts +4 -0
  79. package/dist/elements/Popup/PopupDivider/index.d.ts.map +1 -0
  80. package/dist/elements/Popup/PopupDivider/index.js +10 -0
  81. package/dist/elements/Popup/PopupDivider/index.js.map +1 -0
  82. package/dist/elements/Popup/PopupDivider/index.scss +10 -0
  83. package/dist/elements/Popup/index.d.ts.map +1 -1
  84. package/dist/elements/Popup/index.js +1 -1
  85. package/dist/elements/Popup/index.js.map +1 -1
  86. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +2 -1
  87. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  88. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +4 -1
  89. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  90. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  91. package/dist/elements/PublishButton/ScheduleDrawer/index.js +3 -3
  92. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  93. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts +4 -0
  94. package/dist/elements/QueryPresets/cells/AccessCell/index.d.ts.map +1 -0
  95. package/dist/elements/QueryPresets/cells/AccessCell/index.js +25 -0
  96. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -0
  97. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts +4 -0
  98. package/dist/elements/QueryPresets/cells/ColumnsCell/index.d.ts.map +1 -0
  99. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +11 -0
  100. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -0
  101. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts +4 -0
  102. package/dist/elements/QueryPresets/cells/WhereCell/index.d.ts.map +1 -0
  103. package/dist/elements/QueryPresets/cells/WhereCell/index.js +23 -0
  104. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -0
  105. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +4 -0
  106. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -0
  107. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +64 -0
  108. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -0
  109. package/dist/elements/QueryPresets/fields/ColumnsField/index.scss +28 -0
  110. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +4 -0
  111. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -0
  112. package/dist/elements/QueryPresets/fields/WhereField/index.js +118 -0
  113. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -0
  114. package/dist/elements/QueryPresets/fields/WhereField/index.scss +23 -0
  115. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +1 -1
  116. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  117. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  118. package/dist/elements/RelationshipTable/index.js +3 -4
  119. package/dist/elements/RelationshipTable/index.js.map +1 -1
  120. package/dist/elements/StepNav/context.d.ts.map +1 -1
  121. package/dist/elements/StepNav/context.js +3 -5
  122. package/dist/elements/StepNav/context.js.map +1 -1
  123. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/fields/File/index.js +24 -1
  125. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  126. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  127. package/dist/elements/Table/DefaultCell/index.js +32 -25
  128. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  129. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  130. package/dist/elements/Table/RelationshipProvider/index.js +3 -5
  131. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  132. package/dist/elements/Thumbnail/index.js +24 -22
  133. package/dist/elements/Thumbnail/index.js.map +1 -1
  134. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  135. package/dist/elements/Toasts/fieldErrors.js +2 -2
  136. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  137. package/dist/elements/Upload/index.d.ts.map +1 -1
  138. package/dist/elements/Upload/index.js +4 -16
  139. package/dist/elements/Upload/index.js.map +1 -1
  140. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  141. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  142. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  143. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  144. package/dist/elements/WhereBuilder/index.js +18 -15
  145. package/dist/elements/WhereBuilder/index.js.map +1 -1
  146. package/dist/exports/client/{CodeEditor-TQ5ADFPC.js → CodeEditor-J4IKAVAK.js} +2 -2
  147. package/dist/exports/client/{DatePicker-HHQ6TPOW.js → DatePicker-DMHV2M2L.js} +2 -2
  148. package/dist/exports/client/{chunk-IMEQ6NKQ.js → chunk-3AA2TJQ5.js} +2 -2
  149. package/dist/exports/client/{chunk-IMEQ6NKQ.js.map → chunk-3AA2TJQ5.js.map} +3 -3
  150. package/dist/exports/client/{chunk-LMYT7O7U.js → chunk-PKQOCWZD.js} +2 -2
  151. package/dist/exports/client/{chunk-LMYT7O7U.js.map → chunk-PKQOCWZD.js.map} +3 -3
  152. package/dist/exports/client/index.d.ts +7 -2
  153. package/dist/exports/client/index.d.ts.map +1 -1
  154. package/dist/exports/client/index.js +23 -23
  155. package/dist/exports/client/index.js.map +4 -4
  156. package/dist/exports/shared/index.d.ts +8 -3
  157. package/dist/exports/shared/index.d.ts.map +1 -1
  158. package/dist/exports/shared/index.js +2 -2
  159. package/dist/exports/shared/index.js.map +4 -4
  160. package/dist/fields/Array/index.d.ts.map +1 -1
  161. package/dist/fields/Array/index.js +4 -3
  162. package/dist/fields/Array/index.js.map +1 -1
  163. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  164. package/dist/fields/Blocks/BlockRow.js +26 -20
  165. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  166. package/dist/fields/Blocks/index.d.ts.map +1 -1
  167. package/dist/fields/Blocks/index.js +5 -4
  168. package/dist/fields/Blocks/index.js.map +1 -1
  169. package/dist/fields/Checkbox/index.d.ts +1 -1
  170. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  171. package/dist/fields/Checkbox/index.js +4 -3
  172. package/dist/fields/Checkbox/index.js.map +1 -1
  173. package/dist/fields/Code/index.d.ts.map +1 -1
  174. package/dist/fields/Code/index.js +4 -3
  175. package/dist/fields/Code/index.js.map +1 -1
  176. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  177. package/dist/fields/Collapsible/index.js +3 -2
  178. package/dist/fields/Collapsible/index.js.map +1 -1
  179. package/dist/fields/ConfirmPassword/index.js +13 -11
  180. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  181. package/dist/fields/DateTime/index.d.ts.map +1 -1
  182. package/dist/fields/DateTime/index.js +5 -4
  183. package/dist/fields/DateTime/index.js.map +1 -1
  184. package/dist/fields/Email/index.d.ts.map +1 -1
  185. package/dist/fields/Email/index.js +3 -2
  186. package/dist/fields/Email/index.js.map +1 -1
  187. package/dist/fields/Group/index.d.ts.map +1 -1
  188. package/dist/fields/Group/index.js.map +1 -1
  189. package/dist/fields/Group/provider.d.ts.map +1 -1
  190. package/dist/fields/Group/provider.js +3 -5
  191. package/dist/fields/Group/provider.js.map +1 -1
  192. package/dist/fields/JSON/index.d.ts.map +1 -1
  193. package/dist/fields/JSON/index.js +5 -4
  194. package/dist/fields/JSON/index.js.map +1 -1
  195. package/dist/fields/Number/index.d.ts.map +1 -1
  196. package/dist/fields/Number/index.js +6 -5
  197. package/dist/fields/Number/index.js.map +1 -1
  198. package/dist/fields/Password/index.d.ts.map +1 -1
  199. package/dist/fields/Password/index.js +2 -4
  200. package/dist/fields/Password/index.js.map +1 -1
  201. package/dist/fields/Point/index.d.ts.map +1 -1
  202. package/dist/fields/Point/index.js +4 -3
  203. package/dist/fields/Point/index.js.map +1 -1
  204. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  205. package/dist/fields/RadioGroup/index.js +4 -3
  206. package/dist/fields/RadioGroup/index.js.map +1 -1
  207. package/dist/fields/Relationship/index.d.ts.map +1 -1
  208. package/dist/fields/Relationship/index.js +5 -4
  209. package/dist/fields/Relationship/index.js.map +1 -1
  210. package/dist/fields/Row/provider.d.ts.map +1 -1
  211. package/dist/fields/Row/provider.js +3 -5
  212. package/dist/fields/Row/provider.js.map +1 -1
  213. package/dist/fields/Select/index.d.ts.map +1 -1
  214. package/dist/fields/Select/index.js +4 -3
  215. package/dist/fields/Select/index.js.map +1 -1
  216. package/dist/fields/Tabs/Tab/index.d.ts +1 -0
  217. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  218. package/dist/fields/Tabs/Tab/index.js +29 -25
  219. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  220. package/dist/fields/Tabs/Tab/index.scss +4 -0
  221. package/dist/fields/Tabs/index.d.ts +1 -1
  222. package/dist/fields/Tabs/index.d.ts.map +1 -1
  223. package/dist/fields/Tabs/index.js +285 -194
  224. package/dist/fields/Tabs/index.js.map +1 -1
  225. package/dist/fields/Tabs/index.scss +8 -0
  226. package/dist/fields/Tabs/provider.d.ts.map +1 -1
  227. package/dist/fields/Tabs/provider.js +3 -5
  228. package/dist/fields/Tabs/provider.js.map +1 -1
  229. package/dist/fields/Text/index.d.ts.map +1 -1
  230. package/dist/fields/Text/index.js +4 -3
  231. package/dist/fields/Text/index.js.map +1 -1
  232. package/dist/fields/Textarea/index.d.ts.map +1 -1
  233. package/dist/fields/Textarea/index.js +2 -1
  234. package/dist/fields/Textarea/index.js.map +1 -1
  235. package/dist/fields/Upload/index.d.ts.map +1 -1
  236. package/dist/fields/Upload/index.js +2 -1
  237. package/dist/fields/Upload/index.js.map +1 -1
  238. package/dist/forms/Form/context.d.ts.map +1 -1
  239. package/dist/forms/Form/context.js +9 -25
  240. package/dist/forms/Form/context.js.map +1 -1
  241. package/dist/forms/Form/index.d.ts.map +1 -1
  242. package/dist/forms/Form/index.js +8 -8
  243. package/dist/forms/Form/index.js.map +1 -1
  244. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  245. package/dist/forms/RowLabel/Context/index.js +2 -2
  246. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  247. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  248. package/dist/forms/RowLabel/index.js +2 -2
  249. package/dist/forms/RowLabel/index.js.map +1 -1
  250. package/dist/forms/RowLabel/types.d.ts +1 -1
  251. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  252. package/dist/forms/RowLabel/types.js.map +1 -1
  253. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +3 -1
  254. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  255. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +45 -1
  256. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  257. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +4 -2
  258. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  259. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +4 -0
  260. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  261. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +4 -2
  262. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  263. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +4 -0
  264. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  265. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +4 -2
  266. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  267. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +41 -2
  268. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  269. package/dist/forms/fieldSchemasToFormState/index.d.ts +4 -2
  270. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  271. package/dist/forms/fieldSchemasToFormState/index.js +6 -0
  272. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  273. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +4 -2
  274. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  275. package/dist/forms/fieldSchemasToFormState/iterateFields.js +16 -0
  276. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  277. package/dist/forms/useField/index.d.ts.map +1 -1
  278. package/dist/forms/useField/index.js +70 -67
  279. package/dist/forms/useField/index.js.map +1 -1
  280. package/dist/forms/useField/types.d.ts +1 -0
  281. package/dist/forms/useField/types.d.ts.map +1 -1
  282. package/dist/forms/useField/types.js.map +1 -1
  283. package/dist/hooks/useQueues.js +3 -3
  284. package/dist/hooks/useQueues.js.map +1 -1
  285. package/dist/icons/Chevron/index.d.ts +1 -0
  286. package/dist/icons/Chevron/index.d.ts.map +1 -1
  287. package/dist/icons/Chevron/index.js +2 -0
  288. package/dist/icons/Chevron/index.js.map +1 -1
  289. package/dist/icons/Dots/index.d.ts +2 -0
  290. package/dist/icons/Dots/index.d.ts.map +1 -1
  291. package/dist/icons/Dots/index.js +5 -2
  292. package/dist/icons/Dots/index.js.map +1 -1
  293. package/dist/icons/Dots/index.scss +14 -0
  294. package/dist/icons/People/index.d.ts +6 -0
  295. package/dist/icons/People/index.d.ts.map +1 -0
  296. package/dist/icons/People/index.js +18 -0
  297. package/dist/icons/People/index.js.map +1 -0
  298. package/dist/icons/People/index.scss +11 -0
  299. package/dist/providers/Actions/index.d.ts.map +1 -1
  300. package/dist/providers/Actions/index.js +3 -5
  301. package/dist/providers/Actions/index.js.map +1 -1
  302. package/dist/providers/Auth/index.d.ts.map +1 -1
  303. package/dist/providers/Auth/index.js +3 -5
  304. package/dist/providers/Auth/index.js.map +1 -1
  305. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  306. package/dist/providers/ClientFunction/index.js +4 -4
  307. package/dist/providers/ClientFunction/index.js.map +1 -1
  308. package/dist/providers/Config/index.d.ts.map +1 -1
  309. package/dist/providers/Config/index.js +3 -5
  310. package/dist/providers/Config/index.js.map +1 -1
  311. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  312. package/dist/providers/DocumentEvents/index.js +3 -5
  313. package/dist/providers/DocumentEvents/index.js.map +1 -1
  314. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  315. package/dist/providers/DocumentInfo/index.js +3 -5
  316. package/dist/providers/DocumentInfo/index.js.map +1 -1
  317. package/dist/providers/DocumentInfo/types.d.ts +1 -0
  318. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  319. package/dist/providers/DocumentInfo/types.js.map +1 -1
  320. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  321. package/dist/providers/EditDepth/index.js +3 -5
  322. package/dist/providers/EditDepth/index.js.map +1 -1
  323. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  324. package/dist/providers/EntityVisibility/index.js +3 -5
  325. package/dist/providers/EntityVisibility/index.js.map +1 -1
  326. package/dist/providers/ListQuery/context.d.ts +2 -0
  327. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  328. package/dist/providers/ListQuery/context.js +4 -2
  329. package/dist/providers/ListQuery/context.js.map +1 -1
  330. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  331. package/dist/providers/ListQuery/index.js +30 -14
  332. package/dist/providers/ListQuery/index.js.map +1 -1
  333. package/dist/providers/ListQuery/types.d.ts +6 -3
  334. package/dist/providers/ListQuery/types.d.ts.map +1 -1
  335. package/dist/providers/ListQuery/types.js.map +1 -1
  336. package/dist/providers/Locale/index.d.ts.map +1 -1
  337. package/dist/providers/Locale/index.js +5 -9
  338. package/dist/providers/Locale/index.js.map +1 -1
  339. package/dist/providers/Operation/index.d.ts.map +1 -1
  340. package/dist/providers/Operation/index.js +3 -5
  341. package/dist/providers/Operation/index.js.map +1 -1
  342. package/dist/providers/Params/index.d.ts.map +1 -1
  343. package/dist/providers/Params/index.js +3 -5
  344. package/dist/providers/Params/index.js.map +1 -1
  345. package/dist/providers/Preferences/index.d.ts.map +1 -1
  346. package/dist/providers/Preferences/index.js +3 -5
  347. package/dist/providers/Preferences/index.js.map +1 -1
  348. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  349. package/dist/providers/RouteCache/index.js +3 -5
  350. package/dist/providers/RouteCache/index.js.map +1 -1
  351. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  352. package/dist/providers/RouteTransition/index.js +2 -4
  353. package/dist/providers/RouteTransition/index.js.map +1 -1
  354. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  355. package/dist/providers/SearchParams/index.js +3 -5
  356. package/dist/providers/SearchParams/index.js.map +1 -1
  357. package/dist/providers/Selection/index.d.ts.map +1 -1
  358. package/dist/providers/Selection/index.js +3 -5
  359. package/dist/providers/Selection/index.js.map +1 -1
  360. package/dist/providers/ServerFunctions/index.d.ts +1 -0
  361. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  362. package/dist/providers/ServerFunctions/index.js +2 -2
  363. package/dist/providers/ServerFunctions/index.js.map +1 -1
  364. package/dist/providers/TableColumns/RenderDefaultCell/index.d.ts.map +1 -0
  365. package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.js +4 -6
  366. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -0
  367. package/dist/{elements → providers}/TableColumns/buildColumnState.d.ts +1 -1
  368. package/dist/providers/TableColumns/buildColumnState.d.ts.map +1 -0
  369. package/dist/{elements → providers}/TableColumns/buildColumnState.js +9 -2
  370. package/dist/providers/TableColumns/buildColumnState.js.map +1 -0
  371. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.d.ts +1 -1
  372. package/dist/providers/TableColumns/buildPolymorphicColumnState.d.ts.map +1 -0
  373. package/dist/{elements → providers}/TableColumns/buildPolymorphicColumnState.js +1 -1
  374. package/dist/providers/TableColumns/buildPolymorphicColumnState.js.map +1 -0
  375. package/dist/providers/TableColumns/context.d.ts.map +1 -0
  376. package/dist/providers/TableColumns/context.js +4 -0
  377. package/dist/providers/TableColumns/context.js.map +1 -0
  378. package/dist/providers/TableColumns/filterFields.d.ts.map +1 -0
  379. package/dist/providers/TableColumns/filterFields.js.map +1 -0
  380. package/dist/providers/TableColumns/getInitialColumns.d.ts.map +1 -0
  381. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -0
  382. package/dist/providers/TableColumns/index.d.ts.map +1 -0
  383. package/dist/{elements → providers}/TableColumns/index.js +5 -3
  384. package/dist/providers/TableColumns/index.js.map +1 -0
  385. package/dist/{elements → providers}/TableColumns/types.d.ts +1 -1
  386. package/dist/providers/TableColumns/types.d.ts.map +1 -0
  387. package/dist/providers/TableColumns/types.js +2 -0
  388. package/dist/providers/TableColumns/types.js.map +1 -0
  389. package/dist/providers/Theme/index.d.ts.map +1 -1
  390. package/dist/providers/Theme/index.js +3 -5
  391. package/dist/providers/Theme/index.js.map +1 -1
  392. package/dist/providers/Translation/index.d.ts.map +1 -1
  393. package/dist/providers/Translation/index.js +3 -5
  394. package/dist/providers/Translation/index.js.map +1 -1
  395. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  396. package/dist/providers/UploadEdits/index.js +2 -4
  397. package/dist/providers/UploadEdits/index.js.map +1 -1
  398. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  399. package/dist/providers/UploadHandlers/index.js +3 -3
  400. package/dist/providers/UploadHandlers/index.js.map +1 -1
  401. package/dist/styles.css +1 -1
  402. package/dist/utilities/buildFormState.d.ts.map +1 -1
  403. package/dist/utilities/buildFormState.js +5 -1
  404. package/dist/utilities/buildFormState.js.map +1 -1
  405. package/dist/utilities/getDisplayedFieldValue.d.ts +13 -0
  406. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -0
  407. package/dist/utilities/getDisplayedFieldValue.js +28 -0
  408. package/dist/utilities/getDisplayedFieldValue.js.map +1 -0
  409. package/dist/utilities/hasOptionLabelJSXElement.d.ts +3 -0
  410. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -0
  411. package/dist/utilities/hasOptionLabelJSXElement.js +15 -0
  412. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -0
  413. package/dist/utilities/renderTable.js +4 -4
  414. package/dist/utilities/renderTable.js.map +1 -1
  415. package/dist/utilities/upsertPreferences.d.ts +7 -2
  416. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  417. package/dist/utilities/upsertPreferences.js +11 -5
  418. package/dist/utilities/upsertPreferences.js.map +1 -1
  419. package/dist/views/Edit/index.d.ts.map +1 -1
  420. package/dist/views/Edit/index.js +3 -2
  421. package/dist/views/Edit/index.js.map +1 -1
  422. package/dist/views/List/index.d.ts.map +1 -1
  423. package/dist/views/List/index.js +7 -1
  424. package/dist/views/List/index.js.map +1 -1
  425. package/package.json +4 -4
  426. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +0 -1
  427. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +0 -1
  428. package/dist/elements/TableColumns/buildColumnState.d.ts.map +0 -1
  429. package/dist/elements/TableColumns/buildColumnState.js.map +0 -1
  430. package/dist/elements/TableColumns/buildPolymorphicColumnState.d.ts.map +0 -1
  431. package/dist/elements/TableColumns/buildPolymorphicColumnState.js.map +0 -1
  432. package/dist/elements/TableColumns/context.d.ts.map +0 -1
  433. package/dist/elements/TableColumns/context.js +0 -4
  434. package/dist/elements/TableColumns/context.js.map +0 -1
  435. package/dist/elements/TableColumns/filterFields.d.ts.map +0 -1
  436. package/dist/elements/TableColumns/filterFields.js.map +0 -1
  437. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +0 -1
  438. package/dist/elements/TableColumns/getInitialColumns.js.map +0 -1
  439. package/dist/elements/TableColumns/index.d.ts.map +0 -1
  440. package/dist/elements/TableColumns/index.js.map +0 -1
  441. package/dist/elements/TableColumns/types.d.ts.map +0 -1
  442. package/dist/elements/TableColumns/types.js.map +0 -1
  443. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +0 -8
  444. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +0 -1
  445. package/dist/elements/WhereBuilder/transformWhereQuery.js +0 -45
  446. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +0 -1
  447. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +0 -4
  448. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +0 -1
  449. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -36
  450. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +0 -1
  451. package/dist/utilities/mergeListSearchAndWhere.d.ts +0 -10
  452. package/dist/utilities/mergeListSearchAndWhere.d.ts.map +0 -1
  453. package/dist/utilities/mergeListSearchAndWhere.js +0 -47
  454. package/dist/utilities/mergeListSearchAndWhere.js.map +0 -1
  455. /package/dist/elements/{TableColumns → ListControls}/types.js +0 -0
  456. /package/dist/exports/client/{CodeEditor-TQ5ADFPC.js.map → CodeEditor-J4IKAVAK.js.map} +0 -0
  457. /package/dist/exports/client/{DatePicker-HHQ6TPOW.js.map → DatePicker-DMHV2M2L.js.map} +0 -0
  458. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.d.ts +0 -0
  459. /package/dist/{elements → providers}/TableColumns/RenderDefaultCell/index.scss +0 -0
  460. /package/dist/{elements → providers}/TableColumns/context.d.ts +0 -0
  461. /package/dist/{elements → providers}/TableColumns/filterFields.d.ts +0 -0
  462. /package/dist/{elements → providers}/TableColumns/filterFields.js +0 -0
  463. /package/dist/{elements → providers}/TableColumns/getInitialColumns.d.ts +0 -0
  464. /package/dist/{elements → providers}/TableColumns/getInitialColumns.js +0 -0
  465. /package/dist/{elements → providers}/TableColumns/index.d.ts +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,yBAAyB,EAAS,MAAM,SAAS,CAAA;AAG/D,OAAO,KAAK,MAAM,OAAO,CAAA;AAiBzB,eAAO,MAAM,qBAAqB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAErE,CAAA"}
@@ -0,0 +1,23 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { toWords } from 'payload/shared';
3
+ import React from 'react';
4
+ /** @todo: improve this */
5
+ const transformWhereToNaturalLanguage = where => {
6
+ if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {
7
+ const orQuery = where.or[0];
8
+ const andQuery = orQuery.and[0];
9
+ const key = Object.keys(andQuery)[0];
10
+ const operator = Object.keys(andQuery[key])[0];
11
+ const value = andQuery[key][operator];
12
+ return `${toWords(key)} ${operator} ${toWords(value)}`;
13
+ }
14
+ return '';
15
+ };
16
+ export const QueryPresetsWhereCell = ({
17
+ cellData
18
+ }) => {
19
+ return /*#__PURE__*/_jsx("div", {
20
+ children: cellData ? transformWhereToNaturalLanguage(cellData) : 'No where query'
21
+ });
22
+ };
23
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["toWords","React","transformWhereToNaturalLanguage","where","or","length","and","orQuery","andQuery","key","Object","keys","operator","value","QueryPresetsWhereCell","cellData","_jsx"],"sources":["../../../../../src/elements/QueryPresets/cells/WhereCell/index.tsx"],"sourcesContent":["import type { DefaultCellComponentProps, Where } from 'payload'\n\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (where: Where): string => {\n if (where.or && where.or.length > 0 && where.or[0].and && where.or[0].and.length > 0) {\n const orQuery = where.or[0]\n const andQuery = orQuery.and[0]\n const key = Object.keys(andQuery)[0]\n const operator = Object.keys(andQuery[key])[0]\n const value = andQuery[key][operator]\n\n return `${toWords(key)} ${operator} ${toWords(value)}`\n }\n\n return ''\n}\n\nexport const QueryPresetsWhereCell: React.FC<DefaultCellComponentProps> = ({ cellData }) => {\n return <div>{cellData ? transformWhereToNaturalLanguage(cellData) : 'No where query'}</div>\n}\n"],"mappings":";AAEA,SAASA,OAAO,QAAQ;AACxB,OAAOC,KAAA,MAAW;AAElB;AACA,MAAMC,+BAAA,GAAmCC,KAAA;EACvC,IAAIA,KAAA,CAAMC,EAAE,IAAID,KAAA,CAAMC,EAAE,CAACC,MAAM,GAAG,KAAKF,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,IAAIH,KAAA,CAAMC,EAAE,CAAC,EAAE,CAACE,GAAG,CAACD,MAAM,GAAG,GAAG;IACpF,MAAME,OAAA,GAAUJ,KAAA,CAAMC,EAAE,CAAC,EAAE;IAC3B,MAAMI,QAAA,GAAWD,OAAA,CAAQD,GAAG,CAAC,EAAE;IAC/B,MAAMG,GAAA,GAAMC,MAAA,CAAOC,IAAI,CAACH,QAAA,CAAS,CAAC,EAAE;IACpC,MAAMI,QAAA,GAAWF,MAAA,CAAOC,IAAI,CAACH,QAAQ,CAACC,GAAA,CAAI,CAAC,CAAC,EAAE;IAC9C,MAAMI,KAAA,GAAQL,QAAQ,CAACC,GAAA,CAAI,CAACG,QAAA,CAAS;IAErC,OAAO,GAAGZ,OAAA,CAAQS,GAAA,KAAQG,QAAA,IAAYZ,OAAA,CAAQa,KAAA,GAAQ;EACxD;EAEA,OAAO;AACT;AAEA,OAAO,MAAMC,qBAAA,GAA6DA,CAAC;EAAEC;AAAQ,CAAE;EACrF,oBAAOC,IAAA,CAAC;cAAKD,QAAA,GAAWb,+BAAA,CAAgCa,QAAA,IAAY;;AACtE","ignoreList":[]}
@@ -0,0 +1,4 @@
1
+ import type { JSONFieldClientComponent } from 'payload';
2
+ import './index.scss';
3
+ export declare const QueryPresetsColumnField: JSONFieldClientComponent;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAoB,wBAAwB,EAAE,MAAM,SAAS,CAAA;AAQzE,OAAO,cAAc,CAAA;AAErB,eAAO,MAAM,uBAAuB,EAAE,wBAoBrC,CAAA"}
@@ -0,0 +1,64 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { toWords, transformColumnsToSearchParams } from 'payload/shared';
6
+ import React from 'react';
7
+ import { FieldLabel } from '../../../../fields/FieldLabel/index.js';
8
+ import { useField } from '../../../../forms/useField/index.js';
9
+ import { Pill } from '../../../Pill/index.js';
10
+ import './index.scss';
11
+ export const QueryPresetsColumnField = t0 => {
12
+ const $ = _c(7);
13
+ const {
14
+ field: t1,
15
+ path
16
+ } = t0;
17
+ const {
18
+ label,
19
+ required
20
+ } = t1;
21
+ let t2;
22
+ if ($[0] !== path) {
23
+ t2 = {
24
+ path
25
+ };
26
+ $[0] = path;
27
+ $[1] = t2;
28
+ } else {
29
+ t2 = $[1];
30
+ }
31
+ const {
32
+ value
33
+ } = useField(t2);
34
+ let t3;
35
+ if ($[2] !== label || $[3] !== path || $[4] !== required || $[5] !== value) {
36
+ t3 = _jsxs("div", {
37
+ className: "field-type query-preset-columns-field",
38
+ children: [_jsx(FieldLabel, {
39
+ as: "h3",
40
+ label,
41
+ path,
42
+ required
43
+ }), _jsx("div", {
44
+ className: "value-wrapper",
45
+ children: value ? transformColumnsToSearchParams(value).map(_temp) : "No columns selected"
46
+ })]
47
+ });
48
+ $[2] = label;
49
+ $[3] = path;
50
+ $[4] = required;
51
+ $[5] = value;
52
+ $[6] = t3;
53
+ } else {
54
+ t3 = $[6];
55
+ }
56
+ return t3;
57
+ };
58
+ function _temp(column, i) {
59
+ return _jsx(Pill, {
60
+ pillStyle: "always-white",
61
+ children: toWords(column)
62
+ }, i);
63
+ }
64
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","toWords","transformColumnsToSearchParams","React","FieldLabel","useField","Pill","QueryPresetsColumnField","t0","$","field","t1","path","label","required","t2","value","t3","_jsxs","className","children","_jsx","as","map","_temp","column","i","pillStyle"],"sources":["../../../../../src/elements/QueryPresets/fields/ColumnsField/index.tsx"],"sourcesContent":["'use client'\nimport type { ColumnPreference, JSONFieldClientComponent } from 'payload'\n\nimport { toWords, transformColumnsToSearchParams } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\nexport const QueryPresetsColumnField: JSONFieldClientComponent = ({\n field: { label, required },\n path,\n}) => {\n const { value } = useField({ path })\n\n return (\n <div className=\"field-type query-preset-columns-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <div className=\"value-wrapper\">\n {value\n ? transformColumnsToSearchParams(value as ColumnPreference[]).map((column, i) => (\n <Pill key={i} pillStyle=\"always-white\">\n {toWords(column)}\n </Pill>\n ))\n : 'No columns selected'}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,SAASC,OAAO,EAAEC,8BAA8B,QAAQ;AACxD,OAAOC,KAAA,MAAW;AAElB,SAASC,UAAU,QAAQ;AAC3B,SAASC,QAAQ,QAAQ;AACzB,SAASC,IAAI,QAAQ;AACrB,OAAO;AAEP,OAAO,MAAMC,uBAAA,GAAoDC,EAAA;EAAA,MAAAC,CAAA,GAAAT,EAAA;EAAC;IAAAU,KAAA,EAAAC,EAAA;IAAAC;EAAA,IAAAJ,EAGjE;EAFQ;IAAAK,KAAA;IAAAC;EAAA,IAAAH,EAAmB;EAAA,IAAAI,EAAA;EAAA,IAAAN,CAAA,QAAAG,IAAA;IAGCG,EAAA;MAAAH;IAAA;IAAOH,CAAA,MAAAG,IAAA;IAAAH,CAAA,MAAAM,EAAA;EAAA;IAAAA,EAAA,GAAAN,CAAA;EAAA;EAAlC;IAAAO;EAAA,IAAkBX,QAAA,CAASU,EAAO;EAAA,IAAAE,EAAA;EAAA,IAAAR,CAAA,QAAAI,KAAA,IAAAJ,CAAA,QAAAG,IAAA,IAAAH,CAAA,QAAAK,QAAA,IAAAL,CAAA,QAAAO,KAAA;IAGhCC,EAAA,GAAAC,KAAA,CAAC;MAAAC,SAAA,EAAc;MAAAC,QAAA,GACbC,IAAA,CAAAjB,UAAA;QAAAkB,EAAA,EAAe;QAAAT,KAAA;QAAAD,IAAA;QAAAE;MAAA,C,GACfO,IAAA,CAAC;QAAAF,SAAA,EAAc;QAAAC,QAAA,EACZJ,KAAA,GACGd,8BAAA,CAA+Bc,KAAA,EAAAO,GAAA,CAAAC,KAClB,IAIb;MAAA,C;;;;;;;;;;SATRP,E;CAaJ;AApBiE,SAAAO,MAAAC,MAAA,EAAAC,CAAA;EAAA,OAYnDL,IAAA,CAAAf,IAAA;IAAAqB,SAAA,EAAwB;IAAAP,QAAA,EACrBnB,OAAA,CAAQwB,MAAA;EAAA,GADAC,CAAA;AAAA","ignoreList":[]}
@@ -0,0 +1,28 @@
1
+ @import '../../../../scss/styles';
2
+
3
+ @layer payload-default {
4
+ .query-preset-columns-field {
5
+ .field-label {
6
+ margin-bottom: calc(var(--base) / 2);
7
+ }
8
+
9
+ .value-wrapper {
10
+ background-color: var(--theme-elevation-50);
11
+ padding: var(--base);
12
+ display: flex;
13
+ flex-wrap: wrap;
14
+ gap: calc(var(--base) / 2);
15
+ }
16
+ }
17
+
18
+ html[data-theme='dark'] {
19
+ .query-preset-columns-field {
20
+ .pill {
21
+ &--style-always-white {
22
+ background: var(--theme-elevation-250);
23
+ color: var(--theme-elevation-1000);
24
+ }
25
+ }
26
+ }
27
+ }
28
+ }
@@ -0,0 +1,4 @@
1
+ import type { JSONFieldClientComponent } from 'payload';
2
+ import './index.scss';
3
+ export declare const QueryPresetsWhereField: JSONFieldClientComponent;
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,wBAAwB,EAAS,MAAM,SAAS,CAAA;AAY9D,OAAO,cAAc,CAAA;AAsErB,eAAO,MAAM,sBAAsB,EAAE,wBAyBpC,CAAA"}
@@ -0,0 +1,118 @@
1
+ 'use client';
2
+
3
+ import { c as _c } from "react/compiler-runtime";
4
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
+ import { getTranslation } from '@payloadcms/translations';
6
+ import { toWords } from 'payload/shared';
7
+ import React from 'react';
8
+ import { FieldLabel } from '../../../../fields/FieldLabel/index.js';
9
+ import { useField } from '../../../../forms/useField/index.js';
10
+ import { useConfig } from '../../../../providers/Config/index.js';
11
+ import { useListQuery } from '../../../../providers/ListQuery/index.js';
12
+ import { useTranslation } from '../../../../providers/Translation/index.js';
13
+ import { Pill } from '../../../Pill/index.js';
14
+ import './index.scss';
15
+ /** @todo: improve this */
16
+ const transformWhereToNaturalLanguage = (where, collectionLabel) => {
17
+ if (!where) {
18
+ return null;
19
+ }
20
+ const renderCondition = condition => {
21
+ const key = Object.keys(condition)[0];
22
+ const operator = Object.keys(condition[key])[0];
23
+ let value = condition[key][operator];
24
+ // TODO: this is not right, but works for now at least.
25
+ // Ideally we look up iterate _fields_ so we know the type of the field
26
+ // Currently, we're only iterating over the `where` field's value, so we don't know the type
27
+ if (typeof value === 'object') {
28
+ try {
29
+ value = new Date(value).toLocaleDateString();
30
+ } catch (_err) {
31
+ value = 'Unknown error has occurred';
32
+ }
33
+ }
34
+ return /*#__PURE__*/_jsxs(Pill, {
35
+ pillStyle: "always-white",
36
+ children: [/*#__PURE__*/_jsx("b", {
37
+ children: toWords(key)
38
+ }), " ", operator, " ", /*#__PURE__*/_jsx("b", {
39
+ children: toWords(value)
40
+ })]
41
+ });
42
+ };
43
+ const renderWhere = (where, collectionLabel) => {
44
+ if (where.or && where.or.length > 0) {
45
+ return /*#__PURE__*/_jsx("div", {
46
+ className: "or-condition",
47
+ children: where.or.map((orCondition, orIndex) => /*#__PURE__*/_jsx(React.Fragment, {
48
+ children: orCondition.and && orCondition.and.length > 0 ? /*#__PURE__*/_jsxs("div", {
49
+ className: "and-condition",
50
+ children: [orIndex === 0 && /*#__PURE__*/_jsx("span", {
51
+ className: "label",
52
+ children: `Filter ${collectionLabel} where `
53
+ }), orIndex > 0 && /*#__PURE__*/_jsx("span", {
54
+ className: "label",
55
+ children: " or "
56
+ }), orCondition.and.map((andCondition, andIndex) => /*#__PURE__*/_jsxs(React.Fragment, {
57
+ children: [renderCondition(andCondition), andIndex < orCondition.and.length - 1 && /*#__PURE__*/_jsx("span", {
58
+ className: "label",
59
+ children: " and "
60
+ })]
61
+ }, andIndex))]
62
+ }) : renderCondition(orCondition)
63
+ }, orIndex))
64
+ });
65
+ }
66
+ return renderCondition(where);
67
+ };
68
+ return renderWhere(where, collectionLabel);
69
+ };
70
+ export const QueryPresetsWhereField = t0 => {
71
+ const $ = _c(2);
72
+ const {
73
+ field: t1,
74
+ path
75
+ } = t0;
76
+ const {
77
+ label,
78
+ required
79
+ } = t1;
80
+ let t2;
81
+ if ($[0] !== path) {
82
+ t2 = {
83
+ path
84
+ };
85
+ $[0] = path;
86
+ $[1] = t2;
87
+ } else {
88
+ t2 = $[1];
89
+ }
90
+ const {
91
+ value
92
+ } = useField(t2);
93
+ const {
94
+ collectionSlug
95
+ } = useListQuery();
96
+ const {
97
+ getEntityConfig
98
+ } = useConfig();
99
+ const collectionConfig = getEntityConfig({
100
+ collectionSlug
101
+ });
102
+ const {
103
+ i18n
104
+ } = useTranslation();
105
+ return _jsxs("div", {
106
+ className: "field-type query-preset-where-field",
107
+ children: [_jsx(FieldLabel, {
108
+ as: "h3",
109
+ label,
110
+ path,
111
+ required
112
+ }), _jsx("div", {
113
+ className: "value-wrapper",
114
+ children: value ? transformWhereToNaturalLanguage(value, getTranslation(collectionConfig.labels.plural, i18n)) : "No where query"
115
+ })]
116
+ });
117
+ };
118
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","names":["c","_c","getTranslation","toWords","React","FieldLabel","useField","useConfig","useListQuery","useTranslation","Pill","transformWhereToNaturalLanguage","where","collectionLabel","renderCondition","condition","key","Object","keys","operator","value","Date","toLocaleDateString","_err","_jsxs","pillStyle","_jsx","renderWhere","or","length","className","map","orCondition","orIndex","Fragment","and","andCondition","andIndex","QueryPresetsWhereField","t0","$","field","t1","path","label","required","t2","collectionSlug","getEntityConfig","collectionConfig","i18n","children","as","labels","plural"],"sources":["../../../../../src/elements/QueryPresets/fields/WhereField/index.tsx"],"sourcesContent":["'use client'\nimport type { JSONFieldClientComponent, Where } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { toWords } from 'payload/shared'\nimport React from 'react'\n\nimport { FieldLabel } from '../../../../fields/FieldLabel/index.js'\nimport { useField } from '../../../../forms/useField/index.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useListQuery } from '../../../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { Pill } from '../../../Pill/index.js'\nimport './index.scss'\n\n/** @todo: improve this */\nconst transformWhereToNaturalLanguage = (\n where: Where,\n collectionLabel: string,\n): React.ReactNode => {\n if (!where) {\n return null\n }\n\n const renderCondition = (condition: any): React.ReactNode => {\n const key = Object.keys(condition)[0]\n const operator = Object.keys(condition[key])[0]\n let value = condition[key][operator]\n\n // TODO: this is not right, but works for now at least.\n // Ideally we look up iterate _fields_ so we know the type of the field\n // Currently, we're only iterating over the `where` field's value, so we don't know the type\n if (typeof value === 'object') {\n try {\n value = new Date(value).toLocaleDateString()\n } catch (_err) {\n value = 'Unknown error has occurred'\n }\n }\n\n return (\n <Pill pillStyle=\"always-white\">\n <b>{toWords(key)}</b> {operator} <b>{toWords(value)}</b>\n </Pill>\n )\n }\n\n const renderWhere = (where: Where, collectionLabel: string): React.ReactNode => {\n if (where.or && where.or.length > 0) {\n return (\n <div className=\"or-condition\">\n {where.or.map((orCondition, orIndex) => (\n <React.Fragment key={orIndex}>\n {orCondition.and && orCondition.and.length > 0 ? (\n <div className=\"and-condition\">\n {orIndex === 0 && (\n <span className=\"label\">{`Filter ${collectionLabel} where `}</span>\n )}\n {orIndex > 0 && <span className=\"label\"> or </span>}\n {orCondition.and.map((andCondition, andIndex) => (\n <React.Fragment key={andIndex}>\n {renderCondition(andCondition)}\n {andIndex < orCondition.and.length - 1 && (\n <span className=\"label\"> and </span>\n )}\n </React.Fragment>\n ))}\n </div>\n ) : (\n renderCondition(orCondition)\n )}\n </React.Fragment>\n ))}\n </div>\n )\n }\n\n return renderCondition(where)\n }\n\n return renderWhere(where, collectionLabel)\n}\n\nexport const QueryPresetsWhereField: JSONFieldClientComponent = ({\n field: { label, required },\n path,\n}) => {\n const { value } = useField({ path })\n const { collectionSlug } = useListQuery()\n const { getEntityConfig } = useConfig()\n\n const collectionConfig = getEntityConfig({ collectionSlug })\n\n const { i18n } = useTranslation()\n\n return (\n <div className=\"field-type query-preset-where-field\">\n <FieldLabel as=\"h3\" label={label} path={path} required={required} />\n <div className=\"value-wrapper\">\n {value\n ? transformWhereToNaturalLanguage(\n value as Where,\n getTranslation(collectionConfig.labels.plural, i18n),\n )\n : 'No where query'}\n </div>\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,23 @@
1
+ @import '../../../../scss/styles';
2
+
3
+ @layer payload-default {
4
+ .query-preset-where-field {
5
+ .field-label {
6
+ margin-bottom: calc(var(--base) / 2);
7
+ }
8
+
9
+ .value-wrapper {
10
+ background-color: var(--theme-elevation-50);
11
+ padding: var(--base);
12
+ }
13
+ }
14
+
15
+ .query-preset-where-field {
16
+ .pill {
17
+ &--style-always-white {
18
+ background: var(--theme-elevation-250);
19
+ color: var(--theme-elevation-1000);
20
+ }
21
+ }
22
+ }
23
+ }
@@ -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';
7
8
  import { useDocumentDrawer } from '../../../DocumentDrawer/index.js';
8
9
  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","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
+ {"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 +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;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"}
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"}
@@ -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 { transformColumnsToPreferences } from 'payload/shared';
5
+ import { hoistQueryParamsToAnd, 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,17 +13,16 @@ 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';
16
17
  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';
20
19
  import { ColumnSelector } from '../ColumnSelector/index.js';
21
20
  import { useDocumentDrawer } from '../DocumentDrawer/index.js';
22
21
  import { Popup, PopupList } from '../Popup/index.js';
23
22
  import { RelationshipProvider } from '../Table/RelationshipProvider/index.js';
24
- import { TableColumnsProvider } from '../TableColumns/index.js';
25
23
  import { DrawerLink } from './cells/DrawerLink/index.js';
26
24
  import { RelationshipTablePagination } from './Pagination.js';
25
+ import './index.scss';
27
26
  const baseClass = 'relationship-table';
28
27
  export const RelationshipTable = props => {
29
28
  const {
@@ -1 +1 @@
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
+ {"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":"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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,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"}
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"}
@@ -2,10 +2,8 @@
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, useContext, useState } from 'react';
6
- export const useStepNav = () => {
7
- return useContext(Context);
8
- };
5
+ import React, { createContext, use, useState } from 'react';
6
+ export const useStepNav = () => use(Context);
9
7
  export const Context = /*#__PURE__*/createContext({});
10
8
  export const StepNavProvider = t0 => {
11
9
  const $ = _c(4);
@@ -22,7 +20,7 @@ export const StepNavProvider = t0 => {
22
20
  const [stepNav, setStepNav] = useState(t1);
23
21
  let t2;
24
22
  if ($[1] !== children || $[2] !== stepNav) {
25
- t2 = _jsx(Context.Provider, {
23
+ t2 = _jsx(Context, {
26
24
  value: {
27
25
  setStepNav,
28
26
  stepNav
@@ -1 +1 @@
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
+ {"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 +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;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"}
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"}
@@ -5,6 +5,8 @@ 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;
8
10
  export const FileCell = ({
9
11
  cellData: filename,
10
12
  collectionConfig,
@@ -14,6 +16,27 @@ export const FileCell = ({
14
16
  const fieldPreviewAllowed = 'displayPreview' in field ? field.displayPreview : undefined;
15
17
  const previewAllowed = fieldPreviewAllowed ?? collectionConfig.upload?.displayPreview ?? true;
16
18
  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
+ }
17
40
  return /*#__PURE__*/_jsxs("div", {
18
41
  className: baseClass,
19
42
  children: [/*#__PURE__*/_jsx(Thumbnail, {
@@ -23,7 +46,7 @@ export const FileCell = ({
23
46
  ...rowData,
24
47
  filename
25
48
  },
26
- fileSrc: rowData?.thumbnailURL || rowData?.url,
49
+ fileSrc: fileSrc,
27
50
  size: "small",
28
51
  uploadConfig: collectionConfig?.upload
29
52
  }), /*#__PURE__*/_jsx("span", {