@payloadcms/ui 3.29.0-internal.d2c9ba5 → 3.29.0-internal.e4e913b

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 (356) hide show
  1. package/dist/elements/Autosave/index.js +1 -1
  2. package/dist/elements/Autosave/index.js.map +1 -1
  3. package/dist/elements/BulkUpload/EditMany/DrawerContent.d.ts.map +1 -1
  4. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +143 -127
  5. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  6. package/dist/elements/BulkUpload/EditMany/index.d.ts.map +1 -1
  7. package/dist/elements/BulkUpload/EditMany/index.js +1 -1
  8. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  9. package/dist/elements/BulkUpload/FileSidebar/index.d.ts.map +1 -1
  10. package/dist/elements/BulkUpload/FileSidebar/index.js +5 -5
  11. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  12. package/dist/elements/BulkUpload/FormsManager/index.js +3 -3
  13. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/index.d.ts.map +1 -1
  15. package/dist/elements/BulkUpload/index.js +2 -4
  16. package/dist/elements/BulkUpload/index.js.map +1 -1
  17. package/dist/elements/Collapsible/provider.d.ts.map +1 -1
  18. package/dist/elements/Collapsible/provider.js +3 -5
  19. package/dist/elements/Collapsible/provider.js.map +1 -1
  20. package/dist/elements/DocumentControls/index.js +1 -1
  21. package/dist/elements/DocumentControls/index.js.map +1 -1
  22. package/dist/elements/DocumentDrawer/Provider.d.ts.map +1 -1
  23. package/dist/elements/DocumentDrawer/Provider.js +3 -3
  24. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  25. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentFields/index.js +1 -5
  27. package/dist/elements/DocumentFields/index.js.map +1 -1
  28. package/dist/elements/Drawer/index.d.ts.map +1 -1
  29. package/dist/elements/Drawer/index.js +3 -5
  30. package/dist/elements/Drawer/index.js.map +1 -1
  31. package/dist/elements/EditMany/DrawerContent.d.ts +3 -1
  32. package/dist/elements/EditMany/DrawerContent.d.ts.map +1 -1
  33. package/dist/elements/EditMany/DrawerContent.js +122 -124
  34. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  35. package/dist/elements/EditMany/index.js +7 -7
  36. package/dist/elements/EditMany/index.js.map +1 -1
  37. package/dist/elements/EditMany/index.scss +14 -3
  38. package/dist/elements/FieldSelect/index.d.ts +12 -7
  39. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  40. package/dist/elements/FieldSelect/index.js +34 -131
  41. package/dist/elements/FieldSelect/index.js.map +1 -1
  42. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +19 -0
  43. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -0
  44. package/dist/elements/FieldSelect/reduceFieldOptions.js +57 -0
  45. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -0
  46. package/dist/elements/LeaveWithoutSaving/usePreventLeave.d.ts.map +1 -1
  47. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +2 -1
  48. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  49. package/dist/elements/ListDrawer/Provider.js +3 -3
  50. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  51. package/dist/elements/LoadingOverlay/index.js +3 -3
  52. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  53. package/dist/elements/Nav/context.d.ts.map +1 -1
  54. package/dist/elements/Nav/context.js +2 -4
  55. package/dist/elements/Nav/context.js.map +1 -1
  56. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts +2 -1
  57. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.d.ts.map +1 -1
  58. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +5 -2
  59. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  60. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  61. package/dist/elements/PublishButton/ScheduleDrawer/index.js +3 -3
  62. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  63. package/dist/elements/StepNav/context.d.ts.map +1 -1
  64. package/dist/elements/StepNav/context.js +3 -5
  65. package/dist/elements/StepNav/context.js.map +1 -1
  66. package/dist/elements/Table/DefaultCell/fields/Date/index.js +1 -1
  67. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  68. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  69. package/dist/elements/Table/DefaultCell/fields/File/index.js +24 -1
  70. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  71. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -1
  72. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  73. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  74. package/dist/elements/Table/DefaultCell/index.js +32 -25
  75. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  76. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  77. package/dist/elements/Table/RelationshipProvider/index.js +3 -5
  78. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  79. package/dist/elements/TableColumns/RenderDefaultCell/index.d.ts.map +1 -1
  80. package/dist/elements/TableColumns/RenderDefaultCell/index.js +2 -4
  81. package/dist/elements/TableColumns/RenderDefaultCell/index.js.map +1 -1
  82. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  83. package/dist/elements/TableColumns/buildColumnState.js +8 -1
  84. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  85. package/dist/elements/TableColumns/context.d.ts.map +1 -1
  86. package/dist/elements/TableColumns/context.js +2 -2
  87. package/dist/elements/TableColumns/context.js.map +1 -1
  88. package/dist/elements/TableColumns/index.js +1 -1
  89. package/dist/elements/TableColumns/index.js.map +1 -1
  90. package/dist/elements/Thumbnail/index.js +25 -23
  91. package/dist/elements/Thumbnail/index.js.map +1 -1
  92. package/dist/elements/ThumbnailCard/index.js +1 -1
  93. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  94. package/dist/elements/Toasts/fieldErrors.d.ts.map +1 -1
  95. package/dist/elements/Toasts/fieldErrors.js +2 -2
  96. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  97. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  98. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +3 -0
  99. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  100. package/dist/elements/WhereBuilder/reduceFields.js +2 -2
  101. package/dist/elements/WhereBuilder/reduceFields.js.map +1 -1
  102. package/dist/exports/client/{CodeEditor-TQ5ADFPC.js → CodeEditor-J4IKAVAK.js} +2 -2
  103. package/dist/exports/client/{DatePicker-HHQ6TPOW.js → DatePicker-DMHV2M2L.js} +2 -2
  104. package/dist/exports/client/{chunk-IMEQ6NKQ.js → chunk-3AA2TJQ5.js} +2 -2
  105. package/dist/exports/client/{chunk-IMEQ6NKQ.js.map → chunk-3AA2TJQ5.js.map} +3 -3
  106. package/dist/exports/client/{chunk-LMYT7O7U.js → chunk-PKQOCWZD.js} +2 -2
  107. package/dist/exports/client/{chunk-LMYT7O7U.js.map → chunk-PKQOCWZD.js.map} +3 -3
  108. package/dist/exports/client/index.js +11 -11
  109. package/dist/exports/client/index.js.map +4 -4
  110. package/dist/exports/shared/index.d.ts +2 -2
  111. package/dist/exports/shared/index.d.ts.map +1 -1
  112. package/dist/exports/shared/index.js +2 -2
  113. package/dist/exports/shared/index.js.map +4 -4
  114. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  115. package/dist/fields/Array/ArrayRow.js +1 -1
  116. package/dist/fields/Array/ArrayRow.js.map +1 -1
  117. package/dist/fields/Array/index.d.ts.map +1 -1
  118. package/dist/fields/Array/index.js +4 -3
  119. package/dist/fields/Array/index.js.map +1 -1
  120. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  121. package/dist/fields/Blocks/BlockRow.js +26 -20
  122. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  123. package/dist/fields/Blocks/index.d.ts.map +1 -1
  124. package/dist/fields/Blocks/index.js +5 -4
  125. package/dist/fields/Blocks/index.js.map +1 -1
  126. package/dist/fields/Checkbox/index.d.ts +1 -1
  127. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  128. package/dist/fields/Checkbox/index.js +4 -3
  129. package/dist/fields/Checkbox/index.js.map +1 -1
  130. package/dist/fields/Code/index.d.ts.map +1 -1
  131. package/dist/fields/Code/index.js +4 -3
  132. package/dist/fields/Code/index.js.map +1 -1
  133. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  134. package/dist/fields/Collapsible/index.js +3 -2
  135. package/dist/fields/Collapsible/index.js.map +1 -1
  136. package/dist/fields/ConfirmPassword/index.js +13 -11
  137. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  138. package/dist/fields/DateTime/index.d.ts.map +1 -1
  139. package/dist/fields/DateTime/index.js +5 -4
  140. package/dist/fields/DateTime/index.js.map +1 -1
  141. package/dist/fields/Email/index.d.ts.map +1 -1
  142. package/dist/fields/Email/index.js +3 -2
  143. package/dist/fields/Email/index.js.map +1 -1
  144. package/dist/fields/Group/index.d.ts.map +1 -1
  145. package/dist/fields/Group/index.js.map +1 -1
  146. package/dist/fields/Group/index.scss +12 -6
  147. package/dist/fields/Group/provider.d.ts.map +1 -1
  148. package/dist/fields/Group/provider.js +3 -5
  149. package/dist/fields/Group/provider.js.map +1 -1
  150. package/dist/fields/JSON/index.d.ts.map +1 -1
  151. package/dist/fields/JSON/index.js +5 -4
  152. package/dist/fields/JSON/index.js.map +1 -1
  153. package/dist/fields/Number/index.d.ts.map +1 -1
  154. package/dist/fields/Number/index.js +6 -5
  155. package/dist/fields/Number/index.js.map +1 -1
  156. package/dist/fields/Password/index.d.ts.map +1 -1
  157. package/dist/fields/Password/index.js +2 -4
  158. package/dist/fields/Password/index.js.map +1 -1
  159. package/dist/fields/Point/index.d.ts.map +1 -1
  160. package/dist/fields/Point/index.js +4 -3
  161. package/dist/fields/Point/index.js.map +1 -1
  162. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  163. package/dist/fields/RadioGroup/index.js +4 -3
  164. package/dist/fields/RadioGroup/index.js.map +1 -1
  165. package/dist/fields/Relationship/index.d.ts.map +1 -1
  166. package/dist/fields/Relationship/index.js +5 -4
  167. package/dist/fields/Relationship/index.js.map +1 -1
  168. package/dist/fields/Relationship/optionsReducer.js +1 -1
  169. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  170. package/dist/fields/Row/provider.d.ts.map +1 -1
  171. package/dist/fields/Row/provider.js +3 -5
  172. package/dist/fields/Row/provider.js.map +1 -1
  173. package/dist/fields/Select/index.d.ts.map +1 -1
  174. package/dist/fields/Select/index.js +4 -3
  175. package/dist/fields/Select/index.js.map +1 -1
  176. package/dist/fields/Tabs/Tab/index.d.ts +1 -0
  177. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  178. package/dist/fields/Tabs/Tab/index.js +29 -25
  179. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  180. package/dist/fields/Tabs/Tab/index.scss +4 -0
  181. package/dist/fields/Tabs/index.d.ts +1 -1
  182. package/dist/fields/Tabs/index.d.ts.map +1 -1
  183. package/dist/fields/Tabs/index.js +285 -194
  184. package/dist/fields/Tabs/index.js.map +1 -1
  185. package/dist/fields/Tabs/index.scss +8 -0
  186. package/dist/fields/Tabs/provider.d.ts.map +1 -1
  187. package/dist/fields/Tabs/provider.js +3 -5
  188. package/dist/fields/Tabs/provider.js.map +1 -1
  189. package/dist/fields/Text/index.d.ts.map +1 -1
  190. package/dist/fields/Text/index.js +4 -3
  191. package/dist/fields/Text/index.js.map +1 -1
  192. package/dist/fields/Textarea/index.d.ts.map +1 -1
  193. package/dist/fields/Textarea/index.js +2 -1
  194. package/dist/fields/Textarea/index.js.map +1 -1
  195. package/dist/fields/Upload/index.d.ts.map +1 -1
  196. package/dist/fields/Upload/index.js +2 -1
  197. package/dist/fields/Upload/index.js.map +1 -1
  198. package/dist/forms/Form/context.d.ts.map +1 -1
  199. package/dist/forms/Form/context.js +9 -25
  200. package/dist/forms/Form/context.js.map +1 -1
  201. package/dist/forms/Form/fieldReducer.js +1 -1
  202. package/dist/forms/Form/fieldReducer.js.map +1 -1
  203. package/dist/forms/Form/index.d.ts.map +1 -1
  204. package/dist/forms/Form/index.js +8 -8
  205. package/dist/forms/Form/index.js.map +1 -1
  206. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  207. package/dist/forms/RenderFields/index.js +1 -1
  208. package/dist/forms/RenderFields/index.js.map +1 -1
  209. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  210. package/dist/forms/RowLabel/Context/index.js +2 -2
  211. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  212. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  213. package/dist/forms/RowLabel/index.js +2 -2
  214. package/dist/forms/RowLabel/index.js.map +1 -1
  215. package/dist/forms/RowLabel/types.d.ts +1 -1
  216. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  217. package/dist/forms/RowLabel/types.js.map +1 -1
  218. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts +3 -1
  219. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  220. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +45 -1
  221. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  222. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts +4 -2
  223. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.d.ts.map +1 -1
  224. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +4 -0
  225. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  226. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts +4 -2
  227. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  228. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +4 -0
  229. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  230. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts +4 -2
  231. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.d.ts.map +1 -1
  232. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +41 -2
  233. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  234. package/dist/forms/fieldSchemasToFormState/index.d.ts +4 -2
  235. package/dist/forms/fieldSchemasToFormState/index.d.ts.map +1 -1
  236. package/dist/forms/fieldSchemasToFormState/index.js +6 -0
  237. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  238. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts +4 -2
  239. package/dist/forms/fieldSchemasToFormState/iterateFields.d.ts.map +1 -1
  240. package/dist/forms/fieldSchemasToFormState/iterateFields.js +16 -0
  241. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  242. package/dist/forms/useField/index.d.ts.map +1 -1
  243. package/dist/forms/useField/index.js +70 -67
  244. package/dist/forms/useField/index.js.map +1 -1
  245. package/dist/forms/useField/types.d.ts +1 -0
  246. package/dist/forms/useField/types.d.ts.map +1 -1
  247. package/dist/forms/useField/types.js.map +1 -1
  248. package/dist/hooks/useQueues.js +3 -3
  249. package/dist/hooks/useQueues.js.map +1 -1
  250. package/dist/providers/Actions/index.d.ts.map +1 -1
  251. package/dist/providers/Actions/index.js +3 -5
  252. package/dist/providers/Actions/index.js.map +1 -1
  253. package/dist/providers/Auth/index.d.ts.map +1 -1
  254. package/dist/providers/Auth/index.js +3 -5
  255. package/dist/providers/Auth/index.js.map +1 -1
  256. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  257. package/dist/providers/ClientFunction/index.js +4 -4
  258. package/dist/providers/ClientFunction/index.js.map +1 -1
  259. package/dist/providers/Config/index.d.ts.map +1 -1
  260. package/dist/providers/Config/index.js +3 -5
  261. package/dist/providers/Config/index.js.map +1 -1
  262. package/dist/providers/DocumentEvents/index.d.ts.map +1 -1
  263. package/dist/providers/DocumentEvents/index.js +3 -5
  264. package/dist/providers/DocumentEvents/index.js.map +1 -1
  265. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  266. package/dist/providers/DocumentInfo/index.js +4 -6
  267. package/dist/providers/DocumentInfo/index.js.map +1 -1
  268. package/dist/providers/EditDepth/index.d.ts.map +1 -1
  269. package/dist/providers/EditDepth/index.js +3 -5
  270. package/dist/providers/EditDepth/index.js.map +1 -1
  271. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  272. package/dist/providers/EntityVisibility/index.js +3 -5
  273. package/dist/providers/EntityVisibility/index.js.map +1 -1
  274. package/dist/providers/ListQuery/context.d.ts.map +1 -1
  275. package/dist/providers/ListQuery/context.js +2 -2
  276. package/dist/providers/ListQuery/context.js.map +1 -1
  277. package/dist/providers/ListQuery/index.js +1 -1
  278. package/dist/providers/ListQuery/index.js.map +1 -1
  279. package/dist/providers/Locale/index.d.ts.map +1 -1
  280. package/dist/providers/Locale/index.js +5 -9
  281. package/dist/providers/Locale/index.js.map +1 -1
  282. package/dist/providers/Operation/index.d.ts.map +1 -1
  283. package/dist/providers/Operation/index.js +3 -5
  284. package/dist/providers/Operation/index.js.map +1 -1
  285. package/dist/providers/Params/index.d.ts.map +1 -1
  286. package/dist/providers/Params/index.js +3 -5
  287. package/dist/providers/Params/index.js.map +1 -1
  288. package/dist/providers/Preferences/index.d.ts.map +1 -1
  289. package/dist/providers/Preferences/index.js +3 -5
  290. package/dist/providers/Preferences/index.js.map +1 -1
  291. package/dist/providers/RouteCache/index.d.ts.map +1 -1
  292. package/dist/providers/RouteCache/index.js +3 -5
  293. package/dist/providers/RouteCache/index.js.map +1 -1
  294. package/dist/providers/RouteTransition/index.d.ts.map +1 -1
  295. package/dist/providers/RouteTransition/index.js +2 -4
  296. package/dist/providers/RouteTransition/index.js.map +1 -1
  297. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  298. package/dist/providers/SearchParams/index.js +3 -5
  299. package/dist/providers/SearchParams/index.js.map +1 -1
  300. package/dist/providers/Selection/index.d.ts.map +1 -1
  301. package/dist/providers/Selection/index.js +3 -5
  302. package/dist/providers/Selection/index.js.map +1 -1
  303. package/dist/providers/ServerFunctions/index.js +2 -2
  304. package/dist/providers/ServerFunctions/index.js.map +1 -1
  305. package/dist/providers/Theme/index.d.ts.map +1 -1
  306. package/dist/providers/Theme/index.js +3 -5
  307. package/dist/providers/Theme/index.js.map +1 -1
  308. package/dist/providers/Translation/index.d.ts.map +1 -1
  309. package/dist/providers/Translation/index.js +3 -5
  310. package/dist/providers/Translation/index.js.map +1 -1
  311. package/dist/providers/UploadEdits/index.d.ts.map +1 -1
  312. package/dist/providers/UploadEdits/index.js +2 -4
  313. package/dist/providers/UploadEdits/index.js.map +1 -1
  314. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  315. package/dist/providers/UploadHandlers/index.js +3 -3
  316. package/dist/providers/UploadHandlers/index.js.map +1 -1
  317. package/dist/styles.css +1 -1
  318. package/dist/utilities/buildFormState.d.ts.map +1 -1
  319. package/dist/utilities/buildFormState.js +5 -1
  320. package/dist/utilities/buildFormState.js.map +1 -1
  321. package/dist/utilities/combineFieldLabel.d.ts +7 -0
  322. package/dist/utilities/combineFieldLabel.d.ts.map +1 -0
  323. package/dist/utilities/combineFieldLabel.js +31 -0
  324. package/dist/utilities/combineFieldLabel.js.map +1 -0
  325. package/dist/utilities/{formatDate.d.ts → formatDocTitle/formatDateTitle.d.ts} +1 -1
  326. package/dist/utilities/formatDocTitle/formatDateTitle.d.ts.map +1 -0
  327. package/dist/utilities/{formatDate.js → formatDocTitle/formatDateTitle.js} +1 -1
  328. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -0
  329. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts +19 -0
  330. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.d.ts.map +1 -0
  331. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +19 -0
  332. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -0
  333. package/dist/utilities/{formatDocTitle.d.ts → formatDocTitle/index.d.ts} +2 -2
  334. package/dist/utilities/formatDocTitle/index.d.ts.map +1 -0
  335. package/dist/utilities/{formatDocTitle.js → formatDocTitle/index.js} +11 -3
  336. package/dist/utilities/formatDocTitle/index.js.map +1 -0
  337. package/dist/utilities/getDisplayedFieldValue.d.ts +13 -0
  338. package/dist/utilities/getDisplayedFieldValue.d.ts.map +1 -0
  339. package/dist/utilities/getDisplayedFieldValue.js +28 -0
  340. package/dist/utilities/getDisplayedFieldValue.js.map +1 -0
  341. package/dist/utilities/hasOptionLabelJSXElement.d.ts +3 -0
  342. package/dist/utilities/hasOptionLabelJSXElement.d.ts.map +1 -0
  343. package/dist/utilities/hasOptionLabelJSXElement.js +15 -0
  344. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -0
  345. package/dist/views/Edit/SetDocumentTitle/index.js +1 -1
  346. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  347. package/dist/views/Edit/index.d.ts.map +1 -1
  348. package/dist/views/Edit/index.js +1 -1
  349. package/dist/views/Edit/index.js.map +1 -1
  350. package/package.json +4 -4
  351. package/dist/utilities/formatDate.d.ts.map +0 -1
  352. package/dist/utilities/formatDate.js.map +0 -1
  353. package/dist/utilities/formatDocTitle.d.ts.map +0 -1
  354. package/dist/utilities/formatDocTitle.js.map +0 -1
  355. /package/dist/exports/client/{CodeEditor-TQ5ADFPC.js.map → CodeEditor-J4IKAVAK.js.map} +0 -0
  356. /package/dist/exports/client/{DatePicker-HHQ6TPOW.js.map → DatePicker-DMHV2M2L.js.map} +0 -0
