@payloadcms/ui 3.0.0-canary.ef0a8d0 → 3.0.0-canary.f13d413

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 (574) hide show
  1. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  2. package/dist/elements/AppHeader/index.js +5 -1
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/ArrayAction/index.d.ts +1 -1
  5. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  6. package/dist/elements/ArrayAction/index.js +1 -1
  7. package/dist/elements/ArrayAction/index.js.map +1 -1
  8. package/dist/elements/ArrayAction/index.scss +0 -13
  9. package/dist/elements/Autosave/index.d.ts.map +1 -1
  10. package/dist/elements/Autosave/index.js +53 -28
  11. package/dist/elements/Autosave/index.js.map +1 -1
  12. package/dist/elements/Banner/index.scss +1 -1
  13. package/dist/elements/Button/index.js +1 -1
  14. package/dist/elements/Button/index.js.map +1 -1
  15. package/dist/elements/Button/index.scss +112 -118
  16. package/dist/elements/Button/types.d.ts +1 -1
  17. package/dist/elements/Button/types.d.ts.map +1 -1
  18. package/dist/elements/Button/types.js.map +1 -1
  19. package/dist/elements/Card/index.scss +38 -9
  20. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  21. package/dist/elements/CodeEditor/CodeEditor.js +2 -1
  22. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  23. package/dist/elements/Collapsible/index.d.ts +1 -1
  24. package/dist/elements/Collapsible/index.d.ts.map +1 -1
  25. package/dist/elements/Collapsible/index.js +1 -1
  26. package/dist/elements/Collapsible/index.js.map +1 -1
  27. package/dist/elements/Collapsible/index.scss +61 -30
  28. package/dist/elements/ColumnSelector/index.scss +20 -2
  29. package/dist/elements/DatePicker/index.scss +3 -1
  30. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  31. package/dist/elements/DeleteDocument/index.js +7 -3
  32. package/dist/elements/DeleteDocument/index.js.map +1 -1
  33. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  34. package/dist/elements/DeleteMany/index.js +4 -2
  35. package/dist/elements/DeleteMany/index.js.map +1 -1
  36. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  37. package/dist/elements/DocumentControls/index.js +5 -1
  38. package/dist/elements/DocumentControls/index.js.map +1 -1
  39. package/dist/elements/DocumentControls/index.scss +2 -2
  40. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  41. package/dist/elements/DocumentDrawer/DrawerContent.js +0 -6
  42. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  43. package/dist/elements/DocumentDrawer/index.scss +4 -6
  44. package/dist/elements/DocumentFields/index.d.ts +1 -2
  45. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  46. package/dist/elements/DocumentFields/index.js +46 -48
  47. package/dist/elements/DocumentFields/index.js.map +1 -1
  48. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  49. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +4 -2
  50. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  51. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  52. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +10 -4
  53. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  54. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
  55. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  56. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  57. package/dist/elements/Drawer/index.d.ts.map +1 -1
  58. package/dist/elements/Drawer/index.js +3 -0
  59. package/dist/elements/Drawer/index.js.map +1 -1
  60. package/dist/elements/Drawer/index.scss +13 -8
  61. package/dist/elements/Dropzone/index.js +2 -2
  62. package/dist/elements/Dropzone/index.js.map +1 -1
  63. package/dist/elements/Dropzone/index.scss +7 -3
  64. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  65. package/dist/elements/DuplicateDocument/index.js +10 -6
  66. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  67. package/dist/elements/EditMany/index.d.ts +1 -2
  68. package/dist/elements/EditMany/index.d.ts.map +1 -1
  69. package/dist/elements/EditMany/index.js.map +1 -1
  70. package/dist/elements/EditMany/index.scss +2 -2
  71. package/dist/elements/EditUpload/index.d.ts +3 -6
  72. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  73. package/dist/elements/EditUpload/index.js +20 -25
  74. package/dist/elements/EditUpload/index.js.map +1 -1
  75. package/dist/elements/EditUpload/index.scss +4 -1
  76. package/dist/elements/FieldSelect/index.d.ts +1 -2
  77. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  78. package/dist/elements/FieldSelect/index.js.map +1 -1
  79. package/dist/elements/FileDetails/FileMeta/index.scss +1 -0
  80. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  81. package/dist/elements/FileDetails/index.js +3 -1
  82. package/dist/elements/FileDetails/index.js.map +1 -1
  83. package/dist/elements/FileDetails/index.scss +28 -12
  84. package/dist/elements/Hamburger/index.d.ts.map +1 -1
  85. package/dist/elements/Hamburger/index.js +17 -41
  86. package/dist/elements/Hamburger/index.js.map +1 -1
  87. package/dist/elements/Hamburger/index.scss +22 -102
  88. package/dist/elements/IDLabel/index.js +1 -1
  89. package/dist/elements/IDLabel/index.js.map +1 -1
  90. package/dist/elements/IDLabel/index.scss +2 -2
  91. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts +1 -1
  92. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  93. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  94. package/dist/elements/ListControls/index.d.ts +1 -2
  95. package/dist/elements/ListControls/index.d.ts.map +1 -1
  96. package/dist/elements/ListControls/index.js +43 -4
  97. package/dist/elements/ListControls/index.js.map +1 -1
  98. package/dist/elements/ListControls/index.scss +6 -12
  99. package/dist/elements/Localizer/index.d.ts.map +1 -1
  100. package/dist/elements/Localizer/index.js +6 -13
  101. package/dist/elements/Localizer/index.js.map +1 -1
  102. package/dist/elements/Logout/index.d.ts.map +1 -1
  103. package/dist/elements/Logout/index.js +7 -2
  104. package/dist/elements/Logout/index.js.map +1 -1
  105. package/dist/elements/NavGroup/index.scss +2 -2
  106. package/dist/elements/Pill/index.d.ts.map +1 -1
  107. package/dist/elements/Pill/index.js +1 -5
  108. package/dist/elements/Pill/index.js.map +1 -1
  109. package/dist/elements/Pill/index.scss +8 -21
  110. package/dist/elements/Popup/index.scss +6 -0
  111. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  112. package/dist/elements/PreviewButton/index.js +3 -1
  113. package/dist/elements/PreviewButton/index.js.map +1 -1
  114. package/dist/elements/PublishButton/index.js +1 -1
  115. package/dist/elements/PublishButton/index.js.map +1 -1
  116. package/dist/elements/ReactSelect/MultiValue/index.scss +25 -3
  117. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +1 -1
  118. package/dist/elements/ReactSelect/MultiValueRemove/index.scss +3 -3
  119. package/dist/elements/ReactSelect/ValueContainer/index.scss +5 -12
  120. package/dist/elements/ReactSelect/index.scss +2 -3
  121. package/dist/elements/RenderTitle/index.scss +1 -1
  122. package/dist/elements/SaveButton/index.d.ts.map +1 -1
  123. package/dist/elements/SaveButton/index.js +4 -2
  124. package/dist/elements/SaveButton/index.js.map +1 -1
  125. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  126. package/dist/elements/SaveDraftButton/index.js +4 -2
  127. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  128. package/dist/elements/SearchFilter/index.d.ts +5 -3
  129. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  130. package/dist/elements/SearchFilter/index.js +20 -63
  131. package/dist/elements/SearchFilter/index.js.map +1 -1
  132. package/dist/elements/SearchFilter/index.scss +2 -1
  133. package/dist/elements/SelectRow/index.scss +1 -0
  134. package/dist/elements/SortColumn/index.d.ts +2 -2
  135. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  136. package/dist/elements/SortColumn/index.js +4 -4
  137. package/dist/elements/SortColumn/index.js.map +1 -1
  138. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  139. package/dist/elements/StayLoggedIn/index.js +8 -2
  140. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  141. package/dist/elements/StepNav/types.d.ts +2 -2
  142. package/dist/elements/StepNav/types.d.ts.map +1 -1
  143. package/dist/elements/StepNav/types.js.map +1 -1
  144. package/dist/elements/Table/DefaultCell/fields/Code/index.scss +1 -1
  145. package/dist/elements/Table/DefaultCell/fields/JSON/index.scss +1 -1
  146. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  147. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +19 -3
  148. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  149. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  150. package/dist/elements/Table/DefaultCell/index.js +5 -1
  151. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  152. package/dist/elements/Table/index.d.ts +1 -2
  153. package/dist/elements/Table/index.d.ts.map +1 -1
  154. package/dist/elements/Table/index.js.map +1 -1
  155. package/dist/elements/Table/index.scss +10 -1
  156. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -2
  157. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  158. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  159. package/dist/elements/TableColumns/filterFields.d.ts +1 -1
  160. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  161. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  162. package/dist/elements/TableColumns/getInitialColumns.d.ts +1 -1
  163. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  164. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  165. package/dist/elements/ThumbnailCard/index.scss +10 -1
  166. package/dist/elements/Upload/index.d.ts.map +1 -1
  167. package/dist/elements/Upload/index.js +13 -28
  168. package/dist/elements/Upload/index.js.map +1 -1
  169. package/dist/elements/Upload/index.scss +2 -1
  170. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  171. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +11 -5
  172. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  173. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  174. package/dist/elements/WhereBuilder/Condition/index.js +10 -2
  175. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  176. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  177. package/dist/elements/WhereBuilder/index.js +7 -4
  178. package/dist/elements/WhereBuilder/index.js.map +1 -1
  179. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +1 -1
  180. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  181. package/dist/elements/WhereBuilder/reduceFieldMap.js +3 -3
  182. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  183. package/dist/elements/WhereBuilder/types.d.ts +1 -2
  184. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  185. package/dist/elements/WhereBuilder/types.js.map +1 -1
  186. package/dist/elements/withMergedProps/index.js +8 -2
  187. package/dist/elements/withMergedProps/index.js.map +1 -1
  188. package/dist/exports/client/{CodeEditor-OI35YO7H.js → CodeEditor-UPOVAXRP.js} +2 -2
  189. package/dist/exports/client/{CodeEditor-OI35YO7H.js.map → CodeEditor-UPOVAXRP.js.map} +2 -2
  190. package/dist/exports/client/{DatePicker-5IFHNQHA.js → DatePicker-XJHHMZP7.js} +2 -2
  191. package/dist/exports/client/chunk-TIH7OFW3.js +30 -0
  192. package/dist/exports/client/{chunk-WDFUZ6GL.js.map → chunk-TIH7OFW3.js.map} +2 -2
  193. package/dist/exports/client/index.d.ts +7 -7
  194. package/dist/exports/client/index.d.ts.map +1 -1
  195. package/dist/exports/client/index.js +27 -26
  196. package/dist/exports/client/index.js.map +4 -4
  197. package/dist/exports/shared/index.d.ts +1 -0
  198. package/dist/exports/shared/index.d.ts.map +1 -1
  199. package/dist/exports/shared/index.js +2 -2
  200. package/dist/exports/shared/index.js.map +4 -4
  201. package/dist/fields/Array/ArrayRow.d.ts +2 -3
  202. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  203. package/dist/fields/Array/ArrayRow.js +4 -2
  204. package/dist/fields/Array/ArrayRow.js.map +1 -1
  205. package/dist/fields/Array/index.d.ts +2 -15
  206. package/dist/fields/Array/index.d.ts.map +1 -1
  207. package/dist/fields/Array/index.js +25 -8
  208. package/dist/fields/Array/index.js.map +1 -1
  209. package/dist/fields/Array/index.scss +3 -1
  210. package/dist/fields/Blocks/BlockRow.d.ts +2 -3
  211. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  212. package/dist/fields/Blocks/BlockRow.js +5 -1
  213. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  214. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.scss +3 -4
  215. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +2 -3
  216. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  217. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -1
  218. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  219. package/dist/fields/Blocks/RowActions.d.ts +2 -3
  220. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  221. package/dist/fields/Blocks/RowActions.js +1 -1
  222. package/dist/fields/Blocks/RowActions.js.map +1 -1
  223. package/dist/fields/Blocks/SectionTitle/index.scss +1 -0
  224. package/dist/fields/Blocks/index.d.ts +1 -14
  225. package/dist/fields/Blocks/index.d.ts.map +1 -1
  226. package/dist/fields/Blocks/index.js +22 -9
  227. package/dist/fields/Blocks/index.js.map +1 -1
  228. package/dist/fields/Checkbox/Input.d.ts +1 -1
  229. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  230. package/dist/fields/Checkbox/Input.js.map +1 -1
  231. package/dist/fields/Checkbox/index.d.ts +1 -1
  232. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  233. package/dist/fields/Checkbox/index.js +2 -2
  234. package/dist/fields/Checkbox/index.js.map +1 -1
  235. package/dist/fields/Checkbox/index.scss +7 -8
  236. package/dist/fields/Code/index.d.ts +1 -9
  237. package/dist/fields/Code/index.d.ts.map +1 -1
  238. package/dist/fields/Code/index.js +2 -2
  239. package/dist/fields/Code/index.js.map +1 -1
  240. package/dist/fields/Code/index.scss +6 -0
  241. package/dist/fields/Collapsible/index.d.ts +1 -7
  242. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  243. package/dist/fields/Collapsible/index.js +2 -2
  244. package/dist/fields/Collapsible/index.js.map +1 -1
  245. package/dist/fields/ConfirmPassword/index.d.ts +1 -0
  246. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  247. package/dist/fields/ConfirmPassword/index.js +12 -19
  248. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  249. package/dist/fields/DateTime/index.d.ts +1 -9
  250. package/dist/fields/DateTime/index.d.ts.map +1 -1
  251. package/dist/fields/DateTime/index.js +2 -2
  252. package/dist/fields/DateTime/index.js.map +1 -1
  253. package/dist/fields/Email/index.d.ts +1 -9
  254. package/dist/fields/Email/index.d.ts.map +1 -1
  255. package/dist/fields/Email/index.js +2 -2
  256. package/dist/fields/Email/index.js.map +1 -1
  257. package/dist/fields/FieldDescription/index.d.ts +2 -2
  258. package/dist/fields/FieldDescription/index.d.ts.map +1 -1
  259. package/dist/fields/FieldDescription/index.js.map +1 -1
  260. package/dist/fields/FieldError/index.d.ts +2 -2
  261. package/dist/fields/FieldError/index.d.ts.map +1 -1
  262. package/dist/fields/FieldError/index.js.map +1 -1
  263. package/dist/fields/FieldLabel/index.d.ts +2 -2
  264. package/dist/fields/FieldLabel/index.d.ts.map +1 -1
  265. package/dist/fields/FieldLabel/index.js.map +1 -1
  266. package/dist/fields/Group/index.d.ts +2 -10
  267. package/dist/fields/Group/index.d.ts.map +1 -1
  268. package/dist/fields/Group/index.js +2 -2
  269. package/dist/fields/Group/index.js.map +1 -1
  270. package/dist/fields/Hidden/index.d.ts +2 -9
  271. package/dist/fields/Hidden/index.d.ts.map +1 -1
  272. package/dist/fields/Hidden/index.js +2 -2
  273. package/dist/fields/Hidden/index.js.map +1 -1
  274. package/dist/fields/JSON/index.d.ts +1 -9
  275. package/dist/fields/JSON/index.d.ts.map +1 -1
  276. package/dist/fields/JSON/index.js +2 -2
  277. package/dist/fields/JSON/index.js.map +1 -1
  278. package/dist/fields/Number/index.d.ts +1 -14
  279. package/dist/fields/Number/index.d.ts.map +1 -1
  280. package/dist/fields/Number/index.js +2 -2
  281. package/dist/fields/Number/index.js.map +1 -1
  282. package/dist/fields/Password/index.d.ts +14 -4
  283. package/dist/fields/Password/index.d.ts.map +1 -1
  284. package/dist/fields/Password/index.js +58 -45
  285. package/dist/fields/Password/index.js.map +1 -1
  286. package/dist/fields/Password/input.d.ts +5 -0
  287. package/dist/fields/Password/input.d.ts.map +1 -0
  288. package/dist/fields/Password/input.js +65 -0
  289. package/dist/fields/Password/input.js.map +1 -0
  290. package/dist/fields/Password/types.d.ts +27 -0
  291. package/dist/fields/Password/types.d.ts.map +1 -0
  292. package/dist/fields/Password/types.js.map +1 -0
  293. package/dist/fields/Point/index.d.ts +2 -9
  294. package/dist/fields/Point/index.d.ts.map +1 -1
  295. package/dist/fields/Point/index.js +2 -2
  296. package/dist/fields/Point/index.js.map +1 -1
  297. package/dist/fields/RadioGroup/Radio/index.d.ts +2 -3
  298. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  299. package/dist/fields/RadioGroup/Radio/index.js +4 -1
  300. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  301. package/dist/fields/RadioGroup/Radio/index.scss +13 -6
  302. package/dist/fields/RadioGroup/index.d.ts +1 -12
  303. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  304. package/dist/fields/RadioGroup/index.js +2 -2
  305. package/dist/fields/RadioGroup/index.js.map +1 -1
  306. package/dist/fields/RadioGroup/index.scss +5 -1
  307. package/dist/fields/Relationship/AddNew/index.scss +3 -0
  308. package/dist/fields/Relationship/index.d.ts +1 -2
  309. package/dist/fields/Relationship/index.d.ts.map +1 -1
  310. package/dist/fields/Relationship/index.js +4 -3
  311. package/dist/fields/Relationship/index.js.map +1 -1
  312. package/dist/fields/Relationship/index.scss +7 -0
  313. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +8 -5
  314. package/dist/fields/Relationship/types.d.ts +1 -11
  315. package/dist/fields/Relationship/types.d.ts.map +1 -1
  316. package/dist/fields/Relationship/types.js.map +1 -1
  317. package/dist/fields/RichText/index.d.ts +2 -8
  318. package/dist/fields/RichText/index.d.ts.map +1 -1
  319. package/dist/fields/RichText/index.js.map +1 -1
  320. package/dist/fields/Row/index.d.ts +1 -2
  321. package/dist/fields/Row/index.d.ts.map +1 -1
  322. package/dist/fields/Row/index.js +2 -2
  323. package/dist/fields/Row/index.js.map +1 -1
  324. package/dist/fields/Row/index.scss +1 -5
  325. package/dist/fields/Select/Input.d.ts +1 -2
  326. package/dist/fields/Select/Input.d.ts.map +1 -1
  327. package/dist/fields/Select/Input.js.map +1 -1
  328. package/dist/fields/Select/index.d.ts +1 -13
  329. package/dist/fields/Select/index.d.ts.map +1 -1
  330. package/dist/fields/Select/index.js +2 -2
  331. package/dist/fields/Select/index.js.map +1 -1
  332. package/dist/fields/Tabs/Tab/index.d.ts +1 -1
  333. package/dist/fields/Tabs/Tab/index.d.ts.map +1 -1
  334. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  335. package/dist/fields/Tabs/index.d.ts +1 -9
  336. package/dist/fields/Tabs/index.d.ts.map +1 -1
  337. package/dist/fields/Tabs/index.js +24 -24
  338. package/dist/fields/Tabs/index.js.map +1 -1
  339. package/dist/fields/Text/Input.d.ts.map +1 -1
  340. package/dist/fields/Text/Input.js +13 -17
  341. package/dist/fields/Text/Input.js.map +1 -1
  342. package/dist/fields/Text/index.d.ts +3 -2
  343. package/dist/fields/Text/index.d.ts.map +1 -1
  344. package/dist/fields/Text/index.js +2 -2
  345. package/dist/fields/Text/index.js.map +1 -1
  346. package/dist/fields/Text/index.scss +6 -0
  347. package/dist/fields/Text/types.d.ts +1 -15
  348. package/dist/fields/Text/types.d.ts.map +1 -1
  349. package/dist/fields/Text/types.js.map +1 -1
  350. package/dist/fields/Textarea/index.d.ts +3 -2
  351. package/dist/fields/Textarea/index.d.ts.map +1 -1
  352. package/dist/fields/Textarea/index.js +2 -2
  353. package/dist/fields/Textarea/index.js.map +1 -1
  354. package/dist/fields/Textarea/index.scss +1 -6
  355. package/dist/fields/Textarea/types.d.ts +1 -11
  356. package/dist/fields/Textarea/types.d.ts.map +1 -1
  357. package/dist/fields/Textarea/types.js.map +1 -1
  358. package/dist/fields/Upload/Input.d.ts +5 -2
  359. package/dist/fields/Upload/Input.d.ts.map +1 -1
  360. package/dist/fields/Upload/Input.js +2 -2
  361. package/dist/fields/Upload/Input.js.map +1 -1
  362. package/dist/fields/Upload/index.d.ts +1 -1
  363. package/dist/fields/Upload/index.d.ts.map +1 -1
  364. package/dist/fields/Upload/index.js +20 -5
  365. package/dist/fields/Upload/index.js.map +1 -1
  366. package/dist/fields/Upload/index.scss +10 -3
  367. package/dist/fields/shared/index.d.ts +1 -25
  368. package/dist/fields/shared/index.d.ts.map +1 -1
  369. package/dist/fields/shared/index.js.map +1 -1
  370. package/dist/forms/Form/createNestedFieldPath.d.ts +1 -2
  371. package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
  372. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  373. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  374. package/dist/forms/Form/fieldReducer.js +11 -38
  375. package/dist/forms/Form/fieldReducer.js.map +1 -1
  376. package/dist/forms/Form/index.d.ts.map +1 -1
  377. package/dist/forms/Form/index.js +21 -23
  378. package/dist/forms/Form/index.js.map +1 -1
  379. package/dist/forms/Form/rowHelpers.d.ts +17 -0
  380. package/dist/forms/Form/rowHelpers.d.ts.map +1 -0
  381. package/dist/forms/Form/rowHelpers.js +24 -0
  382. package/dist/forms/Form/rowHelpers.js.map +1 -0
  383. package/dist/forms/Form/types.d.ts +3 -10
  384. package/dist/forms/Form/types.d.ts.map +1 -1
  385. package/dist/forms/Form/types.js.map +1 -1
  386. package/dist/forms/RenderFields/RenderField.d.ts +4 -3
  387. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  388. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  389. package/dist/forms/RenderFields/index.scss +1 -1
  390. package/dist/forms/RenderFields/types.d.ts +1 -2
  391. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  392. package/dist/forms/RenderFields/types.js.map +1 -1
  393. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts +1 -1
  394. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  395. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  396. package/dist/forms/WatchChildErrors/index.d.ts +1 -1
  397. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  398. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  399. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +1 -0
  400. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  401. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +41 -19
  402. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  403. package/dist/forms/buildStateFromSchema/index.d.ts +1 -0
  404. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  405. package/dist/forms/buildStateFromSchema/index.js +2 -1
  406. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  407. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -1
  408. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  409. package/dist/forms/buildStateFromSchema/iterateFields.js +2 -1
  410. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  411. package/dist/forms/useField/index.d.ts.map +1 -1
  412. package/dist/forms/useField/index.js +14 -7
  413. package/dist/forms/useField/index.js.map +1 -1
  414. package/dist/forms/useField/types.d.ts +2 -2
  415. package/dist/forms/useField/types.d.ts.map +1 -1
  416. package/dist/forms/useField/types.js.map +1 -1
  417. package/dist/graphics/Account/index.d.ts.map +1 -1
  418. package/dist/graphics/Account/index.js +5 -1
  419. package/dist/graphics/Account/index.js.map +1 -1
  420. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  421. package/dist/hooks/usePayloadAPI.js +5 -1
  422. package/dist/hooks/usePayloadAPI.js.map +1 -1
  423. package/dist/hooks/useUseAsTitle.d.ts +1 -2
  424. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  425. package/dist/hooks/useUseAsTitle.js.map +1 -1
  426. package/dist/icons/Calendar/index.d.ts.map +1 -1
  427. package/dist/icons/Calendar/index.js +8 -33
  428. package/dist/icons/Calendar/index.js.map +1 -1
  429. package/dist/icons/Calendar/index.scss +1 -1
  430. package/dist/icons/Check/index.d.ts.map +1 -1
  431. package/dist/icons/Check/index.js +8 -17
  432. package/dist/icons/Check/index.js.map +1 -1
  433. package/dist/icons/Check/index.scss +1 -1
  434. package/dist/icons/Chevron/index.js +5 -4
  435. package/dist/icons/Chevron/index.js.map +1 -1
  436. package/dist/icons/Chevron/index.scss +2 -5
  437. package/dist/icons/CloseMenu/index.d.ts.map +1 -1
  438. package/dist/icons/CloseMenu/index.js +8 -22
  439. package/dist/icons/CloseMenu/index.js.map +1 -1
  440. package/dist/icons/CloseMenu/index.scss +2 -2
  441. package/dist/icons/CodeBlock/index.d.ts.map +1 -1
  442. package/dist/icons/CodeBlock/index.js +8 -14
  443. package/dist/icons/CodeBlock/index.js.map +1 -1
  444. package/dist/icons/Copy/index.d.ts.map +1 -1
  445. package/dist/icons/Copy/index.js +12 -16
  446. package/dist/icons/Copy/index.js.map +1 -1
  447. package/dist/icons/Copy/index.scss +1 -1
  448. package/dist/icons/DragHandle/index.d.ts.map +1 -1
  449. package/dist/icons/DragHandle/index.js +19 -25
  450. package/dist/icons/DragHandle/index.js.map +1 -1
  451. package/dist/icons/DragHandle/index.scss +2 -0
  452. package/dist/icons/Edit/index.d.ts.map +1 -1
  453. package/dist/icons/Edit/index.js +8 -21
  454. package/dist/icons/Edit/index.js.map +1 -1
  455. package/dist/icons/Edit/index.scss +3 -3
  456. package/dist/icons/Line/index.d.ts.map +1 -1
  457. package/dist/icons/Line/index.js +7 -6
  458. package/dist/icons/Line/index.js.map +1 -1
  459. package/dist/icons/Line/index.scss +1 -1
  460. package/dist/icons/Link/index.d.ts.map +1 -1
  461. package/dist/icons/Link/index.js +11 -14
  462. package/dist/icons/Link/index.js.map +1 -1
  463. package/dist/icons/Link/index.scss +1 -1
  464. package/dist/icons/LogOut/index.d.ts.map +1 -1
  465. package/dist/icons/LogOut/index.js +9 -24
  466. package/dist/icons/LogOut/index.js.map +1 -1
  467. package/dist/icons/LogOut/index.scss +1 -1
  468. package/dist/icons/Menu/index.d.ts.map +1 -1
  469. package/dist/icons/Menu/index.js +10 -28
  470. package/dist/icons/Menu/index.js.map +1 -1
  471. package/dist/icons/Menu/index.scss +3 -2
  472. package/dist/icons/MinimizeMaximize/index.d.ts.map +1 -1
  473. package/dist/icons/MinimizeMaximize/index.js +8 -35
  474. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  475. package/dist/icons/More/index.d.ts.map +1 -1
  476. package/dist/icons/More/index.js +10 -13
  477. package/dist/icons/More/index.js.map +1 -1
  478. package/dist/icons/More/index.scss +1 -0
  479. package/dist/icons/Plus/index.d.ts.map +1 -1
  480. package/dist/icons/Plus/index.js +10 -20
  481. package/dist/icons/Plus/index.js.map +1 -1
  482. package/dist/icons/Plus/index.scss +1 -1
  483. package/dist/icons/Search/index.d.ts.map +1 -1
  484. package/dist/icons/Search/index.js +8 -18
  485. package/dist/icons/Search/index.js.map +1 -1
  486. package/dist/icons/Search/index.scss +1 -1
  487. package/dist/icons/Swap/index.d.ts.map +1 -1
  488. package/dist/icons/Swap/index.js +8 -28
  489. package/dist/icons/Swap/index.js.map +1 -1
  490. package/dist/icons/Swap/index.scss +2 -2
  491. package/dist/icons/X/index.d.ts.map +1 -1
  492. package/dist/icons/X/index.js +10 -21
  493. package/dist/icons/X/index.js.map +1 -1
  494. package/dist/icons/X/index.scss +3 -3
  495. package/dist/providers/Auth/index.d.ts +1 -1
  496. package/dist/providers/Auth/index.d.ts.map +1 -1
  497. package/dist/providers/Auth/index.js +47 -76
  498. package/dist/providers/Auth/index.js.map +1 -1
  499. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +2 -1
  500. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  501. package/dist/providers/ComponentMap/buildComponentMap/collections.js +2 -1
  502. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  503. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +2 -2
  504. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  505. package/dist/providers/ComponentMap/buildComponentMap/fields.js +126 -96
  506. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  507. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +2 -1
  508. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  509. package/dist/providers/ComponentMap/buildComponentMap/globals.js +2 -1
  510. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  511. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  512. package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -0
  513. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  514. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -55
  515. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  516. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  517. package/dist/providers/ComponentMap/index.d.ts +2 -1
  518. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  519. package/dist/providers/ComponentMap/index.js.map +1 -1
  520. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  521. package/dist/providers/DocumentInfo/index.js +58 -16
  522. package/dist/providers/DocumentInfo/index.js.map +1 -1
  523. package/dist/providers/ListQuery/index.d.ts +16 -9
  524. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  525. package/dist/providers/ListQuery/index.js +8 -6
  526. package/dist/providers/ListQuery/index.js.map +1 -1
  527. package/dist/providers/Params/index.d.ts +2 -1
  528. package/dist/providers/Params/index.d.ts.map +1 -1
  529. package/dist/providers/Params/index.js.map +1 -1
  530. package/dist/providers/UploadEdits/index.d.ts +12 -0
  531. package/dist/providers/UploadEdits/index.d.ts.map +1 -0
  532. package/dist/providers/UploadEdits/index.js +30 -0
  533. package/dist/providers/UploadEdits/index.js.map +1 -0
  534. package/dist/scss/app.scss +2 -1
  535. package/dist/scss/toasts.scss +10 -3
  536. package/dist/scss/type.scss +14 -23
  537. package/dist/scss/vars.scss +26 -47
  538. package/dist/styles.css +1 -1
  539. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  540. package/dist/utilities/buildFieldSchemaMap/index.js +24 -0
  541. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  542. package/dist/utilities/buildFormState.d.ts.map +1 -1
  543. package/dist/utilities/buildFormState.js +20 -10
  544. package/dist/utilities/buildFormState.js.map +1 -1
  545. package/dist/utilities/flattenFieldMap.d.ts +1 -1
  546. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  547. package/dist/utilities/flattenFieldMap.js.map +1 -1
  548. package/dist/utilities/formatAdminURL.d.ts +9 -0
  549. package/dist/utilities/formatAdminURL.d.ts.map +1 -0
  550. package/dist/utilities/formatAdminURL.js +15 -0
  551. package/dist/utilities/formatAdminURL.js.map +1 -0
  552. package/package.json +7 -7
  553. package/dist/exports/client/chunk-WDFUZ6GL.js +0 -30
  554. package/dist/fields/Checkbox/types.d.ts +0 -12
  555. package/dist/fields/Checkbox/types.d.ts.map +0 -1
  556. package/dist/fields/Checkbox/types.js.map +0 -1
  557. package/dist/fields/Row/types.d.ts +0 -12
  558. package/dist/fields/Row/types.d.ts.map +0 -1
  559. package/dist/fields/Row/types.js +0 -3
  560. package/dist/fields/Row/types.js.map +0 -1
  561. package/dist/fields/Upload/types.d.ts +0 -10
  562. package/dist/fields/Upload/types.d.ts.map +0 -1
  563. package/dist/fields/Upload/types.js +0 -3
  564. package/dist/fields/Upload/types.js.map +0 -1
  565. package/dist/providers/FormQueryParams/index.d.ts +0 -13
  566. package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
  567. package/dist/providers/FormQueryParams/index.js +0 -53
  568. package/dist/providers/FormQueryParams/index.js.map +0 -1
  569. package/dist/providers/FormQueryParams/types.d.ts +0 -16
  570. package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
  571. package/dist/providers/FormQueryParams/types.js +0 -3
  572. package/dist/providers/FormQueryParams/types.js.map +0 -1
  573. /package/dist/exports/client/{DatePicker-5IFHNQHA.js.map → DatePicker-XJHHMZP7.js.map} +0 -0
  574. /package/dist/fields/{Checkbox → Password}/types.js +0 -0
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport React, { useCallback } from 'react'\n\nexport type SortColumnProps = {\n Label: React.ReactNode\n disable?: boolean\n label?: FieldBase['label']\n name: string\n}\n\nimport type { FieldBase } from 'payload'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'sort-column'\n\nexport const SortColumn: React.FC<SortColumnProps> = (props) => {\n const { name, Label, disable = false, label } = props\n const { searchParams } = useSearchParams()\n const { refineListData } = useListQuery()\n const { t } = useTranslation()\n\n const { sort } = searchParams\n\n const desc = `-${name}`\n const asc = name\n\n const ascClasses = [`${baseClass}__asc`]\n if (sort === asc) ascClasses.push(`${baseClass}--active`)\n\n const descClasses = [`${baseClass}__desc`]\n if (sort === desc) descClasses.push(`${baseClass}--active`)\n\n const setSort = useCallback(\n (newSort) => {\n refineListData({\n sort: newSort,\n })\n },\n [refineListData],\n )\n\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__label`}>{Label}</span>\n {!disable && (\n <div className={`${baseClass}__buttons`}>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:ascending'),\n label,\n })}\n className={[...ascClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => setSort(asc)}\n type=\"button\"\n >\n <ChevronIcon direction=\"up\" />\n </button>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:descending'),\n label,\n })}\n className={[...descClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => setSort(desc)}\n type=\"button\"\n >\n <ChevronIcon />\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"names":["React","useCallback","ChevronIcon","useListQuery","useSearchParams","useTranslation","baseClass","SortColumn","props","name","Label","disable","label","searchParams","refineListData","t","sort","desc","asc","ascClasses","push","descClasses","setSort","newSort","div","className","span","button","aria-label","direction","filter","Boolean","join","onClick","type"],"mappings":"AAAA;;AACA,0EAA0E;AAC1E,OAAOA,SAASC,WAAW,QAAQ,QAAO;AAW1C,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAAwC,CAACC;IACpD,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,KAAK,EAAEC,KAAK,EAAE,GAAGJ;IAChD,MAAM,EAAEK,YAAY,EAAE,GAAGT;IACzB,MAAM,EAAEU,cAAc,EAAE,GAAGX;IAC3B,MAAM,EAAEY,CAAC,EAAE,GAAGV;IAEd,MAAM,EAAEW,IAAI,EAAE,GAAGH;IAEjB,MAAMI,OAAO,CAAC,CAAC,EAAER,KAAK,CAAC;IACvB,MAAMS,MAAMT;IAEZ,MAAMU,aAAa;QAAC,CAAC,EAAEb,UAAU,KAAK,CAAC;KAAC;IACxC,IAAIU,SAASE,KAAKC,WAAWC,IAAI,CAAC,CAAC,EAAEd,UAAU,QAAQ,CAAC;IAExD,MAAMe,cAAc;QAAC,CAAC,EAAEf,UAAU,MAAM,CAAC;KAAC;IAC1C,IAAIU,SAASC,MAAMI,YAAYD,IAAI,CAAC,CAAC,EAAEd,UAAU,QAAQ,CAAC;IAE1D,MAAMgB,UAAUrB,YACd,CAACsB;QACCT,eAAe;YACbE,MAAMO;QACR;IACF,GACA;QAACT;KAAe;IAGlB,qBACE,MAACU;QAAIC,WAAWnB;;0BACd,KAACoB;gBAAKD,WAAW,CAAC,EAAEnB,UAAU,OAAO,CAAC;0BAAGI;;YACxC,CAACC,yBACA,MAACa;gBAAIC,WAAW,CAAC,EAAEnB,UAAU,SAAS,CAAC;;kCACrC,KAACqB;wBACCC,cAAYb,EAAE,gCAAgC;4BAC5Cc,WAAWd,EAAE;4BACbH;wBACF;wBACAa,WAAW;+BAAIN;4BAAY,CAAC,EAAEb,UAAU,QAAQ,CAAC;yBAAC,CAACwB,MAAM,CAACC,SAASC,IAAI,CAAC;wBACxEC,SAAS,IAAMX,QAAQJ;wBACvBgB,MAAK;kCAEL,cAAA,KAAChC;4BAAY2B,WAAU;;;kCAEzB,KAACF;wBACCC,cAAYb,EAAE,gCAAgC;4BAC5Cc,WAAWd,EAAE;4BACbH;wBACF;wBACAa,WAAW;+BAAIJ;4BAAa,CAAC,EAAEf,UAAU,QAAQ,CAAC;yBAAC,CAACwB,MAAM,CAACC,SAASC,IAAI,CAAC;wBACzEC,SAAS,IAAMX,QAAQL;wBACvBiB,MAAK;kCAEL,cAAA,KAAChC;;;;;;AAMb,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/SortColumn/index.tsx"],"sourcesContent":["'use client'\nimport type { FieldBase } from 'payload'\n\n// TODO: abstract the `next/navigation` dependency out from this component\nimport React, { useCallback } from 'react'\n\nimport { ChevronIcon } from '../../icons/Chevron/index.js'\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type SortColumnProps = {\n Label: React.ReactNode\n disable?: boolean\n label?: FieldBase['label']\n name: string\n}\n\nconst baseClass = 'sort-column'\n\nexport const SortColumn: React.FC<SortColumnProps> = (props) => {\n const { name, Label, disable = false, label } = props\n const { searchParams } = useSearchParams()\n const { refineListData } = useListQuery()\n const { t } = useTranslation()\n\n const { sort } = searchParams\n\n const desc = `-${name}`\n const asc = name\n\n const ascClasses = [`${baseClass}__asc`]\n if (sort === asc) ascClasses.push(`${baseClass}--active`)\n\n const descClasses = [`${baseClass}__desc`]\n if (sort === desc) descClasses.push(`${baseClass}--active`)\n\n const setSort = useCallback(\n async (newSort: string) => {\n await refineListData({\n sort: newSort,\n })\n },\n [refineListData],\n )\n\n return (\n <div className={baseClass}>\n <span className={`${baseClass}__label`}>{Label}</span>\n {!disable && (\n <div className={`${baseClass}__buttons`}>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:ascending'),\n label,\n })}\n className={[...ascClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(asc)}\n type=\"button\"\n >\n <ChevronIcon direction=\"up\" />\n </button>\n <button\n aria-label={t('general:sortByLabelDirection', {\n direction: t('general:descending'),\n label,\n })}\n className={[...descClasses, `${baseClass}__button`].filter(Boolean).join(' ')}\n onClick={() => void setSort(desc)}\n type=\"button\"\n >\n <ChevronIcon />\n </button>\n </div>\n )}\n </div>\n )\n}\n"],"names":["React","useCallback","ChevronIcon","useListQuery","useSearchParams","useTranslation","baseClass","SortColumn","props","name","Label","disable","label","searchParams","refineListData","t","sort","desc","asc","ascClasses","push","descClasses","setSort","newSort","div","className","span","button","aria-label","direction","filter","Boolean","join","onClick","type"],"mappings":"AAAA;;AAGA,0EAA0E;AAC1E,OAAOA,SAASC,WAAW,QAAQ,QAAO;AAE1C,SAASC,WAAW,QAAQ,+BAA8B;AAC1D,SAASC,YAAY,QAAQ,qCAAoC;AACjE,SAASC,eAAe,QAAQ,wCAAuC;AACvE,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AASrB,MAAMC,YAAY;AAElB,OAAO,MAAMC,aAAwC,CAACC;IACpD,MAAM,EAAEC,IAAI,EAAEC,KAAK,EAAEC,UAAU,KAAK,EAAEC,KAAK,EAAE,GAAGJ;IAChD,MAAM,EAAEK,YAAY,EAAE,GAAGT;IACzB,MAAM,EAAEU,cAAc,EAAE,GAAGX;IAC3B,MAAM,EAAEY,CAAC,EAAE,GAAGV;IAEd,MAAM,EAAEW,IAAI,EAAE,GAAGH;IAEjB,MAAMI,OAAO,CAAC,CAAC,EAAER,KAAK,CAAC;IACvB,MAAMS,MAAMT;IAEZ,MAAMU,aAAa;QAAC,CAAC,EAAEb,UAAU,KAAK,CAAC;KAAC;IACxC,IAAIU,SAASE,KAAKC,WAAWC,IAAI,CAAC,CAAC,EAAEd,UAAU,QAAQ,CAAC;IAExD,MAAMe,cAAc;QAAC,CAAC,EAAEf,UAAU,MAAM,CAAC;KAAC;IAC1C,IAAIU,SAASC,MAAMI,YAAYD,IAAI,CAAC,CAAC,EAAEd,UAAU,QAAQ,CAAC;IAE1D,MAAMgB,UAAUrB,YACd,OAAOsB;QACL,MAAMT,eAAe;YACnBE,MAAMO;QACR;IACF,GACA;QAACT;KAAe;IAGlB,qBACE,MAACU;QAAIC,WAAWnB;;0BACd,KAACoB;gBAAKD,WAAW,CAAC,EAAEnB,UAAU,OAAO,CAAC;0BAAGI;;YACxC,CAACC,yBACA,MAACa;gBAAIC,WAAW,CAAC,EAAEnB,UAAU,SAAS,CAAC;;kCACrC,KAACqB;wBACCC,cAAYb,EAAE,gCAAgC;4BAC5Cc,WAAWd,EAAE;4BACbH;wBACF;wBACAa,WAAW;+BAAIN;4BAAY,CAAC,EAAEb,UAAU,QAAQ,CAAC;yBAAC,CAACwB,MAAM,CAACC,SAASC,IAAI,CAAC;wBACxEC,SAAS,IAAM,KAAKX,QAAQJ;wBAC5BgB,MAAK;kCAEL,cAAA,KAAChC;4BAAY2B,WAAU;;;kCAEzB,KAACF;wBACCC,cAAYb,EAAE,gCAAgC;4BAC5Cc,WAAWd,EAAE;4BACbH;wBACF;wBACAa,WAAW;+BAAIJ;4BAAa,CAAC,EAAEf,UAAU,QAAQ,CAAC;yBAAC,CAACwB,MAAM,CAACC,SAASC,IAAI,CAAC;wBACzEC,SAAS,IAAM,KAAKX,QAAQL;wBAC5BiB,MAAK;kCAEL,cAAA,KAAChC;;;;;;AAMb,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAMzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,mBAAmB,CAAA;AAErD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EA4CrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/StayLoggedIn/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAA;AAOzB,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,qBAAqB,mBAAmB,CAAA;AAErD,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAoDrC,CAAA"}
@@ -8,6 +8,7 @@ import { Button } from '../../elements/Button/index.js';
8
8
  import { useAuth } from '../../providers/Auth/index.js';
9
9
  import { useConfig } from '../../providers/Config/index.js';
10
10
  import { useTranslation } from '../../providers/Translation/index.js';
11
+ import { formatAdminURL } from '../../utilities/formatAdminURL.js';
11
12
  import './index.scss';
12
13
  const baseClass = 'stay-logged-in';
13
14
  export const stayLoggedInModalSlug = 'stay-logged-in';
@@ -15,7 +16,7 @@ export const StayLoggedInModal = ()=>{
15
16
  const { refreshCookie } = useAuth();
16
17
  const router = useRouter();
17
18
  const config = useConfig();
18
- const { admin: { routes: { logout: logoutRoute } }, routes: { admin } } = config;
19
+ const { admin: { routes: { logout: logoutRoute } }, routes: { admin: adminRoute } } = config;
19
20
  const { toggleModal } = useModal();
20
21
  const { t } = useTranslation();
21
22
  return /*#__PURE__*/ _jsx(Modal, {
@@ -42,8 +43,12 @@ export const StayLoggedInModal = ()=>{
42
43
  buttonStyle: "secondary",
43
44
  onClick: ()=>{
44
45
  toggleModal(stayLoggedInModalSlug);
45
- router.push(`${admin}${logoutRoute}`);
46
+ router.push(formatAdminURL({
47
+ adminRoute,
48
+ path: logoutRoute
49
+ }));
46
50
  },
51
+ size: "large",
47
52
  children: t('authentication:logOut')
48
53
  }),
49
54
  /*#__PURE__*/ _jsx(Button, {
@@ -51,6 +56,7 @@ export const StayLoggedInModal = ()=>{
51
56
  refreshCookie();
52
57
  toggleModal(stayLoggedInModalSlug);
53
58
  },
59
+ size: "large",
54
60
  children: t('authentication:stayLoggedIn')
55
61
  })
56
62
  ]
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'stay-logged-in'\n\nexport const stayLoggedInModalSlug = 'stay-logged-in'\n\nexport const StayLoggedInModal: React.FC = () => {\n const { refreshCookie } = useAuth()\n\n const router = useRouter()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin },\n } = config\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Modal className={baseClass} slug={stayLoggedInModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('authentication:stayLoggedIn')}</h1>\n <p>{t('authentication:youAreInactive')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(stayLoggedInModalSlug)\n router.push(`${admin}${logoutRoute}`)\n }}\n >\n {t('authentication:logOut')}\n </Button>\n <Button\n onClick={() => {\n refreshCookie()\n toggleModal(stayLoggedInModalSlug)\n }}\n >\n {t('authentication:stayLoggedIn')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"names":["Modal","useModal","useRouter","React","Button","useAuth","useConfig","useTranslation","baseClass","stayLoggedInModalSlug","StayLoggedInModal","refreshCookie","router","config","admin","routes","logout","logoutRoute","toggleModal","t","className","slug","div","h1","p","buttonStyle","onClick","push"],"mappings":"AAAA;;AACA,SAASA,KAAK,EAAEC,QAAQ,QAAQ,qBAAoB;AACpD,0EAA0E;AAC1E,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAAwB,iBAAgB;AAErD,OAAO,MAAMC,oBAA8B;IACzC,MAAM,EAAEC,aAAa,EAAE,GAAGN;IAE1B,MAAMO,SAASV;IACf,MAAMW,SAASP;IAEf,MAAM,EACJQ,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACDF,QAAQ,EAAED,KAAK,EAAE,EAClB,GAAGD;IACJ,MAAM,EAAEK,WAAW,EAAE,GAAGjB;IACxB,MAAM,EAAEkB,CAAC,EAAE,GAAGZ;IAEd,qBACE,KAACP;QAAMoB,WAAWZ;QAAWa,MAAMZ;kBACjC,cAAA,MAACa;YAAIF,WAAW,CAAC,EAAEZ,UAAU,SAAS,CAAC;;8BACrC,MAACc;oBAAIF,WAAW,CAAC,EAAEZ,UAAU,SAAS,CAAC;;sCACrC,KAACe;sCAAIJ,EAAE;;sCACP,KAACK;sCAAGL,EAAE;;;;8BAER,MAACG;oBAAIF,WAAW,CAAC,EAAEZ,UAAU,UAAU,CAAC;;sCACtC,KAACJ;4BACCqB,aAAY;4BACZC,SAAS;gCACPR,YAAYT;gCACZG,OAAOe,IAAI,CAAC,CAAC,EAAEb,MAAM,EAAEG,YAAY,CAAC;4BACtC;sCAECE,EAAE;;sCAEL,KAACf;4BACCsB,SAAS;gCACPf;gCACAO,YAAYT;4BACd;sCAECU,EAAE;;;;;;;AAMf,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/StayLoggedIn/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\n// TODO: abstract the `next/navigation` dependency out from this component\nimport { useRouter } from 'next/navigation.js'\nimport React from 'react'\n\nimport { Button } from '../../elements/Button/index.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../utilities/formatAdminURL.js'\nimport './index.scss'\n\nconst baseClass = 'stay-logged-in'\n\nexport const stayLoggedInModalSlug = 'stay-logged-in'\n\nexport const StayLoggedInModal: React.FC = () => {\n const { refreshCookie } = useAuth()\n\n const router = useRouter()\n const config = useConfig()\n\n const {\n admin: {\n routes: { logout: logoutRoute },\n },\n routes: { admin: adminRoute },\n } = config\n\n const { toggleModal } = useModal()\n const { t } = useTranslation()\n\n return (\n <Modal className={baseClass} slug={stayLoggedInModalSlug}>\n <div className={`${baseClass}__wrapper`}>\n <div className={`${baseClass}__content`}>\n <h1>{t('authentication:stayLoggedIn')}</h1>\n <p>{t('authentication:youAreInactive')}</p>\n </div>\n <div className={`${baseClass}__controls`}>\n <Button\n buttonStyle=\"secondary\"\n onClick={() => {\n toggleModal(stayLoggedInModalSlug)\n router.push(\n formatAdminURL({\n adminRoute,\n path: logoutRoute,\n }),\n )\n }}\n size=\"large\"\n >\n {t('authentication:logOut')}\n </Button>\n <Button\n onClick={() => {\n refreshCookie()\n toggleModal(stayLoggedInModalSlug)\n }}\n size=\"large\"\n >\n {t('authentication:stayLoggedIn')}\n </Button>\n </div>\n </div>\n </Modal>\n )\n}\n"],"names":["Modal","useModal","useRouter","React","Button","useAuth","useConfig","useTranslation","formatAdminURL","baseClass","stayLoggedInModalSlug","StayLoggedInModal","refreshCookie","router","config","admin","routes","logout","logoutRoute","adminRoute","toggleModal","t","className","slug","div","h1","p","buttonStyle","onClick","push","path","size"],"mappings":"AAAA;;AACA,SAASA,KAAK,EAAEC,QAAQ,QAAQ,qBAAoB;AACpD,0EAA0E;AAC1E,SAASC,SAAS,QAAQ,qBAAoB;AAC9C,OAAOC,WAAW,QAAO;AAEzB,SAASC,MAAM,QAAQ,iCAAgC;AACvD,SAASC,OAAO,QAAQ,gCAA+B;AACvD,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,wBAAwB,iBAAgB;AAErD,OAAO,MAAMC,oBAA8B;IACzC,MAAM,EAAEC,aAAa,EAAE,GAAGP;IAE1B,MAAMQ,SAASX;IACf,MAAMY,SAASR;IAEf,MAAM,EACJS,OAAO,EACLC,QAAQ,EAAEC,QAAQC,WAAW,EAAE,EAChC,EACDF,QAAQ,EAAED,OAAOI,UAAU,EAAE,EAC9B,GAAGL;IAEJ,MAAM,EAAEM,WAAW,EAAE,GAAGnB;IACxB,MAAM,EAAEoB,CAAC,EAAE,GAAGd;IAEd,qBACE,KAACP;QAAMsB,WAAWb;QAAWc,MAAMb;kBACjC,cAAA,MAACc;YAAIF,WAAW,CAAC,EAAEb,UAAU,SAAS,CAAC;;8BACrC,MAACe;oBAAIF,WAAW,CAAC,EAAEb,UAAU,SAAS,CAAC;;sCACrC,KAACgB;sCAAIJ,EAAE;;sCACP,KAACK;sCAAGL,EAAE;;;;8BAER,MAACG;oBAAIF,WAAW,CAAC,EAAEb,UAAU,UAAU,CAAC;;sCACtC,KAACL;4BACCuB,aAAY;4BACZC,SAAS;gCACPR,YAAYV;gCACZG,OAAOgB,IAAI,CACTrB,eAAe;oCACbW;oCACAW,MAAMZ;gCACR;4BAEJ;4BACAa,MAAK;sCAEJV,EAAE;;sCAEL,KAACjB;4BACCwB,SAAS;gCACPhB;gCACAQ,YAAYV;4BACd;4BACAqB,MAAK;sCAEJV,EAAE;;;;;;;AAMf,EAAC"}
@@ -1,6 +1,6 @@
1
- import type { LabelFunction } from 'payload';
1
+ import type { LabelFunction, LabelStatic } from 'payload';
2
2
  export type StepNavItem = {
3
- label: LabelFunction | Record<string, string> | string;
3
+ label: LabelFunction | LabelStatic;
4
4
  url?: string;
5
5
  };
6
6
  export type ContextType = {
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,SAAS,CAAA;AAE5C,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,aAAa,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,MAAM,CAAA;IACtD,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/StepNav/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,SAAS,CAAA;AAEzD,MAAM,MAAM,WAAW,GAAG;IACxB,KAAK,EAAE,aAAa,GAAG,WAAW,CAAA;IAClC,GAAG,CAAC,EAAE,MAAM,CAAA;CACb,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,UAAU,EAAE,CAAC,KAAK,EAAE,WAAW,EAAE,KAAK,IAAI,CAAA;IAC1C,OAAO,EAAE,WAAW,EAAE,CAAA;CACvB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/StepNav/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\n\nexport type StepNavItem = {\n label: LabelFunction | Record<string, string> | string\n url?: string\n}\n\nexport type ContextType = {\n setStepNav: (items: StepNavItem[]) => void\n stepNav: StepNavItem[]\n}\n"],"names":[],"mappings":"AAOA,WAGC"}
1
+ {"version":3,"sources":["../../../src/elements/StepNav/types.ts"],"sourcesContent":["import type { LabelFunction, LabelStatic } from 'payload'\n\nexport type StepNavItem = {\n label: LabelFunction | LabelStatic\n url?: string\n}\n\nexport type ContextType = {\n setStepNav: (items: StepNavItem[]) => void\n stepNav: StepNavItem[]\n}\n"],"names":[],"mappings":"AAOA,WAGC"}
@@ -8,7 +8,7 @@
8
8
  vertical-align: middle;
9
9
  background: var(--theme-elevation-150);
10
10
  color: var(--theme-elevation-800);
11
- border-radius: $style-radius-s;
11
+ border-radius: $style-radius-m;
12
12
  padding: 0 base(0.25);
13
13
  background: var(--theme-elevation-100);
14
14
  color: var(--theme-elevation-800);
@@ -8,7 +8,7 @@
8
8
  vertical-align: middle;
9
9
  background: var(--theme-elevation-150);
10
10
  color: var(--theme-elevation-800);
11
- border-radius: $style-radius-s;
11
+ border-radius: $style-radius-m;
12
12
  padding: 0 base(0.25);
13
13
  [dir='ltr'] & {
14
14
  padding-left: base(0.0875 + 0.25);
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG5E,OAAO,KAA8B,MAAM,OAAO,CAAA;AAQlD,OAAO,cAAc,CAAA;AAMrB,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;CAC7C;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAoF5D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAG5E,OAAO,KAA8B,MAAM,OAAO,CAAA;AASlD,OAAO,cAAc,CAAA;AAMrB,MAAM,WAAW,qBAAsB,SAAQ,yBAAyB,CAAC,GAAG,CAAC;IAC3E,KAAK,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAClC,UAAU,EAAE,kBAAkB,CAAC,YAAY,CAAC,CAAA;CAC7C;AAED,eAAO,MAAM,gBAAgB,EAAE,KAAK,CAAC,EAAE,CAAC,qBAAqB,CAyG5D,CAAA"}
@@ -1,5 +1,5 @@
1
1
  'use client';
2
- import { jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import React, { useEffect, useState } from 'react';
5
5
  import { useIntersect } from '../../../../../hooks/useIntersect.js';
@@ -8,10 +8,11 @@ import { useTranslation } from '../../../../../providers/Translation/index.js';
8
8
  import { canUseDOM } from '../../../../../utilities/canUseDOM.js';
9
9
  import { formatDocTitle } from '../../../../../utilities/formatDocTitle.js';
10
10
  import { useListRelationships } from '../../../RelationshipProvider/index.js';
11
+ import { FileCell } from '../File/index.js';
11
12
  import './index.scss';
12
13
  const baseClass = 'relationship-cell';
13
14
  const totalToShow = 3;
14
- export const RelationshipCell = ({ cellData, label, relationTo })=>{
15
+ export const RelationshipCell = ({ cellData, fieldType, label, relationTo, ...props })=>{
15
16
  const config = useConfig();
16
17
  const { collections, routes } = config;
17
18
  const [intersectionRef, entry] = useIntersect();
@@ -71,11 +72,26 @@ export const RelationshipCell = ({ cellData, label, relationTo })=>{
71
72
  fallback: `${t('general:untitled')} - ID: ${value}`,
72
73
  i18n
73
74
  });
75
+ let fileField = null;
76
+ if (fieldType === 'upload') {
77
+ const { name, customCellContext, displayPreview, schemaPath } = props;
78
+ const relatedCollectionPreview = !!relatedCollection.upload.displayPreview;
79
+ const previewAllowed = displayPreview || relatedCollectionPreview && displayPreview !== false;
80
+ if (previewAllowed && document) {
81
+ fileField = /*#__PURE__*/ _jsx(FileCell, {
82
+ cellData: label,
83
+ customCellContext: customCellContext,
84
+ name: name,
85
+ rowData: document,
86
+ schemaPath: schemaPath
87
+ });
88
+ }
89
+ }
74
90
  return /*#__PURE__*/ _jsxs(React.Fragment, {
75
91
  children: [
76
92
  document === false && `${t('general:untitled')} - ID: ${value}`,
77
93
  document === null && `${t('general:loading')}...`,
78
- document ? label : null,
94
+ document ? fileField || label : null,
79
95
  values.length > i + 1 && ', '
80
96
  ]
81
97
  }, i);
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle.js'\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 || typeof cellData === 'number') && isAboveViewport && !hasRequested) {\n const formattedValues: Value[] = []\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 useEffect(() => {\n if (hasRequested) {\n setHasRequested(false)\n }\n }, [cellData])\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","React","useEffect","useState","useIntersect","useConfig","useTranslation","canUseDOM","formatDocTitle","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","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'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport { useIntersect } from '../../../../../hooks/useIntersect.js'\nimport { useConfig } from '../../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\nimport { canUseDOM } from '../../../../../utilities/canUseDOM.js'\nimport { formatDocTitle } from '../../../../../utilities/formatDocTitle.js'\nimport { useListRelationships } from '../../../RelationshipProvider/index.js'\nimport { FileCell } from '../File/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 fieldType,\n label,\n relationTo,\n ...props\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 || typeof cellData === 'number') && isAboveViewport && !hasRequested) {\n const formattedValues: Value[] = []\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 useEffect(() => {\n if (hasRequested) {\n setHasRequested(false)\n }\n }, [cellData])\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 let fileField = null\n if (fieldType === 'upload') {\n const { name, customCellContext, displayPreview, schemaPath } = props\n const relatedCollectionPreview = !!relatedCollection.upload.displayPreview\n const previewAllowed =\n displayPreview || (relatedCollectionPreview && displayPreview !== false)\n if (previewAllowed && document) {\n fileField = (\n <FileCell\n cellData={label}\n customCellContext={customCellContext}\n name={name}\n rowData={document}\n schemaPath={schemaPath}\n />\n )\n }\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 ? fileField || 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","React","useEffect","useState","useIntersect","useConfig","useTranslation","canUseDOM","formatDocTitle","useListRelationships","FileCell","baseClass","totalToShow","RelationshipCell","cellData","fieldType","label","relationTo","props","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","fileField","name","customCellContext","displayPreview","schemaPath","relatedCollectionPreview","upload","previewAllowed","rowData","Fragment","count","items"],"mappings":"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"}
@@ -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,kBAAkB,EAA6B,MAAM,SAAS,CAAA;AAY5E,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAmHpD,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,SAAS,CAAA;AAa5E,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAsHpD,CAAA"}
@@ -5,6 +5,7 @@ import React from 'react'; // TODO: abstract this out to support all routers
5
5
  import { getTranslation } from '@payloadcms/translations';
6
6
  import { useConfig } from '../../../providers/Config/index.js';
7
7
  import { useTranslation } from '../../../providers/Translation/index.js';
8
+ import { formatAdminURL } from '../../../utilities/formatAdminURL.js';
8
9
  import { useTableCell } from '../TableCellProvider/index.js';
9
10
  import { CodeCell } from './fields/Code/index.js';
10
11
  import { cellComponents } from './fields/index.js';
@@ -25,7 +26,10 @@ export const DefaultCell = (props)=>{
25
26
  const isLink = link !== undefined ? link : columnIndex === 0;
26
27
  if (isLink) {
27
28
  WrapElement = Link;
28
- wrapElementProps.href = customCellContext?.collectionSlug ? `${adminRoute}/collections/${customCellContext?.collectionSlug}/${rowData.id}` : '';
29
+ wrapElementProps.href = customCellContext?.collectionSlug ? formatAdminURL({
30
+ adminRoute,
31
+ path: `/collections/${customCellContext?.collectionSlug}/${rowData.id}`
32
+ }) : '';
29
33
  }
30
34
  if (typeof onClick === 'function') {
31
35
  WrapElement = 'button';
@@ -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 { CellComponentProps, DefaultCellComponentProps } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { useTableCell } from '../TableCellProvider/index.js'\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 className: classNameFromProps,\n fieldType,\n isFieldAffectingData,\n label,\n onClick: onClickFromProps,\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\n cellData={`ID: ${cellData}`}\n name={name}\n nowrap\n rowData={rowData}\n schemaPath={cellContext?.cellProps?.schemaPath}\n />\n </WrapElement>\n )\n }\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> =\n typeof cellData !== 'undefined' && cellComponents[fieldType]\n\n let CellComponent: React.ReactNode = null\n\n if (DefaultCellComponent) {\n CellComponent = (\n <DefaultCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else if (!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","useConfig","useTranslation","useTableCell","CodeCell","cellComponents","Link","default","DefaultCell","props","name","className","classNameFromProps","fieldType","isFieldAffectingData","label","onClick","onClickFromProps","i18n","routes","admin","adminRoute","cellContext","cellData","cellProps","columnIndex","customCellContext","rowData","classNameFromContext","link","onClickFromContext","WrapElement","wrapElementProps","isLink","undefined","href","collectionSlug","id","type","nowrap","schemaPath","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'\n\nimport { getTranslation } from '@payloadcms/translations'\n\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { formatAdminURL } from '../../../utilities/formatAdminURL.js'\nimport { useTableCell } from '../TableCellProvider/index.js'\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 className: classNameFromProps,\n fieldType,\n isFieldAffectingData,\n label,\n onClick: onClickFromProps,\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 ? formatAdminURL({\n adminRoute,\n path: `/collections/${customCellContext?.collectionSlug}/${rowData.id}`,\n })\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\n cellData={`ID: ${cellData}`}\n name={name}\n nowrap\n rowData={rowData}\n schemaPath={cellContext?.cellProps?.schemaPath}\n />\n </WrapElement>\n )\n }\n\n const DefaultCellComponent: React.FC<DefaultCellComponentProps> =\n typeof cellData !== 'undefined' && cellComponents[fieldType]\n\n let CellComponent: React.ReactNode = null\n\n if (DefaultCellComponent) {\n CellComponent = (\n <DefaultCellComponent\n cellData={cellData}\n customCellContext={customCellContext}\n rowData={rowData}\n {...props}\n />\n )\n } else if (!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","useConfig","useTranslation","formatAdminURL","useTableCell","CodeCell","cellComponents","Link","default","DefaultCell","props","name","className","classNameFromProps","fieldType","isFieldAffectingData","label","onClick","onClickFromProps","i18n","routes","admin","adminRoute","cellContext","cellData","cellProps","columnIndex","customCellContext","rowData","classNameFromContext","link","onClickFromContext","WrapElement","wrapElementProps","isLink","undefined","href","collectionSlug","path","id","type","nowrap","schemaPath","DefaultCellComponent","CellComponent","uploadConfig","FileCellComponent","File","t","JSON","stringify"],"mappings":"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"}
@@ -1,7 +1,6 @@
1
- import type { CellComponentProps, FieldBase, FieldTypes } from 'payload';
1
+ import type { CellComponentProps, FieldBase, FieldMap, FieldTypes } from 'payload';
2
2
  import React from 'react';
3
3
  export * from './TableCellProvider/index.js';
4
- import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
5
4
  import { TableCellProvider } from './TableCellProvider/index.js';
6
5
  import './index.scss';
7
6
  export { TableCellProvider };
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAExE,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,cAAc,8BAA8B,CAAA;AAE5C,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,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Table/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,SAAS,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAElF,OAAO,KAAK,MAAM,OAAO,CAAA;AAEzB,cAAc,8BAA8B,CAAA;AAG5C,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,KAAK,CAAC,EAAE,SAAS,CAAC,OAAO,CAAC,CAAA;IAC1B,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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Table/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, FieldBase, FieldTypes } from 'payload'\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\nexport { TableCellProvider }\n\nconst baseClass = 'table'\n\nexport type Column = {\n Label: React.ReactNode\n accessor: string\n active: boolean\n admin?: FieldBase['admin']\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","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;AAChE,OAAO,eAAc;AAErB,SAASA,iBAAiB,GAAE;AAE5B,MAAMC,YAAY;AAuBlB,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,KAACC;sBAAI;;IACd;IAEA,qBACE,KAACA;QAAIC,WAAWb;kBACd,cAAA,MAACc;YAAMC,aAAY;YAAIC,aAAY;;8BACjC,KAACC;8BACC,cAAA,KAACC;kCACEX,cAAcY,GAAG,CAAC,CAACV,KAAKW,kBACvB,KAACC;gCAAGC,IAAI,CAAC,QAAQ,EAAEb,IAAIc,QAAQ,CAAC,CAAC;0CAC9Bd,IAAIe,UAAU,CAACC,OAAO;+BADeL;;;8BAM9C,KAACM;8BACErB,QACCA,KAAKc,GAAG,CAAC,CAACQ,KAAKC,yBACb,KAACV;4BAAGL,WAAW,CAAC,IAAI,EAAEe,WAAW,EAAE,CAAC;sCACjCrB,cAAcY,GAAG,CAAC,CAACV,KAAKoB;gCACvB,qBACE,KAACC;oCAAGjB,WAAW,CAAC,KAAK,EAAEJ,IAAIc,QAAQ,CAAC,CAAC;8CACnC,cAAA,KAACxB;wCACCgC,UAAUJ,GAAG,CAAClB,IAAIc,QAAQ,CAAC;wCAC3BS,WAAWvB,KAAKuB;wCAChBC,aAAaJ;wCACbzB,mBAAmBA;wCACnB8B,SAASP;kDAERlB,IAAIe,UAAU,CAACW,IAAI;;mCARoBN;4BAYhD;2BAfyCD;;;;;AAsBzD,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Table/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, FieldBase, FieldMap, FieldTypes } from 'payload'\n\nimport React from 'react'\n\nexport * from './TableCellProvider/index.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 admin?: FieldBase['admin']\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","components","Heading","tbody","row","rowIndex","colIndex","td","cellData","cellProps","columnIndex","rowData","Cell"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,cAAc,+BAA8B;AAE5C,SAASC,eAAe,QAAQ,2BAA0B;AAC1D,SAASC,iBAAiB,QAAQ,+BAA8B;AAChE,OAAO,eAAc;AAErB,SAASA,iBAAiB,GAAE;AAE5B,MAAMC,YAAY;AAuBlB,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,KAACC;sBAAI;;IACd;IAEA,qBACE,KAACA;QAAIC,WAAWb;kBACd,cAAA,MAACc;YAAMC,aAAY;YAAIC,aAAY;;8BACjC,KAACC;8BACC,cAAA,KAACC;kCACEX,cAAcY,GAAG,CAAC,CAACV,KAAKW,kBACvB,KAACC;gCAAGC,IAAI,CAAC,QAAQ,EAAEb,IAAIc,QAAQ,CAAC,CAAC;0CAC9Bd,IAAIe,UAAU,CAACC,OAAO;+BADeL;;;8BAM9C,KAACM;8BACErB,QACCA,KAAKc,GAAG,CAAC,CAACQ,KAAKC,yBACb,KAACV;4BAAGL,WAAW,CAAC,IAAI,EAAEe,WAAW,EAAE,CAAC;sCACjCrB,cAAcY,GAAG,CAAC,CAACV,KAAKoB;gCACvB,qBACE,KAACC;oCAAGjB,WAAW,CAAC,KAAK,EAAEJ,IAAIc,QAAQ,CAAC,CAAC;8CACnC,cAAA,KAACxB;wCACCgC,UAAUJ,GAAG,CAAClB,IAAIc,QAAQ,CAAC;wCAC3BS,WAAWvB,KAAKuB;wCAChBC,aAAaJ;wCACbzB,mBAAmBA;wCACnB8B,SAASP;kDAERlB,IAAIe,UAAU,CAACW,IAAI;;mCARoBN;4BAYhD;2BAfyCD;;;;;AAsBzD,EAAC"}
@@ -19,14 +19,23 @@
19
19
 
20
20
  th,
21
21
  td {
22
- padding: base(0.75);
22
+ padding: base(0.8) base(0.6);
23
23
  min-width: 150px;
24
+
25
+ &:first-child {
26
+ padding-inline-start: base(0.8);
27
+ }
28
+
29
+ &:last-child {
30
+ padding-inline-end: base(0.8);
31
+ }
24
32
  }
25
33
 
26
34
  tbody {
27
35
  tr {
28
36
  &:nth-child(odd) {
29
37
  background: var(--theme-elevation-50);
38
+ border-radius: $style-radius-s;
30
39
  }
31
40
  }
32
41
  }
@@ -1,5 +1,4 @@
1
- import { type CellComponentProps, type SanitizedCollectionConfig } from 'payload';
2
- import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
1
+ import type { CellComponentProps, FieldMap, SanitizedCollectionConfig } from 'payload';
3
2
  import type { ColumnPreferences } from '../../providers/ListInfo/index.js';
4
3
  import type { Column } from '../Table/index.js';
5
4
  type Args = {
@@ -1 +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,SAAS,CAAA;AAGjF,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;AAW/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,EAuJnD,CAAA"}
1
+ {"version":3,"file":"buildColumnState.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,kBAAkB,EAAE,QAAQ,EAAe,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAInG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAC1E,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAW/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,EAuJnD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport { type CellComponentProps, type SanitizedCollectionConfig } from 'payload'\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 { FieldLabel } from '../../fields/FieldLabel/index.js'\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 label={field.fieldComponentProps?.label}\n {...(field.fieldComponentProps?.labelProps || {})}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(field) || undefined}\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 admin: {\n disableListColumn: field.disableListColumn,\n disableListFilter: field.disableListFilter,\n },\n cellProps: {\n ...field.cellComponentProps,\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":["React","FieldLabel","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","label","labelProps","unstyled","fieldAffectsDataSubFields","Heading","disable","admin","disableListColumn","disableListFilter","link","relationTo","components"],"mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/buildColumnState.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, FieldMap, MappedField, SanitizedCollectionConfig } from 'payload'\n\nimport React from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { FieldLabel } from '../../fields/FieldLabel/index.js'\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 label={field.fieldComponentProps?.label}\n {...(field.fieldComponentProps?.labelProps || {})}\n unstyled\n />\n )\n\n const fieldAffectsDataSubFields =\n field &&\n field.type &&\n (field.type === 'array' || field.type === 'group' || field.type === 'blocks')\n\n const Heading = (\n <SortColumn\n Label={Label}\n disable={fieldAffectsDataSubFields || fieldIsPresentationalOnly(field) || undefined}\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 admin: {\n disableListColumn: field.disableListColumn,\n disableListFilter: field.disableListFilter,\n },\n cellProps: {\n ...field.cellComponentProps,\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":["React","FieldLabel","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","label","labelProps","unstyled","fieldAffectsDataSubFields","Heading","disable","admin","disableListColumn","disableListFilter","link","relationTo","components"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { FieldMap } from '../../providers/ComponentMap/buildComponentMap/types.js';
1
+ import type { FieldMap } from 'payload';
2
2
  export declare const filterFields: (fieldMap: FieldMap) => FieldMap;
3
3
  //# sourceMappingURL=filterFields.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/filterFields.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,yDAAyD,CAAA;AAIpG,eAAO,MAAM,YAAY,aAAc,QAAQ,KAAG,QA2BjD,CAAA"}
1
+ {"version":3,"file":"filterFields.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/filterFields.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAe,MAAM,SAAS,CAAA;AAIpD,eAAO,MAAM,YAAY,aAAc,QAAQ,KAAG,QA2BjD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/filterFields.tsx"],"sourcesContent":["'use client'\nimport 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) || field?.disableListColumn === 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","disableListColumn","fields","reduce","formatted","formattedField","fieldComponentProps","tabs","map","tab","filter","tabField"],"mappings":"AAAA;AAGA,uFAAuF;AACvF,mEAAmE;AACnE,OAAO,MAAMA,eAAe,CAACC;IAC3B,MAAMC,kBAAkB,CAACC,QACvB,AAACA,MAAMC,IAAI,KAAK,QAAQD,MAAME,QAAQ,KAAK,QAASF,OAAOG,sBAAsB;IAEnF,MAAMC,SAAmBN,SAASO,MAAM,CAAC,CAACC,WAAWN;QACnD,IAAID,gBAAgBC,QAAQ;YAC1B,OAAOM;QACT;QAEA,MAAMC,iBACJP,MAAMC,IAAI,KAAK,UAAU,UAAUD,MAAMQ,mBAAmB,GACxD;YACE,GAAGR,KAAK;YACRQ,qBAAqB;gBACnB,GAAGR,MAAMQ,mBAAmB;gBAC5BC,MAAMT,MAAMQ,mBAAmB,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,MAAS,CAAA;wBACjD,GAAGA,GAAG;wBACNb,UAAUa,IAAIb,QAAQ,CAACc,MAAM,CAAC,CAACC,WAAa,CAACd,gBAAgBc;oBAC/D,CAAA;YACF;QACF,IACAb;QAEN,OAAO;eAAIM;YAAWC;SAAe;IACvC,GAAG,EAAE;IAEL,OAAOH;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/filterFields.tsx"],"sourcesContent":["'use client'\nimport type { FieldMap, MappedField } from 'payload'\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) || field?.disableListColumn === 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","disableListColumn","fields","reduce","formatted","formattedField","fieldComponentProps","tabs","map","tab","filter","tabField"],"mappings":"AAAA;AAGA,uFAAuF;AACvF,mEAAmE;AACnE,OAAO,MAAMA,eAAe,CAACC;IAC3B,MAAMC,kBAAkB,CAACC,QACvB,AAACA,MAAMC,IAAI,KAAK,QAAQD,MAAME,QAAQ,KAAK,QAASF,OAAOG,sBAAsB;IAEnF,MAAMC,SAAmBN,SAASO,MAAM,CAAC,CAACC,WAAWN;QACnD,IAAID,gBAAgBC,QAAQ;YAC1B,OAAOM;QACT;QAEA,MAAMC,iBACJP,MAAMC,IAAI,KAAK,UAAU,UAAUD,MAAMQ,mBAAmB,GACxD;YACE,GAAGR,KAAK;YACRQ,qBAAqB;gBACnB,GAAGR,MAAMQ,mBAAmB;gBAC5BC,MAAMT,MAAMQ,mBAAmB,CAACC,IAAI,CAACC,GAAG,CAAC,CAACC,MAAS,CAAA;wBACjD,GAAGA,GAAG;wBACNb,UAAUa,IAAIb,QAAQ,CAACc,MAAM,CAAC,CAACC,WAAa,CAACd,gBAAgBc;oBAC/D,CAAA;YACF;QACF,IACAb;QAEN,OAAO;eAAIM;YAAWC;SAAe;IACvC,GAAG,EAAE;IAEL,OAAOH;AACT,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { FieldMap, MappedField } from '../../providers/ComponentMap/buildComponentMap/types.js';
1
+ import type { FieldMap, MappedField } from 'payload';
2
2
  import type { ColumnPreferences } from '../../providers/ListInfo/index.js';
3
3
  export declare function fieldAffectsData(field: MappedField): boolean;
4
4
  export declare const getInitialColumns: (fieldMap: FieldMap, useAsTitle: string, defaultColumns: string[]) => ColumnPreferences;
@@ -1 +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,aAClB,QAAQ,cACN,MAAM,kBACF,MAAM,EAAE,KACvB,iBAoBF,CAAA"}
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,SAAS,CAAA;AAEpD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE5D;AA4BD,eAAO,MAAM,iBAAiB,aAClB,QAAQ,cACN,MAAM,kBACF,MAAM,EAAE,KACvB,iBAoBF,CAAA"}
@@ -1 +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"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/getInitialColumns.ts"],"sourcesContent":["import type { FieldMap, MappedField } from 'payload'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\n\nexport function fieldAffectsData(field: MappedField): boolean {\n return 'name' in field && field.type !== 'ui'\n}\n\nconst getRemainingColumns = (fieldMap: FieldMap, useAsTitle: string): ColumnPreferences =>\n fieldMap.reduce((remaining, field) => {\n if (fieldAffectsData(field) && field.name === useAsTitle) {\n return remaining\n }\n\n if (!fieldAffectsData(field) && 'fieldMap' in field.fieldComponentProps) {\n return [...remaining, ...getRemainingColumns(field.fieldComponentProps.fieldMap, useAsTitle)]\n }\n\n if (field.type === 'tabs' && 'tabs' in field.fieldComponentProps) {\n return [\n ...remaining,\n ...field.fieldComponentProps.tabs.reduce(\n (tabFieldColumns, tab) => [\n ...tabFieldColumns,\n ...('name' in tab ? [tab.name] : getRemainingColumns(tab.fieldMap, useAsTitle)),\n ],\n [],\n ),\n ]\n }\n\n return [...remaining, field.name]\n }, [])\n\nexport const getInitialColumns = (\n fieldMap: FieldMap,\n useAsTitle: string,\n defaultColumns: string[],\n): ColumnPreferences => {\n let initialColumns = []\n\n if (Array.isArray(defaultColumns) && defaultColumns.length >= 1) {\n initialColumns = defaultColumns\n } else {\n if (useAsTitle) {\n initialColumns.push(useAsTitle)\n }\n\n const remainingColumns = getRemainingColumns(fieldMap, useAsTitle)\n\n initialColumns = initialColumns.concat(remainingColumns)\n initialColumns = initialColumns.slice(0, 4)\n }\n\n return initialColumns.map((column) => ({\n accessor: column,\n active: true,\n }))\n}\n"],"names":["fieldAffectsData","field","type","getRemainingColumns","fieldMap","useAsTitle","reduce","remaining","name","fieldComponentProps","tabs","tabFieldColumns","tab","getInitialColumns","defaultColumns","initialColumns","Array","isArray","length","push","remainingColumns","concat","slice","map","column","accessor","active"],"mappings":"AAIA,OAAO,SAASA,iBAAiBC,KAAkB;IACjD,OAAO,UAAUA,SAASA,MAAMC,IAAI,KAAK;AAC3C;AAEA,MAAMC,sBAAsB,CAACC,UAAoBC,aAC/CD,SAASE,MAAM,CAAC,CAACC,WAAWN;QAC1B,IAAID,iBAAiBC,UAAUA,MAAMO,IAAI,KAAKH,YAAY;YACxD,OAAOE;QACT;QAEA,IAAI,CAACP,iBAAiBC,UAAU,cAAcA,MAAMQ,mBAAmB,EAAE;YACvE,OAAO;mBAAIF;mBAAcJ,oBAAoBF,MAAMQ,mBAAmB,CAACL,QAAQ,EAAEC;aAAY;QAC/F;QAEA,IAAIJ,MAAMC,IAAI,KAAK,UAAU,UAAUD,MAAMQ,mBAAmB,EAAE;YAChE,OAAO;mBACFF;mBACAN,MAAMQ,mBAAmB,CAACC,IAAI,CAACJ,MAAM,CACtC,CAACK,iBAAiBC,MAAQ;2BACrBD;2BACC,UAAUC,MAAM;4BAACA,IAAIJ,IAAI;yBAAC,GAAGL,oBAAoBS,IAAIR,QAAQ,EAAEC;qBACpE,EACD,EAAE;aAEL;QACH;QAEA,OAAO;eAAIE;YAAWN,MAAMO,IAAI;SAAC;IACnC,GAAG,EAAE;AAEP,OAAO,MAAMK,oBAAoB,CAC/BT,UACAC,YACAS;IAEA,IAAIC,iBAAiB,EAAE;IAEvB,IAAIC,MAAMC,OAAO,CAACH,mBAAmBA,eAAeI,MAAM,IAAI,GAAG;QAC/DH,iBAAiBD;IACnB,OAAO;QACL,IAAIT,YAAY;YACdU,eAAeI,IAAI,CAACd;QACtB;QAEA,MAAMe,mBAAmBjB,oBAAoBC,UAAUC;QAEvDU,iBAAiBA,eAAeM,MAAM,CAACD;QACvCL,iBAAiBA,eAAeO,KAAK,CAAC,GAAG;IAC3C;IAEA,OAAOP,eAAeQ,GAAG,CAAC,CAACC,SAAY,CAAA;YACrCC,UAAUD;YACVE,QAAQ;QACV,CAAA;AACF,EAAC"}
@@ -2,9 +2,12 @@
2
2
 
3
3
  .thumbnail-card {
4
4
  @include btn-reset;
5
- @include shadow;
5
+ @include shadow-m;
6
6
  width: 100%;
7
7
  background: var(--theme-input-bg);
8
+ border: 1px solid var(--theme-border-color);
9
+ border-radius: var(--style-radius-m);
10
+ transition: border 100ms cubic-bezier(0, 0.2, 0.2, 1);
8
11
 
9
12
  &__label {
10
13
  padding: base(0.5);
@@ -16,6 +19,12 @@
16
19
 
17
20
  &--has-on-click {
18
21
  cursor: pointer;
22
+
23
+ &:hover,
24
+ &:focus,
25
+ &:active {
26
+ border: 1px solid var(--theme-elevation-350);
27
+ }
19
28
  }
20
29
 
21
30
  &--align-label-center {
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGnE,OAAO,KAAmD,MAAM,OAAO,CAAA;AAiBvE,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBA8BnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwRxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAe,MAAM,SAAS,CAAA;AAIhF,OAAO,KAAmD,MAAM,OAAO,CAAA;AAevE,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,KAAK,iBAAiB,GAAG;IACvB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,iBAAiB,EAAE,OAAO,CAAA;IAC1B,kBAAkB,EAAE,OAAO,CAAA;IAC3B,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAED,eAAO,MAAM,aAAa,wEAKvB,iBAAiB,sBA8BnB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,EAAE,CAAA;IACjC,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CAwQxC,CAAA"}