@payloadcms/ui 3.0.0-alpha.49 → 3.0.0-alpha.50

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 (442) hide show
  1. package/dist/elements/Autosave/index.d.ts.map +1 -1
  2. package/dist/elements/Autosave/index.js +2 -43
  3. package/dist/elements/Autosave/index.js.map +1 -1
  4. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  5. package/dist/elements/ColumnSelector/index.js +2 -5
  6. package/dist/elements/ColumnSelector/index.js.map +1 -1
  7. package/dist/elements/DeleteDocument/index.js +2 -2
  8. package/dist/elements/DeleteDocument/index.js.map +1 -1
  9. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  10. package/dist/elements/DocumentControls/index.js +13 -4
  11. package/dist/elements/DocumentControls/index.js.map +1 -1
  12. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  13. package/dist/elements/DocumentDrawer/DrawerContent.js +31 -112
  14. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  15. package/dist/elements/DocumentDrawer/types.d.ts +0 -2
  16. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  17. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  18. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +1 -0
  19. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +1 -1
  20. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +8 -2
  21. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  22. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  23. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +1 -0
  24. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  25. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  26. package/dist/elements/DocumentHeader/Tabs/index.js +4 -0
  27. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  28. package/dist/elements/EditMany/index.d.ts.map +1 -1
  29. package/dist/elements/EditMany/index.js +3 -25
  30. package/dist/elements/EditMany/index.js.map +1 -1
  31. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  32. package/dist/elements/FieldSelect/index.js +39 -12
  33. package/dist/elements/FieldSelect/index.js.map +1 -1
  34. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  35. package/dist/elements/FileDetails/index.js +2 -1
  36. package/dist/elements/FileDetails/index.js.map +1 -1
  37. package/dist/elements/ListControls/index.d.ts +0 -1
  38. package/dist/elements/ListControls/index.d.ts.map +1 -1
  39. package/dist/elements/ListControls/index.js +7 -6
  40. package/dist/elements/ListControls/index.js.map +1 -1
  41. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  42. package/dist/elements/ListDrawer/DrawerContent.js +5 -9
  43. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  44. package/dist/elements/Nav/index.client.d.ts +3 -0
  45. package/dist/elements/Nav/index.client.d.ts.map +1 -0
  46. package/dist/elements/Nav/index.client.js +77 -0
  47. package/dist/elements/Nav/index.client.js.map +1 -0
  48. package/dist/elements/Nav/index.d.ts +3 -7
  49. package/dist/elements/Nav/index.d.ts.map +1 -1
  50. package/dist/elements/Nav/index.js +4 -66
  51. package/dist/elements/Nav/index.js.map +1 -1
  52. package/dist/elements/PerPage/index.d.ts +1 -0
  53. package/dist/elements/PerPage/index.d.ts.map +1 -1
  54. package/dist/elements/PerPage/index.js +6 -4
  55. package/dist/elements/PerPage/index.js.map +1 -1
  56. package/dist/elements/PreviewButton/index.d.ts +4 -6
  57. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  58. package/dist/elements/PreviewButton/index.js +11 -65
  59. package/dist/elements/PreviewButton/index.js.map +1 -1
  60. package/dist/elements/PreviewButton/usePreviewURL.d.ts +9 -0
  61. package/dist/elements/PreviewButton/usePreviewURL.d.ts.map +1 -0
  62. package/dist/elements/PreviewButton/usePreviewURL.js +57 -0
  63. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -0
  64. package/dist/elements/Publish/index.d.ts +4 -2
  65. package/dist/elements/Publish/index.d.ts.map +1 -1
  66. package/dist/elements/Publish/index.js +15 -25
  67. package/dist/elements/Publish/index.js.map +1 -1
  68. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  69. package/dist/elements/ReactSelect/MultiValue/index.js +2 -1
  70. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  71. package/dist/elements/ReactSelect/ValueContainer/index.scss +4 -0
  72. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  73. package/dist/elements/ReactSelect/index.js +4 -1
  74. package/dist/elements/ReactSelect/index.js.map +1 -1
  75. package/dist/elements/ReactSelect/types.d.ts +2 -0
  76. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  77. package/dist/elements/ReactSelect/types.js.map +1 -1
  78. package/dist/elements/Save/index.d.ts +4 -2
  79. package/dist/elements/Save/index.d.ts.map +1 -1
  80. package/dist/elements/Save/index.js +7 -14
  81. package/dist/elements/Save/index.js.map +1 -1
  82. package/dist/elements/SaveDraft/index.d.ts +1 -2
  83. package/dist/elements/SaveDraft/index.d.ts.map +1 -1
  84. package/dist/elements/SaveDraft/index.js +33 -42
  85. package/dist/elements/SaveDraft/index.js.map +1 -1
  86. package/dist/elements/SortColumn/index.d.ts +3 -1
  87. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  88. package/dist/elements/SortColumn/index.js +5 -6
  89. package/dist/elements/SortColumn/index.js.map +1 -1
  90. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +3 -3
  91. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  92. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  93. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +4 -4
  94. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  95. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  96. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +2 -2
  97. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  98. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  99. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +2 -2
  100. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  101. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  102. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +2 -5
  103. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  104. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  105. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +2 -2
  106. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  107. package/dist/elements/Table/DefaultCell/fields/File/index.js +4 -3
  108. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  109. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +2 -2
  110. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  111. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  112. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +4 -4
  113. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  114. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  115. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +3 -3
  116. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  117. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  118. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +2 -2
  119. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  120. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  121. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -4
  122. package/dist/elements/Table/DefaultCell/index.d.ts +2 -2
  123. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  124. package/dist/elements/Table/DefaultCell/index.js +4 -2
  125. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  126. package/dist/elements/Table/TableCellProvider/index.d.ts +11 -11
  127. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  128. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  129. package/dist/elements/Table/index.d.ts +8 -4
  130. package/dist/elements/Table/index.d.ts.map +1 -1
  131. package/dist/elements/Table/index.js +1 -0
  132. package/dist/elements/Table/index.js.map +1 -1
  133. package/dist/elements/TableColumns/{buildColumns.d.ts → buildColumnState.d.ts} +8 -6
  134. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -0
  135. package/dist/elements/TableColumns/{buildColumns.js → buildColumnState.js} +37 -13
  136. package/dist/elements/TableColumns/buildColumnState.js.map +1 -0
  137. package/dist/elements/TableColumns/filterFields.d.ts +3 -0
  138. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -0
  139. package/dist/elements/TableColumns/filterFields.js +27 -0
  140. package/dist/elements/TableColumns/filterFields.js.map +1 -0
  141. package/dist/elements/TableColumns/getInitialColumns.d.ts +5 -0
  142. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -0
  143. package/dist/elements/TableColumns/getInitialColumns.js +48 -0
  144. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -0
  145. package/dist/elements/TableColumns/index.d.ts +2 -2
  146. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  147. package/dist/elements/TableColumns/index.js +11 -7
  148. package/dist/elements/TableColumns/index.js.map +1 -1
  149. package/dist/elements/Thumbnail/index.d.ts +6 -0
  150. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  151. package/dist/elements/Thumbnail/index.js +32 -16
  152. package/dist/elements/Thumbnail/index.js.map +1 -1
  153. package/dist/elements/ThumbnailCard/index.d.ts +1 -1
  154. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  155. package/dist/elements/ThumbnailCard/index.js +2 -6
  156. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  157. package/dist/elements/Tooltip/index.scss +4 -4
  158. package/dist/elements/Translation/index.d.ts.map +1 -1
  159. package/dist/elements/Translation/index.js +12 -9
  160. package/dist/elements/Translation/index.js.map +1 -1
  161. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  162. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -7
  163. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  164. package/dist/elements/WhereBuilder/Condition/index.d.ts +21 -4
  165. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/index.js +45 -61
  167. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/index.scss +6 -0
  169. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  170. package/dist/elements/WhereBuilder/index.js +134 -55
  171. package/dist/elements/WhereBuilder/index.js.map +1 -1
  172. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +3 -0
  173. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -0
  174. package/dist/elements/WhereBuilder/reduceFieldMap.js +36 -0
  175. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -0
  176. package/dist/elements/withMergedProps/index.js +1 -1
  177. package/dist/elements/withMergedProps/index.js.map +1 -1
  178. package/dist/fields/Array/ArrayRow.d.ts +2 -0
  179. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  180. package/dist/fields/Array/ArrayRow.js +3 -3
  181. package/dist/fields/Array/ArrayRow.js.map +1 -1
  182. package/dist/fields/Array/index.d.ts +1 -1
  183. package/dist/fields/Array/index.d.ts.map +1 -1
  184. package/dist/fields/Array/index.js +23 -8
  185. package/dist/fields/Array/index.js.map +1 -1
  186. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  187. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  188. package/dist/fields/Blocks/BlockRow.js +2 -3
  189. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  190. package/dist/fields/Blocks/index.d.ts +0 -1
  191. package/dist/fields/Blocks/index.d.ts.map +1 -1
  192. package/dist/fields/Blocks/index.js +17 -5
  193. package/dist/fields/Blocks/index.js.map +1 -1
  194. package/dist/fields/Checkbox/Input.d.ts +2 -1
  195. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  196. package/dist/fields/Checkbox/Input.js +3 -1
  197. package/dist/fields/Checkbox/Input.js.map +1 -1
  198. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  199. package/dist/fields/Checkbox/index.js +6 -2
  200. package/dist/fields/Checkbox/index.js.map +1 -1
  201. package/dist/fields/Code/index.d.ts.map +1 -1
  202. package/dist/fields/Code/index.js +8 -3
  203. package/dist/fields/Code/index.js.map +1 -1
  204. package/dist/fields/Collapsible/index.d.ts +2 -1
  205. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  206. package/dist/fields/Collapsible/index.js +4 -3
  207. package/dist/fields/Collapsible/index.js.map +1 -1
  208. package/dist/fields/DateTime/index.d.ts.map +1 -1
  209. package/dist/fields/DateTime/index.js +7 -2
  210. package/dist/fields/DateTime/index.js.map +1 -1
  211. package/dist/fields/Email/index.d.ts.map +1 -1
  212. package/dist/fields/Email/index.js +7 -2
  213. package/dist/fields/Email/index.js.map +1 -1
  214. package/dist/fields/Group/index.d.ts +0 -1
  215. package/dist/fields/Group/index.d.ts.map +1 -1
  216. package/dist/fields/Group/index.js +9 -8
  217. package/dist/fields/Group/index.js.map +1 -1
  218. package/dist/fields/HiddenInput/index.d.ts +1 -0
  219. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  220. package/dist/fields/HiddenInput/index.js +4 -2
  221. package/dist/fields/HiddenInput/index.js.map +1 -1
  222. package/dist/fields/JSON/index.d.ts.map +1 -1
  223. package/dist/fields/JSON/index.js +8 -4
  224. package/dist/fields/JSON/index.js.map +1 -1
  225. package/dist/fields/Number/index.d.ts.map +1 -1
  226. package/dist/fields/Number/index.js +7 -2
  227. package/dist/fields/Number/index.js.map +1 -1
  228. package/dist/fields/Password/index.d.ts +0 -1
  229. package/dist/fields/Password/index.d.ts.map +1 -1
  230. package/dist/fields/Password/index.js +5 -2
  231. package/dist/fields/Password/index.js.map +1 -1
  232. package/dist/fields/Point/index.d.ts.map +1 -1
  233. package/dist/fields/Point/index.js +15 -10
  234. package/dist/fields/Point/index.js.map +1 -1
  235. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  236. package/dist/fields/RadioGroup/index.js +7 -2
  237. package/dist/fields/RadioGroup/index.js.map +1 -1
  238. package/dist/fields/Relationship/index.d.ts.map +1 -1
  239. package/dist/fields/Relationship/index.js +45 -14
  240. package/dist/fields/Relationship/index.js.map +1 -1
  241. package/dist/fields/Relationship/types.d.ts +3 -1
  242. package/dist/fields/Relationship/types.d.ts.map +1 -1
  243. package/dist/fields/Relationship/types.js.map +1 -1
  244. package/dist/fields/RichText/index.d.ts +2 -0
  245. package/dist/fields/RichText/index.d.ts.map +1 -1
  246. package/dist/fields/RichText/index.js.map +1 -1
  247. package/dist/fields/Row/index.d.ts.map +1 -1
  248. package/dist/fields/Row/index.js +2 -1
  249. package/dist/fields/Row/index.js.map +1 -1
  250. package/dist/fields/Select/index.d.ts +0 -1
  251. package/dist/fields/Select/index.d.ts.map +1 -1
  252. package/dist/fields/Select/index.js +8 -3
  253. package/dist/fields/Select/index.js.map +1 -1
  254. package/dist/fields/Tabs/index.d.ts +0 -1
  255. package/dist/fields/Tabs/index.d.ts.map +1 -1
  256. package/dist/fields/Tabs/index.js +2 -2
  257. package/dist/fields/Tabs/index.js.map +1 -1
  258. package/dist/fields/Text/Input.d.ts.map +1 -1
  259. package/dist/fields/Text/Input.js +4 -1
  260. package/dist/fields/Text/Input.js.map +1 -1
  261. package/dist/fields/Text/index.d.ts.map +1 -1
  262. package/dist/fields/Text/index.js +3 -1
  263. package/dist/fields/Text/index.js.map +1 -1
  264. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  265. package/dist/fields/Textarea/Input.js +4 -1
  266. package/dist/fields/Textarea/Input.js.map +1 -1
  267. package/dist/fields/Textarea/index.d.ts.map +1 -1
  268. package/dist/fields/Textarea/index.js +3 -1
  269. package/dist/fields/Textarea/index.js.map +1 -1
  270. package/dist/fields/Upload/Input.d.ts.map +1 -1
  271. package/dist/fields/Upload/Input.js +10 -8
  272. package/dist/fields/Upload/Input.js.map +1 -1
  273. package/dist/fields/Upload/index.d.ts.map +1 -1
  274. package/dist/fields/Upload/index.js +6 -2
  275. package/dist/fields/Upload/index.js.map +1 -1
  276. package/dist/fields/shared/index.d.ts +1 -2
  277. package/dist/fields/shared/index.d.ts.map +1 -1
  278. package/dist/fields/shared/index.js.map +1 -1
  279. package/dist/forms/FieldDescription/index.d.ts +1 -2
  280. package/dist/forms/FieldDescription/index.d.ts.map +1 -1
  281. package/dist/forms/FieldDescription/index.js.map +1 -1
  282. package/dist/forms/FieldError/index.js +1 -1
  283. package/dist/forms/FieldError/index.js.map +1 -1
  284. package/dist/forms/FieldLabel/index.d.ts.map +1 -1
  285. package/dist/forms/FieldLabel/index.js +4 -4
  286. package/dist/forms/FieldLabel/index.js.map +1 -1
  287. package/dist/forms/FieldLabel/index.scss +1 -1
  288. package/dist/forms/FieldPropsProvider/index.d.ts +5 -0
  289. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  290. package/dist/forms/FieldPropsProvider/index.js +5 -1
  291. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  292. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  293. package/dist/forms/Form/fieldReducer.js +6 -8
  294. package/dist/forms/Form/fieldReducer.js.map +1 -1
  295. package/dist/forms/Form/index.d.ts.map +1 -1
  296. package/dist/forms/Form/index.js +37 -20
  297. package/dist/forms/Form/index.js.map +1 -1
  298. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  299. package/dist/forms/Form/initContextState.js +1 -0
  300. package/dist/forms/Form/initContextState.js.map +1 -1
  301. package/dist/forms/Form/mergeErrorPaths.d.ts +5 -0
  302. package/dist/forms/Form/mergeErrorPaths.d.ts.map +1 -0
  303. package/dist/forms/Form/mergeErrorPaths.js +29 -0
  304. package/dist/forms/Form/mergeErrorPaths.js.map +1 -0
  305. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  306. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  307. package/dist/forms/Form/mergeServerFormState.js +36 -19
  308. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  309. package/dist/forms/Form/types.d.ts +8 -2
  310. package/dist/forms/Form/types.d.ts.map +1 -1
  311. package/dist/forms/Form/types.js.map +1 -1
  312. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  313. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  314. package/dist/forms/RenderFields/RenderField.js +12 -4
  315. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  316. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  317. package/dist/forms/RenderFields/index.js +3 -3
  318. package/dist/forms/RenderFields/index.js.map +1 -1
  319. package/dist/forms/RenderFields/types.d.ts +1 -0
  320. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  321. package/dist/forms/RenderFields/types.js.map +1 -1
  322. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +4 -3
  323. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  324. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +67 -42
  325. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  326. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +11 -0
  327. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -0
  328. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +13 -0
  329. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -0
  330. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +11 -0
  331. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -0
  332. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +16 -0
  333. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -0
  334. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +12 -0
  335. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -0
  336. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +122 -0
  337. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -0
  338. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  339. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  340. package/dist/forms/buildStateFromSchema/index.js +10 -2
  341. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  342. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
  343. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  344. package/dist/forms/buildStateFromSchema/iterateFields.js +4 -3
  345. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  346. package/dist/forms/useField/index.d.ts.map +1 -1
  347. package/dist/forms/useField/index.js +32 -12
  348. package/dist/forms/useField/index.js.map +1 -1
  349. package/dist/forms/useField/types.d.ts +1 -0
  350. package/dist/forms/useField/types.d.ts.map +1 -1
  351. package/dist/forms/useField/types.js.map +1 -1
  352. package/dist/forms/withCondition/WatchCondition.d.ts +3 -0
  353. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  354. package/dist/forms/withCondition/WatchCondition.js +10 -2
  355. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  356. package/dist/forms/withCondition/index.js +4 -2
  357. package/dist/forms/withCondition/index.js.map +1 -1
  358. package/dist/hooks/usePayloadAPI.js +1 -1
  359. package/dist/hooks/usePayloadAPI.js.map +1 -1
  360. package/dist/hooks/useUseAsTitle.d.ts +3 -2
  361. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  362. package/dist/hooks/useUseAsTitle.js +5 -6
  363. package/dist/hooks/useUseAsTitle.js.map +1 -1
  364. package/dist/providers/ClientFunction/index.d.ts.map +1 -1
  365. package/dist/providers/ClientFunction/index.js +27 -5
  366. package/dist/providers/ClientFunction/index.js.map +1 -1
  367. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.d.ts → actions.d.ts} +1 -1
  368. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -0
  369. package/dist/providers/ComponentMap/buildComponentMap/{mapActions.js → actions.js} +1 -1
  370. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -0
  371. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +13 -0
  372. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -0
  373. package/dist/providers/ComponentMap/buildComponentMap/collections.js +74 -0
  374. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -0
  375. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.d.ts → fields.d.ts} +1 -1
  376. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -0
  377. package/dist/providers/ComponentMap/buildComponentMap/{mapFields.js → fields.js} +43 -23
  378. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -0
  379. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -0
  380. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -0
  381. package/dist/providers/ComponentMap/buildComponentMap/globals.js +49 -0
  382. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -0
  383. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +2 -2
  384. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  385. package/dist/providers/ComponentMap/buildComponentMap/index.js +16 -83
  386. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  387. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +8 -3
  388. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  389. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  390. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  391. package/dist/providers/DocumentInfo/index.js +120 -96
  392. package/dist/providers/DocumentInfo/index.js.map +1 -1
  393. package/dist/providers/DocumentInfo/types.d.ts +12 -13
  394. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  395. package/dist/providers/DocumentInfo/types.js.map +1 -1
  396. package/dist/providers/EntityVisibility/index.d.ts +16 -0
  397. package/dist/providers/EntityVisibility/index.d.ts.map +1 -0
  398. package/dist/providers/EntityVisibility/index.js +25 -0
  399. package/dist/providers/EntityVisibility/index.js.map +1 -0
  400. package/dist/providers/ListInfo/index.d.ts +0 -1
  401. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  402. package/dist/providers/ListInfo/index.js +2 -7
  403. package/dist/providers/ListInfo/index.js.map +1 -1
  404. package/dist/templates/Default/index.d.ts +2 -7
  405. package/dist/templates/Default/index.d.ts.map +1 -1
  406. package/dist/templates/Default/index.js +10 -12
  407. package/dist/templates/Default/index.js.map +1 -1
  408. package/dist/utilities/buildComponentMap.d.ts +1 -1
  409. package/dist/utilities/buildComponentMap.d.ts.map +1 -1
  410. package/dist/utilities/buildComponentMap.js +1 -1
  411. package/dist/utilities/buildComponentMap.js.map +1 -1
  412. package/dist/utilities/flattenFieldMap.d.ts +10 -0
  413. package/dist/utilities/flattenFieldMap.d.ts.map +1 -0
  414. package/dist/utilities/flattenFieldMap.js +33 -0
  415. package/dist/utilities/flattenFieldMap.js.map +1 -0
  416. package/dist/utilities/getFormState.d.ts +2 -0
  417. package/dist/utilities/getFormState.d.ts.map +1 -1
  418. package/dist/utilities/getFormState.js +8 -3
  419. package/dist/utilities/getFormState.js.map +1 -1
  420. package/package.json +10 -4
  421. package/dist/elements/TableColumns/buildColumns.d.ts.map +0 -1
  422. package/dist/elements/TableColumns/buildColumns.js.map +0 -1
  423. package/dist/elements/WhereBuilder/reducer.d.ts +0 -5
  424. package/dist/elements/WhereBuilder/reducer.d.ts.map +0 -1
  425. package/dist/elements/WhereBuilder/reducer.js +0 -78
  426. package/dist/elements/WhereBuilder/reducer.js.map +0 -1
  427. package/dist/forms/FieldDescription/types.d.ts +0 -8
  428. package/dist/forms/FieldDescription/types.d.ts.map +0 -1
  429. package/dist/forms/FieldDescription/types.js +0 -3
  430. package/dist/forms/FieldDescription/types.js.map +0 -1
  431. package/dist/hooks/useAdminThumbnail.d.ts +0 -3
  432. package/dist/hooks/useAdminThumbnail.d.ts.map +0 -1
  433. package/dist/hooks/useAdminThumbnail.js +0 -8
  434. package/dist/hooks/useAdminThumbnail.js.map +0 -1
  435. package/dist/hooks/useThumbnail.d.ts +0 -3
  436. package/dist/hooks/useThumbnail.d.ts.map +0 -1
  437. package/dist/hooks/useThumbnail.js +0 -45
  438. package/dist/hooks/useThumbnail.js.map +0 -1
  439. package/dist/providers/ComponentMap/buildComponentMap/mapActions.d.ts.map +0 -1
  440. package/dist/providers/ComponentMap/buildComponentMap/mapActions.js.map +0 -1
  441. package/dist/providers/ComponentMap/buildComponentMap/mapFields.d.ts.map +0 -1
  442. package/dist/providers/ComponentMap/buildComponentMap/mapFields.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, CellProps } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useIntersect } from '@payloadcms/ui/hooks/useIntersect'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { canUseDOM } from '@payloadcms/ui/utilities/canUseDOM'\nimport { formatDocTitle } from '@payloadcms/ui/utilities/formatDocTitle'\nimport React, { useEffect, useState } from 'react'\n\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.scss'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'relationship-cell'\nconst totalToShow = 3\n\nexport interface RelationshipCellProps extends CellComponentProps<any> {\n label: CellProps['label']\n relationTo: CellProps['relationTo']\n}\n\nexport const RelationshipCell: React.FC<RelationshipCellProps> = ({\n cellData,\n label,\n relationTo,\n}) => {\n const config = useConfig()\n const { collections, routes } = config\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const [hasRequested, setHasRequested] = useState(false)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n useEffect(() => {\n if (cellData && isAboveViewport && !hasRequested) {\n const formattedValues: Value[] = []\n\n const arrayCellData = Array.isArray(cellData) ? cellData : [cellData]\n arrayCellData\n .slice(0, arrayCellData.length < totalToShow ? arrayCellData.length : totalToShow)\n .forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (\n (typeof cell === 'number' || typeof cell === 'string') &&\n typeof relationTo === 'string'\n ) {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n getRelationships(formattedValues)\n setHasRequested(true)\n setValues(formattedValues)\n }\n }, [\n cellData,\n relationTo,\n collections,\n isAboveViewport,\n routes.api,\n hasRequested,\n getRelationships,\n ])\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n {values.map(({ relationTo, value }, i) => {\n const document = documents[relationTo][value]\n const relatedCollection = collections.find(({ slug }) => slug === relationTo)\n\n const label = formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n\n return (\n <React.Fragment key={i}>\n {document === false && `${t('general:untitled')} - ID: ${value}`}\n {document === null && `${t('general:loading')}...`}\n {document ? label : null}\n {values.length > i + 1 && ', '}\n </React.Fragment>\n )\n })}\n {Array.isArray(cellData) &&\n cellData.length > totalToShow &&\n t('fields:itemsAndMore', { count: cellData.length - totalToShow, items: '' })}\n {values.length === 0 && t('general:noLabel', { label: getTranslation(label || '', i18n) })}\n </div>\n )\n}\n"],"names":["getTranslation","useIntersect","useConfig","useTranslation","canUseDOM","formatDocTitle","React","useEffect","useState","useListRelationships","baseClass","totalToShow","RelationshipCell","cellData","label","relationTo","config","collections","routes","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequested","setHasRequested","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","formattedValues","arrayCellData","Array","isArray","slice","length","forEach","cell","push","value","api","div","className","ref","map","i","document","relatedCollection","find","slug","collectionConfig","data","dateFormat","admin","fallback","Fragment","key","count","items"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useIntersect } from '@payloadcms/ui/hooks/useIntersect'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { canUseDOM } from '@payloadcms/ui/utilities/canUseDOM'\nimport { formatDocTitle } from '@payloadcms/ui/utilities/formatDocTitle'\nimport React, { useEffect, useState } from 'react'\n\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport './index.scss'\n\ntype Value = { relationTo: string; value: number | string }\nconst baseClass = 'relationship-cell'\nconst totalToShow = 3\n\nexport interface RelationshipCellProps extends DefaultCellComponentProps<any> {\n label: CellComponentProps['label']\n relationTo: CellComponentProps['relationTo']\n}\n\nexport const RelationshipCell: React.FC<RelationshipCellProps> = ({\n cellData,\n label,\n relationTo,\n}) => {\n const config = useConfig()\n const { collections, routes } = config\n const [intersectionRef, entry] = useIntersect()\n const [values, setValues] = useState<Value[]>([])\n const { documents, getRelationships } = useListRelationships()\n const [hasRequested, setHasRequested] = useState(false)\n const { i18n, t } = useTranslation()\n\n const isAboveViewport = canUseDOM ? entry?.boundingClientRect?.top < window.innerHeight : false\n\n useEffect(() => {\n if (cellData && isAboveViewport && !hasRequested) {\n const formattedValues: Value[] = []\n\n const arrayCellData = Array.isArray(cellData) ? cellData : [cellData]\n arrayCellData\n .slice(0, arrayCellData.length < totalToShow ? arrayCellData.length : totalToShow)\n .forEach((cell) => {\n if (typeof cell === 'object' && 'relationTo' in cell && 'value' in cell) {\n formattedValues.push(cell)\n }\n if (\n (typeof cell === 'number' || typeof cell === 'string') &&\n typeof relationTo === 'string'\n ) {\n formattedValues.push({\n relationTo,\n value: cell,\n })\n }\n })\n getRelationships(formattedValues)\n setHasRequested(true)\n setValues(formattedValues)\n }\n }, [\n cellData,\n relationTo,\n collections,\n isAboveViewport,\n routes.api,\n hasRequested,\n getRelationships,\n ])\n\n return (\n <div className={baseClass} ref={intersectionRef}>\n {values.map(({ relationTo, value }, i) => {\n const document = documents[relationTo][value]\n const relatedCollection = collections.find(({ slug }) => slug === relationTo)\n\n const label = formatDocTitle({\n collectionConfig: relatedCollection,\n data: document || null,\n dateFormat: config.admin.dateFormat,\n fallback: `${t('general:untitled')} - ID: ${value}`,\n i18n,\n })\n\n return (\n <React.Fragment key={i}>\n {document === false && `${t('general:untitled')} - ID: ${value}`}\n {document === null && `${t('general:loading')}...`}\n {document ? label : null}\n {values.length > i + 1 && ', '}\n </React.Fragment>\n )\n })}\n {Array.isArray(cellData) &&\n cellData.length > totalToShow &&\n t('fields:itemsAndMore', { count: cellData.length - totalToShow, items: '' })}\n {values.length === 0 && t('general:noLabel', { label: getTranslation(label || '', i18n) })}\n </div>\n )\n}\n"],"names":["getTranslation","useIntersect","useConfig","useTranslation","canUseDOM","formatDocTitle","React","useEffect","useState","useListRelationships","baseClass","totalToShow","RelationshipCell","cellData","label","relationTo","config","collections","routes","intersectionRef","entry","values","setValues","documents","getRelationships","hasRequested","setHasRequested","i18n","t","isAboveViewport","boundingClientRect","top","window","innerHeight","formattedValues","arrayCellData","Array","isArray","slice","length","forEach","cell","push","value","api","div","className","ref","map","i","document","relatedCollection","find","slug","collectionConfig","data","dateFormat","admin","fallback","Fragment","key","count","items"],"mappings":"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"}