@@ -8,7 +8,7 @@ const baseClass = 'thumbnail';
8
8
  import { File } from '../../graphics/File/index.js';
9
9
  import { ShimmerEffect } from '../ShimmerEffect/index.js';
10
10
  export const Thumbnail = props => {
11
- const $ = _c(17);
11
+ const $ = _c(18);
12
12
  const {
13
13
  className: t0,
14
14
  doc: t1,
@@ -26,7 +26,8 @@ export const Thumbnail = props => {
26
26
  t2 = $[1];
27
27
  }
28
28
  const {
29
- filename
29
+ filename,
30
+ mimeType
30
31
  } = t2;
31
32
  const [fileExists, setFileExists] = React.useState(undefined);
32
33
  const t3 = `${baseClass}--size-${size || "medium"}`;
@@ -42,9 +43,9 @@ export const Thumbnail = props => {
42
43
  const classNames = t4.join(" ");
43
44
  let t5;
44
45
  let t6;
45
- if ($[5] !== fileSrc) {
46
+ if ($[5] !== fileSrc || $[6] !== mimeType) {
46
47
  t5 = () => {
47
- if (!fileSrc) {
48
+ if (!fileSrc || typeof mimeType === "string" && !mimeType.startsWith("image")) {
48
49
  setFileExists(false);
49
50
  return;
50
51
  }
@@ -58,34 +59,35 @@ export const Thumbnail = props => {
58
59
  setFileExists(false);
59
60
  };
60
61
  };
61
- t6 = [fileSrc];
62
+ t6 = [fileSrc, mimeType];
62
63
  $[5] = fileSrc;
63
- $[6] = t5;
64
- $[7] = t6;
64
+ $[6] = mimeType;
65
+ $[7] = t5;
66
+ $[8] = t6;
65
67
  } else {
66
- t5 = $[6];
67
- t6 = $[7];
68
+ t5 = $[7];
69
+ t6 = $[8];
68
70
  }
69
71
  React.useEffect(t5, t6);
70
- let src = "";
72
+ let src = null;
71
73
  if (fileSrc) {
72
74
  const queryChar = fileSrc?.includes("?") ? "&" : "?";
73
75
  src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc;
74
76
  }
75
77
  let t7;
76
- if ($[8] !== classNames || $[9] !== fileExists || $[10] !== filename || $[11] !== src) {
78
+ if ($[9] !== classNames || $[10] !== fileExists || $[11] !== filename || $[12] !== src) {
77
79
  let t8;
78
- if ($[13] !== fileExists || $[14] !== filename || $[15] !== src) {
80
+ if ($[14] !== fileExists || $[15] !== filename || $[16] !== src) {
79
81
  t8 = fileExists && _jsx("img", {
80
82
  alt: filename,
81
83
  src
82
84
  });
83
- $[13] = fileExists;
84
- $[14] = filename;
85
- $[15] = src;
86
- $[16] = t8;
85
+ $[14] = fileExists;
86
+ $[15] = filename;
87
+ $[16] = src;
88
+ $[17] = t8;
87
89
  } else {
88
- t8 = $[16];
90
+ t8 = $[17];
89
91
  }
90
92
  t7 = _jsxs("div", {
91
93
  className: classNames,
@@ -93,13 +95,13 @@ export const Thumbnail = props => {
93
95
  height: "100%"
94
96
  }), t8, fileExists === false && _jsx(File, {})]
95
97
  });
96
- $[8] = classNames;
97
- $[9] = fileExists;
98
- $[10] = filename;
99
- $[11] = src;
100
- $[12] = t7;
98
+ $[9] = classNames;
99
+ $[10] = fileExists;
100
+ $[11] = filename;
101
+ $[12] = src;
102
+ $[13] = t7;
101
103
  } else {
102
- t7 = $[12];
104
+ t7 = $[13];
103
105
  }
104
106
  return t7;
105
107
  };
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","baseClass","File","ShimmerEffect","Thumbnail","props","$","className","t0","doc","t1","fileSrc","imageCacheTag","size","undefined","t2","filename","fileExists","setFileExists","useState","t3","t4","classNames","join","t5","t6","img","Image","src","onload","onerror","useEffect","queryChar","includes","encodeURIComponent","t7","t8","_jsx","alt","_jsxs","children","height","ThumbnailComponent"],"sources":["../../../src/elements/Thumbnail/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'thumbnail'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { File } from '../../graphics/File/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\n\nexport type ThumbnailProps = {\n className?: string\n collectionSlug?: string\n doc?: Record<string, unknown>\n fileSrc?: string\n imageCacheTag?: string\n size?: 'expand' | 'large' | 'medium' | 'small'\n uploadConfig?: SanitizedCollectionConfig['upload']\n}\n\nexport const Thumbnail: React.FC<ThumbnailProps> = (props) => {\n const { className = '', doc: { filename } = {}, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n let src: string = ''\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={filename as string} src={src} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n\ntype ThumbnailComponentProps = {\n readonly alt?: string\n readonly className?: string\n readonly filename: string\n readonly fileSrc: string\n readonly imageCacheTag?: string\n readonly size?: 'expand' | 'large' | 'medium' | 'small'\n}\nexport function ThumbnailComponent(props: ThumbnailComponentProps) {\n const { alt, className = '', filename, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n let src: string = ''\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={alt || filename} src={src} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","baseClass","File","ShimmerEffect","Thumbnail","props","$","className","t0","doc","t1","fileSrc","imageCacheTag","size","undefined","t2","filename","mimeType","fileExists","setFileExists","useState","t3","t4","classNames","join","t5","t6","startsWith","img","Image","src","onload","onerror","useEffect","queryChar","includes","encodeURIComponent","t7","t8","_jsx","alt","_jsxs","children","height","ThumbnailComponent"],"sources":["../../../src/elements/Thumbnail/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'thumbnail'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { File } from '../../graphics/File/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\n\nexport type ThumbnailProps = {\n className?: string\n collectionSlug?: string\n doc?: Record<string, unknown>\n fileSrc?: string\n imageCacheTag?: string\n size?: 'expand' | 'large' | 'medium' | 'small'\n uploadConfig?: SanitizedCollectionConfig['upload']\n}\n\nexport const Thumbnail: React.FC<ThumbnailProps> = (props) => {\n const { className = '', doc: { filename, mimeType } = {}, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc || (typeof mimeType === 'string' && !mimeType.startsWith('image'))) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc, mimeType])\n\n let src: null | string = null\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={filename as string} src={src} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n\ntype ThumbnailComponentProps = {\n readonly alt?: string\n readonly className?: string\n readonly filename: string\n readonly fileSrc: string\n readonly imageCacheTag?: string\n readonly size?: 'expand' | 'large' | 'medium' | 'small'\n}\nexport function ThumbnailComponent(props: ThumbnailComponentProps) {\n const { alt, className = '', filename, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n setFileExists(undefined)\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n let src: string = ''\n\n /**\n * If an imageCacheTag is provided, append it to the fileSrc\n * Check if the fileSrc already has a query string, if it does, append the imageCacheTag with an ampersand\n */\n if (fileSrc) {\n const queryChar = fileSrc?.includes('?') ? '&' : '?'\n src = imageCacheTag ? `${fileSrc}${queryChar}${encodeURIComponent(imageCacheTag)}` : fileSrc\n }\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && <img alt={alt || filename} src={src} />}\n {fileExists === false && <File />}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -5,7 +5,7 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
5
5
  import React from 'react';
6
6
  import { useConfig } from '../../providers/Config/index.js';
7
7
  import { useTranslation } from '../../providers/Translation/index.js';
8
- import { formatDocTitle } from '../../utilities/formatDocTitle.js';
8
+ import { formatDocTitle } from '../../utilities/formatDocTitle/index.js';
9
9
  import './index.scss';
10
10
  const baseClass = 'thumbnail-card';
11
11
  export const ThumbnailCard = props => {
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","React","useConfig","useTranslation","formatDocTitle","baseClass","ThumbnailCard","props","$","alignLabel","className","collection","doc","label","labelFromProps","onClick","thumbnail","config","i18n","t0","t1","t2","filter","Boolean","classes","join","title","t3","filename","t4","admin","dateFormat","collectionConfig","data","fallback","_jsxs","type","children","_jsx"],"sources":["../../../src/elements/ThumbnailCard/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, TypeWithID } from 'payload'\n\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport './index.scss'\n\nexport type ThumbnailCardProps = {\n alignLabel?: 'center' | 'left'\n className?: string\n collection?: ClientCollectionConfig\n doc?: { filename?: string } & TypeWithID\n label?: string\n onClick?: () => void\n onKeyDown?: () => void\n thumbnail: React.ReactNode\n}\n\nconst baseClass = 'thumbnail-card'\n\nexport const ThumbnailCard: React.FC<ThumbnailCardProps> = (props) => {\n const {\n alignLabel,\n className,\n collection,\n doc,\n label: labelFromProps,\n onClick,\n thumbnail,\n } = props\n\n const { config } = useConfig()\n\n const { i18n } = useTranslation()\n\n const classes = [\n baseClass,\n className,\n typeof onClick === 'function' && `${baseClass}--has-on-click`,\n alignLabel && `${baseClass}--align-label-${alignLabel}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let title = labelFromProps\n\n if (!title) {\n title = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: doc?.filename,\n i18n,\n })\n }\n\n return (\n <button className={classes} onClick={onClick} title={title} type=\"button\">\n <div className={`${baseClass}__thumbnail`}>{thumbnail}</div>\n <div className={`${baseClass}__label`}>{title}</div>\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAaP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAA8CC,KAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EACzD;IAAAS,UAAA;IAAAC,SAAA;IAAAC,UAAA;IAAAC,GAAA;IAAAC,KAAA,EAAAC,cAAA;IAAAC,OAAA;IAAAC;EAAA,IAQIT,KAAA;EAEJ;IAAAU;EAAA,IAAmBf,SAAA;EAEnB;IAAAgB;EAAA,IAAiBf,cAAA;EAKf,MAAAgB,EAAA,UAAOJ,OAAA,KAAY,cAAc,GAAAV,SAAA,gBAA4B;EAC7D,MAAAe,EAAA,GAAAX,UAAA,IAAc,GAAAJ,SAAA,iBAA6BI,UAAA,EAAY;EAAA,IAAAY,EAAA;EAAA,IAAAb,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAY,EAAA;IAJzCC,EAAA,IAAAhB,SAAA,EAEdK,SAAA,EACAS,EAA6D,EAC7DC,EAAuD,EAAAE,MAAA,CAAAC,OAE/C;IAAAf,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;IAAAZ,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EANV,MAAAgB,OAAA,GAAgBH,EAMN,CAAAI,IAAA,CACF;EAER,IAAAC,KAAA,GAAYZ,cAAA;EAAA,KAEPY,KAAA;IAKS,MAAAC,EAAA,GAAAf,GAAA,EAAAgB,QAAA;IAAK,IAAAC,EAAA;IAAA,IAAArB,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAS,MAAA,CAAAa,KAAA,CAAAC,UAAA,IAAAvB,CAAA,QAAAI,GAAA,IAAAJ,CAAA,QAAAU,IAAA,IAAAV,CAAA,QAAAmB,EAAA;MAJTE,EAAA,GAAAzB,cAAA;QAAA4B,gBAAA,EACYrB,UAAA;QAAAsB,IAAA,EACZrB,GAAA;QAAAmB,UAAA,EACMd,MAAA,CAAAa,KAAA,CAAAC,UAAA;QAAAG,QAAA,EACFP,EAAK;QAAAT;MAAA,CAEjB;MAAAV,CAAA,MAAAG,UAAA;MAAAH,CAAA,MAAAS,MAAA,CAAAa,KAAA,CAAAC,UAAA;MAAAvB,CAAA,MAAAI,GAAA;MAAAJ,CAAA,MAAAU,IAAA;MAAAV,CAAA,MAAAmB,EAAA;MAAAnB,CAAA,MAAAqB,EAAA;IAAA;MAAAA,EAAA,GAAArB,CAAA;IAAA;IANAkB,KAAA,CAAAA,CAAA,CAAQA,EAMR;EANA;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,SAAAgB,OAAA,IAAAhB,CAAA,SAAAO,OAAA,IAAAP,CAAA,SAAAQ,SAAA,IAAAR,CAAA,SAAAkB,KAAA;IAUAC,EAAA,GAAAQ,KAAA,CAAC;MAAAzB,SAAA,EAAkBc,OAAA;MAAAT,OAAA;MAAAW,KAAA;MAAAU,IAAA,EAA8C;MAAAC,QAAA,GAC/DC,IAAA,CAAC;QAAA5B,SAAA,EAAe,GAAAL,SAAA,aAAyB;QAAAgC,QAAA,EAAGrB;MAAA,C,GAC5CsB,IAAA,CAAC;QAAA5B,SAAA,EAAe,GAAAL,SAAA,SAAqB;QAAAgC,QAAA,EAAGX;MAAA,C;;;;;;;;;;SAF1CC,E;CAKJ","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["c","_c","React","useConfig","useTranslation","formatDocTitle","baseClass","ThumbnailCard","props","$","alignLabel","className","collection","doc","label","labelFromProps","onClick","thumbnail","config","i18n","t0","t1","t2","filter","Boolean","classes","join","title","t3","filename","t4","admin","dateFormat","collectionConfig","data","fallback","_jsxs","type","children","_jsx"],"sources":["../../../src/elements/ThumbnailCard/index.tsx"],"sourcesContent":["'use client'\nimport type { ClientCollectionConfig, TypeWithID } from 'payload'\n\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle/index.js'\nimport './index.scss'\n\nexport type ThumbnailCardProps = {\n alignLabel?: 'center' | 'left'\n className?: string\n collection?: ClientCollectionConfig\n doc?: { filename?: string } & TypeWithID\n label?: string\n onClick?: () => void\n onKeyDown?: () => void\n thumbnail: React.ReactNode\n}\n\nconst baseClass = 'thumbnail-card'\n\nexport const ThumbnailCard: React.FC<ThumbnailCardProps> = (props) => {\n const {\n alignLabel,\n className,\n collection,\n doc,\n label: labelFromProps,\n onClick,\n thumbnail,\n } = props\n\n const { config } = useConfig()\n\n const { i18n } = useTranslation()\n\n const classes = [\n baseClass,\n className,\n typeof onClick === 'function' && `${baseClass}--has-on-click`,\n alignLabel && `${baseClass}--align-label-${alignLabel}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let title = labelFromProps\n\n if (!title) {\n title = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: doc?.filename,\n i18n,\n })\n }\n\n return (\n <button className={classes} onClick={onClick} title={title} type=\"button\">\n <div className={`${baseClass}__thumbnail`}>{thumbnail}</div>\n <div className={`${baseClass}__label`}>{title}</div>\n </button>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAGA,OAAOC,KAAA,MAAW;AAElB,SAASC,SAAS,QAAQ;AAC1B,SAASC,cAAc,QAAQ;AAC/B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAaP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,aAAA,GAA8CC,KAAA;EAAA,MAAAC,CAAA,GAAAR,EAAA;EACzD;IAAAS,UAAA;IAAAC,SAAA;IAAAC,UAAA;IAAAC,GAAA;IAAAC,KAAA,EAAAC,cAAA;IAAAC,OAAA;IAAAC;EAAA,IAQIT,KAAA;EAEJ;IAAAU;EAAA,IAAmBf,SAAA;EAEnB;IAAAgB;EAAA,IAAiBf,cAAA;EAKf,MAAAgB,EAAA,UAAOJ,OAAA,KAAY,cAAc,GAAAV,SAAA,gBAA4B;EAC7D,MAAAe,EAAA,GAAAX,UAAA,IAAc,GAAAJ,SAAA,iBAA6BI,UAAA,EAAY;EAAA,IAAAY,EAAA;EAAA,IAAAb,CAAA,QAAAE,SAAA,IAAAF,CAAA,QAAAW,EAAA,IAAAX,CAAA,QAAAY,EAAA;IAJzCC,EAAA,IAAAhB,SAAA,EAEdK,SAAA,EACAS,EAA6D,EAC7DC,EAAuD,EAAAE,MAAA,CAAAC,OAE/C;IAAAf,CAAA,MAAAE,SAAA;IAAAF,CAAA,MAAAW,EAAA;IAAAX,CAAA,MAAAY,EAAA;IAAAZ,CAAA,MAAAa,EAAA;EAAA;IAAAA,EAAA,GAAAb,CAAA;EAAA;EANV,MAAAgB,OAAA,GAAgBH,EAMN,CAAAI,IAAA,CACF;EAER,IAAAC,KAAA,GAAYZ,cAAA;EAAA,KAEPY,KAAA;IAKS,MAAAC,EAAA,GAAAf,GAAA,EAAAgB,QAAA;IAAK,IAAAC,EAAA;IAAA,IAAArB,CAAA,QAAAG,UAAA,IAAAH,CAAA,QAAAS,MAAA,CAAAa,KAAA,CAAAC,UAAA,IAAAvB,CAAA,QAAAI,GAAA,IAAAJ,CAAA,QAAAU,IAAA,IAAAV,CAAA,QAAAmB,EAAA;MAJTE,EAAA,GAAAzB,cAAA;QAAA4B,gBAAA,EACYrB,UAAA;QAAAsB,IAAA,EACZrB,GAAA;QAAAmB,UAAA,EACMd,MAAA,CAAAa,KAAA,CAAAC,UAAA;QAAAG,QAAA,EACFP,EAAK;QAAAT;MAAA,CAEjB;MAAAV,CAAA,MAAAG,UAAA;MAAAH,CAAA,MAAAS,MAAA,CAAAa,KAAA,CAAAC,UAAA;MAAAvB,CAAA,MAAAI,GAAA;MAAAJ,CAAA,MAAAU,IAAA;MAAAV,CAAA,MAAAmB,EAAA;MAAAnB,CAAA,MAAAqB,EAAA;IAAA;MAAAA,EAAA,GAAArB,CAAA;IAAA;IANAkB,KAAA,CAAAA,CAAA,CAAQA,EAMR;EANA;EAAA,IAAAC,EAAA;EAAA,IAAAnB,CAAA,SAAAgB,OAAA,IAAAhB,CAAA,SAAAO,OAAA,IAAAP,CAAA,SAAAQ,SAAA,IAAAR,CAAA,SAAAkB,KAAA;IAUAC,EAAA,GAAAQ,KAAA,CAAC;MAAAzB,SAAA,EAAkBc,OAAA;MAAAT,OAAA;MAAAW,KAAA;MAAAU,IAAA,EAA8C;MAAAC,QAAA,GAC/DC,IAAA,CAAC;QAAA5B,SAAA,EAAe,GAAAL,SAAA,aAAyB;QAAAgC,QAAA,EAAGrB;MAAA,C,GAC5CsB,IAAA,CAAC;QAAA5B,SAAA,EAAe,GAAAL,SAAA,SAAqB;QAAAgC,QAAA,EAAGX;MAAA,C;;;;;;;;;;SAF1CC,E;CAKJ","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"fieldErrors.d.ts","sourceRoot":"","sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAyDzB,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE;;CAAA,qBAehD"}
1
+ {"version":3,"file":"fieldErrors.d.ts","sourceRoot":"","sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAwDzB,wBAAgB,gBAAgB,CAAC,EAAE,YAAY,EAAE;;CAAA,qBAehD"}
@@ -27,12 +27,12 @@ function groupSimilarErrors(items) {
27
27
  }
28
28
  function createErrorsFromMessage(message) {
29
29
  const [intro, errorsString] = message.split(':');
30
- const errors = (errorsString || '').split(',').map(error => error.replaceAll(' > ', ' → ').trim());
31
- if (errors.length === 0) {
30
+ if (!errorsString) {
32
31
  return {
33
32
  message: intro
34
33
  };
35
34
  }
35
+ const errors = errorsString.split(',').map(error => error.replaceAll(' > ', ' → ').trim());
36
36
  if (errors.length === 1) {
37
37
  return {
38
38
  errors,
@@ -1 +1 @@
1
- {"version":3,"file":"fieldErrors.js","names":["c","_c","React","groupSimilarErrors","items","result","item","parts","split","inserted","i","length","startsWith","splice","push","createErrorsFromMessage","message","intro","errorsString","errors","map","error","replaceAll","trim","FieldErrorsToast","t0","$","errorMessage","t1","t2","useState","t3","_jsxs","children","Array","isArray","_jsx","_temp","index"],"sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nfunction groupSimilarErrors(items: string[]): string[] {\n const result: string[] = []\n\n for (const item of items) {\n if (item) {\n const parts = item.split(' → ')\n let inserted = false\n\n // Find a place where a similar path exists\n for (let i = 0; i < result.length; i++) {\n if (result[i].startsWith(parts[0])) {\n result.splice(i + 1, 0, item)\n inserted = true\n break\n }\n }\n\n // If no similar path was found, add to the end\n if (!inserted) {\n result.push(item)\n }\n }\n }\n\n return result\n}\n\nfunction createErrorsFromMessage(message: string): {\n errors?: string[]\n message: string\n} {\n const [intro, errorsString] = message.split(':')\n const errors = (errorsString || '')\n .split(',')\n .map((error) => error.replaceAll(' > ', ' → ').trim())\n\n if (errors.length === 0) {\n return {\n message: intro,\n }\n }\n\n if (errors.length === 1) {\n return {\n errors,\n message: `${intro}:`,\n }\n }\n\n return {\n errors: groupSimilarErrors(errors),\n message: `${intro} (${errors.length}):`,\n }\n}\n\nexport function FieldErrorsToast({ errorMessage }) {\n const [{ errors, message }] = React.useState(() => createErrorsFromMessage(errorMessage))\n\n return (\n <div>\n {message}\n {Array.isArray(errors) && errors.length > 0 ? (\n <ul data-testid=\"field-errors\">\n {errors.map((error, index) => {\n return <li key={index}>{error}</li>\n })}\n </ul>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,mBAAmBC,KAAe;EACzC,MAAMC,MAAA,GAAmB,EAAE;EAE3B,KAAK,MAAMC,IAAA,IAAQF,KAAA,EAAO;IACxB,IAAIE,IAAA,EAAM;MACR,MAAMC,KAAA,GAAQD,IAAA,CAAKE,KAAK,CAAC;MACzB,IAAIC,QAAA,GAAW;MAEf;MACA,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIL,MAAA,CAAOM,MAAM,EAAED,CAAA,IAAK;QACtC,IAAIL,MAAM,CAACK,CAAA,CAAE,CAACE,UAAU,CAACL,KAAK,CAAC,EAAE,GAAG;UAClCF,MAAA,CAAOQ,MAAM,CAACH,CAAA,GAAI,GAAG,GAAGJ,IAAA;UACxBG,QAAA,GAAW;UACX;QACF;MACF;MAEA;MACA,IAAI,CAACA,QAAA,EAAU;QACbJ,MAAA,CAAOS,IAAI,CAACR,IAAA;MACd;IACF;EACF;EAEA,OAAOD,MAAA;AACT;AAEA,SAASU,wBAAwBC,OAAe;EAI9C,MAAM,CAACC,KAAA,EAAOC,YAAA,CAAa,GAAGF,OAAA,CAAQR,KAAK,CAAC;EAC5C,MAAMW,MAAA,GAAS,CAACD,YAAA,IAAgB,EAAC,EAC9BV,KAAK,CAAC,KACNY,GAAG,CAAEC,KAAA,IAAUA,KAAA,CAAMC,UAAU,CAAC,OAAO,OAAOC,IAAI;EAErD,IAAIJ,MAAA,CAAOR,MAAM,KAAK,GAAG;IACvB,OAAO;MACLK,OAAA,EAASC;IACX;EACF;EAEA,IAAIE,MAAA,CAAOR,MAAM,KAAK,GAAG;IACvB,OAAO;MACLQ,MAAA;MACAH,OAAA,EAAS,GAAGC,KAAA;IACd;EACF;EAEA,OAAO;IACLE,MAAA,EAAQhB,kBAAA,CAAmBgB,MAAA;IAC3BH,OAAA,EAAS,GAAGC,KAAA,KAAUE,MAAA,CAAOR,MAAM;EACrC;AACF;AAEA,OAAO,SAAAa,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAzB,EAAA;EAA0B;IAAA0B;EAAA,IAAAF,EAAgB;EAAA,IAAAG,EAAA;EAAA,IAAAF,CAAA,QAAAC,YAAA;IACFC,EAAA,GAAAA,CAAA,KAAMb,uBAAA,CAAwBY,YAAA;IAAAD,CAAA,MAAAC,YAAA;IAAAD,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAA3E,OAAAG,EAAA,IAA8B3B,KAAA,CAAA4B,QAAA,CAAeF,EAA8B;EAApE;IAAAT,MAAA;IAAAH;EAAA,IAAAa,EAAmB;EAAA,IAAAE,EAAA;EAAA,IAAAL,CAAA,QAAAP,MAAA,IAAAO,CAAA,QAAAV,OAAA;IAGxBe,EAAA,GAAAC,KAAA,CAAC;MAAAC,QAAA,GACEjB,OAAA,EACAkB,KAAA,CAAAC,OAAA,CAAchB,MAAA,KAAWA,MAAA,CAAAR,MAAA,IAAgB,GACxCyB,IAAA,CAAC;QAAA,eAAe;QAAAH,QAAA,EACbd,MAAA,CAAAC,GAAA,CAAAiB,KAED;MAAA,C,QAEA;IAAA,C;;;;;;;SARNN,E;;AAJG,SAAAM,MAAAhB,KAAA,EAAAiB,KAAA;EAAA,OASYF,IAAA,CAAC;IAAAH,QAAA,EAAgBZ;EAAA,GAARiB,KAAA;AAAA","ignoreList":[]}
1
+ {"version":3,"file":"fieldErrors.js","names":["c","_c","React","groupSimilarErrors","items","result","item","parts","split","inserted","i","length","startsWith","splice","push","createErrorsFromMessage","message","intro","errorsString","errors","map","error","replaceAll","trim","FieldErrorsToast","t0","$","errorMessage","t1","t2","useState","t3","_jsxs","children","Array","isArray","_jsx","_temp","index"],"sources":["../../../src/elements/Toasts/fieldErrors.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nfunction groupSimilarErrors(items: string[]): string[] {\n const result: string[] = []\n\n for (const item of items) {\n if (item) {\n const parts = item.split(' → ')\n let inserted = false\n\n // Find a place where a similar path exists\n for (let i = 0; i < result.length; i++) {\n if (result[i].startsWith(parts[0])) {\n result.splice(i + 1, 0, item)\n inserted = true\n break\n }\n }\n\n // If no similar path was found, add to the end\n if (!inserted) {\n result.push(item)\n }\n }\n }\n\n return result\n}\n\nfunction createErrorsFromMessage(message: string): {\n errors?: string[]\n message: string\n} {\n const [intro, errorsString] = message.split(':')\n\n if (!errorsString) {\n return {\n message: intro,\n }\n }\n\n const errors = errorsString.split(',').map((error) => error.replaceAll(' > ', ' → ').trim())\n\n if (errors.length === 1) {\n return {\n errors,\n message: `${intro}:`,\n }\n }\n\n return {\n errors: groupSimilarErrors(errors),\n message: `${intro} (${errors.length}):`,\n }\n}\n\nexport function FieldErrorsToast({ errorMessage }) {\n const [{ errors, message }] = React.useState(() => createErrorsFromMessage(errorMessage))\n\n return (\n <div>\n {message}\n {Array.isArray(errors) && errors.length > 0 ? (\n <ul data-testid=\"field-errors\">\n {errors.map((error, index) => {\n return <li key={index}>{error}</li>\n })}\n </ul>\n ) : null}\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,mBAAmBC,KAAe;EACzC,MAAMC,MAAA,GAAmB,EAAE;EAE3B,KAAK,MAAMC,IAAA,IAAQF,KAAA,EAAO;IACxB,IAAIE,IAAA,EAAM;MACR,MAAMC,KAAA,GAAQD,IAAA,CAAKE,KAAK,CAAC;MACzB,IAAIC,QAAA,GAAW;MAEf;MACA,KAAK,IAAIC,CAAA,GAAI,GAAGA,CAAA,GAAIL,MAAA,CAAOM,MAAM,EAAED,CAAA,IAAK;QACtC,IAAIL,MAAM,CAACK,CAAA,CAAE,CAACE,UAAU,CAACL,KAAK,CAAC,EAAE,GAAG;UAClCF,MAAA,CAAOQ,MAAM,CAACH,CAAA,GAAI,GAAG,GAAGJ,IAAA;UACxBG,QAAA,GAAW;UACX;QACF;MACF;MAEA;MACA,IAAI,CAACA,QAAA,EAAU;QACbJ,MAAA,CAAOS,IAAI,CAACR,IAAA;MACd;IACF;EACF;EAEA,OAAOD,MAAA;AACT;AAEA,SAASU,wBAAwBC,OAAe;EAI9C,MAAM,CAACC,KAAA,EAAOC,YAAA,CAAa,GAAGF,OAAA,CAAQR,KAAK,CAAC;EAE5C,IAAI,CAACU,YAAA,EAAc;IACjB,OAAO;MACLF,OAAA,EAASC;IACX;EACF;EAEA,MAAME,MAAA,GAASD,YAAA,CAAaV,KAAK,CAAC,KAAKY,GAAG,CAAEC,KAAA,IAAUA,KAAA,CAAMC,UAAU,CAAC,OAAO,OAAOC,IAAI;EAEzF,IAAIJ,MAAA,CAAOR,MAAM,KAAK,GAAG;IACvB,OAAO;MACLQ,MAAA;MACAH,OAAA,EAAS,GAAGC,KAAA;IACd;EACF;EAEA,OAAO;IACLE,MAAA,EAAQhB,kBAAA,CAAmBgB,MAAA;IAC3BH,OAAA,EAAS,GAAGC,KAAA,KAAUE,MAAA,CAAOR,MAAM;EACrC;AACF;AAEA,OAAO,SAAAa,iBAAAC,EAAA;EAAA,MAAAC,CAAA,GAAAzB,EAAA;EAA0B;IAAA0B;EAAA,IAAAF,EAAgB;EAAA,IAAAG,EAAA;EAAA,IAAAF,CAAA,QAAAC,YAAA;IACFC,EAAA,GAAAA,CAAA,KAAMb,uBAAA,CAAwBY,YAAA;IAAAD,CAAA,MAAAC,YAAA;IAAAD,CAAA,MAAAE,EAAA;EAAA;IAAAA,EAAA,GAAAF,CAAA;EAAA;EAA3E,OAAAG,EAAA,IAA8B3B,KAAA,CAAA4B,QAAA,CAAeF,EAA8B;EAApE;IAAAT,MAAA;IAAAH;EAAA,IAAAa,EAAmB;EAAA,IAAAE,EAAA;EAAA,IAAAL,CAAA,QAAAP,MAAA,IAAAO,CAAA,QAAAV,OAAA;IAGxBe,EAAA,GAAAC,KAAA,CAAC;MAAAC,QAAA,GACEjB,OAAA,EACAkB,KAAA,CAAAC,OAAA,CAAchB,MAAA,KAAWA,MAAA,CAAAR,MAAA,IAAgB,GACxCyB,IAAA,CAAC;QAAA,eAAe;QAAAH,QAAA,EACbd,MAAA,CAAAC,GAAA,CAAAiB,KAED;MAAA,C,QAEA;IAAA,C;;;;;;;SARNN,E;;AAJG,SAAAM,MAAAhB,KAAA,EAAAiB,KAAA;EAAA,OASYF,IAAA,CAAC;IAAAH,QAAA,EAAgBZ;EAAA,GAARiB,KAAA;AAAA","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAG3E,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAA;AAQ1D,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA6Y9C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAuD,MAAM,OAAO,CAAA;AAG3E,OAAO,KAAK,EAAE,KAAK,EAAqB,MAAM,YAAY,CAAA;AAS1D,OAAO,cAAc,CAAA;AAMrB,eAAO,MAAM,kBAAkB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA+Y9C,CAAA"}
@@ -6,6 +6,7 @@ import React, { useCallback, useEffect, useReducer, useState } from 'react';
6
6
  import { useDebounce } from '../../../../hooks/useDebounce.js';
7
7
  import { useEffectEvent } from '../../../../hooks/useEffectEvent.js';
8
8
  import { useConfig } from '../../../../providers/Config/index.js';
9
+ import { useLocale } from '../../../../providers/Locale/index.js';
9
10
  import { useTranslation } from '../../../../providers/Translation/index.js';
10
11
  import { ReactSelect } from '../../../ReactSelect/index.js';
11
12
  import optionsReducer from './optionsReducer.js';
@@ -45,6 +46,7 @@ export const RelationshipFilter = props => {
45
46
  i18n,
46
47
  t
47
48
  } = useTranslation();
49
+ const locale = useLocale();
48
50
  const relationSlugs = hasMultipleRelations ? relationTo : [relationTo];
49
51
  const loadedRelationships = React.useRef(new Map(relationSlugs.map(relation => [relation, {
50
52
  hasLoadedAll: false,
@@ -79,6 +81,7 @@ export const RelationshipFilter = props => {
79
81
  const query = {
80
82
  depth: 0,
81
83
  limit: maxResultsPerRequest,
84
+ locale: locale.code,
82
85
  page: loadedRelationship.nextPage,
83
86
  select: {
84
87
  [fieldToSearch]: true
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useEffectEvent","useConfig","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipFilter","props","disabled","field","admin","isSortable","hasMany","relationTo","filterOptions","onChange","value","config","routes","api","serverURL","getEntityConfig","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","debouncedSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","i18n","t","relationSlugs","loadedRelationships","useRef","Map","map","relation","hasLoadedAll","nextPage","addOptions","data","collection","collectionSlug","type","loadOptions","abortController","relationSlug","loadedRelationship","current","get","fieldToSearch","useAsTitle","where","and","query","depth","limit","page","select","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","set","e","aborted","console","error","handleScrollToBottom","relationshipToLoad","entries","next","AbortController","findOptionsByValue","val","matchedOption","forEach","opt","some","subOpt","find","undefined","valueWithRelation","handleInputChange","input","required","addOptionByID","id","relations","abortControllers","controller","abort","_err","matchedOptions","option","i","classes","filter","Boolean","join","valueToRender","_jsxs","className","_jsx","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport optionsReducer from './optionsReducer.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipFilter: React.FC<Props> = (props) => {\n const {\n disabled,\n field: { admin: { isSortable } = {}, hasMany, relationTo },\n filterOptions,\n onChange,\n value,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const debouncedSearch = useDebounce(search, 300)\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const { i18n, t } = useTranslation()\n\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n\n const loadedRelationships = React.useRef<\n Map<\n string,\n {\n hasLoadedAll: boolean\n nextPage: number\n }\n >\n >(\n new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n ),\n )\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = getEntityConfig({ collectionSlug: relation })\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [hasMultipleRelations, i18n, getEntityConfig],\n )\n\n const loadOptions = useEffectEvent(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const loadedRelationship = loadedRelationships.current.get(relationSlug)\n\n if (relationSlug && !loadedRelationship.hasLoadedAll) {\n const collection = getEntityConfig({\n collectionSlug: relationSlug,\n })\n\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n\n const where: Where = {\n and: [],\n }\n\n const query = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: loadedRelationship.nextPage,\n select: {\n [fieldToSearch]: true,\n },\n where,\n }\n\n if (filterOptions && filterOptions?.[relationSlug]) {\n query.where.and.push(filterOptions[relationSlug])\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${qs.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (data.nextPage) {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: false,\n nextPage: data.nextPage,\n })\n } else {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: true,\n nextPage: null,\n })\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n )\n\n const handleScrollToBottom = React.useCallback(() => {\n const relationshipToLoad = loadedRelationships.current.entries().next().value\n\n if (relationshipToLoad[0] && !relationshipToLoad[1].hasLoadedAll) {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relationshipToLoad[0],\n })\n }\n }, [])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (input: string) => {\n if (input !== search) {\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n\n const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n setSearch(input)\n }\n },\n [i18n, relationTo, search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * When `relationTo` changes externally, reset the options and reload them from scratch\n * The `loadOptions` dependency is a useEffectEvent which has no dependencies of its own\n * This means we can safely depend on it without it triggering this effect to run\n * This is useful because this effect should _only_ run when `relationTo` changes\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relations.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n setHasLoadedFirstOptions(false)\n\n const abortControllers: AbortController[] = []\n\n relations.forEach((relation) => {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relation,\n })\n\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) {\n try {\n controller.abort()\n } catch (_err) {\n // swallow error\n }\n }\n })\n }\n }, [i18n, relationTo, debouncedSearch])\n\n /**\n * Load any other options that might exist in the value that were not loaded already\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n void addOptionByID(value[i].value, value[i].relationTo)\n } else {\n void addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n void addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n void addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {!errorLoading && (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n\n if (hasMany && Array.isArray(selected)) {\n onChange(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option?.relationTo,\n value: option?.value,\n }\n }\n\n return option?.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else if (!Array.isArray(selected)) {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={handleScrollToBottom}\n options={options}\n placeholder={t('general:selectValue')}\n value={valueToRender}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useEffectEvent","useConfig","useLocale","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipFilter","props","disabled","field","admin","isSortable","hasMany","relationTo","filterOptions","onChange","value","config","routes","api","serverURL","getEntityConfig","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","debouncedSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","i18n","t","locale","relationSlugs","loadedRelationships","useRef","Map","map","relation","hasLoadedAll","nextPage","addOptions","data","collection","collectionSlug","type","loadOptions","abortController","relationSlug","loadedRelationship","current","get","fieldToSearch","useAsTitle","where","and","query","depth","limit","code","page","select","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","set","e","aborted","console","error","handleScrollToBottom","relationshipToLoad","entries","next","AbortController","findOptionsByValue","val","matchedOption","forEach","opt","some","subOpt","find","undefined","valueWithRelation","handleInputChange","input","required","addOptionByID","id","relations","abortControllers","controller","abort","_err","matchedOptions","option","i","classes","filter","Boolean","join","valueToRender","_jsxs","className","_jsx","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs, Where } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useEffectEvent } from '../../../../hooks/useEffectEvent.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useLocale } from '../../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport optionsReducer from './optionsReducer.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipFilter: React.FC<Props> = (props) => {\n const {\n disabled,\n field: { admin: { isSortable } = {}, hasMany, relationTo },\n filterOptions,\n onChange,\n value,\n } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n getEntityConfig,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const debouncedSearch = useDebounce(search, 300)\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const { i18n, t } = useTranslation()\n const locale = useLocale()\n\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n\n const loadedRelationships = React.useRef<\n Map<\n string,\n {\n hasLoadedAll: boolean\n nextPage: number\n }\n >\n >(\n new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n ),\n )\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = getEntityConfig({ collectionSlug: relation })\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [hasMultipleRelations, i18n, getEntityConfig],\n )\n\n const loadOptions = useEffectEvent(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const loadedRelationship = loadedRelationships.current.get(relationSlug)\n\n if (relationSlug && !loadedRelationship.hasLoadedAll) {\n const collection = getEntityConfig({\n collectionSlug: relationSlug,\n })\n\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n\n const where: Where = {\n and: [],\n }\n\n const query = {\n depth: 0,\n limit: maxResultsPerRequest,\n locale: locale.code,\n page: loadedRelationship.nextPage,\n select: {\n [fieldToSearch]: true,\n },\n where,\n }\n\n if (filterOptions && filterOptions?.[relationSlug]) {\n query.where.and.push(filterOptions[relationSlug])\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${qs.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (data.nextPage) {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: false,\n nextPage: data.nextPage,\n })\n } else {\n loadedRelationships.current.set(relationSlug, {\n hasLoadedAll: true,\n nextPage: null,\n })\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e) // eslint-disable-line no-console\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n )\n\n const handleScrollToBottom = React.useCallback(() => {\n const relationshipToLoad = loadedRelationships.current.entries().next().value\n\n if (relationshipToLoad[0] && !relationshipToLoad[1].hasLoadedAll) {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relationshipToLoad[0],\n })\n }\n }, [])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value == valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value == value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (input: string) => {\n if (input !== search) {\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n\n const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relationSlugs.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n setSearch(input)\n }\n },\n [i18n, relationTo, search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * When `relationTo` changes externally, reset the options and reload them from scratch\n * The `loadOptions` dependency is a useEffectEvent which has no dependencies of its own\n * This means we can safely depend on it without it triggering this effect to run\n * This is useful because this effect should _only_ run when `relationTo` changes\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n loadedRelationships.current = new Map(\n relations.map((relation) => [\n relation,\n {\n hasLoadedAll: false,\n nextPage: 1,\n },\n ]),\n )\n\n dispatchOptions({ type: 'CLEAR', i18n, required: false })\n setHasLoadedFirstOptions(false)\n\n const abortControllers: AbortController[] = []\n\n relations.forEach((relation) => {\n const abortController = new AbortController()\n\n void loadOptions({\n abortController,\n relationSlug: relation,\n })\n\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) {\n try {\n controller.abort()\n } catch (_err) {\n // swallow error\n }\n }\n })\n }\n }, [i18n, relationTo, debouncedSearch])\n\n /**\n * Load any other options that might exist in the value that were not loaded already\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n void addOptionByID(value[i].value, value[i].relationTo)\n } else {\n void addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n void addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n void addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {!errorLoading && (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n\n if (hasMany && Array.isArray(selected)) {\n onChange(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option?.relationTo,\n value: option?.value,\n }\n }\n\n return option?.value\n })\n : null,\n )\n } else if (hasMultipleRelations && !Array.isArray(selected)) {\n onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else if (!Array.isArray(selected)) {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={handleScrollToBottom}\n options={options}\n placeholder={t('general:selectValue')}\n value={valueToRender}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -3,7 +3,7 @@
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import { fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared';
5
5
  import { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js';
6
- import { combineLabel } from '../FieldSelect/index.js';
6
+ import { combineFieldLabel } from '../../utilities/combineFieldLabel.js';
7
7
  import fieldTypes from './field-types.js';
8
8
  /**
9
9
  * Reduces a field map to a flat array of fields with labels and values.
@@ -88,7 +88,7 @@ export const reduceFields = ({
88
88
  return acc;
89
89
  }, []);
90
90
  const localizedLabel = getTranslation(field.label || '', i18n);
91
- const formattedLabel = labelPrefix ? combineLabel({
91
+ const formattedLabel = labelPrefix ? combineFieldLabel({
92
92
  field,
93
93
  prefix: labelPrefix
94
94
  }) : localizedLabel;
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFields.js","names":["getTranslation","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","createNestedClientFieldPath","combineLabel","fieldTypes","reduceFields","fields","i18n","labelPrefix","pathPrefix","reduce","reduced","field","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","operatorKeys","Set","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField"],"sources":["../../../src/elements/WhereBuilder/reduceFields.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from './types.js'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineLabel } from '../FieldSelect/index.js'\nimport fieldTypes from './field-types.js'\n\ntype ReduceFieldOptionsArgs = {\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Reduces a field map to a flat array of fields with labels and values.\n * Used in the WhereBuilder component to render the fields in the dropdown.\n */\nexport const reduceFields = ({\n fields,\n i18n,\n labelPrefix,\n pathPrefix,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) {\n return reduced\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFields({\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFields({\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n\n const operators = fieldTypes[field.type].operators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const fieldPath = pathPrefix ? createNestedClientFieldPath(pathPrefix, field) : field.name\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n value: fieldPath,\n ...fieldTypes[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n return reduced\n }, [])\n}\n"],"mappings":"AAAA;;AAIA,SAASA,cAAc,QAAQ;AAC/B,SAASC,uBAAuB,EAAEC,SAAS,EAAEC,UAAU,QAAQ;AAI/D,SAASC,2BAA2B,QAAQ;AAC5C,SAASC,YAAY,QAAQ;AAC7B,OAAOC,UAAA,MAAgB;AASvB;;;;AAIA,OAAO,MAAMC,YAAA,GAAeA,CAAC;EAC3BC,MAAM;EACNC,IAAI;EACJC,WAAW;EACXC;AAAU,CACa;EACvB,OAAOH,MAAA,CAAOI,MAAM,CAAC,CAACC,OAAA,EAASC,KAAA;IAC7B;IACA,IAAIb,uBAAA,CAAwBa,KAAA,KAAU,CAACZ,SAAA,CAAUY,KAAA,GAAQ;MACvD,OAAOD,OAAA;IACT;IAEA,IAAIC,KAAA,CAAMC,IAAI,KAAK,UAAU,UAAUD,KAAA,EAAO;MAC5C,MAAME,IAAA,GAAOF,KAAA,CAAME,IAAI;MAEvBA,IAAA,CAAKC,OAAO,CAAEC,GAAA;QACZ,IAAI,OAAOA,GAAA,CAAIC,KAAK,KAAK,WAAW;UAClC,MAAMC,iBAAA,GAAoBpB,cAAA,CAAekB,GAAA,CAAIC,KAAK,EAAEV,IAAA;UAEpD,MAAMY,eAAA,GAAkBX,WAAA,GACpBA,WAAA,GAAc,QAAQU,iBAAA,GACtBA,iBAAA;UAEJ;UACA,MAAME,aAAA,GACJnB,UAAA,CAAWe,GAAA,KAAQA,GAAA,CAAIK,IAAI,GACvBZ,UAAA,GACEA,UAAA,GAAa,MAAMO,GAAA,CAAIK,IAAI,GAC3BL,GAAA,CAAIK,IAAI,GACVZ,UAAA;UAEN,IAAI,OAAOS,iBAAA,KAAsB,UAAU;YACzCP,OAAA,CAAQW,IAAI,IACPjB,YAAA,CAAa;cACdC,MAAA,EAAQU,GAAA,CAAIV,MAAM;cAClBC,IAAA;cACAC,WAAA,EAAaW,eAAA;cACbV,UAAA,EAAYW;YACd;UAEJ;QACF;MACF;MACA,OAAOT,OAAA;IACT;IAEA;IACA,IAAIC,KAAA,CAAMC,IAAI,KAAK,SAAS,YAAYD,KAAA,EAAO;MAC7CD,OAAA,CAAQW,IAAI,IACPjB,YAAA,CAAa;QACdC,MAAA,EAAQM,KAAA,CAAMN,MAAM;QACpBC,IAAA;QACAC,WAAA;QACAC;MACF;MAEF,OAAOE,OAAA;IACT;IAEA,IAAIC,KAAA,CAAMC,IAAI,KAAK,iBAAiB,YAAYD,KAAA,EAAO;MACrD,MAAMM,iBAAA,GAAoBpB,cAAA,CAAec,KAAA,CAAMK,KAAK,IAAI,IAAIV,IAAA;MAE5D,MAAMY,eAAA,GAAkBX,WAAA,GACpBA,WAAA,GAAc,QAAQU,iBAAA,GACtBA,iBAAA;MAEJP,OAAA,CAAQW,IAAI,IACPjB,YAAA,CAAa;QACdC,MAAA,EAAQM,KAAA,CAAMN,MAAM;QACpBC,IAAA;QACAC,WAAA,EAAaW,eAAA;QACbV;MACF;MAEF,OAAOE,OAAA;IACT;IAEA,IAAIC,KAAA,CAAMC,IAAI,KAAK,WAAW,YAAYD,KAAA,EAAO;MAC/C,MAAMW,eAAA,GAAkBzB,cAAA,CAAec,KAAA,CAAMK,KAAK,IAAI,IAAIV,IAAA;MAE1D,MAAMY,eAAA,GAAkBX,WAAA,GACpBe,eAAA,GACEf,WAAA,GAAc,QAAQe,eAAA,GACtBf,WAAA,GACFe,eAAA;MAEJ;MACA,MAAMC,cAAA,GAAiBZ,KAAA,CAAMS,IAAI,GAC7BZ,UAAA,GACEA,UAAA,GAAa,MAAMG,KAAA,CAAMS,IAAI,GAC7BT,KAAA,CAAMS,IAAI,GACZZ,UAAA;MAEJE,OAAA,CAAQW,IAAI,IACPjB,YAAA,CAAa;QACdC,MAAA,EAAQM,KAAA,CAAMN,MAAM;QACpBC,IAAA;QACAC,WAAA,EAAaW,eAAA;QACbV,UAAA,EAAYe;MACd;MAGF,OAAOb,OAAA;IACT;IAEA,IAAI,OAAOP,UAAU,CAACQ,KAAA,CAAMC,IAAI,CAAC,KAAK,UAAU;MAC9C,MAAMY,YAAA,GAAe,IAAIC,GAAA;MAEzB,MAAMC,SAAA,GAAYvB,UAAU,CAACQ,KAAA,CAAMC,IAAI,CAAC,CAACc,SAAS,CAACjB,MAAM,CAAC,CAACkB,GAAA,EAAKC,QAAA;QAC9D,IAAI,CAACJ,YAAA,CAAaK,GAAG,CAACD,QAAA,CAASE,KAAK,GAAG;UACrCN,YAAA,CAAaO,GAAG,CAACH,QAAA,CAASE,KAAK;UAC/B,MAAME,WAAA,GAAc,aAAaJ,QAAA,CAASZ,KAAK,EAAE;UACjDW,GAAA,CAAIN,IAAI,CAAC;YACP,GAAGO,QAAQ;YACXZ,KAAA,EAAOV,IAAA,CAAK2B,CAAC,CAACD,WAAA;UAChB;QACF;QAEA,OAAOL,GAAA;MACT,GAAG,EAAE;MAEL,MAAMO,cAAA,GAAiBrC,cAAA,CAAec,KAAA,CAAMK,KAAK,IAAI,IAAIV,IAAA;MAEzD,MAAM6B,cAAA,GAAiB5B,WAAA,GACnBL,YAAA,CAAa;QACXS,KAAA;QACAyB,MAAA,EAAQ7B;MACV,KACA2B,cAAA;MAEJ,MAAMG,SAAA,GAAY7B,UAAA,GAAaP,2BAAA,CAA4BO,UAAA,EAAYG,KAAA,IAASA,KAAA,CAAMS,IAAI;MAE1F,MAAMkB,cAAA,GAA+B;QACnCtB,KAAA,EAAOmB,cAAA;QACPL,KAAA,EAAOO,SAAA;QACP,GAAGlC,UAAU,CAACQ,KAAA,CAAMC,IAAI,CAAC;QACzBD,KAAA;QACAe;MACF;MAEAhB,OAAA,CAAQW,IAAI,CAACiB,cAAA;MACb,OAAO5B,OAAA;IACT;IACA,OAAOA,OAAA;EACT,GAAG,EAAE;AACP","ignoreList":[]}
1
+ {"version":3,"file":"reduceFields.js","names":["getTranslation","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","createNestedClientFieldPath","combineFieldLabel","fieldTypes","reduceFields","fields","i18n","labelPrefix","pathPrefix","reduce","reduced","field","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","operatorKeys","Set","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField"],"sources":["../../../src/elements/WhereBuilder/reduceFields.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from './types.js'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from '../../utilities/combineFieldLabel.js'\nimport fieldTypes from './field-types.js'\n\ntype ReduceFieldOptionsArgs = {\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Reduces a field map to a flat array of fields with labels and values.\n * Used in the WhereBuilder component to render the fields in the dropdown.\n */\nexport const reduceFields = ({\n fields,\n i18n,\n labelPrefix,\n pathPrefix,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) {\n return reduced\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFields({\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFields({\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFields({\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n\n const operators = fieldTypes[field.type].operators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const fieldPath = pathPrefix ? createNestedClientFieldPath(pathPrefix, field) : field.name\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n value: fieldPath,\n ...fieldTypes[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
@@ -10,5 +10,5 @@ function require(m) {
10
10
  }
11
11
  // Workaround end
12
12
 
13
- import{i as a}from"./chunk-LMYT7O7U.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
- //# sourceMappingURL=CodeEditor-TQ5ADFPC.js.map
13
+ import{i as a}from"./chunk-PKQOCWZD.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
+ //# sourceMappingURL=CodeEditor-J4IKAVAK.js.map
@@ -10,5 +10,5 @@ function require(m) {
10
10
  }
11
11
  // Workaround end
12
12
 
13
- import{n as a}from"./chunk-IMEQ6NKQ.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
- //# sourceMappingURL=DatePicker-HHQ6TPOW.js.map
13
+ import{n as a}from"./chunk-3AA2TJQ5.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
+ //# sourceMappingURL=DatePicker-DMHV2M2L.js.map