@payloadcms/ui 3.0.0-beta.77 → 3.0.0-beta.79

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 (568) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +5 -2
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/AppHeader/index.scss +5 -3
  5. package/dist/elements/Autosave/index.d.ts.map +1 -1
  6. package/dist/elements/Autosave/index.js +1 -1
  7. package/dist/elements/Autosave/index.js.map +1 -1
  8. package/dist/elements/Card/index.scss +3 -3
  9. package/dist/elements/Collapsible/index.scss +4 -1
  10. package/dist/elements/ColumnSelector/index.d.ts +1 -1
  11. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  12. package/dist/elements/ColumnSelector/index.js +2 -2
  13. package/dist/elements/ColumnSelector/index.js.map +1 -1
  14. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  15. package/dist/elements/DeleteDocument/index.js +1 -1
  16. package/dist/elements/DeleteDocument/index.js.map +1 -1
  17. package/dist/elements/DeleteDocument/index.scss +1 -0
  18. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  19. package/dist/elements/DeleteMany/index.js +1 -1
  20. package/dist/elements/DeleteMany/index.js.map +1 -1
  21. package/dist/elements/DeleteMany/index.scss +1 -0
  22. package/dist/elements/DocumentControls/index.d.ts +10 -10
  23. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  24. package/dist/elements/DocumentControls/index.js +11 -13
  25. package/dist/elements/DocumentControls/index.js.map +1 -1
  26. package/dist/elements/DocumentControls/index.scss +18 -7
  27. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  28. package/dist/elements/DocumentDrawer/DrawerContent.js +6 -5
  29. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  30. package/dist/elements/DocumentDrawer/types.d.ts +10 -10
  31. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  32. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  33. package/dist/elements/DocumentFields/index.d.ts +9 -9
  34. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  35. package/dist/elements/DocumentFields/index.js +6 -5
  36. package/dist/elements/DocumentFields/index.js.map +1 -1
  37. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +6 -6
  38. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  39. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  40. package/dist/elements/Drawer/types.d.ts +7 -7
  41. package/dist/elements/Drawer/types.d.ts.map +1 -1
  42. package/dist/elements/Drawer/types.js.map +1 -1
  43. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  44. package/dist/elements/DuplicateDocument/index.js +1 -2
  45. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  46. package/dist/elements/DuplicateDocument/index.scss +1 -0
  47. package/dist/elements/EditMany/index.d.ts +3 -3
  48. package/dist/elements/EditMany/index.d.ts.map +1 -1
  49. package/dist/elements/EditMany/index.js +4 -4
  50. package/dist/elements/EditMany/index.js.map +1 -1
  51. package/dist/elements/EditMany/index.scss +4 -10
  52. package/dist/elements/FieldSelect/index.d.ts +4 -4
  53. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  54. package/dist/elements/FieldSelect/index.js +32 -21
  55. package/dist/elements/FieldSelect/index.js.map +1 -1
  56. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  57. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +2 -2
  58. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  59. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +4 -3
  60. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  61. package/dist/elements/ListControls/index.d.ts +2 -2
  62. package/dist/elements/ListControls/index.d.ts.map +1 -1
  63. package/dist/elements/ListControls/index.js +8 -8
  64. package/dist/elements/ListControls/index.js.map +1 -1
  65. package/dist/elements/ListControls/index.scss +14 -5
  66. package/dist/elements/ListDrawer/DrawerContent.js +6 -5
  67. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  68. package/dist/elements/ListDrawer/index.d.ts.map +1 -1
  69. package/dist/elements/ListDrawer/index.js +1 -1
  70. package/dist/elements/ListDrawer/index.js.map +1 -1
  71. package/dist/elements/ListDrawer/index.scss +4 -4
  72. package/dist/elements/ListDrawer/types.d.ts +6 -6
  73. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  74. package/dist/elements/ListDrawer/types.js.map +1 -1
  75. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  76. package/dist/elements/Localizer/LocalizerLabel/index.js +5 -4
  77. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  78. package/dist/elements/Localizer/LocalizerLabel/index.scss +6 -0
  79. package/dist/elements/Localizer/index.js +1 -1
  80. package/dist/elements/Localizer/index.js.map +1 -1
  81. package/dist/elements/Logout/index.d.ts.map +1 -1
  82. package/dist/elements/Logout/index.js +6 -6
  83. package/dist/elements/Logout/index.js.map +1 -1
  84. package/dist/elements/Popup/index.d.ts +1 -1
  85. package/dist/elements/Popup/index.d.ts.map +1 -1
  86. package/dist/elements/Popup/index.js.map +1 -1
  87. package/dist/elements/PreviewButton/index.d.ts +2 -1
  88. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  89. package/dist/elements/PreviewButton/index.js +6 -1
  90. package/dist/elements/PreviewButton/index.js.map +1 -1
  91. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -1
  92. package/dist/elements/PreviewButton/usePreviewURL.js +1 -1
  93. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  94. package/dist/elements/PublishButton/index.d.ts +2 -1
  95. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  96. package/dist/elements/PublishButton/index.js +4 -1
  97. package/dist/elements/PublishButton/index.js.map +1 -1
  98. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  99. package/dist/elements/PublishMany/index.js +1 -1
  100. package/dist/elements/PublishMany/index.js.map +1 -1
  101. package/dist/elements/PublishMany/index.scss +1 -0
  102. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  103. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  104. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  105. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  106. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  107. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  108. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  109. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  110. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  111. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  112. package/dist/elements/SaveButton/index.d.ts +2 -1
  113. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  114. package/dist/elements/SaveButton/index.js +4 -1
  115. package/dist/elements/SaveButton/index.js.map +1 -1
  116. package/dist/elements/SaveDraftButton/index.d.ts +2 -1
  117. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  118. package/dist/elements/SaveDraftButton/index.js +5 -2
  119. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  120. package/dist/elements/Status/index.d.ts.map +1 -1
  121. package/dist/elements/Status/index.js +1 -1
  122. package/dist/elements/Status/index.js.map +1 -1
  123. package/dist/elements/Status/index.scss +1 -0
  124. package/dist/elements/StayLoggedIn/index.js +1 -1
  125. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  126. package/dist/elements/StayLoggedIn/index.scss +1 -0
  127. package/dist/elements/StepNav/index.d.ts +2 -2
  128. package/dist/elements/StepNav/index.d.ts.map +1 -1
  129. package/dist/elements/StepNav/index.js +11 -8
  130. package/dist/elements/StepNav/index.js.map +1 -1
  131. package/dist/elements/StepNav/index.scss +1 -1
  132. package/dist/elements/StepNav/types.d.ts +2 -2
  133. package/dist/elements/StepNav/types.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +2 -3
  135. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/Array/index.js +2 -2
  137. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +2 -4
  139. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  140. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +1 -1
  141. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  142. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  143. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  144. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  145. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +3 -3
  146. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  147. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  148. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -2
  149. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  150. package/dist/elements/Table/DefaultCell/fields/Date/index.js +4 -4
  151. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  152. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  153. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  154. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  155. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  156. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  157. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  158. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +2 -4
  159. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  160. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +6 -8
  161. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  162. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +2 -3
  163. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  164. package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -1
  165. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  166. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  167. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  168. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  169. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  170. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  171. package/dist/elements/Table/DefaultCell/index.js +16 -12
  172. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  173. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  174. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  175. package/dist/elements/Table/RelationshipProvider/index.js +1 -2
  176. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  177. package/dist/elements/Table/TableCellProvider/index.d.ts +6 -6
  178. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  179. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  180. package/dist/elements/Table/index.d.ts +11 -14
  181. package/dist/elements/Table/index.d.ts.map +1 -1
  182. package/dist/elements/Table/index.js +7 -1
  183. package/dist/elements/Table/index.js.map +1 -1
  184. package/dist/elements/TableColumns/buildColumnState.d.ts +2 -2
  185. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  186. package/dist/elements/TableColumns/buildColumnState.js +30 -32
  187. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  188. package/dist/elements/TableColumns/filterFields.d.ts +2 -2
  189. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  190. package/dist/elements/TableColumns/filterFields.js +8 -11
  191. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  192. package/dist/elements/TableColumns/getInitialColumns.d.ts +2 -3
  193. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  194. package/dist/elements/TableColumns/getInitialColumns.js +9 -11
  195. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  196. package/dist/elements/TableColumns/index.d.ts +6 -6
  197. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  198. package/dist/elements/TableColumns/index.js +8 -11
  199. package/dist/elements/TableColumns/index.js.map +1 -1
  200. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  201. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  202. package/dist/elements/ThumbnailCard/index.js +1 -1
  203. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  204. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  205. package/dist/elements/UnpublishMany/index.js +2 -2
  206. package/dist/elements/UnpublishMany/index.js.map +1 -1
  207. package/dist/elements/UnpublishMany/index.scss +1 -0
  208. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  209. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +5 -5
  210. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  211. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +3 -3
  212. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  213. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  214. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts +1 -2
  215. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  216. package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -2
  217. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  218. package/dist/elements/WhereBuilder/Condition/index.d.ts +9 -9
  219. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  220. package/dist/elements/WhereBuilder/Condition/index.js +25 -20
  221. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  222. package/dist/elements/WhereBuilder/index.js +9 -8
  223. package/dist/elements/WhereBuilder/index.js.map +1 -1
  224. package/dist/elements/WhereBuilder/reduceClientFields.d.ts +15 -0
  225. package/dist/elements/WhereBuilder/reduceClientFields.d.ts.map +1 -0
  226. package/dist/elements/WhereBuilder/{reduceFieldMap.js → reduceClientFields.js} +28 -26
  227. package/dist/elements/WhereBuilder/reduceClientFields.js.map +1 -0
  228. package/dist/elements/WhereBuilder/types.d.ts +6 -5
  229. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  230. package/dist/elements/WhereBuilder/types.js.map +1 -1
  231. package/dist/exports/client/{CodeEditor-UPOVAXRP.js → CodeEditor-MODTAQNB.js} +1 -1
  232. package/dist/exports/client/{CodeEditor-UPOVAXRP.js.map → CodeEditor-MODTAQNB.js.map} +1 -1
  233. package/dist/exports/client/{DatePicker-XJHHMZP7.js → DatePicker-QKRYICNS.js} +2 -2
  234. package/dist/exports/client/chunk-HR5HEGNB.js +30 -0
  235. package/dist/exports/client/{chunk-TIH7OFW3.js.map → chunk-HR5HEGNB.js.map} +4 -4
  236. package/dist/exports/client/index.d.ts +9 -2
  237. package/dist/exports/client/index.d.ts.map +1 -1
  238. package/dist/exports/client/index.js +27 -27
  239. package/dist/exports/client/index.js.map +4 -4
  240. package/dist/exports/shared/index.d.ts +4 -1
  241. package/dist/exports/shared/index.d.ts.map +1 -1
  242. package/dist/exports/shared/index.js +2 -2
  243. package/dist/exports/shared/index.js.map +4 -4
  244. package/dist/fields/Array/ArrayRow.d.ts +21 -21
  245. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  246. package/dist/fields/Array/ArrayRow.js +3 -3
  247. package/dist/fields/Array/ArrayRow.js.map +1 -1
  248. package/dist/fields/Array/index.d.ts.map +1 -1
  249. package/dist/fields/Array/index.js +11 -9
  250. package/dist/fields/Array/index.js.map +1 -1
  251. package/dist/fields/Blocks/BlockRow.d.ts +3 -3
  252. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  253. package/dist/fields/Blocks/BlockRow.js +9 -6
  254. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  255. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +6 -6
  256. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  257. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  258. package/dist/fields/Blocks/RowActions.d.ts +13 -13
  259. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  260. package/dist/fields/Blocks/RowActions.js.map +1 -1
  261. package/dist/fields/Blocks/SectionTitle/index.scss +12 -2
  262. package/dist/fields/Blocks/index.d.ts +2 -2
  263. package/dist/fields/Blocks/index.d.ts.map +1 -1
  264. package/dist/fields/Blocks/index.js +10 -6
  265. package/dist/fields/Blocks/index.js.map +1 -1
  266. package/dist/fields/Blocks/index.scss +1 -0
  267. package/dist/fields/Checkbox/Input.d.ts +15 -15
  268. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  269. package/dist/fields/Checkbox/Input.js +9 -4
  270. package/dist/fields/Checkbox/Input.js.map +1 -1
  271. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  272. package/dist/fields/Checkbox/index.js +9 -6
  273. package/dist/fields/Checkbox/index.js.map +1 -1
  274. package/dist/fields/Code/index.d.ts.map +1 -1
  275. package/dist/fields/Code/index.js +14 -6
  276. package/dist/fields/Code/index.js.map +1 -1
  277. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  278. package/dist/fields/Collapsible/index.js +7 -5
  279. package/dist/fields/Collapsible/index.js.map +1 -1
  280. package/dist/fields/ConfirmPassword/index.d.ts +2 -2
  281. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  282. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  283. package/dist/fields/DateTime/index.d.ts.map +1 -1
  284. package/dist/fields/DateTime/index.js +14 -6
  285. package/dist/fields/DateTime/index.js.map +1 -1
  286. package/dist/fields/Email/index.d.ts.map +1 -1
  287. package/dist/fields/Email/index.js +15 -6
  288. package/dist/fields/Email/index.js.map +1 -1
  289. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  290. package/dist/fields/FieldDescription/index.js +8 -4
  291. package/dist/fields/FieldDescription/index.js.map +1 -1
  292. package/dist/fields/FieldError/index.d.ts.map +1 -1
  293. package/dist/fields/FieldError/index.js +8 -4
  294. package/dist/fields/FieldError/index.js.map +1 -1
  295. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  296. package/dist/fields/FieldLabel/index.js +8 -4
  297. package/dist/fields/FieldLabel/index.js.map +1 -1
  298. package/dist/fields/Group/index.d.ts.map +1 -1
  299. package/dist/fields/Group/index.js +63 -56
  300. package/dist/fields/Group/index.js.map +1 -1
  301. package/dist/fields/Hidden/index.d.ts.map +1 -1
  302. package/dist/fields/Hidden/index.js +1 -1
  303. package/dist/fields/Hidden/index.js.map +1 -1
  304. package/dist/fields/JSON/index.d.ts.map +1 -1
  305. package/dist/fields/JSON/index.js +14 -6
  306. package/dist/fields/JSON/index.js.map +1 -1
  307. package/dist/fields/Number/Input.d.ts +2 -0
  308. package/dist/fields/Number/Input.d.ts.map +1 -0
  309. package/dist/fields/Number/Input.js +2 -0
  310. package/dist/fields/Number/Input.js.map +1 -0
  311. package/dist/fields/Number/index.d.ts.map +1 -1
  312. package/dist/fields/Number/index.js +14 -6
  313. package/dist/fields/Number/index.js.map +1 -1
  314. package/dist/fields/Password/index.d.ts +1 -24
  315. package/dist/fields/Password/index.d.ts.map +1 -1
  316. package/dist/fields/Password/index.js +8 -7
  317. package/dist/fields/Password/index.js.map +1 -1
  318. package/dist/fields/Password/input.d.ts.map +1 -1
  319. package/dist/fields/Password/input.js +18 -8
  320. package/dist/fields/Password/input.js.map +1 -1
  321. package/dist/fields/Password/types.d.ts +32 -23
  322. package/dist/fields/Password/types.d.ts.map +1 -1
  323. package/dist/fields/Password/types.js.map +1 -1
  324. package/dist/fields/Point/index.d.ts.map +1 -1
  325. package/dist/fields/Point/index.js +23 -9
  326. package/dist/fields/Point/index.js.map +1 -1
  327. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  328. package/dist/fields/RadioGroup/index.js +7 -4
  329. package/dist/fields/RadioGroup/index.js.map +1 -1
  330. package/dist/fields/Relationship/AddNew/useRelatedCollections.js +1 -1
  331. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  332. package/dist/fields/Relationship/index.d.ts.map +1 -1
  333. package/dist/fields/Relationship/index.js +8 -5
  334. package/dist/fields/Relationship/index.js.map +1 -1
  335. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  336. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  337. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  338. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  339. package/dist/fields/RichText/index.d.ts +2 -2
  340. package/dist/fields/RichText/index.d.ts.map +1 -1
  341. package/dist/fields/RichText/index.js.map +1 -1
  342. package/dist/fields/Row/index.d.ts.map +1 -1
  343. package/dist/fields/Row/index.js +6 -8
  344. package/dist/fields/Row/index.js.map +1 -1
  345. package/dist/fields/Select/Input.d.ts +26 -6
  346. package/dist/fields/Select/Input.d.ts.map +1 -1
  347. package/dist/fields/Select/Input.js +13 -6
  348. package/dist/fields/Select/Input.js.map +1 -1
  349. package/dist/fields/Select/index.d.ts.map +1 -1
  350. package/dist/fields/Select/index.js +8 -9
  351. package/dist/fields/Select/index.js.map +1 -1
  352. package/dist/fields/Tabs/Tab/index.d.ts +5 -5
  353. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  354. package/dist/fields/Tabs/Tab/index.js +4 -5
  355. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  356. package/dist/fields/Tabs/index.d.ts.map +1 -1
  357. package/dist/fields/Tabs/index.js +10 -9
  358. package/dist/fields/Tabs/index.js.map +1 -1
  359. package/dist/fields/Text/Input.d.ts.map +1 -1
  360. package/dist/fields/Text/Input.js +13 -6
  361. package/dist/fields/Text/Input.js.map +1 -1
  362. package/dist/fields/Text/index.js +9 -10
  363. package/dist/fields/Text/index.js.map +1 -1
  364. package/dist/fields/Text/types.d.ts +32 -13
  365. package/dist/fields/Text/types.d.ts.map +1 -1
  366. package/dist/fields/Text/types.js.map +1 -1
  367. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  368. package/dist/fields/Textarea/Input.js +13 -6
  369. package/dist/fields/Textarea/Input.js.map +1 -1
  370. package/dist/fields/Textarea/index.js +9 -10
  371. package/dist/fields/Textarea/index.js.map +1 -1
  372. package/dist/fields/Textarea/types.d.ts +28 -6
  373. package/dist/fields/Textarea/types.d.ts.map +1 -1
  374. package/dist/fields/Textarea/types.js.map +1 -1
  375. package/dist/fields/Upload/Input.d.ts +25 -12
  376. package/dist/fields/Upload/Input.d.ts.map +1 -1
  377. package/dist/fields/Upload/Input.js +5 -4
  378. package/dist/fields/Upload/Input.js.map +1 -1
  379. package/dist/fields/Upload/index.d.ts.map +1 -1
  380. package/dist/fields/Upload/index.js +7 -10
  381. package/dist/fields/Upload/index.js.map +1 -1
  382. package/dist/fields/index.d.ts +5 -1
  383. package/dist/fields/index.d.ts.map +1 -1
  384. package/dist/fields/index.js.map +1 -1
  385. package/dist/forms/FieldPropsProvider/index.d.ts +11 -11
  386. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  387. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  388. package/dist/forms/Form/createNestedClientFieldPath.d.ts +3 -0
  389. package/dist/forms/Form/createNestedClientFieldPath.d.ts.map +1 -0
  390. package/dist/forms/Form/{createNestedFieldPath.js → createNestedClientFieldPath.js} +2 -13
  391. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -0
  392. package/dist/forms/Form/index.js +1 -1
  393. package/dist/forms/Form/index.js.map +1 -1
  394. package/dist/forms/Form/types.d.ts +3 -3
  395. package/dist/forms/Form/types.d.ts.map +1 -1
  396. package/dist/forms/Form/types.js.map +1 -1
  397. package/dist/forms/NullifyField/index.d.ts +3 -3
  398. package/dist/forms/NullifyField/index.d.ts.map +1 -1
  399. package/dist/forms/NullifyField/index.js +5 -15
  400. package/dist/forms/NullifyField/index.js.map +1 -1
  401. package/dist/forms/RenderFields/RenderField.d.ts +12 -15
  402. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  403. package/dist/forms/RenderFields/RenderField.js +35 -16
  404. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  405. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  406. package/dist/forms/RenderFields/index.js +7 -14
  407. package/dist/forms/RenderFields/index.js.map +1 -1
  408. package/dist/forms/RenderFields/types.d.ts +11 -11
  409. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  410. package/dist/forms/RenderFields/types.js.map +1 -1
  411. package/dist/forms/RowLabel/Context/index.d.ts +4 -4
  412. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  413. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  414. package/dist/forms/RowLabel/index.d.ts.map +1 -1
  415. package/dist/forms/RowLabel/index.js +8 -2
  416. package/dist/forms/RowLabel/index.js.map +1 -1
  417. package/dist/forms/RowLabel/types.d.ts +7 -8
  418. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  419. package/dist/forms/RowLabel/types.js.map +1 -1
  420. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +2 -2
  421. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  422. package/dist/forms/WatchChildErrors/buildPathSegments.js +11 -10
  423. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  424. package/dist/forms/WatchChildErrors/index.d.ts +2 -2
  425. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  426. package/dist/forms/WatchChildErrors/index.js +3 -3
  427. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  428. package/dist/forms/useField/index.js +1 -1
  429. package/dist/forms/useField/index.js.map +1 -1
  430. package/dist/forms/withCondition/WatchCondition.d.ts +1 -1
  431. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  432. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  433. package/dist/graphics/Account/index.d.ts.map +1 -1
  434. package/dist/graphics/Account/index.js +14 -8
  435. package/dist/graphics/Account/index.js.map +1 -1
  436. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  437. package/dist/hooks/useDelayedRender.js.map +1 -1
  438. package/dist/hooks/useUseAsTitle.d.ts +2 -2
  439. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  440. package/dist/hooks/useUseAsTitle.js +3 -3
  441. package/dist/hooks/useUseAsTitle.js.map +1 -1
  442. package/dist/providers/Actions/SetViewActions/index.d.ts +3 -3
  443. package/dist/providers/Actions/SetViewActions/index.d.ts.map +1 -1
  444. package/dist/providers/Actions/SetViewActions/index.js +1 -1
  445. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  446. package/dist/providers/Actions/index.d.ts +3 -3
  447. package/dist/providers/Actions/index.d.ts.map +1 -1
  448. package/dist/providers/Actions/index.js +2 -2
  449. package/dist/providers/Actions/index.js.map +1 -1
  450. package/dist/providers/Auth/index.js +1 -1
  451. package/dist/providers/Auth/index.js.map +1 -1
  452. package/dist/providers/Config/RenderComponent.d.ts +12 -0
  453. package/dist/providers/Config/RenderComponent.d.ts.map +1 -0
  454. package/dist/providers/Config/RenderComponent.js +69 -0
  455. package/dist/providers/Config/RenderComponent.js.map +1 -0
  456. package/dist/providers/Config/createClientConfig/collections.d.ts +24 -0
  457. package/dist/providers/Config/createClientConfig/collections.d.ts.map +1 -0
  458. package/dist/providers/Config/createClientConfig/collections.js +173 -0
  459. package/dist/providers/Config/createClientConfig/collections.js.map +1 -0
  460. package/dist/providers/Config/createClientConfig/fields.d.ts +22 -0
  461. package/dist/providers/Config/createClientConfig/fields.d.ts.map +1 -0
  462. package/dist/providers/Config/createClientConfig/fields.js +299 -0
  463. package/dist/providers/Config/createClientConfig/fields.js.map +1 -0
  464. package/dist/providers/Config/createClientConfig/getComponent.d.ts +11 -0
  465. package/dist/providers/Config/createClientConfig/getComponent.d.ts.map +1 -0
  466. package/dist/providers/Config/createClientConfig/getComponent.js +29 -0
  467. package/dist/providers/Config/createClientConfig/getComponent.js.map +1 -0
  468. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts +11 -0
  469. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.d.ts.map +1 -0
  470. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js +86 -0
  471. package/dist/providers/Config/createClientConfig/getCreateMappedComponent.js.map +1 -0
  472. package/dist/providers/Config/createClientConfig/globals.d.ts +22 -0
  473. package/dist/providers/Config/createClientConfig/globals.d.ts.map +1 -0
  474. package/dist/providers/Config/createClientConfig/globals.js +103 -0
  475. package/dist/providers/Config/createClientConfig/globals.js.map +1 -0
  476. package/dist/providers/Config/createClientConfig/index.d.ts +21 -0
  477. package/dist/providers/Config/createClientConfig/index.d.ts.map +1 -0
  478. package/dist/providers/Config/createClientConfig/index.js +98 -0
  479. package/dist/providers/Config/createClientConfig/index.js.map +1 -0
  480. package/dist/providers/Config/index.d.ts +10 -3
  481. package/dist/providers/Config/index.d.ts.map +1 -1
  482. package/dist/providers/Config/index.js +17 -3
  483. package/dist/providers/Config/index.js.map +1 -1
  484. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  485. package/dist/providers/DocumentInfo/index.js +16 -16
  486. package/dist/providers/DocumentInfo/index.js.map +1 -1
  487. package/dist/providers/FieldComponents/index.d.ts +4 -3
  488. package/dist/providers/FieldComponents/index.d.ts.map +1 -1
  489. package/dist/providers/FieldComponents/index.js +2 -3
  490. package/dist/providers/FieldComponents/index.js.map +1 -1
  491. package/dist/providers/ListInfo/index.d.ts +12 -12
  492. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  493. package/dist/providers/ListInfo/index.js.map +1 -1
  494. package/dist/providers/Locale/index.d.ts.map +1 -1
  495. package/dist/providers/Locale/index.js +1 -1
  496. package/dist/providers/Locale/index.js.map +1 -1
  497. package/dist/providers/Preferences/index.js +1 -1
  498. package/dist/providers/Preferences/index.js.map +1 -1
  499. package/dist/providers/Root/index.d.ts +0 -2
  500. package/dist/providers/Root/index.d.ts.map +1 -1
  501. package/dist/providers/Root/index.js +46 -48
  502. package/dist/providers/Root/index.js.map +1 -1
  503. package/dist/scss/app.scss +4 -4
  504. package/dist/scss/type.scss +1 -0
  505. package/dist/scss/vars.scss +1 -1
  506. package/dist/styles.css +1 -1
  507. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  508. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +1 -0
  509. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  510. package/dist/utilities/buildFormState.d.ts.map +1 -1
  511. package/dist/utilities/buildFormState.js +2 -4
  512. package/dist/utilities/buildFormState.js.map +1 -1
  513. package/dist/utilities/flattenFieldMap.d.ts +2 -2
  514. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  515. package/dist/utilities/flattenFieldMap.js +8 -8
  516. package/dist/utilities/flattenFieldMap.js.map +1 -1
  517. package/dist/utilities/groupNavItems.d.ts +3 -3
  518. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  519. package/dist/utilities/groupNavItems.js.map +1 -1
  520. package/package.json +10 -4
  521. package/dist/elements/RenderCustomClientComponent/index.d.ts +0 -8
  522. package/dist/elements/RenderCustomClientComponent/index.d.ts.map +0 -1
  523. package/dist/elements/RenderCustomClientComponent/index.js +0 -19
  524. package/dist/elements/RenderCustomClientComponent/index.js.map +0 -1
  525. package/dist/elements/RenderCustomComponent/index.d.ts +0 -17
  526. package/dist/elements/RenderCustomComponent/index.d.ts.map +0 -1
  527. package/dist/elements/RenderCustomComponent/index.js +0 -26
  528. package/dist/elements/RenderCustomComponent/index.js.map +0 -1
  529. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +0 -14
  530. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +0 -1
  531. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +0 -1
  532. package/dist/exports/client/chunk-TIH7OFW3.js +0 -30
  533. package/dist/forms/Form/createNestedFieldPath.d.ts +0 -4
  534. package/dist/forms/Form/createNestedFieldPath.d.ts.map +0 -1
  535. package/dist/forms/Form/createNestedFieldPath.js.map +0 -1
  536. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +0 -9
  537. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +0 -1
  538. package/dist/providers/ComponentMap/buildComponentMap/actions.js +0 -45
  539. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +0 -1
  540. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +0 -18
  541. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +0 -1
  542. package/dist/providers/ComponentMap/buildComponentMap/collections.js +0 -118
  543. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +0 -1
  544. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +0 -18
  545. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +0 -1
  546. package/dist/providers/ComponentMap/buildComponentMap/fields.js +0 -703
  547. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +0 -1
  548. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +0 -19
  549. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +0 -1
  550. package/dist/providers/ComponentMap/buildComponentMap/globals.js +0 -81
  551. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +0 -1
  552. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +0 -16
  553. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +0 -1
  554. package/dist/providers/ComponentMap/buildComponentMap/index.js +0 -79
  555. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +0 -1
  556. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +0 -39
  557. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +0 -1
  558. package/dist/providers/ComponentMap/buildComponentMap/types.js +0 -3
  559. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +0 -1
  560. package/dist/providers/ComponentMap/index.d.ts +0 -25
  561. package/dist/providers/ComponentMap/index.d.ts.map +0 -1
  562. package/dist/providers/ComponentMap/index.js +0 -53
  563. package/dist/providers/ComponentMap/index.js.map +0 -1
  564. package/dist/utilities/buildComponentMap.d.ts +0 -4
  565. package/dist/utilities/buildComponentMap.d.ts.map +0 -1
  566. package/dist/utilities/buildComponentMap.js +0 -4
  567. package/dist/utilities/buildComponentMap.js.map +0 -1
  568. /package/dist/exports/client/{DatePicker-XJHHMZP7.js.map → DatePicker-QKRYICNS.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/getInitialColumns.ts"],"sourcesContent":["import type { FieldMap, MappedField } from 'payload'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\n\nexport function fieldAffectsData(field: MappedField): boolean {\n return 'name' in field && field.type !== 'ui'\n}\n\nconst getRemainingColumns = (fieldMap: FieldMap, useAsTitle: string): ColumnPreferences =>\n fieldMap.reduce((remaining, field) => {\n if (fieldAffectsData(field) && field.name === useAsTitle) {\n return remaining\n }\n\n if (!fieldAffectsData(field) && 'fieldMap' in field.fieldComponentProps) {\n return [...remaining, ...getRemainingColumns(field.fieldComponentProps.fieldMap, useAsTitle)]\n }\n\n if (field.type === 'tabs' && 'tabs' in field.fieldComponentProps) {\n return [\n ...remaining,\n ...field.fieldComponentProps.tabs.reduce(\n (tabFieldColumns, tab) => [\n ...tabFieldColumns,\n ...('name' in tab ? [tab.name] : getRemainingColumns(tab.fieldMap, useAsTitle)),\n ],\n [],\n ),\n ]\n }\n\n return [...remaining, field.name]\n }, [])\n\nexport const getInitialColumns = (\n fieldMap: FieldMap,\n useAsTitle: string,\n defaultColumns: string[],\n): ColumnPreferences => {\n let initialColumns = []\n\n if (Array.isArray(defaultColumns) && defaultColumns.length >= 1) {\n initialColumns = defaultColumns\n } else {\n if (useAsTitle) {\n initialColumns.push(useAsTitle)\n }\n\n const remainingColumns = getRemainingColumns(fieldMap, useAsTitle)\n\n initialColumns = initialColumns.concat(remainingColumns)\n initialColumns = initialColumns.slice(0, 4)\n }\n\n return initialColumns.map((column) => ({\n accessor: column,\n active: true,\n }))\n}\n"],"names":["fieldAffectsData","field","type","getRemainingColumns","fieldMap","useAsTitle","reduce","remaining","name","fieldComponentProps","tabs","tabFieldColumns","tab","getInitialColumns","defaultColumns","initialColumns","Array","isArray","length","push","remainingColumns","concat","slice","map","column","accessor","active"],"mappings":"AAIA,OAAO,SAASA,iBAAiBC,KAAkB;IACjD,OAAO,UAAUA,SAASA,MAAMC,IAAI,KAAK;AAC3C;AAEA,MAAMC,sBAAsB,CAACC,UAAoBC,aAC/CD,SAASE,MAAM,CAAC,CAACC,WAAWN;QAC1B,IAAID,iBAAiBC,UAAUA,MAAMO,IAAI,KAAKH,YAAY;YACxD,OAAOE;QACT;QAEA,IAAI,CAACP,iBAAiBC,UAAU,cAAcA,MAAMQ,mBAAmB,EAAE;YACvE,OAAO;mBAAIF;mBAAcJ,oBAAoBF,MAAMQ,mBAAmB,CAACL,QAAQ,EAAEC;aAAY;QAC/F;QAEA,IAAIJ,MAAMC,IAAI,KAAK,UAAU,UAAUD,MAAMQ,mBAAmB,EAAE;YAChE,OAAO;mBACFF;mBACAN,MAAMQ,mBAAmB,CAACC,IAAI,CAACJ,MAAM,CACtC,CAACK,iBAAiBC,MAAQ;2BACrBD;2BACC,UAAUC,MAAM;4BAACA,IAAIJ,IAAI;yBAAC,GAAGL,oBAAoBS,IAAIR,QAAQ,EAAEC;qBACpE,EACD,EAAE;aAEL;QACH;QAEA,OAAO;eAAIE;YAAWN,MAAMO,IAAI;SAAC;IACnC,GAAG,EAAE;AAEP,OAAO,MAAMK,oBAAoB,CAC/BT,UACAC,YACAS;IAEA,IAAIC,iBAAiB,EAAE;IAEvB,IAAIC,MAAMC,OAAO,CAACH,mBAAmBA,eAAeI,MAAM,IAAI,GAAG;QAC/DH,iBAAiBD;IACnB,OAAO;QACL,IAAIT,YAAY;YACdU,eAAeI,IAAI,CAACd;QACtB;QAEA,MAAMe,mBAAmBjB,oBAAoBC,UAAUC;QAEvDU,iBAAiBA,eAAeM,MAAM,CAACD;QACvCL,iBAAiBA,eAAeO,KAAK,CAAC,GAAG;IAC3C;IAEA,OAAOP,eAAeQ,GAAG,CAAC,CAACC,SAAY,CAAA;YACrCC,UAAUD;YACVE,QAAQ;QACV,CAAA;AACF,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/getInitialColumns.ts"],"sourcesContent":["import type { ClientField } from 'payload'\n\nimport { fieldAffectsData } from 'payload/shared'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\n\nconst getRemainingColumns = (fields: ClientField[], useAsTitle: string): ColumnPreferences =>\n fields.reduce((remaining, field) => {\n if (fieldAffectsData(field) && field.name === useAsTitle) {\n return remaining\n }\n\n if (!fieldAffectsData(field) && 'fields' in field) {\n return [...remaining, ...getRemainingColumns(field.fields, useAsTitle)]\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n return [\n ...remaining,\n ...field.tabs.reduce(\n (tabFieldColumns, tab) => [\n ...tabFieldColumns,\n ...('name' in tab ? [tab.name] : getRemainingColumns(tab.fields, useAsTitle)),\n ],\n [],\n ),\n ]\n }\n\n return [...remaining, field.name]\n }, [])\n\nexport const getInitialColumns = (\n fields: ClientField[],\n useAsTitle: string,\n defaultColumns: string[],\n): ColumnPreferences => {\n let initialColumns = []\n\n if (Array.isArray(defaultColumns) && defaultColumns.length >= 1) {\n initialColumns = defaultColumns\n } else {\n if (useAsTitle) {\n initialColumns.push(useAsTitle)\n }\n\n const remainingColumns = getRemainingColumns(fields, useAsTitle)\n\n initialColumns = initialColumns.concat(remainingColumns)\n initialColumns = initialColumns.slice(0, 4)\n }\n\n return initialColumns.map((column) => ({\n accessor: column,\n active: true,\n }))\n}\n"],"names":["fieldAffectsData","getRemainingColumns","fields","useAsTitle","reduce","remaining","field","name","type","tabs","tabFieldColumns","tab","getInitialColumns","defaultColumns","initialColumns","Array","isArray","length","push","remainingColumns","concat","slice","map","column","accessor","active"],"mappings":"AAEA,SAASA,gBAAgB,QAAQ,iBAAgB;AAIjD,MAAMC,sBAAsB,CAACC,QAAuBC,aAClDD,OAAOE,MAAM,CAAC,CAACC,WAAWC;QACxB,IAAIN,iBAAiBM,UAAUA,MAAMC,IAAI,KAAKJ,YAAY;YACxD,OAAOE;QACT;QAEA,IAAI,CAACL,iBAAiBM,UAAU,YAAYA,OAAO;YACjD,OAAO;mBAAID;mBAAcJ,oBAAoBK,MAAMJ,MAAM,EAAEC;aAAY;QACzE;QAEA,IAAIG,MAAME,IAAI,KAAK,UAAU,UAAUF,OAAO;YAC5C,OAAO;mBACFD;mBACAC,MAAMG,IAAI,CAACL,MAAM,CAClB,CAACM,iBAAiBC,MAAQ;2BACrBD;2BACC,UAAUC,MAAM;4BAACA,IAAIJ,IAAI;yBAAC,GAAGN,oBAAoBU,IAAIT,MAAM,EAAEC;qBAClE,EACD,EAAE;aAEL;QACH;QAEA,OAAO;eAAIE;YAAWC,MAAMC,IAAI;SAAC;IACnC,GAAG,EAAE;AAEP,OAAO,MAAMK,oBAAoB,CAC/BV,QACAC,YACAU;IAEA,IAAIC,iBAAiB,EAAE;IAEvB,IAAIC,MAAMC,OAAO,CAACH,mBAAmBA,eAAeI,MAAM,IAAI,GAAG;QAC/DH,iBAAiBD;IACnB,OAAO;QACL,IAAIV,YAAY;YACdW,eAAeI,IAAI,CAACf;QACtB;QAEA,MAAMgB,mBAAmBlB,oBAAoBC,QAAQC;QAErDW,iBAAiBA,eAAeM,MAAM,CAACD;QACvCL,iBAAiBA,eAAeO,KAAK,CAAC,GAAG;IAC3C;IAEA,OAAOP,eAAeQ,GAAG,CAAC,CAACC,SAAY,CAAA;YACrCC,UAAUD;YACVE,QAAQ;QACV,CAAA;AACF,EAAC"}
@@ -17,12 +17,12 @@ export type ListPreferences = {
17
17
  columns: ColumnPreferences;
18
18
  };
19
19
  type Props = {
20
- cellProps?: Partial<CellComponentProps>[];
21
- children: React.ReactNode;
22
- collectionSlug: string;
23
- enableRowSelections?: boolean;
24
- listPreferences?: ListPreferences;
25
- preferenceKey: string;
20
+ readonly cellProps?: Partial<CellComponentProps>[];
21
+ readonly children: React.ReactNode;
22
+ readonly collectionSlug: string;
23
+ readonly enableRowSelections?: boolean;
24
+ readonly listPreferences?: ListPreferences;
25
+ readonly preferenceKey: string;
26
26
  };
27
27
  export declare const TableColumnsProvider: React.FC<Props>;
28
28
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,SAAS,CAAA;AAE5E,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAS/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClE,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC;AAED,eAAO,MAAM,kBAAkB,8BAAoD,CAAA;AAEnF,eAAO,MAAM,eAAe,QAAO,aAA+C,CAAA;AAElF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACzC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,cAAc,EAAE,MAAM,CAAA;IACtB,mBAAmB,CAAC,EAAE,OAAO,CAAA;IAC7B,eAAe,CAAC,EAAE,eAAe,CAAA;IACjC,aAAa,EAAE,MAAM,CAAA;CACtB,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0KhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,SAAS,CAAA;AAE5E,OAAO,KAA2D,MAAM,OAAO,CAAA;AAE/E,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAQ/C,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,UAAU,EAAE,CAAC,IAAI,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAClE,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,IAAI,CAAA;IAC7C,YAAY,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;CACvC;AAED,eAAO,MAAM,kBAAkB,8BAAoD,CAAA;AAEnF,eAAO,MAAM,eAAe,QAAO,aAA+C,CAAA;AAElF,MAAM,MAAM,eAAe,GAAG;IAC5B,OAAO,EAAE,iBAAiB,CAAA;CAC3B,CAAA;AAED,KAAK,KAAK,GAAG;IACX,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IAClD,QAAQ,CAAC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IAClC,QAAQ,CAAC,cAAc,EAAE,MAAM,CAAA;IAC/B,QAAQ,CAAC,mBAAmB,CAAC,EAAE,OAAO,CAAA;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,eAAe,CAAA;IAC1C,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B,CAAA;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8KhD,CAAA"}
@@ -1,7 +1,6 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React, { createContext, useCallback, useContext, useState } from 'react';
4
- import { useComponentMap } from '../../providers/ComponentMap/index.js';
5
4
  import { useConfig } from '../../providers/Config/index.js';
6
5
  import { usePreferences } from '../../providers/Preferences/index.js';
7
6
  import { buildColumnState } from './buildColumnState.js';
@@ -10,20 +9,18 @@ import { getInitialColumns } from './getInitialColumns.js';
10
9
  export const TableColumnContext = /*#__PURE__*/ createContext({});
11
10
  export const useTableColumns = ()=>useContext(TableColumnContext);
12
11
  export const TableColumnsProvider = ({ cellProps, children, collectionSlug, enableRowSelections = false, listPreferences, preferenceKey })=>{
13
- const config = useConfig();
14
- const { componentMap } = useComponentMap();
15
- const { fieldMap } = componentMap.collections[collectionSlug];
16
- const collectionConfig = config.collections.find((collectionConfig)=>collectionConfig.slug === collectionSlug);
17
- const { admin: { defaultColumns, useAsTitle } } = collectionConfig;
12
+ const { config: { collections } } = useConfig();
13
+ const collectionConfig = collections.find((collectionConfig)=>collectionConfig.slug === collectionSlug);
14
+ const { admin: { defaultColumns, useAsTitle }, fields } = collectionConfig;
18
15
  const prevCollection = React.useRef(collectionSlug);
19
16
  const { getPreference, setPreference } = usePreferences();
20
- const [initialColumns] = useState(()=>getInitialColumns(filterFields(fieldMap), useAsTitle, defaultColumns));
17
+ const [initialColumns] = useState(()=>getInitialColumns(filterFields(fields), useAsTitle, defaultColumns));
21
18
  const [tableColumns, setTableColumns] = React.useState(()=>buildColumnState({
22
19
  cellProps,
23
20
  columnPreferences: listPreferences?.columns,
24
21
  columns: initialColumns,
25
22
  enableRowSelections,
26
- fieldMap,
23
+ fields,
27
24
  useAsTitle
28
25
  }));
29
26
  const updateColumnPreferences = React.useCallback((newColumns)=>{
@@ -71,7 +68,7 @@ export const TableColumnsProvider = ({ cellProps, children, collectionSlug, enab
71
68
  const toggledColumns = tableColumns.map((col)=>{
72
69
  return {
73
70
  ...col,
74
- active: col?.name === column ? !col.active : col.active
71
+ active: col?.cellProps?.field && 'name' in col.cellProps.field && col?.cellProps?.field?.name === column ? !col.active : col.active
75
72
  };
76
73
  });
77
74
  const newColumns = reassignLinkColumn(toggledColumns);
@@ -109,7 +106,7 @@ export const TableColumnsProvider = ({ cellProps, children, collectionSlug, enab
109
106
  columnPreferences: currentPreferences?.columns,
110
107
  columns: initialColumns,
111
108
  enableRowSelections: true,
112
- fieldMap,
109
+ fields,
113
110
  useAsTitle
114
111
  }));
115
112
  }
@@ -120,7 +117,7 @@ export const TableColumnsProvider = ({ cellProps, children, collectionSlug, enab
120
117
  preferenceKey,
121
118
  getPreference,
122
119
  collectionSlug,
123
- fieldMap,
120
+ fields,
124
121
  cellProps,
125
122
  defaultColumns,
126
123
  useAsTitle,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n cellProps?: Partial<CellComponentProps>[]\n children: React.ReactNode\n collectionSlug: string\n enableRowSelections?: boolean\n listPreferences?: ListPreferences\n preferenceKey: string\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n}) => {\n const config = useConfig()\n\n const { componentMap } = useComponentMap()\n\n const { fieldMap } = componentMap.collections[collectionSlug]\n\n const collectionConfig = config.collections.find(\n (collectionConfig) => collectionConfig.slug === collectionSlug,\n )\n\n const {\n admin: { defaultColumns, useAsTitle },\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fieldMap), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n cellProps,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fieldMap,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const reassignLinkColumn = (columns: Column[]): Column[] => {\n let foundFirstActive = false\n const newColumns = columns.map((col) => {\n const linkColumn = col.active && !foundFirstActive && col.accessor !== '_select'\n if (linkColumn) foundFirstActive = true\n\n return {\n ...col,\n cellProps: {\n ...col.cellProps,\n link: linkColumn,\n },\n }\n })\n\n return newColumns\n }\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n const newColumns = reassignLinkColumn(withMovedColumn)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: col?.name === column ? !col.active : col.active,\n }\n })\n\n const newColumns = reassignLinkColumn(toggledColumns)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors) => {\n const activeColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n\n const newColumns = reassignLinkColumn(activeColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n cellProps,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections: true,\n fieldMap,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fieldMap,\n cellProps,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n moveColumn,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"names":["React","createContext","useCallback","useContext","useState","useComponentMap","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","cellProps","children","collectionSlug","enableRowSelections","listPreferences","preferenceKey","config","componentMap","fieldMap","collections","collectionConfig","find","slug","admin","defaultColumns","useAsTitle","prevCollection","useRef","getPreference","setPreference","initialColumns","tableColumns","setTableColumns","columnPreferences","columns","updateColumnPreferences","newColumns","map","c","accessor","active","reassignLinkColumn","foundFirstActive","col","linkColumn","link","moveColumn","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","toggleColumn","column","toggledColumns","name","setActiveColumns","activeColumnAccessors","activeColumns","includes","useEffect","sync","collectionHasChanged","current","currentPreferences","Provider","value"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n readonly cellProps?: Partial<CellComponentProps>[]\n readonly children: React.ReactNode\n readonly collectionSlug: string\n readonly enableRowSelections?: boolean\n readonly listPreferences?: ListPreferences\n readonly preferenceKey: string\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n}) => {\n const {\n config: { collections },\n } = useConfig()\n\n const collectionConfig = collections.find(\n (collectionConfig) => collectionConfig.slug === collectionSlug,\n )\n\n const {\n admin: { defaultColumns, useAsTitle },\n fields,\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fields), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n cellProps,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fields,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const reassignLinkColumn = (columns: Column[]): Column[] => {\n let foundFirstActive = false\n const newColumns = columns.map((col) => {\n const linkColumn = col.active && !foundFirstActive && col.accessor !== '_select'\n if (linkColumn) foundFirstActive = true\n\n return {\n ...col,\n cellProps: {\n ...col.cellProps,\n link: linkColumn,\n },\n }\n })\n\n return newColumns\n }\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n const newColumns = reassignLinkColumn(withMovedColumn)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active:\n col?.cellProps?.field &&\n 'name' in col.cellProps.field &&\n col?.cellProps?.field?.name === column\n ? !col.active\n : col.active,\n }\n })\n\n const newColumns = reassignLinkColumn(toggledColumns)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors) => {\n const activeColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n\n const newColumns = reassignLinkColumn(activeColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n cellProps,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections: true,\n fields,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fields,\n cellProps,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n moveColumn,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"names":["React","createContext","useCallback","useContext","useState","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","cellProps","children","collectionSlug","enableRowSelections","listPreferences","preferenceKey","config","collections","collectionConfig","find","slug","admin","defaultColumns","useAsTitle","fields","prevCollection","useRef","getPreference","setPreference","initialColumns","tableColumns","setTableColumns","columnPreferences","columns","updateColumnPreferences","newColumns","map","c","accessor","active","reassignLinkColumn","foundFirstActive","col","linkColumn","link","moveColumn","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","toggleColumn","column","toggledColumns","field","name","setActiveColumns","activeColumnAccessors","activeColumns","includes","useEffect","sync","collectionHasChanged","current","currentPreferences","Provider","value"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import type { SanitizedCollectionConfig, TypeWithID } from 'payload';
1
+ import type { ClientCollectionConfig, TypeWithID } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export type ThumbnailCardProps = {
5
5
  alignLabel?: 'center' | 'left';
6
6
  className?: string;
7
- collection?: SanitizedCollectionConfig;
7
+ collection?: ClientCollectionConfig;
8
8
  doc?: {
9
9
  filename?: string;
10
10
  } & TypeWithID;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ThumbnailCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAID,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0CtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ThumbnailCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEjE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,sBAAsB,CAAA;IACnC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAID,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0CtD,CAAA"}
@@ -8,7 +8,7 @@ import './index.scss';
8
8
  const baseClass = 'thumbnail-card';
9
9
  export const ThumbnailCard = (props)=>{
10
10
  const { alignLabel, className, collection, doc, label: labelFromProps, onClick, thumbnail } = props;
11
- const config = useConfig();
11
+ const { config } = useConfig();
12
12
  const { i18n } = useTranslation();
13
13
  const classes = [
14
14
  baseClass,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ThumbnailCard/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, 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?: SanitizedCollectionConfig\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"],"names":["React","useConfig","useTranslation","formatDocTitle","baseClass","ThumbnailCard","props","alignLabel","className","collection","doc","label","labelFromProps","onClick","thumbnail","config","i18n","classes","filter","Boolean","join","title","collectionConfig","data","dateFormat","admin","fallback","filename","button","type","div"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,eAAc;AAarB,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EACJC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,GAAG,EACHC,OAAOC,cAAc,EACrBC,OAAO,EACPC,SAAS,EACV,GAAGR;IAEJ,MAAMS,SAASd;IAEf,MAAM,EAAEe,IAAI,EAAE,GAAGd;IAEjB,MAAMe,UAAU;QACdb;QACAI;QACA,OAAOK,YAAY,cAAc,CAAC,EAAET,UAAU,cAAc,CAAC;QAC7DG,cAAc,CAAC,EAAEH,UAAU,cAAc,EAAEG,WAAW,CAAC;KACxD,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIC,QAAQT;IAEZ,IAAI,CAACS,OAAO;QACVA,QAAQlB,eAAe;YACrBmB,kBAAkBb;YAClBc,MAAMb;YACNc,YAAYT,OAAOU,KAAK,CAACD,UAAU;YACnCE,UAAUhB,KAAKiB;YACfX;QACF;IACF;IAEA,qBACE,MAACY;QAAOpB,WAAWS;QAASJ,SAASA;QAASQ,OAAOA;QAAOQ,MAAK;;0BAC/D,KAACC;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,WAAW,CAAC;0BAAGU;;0BAC5C,KAACgB;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;0BAAGiB;;;;AAG9C,EAAC"}
1
+ {"version":3,"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"],"names":["React","useConfig","useTranslation","formatDocTitle","baseClass","ThumbnailCard","props","alignLabel","className","collection","doc","label","labelFromProps","onClick","thumbnail","config","i18n","classes","filter","Boolean","join","title","collectionConfig","data","dateFormat","admin","fallback","filename","button","type","div"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,eAAc;AAarB,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EACJC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,GAAG,EACHC,OAAOC,cAAc,EACrBC,OAAO,EACPC,SAAS,EACV,GAAGR;IAEJ,MAAM,EAAES,MAAM,EAAE,GAAGd;IAEnB,MAAM,EAAEe,IAAI,EAAE,GAAGd;IAEjB,MAAMe,UAAU;QACdb;QACAI;QACA,OAAOK,YAAY,cAAc,CAAC,EAAET,UAAU,cAAc,CAAC;QAC7DG,cAAc,CAAC,EAAEH,UAAU,cAAc,EAAEG,WAAW,CAAC;KACxD,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIC,QAAQT;IAEZ,IAAI,CAACS,OAAO;QACVA,QAAQlB,eAAe;YACrBmB,kBAAkBb;YAClBc,MAAMb;YACNc,YAAYT,OAAOU,KAAK,CAACD,UAAU;YACnCE,UAAUhB,KAAKiB;YACfX;QACF;IACF;IAEA,qBACE,MAACY;QAAOpB,WAAWS;QAASJ,SAASA;QAASQ,OAAOA;QAAOQ,MAAK;;0BAC/D,KAACC;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,WAAW,CAAC;0BAAGU;;0BAC5C,KAACgB;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;0BAAGiB;;;;AAG9C,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAIrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkHtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/index.tsx"],"names":[],"mappings":"AAKA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAIrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAqHtD,CAAA"}
@@ -1,4 +1,4 @@
1
- 'use client';
1
+ /* eslint-disable @typescript-eslint/no-misused-promises */ 'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { Modal, useModal } from '@faceless-ui/modal';
4
4
  import { getTranslation } from '@payloadcms/translations';
@@ -18,7 +18,7 @@ const baseClass = 'unpublish-many';
18
18
  import { toast } from 'sonner';
19
19
  export const UnpublishMany = (props)=>{
20
20
  const { collection: { slug, labels: { plural }, versions } = {} } = props;
21
- const { routes: { api }, serverURL } = useConfig();
21
+ const { config: { routes: { api }, serverURL } } = useConfig();
22
22
  const { permissions } = useAuth();
23
23
  const { toggleModal } = useModal();
24
24
  const { i18n, t } = useTranslation();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'unpublish-many'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { toast } from 'sonner'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n clearRouteCache,\n stringifyParams,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:unpublish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__template`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-unpublish\" onClick={submitted ? undefined : handleUnpublish}>\n {submitted ? t('version:unpublishing') : t('general:confirm')}\n </Button>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","Button","Pill","baseClass","toast","UnpublishMany","props","collection","slug","labels","plural","versions","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","stringifyParams","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","div","h1","p","label","buttonStyle","id","type"],"mappings":"AAAA;;AACA,SAASA,KAAK,EAAEC,QAAQ,QAAQ,qBAAoB;AACpD,SAASC,cAAc,QAAQ,2BAA0B;AACzD,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,SAASC,WAAW,EAAEC,QAAQ,QAAQ,QAAO;AAEpD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,aAAa,QAAQ,sCAAqC;AACnE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,eAAe,EAAEC,YAAY,QAAQ,qCAAoC;AAClF,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,QAAQ,QAAQ,yBAAwB;AACjD,SAASC,MAAM,QAAQ,qBAAoB;AAC3C,SAASC,IAAI,QAAQ,mBAAkB;AACvC,OAAO,eAAc;AAErB,MAAMC,YAAY;AAIlB,SAASC,KAAK,QAAQ,SAAQ;AAM9B,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EAAEC,YAAY,EAAEC,IAAI,EAAEC,QAAQ,EAAEC,MAAM,EAAE,EAAEC,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAE,GAAGL;IAEpE,MAAM,EACJM,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGpB;IACJ,MAAM,EAAEqB,WAAW,EAAE,GAAGtB;IACxB,MAAM,EAAEuB,WAAW,EAAE,GAAG7B;IACxB,MAAM,EAAE8B,IAAI,EAAEC,CAAC,EAAE,GAAGnB;IACpB,MAAM,EAAEoB,cAAc,EAAEC,SAAS,EAAE,GAAGtB;IACtC,MAAM,CAACuB,WAAWC,aAAa,GAAG9B,SAAS;IAC3C,MAAM,EAAE+B,eAAe,EAAE,GAAG3B;IAC5B,MAAM4B,SAASnC;IACf,MAAM,EAAEoC,eAAe,EAAE,GAAG9B;IAE5B,MAAM+B,wBAAwBX,aAAaY,aAAa,CAACnB,KAAK;IAC9D,MAAMoB,gBAAgBF,uBAAuBG,QAAQC;IAErD,MAAMC,YAAY,CAAC,UAAU,EAAEvB,KAAK,CAAC;IAErC,MAAMwB,kBAAkBzC,YAAY;QAClCa,MAAM6B,KAAK,CAACf,EAAE;IAChB,GAAG;QAACA;KAAE;IAEN,MAAMgB,kBAAkB3C,YAAY;QAClC+B,aAAa;QACb,MAAMtB,SACHmC,KAAK,CAAC,CAAC,EAAErB,UAAU,EAAED,IAAI,CAAC,EAAEL,KAAK,EAAEW,eAAe;YAAEiB,SAAS;gBAAEC,YAAY;YAAQ;QAAE,GAAG,CAAC,EAAE;YAC1FC,MAAMC,KAAKC,SAAS,CAAC;gBACnBJ,SAAS;YACX;YACAK,SAAS;gBACP,mBAAmBxB,KAAKyB,QAAQ;gBAChC,gBAAgB;YAClB;QACF,GACCC,IAAI,CAAC,OAAOC;YACX,IAAI;gBACF,MAAMC,OAAO,MAAMD,IAAIC,IAAI;gBAC3B7B,YAAYe;gBACZ,IAAIa,IAAIE,MAAM,GAAG,KAAK;oBACpB1C,MAAM2C,OAAO,CAAC7B,EAAE;oBAChBM,OAAOwB,OAAO,CACZzB,gBAAgB;wBACd0B,QAAQ;4BACNC,MAAM9B,YAAY,MAAM+B;wBAC1B;oBACF;oBAEF1B;oBACA,OAAO;gBACT;gBAEA,IAAIoB,KAAKO,MAAM,EAAE;oBACfP,KAAKO,MAAM,CAACC,OAAO,CAAC,CAACpB,QAAU7B,MAAM6B,KAAK,CAACA,MAAMqB,OAAO;gBAC1D,OAAO;oBACLtB;gBACF;gBACA,OAAO;YACT,EAAE,OAAOuB,GAAG;gBACV,OAAOvB;YACT;QACF;IACJ,GAAG;QACDA;QACAnB;QACAM;QACAF,KAAKyB,QAAQ;QACbX;QACAX;QACAN;QACAN;QACAU;QACAF;QACAQ;QACAC;QACAF;KACD;IAED,IAAI,CAACZ,UAAU6C,UAAUpC,cAAcvB,gBAAgB4D,IAAI,IAAI,CAAC7B,eAAe;QAC7E,OAAO;IACT;IAEA,qBACE,MAACtC,MAAMoE,QAAQ;;0BACb,KAACxD;gBACCyD,WAAW,CAAC,EAAExD,UAAU,QAAQ,CAAC;gBACjCyD,SAAS;oBACPtC,aAAa;oBACbN,YAAYe;gBACd;0BAECb,EAAE;;0BAEL,KAAChC;gBAAMyE,WAAWxD;gBAAWK,MAAMuB;0BACjC,cAAA,MAAC8B;oBAAIF,WAAW,CAAC,EAAExD,UAAU,UAAU,CAAC;;sCACtC,KAAC2D;sCAAI5C,EAAE;;sCACP,KAAC6C;sCAAG7C,EAAE,qCAAqC;gCAAE8C,OAAO5E,eAAesB,QAAQO;4BAAM;;sCACjF,KAAChB;4BACCgE,aAAY;4BACZC,IAAG;4BACHN,SAASvC,YAAY8B,YAAY,IAAMnC,YAAYe;4BACnDoC,MAAK;sCAEJjD,EAAE;;sCAEL,KAACjB;4BAAOiE,IAAG;4BAAoBN,SAASvC,YAAY8B,YAAYjB;sCAC7Db,YAAYH,EAAE,0BAA0BA,EAAE;;;;;;;AAMvD,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-misused-promises */\n'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'unpublish-many'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { toast } from 'sonner'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n config: {\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n clearRouteCache,\n stringifyParams,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:unpublish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__template`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-unpublish\" onClick={submitted ? undefined : handleUnpublish}>\n {submitted ? t('version:unpublishing') : t('general:confirm')}\n </Button>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","Button","Pill","baseClass","toast","UnpublishMany","props","collection","slug","labels","plural","versions","config","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","stringifyParams","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","div","h1","p","label","buttonStyle","id","type"],"mappings":"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"}
@@ -5,6 +5,7 @@
5
5
  display: flex;
6
6
  align-items: center;
7
7
  height: 100%;
8
+ padding: base(2);
8
9
 
9
10
  &__template {
10
11
  z-index: 1;
@@ -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;AAM1D,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA8U7C,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;AAM1D,OAAO,cAAc,CAAA;AAOrB,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgV7C,CAAA"}
@@ -12,7 +12,7 @@ const baseClass = 'condition-value-relationship';
12
12
  const maxResultsPerRequest = 10;
13
13
  export const RelationshipField = (props)=>{
14
14
  const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props;
15
- const { collections, routes: { api }, serverURL } = useConfig();
15
+ const { config: { collections, routes: { api }, serverURL } } = useConfig();
16
16
  const hasMultipleRelations = Array.isArray(relationTo);
17
17
  const [options, dispatchOptions] = useReducer(optionsReducer, []);
18
18
  const [search, setSearch] = useState('');
@@ -48,10 +48,10 @@ export const RelationshipField = (props)=>{
48
48
  i18n
49
49
  ]);
50
50
  const loadRelationOptions = React.useCallback(async ({ abortController, relationSlug })=>{
51
- const collection = collections.find((coll)=>coll.slug === relationSlug);
52
- const fieldToSearch = collection?.admin?.useAsTitle || 'id';
53
- const pageIndex = nextPageByRelationshipRef.current.get(relationSlug);
54
- if (partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {
51
+ if (relationSlug && partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {
52
+ const collection = collections.find((coll)=>coll.slug === relationSlug);
53
+ const fieldToSearch = collection?.admin?.useAsTitle || 'id';
54
+ const pageIndex = nextPageByRelationshipRef.current.get(relationSlug);
55
55
  const query = {
56
56
  depth: 0,
57
57
  limit: maxResultsPerRequest,
@@ -1 +1 @@
1
- {"version":3,"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 { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\nimport optionsReducer from './optionsReducer.js'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipField: React.FC<Props> = (props) => {\n const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const debouncedSearch = useDebounce(search, 300)\n const { i18n, t } = useTranslation()\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n const initialRelationMap = () => {\n const map: Map<string, number> = new Map()\n relationSlugs.forEach((relation) => {\n map.set(relation, 1)\n })\n return map\n }\n const nextPageByRelationshipRef = React.useRef<Map<string, number>>(initialRelationMap())\n const partiallyLoadedRelationshipSlugs = React.useRef<string[]>(relationSlugs)\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [collections, hasMultipleRelations, i18n],\n )\n\n const loadRelationOptions = React.useCallback(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const collection = collections.find((coll) => coll.slug === relationSlug)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n const pageIndex = nextPageByRelationshipRef.current.get(relationSlug)\n\n if (partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {\n const query: {\n depth?: number\n limit?: number\n page?: number\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: pageIndex,\n where: {\n and: [],\n },\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 (!debouncedSearch) {\n if (data.nextPage) {\n nextPageByRelationshipRef.current.set(relationSlug, data.nextPage)\n } else {\n partiallyLoadedRelationshipSlugs.current =\n partiallyLoadedRelationshipSlugs.current.filter(\n (partiallyLoadedRelation) => partiallyLoadedRelation !== relationSlug,\n )\n }\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e)\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n [addOptions, api, collections, debouncedSearch, i18n.language, serverURL, t],\n )\n\n const loadMoreOptions = React.useCallback(() => {\n if (partiallyLoadedRelationshipSlugs.current.length > 0) {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: partiallyLoadedRelationshipSlugs.current[0],\n })\n }\n }, [loadRelationOptions])\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 (newSearch) => {\n if (search !== newSearch) {\n setSearch(newSearch)\n }\n },\n [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 * 1. Trigger initial relationship options fetch\n * 2. When search changes, loadRelationOptions will\n * fire off again\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const abortControllers: AbortController[] = []\n relations.forEach((relation) => {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: relation,\n })\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) {\n try {\n controller.abort()\n } catch (error) {\n // swallow error\n }\n }\n })\n }\n }, [i18n, loadRelationOptions, relationTo])\n\n /**\n * Load any options that were not returned\n * in the first 10 of each relation fetch\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 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={loadMoreOptions}\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"],"names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useConfig","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipField","props","admin","isSortable","disabled","hasMany","onChange","relationTo","value","collections","routes","api","serverURL","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","debouncedSearch","i18n","t","relationSlugs","initialRelationMap","map","Map","forEach","relation","set","nextPageByRelationshipRef","useRef","partiallyLoadedRelationshipSlugs","addOptions","data","collection","find","coll","slug","type","loadRelationOptions","abortController","relationSlug","fieldToSearch","useAsTitle","pageIndex","current","get","includes","query","depth","limit","page","where","and","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","nextPage","filter","partiallyLoadedRelation","e","aborted","console","error","loadMoreOptions","AbortController","findOptionsByValue","val","matchedOption","opt","some","subOpt","undefined","valueWithRelation","handleInputChange","newSearch","addOptionByID","id","relations","abortControllers","controller","abort","matchedOptions","option","i","classes","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"mappings":"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"}
1
+ {"version":3,"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 { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\nimport optionsReducer from './optionsReducer.js'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipField: React.FC<Props> = (props) => {\n const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props\n\n const {\n config: {\n collections,\n routes: { api },\n serverURL,\n },\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const debouncedSearch = useDebounce(search, 300)\n const { i18n, t } = useTranslation()\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n const initialRelationMap = () => {\n const map: Map<string, number> = new Map()\n relationSlugs.forEach((relation) => {\n map.set(relation, 1)\n })\n return map\n }\n const nextPageByRelationshipRef = React.useRef<Map<string, number>>(initialRelationMap())\n const partiallyLoadedRelationshipSlugs = React.useRef<string[]>(relationSlugs)\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [collections, hasMultipleRelations, i18n],\n )\n\n const loadRelationOptions = React.useCallback(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n if (relationSlug && partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {\n const collection = collections.find((coll) => coll.slug === relationSlug)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n const pageIndex = nextPageByRelationshipRef.current.get(relationSlug)\n\n const query: {\n depth?: number\n limit?: number\n page?: number\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: pageIndex,\n where: {\n and: [],\n },\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 (!debouncedSearch) {\n if (data.nextPage) {\n nextPageByRelationshipRef.current.set(relationSlug, data.nextPage)\n } else {\n partiallyLoadedRelationshipSlugs.current =\n partiallyLoadedRelationshipSlugs.current.filter(\n (partiallyLoadedRelation) => partiallyLoadedRelation !== relationSlug,\n )\n }\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e)\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n [addOptions, api, collections, debouncedSearch, i18n.language, serverURL, t],\n )\n\n const loadMoreOptions = React.useCallback(() => {\n if (partiallyLoadedRelationshipSlugs.current.length > 0) {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: partiallyLoadedRelationshipSlugs.current[0],\n })\n }\n }, [loadRelationOptions])\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 (newSearch) => {\n if (search !== newSearch) {\n setSearch(newSearch)\n }\n },\n [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 * 1. Trigger initial relationship options fetch\n * 2. When search changes, loadRelationOptions will\n * fire off again\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const abortControllers: AbortController[] = []\n relations.forEach((relation) => {\n const abortController = new AbortController()\n void loadRelationOptions({\n abortController,\n relationSlug: relation,\n })\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) {\n try {\n controller.abort()\n } catch (error) {\n // swallow error\n }\n }\n })\n }\n }, [i18n, loadRelationOptions, relationTo])\n\n /**\n * Load any options that were not returned\n * in the first 10 of each relation fetch\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 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={loadMoreOptions}\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"],"names":["qs","React","useCallback","useEffect","useReducer","useState","useDebounce","useConfig","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipField","props","admin","isSortable","disabled","hasMany","onChange","relationTo","value","config","collections","routes","api","serverURL","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","debouncedSearch","i18n","t","relationSlugs","initialRelationMap","map","Map","forEach","relation","set","nextPageByRelationshipRef","useRef","partiallyLoadedRelationshipSlugs","addOptions","data","collection","find","coll","slug","type","loadRelationOptions","abortController","relationSlug","current","includes","fieldToSearch","useAsTitle","pageIndex","get","query","depth","limit","page","where","and","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","nextPage","filter","partiallyLoadedRelation","e","aborted","console","error","loadMoreOptions","AbortController","findOptionsByValue","val","matchedOption","opt","some","subOpt","undefined","valueWithRelation","handleInputChange","newSearch","addOptionByID","id","relations","abortControllers","controller","abort","matchedOptions","option","i","classes","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"mappings":"AAAA;;AAGA,YAAYA,QAAQ,SAAQ;AAC5B,OAAOC,SAASC,WAAW,EAAEC,SAAS,EAAEC,UAAU,EAAEC,QAAQ,QAAQ,QAAO;AAK3E,SAASC,WAAW,QAAQ,mCAAkC;AAC9D,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,OAAO,eAAc;AACrB,OAAOC,oBAAoB,sBAAqB;AAEhD,MAAMC,YAAY;AAElB,MAAMC,uBAAuB;AAE7B,OAAO,MAAMC,oBAAqC,CAACC;IACjD,MAAM,EAAEC,OAAO,EAAEC,UAAU,EAAE,GAAG,CAAC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,KAAK,EAAE,GAAGP;IAEvF,MAAM,EACJQ,QAAQ,EACNC,WAAW,EACXC,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,EACF,GAAGnB;IAEJ,MAAMoB,uBAAuBC,MAAMC,OAAO,CAACT;IAC3C,MAAM,CAACU,SAASC,gBAAgB,GAAG3B,WAAWM,gBAAgB,EAAE;IAChE,MAAM,CAACsB,QAAQC,UAAU,GAAG5B,SAAS;IACrC,MAAM,CAAC6B,cAAcC,gBAAgB,GAAG9B,SAAS;IACjD,MAAM,CAAC+B,uBAAuBC,yBAAyB,GAAGhC,SAAS;IACnE,MAAMiC,kBAAkBhC,YAAY0B,QAAQ;IAC5C,MAAM,EAAEO,IAAI,EAAEC,CAAC,EAAE,GAAGhC;IACpB,MAAMiC,gBAAgBd,uBAAuBP,aAAa;QAACA;KAAW;IACtE,MAAMsB,qBAAqB;QACzB,MAAMC,MAA2B,IAAIC;QACrCH,cAAcI,OAAO,CAAC,CAACC;YACrBH,IAAII,GAAG,CAACD,UAAU;QACpB;QACA,OAAOH;IACT;IACA,MAAMK,4BAA4B/C,MAAMgD,MAAM,CAAsBP;IACpE,MAAMQ,mCAAmCjD,MAAMgD,MAAM,CAAWR;IAEhE,MAAMU,aAAajD,YACjB,CAACkD,MAAMN;QACL,MAAMO,aAAa9B,YAAY+B,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,KAAKV;QAC5Df,gBAAgB;YAAE0B,MAAM;YAAOJ;YAAYD;YAAMzB;YAAsBY;YAAMO;QAAS;IACxF,GACA;QAACvB;QAAaI;QAAsBY;KAAK;IAG3C,MAAMmB,sBAAsBzD,MAAMC,WAAW,CAC3C,OAAO,EACLyD,eAAe,EACfC,YAAY,EAIb;QACC,IAAIA,gBAAgBV,iCAAiCW,OAAO,CAACC,QAAQ,CAACF,eAAe;YACnF,MAAMP,aAAa9B,YAAY+B,IAAI,CAAC,CAACC,OAASA,KAAKC,IAAI,KAAKI;YAC5D,MAAMG,gBAAgBV,YAAYtC,OAAOiD,cAAc;YACvD,MAAMC,YAAYjB,0BAA0Ba,OAAO,CAACK,GAAG,CAACN;YAExD,MAAMO,QAKF;gBACFC,OAAO;gBACPC,OAAOzD;gBACP0D,MAAML;gBACNM,OAAO;oBACLC,KAAK,EAAE;gBACT;YACF;YAEA,IAAIlC,iBAAiB;gBACnB6B,MAAMI,KAAK,CAACC,GAAG,CAACC,IAAI,CAAC;oBACnB,CAACV,cAAc,EAAE;wBACfW,MAAMpC;oBACR;gBACF;YACF;YAEA,IAAI;gBACF,MAAMqC,WAAW,MAAMC,MACrB,CAAC,EAAElD,UAAU,EAAED,IAAI,CAAC,EAAEmC,aAAa,EAAE5D,GAAG6E,SAAS,CAACV,OAAO;oBAAEW,gBAAgB;gBAAK,GAAG,CAAC,EACpF;oBACEC,aAAa;oBACbC,SAAS;wBACP,mBAAmBzC,KAAK0C,QAAQ;oBAClC;oBACAC,QAAQvB,gBAAgBuB,MAAM;gBAChC;gBAGF,IAAIP,SAASQ,EAAE,EAAE;oBACf,MAAM/B,OAAsB,MAAMuB,SAASS,IAAI;oBAC/C,IAAIhC,KAAKiC,IAAI,CAACC,MAAM,GAAG,GAAG;wBACxBnC,WAAWC,MAAMQ;wBAEjB,IAAI,CAACtB,iBAAiB;4BACpB,IAAIc,KAAKmC,QAAQ,EAAE;gCACjBvC,0BAA0Ba,OAAO,CAACd,GAAG,CAACa,cAAcR,KAAKmC,QAAQ;4BACnE,OAAO;gCACLrC,iCAAiCW,OAAO,GACtCX,iCAAiCW,OAAO,CAAC2B,MAAM,CAC7C,CAACC,0BAA4BA,4BAA4B7B;4BAE/D;wBACF;oBACF;gBACF,OAAO;oBACLzB,gBAAgBK,EAAE;gBACpB;YACF,EAAE,OAAOkD,GAAG;gBACV,IAAI,CAAC/B,gBAAgBuB,MAAM,CAACS,OAAO,EAAE;oBACnCC,QAAQC,KAAK,CAACH;gBAChB;YACF;QACF;QAEArD,yBAAyB;IAC3B,GACA;QAACc;QAAY1B;QAAKF;QAAae;QAAiBC,KAAK0C,QAAQ;QAAEvD;QAAWc;KAAE;IAG9E,MAAMsD,kBAAkB7F,MAAMC,WAAW,CAAC;QACxC,IAAIgD,iCAAiCW,OAAO,CAACyB,MAAM,GAAG,GAAG;YACvD,MAAM3B,kBAAkB,IAAIoC;YAC5B,KAAKrC,oBAAoB;gBACvBC;gBACAC,cAAcV,iCAAiCW,OAAO,CAAC,EAAE;YAC3D;QACF;IACF,GAAG;QAACH;KAAoB;IAExB,MAAMsC,qBAAqB9F,YAAY;QACrC,IAAImB,OAAO;YACT,IAAIH,SAAS;gBACX,IAAIU,MAAMC,OAAO,CAACR,QAAQ;oBACxB,OAAOA,MAAMsB,GAAG,CAAC,CAACsD;wBAChB,IAAItE,sBAAsB;4BACxB,IAAIuE;4BAEJpE,QAAQe,OAAO,CAAC,CAACsD;gCACf,IAAIA,IAAIrE,OAAO,EAAE;oCACfqE,IAAIrE,OAAO,CAACsE,IAAI,CAAC,CAACC;wCAChB,IAAIA,QAAQhF,SAAS4E,IAAI5E,KAAK,EAAE;4CAC9B6E,gBAAgBG;4CAChB,OAAO;wCACT;wCAEA,OAAO;oCACT;gCACF;4BACF;4BAEA,OAAOH;wBACT;wBAEA,OAAOpE,QAAQwB,IAAI,CAAC,CAAC6C,MAAQA,IAAI9E,KAAK,IAAI4E;oBAC5C;gBACF;gBAEA,OAAOK;YACT;YAEA,IAAI3E,sBAAsB;gBACxB,IAAIuE;gBAEJ,MAAMK,oBAAoBlF;gBAE1BS,QAAQe,OAAO,CAAC,CAACsD;oBACf,IAAIA,KAAKrE,SAAS;wBAChBqE,IAAIrE,OAAO,CAACsE,IAAI,CAAC,CAACC;4BAChB,IAAIA,QAAQhF,SAASkF,kBAAkBlF,KAAK,EAAE;gCAC5C6E,gBAAgBG;gCAChB,OAAO;4BACT;4BACA,OAAO;wBACT;oBACF;gBACF;gBAEA,OAAOH;YACT;YAEA,OAAOpE,QAAQwB,IAAI,CAAC,CAAC6C,MAAQA,IAAI9E,KAAK,IAAIA;QAC5C;QAEA,OAAOiF;IACT,GAAG;QAACpF;QAASS;QAAsBN;QAAOS;KAAQ;IAElD,MAAM0E,oBAAoBtG,YACxB,CAACuG;QACC,IAAIzE,WAAWyE,WAAW;YACxBxE,UAAUwE;QACZ;IACF,GACA;QAACzE;KAAO;IAGV,MAAM0E,gBAAgBxG,YACpB,OAAOyG,IAAI7D;QACT,IAAI,CAACZ,gBAAgByE,OAAO,UAAUA,MAAM7D,UAAU;YACpD,MAAM6B,WAAW,MAAMC,MAAM,CAAC,EAAElD,UAAU,EAAED,IAAI,CAAC,EAAEqB,SAAS,CAAC,EAAE6D,GAAG,QAAQ,CAAC,EAAE;gBAC3E5B,aAAa;gBACbC,SAAS;oBACP,mBAAmBzC,KAAK0C,QAAQ;gBAClC;YACF;YAEA,IAAIN,SAASQ,EAAE,EAAE;gBACf,MAAM/B,OAAO,MAAMuB,SAASS,IAAI;gBAChCjC,WAAW;oBAAEkC,MAAM;wBAACjC;qBAAK;gBAAC,GAAGN;YAC/B,OAAO;gBACL,sCAAsC;gBACtC8C,QAAQC,KAAK,CAACrD,EAAE,yBAAyB;oBAAEmE;gBAAG;YAChD;QACF;IACF,GACA;QAACpE;QAAMY;QAAY1B;QAAKS;QAAcR;QAAWc;KAAE;IAGrD;;;;GAIC,GACDrC,UAAU;QACR,MAAMyG,YAAYhF,MAAMC,OAAO,CAACT,cAAcA,aAAa;YAACA;SAAW;QACvE,MAAMyF,mBAAsC,EAAE;QAC9CD,UAAU/D,OAAO,CAAC,CAACC;YACjB,MAAMa,kBAAkB,IAAIoC;YAC5B,KAAKrC,oBAAoB;gBACvBC;gBACAC,cAAcd;YAChB;YACA+D,iBAAiBpC,IAAI,CAACd;QACxB;QAEA,OAAO;YACLkD,iBAAiBhE,OAAO,CAAC,CAACiE;gBACxB,IAAIA,WAAW5B,MAAM,EAAE;oBACrB,IAAI;wBACF4B,WAAWC,KAAK;oBAClB,EAAE,OAAOlB,OAAO;oBACd,gBAAgB;oBAClB;gBACF;YACF;QACF;IACF,GAAG;QAACtD;QAAMmB;QAAqBtC;KAAW;IAE1C;;;GAGC,GACDjB,UAAU;QACR,IAAIkB,SAASe,uBAAuB;YAClC,IAAIlB,SAAS;gBACX,MAAM8F,iBAAiBhB;gBAErB,CAAA,AAACgB,kBAA+B,EAAE,AAAD,EAAGnE,OAAO,CAAC,CAACoE,QAAQC;oBACrD,IAAI,CAACD,QAAQ;wBACX,IAAItF,sBAAsB;4BACxB,KAAK+E,cAAcrF,KAAK,CAAC6F,EAAE,CAAC7F,KAAK,EAAEA,KAAK,CAAC6F,EAAE,CAAC9F,UAAU;wBACxD,OAAO;4BACL,KAAKsF,cAAcrF,KAAK,CAAC6F,EAAE,EAAE9F;wBAC/B;oBACF;gBACF;YACF,OAAO;gBACL,MAAM8E,gBAAgBF;gBAEtB,IAAI,CAACE,eAAe;oBAClB,IAAIvE,sBAAsB;wBACxB,MAAM4E,oBAAoBlF;wBAC1B,KAAKqF,cAAcH,kBAAkBlF,KAAK,EAAEkF,kBAAkBnF,UAAU;oBAC1E,OAAO;wBACL,KAAKsF,cAAcrF,OAAOD;oBAC5B;gBACF;YACF;QACF;IACF,GAAG;QACDsF;QACAV;QACA9E;QACAS;QACAP;QACAC;QACAe;KACD;IAED,MAAM+E,UAAU;QAAC;QAAcxG;QAAWuB,gBAAgB;KAAgB,CACvEsD,MAAM,CAAC4B,SACPC,IAAI,CAAC;IAER,MAAMC,gBAAiBtB,wBAAwB3E;IAE/C,qBACE,MAACkG;QAAIC,WAAWL;;YACb,CAACjF,8BACA,KAACzB;gBACCQ,UAAUA;gBACVwG,SAASvG;gBACTF,YAAYA;gBACZG,UAAU,CAACuG;oBACT,IAAI,CAACA,UAAU;wBACbvG,SAAS;wBACT;oBACF;oBACA,IAAID,WAAWU,MAAMC,OAAO,CAAC6F,WAAW;wBACtCvG,SACEuG,WACIA,SAAS/E,GAAG,CAAC,CAACsE;4BACZ,IAAItF,sBAAsB;gCACxB,OAAO;oCACLP,YAAY6F,QAAQ7F;oCACpBC,OAAO4F,QAAQ5F;gCACjB;4BACF;4BAEA,OAAO4F,QAAQ5F;wBACjB,KACA;oBAER,OAAO,IAAIM,wBAAwB,CAACC,MAAMC,OAAO,CAAC6F,WAAW;wBAC3DvG,SAAS;4BACPC,YAAYsG,UAAUtG;4BACtBC,OAAOqG,UAAUrG;wBACnB;oBACF,OAAO,IAAI,CAACO,MAAMC,OAAO,CAAC6F,WAAW;wBACnCvG,SAASuG,UAAUrG;oBACrB;gBACF;gBACAsG,eAAenB;gBACfoB,sBAAsB9B;gBACtBhE,SAASA;gBACT+F,aAAarF,EAAE;gBACfnB,OAAOiG;;YAGVpF,8BAAgB,KAACqF;gBAAIC,WAAW,CAAC,EAAE7G,UAAU,eAAe,CAAC;0BAAGuB;;;;AAGvE,EAAC"}
@@ -1,9 +1,9 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
2
  import type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload';
3
3
  export type Props = {
4
- disabled?: boolean;
5
- onChange: (val: unknown) => void;
6
- value: unknown;
4
+ readonly disabled?: boolean;
5
+ readonly onChange: (val: unknown) => void;
6
+ readonly value: unknown;
7
7
  } & RelationshipField;
8
8
  export type Option = {
9
9
  label: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,OAAO,CAAA;CACf,GAAG,iBAAiB,CAAA;AAErB,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;IAC3B,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IACzC,QAAQ,CAAC,KAAK,EAAE,OAAO,CAAA;CACxB,GAAG,iBAAiB,CAAA;AAErB,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: unknown) => void\n value: unknown\n} & RelationshipField\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: string\n}\n\ntype CLEAR = {\n i18n: I18nClient\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n data: PaginatedDocs<any>\n hasMultipleRelations: boolean\n i18n: I18nClient\n relation: string\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage?: number\n search?: string\n}) => Promise<void>\n"],"names":[],"mappings":"AAsCA,WAImB"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload'\n\nexport type Props = {\n readonly disabled?: boolean\n readonly onChange: (val: unknown) => void\n readonly value: unknown\n} & RelationshipField\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: string\n}\n\ntype CLEAR = {\n i18n: I18nClient\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n data: PaginatedDocs<any>\n hasMultipleRelations: boolean\n i18n: I18nClient\n relation: string\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage?: number\n search?: string\n}) => Promise<void>\n"],"names":[],"mappings":"AAsCA,WAImB"}
@@ -1,6 +1,5 @@
1
1
  import React from 'react';
2
2
  import type { Props } from './types.js';
3
3
  import './index.scss';
4
- declare const Text: React.FC<Props>;
5
- export default Text;
4
+ export declare const Text: React.FC<Props>;
6
5
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAIrB,QAAA,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAYzB,CAAA;AAED,eAAe,IAAI,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAA;AAGvC,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAYhC,CAAA"}
@@ -4,7 +4,7 @@ import React from 'react';
4
4
  import { useTranslation } from '../../../../providers/Translation/index.js';
5
5
  import './index.scss';
6
6
  const baseClass = 'condition-value-text';
7
- const Text = ({ disabled, onChange, value })=>{
7
+ export const Text = ({ disabled, onChange, value })=>{
8
8
  const { t } = useTranslation();
9
9
  return /*#__PURE__*/ _jsx("input", {
10
10
  className: baseClass,
@@ -15,6 +15,5 @@ const Text = ({ disabled, onChange, value })=>{
15
15
  value: value || ''
16
16
  });
17
17
  };
18
- export default Text;
19
18
 
20
19
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-text'\n\nconst Text: React.FC<Props> = ({ disabled, onChange, value }) => {\n const { t } = useTranslation()\n return (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"text\"\n value={value || ''}\n />\n )\n}\n\nexport default Text\n"],"names":["React","useTranslation","baseClass","Text","disabled","onChange","value","t","input","className","e","target","placeholder","type"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,MAAMC,OAAwB,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IAC1D,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,qBACE,KAACO;QACCC,WAAWP;QACXE,UAAUA;QACVC,UAAU,CAACK,IAAML,SAASK,EAAEC,MAAM,CAACL,KAAK;QACxCM,aAAaL,EAAE;QACfM,MAAK;QACLP,OAAOA,SAAS;;AAGtB;AAEA,eAAeH,KAAI"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-text'\n\nexport const Text: React.FC<Props> = ({ disabled, onChange, value }) => {\n const { t } = useTranslation()\n return (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"text\"\n value={value || ''}\n />\n )\n}\n"],"names":["React","useTranslation","baseClass","Text","disabled","onChange","value","t","input","className","e","target","placeholder","type"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,OAAwB,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IACjE,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,qBACE,KAACO;QACCC,WAAWP;QACXE,UAAUA;QACVC,UAAU,CAACK,IAAML,SAASK,EAAEC,MAAM,CAACL,KAAK;QACxCM,aAAaL,EAAE;QACfM,MAAK;QACLP,OAAOA,SAAS;;AAGtB,EAAC"}
@@ -1,23 +1,23 @@
1
1
  import React from 'react';
2
2
  import type { FieldCondition } from '../types.js';
3
3
  export type Props = {
4
- addCondition: ({ andIndex, fieldName, orIndex, relation, }: {
4
+ readonly addCondition: ({ andIndex, fieldName, orIndex, relation, }: {
5
5
  andIndex: number;
6
6
  fieldName: string;
7
7
  orIndex: number;
8
8
  relation: 'and' | 'or';
9
9
  }) => void;
10
- andIndex: number;
11
- fieldName: string;
12
- fields: FieldCondition[];
13
- initialValue: string;
14
- operator: Operator;
15
- orIndex: number;
16
- removeCondition: ({ andIndex, orIndex }: {
10
+ readonly andIndex: number;
11
+ readonly fieldName: string;
12
+ readonly fields: FieldCondition[];
13
+ readonly initialValue: string;
14
+ readonly operator: Operator;
15
+ readonly orIndex: number;
16
+ readonly removeCondition: ({ andIndex, orIndex }: {
17
17
  andIndex: number;
18
18
  orIndex: number;
19
19
  }) => void;
20
- updateCondition: ({ andIndex, fieldName, operator, orIndex, value, }: {
20
+ readonly updateCondition: ({ andIndex, fieldName, operator, orIndex, value, }: {
21
21
  andIndex: number;
22
22
  fieldName: string;
23
23
  operator: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,EAAE,CAAC,EACb,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACvF,eAAe,EAAE,CAAC,EAChB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;CACX,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAcvC,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAoJrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,YAAY,EAAE,CAAC,EACtB,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAA;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAA;IAC1B,QAAQ,CAAC,MAAM,EAAE,cAAc,EAAE,CAAA;IACjC,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAA;IAC7B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;IACxB,QAAQ,CAAC,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IAChG,QAAQ,CAAC,eAAe,EAAE,CAAC,EACzB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;CACX,CAAA;AAED,OAAO,KAAK,EAA+B,QAAQ,EAAE,MAAM,SAAS,CAAA;AAcpE,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAiKrC,CAAA"}