@@ -1,7 +1,7 @@
1
- import type { CellComponentProps, CellProps } from 'payload/types';
1
+ import type { CellComponentProps, DefaultCellComponentProps } from 'payload/types';
2
2
  import React from 'react';
3
- export interface SelectCellProps extends CellComponentProps<any> {
4
- options: CellProps['options'];
3
+ export interface SelectCellProps extends DefaultCellComponentProps<any> {
4
+ options: CellComponentProps['options'];
5
5
  }
6
6
  export declare const SelectCell: React.FC<SelectCellProps>;
7
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Select/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAgB,MAAM,eAAe,CAAA;AAKhF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,eAAgB,SAAQ,kBAAkB,CAAC,GAAG,CAAC;IAC9D,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAA;CAC9B;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwBhD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Select/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAgB,MAAM,eAAe,CAAA;AAKhG,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,WAAW,eAAgB,SAAQ,yBAAyB,CAAC,GAAG,CAAC;IACrE,OAAO,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;CACvC;AAED,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAwBhD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, CellProps, OptionObject } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { optionsAreObjects } from 'payload/types'\nimport React from 'react'\n\nexport interface SelectCellProps extends CellComponentProps<any> {\n options: CellProps['options']\n}\n\nexport const SelectCell: React.FC<SelectCellProps> = ({ cellData, options }) => {\n const { i18n } = useTranslation()\n\n const findLabel = (items: string[]) =>\n items\n .map((i) => {\n const found = (options as OptionObject[]).filter((f: OptionObject) => f.value === i)?.[0]\n ?.label\n return getTranslation(found, i18n)\n })\n .join(', ')\n\n let content = ''\n if (optionsAreObjects(options)) {\n content = Array.isArray(cellData)\n ? findLabel(cellData) // hasMany\n : findLabel([cellData])\n } else {\n content = Array.isArray(cellData)\n ? cellData.join(', ') // hasMany\n : cellData\n }\n\n return <span>{content}</span>\n}\n"],"names":["getTranslation","useTranslation","optionsAreObjects","React","SelectCell","cellData","options","i18n","findLabel","items","map","i","found","filter","f","value","label","join","content","Array","isArray","span"],"mappings":"AAAA;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,iBAAiB,QAAQ,gBAAe;AACjD,OAAOC,WAAW,QAAO;AAMzB,OAAO,MAAMC,aAAwC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAE;IACzE,MAAM,EAAEC,IAAI,EAAE,GAAGN;IAEjB,MAAMO,YAAY,CAACC,QACjBA,MACGC,GAAG,CAAC,CAACC;YACJ,MAAMC,QAAQ,AAACN,QAA2BO,MAAM,CAAC,CAACC,IAAoBA,EAAEC,KAAK,KAAKJ,IAAI,CAAC,EAAE,EACrFK;YACJ,OAAOhB,eAAeY,OAAOL;QAC/B,GACCU,IAAI,CAAC;IAEV,IAAIC,UAAU;IACd,IAAIhB,kBAAkBI,UAAU;QAC9BY,UAAUC,MAAMC,OAAO,CAACf,YACpBG,UAAUH,UAAU,UAAU;WAC9BG,UAAU;YAACH;SAAS;IAC1B,OAAO;QACLa,UAAUC,MAAMC,OAAO,CAACf,YACpBA,SAASY,IAAI,CAAC,MAAM,UAAU;WAC9BZ;IACN;IAEA,qBAAO,oBAACgB,cAAMH;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps, OptionObject } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\nimport { optionsAreObjects } from 'payload/types'\nimport React from 'react'\n\nexport interface SelectCellProps extends DefaultCellComponentProps<any> {\n options: CellComponentProps['options']\n}\n\nexport const SelectCell: React.FC<SelectCellProps> = ({ cellData, options }) => {\n const { i18n } = useTranslation()\n\n const findLabel = (items: string[]) =>\n items\n .map((i) => {\n const found = (options as OptionObject[]).filter((f: OptionObject) => f.value === i)?.[0]\n ?.label\n return getTranslation(found, i18n)\n })\n .join(', ')\n\n let content = ''\n if (optionsAreObjects(options)) {\n content = Array.isArray(cellData)\n ? findLabel(cellData) // hasMany\n : findLabel([cellData])\n } else {\n content = Array.isArray(cellData)\n ? cellData.join(', ') // hasMany\n : cellData\n }\n\n return <span>{content}</span>\n}\n"],"names":["getTranslation","useTranslation","optionsAreObjects","React","SelectCell","cellData","options","i18n","findLabel","items","map","i","found","filter","f","value","label","join","content","Array","isArray","span"],"mappings":"AAAA;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,iBAAiB,QAAQ,gBAAe;AACjD,OAAOC,WAAW,QAAO;AAMzB,OAAO,MAAMC,aAAwC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAE;IACzE,MAAM,EAAEC,IAAI,EAAE,GAAGN;IAEjB,MAAMO,YAAY,CAACC,QACjBA,MACGC,GAAG,CAAC,CAACC;YACJ,MAAMC,QAAQ,AAACN,QAA2BO,MAAM,CAAC,CAACC,IAAoBA,EAAEC,KAAK,KAAKJ,IAAI,CAAC,EAAE,EACrFK;YACJ,OAAOhB,eAAeY,OAAOL;QAC/B,GACCU,IAAI,CAAC;IAEV,IAAIC,UAAU;IACd,IAAIhB,kBAAkBI,UAAU;QAC9BY,UAAUC,MAAMC,OAAO,CAACf,YACpBG,UAAUH,UAAU,UAAU;WAC9BG,UAAU;YAACH;SAAS;IAC1B,OAAO;QACLa,UAAUC,MAAMC,OAAO,CAACf,YACpBA,SAASY,IAAI,CAAC,MAAM,UAAU;WAC9BZ;IACN;IAEA,qBAAO,oBAACgB,cAAMH;AAChB,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { CellComponentProps } from 'payload/types';
1
+ import type { DefaultCellComponentProps } from 'payload/types';
2
2
  import React from 'react';
3
- export declare const TextareaCell: React.FC<CellComponentProps<string>>;
3
+ export declare const TextareaCell: React.FC<DefaultCellComponentProps<string>>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Textarea/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAEvD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAG7D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Textarea/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAE9D,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAAC,MAAM,CAAC,CAGpE,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps } from 'payload/types'\n\nimport React from 'react'\n\nexport const TextareaCell: React.FC<CellComponentProps<string>> = ({ cellData }) => {\n const textToShow = cellData?.length > 100 ? `${cellData.substr(0, 100)}\\u2026` : cellData\n return <span>{textToShow}</span>\n}\n"],"names":["React","TextareaCell","cellData","textToShow","length","substr","span"],"mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,eAAqD,CAAC,EAAEC,QAAQ,EAAE;IAC7E,MAAMC,aAAaD,UAAUE,SAAS,MAAM,CAAC,EAAEF,SAASG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAGH;IACjF,qBAAO,oBAACI,cAAMH;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload/types'\n\nimport React from 'react'\n\nexport const TextareaCell: React.FC<DefaultCellComponentProps<string>> = ({ cellData }) => {\n const textToShow = cellData?.length > 100 ? `${cellData.substr(0, 100)}\\u2026` : cellData\n return <span>{textToShow}</span>\n}\n"],"names":["React","TextareaCell","cellData","textToShow","length","substr","span"],"mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,eAA4D,CAAC,EAAEC,QAAQ,EAAE;IACpF,MAAMC,aAAaD,UAAUE,SAAS,MAAM,CAAC,EAAEF,SAASG,MAAM,CAAC,GAAG,KAAK,MAAM,CAAC,GAAGH;IACjF,qBAAO,oBAACI,cAAMH;AAChB,EAAC"}
@@ -3,14 +3,14 @@ export declare const cellComponents: {
3
3
  File: import("react").FC<import("./File/index.js").FileCellProps>;
4
4
  array: import("react").FC<import("./Array/index.js").ArrayCellProps>;
5
5
  blocks: import("react").FC<import("./Blocks/index.js").BlocksCellProps>;
6
- checkbox: import("react").FC<import("packages/payload/src/admin/types.js").CellComponentProps<boolean>>;
6
+ checkbox: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<boolean>>;
7
7
  code: import("react").FC<import("./Code/index.js").CodeCellProps>;
8
- date: import("react").FC<import("./Date/index.js").DateCellProps>;
9
- json: import("react").FC<import("packages/payload/src/admin/types.js").CellComponentProps<string>>;
8
+ date: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<string | number | Date>>;
9
+ json: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<string>>;
10
10
  radio: import("react").FC<import("./Select/index.js").SelectCellProps>;
11
11
  relationship: import("react").FC<import("./Relationship/index.js").RelationshipCellProps>;
12
12
  select: import("react").FC<import("./Select/index.js").SelectCellProps>;
13
- textarea: import("react").FC<import("packages/payload/src/admin/types.js").CellComponentProps<string>>;
13
+ textarea: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<string>>;
14
14
  upload: import("react").FC<import("./Relationship/index.js").RelationshipCellProps>;
15
15
  };
16
16
  //# sourceMappingURL=index.d.ts.map
@@ -1,4 +1,4 @@
1
1
  import React from 'react';
2
- import type { CellProps } from 'payload/types';
3
- export declare const DefaultCell: React.FC<CellProps>;
2
+ import type { CellComponentProps } from 'payload/types';
3
+ export declare const DefaultCell: React.FC<CellComponentProps>;
4
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAY9C,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,SAAS,CAoH3C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,OAAO,KAAK,EAAE,kBAAkB,EAA6B,MAAM,eAAe,CAAA;AAYlF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAoHpD,CAAA"}
@@ -40,7 +40,9 @@ export const DefaultCell = (props)=>{
40
40
  if (name === 'id') {
41
41
  return /*#__PURE__*/ React.createElement(WrapElement, wrapElementProps, /*#__PURE__*/ React.createElement(CodeCell, {
42
42
  cellData: `ID: ${cellData}`,
43
- nowrap: true
43
+ name: name,
44
+ nowrap: true,
45
+ rowData: rowData
44
46
  }));
45
47
  }
46
48
  const DefaultCellComponent = cellComponents[fieldType];
@@ -65,7 +67,7 @@ export const DefaultCell = (props)=>{
65
67
  ...props
66
68
  });
67
69
  } else {
68
- return /*#__PURE__*/ React.createElement(WrapElement, wrapElementProps, (cellData === '' || typeof cellData === 'undefined') && label && i18n.t('general:noLabel', {
70
+ return /*#__PURE__*/ React.createElement(WrapElement, wrapElementProps, (cellData === '' || typeof cellData === 'undefined') && 'label' in props && i18n.t('general:noLabel', {
69
71
  label: getTranslation(label || 'data', i18n)
70
72
  }), typeof cellData === 'string' && cellData, typeof cellData === 'number' && cellData, typeof cellData === 'object' && JSON.stringify(cellData));
71
73
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport LinkImport from 'next/link.js'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { CellProps } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { TableCellProvider, useTableCell } from '@payloadcms/ui/elements/Table'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\n\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultCell: React.FC<CellProps> = (props) => {\n const {\n name,\n CellComponentOverride,\n className: classNameFromProps,\n fieldType,\n isFieldAffectingData,\n label,\n onClick: onClickFromProps,\n richTextComponentMap,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n routes: { admin: adminRoute },\n } = useConfig()\n\n const cellContext = useTableCell()\n\n const { cellData, cellProps, columnIndex, customCellContext, rowData } = cellContext || {}\n\n const { className: classNameFromContext, link, onClick: onClickFromContext } = cellProps || {}\n\n const className = classNameFromProps || classNameFromContext\n\n const onClick = onClickFromProps || onClickFromContext\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n type?: 'button'\n } = {\n className,\n }\n\n const isLink = link !== undefined ? link : columnIndex === 0\n\n if (isLink) {\n WrapElement = Link\n wrapElementProps.href = customCellContext?.collectionSlug\n ? `${adminRoute}/collections/${customCellContext?.collectionSlug}/${rowData.id}`\n : ''\n }\n\n if (typeof onClick === 'function') {\n WrapElement = 'button'\n wrapElementProps.type = 'button'\n wrapElementProps.onClick = () => {\n onClick({\n cellData,\n collectionSlug: customCellContext?.collectionSlug,\n rowData,\n })\n }\n }\n\n if (name === 'id') {\n return (\n <WrapElement {...wrapElementProps}>\n <CodeCell cellData={`ID: ${cellData}`} nowrap />\n </WrapElement>\n )\n }\n\n const DefaultCellComponent = cellComponents[fieldType]\n\n let CellComponent: React.ReactNode =\n cellData &&\n (CellComponentOverride ? ( // CellComponentOverride is used for richText\n <TableCellProvider richTextComponentMap={richTextComponentMap}>\n {CellComponentOverride}\n </TableCellProvider>\n ) : null)\n\n if (!CellComponent && DefaultCellComponent) {\n CellComponent = (\n <DefaultCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else if (!CellComponent && !DefaultCellComponent) {\n // DefaultCellComponent does not exist for certain field types like `text`\n if (customCellContext.uploadConfig && isFieldAffectingData && name === 'filename') {\n const FileCellComponent = cellComponents.File\n CellComponent = (\n <FileCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else {\n return (\n <WrapElement {...wrapElementProps}>\n {(cellData === '' || typeof cellData === 'undefined') &&\n label &&\n i18n.t('general:noLabel', {\n label: getTranslation(label || 'data', i18n),\n })}\n {typeof cellData === 'string' && cellData}\n {typeof cellData === 'number' && cellData}\n {typeof cellData === 'object' && JSON.stringify(cellData)}\n </WrapElement>\n )\n }\n }\n\n return <WrapElement {...wrapElementProps}>{CellComponent}</WrapElement>\n}\n"],"names":["LinkImport","React","getTranslation","TableCellProvider","useTableCell","useConfig","useTranslation","CodeCell","cellComponents","Link","default","DefaultCell","props","name","CellComponentOverride","className","classNameFromProps","fieldType","isFieldAffectingData","label","onClick","onClickFromProps","richTextComponentMap","i18n","routes","admin","adminRoute","cellContext","cellData","cellProps","columnIndex","customCellContext","rowData","classNameFromContext","link","onClickFromContext","WrapElement","wrapElementProps","isLink","undefined","href","collectionSlug","id","type","nowrap","DefaultCellComponent","CellComponent","uploadConfig","FileCellComponent","File","t","JSON","stringify"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/elements/Table/DefaultCell/index.tsx"],"sourcesContent":["'use client'\nimport LinkImport from 'next/link.js'\nimport React from 'react' // TODO: abstract this out to support all routers\n\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { TableCellProvider, useTableCell } from '@payloadcms/ui/elements/Table'\nimport { useConfig } from '@payloadcms/ui/providers/Config'\nimport { useTranslation } from '@payloadcms/ui/providers/Translation'\n\nimport { CodeCell } from './fields/Code/index.js'\nimport { cellComponents } from './fields/index.js'\n\nconst Link = (LinkImport.default || LinkImport) as unknown as typeof LinkImport.default\n\nexport const DefaultCell: React.FC<CellComponentProps> = (props) => {\n const {\n name,\n CellComponentOverride,\n className: classNameFromProps,\n fieldType,\n isFieldAffectingData,\n label,\n onClick: onClickFromProps,\n richTextComponentMap,\n } = props\n\n const { i18n } = useTranslation()\n\n const {\n routes: { admin: adminRoute },\n } = useConfig()\n\n const cellContext = useTableCell()\n\n const { cellData, cellProps, columnIndex, customCellContext, rowData } = cellContext || {}\n\n const { className: classNameFromContext, link, onClick: onClickFromContext } = cellProps || {}\n\n const className = classNameFromProps || classNameFromContext\n\n const onClick = onClickFromProps || onClickFromContext\n\n let WrapElement: React.ComponentType<any> | string = 'span'\n\n const wrapElementProps: {\n className?: string\n href?: string\n onClick?: () => void\n type?: 'button'\n } = {\n className,\n }\n\n const isLink = link !== undefined ? link : columnIndex === 0\n\n if (isLink) {\n WrapElement = Link\n wrapElementProps.href = customCellContext?.collectionSlug\n ? `${adminRoute}/collections/${customCellContext?.collectionSlug}/${rowData.id}`\n : ''\n }\n\n if (typeof onClick === 'function') {\n WrapElement = 'button'\n wrapElementProps.type = 'button'\n wrapElementProps.onClick = () => {\n onClick({\n cellData,\n collectionSlug: customCellContext?.collectionSlug,\n rowData,\n })\n }\n }\n\n if (name === 'id') {\n return (\n <WrapElement {...wrapElementProps}>\n <CodeCell cellData={`ID: ${cellData}`} name={name} nowrap rowData={rowData} />\n </WrapElement>\n )\n }\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> = cellComponents[fieldType]\n\n let CellComponent: React.ReactNode =\n cellData &&\n (CellComponentOverride ? ( // CellComponentOverride is used for richText\n <TableCellProvider richTextComponentMap={richTextComponentMap}>\n {CellComponentOverride}\n </TableCellProvider>\n ) : null)\n\n if (!CellComponent && DefaultCellComponent) {\n CellComponent = (\n <DefaultCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else if (!CellComponent && !DefaultCellComponent) {\n // DefaultCellComponent does not exist for certain field types like `text`\n if (customCellContext.uploadConfig && isFieldAffectingData && name === 'filename') {\n const FileCellComponent = cellComponents.File\n CellComponent = (\n <FileCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else {\n return (\n <WrapElement {...wrapElementProps}>\n {(cellData === '' || typeof cellData === 'undefined') &&\n 'label' in props &&\n i18n.t('general:noLabel', {\n label: getTranslation(label || 'data', i18n),\n })}\n {typeof cellData === 'string' && cellData}\n {typeof cellData === 'number' && cellData}\n {typeof cellData === 'object' && JSON.stringify(cellData)}\n </WrapElement>\n )\n }\n }\n\n return <WrapElement {...wrapElementProps}>{CellComponent}</WrapElement>\n}\n"],"names":["LinkImport","React","getTranslation","TableCellProvider","useTableCell","useConfig","useTranslation","CodeCell","cellComponents","Link","default","DefaultCell","props","name","CellComponentOverride","className","classNameFromProps","fieldType","isFieldAffectingData","label","onClick","onClickFromProps","richTextComponentMap","i18n","routes","admin","adminRoute","cellContext","cellData","cellProps","columnIndex","customCellContext","rowData","classNameFromContext","link","onClickFromContext","WrapElement","wrapElementProps","isLink","undefined","href","collectionSlug","id","type","nowrap","DefaultCellComponent","CellComponent","uploadConfig","FileCellComponent","File","t","JSON","stringify"],"mappings":"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"}
@@ -1,21 +1,21 @@
1
- import type { CellComponentProps, CellProps } from 'payload/types';
1
+ import type { CellComponentProps, DefaultCellComponentProps } from 'payload/types';
2
2
  import React from 'react';
3
3
  export type ITableCellContext = {
4
- cellData: any;
5
- cellProps?: Partial<CellProps>;
4
+ cellData: DefaultCellComponentProps['cellData'];
5
+ cellProps?: Partial<CellComponentProps>;
6
6
  columnIndex?: number;
7
- customCellContext: CellComponentProps['customCellContext'];
8
- richTextComponentMap?: CellComponentProps['richTextComponentMap'];
9
- rowData: any;
7
+ customCellContext: DefaultCellComponentProps['customCellContext'];
8
+ richTextComponentMap?: DefaultCellComponentProps['richTextComponentMap'];
9
+ rowData: DefaultCellComponentProps['rowData'];
10
10
  };
11
11
  export declare const TableCellProvider: React.FC<{
12
- cellData?: any;
13
- cellProps?: Partial<CellProps>;
12
+ cellData?: DefaultCellComponentProps['cellData'];
13
+ cellProps?: Partial<CellComponentProps>;
14
14
  children: React.ReactNode;
15
15
  columnIndex?: number;
16
- customCellContext?: CellComponentProps['customCellContext'];
17
- richTextComponentMap?: CellComponentProps['richTextComponentMap'];
18
- rowData?: any;
16
+ customCellContext?: DefaultCellComponentProps['customCellContext'];
17
+ richTextComponentMap?: DefaultCellComponentProps['richTextComponentMap'];
18
+ rowData?: DefaultCellComponentProps['rowData'];
19
19
  }>;
20
20
  export declare const useTableCell: () => ITableCellContext;
21
21
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/TableCellProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,GAAG,CAAA;IACb,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9B,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;IAC1D,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;IACjE,OAAO,EAAE,GAAG,CAAA;CACb,CAAA;AAID,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,GAAG,CAAA;IACd,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9B,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,kBAAkB,CAAC,mBAAmB,CAAC,CAAA;IAC3D,oBAAoB,CAAC,EAAE,kBAAkB,CAAC,sBAAsB,CAAC,CAAA;IACjE,OAAO,CAAC,EAAE,GAAG,CAAA;CACd,CA4BA,CAAA;AAED,eAAO,MAAM,YAAY,yBAGxB,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/TableCellProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAElF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IAC/C,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACvC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,CAAA;IACjE,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,CAAA;IACxE,OAAO,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAA;CAC9C,CAAA;AAID,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC;IACvC,QAAQ,CAAC,EAAE,yBAAyB,CAAC,UAAU,CAAC,CAAA;IAChD,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACvC,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAA;IACzB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,yBAAyB,CAAC,mBAAmB,CAAC,CAAA;IAClE,oBAAoB,CAAC,EAAE,yBAAyB,CAAC,sBAAsB,CAAC,CAAA;IACxE,OAAO,CAAC,EAAE,yBAAyB,CAAC,SAAS,CAAC,CAAA;CAC/C,CA4BA,CAAA;AAED,eAAO,MAAM,YAAY,yBAGxB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Table/TableCellProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, CellProps } from 'payload/types'\n\nimport React from 'react'\n\nexport type ITableCellContext = {\n cellData: any\n cellProps?: Partial<CellProps>\n columnIndex?: number\n customCellContext: CellComponentProps['customCellContext']\n richTextComponentMap?: CellComponentProps['richTextComponentMap']\n rowData: any\n}\n\nconst TableCellContext = React.createContext<ITableCellContext>({} as ITableCellContext)\n\nexport const TableCellProvider: React.FC<{\n cellData?: any\n cellProps?: Partial<CellProps>\n children: React.ReactNode\n columnIndex?: number\n customCellContext?: CellComponentProps['customCellContext']\n richTextComponentMap?: CellComponentProps['richTextComponentMap']\n rowData?: any\n}> = (props) => {\n const {\n cellData,\n cellProps,\n children,\n columnIndex,\n customCellContext,\n richTextComponentMap,\n rowData,\n } = props\n\n const contextToInherit = useTableCell()\n\n return (\n <TableCellContext.Provider\n value={{\n cellData,\n cellProps,\n columnIndex,\n customCellContext,\n rowData,\n ...contextToInherit,\n richTextComponentMap,\n }}\n >\n {children}\n </TableCellContext.Provider>\n )\n}\n\nexport const useTableCell = () => {\n const cell = React.useContext(TableCellContext)\n return cell\n}\n"],"names":["React","TableCellContext","createContext","TableCellProvider","props","cellData","cellProps","children","columnIndex","customCellContext","richTextComponentMap","rowData","contextToInherit","useTableCell","Provider","value","cell","useContext"],"mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAWzB,MAAMC,iCAAmBD,MAAME,aAAa,CAAoB,CAAC;AAEjE,OAAO,MAAMC,oBAQR,CAACC;IACJ,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,iBAAiB,EACjBC,oBAAoB,EACpBC,OAAO,EACR,GAAGP;IAEJ,MAAMQ,mBAAmBC;IAEzB,qBACE,oBAACZ,iBAAiBa,QAAQ;QACxBC,OAAO;YACLV;YACAC;YACAE;YACAC;YACAE;YACA,GAAGC,gBAAgB;YACnBF;QACF;OAECH;AAGP,EAAC;AAED,OAAO,MAAMM,eAAe;IAC1B,MAAMG,OAAOhB,MAAMiB,UAAU,CAAChB;IAC9B,OAAOe;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Table/TableCellProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload/types'\n\nimport React from 'react'\n\nexport type ITableCellContext = {\n cellData: DefaultCellComponentProps['cellData']\n cellProps?: Partial<CellComponentProps>\n columnIndex?: number\n customCellContext: DefaultCellComponentProps['customCellContext']\n richTextComponentMap?: DefaultCellComponentProps['richTextComponentMap']\n rowData: DefaultCellComponentProps['rowData']\n}\n\nconst TableCellContext = React.createContext<ITableCellContext>({} as ITableCellContext)\n\nexport const TableCellProvider: React.FC<{\n cellData?: DefaultCellComponentProps['cellData']\n cellProps?: Partial<CellComponentProps>\n children: React.ReactNode\n columnIndex?: number\n customCellContext?: DefaultCellComponentProps['customCellContext']\n richTextComponentMap?: DefaultCellComponentProps['richTextComponentMap']\n rowData?: DefaultCellComponentProps['rowData']\n}> = (props) => {\n const {\n cellData,\n cellProps,\n children,\n columnIndex,\n customCellContext,\n richTextComponentMap,\n rowData,\n } = props\n\n const contextToInherit = useTableCell()\n\n return (\n <TableCellContext.Provider\n value={{\n cellData,\n cellProps,\n columnIndex,\n customCellContext,\n rowData,\n ...contextToInherit,\n richTextComponentMap,\n }}\n >\n {children}\n </TableCellContext.Provider>\n )\n}\n\nexport const useTableCell = () => {\n const cell = React.useContext(TableCellContext)\n return cell\n}\n"],"names":["React","TableCellContext","createContext","TableCellProvider","props","cellData","cellProps","children","columnIndex","customCellContext","richTextComponentMap","rowData","contextToInherit","useTableCell","Provider","value","cell","useContext"],"mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAWzB,MAAMC,iCAAmBD,MAAME,aAAa,CAAoB,CAAC;AAEjE,OAAO,MAAMC,oBAQR,CAACC;IACJ,MAAM,EACJC,QAAQ,EACRC,SAAS,EACTC,QAAQ,EACRC,WAAW,EACXC,iBAAiB,EACjBC,oBAAoB,EACpBC,OAAO,EACR,GAAGP;IAEJ,MAAMQ,mBAAmBC;IAEzB,qBACE,oBAACZ,iBAAiBa,QAAQ;QACxBC,OAAO;YACLV;YACAC;YACAE;YACAC;YACAE;YACA,GAAGC,gBAAgB;YACnBF;QACF;OAECH;AAGP,EAAC;AAED,OAAO,MAAMM,eAAe;IAC1B,MAAMG,OAAOhB,MAAMiB,UAAU,CAAChB;IAC9B,OAAOe;AACT,EAAC"}
@@ -1,23 +1,27 @@
1
- import type { CellProps, FieldBase } from 'payload/types';
1
+ import type { CellComponentProps, FieldBase } from 'payload/types';
2
2
  import React from 'react';
3
3
  export * from './TableCellProvider/index.js';
4
+ import type { FieldTypes } from 'payload/config';
4
5
  import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
6
+ import { TableCellProvider } from './TableCellProvider/index.js';
5
7
  import './index.scss';
8
+ export { TableCellProvider };
6
9
  export type Column = {
10
+ Label: React.ReactNode;
7
11
  accessor: string;
8
12
  active: boolean;
9
- cellProps?: Partial<CellProps>;
13
+ cellProps?: Partial<CellComponentProps>;
10
14
  components: {
11
15
  Cell: React.ReactNode;
12
16
  Heading: React.ReactNode;
13
17
  };
14
- label: FieldBase['label'];
15
18
  name: FieldBase['name'];
19
+ type: keyof FieldTypes;
16
20
  };
17
21
  export type Props = {
18
22
  columns?: Column[];
19
23
  customCellContext?: Record<string, unknown>;
20
- data: unknown[];
24
+ data: Record<string, unknown>[];
21
25
  fieldMap: FieldMap;
22
26
  };
23
27
  export declare const Table: React.FC<Props>;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAEzD,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,cAAc,8BAA8B,CAAA;AAE5C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AAIvF,OAAO,cAAc,CAAA;AAIrB,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;IAC9B,UAAU,EAAE;QACV,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;QACrB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;KACzB,CAAA;IACD,KAAK,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IACzB,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;CACxB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,EAAE,OAAO,EAAE,CAAA;IACf,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgDjC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,MAAM,eAAe,CAAA;AAElE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,cAAc,8BAA8B,CAAA;AAE5C,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAEhD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,yDAAyD,CAAA;AAGvF,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,cAAc,CAAA;AAErB,OAAO,EAAE,iBAAiB,EAAE,CAAA;AAI5B,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,KAAK,CAAC,SAAS,CAAA;IACtB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,OAAO,CAAA;IACf,SAAS,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;IACvC,UAAU,EAAE;QACV,IAAI,EAAE,KAAK,CAAC,SAAS,CAAA;QACrB,OAAO,EAAE,KAAK,CAAC,SAAS,CAAA;KACzB,CAAA;IACD,IAAI,EAAE,SAAS,CAAC,MAAM,CAAC,CAAA;IACvB,IAAI,EAAE,MAAM,UAAU,CAAA;CACvB,CAAA;AAED,MAAM,MAAM,KAAK,GAAG;IAClB,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAA;IAC/B,QAAQ,EAAE,QAAQ,CAAA;CACnB,CAAA;AAED,eAAO,MAAM,KAAK,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgDjC,CAAA"}
@@ -3,6 +3,7 @@ import React from 'react';
3
3
  export * from './TableCellProvider/index.js';
4
4
  import { useTableColumns } from '../TableColumns/index.js';
5
5
  import { TableCellProvider } from './TableCellProvider/index.js';
6
+ export { TableCellProvider };
6
7
  const baseClass = 'table';
7
8
  export const Table = ({ columns: columnsFromProps, customCellContext, data })=>{
8
9
  const { columns: columnsFromContext } = useTableColumns();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Table/index.tsx"],"sourcesContent":["'use client'\nimport type { CellProps, FieldBase } from 'payload/types'\n\nimport React from 'react'\n\nexport * from './TableCellProvider/index.js'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { useTableColumns } from '../TableColumns/index.js'\nimport { TableCellProvider } from './TableCellProvider/index.js'\nimport './index.scss'\n\nconst baseClass = 'table'\n\nexport type Column = {\n accessor: string\n active: boolean\n cellProps?: Partial<CellProps>\n components: {\n Cell: React.ReactNode\n Heading: React.ReactNode\n }\n label: FieldBase['label']\n name: FieldBase['name']\n}\n\nexport type Props = {\n columns?: Column[]\n customCellContext?: Record<string, unknown>\n data: unknown[]\n fieldMap: FieldMap\n}\n\nexport const Table: React.FC<Props> = ({ columns: columnsFromProps, customCellContext, data }) => {\n const { columns: columnsFromContext } = useTableColumns()\n\n const columns = columnsFromProps || columnsFromContext\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (!activeColumns || activeColumns.length === 0) {\n return <div>No columns selected</div>\n }\n\n return (\n <div className={baseClass}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.components.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data &&\n data.map((row, rowIndex) => (\n <tr className={`row-${rowIndex + 1}`} key={rowIndex}>\n {activeColumns.map((col, colIndex) => {\n return (\n <td className={`cell-${col.accessor}`} key={colIndex}>\n <TableCellProvider\n cellData={row[col.accessor]}\n cellProps={col?.cellProps}\n columnIndex={colIndex}\n customCellContext={customCellContext}\n rowData={row}\n >\n {col.components.Cell}\n </TableCellProvider>\n </td>\n )\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n )\n}\n"],"names":["React","useTableColumns","TableCellProvider","baseClass","Table","columns","columnsFromProps","customCellContext","data","columnsFromContext","activeColumns","filter","col","active","length","div","className","table","cellPadding","cellSpacing","thead","tr","map","i","th","id","accessor","key","components","Heading","tbody","row","rowIndex","colIndex","td","cellData","cellProps","columnIndex","rowData","Cell"],"mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAEzB,cAAc,+BAA8B;AAI5C,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,iBAAiB,QAAQ,+BAA8B;AAGhE,MAAMC,YAAY;AAqBlB,OAAO,MAAMC,QAAyB,CAAC,EAAEC,SAASC,gBAAgB,EAAEC,iBAAiB,EAAEC,IAAI,EAAE;IAC3F,MAAM,EAAEH,SAASI,kBAAkB,EAAE,GAAGR;IAExC,MAAMI,UAAUC,oBAAoBG;IAEpC,MAAMC,gBAAgBL,SAASM,OAAO,CAACC,MAAQA,KAAKC;IAEpD,IAAI,CAACH,iBAAiBA,cAAcI,MAAM,KAAK,GAAG;QAChD,qBAAO,oBAACC,aAAI;IACd;IAEA,qBACE,oBAACA;QAAIC,WAAWb;qBACd,oBAACc;QAAMC,aAAY;QAAIC,aAAY;qBACjC,oBAACC,6BACC,oBAACC,YACEX,cAAcY,GAAG,CAAC,CAACV,KAAKW,kBACvB,oBAACC;YAAGC,IAAI,CAAC,QAAQ,EAAEb,IAAIc,QAAQ,CAAC,CAAC;YAAEC,KAAKJ;WACrCX,IAAIgB,UAAU,CAACC,OAAO,oBAK/B,oBAACC,eACEtB,QACCA,KAAKc,GAAG,CAAC,CAACS,KAAKC,yBACb,oBAACX;YAAGL,WAAW,CAAC,IAAI,EAAEgB,WAAW,EAAE,CAAC;YAAEL,KAAKK;WACxCtB,cAAcY,GAAG,CAAC,CAACV,KAAKqB;YACvB,qBACE,oBAACC;gBAAGlB,WAAW,CAAC,KAAK,EAAEJ,IAAIc,QAAQ,CAAC,CAAC;gBAAEC,KAAKM;6BAC1C,oBAAC/B;gBACCiC,UAAUJ,GAAG,CAACnB,IAAIc,QAAQ,CAAC;gBAC3BU,WAAWxB,KAAKwB;gBAChBC,aAAaJ;gBACb1B,mBAAmBA;gBACnB+B,SAASP;eAERnB,IAAIgB,UAAU,CAACW,IAAI;QAI5B;AAOhB,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Table/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, FieldBase } from 'payload/types'\n\nimport React from 'react'\n\nexport * from './TableCellProvider/index.js'\n\nimport type { FieldTypes } from 'payload/config'\n\nimport type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\nimport { useTableColumns } from '../TableColumns/index.js'\nimport { TableCellProvider } from './TableCellProvider/index.js'\nimport './index.scss'\n\nexport { TableCellProvider }\n\nconst baseClass = 'table'\n\nexport type Column = {\n Label: React.ReactNode\n accessor: string\n active: boolean\n cellProps?: Partial<CellComponentProps>\n components: {\n Cell: React.ReactNode\n Heading: React.ReactNode\n }\n name: FieldBase['name']\n type: keyof FieldTypes\n}\n\nexport type Props = {\n columns?: Column[]\n customCellContext?: Record<string, unknown>\n data: Record<string, unknown>[]\n fieldMap: FieldMap\n}\n\nexport const Table: React.FC<Props> = ({ columns: columnsFromProps, customCellContext, data }) => {\n const { columns: columnsFromContext } = useTableColumns()\n\n const columns = columnsFromProps || columnsFromContext\n\n const activeColumns = columns?.filter((col) => col?.active)\n\n if (!activeColumns || activeColumns.length === 0) {\n return <div>No columns selected</div>\n }\n\n return (\n <div className={baseClass}>\n <table cellPadding=\"0\" cellSpacing=\"0\">\n <thead>\n <tr>\n {activeColumns.map((col, i) => (\n <th id={`heading-${col.accessor}`} key={i}>\n {col.components.Heading}\n </th>\n ))}\n </tr>\n </thead>\n <tbody>\n {data &&\n data.map((row, rowIndex) => (\n <tr className={`row-${rowIndex + 1}`} key={rowIndex}>\n {activeColumns.map((col, colIndex) => {\n return (\n <td className={`cell-${col.accessor}`} key={colIndex}>\n <TableCellProvider\n cellData={row[col.accessor]}\n cellProps={col?.cellProps}\n columnIndex={colIndex}\n customCellContext={customCellContext}\n rowData={row}\n >\n {col.components.Cell}\n </TableCellProvider>\n </td>\n )\n })}\n </tr>\n ))}\n </tbody>\n </table>\n </div>\n )\n}\n"],"names":["React","useTableColumns","TableCellProvider","baseClass","Table","columns","columnsFromProps","customCellContext","data","columnsFromContext","activeColumns","filter","col","active","length","div","className","table","cellPadding","cellSpacing","thead","tr","map","i","th","id","accessor","key","components","Heading","tbody","row","rowIndex","colIndex","td","cellData","cellProps","columnIndex","rowData","Cell"],"mappings":"AAAA;AAGA,OAAOA,WAAW,QAAO;AAEzB,cAAc,+BAA8B;AAM5C,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,iBAAiB,QAAQ,+BAA8B;AAGhE,SAASA,iBAAiB,GAAE;AAE5B,MAAMC,YAAY;AAsBlB,OAAO,MAAMC,QAAyB,CAAC,EAAEC,SAASC,gBAAgB,EAAEC,iBAAiB,EAAEC,IAAI,EAAE;IAC3F,MAAM,EAAEH,SAASI,kBAAkB,EAAE,GAAGR;IAExC,MAAMI,UAAUC,oBAAoBG;IAEpC,MAAMC,gBAAgBL,SAASM,OAAO,CAACC,MAAQA,KAAKC;IAEpD,IAAI,CAACH,iBAAiBA,cAAcI,MAAM,KAAK,GAAG;QAChD,qBAAO,oBAACC,aAAI;IACd;IAEA,qBACE,oBAACA;QAAIC,WAAWb;qBACd,oBAACc;QAAMC,aAAY;QAAIC,aAAY;qBACjC,oBAACC,6BACC,oBAACC,YACEX,cAAcY,GAAG,CAAC,CAACV,KAAKW,kBACvB,oBAACC;YAAGC,IAAI,CAAC,QAAQ,EAAEb,IAAIc,QAAQ,CAAC,CAAC;YAAEC,KAAKJ;WACrCX,IAAIgB,UAAU,CAACC,OAAO,oBAK/B,oBAACC,eACEtB,QACCA,KAAKc,GAAG,CAAC,CAACS,KAAKC,yBACb,oBAACX;YAAGL,WAAW,CAAC,IAAI,EAAEgB,WAAW,EAAE,CAAC;YAAEL,KAAKK;WACxCtB,cAAcY,GAAG,CAAC,CAACV,KAAKqB;YACvB,qBACE,oBAACC;gBAAGlB,WAAW,CAAC,KAAK,EAAEJ,IAAIc,QAAQ,CAAC,CAAC;gBAAEC,KAAKM;6BAC1C,oBAAC/B;gBACCiC,UAAUJ,GAAG,CAACnB,IAAIc,QAAQ,CAAC;gBAC3BU,WAAWxB,KAAKwB;gBAChBC,aAAaJ;gBACb1B,mBAAmBA;gBACnB+B,SAASP;eAERnB,IAAIgB,UAAU,CAACW,IAAI;QAI5B;AAOhB,EAAC"}
@@ -1,13 +1,15 @@
1
- import { type CellProps, type SanitizedCollectionConfig } from 'payload/types';
1
+ import { type CellComponentProps, type SanitizedCollectionConfig } from 'payload/types';
2
2
  import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
3
3
  import type { ColumnPreferences } from '../../providers/ListInfo/index.js';
4
4
  import type { Column } from '../Table/index.js';
5
- export declare const buildColumns: (args: {
6
- cellProps: Partial<CellProps>[];
5
+ type Args = {
6
+ cellProps: Partial<CellComponentProps>[];
7
7
  columnPreferences: ColumnPreferences;
8
- defaultColumns?: string[];
8
+ columns?: ColumnPreferences;
9
9
  enableRowSelections: boolean;
10
10
  fieldMap: FieldMap;
11
11
  useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle'];
12
- }) => Column[];
13
- //# sourceMappingURL=buildColumns.d.ts.map
12
+ };
13
+ export declare const buildColumnState: (args: Args) => Column[];
14
+ export {};
15
+ //# sourceMappingURL=buildColumnState.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,kBAAkB,EAAE,KAAK,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAGvF,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yDAAyD,CAAA;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAU/C,KAAK,IAAI,GAAG;IACV,SAAS,EAAE,OAAO,CAAC,kBAAkB,CAAC,EAAE,CAAA;IACxC,iBAAiB,EAAE,iBAAiB,CAAA;IACpC,OAAO,CAAC,EAAE,iBAAiB,CAAA;IAC3B,mBAAmB,EAAE,OAAO,CAAA;IAC5B,QAAQ,EAAE,QAAQ,CAAA;IAClB,UAAU,EAAE,yBAAyB,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAA;CAC7D,CAAA;AACD,eAAO,MAAM,gBAAgB,SAAU,IAAI,KAAG,MAAM,EAiJnD,CAAA"}
@@ -1,17 +1,31 @@
1
+ import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
1
2
  import React from 'react';
3
+ import { flattenFieldMap } from '../../utilities/flattenFieldMap.js';
2
4
  import { SelectAll } from '../SelectAll/index.js';
3
5
  import { SelectRow } from '../SelectRow/index.js';
4
6
  import { SortColumn } from '../SortColumn/index.js';
5
7
  import { DefaultCell } from '../Table/DefaultCell/index.js';
6
8
  const fieldIsPresentationalOnly = (field)=>field.type === 'ui';
7
- export const buildColumns = (args)=>{
8
- const { cellProps, columnPreferences, defaultColumns, enableRowSelections, fieldMap } = args;
9
- let sortedFieldMap = fieldMap;
10
- const sortTo = defaultColumns || columnPreferences;
9
+ export const buildColumnState = (args)=>{
10
+ const { cellProps, columnPreferences, columns, enableRowSelections, fieldMap, useAsTitle } = args;
11
+ let sortedFieldMap = flattenFieldMap(fieldMap);
12
+ // place the `ID` field first, if it exists
13
+ // do the same for the `useAsTitle` field with precedence over the `ID` field
14
+ // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`
15
+ const idFieldIndex = sortedFieldMap.findIndex((field)=>field.name === 'id');
16
+ if (idFieldIndex > -1) {
17
+ const idField = sortedFieldMap.splice(idFieldIndex, 1)[0];
18
+ sortedFieldMap.unshift(idField);
19
+ }
20
+ const useAsTitleFieldIndex = useAsTitle ? sortedFieldMap.findIndex((field)=>field.name === useAsTitle) : -1;
21
+ if (useAsTitleFieldIndex > -1) {
22
+ const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0];
23
+ sortedFieldMap.unshift(useAsTitleField);
24
+ }
25
+ const sortTo = columnPreferences || columns;
11
26
  if (sortTo) {
12
27
  // sort the fields to the order of `defaultColumns` or `columnPreferences`
13
- // TODO: flatten top level field, i.e. `flattenTopLevelField()` from `payload` but that is typed for `Field`, not `fieldMap`
14
- sortedFieldMap = fieldMap.sort((a, b)=>{
28
+ sortedFieldMap = sortedFieldMap.sort((a, b)=>{
15
29
  const aIndex = sortTo.findIndex((column)=>'name' in a && column.accessor === a.name);
16
30
  const bIndex = sortTo.findIndex((column)=>'name' in b && column.accessor === b.name);
17
31
  if (aIndex === -1 && bIndex === -1) return 0;
@@ -26,8 +40,8 @@ export const buildColumns = (args)=>{
26
40
  let active = false;
27
41
  if (columnPreference) {
28
42
  active = columnPreference.active;
29
- } else if (defaultColumns && Array.isArray(defaultColumns) && defaultColumns.length > 0) {
30
- active = 'name' in field && defaultColumns.includes(field.name);
43
+ } else if (columns && Array.isArray(columns) && columns.length > 0) {
44
+ active = columns.find((column)=>column.accessor === field.name)?.active;
31
45
  } else if (activeColumnsIndices.length < 4) {
32
46
  active = true;
33
47
  }
@@ -37,25 +51,35 @@ export const buildColumns = (args)=>{
37
51
  const isFirstActiveColumn = activeColumnsIndices[0] === index;
38
52
  const name = 'name' in field ? field.name : undefined;
39
53
  const Cell = field.CustomCell !== undefined ? field.CustomCell : /*#__PURE__*/ React.createElement(DefaultCell, field.cellComponentProps);
54
+ const CustomLabelToRender = field && 'fieldComponentProps' in field && 'CustomLabel' in field.fieldComponentProps && field.fieldComponentProps.CustomLabel !== undefined ? field.fieldComponentProps.CustomLabel : undefined;
55
+ const Label = /*#__PURE__*/ React.createElement(FieldLabel, {
56
+ CustomLabel: CustomLabelToRender,
57
+ ...field.fieldComponentProps?.labelProps,
58
+ unstyled: true
59
+ });
40
60
  const Heading = /*#__PURE__*/ React.createElement(SortColumn, {
61
+ Label: Label,
41
62
  disable: 'disableSort' in field && Boolean(field.disableSort) || fieldIsPresentationalOnly(field) || undefined,
42
- label: 'label' in field.fieldComponentProps && field.fieldComponentProps.label && typeof field.fieldComponentProps.label !== 'function' ? field.fieldComponentProps.label : 'name' in field ? field.name : undefined,
63
+ // eslint-disable-next-line react/jsx-no-duplicate-props
64
+ label: 'fieldComponentProps' in field && 'label' in field.fieldComponentProps ? field.fieldComponentProps.label : undefined,
43
65
  name: 'name' in field ? field.name : undefined
44
66
  });
45
67
  if (field) {
46
68
  const column = {
47
69
  name,
70
+ type: field.type,
71
+ Label,
48
72
  accessor: name,
49
73
  active,
50
74
  cellProps: {
51
75
  ...cellProps?.[index],
52
- link: isFirstActiveColumn
76
+ link: isFirstActiveColumn,
77
+ relationTo: field.type === 'relationship' && 'relationTo' in field.fieldComponentProps ? field.fieldComponentProps.relationTo : undefined
53
78
  },
54
79
  components: {
55
80
  Cell,
56
81
  Heading
57
- },
58
- label: 'label' in field.fieldComponentProps && typeof field.fieldComponentProps.label !== 'function' ? field.fieldComponentProps.label : undefined
82
+ }
59
83
  };
60
84
  acc.push(column);
61
85
  }
@@ -76,4 +100,4 @@ export const buildColumns = (args)=>{
76
100
  return sorted;
77
101
  };
78
102
 
79
- //# sourceMappingURL=buildColumns.js.map
103
+ //# sourceMappingURL=buildColumnState.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { type CellComponentProps, type SanitizedCollectionConfig } from 'payload/types'\nimport React from 'react'\n\nimport type { FieldMap, MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { flattenFieldMap } from '../../utilities/flattenFieldMap.js'\nimport { SelectAll } from '../SelectAll/index.js'\nimport { SelectRow } from '../SelectRow/index.js'\nimport { SortColumn } from '../SortColumn/index.js'\nimport { DefaultCell } from '../Table/DefaultCell/index.js'\n\nconst fieldIsPresentationalOnly = (field: MappedField): boolean => field.type === 'ui'\n\ntype Args = {\n cellProps: Partial<CellComponentProps>[]\n columnPreferences: ColumnPreferences\n columns?: ColumnPreferences\n enableRowSelections: boolean\n fieldMap: FieldMap\n useAsTitle: SanitizedCollectionConfig['admin']['useAsTitle']\n}\nexport const buildColumnState = (args: Args): Column[] => {\n const { cellProps, columnPreferences, columns, enableRowSelections, fieldMap, useAsTitle } = args\n\n let sortedFieldMap = flattenFieldMap(fieldMap)\n\n // place the `ID` field first, if it exists\n // do the same for the `useAsTitle` field with precedence over the `ID` field\n // then sort the rest of the fields based on the `defaultColumns` or `columnPreferences`\n const idFieldIndex = sortedFieldMap.findIndex((field) => field.name === 'id')\n\n if (idFieldIndex > -1) {\n const idField = sortedFieldMap.splice(idFieldIndex, 1)[0]\n sortedFieldMap.unshift(idField)\n }\n\n const useAsTitleFieldIndex = useAsTitle\n ? sortedFieldMap.findIndex((field) => field.name === useAsTitle)\n : -1\n\n if (useAsTitleFieldIndex > -1) {\n const useAsTitleField = sortedFieldMap.splice(useAsTitleFieldIndex, 1)[0]\n sortedFieldMap.unshift(useAsTitleField)\n }\n\n const sortTo = columnPreferences || columns\n\n if (sortTo) {\n // sort the fields to the order of `defaultColumns` or `columnPreferences`\n sortedFieldMap = sortedFieldMap.sort((a, b) => {\n const aIndex = sortTo.findIndex((column) => 'name' in a && column.accessor === a.name)\n const bIndex = sortTo.findIndex((column) => 'name' in b && column.accessor === b.name)\n if (aIndex === -1 && bIndex === -1) return 0\n if (aIndex === -1) return 1\n if (bIndex === -1) return -1\n return aIndex - bIndex\n })\n }\n\n const activeColumnsIndices = []\n\n const sorted = sortedFieldMap.reduce((acc, field, index) => {\n const columnPreference = columnPreferences?.find(\n (preference) => 'name' in field && preference.accessor === field.name,\n )\n\n let active = false\n\n if (columnPreference) {\n active = columnPreference.active\n } else if (columns && Array.isArray(columns) && columns.length > 0) {\n active = columns.find((column) => column.accessor === field.name)?.active\n } else if (activeColumnsIndices.length < 4) {\n active = true\n }\n\n if (active && !activeColumnsIndices.includes(index)) {\n activeColumnsIndices.push(index)\n }\n\n const isFirstActiveColumn = activeColumnsIndices[0] === index\n\n const name = 'name' in field ? field.name : undefined\n\n const Cell =\n field.CustomCell !== undefined ? (\n field.CustomCell\n ) : (\n <DefaultCell {...field.cellComponentProps} />\n )\n\n const CustomLabelToRender =\n field &&\n 'fieldComponentProps' in field &&\n 'CustomLabel' in field.fieldComponentProps &&\n field.fieldComponentProps.CustomLabel !== undefined\n ? field.fieldComponentProps.CustomLabel\n : undefined\n\n const Label = (\n <FieldLabel\n CustomLabel={CustomLabelToRender}\n {...field.fieldComponentProps?.labelProps}\n unstyled\n />\n )\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={\n ('disableSort' in field && Boolean(field.disableSort)) ||\n fieldIsPresentationalOnly(field) ||\n undefined\n }\n // eslint-disable-next-line react/jsx-no-duplicate-props\n label={\n 'fieldComponentProps' in field && 'label' in field.fieldComponentProps\n ? field.fieldComponentProps.label\n : undefined\n }\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n name,\n type: field.type,\n Label,\n accessor: name,\n active,\n cellProps: {\n ...cellProps?.[index],\n link: isFirstActiveColumn,\n relationTo:\n field.type === 'relationship' && 'relationTo' in field.fieldComponentProps\n ? field.fieldComponentProps.relationTo\n : undefined,\n },\n components: {\n Cell,\n Heading,\n },\n }\n\n acc.push(column)\n }\n\n return acc\n }, [])\n\n if (enableRowSelections) {\n sorted.unshift({\n name: '',\n accessor: '_select',\n active: true,\n components: {\n Cell: <SelectRow />,\n Heading: <SelectAll />,\n },\n label: null,\n })\n }\n\n return sorted\n}\n"],"names":["FieldLabel","React","flattenFieldMap","SelectAll","SelectRow","SortColumn","DefaultCell","fieldIsPresentationalOnly","field","type","buildColumnState","args","cellProps","columnPreferences","columns","enableRowSelections","fieldMap","useAsTitle","sortedFieldMap","idFieldIndex","findIndex","name","idField","splice","unshift","useAsTitleFieldIndex","useAsTitleField","sortTo","sort","a","b","aIndex","column","accessor","bIndex","activeColumnsIndices","sorted","reduce","acc","index","columnPreference","find","preference","active","Array","isArray","length","includes","push","isFirstActiveColumn","undefined","Cell","CustomCell","cellComponentProps","CustomLabelToRender","fieldComponentProps","CustomLabel","Label","labelProps","unstyled","Heading","disable","Boolean","disableSort","label","link","relationTo","components"],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
2
+ export declare const filterFields: (fieldMap: FieldMap) => FieldMap;
3
+ //# sourceMappingURL=filterFields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/filterFields.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yDAAyD,CAAA;AAIpG,eAAO,MAAM,YAAY,kCA2BxB,CAAA"}
@@ -0,0 +1,27 @@
1
+ // 1. Skips fields that are hidden, disabled, or presentational-only (i.e. `ui` fields)
2
+ // 2. Maps through top-level `tabs` fields and filters out the same
3
+ export const filterFields = (fieldMap)=>{
4
+ const shouldSkipField = (field)=>field.type !== 'ui' && field.disabled === true;
5
+ const fields = fieldMap.reduce((formatted, field)=>{
6
+ if (shouldSkipField(field)) {
7
+ return formatted;
8
+ }
9
+ const formattedField = field.type === 'tabs' && 'tabs' in field.fieldComponentProps ? {
10
+ ...field,
11
+ fieldComponentProps: {
12
+ ...field.fieldComponentProps,
13
+ tabs: field.fieldComponentProps.tabs.map((tab)=>({
14
+ ...tab,
15
+ fieldMap: tab.fieldMap.filter((tabField)=>!shouldSkipField(tabField))
16
+ }))
17
+ }
18
+ } : field;
19
+ return [
20
+ ...formatted,
21
+ formattedField
22
+ ];
23
+ }, []);
24
+ return fields;
25
+ };
26
+
27
+ //# sourceMappingURL=filterFields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/filterFields.tsx"],"sourcesContent":["import type { FieldMap, MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\n\n// 1. Skips fields that are hidden, disabled, or presentational-only (i.e. `ui` fields)\n// 2. Maps through top-level `tabs` fields and filters out the same\nexport const filterFields = (fieldMap: FieldMap): FieldMap => {\n const shouldSkipField = (field: MappedField): boolean =>\n field.type !== 'ui' && field.disabled === true\n\n const fields: FieldMap = fieldMap.reduce((formatted, field) => {\n if (shouldSkipField(field)) {\n return formatted\n }\n\n const formattedField: MappedField =\n field.type === 'tabs' && 'tabs' in field.fieldComponentProps\n ? {\n ...field,\n fieldComponentProps: {\n ...field.fieldComponentProps,\n tabs: field.fieldComponentProps.tabs.map((tab) => ({\n ...tab,\n fieldMap: tab.fieldMap.filter((tabField) => !shouldSkipField(tabField)),\n })),\n },\n }\n : field\n\n return [...formatted, formattedField]\n }, [])\n\n return fields\n}\n"],"names":["filterFields","fieldMap","shouldSkipField","field","type","disabled","fields","reduce","formatted","formattedField","fieldComponentProps","tabs","map","tab","filter","tabField"],"mappings":"AAEA,uFAAuF;AACvF,mEAAmE;AACnE,OAAO,MAAMA,eAAe,CAACC;IAC3B,MAAMC,kBAAkB,CAACC,QACvBA,MAAMC,IAAI,KAAK,QAAQD,MAAME,QAAQ,KAAK;IAE5C,MAAMC,SAAmBL,SAASM,MAAM,CAAC,CAACC,WAAWL;QACnD,IAAID,gBAAgBC,QAAQ;YAC1B,OAAOK;QACT;QAEA,MAAMC,iBACJN,MAAMC,IAAI,KAAK,UAAU,UAAUD,MAAMO,mBAAmB,GACxD;YACE,GAAGP,KAAK;YACRO,qBAAqB;gBACnB,GAAGP,MAAMO,mBAAmB;gBAC5BC,MAAMR,MAAMO,mBAAmB,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,MAAS,CAAA;wBACjD,GAAGA,GAAG;wBACNZ,UAAUY,IAAIZ,QAAQ,CAACa,MAAM,CAAC,CAACC,WAAa,CAACb,gBAAgBa;oBAC/D,CAAA;YACF;QACF,IACAZ;QAEN,OAAO;eAAIK;YAAWC;SAAe;IACvC,GAAG,EAAE;IAEL,OAAOH;AACT,EAAC"}
@@ -0,0 +1,5 @@
1
+ import type { FieldMap, MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js';
2
+ import type { ColumnPreferences } from '../../providers/ListInfo/index.js';
3
+ export declare function fieldAffectsData(field: MappedField): boolean;
4
+ export declare const getInitialColumns: (fieldMap: FieldMap, useAsTitle: string, defaultColumns: string[]) => ColumnPreferences;
5
+ //# sourceMappingURL=getInitialColumns.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"getInitialColumns.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/getInitialColumns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAA;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE5D;AA4BD,eAAO,MAAM,iBAAiB,mCAEhB,MAAM,kBACF,MAAM,EAAE,sBAqBzB,CAAA"}
@@ -0,0 +1,48 @@
1
+ export function fieldAffectsData(field) {
2
+ return 'name' in field && field.type !== 'ui';
3
+ }
4
+ const getRemainingColumns = (fieldMap, useAsTitle)=>fieldMap.reduce((remaining, field)=>{
5
+ if (fieldAffectsData(field) && field.name === useAsTitle) {
6
+ return remaining;
7
+ }
8
+ if (!fieldAffectsData(field) && 'fieldMap' in field.fieldComponentProps) {
9
+ return [
10
+ ...remaining,
11
+ ...getRemainingColumns(field.fieldComponentProps.fieldMap, useAsTitle)
12
+ ];
13
+ }
14
+ if (field.type === 'tabs' && 'tabs' in field.fieldComponentProps) {
15
+ return [
16
+ ...remaining,
17
+ ...field.fieldComponentProps.tabs.reduce((tabFieldColumns, tab)=>[
18
+ ...tabFieldColumns,
19
+ ...'name' in tab ? [
20
+ tab.name
21
+ ] : getRemainingColumns(tab.fieldMap, useAsTitle)
22
+ ], [])
23
+ ];
24
+ }
25
+ return [
26
+ ...remaining,
27
+ field.name
28
+ ];
29
+ }, []);
30
+ export const getInitialColumns = (fieldMap, useAsTitle, defaultColumns)=>{
31
+ let initialColumns = [];
32
+ if (Array.isArray(defaultColumns) && defaultColumns.length >= 1) {
33
+ initialColumns = defaultColumns;
34
+ } else {
35
+ if (useAsTitle) {
36
+ initialColumns.push(useAsTitle);
37
+ }
38
+ const remainingColumns = getRemainingColumns(fieldMap, useAsTitle);
39
+ initialColumns = initialColumns.concat(remainingColumns);
40
+ initialColumns = initialColumns.slice(0, 4);
41
+ }
42
+ return initialColumns.map((column)=>({
43
+ accessor: column,
44
+ active: true
45
+ }));
46
+ };
47
+
48
+ //# sourceMappingURL=getInitialColumns.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/getInitialColumns.ts"],"sourcesContent":["import type { FieldMap, MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js'\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":"AAGA,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"}