@payloadcms/ui 3.0.0-canary.4704e79 → 3.0.0-canary.4de9e42

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 (741) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  4. package/dist/elements/AppHeader/index.js +5 -1
  5. package/dist/elements/AppHeader/index.js.map +1 -1
  6. package/dist/elements/ArrayAction/index.js.map +1 -1
  7. package/dist/elements/Autosave/index.d.ts.map +1 -1
  8. package/dist/elements/Autosave/index.js +46 -27
  9. package/dist/elements/Autosave/index.js.map +1 -1
  10. package/dist/elements/Banner/index.js.map +1 -1
  11. package/dist/elements/Banner/index.scss +4 -4
  12. package/dist/elements/Button/index.js.map +1 -1
  13. package/dist/elements/Button/types.js.map +1 -1
  14. package/dist/elements/Card/index.js.map +1 -1
  15. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  16. package/dist/elements/CodeEditor/index.js.map +1 -1
  17. package/dist/elements/CodeEditor/types.d.ts +2 -2
  18. package/dist/elements/CodeEditor/types.d.ts.map +1 -1
  19. package/dist/elements/CodeEditor/types.js.map +1 -1
  20. package/dist/elements/Collapsible/index.js.map +1 -1
  21. package/dist/elements/Collapsible/index.scss +13 -47
  22. package/dist/elements/Collapsible/provider.js.map +1 -1
  23. package/dist/elements/ColumnSelector/index.js.map +1 -1
  24. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  25. package/dist/elements/DatePicker/DatePicker.d.ts +2 -2
  26. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  27. package/dist/elements/DatePicker/DatePicker.js +2 -2
  28. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  29. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  30. package/dist/elements/DatePicker/index.js.map +1 -1
  31. package/dist/elements/DatePicker/index.scss +3 -1
  32. package/dist/elements/DatePicker/types.d.ts +2 -2
  33. package/dist/elements/DatePicker/types.d.ts.map +1 -1
  34. package/dist/elements/DatePicker/types.js.map +1 -1
  35. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  36. package/dist/elements/DeleteDocument/index.js +7 -3
  37. package/dist/elements/DeleteDocument/index.js.map +1 -1
  38. package/dist/elements/DeleteDocument/index.scss +1 -0
  39. package/dist/elements/DeleteMany/index.js.map +1 -1
  40. package/dist/elements/DeleteMany/index.scss +1 -0
  41. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  42. package/dist/elements/DocumentControls/index.js +5 -1
  43. package/dist/elements/DocumentControls/index.js.map +1 -1
  44. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  45. package/dist/elements/DocumentDrawer/DrawerContent.js +0 -6
  46. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  47. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  48. package/dist/elements/DocumentDrawer/types.d.ts +4 -4
  49. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  50. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  51. package/dist/elements/DocumentFields/index.js.map +1 -1
  52. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts +2 -2
  53. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  54. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  55. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +4 -4
  56. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  57. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  58. package/dist/elements/DraggableSortable/index.js.map +1 -1
  59. package/dist/elements/DraggableSortable/types.js.map +1 -1
  60. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  61. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  62. package/dist/elements/Drawer/index.js.map +1 -1
  63. package/dist/elements/Drawer/types.d.ts +2 -2
  64. package/dist/elements/Drawer/types.d.ts.map +1 -1
  65. package/dist/elements/Drawer/types.js.map +1 -1
  66. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  67. package/dist/elements/Dropzone/index.d.ts +1 -0
  68. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  69. package/dist/elements/Dropzone/index.js +8 -1
  70. package/dist/elements/Dropzone/index.js.map +1 -1
  71. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  72. package/dist/elements/DuplicateDocument/index.js +10 -6
  73. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  74. package/dist/elements/EditMany/index.js.map +1 -1
  75. package/dist/elements/EditUpload/index.d.ts +3 -6
  76. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  77. package/dist/elements/EditUpload/index.js +33 -21
  78. package/dist/elements/EditUpload/index.js.map +1 -1
  79. package/dist/elements/ErrorPill/index.js.map +1 -1
  80. package/dist/elements/ErrorPill/index.scss +2 -14
  81. package/dist/elements/FieldSelect/index.d.ts +7 -2
  82. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  83. package/dist/elements/FieldSelect/index.js +1 -1
  84. package/dist/elements/FieldSelect/index.js.map +1 -1
  85. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  86. package/dist/elements/FileDetails/index.d.ts +4 -3
  87. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  88. package/dist/elements/FileDetails/index.js +6 -5
  89. package/dist/elements/FileDetails/index.js.map +1 -1
  90. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  91. package/dist/elements/GenerateConfirmation/index.scss +1 -0
  92. package/dist/elements/Gutter/index.js.map +1 -1
  93. package/dist/elements/Hamburger/index.js.map +1 -1
  94. package/dist/elements/HydrateClientUser/index.d.ts +2 -3
  95. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  96. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  97. package/dist/elements/IDLabel/index.js.map +1 -1
  98. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  99. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  100. package/dist/elements/ListControls/index.d.ts.map +1 -1
  101. package/dist/elements/ListControls/index.js +40 -4
  102. package/dist/elements/ListControls/index.js.map +1 -1
  103. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  104. package/dist/elements/ListDrawer/index.js.map +1 -1
  105. package/dist/elements/ListDrawer/types.d.ts +2 -2
  106. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  107. package/dist/elements/ListDrawer/types.js.map +1 -1
  108. package/dist/elements/ListSelection/index.js.map +1 -1
  109. package/dist/elements/Loading/index.js.map +1 -1
  110. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  111. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  112. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  113. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  114. package/dist/elements/Localizer/index.d.ts.map +1 -1
  115. package/dist/elements/Localizer/index.js +6 -13
  116. package/dist/elements/Localizer/index.js.map +1 -1
  117. package/dist/elements/Logout/index.d.ts.map +1 -1
  118. package/dist/elements/Logout/index.js +6 -3
  119. package/dist/elements/Logout/index.js.map +1 -1
  120. package/dist/elements/Modal/index.js.map +1 -1
  121. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  122. package/dist/elements/Nav/context.js.map +1 -1
  123. package/dist/elements/NavGroup/index.js.map +1 -1
  124. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  125. package/dist/elements/Pagination/Page/index.js.map +1 -1
  126. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  127. package/dist/elements/Pagination/index.js.map +1 -1
  128. package/dist/elements/PerPage/index.js.map +1 -1
  129. package/dist/elements/Pill/index.d.ts +2 -2
  130. package/dist/elements/Pill/index.d.ts.map +1 -1
  131. package/dist/elements/Pill/index.js.map +1 -1
  132. package/dist/elements/Pill/index.scss +9 -21
  133. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  134. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  135. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  136. package/dist/elements/Popup/index.js.map +1 -1
  137. package/dist/elements/PreviewButton/index.js.map +1 -1
  138. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  139. package/dist/elements/PreviewSizes/index.d.ts +4 -4
  140. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  141. package/dist/elements/PreviewSizes/index.js.map +1 -1
  142. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  143. package/dist/elements/PublishButton/index.js +16 -0
  144. package/dist/elements/PublishButton/index.js.map +1 -1
  145. package/dist/elements/PublishMany/index.js.map +1 -1
  146. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  147. package/dist/elements/ReactSelect/Control/index.js +0 -1
  148. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  149. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -2
  150. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  151. package/dist/elements/ReactSelect/DropdownIndicator/index.js +1 -1
  152. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  153. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  154. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  155. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  156. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +2 -2
  157. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  158. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  159. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  160. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  161. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  162. package/dist/elements/ReactSelect/index.js +0 -1
  163. package/dist/elements/ReactSelect/index.js.map +1 -1
  164. package/dist/elements/ReactSelect/index.scss +9 -2
  165. package/dist/elements/ReactSelect/types.d.ts +1 -2
  166. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  167. package/dist/elements/ReactSelect/types.js.map +1 -1
  168. package/dist/elements/RenderCustomClientComponent/index.js.map +1 -1
  169. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  170. package/dist/elements/RenderTitle/index.js.map +1 -1
  171. package/dist/elements/SaveButton/index.js.map +1 -1
  172. package/dist/elements/SaveDraftButton/index.d.ts +1 -0
  173. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  174. package/dist/elements/SaveDraftButton/index.js +1 -1
  175. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  176. package/dist/elements/SearchFilter/index.d.ts +5 -3
  177. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  178. package/dist/elements/SearchFilter/index.js +14 -53
  179. package/dist/elements/SearchFilter/index.js.map +1 -1
  180. package/dist/elements/SelectAll/index.js.map +1 -1
  181. package/dist/elements/SelectRow/index.js.map +1 -1
  182. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  183. package/dist/elements/SortColumn/index.js.map +1 -1
  184. package/dist/elements/SortComplex/index.js +2 -2
  185. package/dist/elements/SortComplex/index.js.map +1 -1
  186. package/dist/elements/Status/index.js.map +1 -1
  187. package/dist/elements/Status/index.scss +1 -0
  188. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  189. package/dist/elements/StayLoggedIn/index.js +6 -2
  190. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  191. package/dist/elements/StepNav/SetStepNav.d.ts +0 -1
  192. package/dist/elements/StepNav/SetStepNav.d.ts.map +1 -1
  193. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  194. package/dist/elements/StepNav/context.js.map +1 -1
  195. package/dist/elements/StepNav/index.d.ts.map +1 -1
  196. package/dist/elements/StepNav/index.js +1 -1
  197. package/dist/elements/StepNav/index.js.map +1 -1
  198. package/dist/elements/StepNav/types.js.map +1 -1
  199. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  200. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  201. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  202. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  203. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  204. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  205. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  206. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  207. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +0 -1
  208. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  209. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  210. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  211. package/dist/elements/Table/DefaultCell/fields/index.d.ts +4 -5
  212. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  214. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  215. package/dist/elements/Table/DefaultCell/index.js +5 -1
  216. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  217. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  218. package/dist/elements/Table/RelationshipProvider/index.js +11 -10
  219. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  220. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  221. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  222. package/dist/elements/Table/index.js.map +1 -1
  223. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  224. package/dist/elements/TableColumns/buildColumnState.js +0 -1
  225. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  226. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  227. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  228. package/dist/elements/TableColumns/getInitialColumns.d.ts.map +1 -1
  229. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  230. package/dist/elements/TableColumns/index.js.map +1 -1
  231. package/dist/elements/Thumbnail/index.js.map +1 -1
  232. package/dist/elements/ThumbnailCard/index.d.ts +2 -2
  233. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  234. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  235. package/dist/elements/Tooltip/index.js.map +1 -1
  236. package/dist/elements/Translation/index.js.map +1 -1
  237. package/dist/elements/UnpublishMany/index.js.map +1 -1
  238. package/dist/elements/Upload/index.d.ts +9 -5
  239. package/dist/elements/Upload/index.d.ts.map +1 -1
  240. package/dist/elements/Upload/index.js +154 -70
  241. package/dist/elements/Upload/index.js.map +1 -1
  242. package/dist/elements/Upload/index.scss +6 -3
  243. package/dist/elements/ViewDescription/index.js.map +1 -1
  244. package/dist/elements/ViewDescription/types.js.map +1 -1
  245. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  246. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  247. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  248. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  249. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  250. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +8 -8
  251. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  252. package/dist/elements/WhereBuilder/Condition/Relationship/index.scss +2 -2
  253. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  254. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  255. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  256. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  257. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  258. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  259. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  260. package/dist/elements/WhereBuilder/Condition/index.js +5 -3
  261. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  262. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  263. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  264. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  265. package/dist/elements/WhereBuilder/index.js +12 -6
  266. package/dist/elements/WhereBuilder/index.js.map +1 -1
  267. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +13 -2
  268. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  269. package/dist/elements/WhereBuilder/reduceFieldMap.js +80 -16
  270. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  271. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  272. package/dist/elements/WhereBuilder/types.d.ts +2 -0
  273. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  274. package/dist/elements/WhereBuilder/types.js.map +1 -1
  275. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
  276. package/dist/elements/WhereBuilder/validateWhereQuery.js +0 -1
  277. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  278. package/dist/elements/WindowInfo/index.js.map +1 -1
  279. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  280. package/dist/elements/withMergedProps/index.js +8 -2
  281. package/dist/elements/withMergedProps/index.js.map +1 -1
  282. package/dist/exports/client/{CodeEditor-UTZFZWZG.js → CodeEditor-OI35YO7H.js} +1 -1
  283. package/dist/exports/client/{CodeEditor-UTZFZWZG.js.map → CodeEditor-OI35YO7H.js.map} +1 -1
  284. package/dist/exports/client/DatePicker-5IFHNQHA.js +14 -0
  285. package/dist/exports/client/DatePicker-5IFHNQHA.js.map +8 -0
  286. package/dist/exports/client/chunk-WDFUZ6GL.js +30 -0
  287. package/dist/exports/client/chunk-WDFUZ6GL.js.map +8 -0
  288. package/dist/exports/client/index.d.ts +36 -26
  289. package/dist/exports/client/index.d.ts.map +1 -1
  290. package/dist/exports/client/index.js +13 -19
  291. package/dist/exports/client/index.js.map +4 -4
  292. package/dist/exports/shared/index.d.ts +3 -2
  293. package/dist/exports/shared/index.d.ts.map +1 -1
  294. package/dist/exports/shared/index.js +2 -12
  295. package/dist/exports/shared/index.js.map +4 -4
  296. package/dist/fields/Array/ArrayRow.d.ts +2 -2
  297. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  298. package/dist/fields/Array/ArrayRow.js.map +1 -1
  299. package/dist/fields/Array/index.d.ts +2 -2
  300. package/dist/fields/Array/index.d.ts.map +1 -1
  301. package/dist/fields/Array/index.js.map +1 -1
  302. package/dist/fields/Blocks/BlockRow.d.ts +2 -2
  303. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  304. package/dist/fields/Blocks/BlockRow.js +5 -1
  305. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  306. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  307. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  308. package/dist/fields/Blocks/RowActions.js.map +1 -1
  309. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  310. package/dist/fields/Blocks/index.d.ts +2 -2
  311. package/dist/fields/Blocks/index.d.ts.map +1 -1
  312. package/dist/fields/Blocks/index.js.map +1 -1
  313. package/dist/fields/Checkbox/Input.js.map +1 -1
  314. package/dist/fields/Checkbox/index.d.ts +1 -1
  315. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  316. package/dist/fields/Checkbox/index.js +4 -3
  317. package/dist/fields/Checkbox/index.js.map +1 -1
  318. package/dist/fields/Checkbox/index.scss +2 -1
  319. package/dist/fields/Checkbox/types.d.ts +2 -2
  320. package/dist/fields/Checkbox/types.d.ts.map +1 -1
  321. package/dist/fields/Checkbox/types.js.map +1 -1
  322. package/dist/fields/Code/index.d.ts +3 -3
  323. package/dist/fields/Code/index.d.ts.map +1 -1
  324. package/dist/fields/Code/index.js +3 -3
  325. package/dist/fields/Code/index.js.map +1 -1
  326. package/dist/fields/Code/index.scss +3 -21
  327. package/dist/fields/Collapsible/index.d.ts +3 -3
  328. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  329. package/dist/fields/Collapsible/index.js +2 -2
  330. package/dist/fields/Collapsible/index.js.map +1 -1
  331. package/dist/fields/Collapsible/index.scss +0 -4
  332. package/dist/fields/ConfirmPassword/index.d.ts +1 -1
  333. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  334. package/dist/fields/ConfirmPassword/index.js +1 -1
  335. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  336. package/dist/fields/DateTime/index.d.ts +3 -3
  337. package/dist/fields/DateTime/index.d.ts.map +1 -1
  338. package/dist/fields/DateTime/index.js +3 -3
  339. package/dist/fields/DateTime/index.js.map +1 -1
  340. package/dist/fields/Email/index.d.ts +3 -3
  341. package/dist/fields/Email/index.d.ts.map +1 -1
  342. package/dist/fields/Email/index.js +2 -2
  343. package/dist/fields/Email/index.js.map +1 -1
  344. package/dist/fields/FieldDescription/index.js.map +1 -1
  345. package/dist/fields/FieldError/index.js.map +1 -1
  346. package/dist/fields/FieldError/index.scss +6 -5
  347. package/dist/fields/FieldLabel/index.js.map +1 -1
  348. package/dist/fields/Group/index.d.ts +4 -3
  349. package/dist/fields/Group/index.d.ts.map +1 -1
  350. package/dist/fields/Group/index.js +2 -2
  351. package/dist/fields/Group/index.js.map +1 -1
  352. package/dist/fields/Group/provider.js.map +1 -1
  353. package/dist/fields/{HiddenInput → Hidden}/index.d.ts +3 -3
  354. package/dist/fields/Hidden/index.d.ts.map +1 -0
  355. package/dist/fields/{HiddenInput → Hidden}/index.js +2 -2
  356. package/dist/fields/Hidden/index.js.map +1 -0
  357. package/dist/fields/JSON/index.d.ts +2 -2
  358. package/dist/fields/JSON/index.d.ts.map +1 -1
  359. package/dist/fields/JSON/index.js +2 -7
  360. package/dist/fields/JSON/index.js.map +1 -1
  361. package/dist/fields/JSON/index.scss +6 -25
  362. package/dist/fields/Number/index.d.ts +2 -2
  363. package/dist/fields/Number/index.d.ts.map +1 -1
  364. package/dist/fields/Number/index.js +3 -5
  365. package/dist/fields/Number/index.js.map +1 -1
  366. package/dist/fields/Password/index.d.ts +3 -3
  367. package/dist/fields/Password/index.d.ts.map +1 -1
  368. package/dist/fields/Password/index.js +2 -2
  369. package/dist/fields/Password/index.js.map +1 -1
  370. package/dist/fields/Point/index.d.ts +4 -3
  371. package/dist/fields/Point/index.d.ts.map +1 -1
  372. package/dist/fields/Point/index.js +8 -8
  373. package/dist/fields/Point/index.js.map +1 -1
  374. package/dist/fields/Point/index.scss +4 -0
  375. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  376. package/dist/fields/RadioGroup/index.d.ts +3 -3
  377. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  378. package/dist/fields/RadioGroup/index.js +9 -8
  379. package/dist/fields/RadioGroup/index.js.map +1 -1
  380. package/dist/fields/RadioGroup/index.scss +7 -0
  381. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  382. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  383. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  384. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  385. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  386. package/dist/fields/Relationship/index.d.ts +1 -1
  387. package/dist/fields/Relationship/index.d.ts.map +1 -1
  388. package/dist/fields/Relationship/index.js +3 -3
  389. package/dist/fields/Relationship/index.js.map +1 -1
  390. package/dist/fields/Relationship/index.scss +2 -2
  391. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  392. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  393. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  394. package/dist/fields/Relationship/types.d.ts +2 -2
  395. package/dist/fields/Relationship/types.d.ts.map +1 -1
  396. package/dist/fields/Relationship/types.js.map +1 -1
  397. package/dist/fields/RichText/index.d.ts +3 -3
  398. package/dist/fields/RichText/index.d.ts.map +1 -1
  399. package/dist/fields/RichText/index.js +1 -1
  400. package/dist/fields/RichText/index.js.map +1 -1
  401. package/dist/fields/Row/index.d.ts +2 -1
  402. package/dist/fields/Row/index.d.ts.map +1 -1
  403. package/dist/fields/Row/index.js +2 -2
  404. package/dist/fields/Row/index.js.map +1 -1
  405. package/dist/fields/Row/provider.js.map +1 -1
  406. package/dist/fields/Row/types.d.ts +2 -2
  407. package/dist/fields/Row/types.d.ts.map +1 -1
  408. package/dist/fields/Row/types.js.map +1 -1
  409. package/dist/fields/Select/Input.d.ts +2 -2
  410. package/dist/fields/Select/Input.d.ts.map +1 -1
  411. package/dist/fields/Select/Input.js +0 -5
  412. package/dist/fields/Select/Input.js.map +1 -1
  413. package/dist/fields/Select/index.d.ts +3 -3
  414. package/dist/fields/Select/index.d.ts.map +1 -1
  415. package/dist/fields/Select/index.js +7 -5
  416. package/dist/fields/Select/index.js.map +1 -1
  417. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  418. package/dist/fields/Tabs/index.d.ts +3 -3
  419. package/dist/fields/Tabs/index.d.ts.map +1 -1
  420. package/dist/fields/Tabs/index.js +2 -2
  421. package/dist/fields/Tabs/index.js.map +1 -1
  422. package/dist/fields/Tabs/provider.js.map +1 -1
  423. package/dist/fields/Text/Input.js.map +1 -1
  424. package/dist/fields/Text/index.d.ts +1 -1
  425. package/dist/fields/Text/index.d.ts.map +1 -1
  426. package/dist/fields/Text/index.js +2 -2
  427. package/dist/fields/Text/index.js.map +1 -1
  428. package/dist/fields/Text/types.d.ts +4 -4
  429. package/dist/fields/Text/types.d.ts.map +1 -1
  430. package/dist/fields/Text/types.js.map +1 -1
  431. package/dist/fields/Textarea/Input.js.map +1 -1
  432. package/dist/fields/Textarea/index.d.ts +1 -1
  433. package/dist/fields/Textarea/index.d.ts.map +1 -1
  434. package/dist/fields/Textarea/index.js +3 -3
  435. package/dist/fields/Textarea/index.js.map +1 -1
  436. package/dist/fields/Textarea/types.d.ts +4 -4
  437. package/dist/fields/Textarea/types.d.ts.map +1 -1
  438. package/dist/fields/Textarea/types.js.map +1 -1
  439. package/dist/fields/UI/index.d.ts +1 -1
  440. package/dist/fields/UI/index.d.ts.map +1 -1
  441. package/dist/fields/UI/index.js +1 -1
  442. package/dist/fields/UI/index.js.map +1 -1
  443. package/dist/fields/Upload/Input.d.ts +3 -2
  444. package/dist/fields/Upload/Input.d.ts.map +1 -1
  445. package/dist/fields/Upload/Input.js +2 -1
  446. package/dist/fields/Upload/Input.js.map +1 -1
  447. package/dist/fields/Upload/index.d.ts +1 -1
  448. package/dist/fields/Upload/index.d.ts.map +1 -1
  449. package/dist/fields/Upload/index.js +1 -1
  450. package/dist/fields/Upload/index.js.map +1 -1
  451. package/dist/fields/Upload/types.d.ts +2 -2
  452. package/dist/fields/Upload/types.d.ts.map +1 -1
  453. package/dist/fields/Upload/types.js.map +1 -1
  454. package/dist/fields/index.js +48 -48
  455. package/dist/fields/index.js.map +1 -1
  456. package/dist/fields/shared/index.d.ts +0 -1
  457. package/dist/fields/shared/index.d.ts.map +1 -1
  458. package/dist/fields/shared/index.js.map +1 -1
  459. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  460. package/dist/forms/Form/context.d.ts +0 -1
  461. package/dist/forms/Form/context.d.ts.map +1 -1
  462. package/dist/forms/Form/context.js.map +1 -1
  463. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  464. package/dist/forms/Form/errorMessages.js.map +1 -1
  465. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  466. package/dist/forms/Form/fieldReducer.js +8 -5
  467. package/dist/forms/Form/fieldReducer.js.map +1 -1
  468. package/dist/forms/Form/index.d.ts.map +1 -1
  469. package/dist/forms/Form/index.js +10 -23
  470. package/dist/forms/Form/index.js.map +1 -1
  471. package/dist/forms/Form/initContextState.js.map +1 -1
  472. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  473. package/dist/forms/Form/mergeServerFormState.js +2 -2
  474. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  475. package/dist/forms/Form/rows.js.map +1 -1
  476. package/dist/forms/Form/types.d.ts +7 -7
  477. package/dist/forms/Form/types.d.ts.map +1 -1
  478. package/dist/forms/Form/types.js.map +1 -1
  479. package/dist/forms/NullifyField/index.js +2 -2
  480. package/dist/forms/NullifyField/index.js.map +1 -1
  481. package/dist/forms/RenderFields/RenderField.js +2 -2
  482. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  483. package/dist/forms/RenderFields/index.js.map +1 -1
  484. package/dist/forms/RenderFields/index.scss +7 -4
  485. package/dist/forms/RenderFields/types.js.map +1 -1
  486. package/dist/forms/RowLabel/Context/index.d.ts +2 -2
  487. package/dist/forms/RowLabel/Context/index.d.ts.map +1 -1
  488. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  489. package/dist/forms/RowLabel/index.js.map +1 -1
  490. package/dist/forms/RowLabel/types.js.map +1 -1
  491. package/dist/forms/Submit/index.js.map +1 -1
  492. package/dist/forms/WatchChildErrors/buildPathSegments.d.ts.map +1 -1
  493. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  494. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  495. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  496. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  497. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +2 -2
  498. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  499. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -1
  500. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  501. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js +1 -1
  502. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  503. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  504. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  505. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  506. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  507. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  508. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  509. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +2 -2
  510. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  511. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  512. package/dist/forms/buildStateFromSchema/index.d.ts +4 -3
  513. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  514. package/dist/forms/buildStateFromSchema/index.js +1 -0
  515. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  516. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
  517. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  518. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  519. package/dist/forms/useField/index.d.ts.map +1 -1
  520. package/dist/forms/useField/index.js.map +1 -1
  521. package/dist/forms/useField/types.js.map +1 -1
  522. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  523. package/dist/forms/withCondition/index.d.ts.map +1 -1
  524. package/dist/forms/withCondition/index.js.map +1 -1
  525. package/dist/graphics/Account/Default/index.js.map +1 -1
  526. package/dist/graphics/Account/Gravatar/index.d.ts.map +1 -1
  527. package/dist/graphics/Account/Gravatar/index.js +4 -4
  528. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  529. package/dist/graphics/Account/index.d.ts.map +1 -1
  530. package/dist/graphics/Account/index.js +5 -1
  531. package/dist/graphics/Account/index.js.map +1 -1
  532. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  533. package/dist/graphics/ExternalLink/index.js.map +1 -1
  534. package/dist/graphics/File/index.js.map +1 -1
  535. package/dist/graphics/Icon/index.js.map +1 -1
  536. package/dist/graphics/Logo/index.js.map +1 -1
  537. package/dist/hooks/useDebounce.js.map +1 -1
  538. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  539. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  540. package/dist/hooks/useDelay.d.ts.map +1 -1
  541. package/dist/hooks/useDelay.js.map +1 -1
  542. package/dist/hooks/useDelayedRender.js.map +1 -1
  543. package/dist/hooks/useHotkey.js +1 -1
  544. package/dist/hooks/useHotkey.js.map +1 -1
  545. package/dist/hooks/useIntersect.d.ts +0 -1
  546. package/dist/hooks/useIntersect.d.ts.map +1 -1
  547. package/dist/hooks/useIntersect.js +1 -1
  548. package/dist/hooks/useIntersect.js.map +1 -1
  549. package/dist/hooks/usePayloadAPI.d.ts +0 -1
  550. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  551. package/dist/hooks/usePayloadAPI.js +2 -2
  552. package/dist/hooks/usePayloadAPI.js.map +1 -1
  553. package/dist/hooks/useResize.js.map +1 -1
  554. package/dist/hooks/useThrottledEffect.d.ts +0 -1
  555. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  556. package/dist/hooks/useThrottledEffect.js +1 -1
  557. package/dist/hooks/useThrottledEffect.js.map +1 -1
  558. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  559. package/dist/hooks/useUseAsTitle.js.map +1 -1
  560. package/dist/icons/Calendar/index.js.map +1 -1
  561. package/dist/icons/Check/index.js.map +1 -1
  562. package/dist/icons/Chevron/index.js.map +1 -1
  563. package/dist/icons/CloseMenu/index.js.map +1 -1
  564. package/dist/icons/CodeBlock/index.js.map +1 -1
  565. package/dist/icons/Copy/index.js.map +1 -1
  566. package/dist/icons/DragHandle/index.js.map +1 -1
  567. package/dist/icons/Edit/index.js.map +1 -1
  568. package/dist/icons/Line/index.js.map +1 -1
  569. package/dist/icons/Link/index.js.map +1 -1
  570. package/dist/icons/LogOut/index.js.map +1 -1
  571. package/dist/icons/Menu/index.js.map +1 -1
  572. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  573. package/dist/icons/More/index.js.map +1 -1
  574. package/dist/icons/Plus/index.js.map +1 -1
  575. package/dist/icons/Search/index.js.map +1 -1
  576. package/dist/icons/Swap/index.js.map +1 -1
  577. package/dist/icons/X/index.js.map +1 -1
  578. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  579. package/dist/providers/Actions/index.js.map +1 -1
  580. package/dist/providers/Auth/index.d.ts +2 -0
  581. package/dist/providers/Auth/index.d.ts.map +1 -1
  582. package/dist/providers/Auth/index.js +24 -48
  583. package/dist/providers/Auth/index.js.map +1 -1
  584. package/dist/providers/ClientFunction/index.js.map +1 -1
  585. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  586. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -3
  587. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  588. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +1 -1
  589. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  590. package/dist/providers/ComponentMap/buildComponentMap/collections.js +17 -12
  591. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  592. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  593. package/dist/providers/ComponentMap/buildComponentMap/fields.js +4 -2
  594. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  595. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +1 -1
  596. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  597. package/dist/providers/ComponentMap/buildComponentMap/globals.js +1 -0
  598. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  599. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +1 -1
  600. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  601. package/dist/providers/ComponentMap/buildComponentMap/index.js +2 -2
  602. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  603. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +6 -5
  604. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  605. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  606. package/dist/providers/ComponentMap/index.js.map +1 -1
  607. package/dist/providers/Config/index.js.map +1 -1
  608. package/dist/providers/DocumentEvents/index.js.map +1 -1
  609. package/dist/providers/DocumentInfo/index.d.ts +2 -2
  610. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  611. package/dist/providers/DocumentInfo/index.js +55 -17
  612. package/dist/providers/DocumentInfo/index.js.map +1 -1
  613. package/dist/providers/DocumentInfo/types.d.ts +6 -6
  614. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  615. package/dist/providers/DocumentInfo/types.js.map +1 -1
  616. package/dist/providers/EditDepth/index.js.map +1 -1
  617. package/dist/providers/EntityVisibility/index.js.map +1 -1
  618. package/dist/providers/FieldComponents/index.js.map +1 -1
  619. package/dist/providers/ListInfo/index.d.ts +2 -2
  620. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  621. package/dist/providers/ListInfo/index.js.map +1 -1
  622. package/dist/providers/ListQuery/index.d.ts +2 -2
  623. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  624. package/dist/providers/ListQuery/index.js +1 -1
  625. package/dist/providers/ListQuery/index.js.map +1 -1
  626. package/dist/providers/Locale/index.js.map +1 -1
  627. package/dist/providers/Operation/index.js.map +1 -1
  628. package/dist/providers/Params/index.js.map +1 -1
  629. package/dist/providers/Preferences/index.js +3 -3
  630. package/dist/providers/Preferences/index.js.map +1 -1
  631. package/dist/providers/Root/index.js.map +1 -1
  632. package/dist/providers/RouteCache/index.js.map +1 -1
  633. package/dist/providers/ScrollInfo/index.d.ts +0 -1
  634. package/dist/providers/ScrollInfo/index.d.ts.map +1 -1
  635. package/dist/providers/ScrollInfo/index.js.map +1 -1
  636. package/dist/providers/SearchParams/index.d.ts +1 -1
  637. package/dist/providers/SearchParams/index.d.ts.map +1 -1
  638. package/dist/providers/SearchParams/index.js +1 -1
  639. package/dist/providers/SearchParams/index.js.map +1 -1
  640. package/dist/providers/Selection/index.js +2 -2
  641. package/dist/providers/Selection/index.js.map +1 -1
  642. package/dist/providers/Theme/index.js.map +1 -1
  643. package/dist/providers/ToastContainer/icons/Error.js +2 -2
  644. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  645. package/dist/providers/ToastContainer/icons/Info.js +2 -2
  646. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  647. package/dist/providers/ToastContainer/icons/Success.js +2 -2
  648. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  649. package/dist/providers/ToastContainer/icons/Warning.js +2 -2
  650. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  651. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  652. package/dist/providers/ToastContainer/index.js +3 -1
  653. package/dist/providers/ToastContainer/index.js.map +1 -1
  654. package/dist/providers/Translation/index.d.ts.map +1 -1
  655. package/dist/providers/Translation/index.js.map +1 -1
  656. package/dist/providers/UploadEdits/index.d.ts +12 -0
  657. package/dist/providers/UploadEdits/index.d.ts.map +1 -0
  658. package/dist/providers/UploadEdits/index.js +30 -0
  659. package/dist/providers/UploadEdits/index.js.map +1 -0
  660. package/dist/providers/WindowInfo/index.d.ts +0 -1
  661. package/dist/providers/WindowInfo/index.d.ts.map +1 -1
  662. package/dist/providers/WindowInfo/index.js.map +1 -1
  663. package/dist/scss/app.scss +2 -2
  664. package/dist/scss/colors.scss +76 -76
  665. package/dist/scss/toasts.scss +67 -44
  666. package/dist/styles.css +1 -1
  667. package/dist/utilities/api.d.ts +2 -2
  668. package/dist/utilities/api.d.ts.map +1 -1
  669. package/dist/utilities/api.js +1 -1
  670. package/dist/utilities/api.js.map +1 -1
  671. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  672. package/dist/utilities/buildComponentMap.js.map +1 -1
  673. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  674. package/dist/utilities/buildFieldSchemaMap/index.js +2 -5
  675. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  676. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +1 -2
  677. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  678. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +7 -11
  679. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  680. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
  681. package/dist/utilities/buildFormState.d.ts +4 -4
  682. package/dist/utilities/buildFormState.d.ts.map +1 -1
  683. package/dist/utilities/buildFormState.js +3 -5
  684. package/dist/utilities/buildFormState.js.map +1 -1
  685. package/dist/utilities/canUseDOM.js.map +1 -1
  686. package/dist/utilities/dateLocales.js.map +1 -1
  687. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  688. package/dist/utilities/flattenFieldMap.d.ts.map +1 -1
  689. package/dist/utilities/flattenFieldMap.js.map +1 -1
  690. package/dist/utilities/formatAdminURL.d.ts +8 -0
  691. package/dist/utilities/formatAdminURL.d.ts.map +1 -0
  692. package/dist/utilities/formatAdminURL.js +15 -0
  693. package/dist/utilities/formatAdminURL.js.map +1 -0
  694. package/dist/utilities/formatDate.js.map +1 -1
  695. package/dist/utilities/formatDocTitle.d.ts +1 -1
  696. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  697. package/dist/utilities/formatDocTitle.js.map +1 -1
  698. package/dist/utilities/formatFields.js.map +1 -1
  699. package/dist/utilities/generateFieldID.js.map +1 -1
  700. package/dist/utilities/getFormState.d.ts +2 -2
  701. package/dist/utilities/getFormState.d.ts.map +1 -1
  702. package/dist/utilities/getFormState.js.map +1 -1
  703. package/dist/utilities/getOffsetTop.js.map +1 -1
  704. package/dist/utilities/getRequestLanguage.js.map +1 -1
  705. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  706. package/dist/utilities/groupNavItems.js.map +1 -1
  707. package/dist/utilities/hasSavePermission.js.map +1 -1
  708. package/dist/utilities/isEditing.js.map +1 -1
  709. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  710. package/dist/utilities/reduceFieldsToValuesWithValidation.js +2 -5
  711. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  712. package/dist/utilities/scrollToID.js.map +1 -1
  713. package/dist/utilities/setsAreEqual.d.ts.map +1 -1
  714. package/dist/utilities/setsAreEqual.js.map +1 -1
  715. package/package.json +59 -78
  716. package/dist/exports/client/DatePicker-CBQPW5J5.js +0 -30
  717. package/dist/exports/client/DatePicker-CBQPW5J5.js.map +0 -8
  718. package/dist/exports/client/chunk-DODCWLCH.js +0 -14
  719. package/dist/exports/client/chunk-DODCWLCH.js.map +0 -8
  720. package/dist/fields/HiddenInput/index.d.ts.map +0 -1
  721. package/dist/fields/HiddenInput/index.js.map +0 -1
  722. package/dist/forms/Form/getDataByPath.d.ts +0 -3
  723. package/dist/forms/Form/getDataByPath.d.ts.map +0 -1
  724. package/dist/forms/Form/getDataByPath.js +0 -19
  725. package/dist/forms/Form/getDataByPath.js.map +0 -1
  726. package/dist/forms/Form/getSiblingData.d.ts +0 -3
  727. package/dist/forms/Form/getSiblingData.d.ts.map +0 -1
  728. package/dist/forms/Form/getSiblingData.js +0 -36
  729. package/dist/forms/Form/getSiblingData.js.map +0 -1
  730. package/dist/providers/FormQueryParams/index.d.ts +0 -13
  731. package/dist/providers/FormQueryParams/index.d.ts.map +0 -1
  732. package/dist/providers/FormQueryParams/index.js +0 -53
  733. package/dist/providers/FormQueryParams/index.js.map +0 -1
  734. package/dist/providers/FormQueryParams/types.d.ts +0 -16
  735. package/dist/providers/FormQueryParams/types.d.ts.map +0 -1
  736. package/dist/providers/FormQueryParams/types.js +0 -3
  737. package/dist/providers/FormQueryParams/types.js.map +0 -1
  738. package/dist/utilities/reduceFieldsToValues.d.ts +0 -10
  739. package/dist/utilities/reduceFieldsToValues.d.ts.map +0 -1
  740. package/dist/utilities/reduceFieldsToValues.js +0 -25
  741. package/dist/utilities/reduceFieldsToValues.js.map +0 -1
@@ -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 // eslint-disable-next-line react-hooks/exhaustive-deps\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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 './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":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,SAASC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAElD,SAASC,YAAY,QAAQ,uCAAsC;AACnE,SAASC,SAAS,QAAQ,2CAA0C;AACpE,SAASC,cAAc,QAAQ,gDAA+C;AAC9E,SAASC,SAAS,QAAQ,wCAAuC;AACjE,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,oBAAoB,QAAQ,yCAAwC;AAC7E,OAAO,eAAc;AAGrB,MAAMC,YAAY;AAClB,MAAMC,cAAc;AAOpB,OAAO,MAAMC,mBAAoD,CAAC,EAChEC,QAAQ,EACRC,KAAK,EACLC,UAAU,EACX;IACC,MAAMC,SAASX;IACf,MAAM,EAAEY,WAAW,EAAEC,MAAM,EAAE,GAAGF;IAChC,MAAM,CAACG,iBAAiBC,MAAM,GAAGhB;IACjC,MAAM,CAACiB,QAAQC,UAAU,GAAGnB,SAAkB,EAAE;IAChD,MAAM,EAAEoB,SAAS,EAAEC,gBAAgB,EAAE,GAAGf;IACxC,MAAM,CAACgB,cAAcC,gBAAgB,GAAGvB,SAAS;IACjD,MAAM,EAAEwB,IAAI,EAAEC,CAAC,EAAE,GAAGtB;IAEpB,MAAMuB,kBAAkBtB,YAAYa,OAAOU,oBAAoBC,MAAMC,OAAOC,WAAW,GAAG;IAE1F/B,UAAU;QACR,IAAI,AAACW,CAAAA,YAAY,OAAOA,aAAa,QAAO,KAAMgB,mBAAmB,CAACJ,cAAc;YAClF,MAAMS,kBAA2B,EAAE;YACnC,MAAMC,gBAAgBC,MAAMC,OAAO,CAACxB,YAAYA,WAAW;gBAACA;aAAS;YACrEsB,cACGG,KAAK,CAAC,GAAGH,cAAcI,MAAM,GAAG5B,cAAcwB,cAAcI,MAAM,GAAG5B,aACrE6B,OAAO,CAAC,CAACC;gBACR,IAAI,OAAOA,SAAS,YAAY,gBAAgBA,QAAQ,WAAWA,MAAM;oBACvEP,gBAAgBQ,IAAI,CAACD;gBACvB;gBACA,IACE,AAAC,CAAA,OAAOA,SAAS,YAAY,OAAOA,SAAS,QAAO,KACpD,OAAO1B,eAAe,UACtB;oBACAmB,gBAAgBQ,IAAI,CAAC;wBACnB3B;wBACA4B,OAAOF;oBACT;gBACF;YACF;YACFjB,iBAAiBU;YACjBR,gBAAgB;YAChBJ,UAAUY;QACZ;IACF,GAAG;QACDrB;QACAE;QACAE;QACAY;QACAX,OAAO0B,GAAG;QACVnB;QACAD;KACD;IAEDtB,UAAU;QACR,IAAIuB,cAAc;YAChBC,gBAAgB;QAClB;IACF,GAAG;QAACb;KAAS;IAEb,qBACE,MAACgC;QAAIC,WAAWpC;QAAWqC,KAAK5B;;YAC7BE,OAAO2B,GAAG,CAAC,CAAC,EAAEjC,UAAU,EAAE4B,KAAK,EAAE,EAAEM;gBAClC,MAAMC,WAAW3B,SAAS,CAACR,WAAW,CAAC4B,MAAM;gBAC7C,MAAMQ,oBAAoBlC,YAAYmC,IAAI,CAAC,CAAC,EAAEC,IAAI,EAAE,GAAKA,SAAStC;gBAElE,MAAMD,QAAQN,eAAe;oBAC3B8C,kBAAkBH;oBAClBI,MAAML,YAAY;oBAClBM,YAAYxC,OAAOyC,KAAK,CAACD,UAAU;oBACnCE,UAAU,CAAC,EAAE9B,EAAE,oBAAoB,OAAO,EAAEe,MAAM,CAAC;oBACnDhB;gBACF;gBAEA,qBACE,MAAC1B,MAAM0D,QAAQ;;wBACZT,aAAa,SAAS,CAAC,EAAEtB,EAAE,oBAAoB,OAAO,EAAEe,MAAM,CAAC;wBAC/DO,aAAa,QAAQ,CAAC,EAAEtB,EAAE,mBAAmB,GAAG,CAAC;wBACjDsB,WAAWpC,QAAQ;wBACnBO,OAAOkB,MAAM,GAAGU,IAAI,KAAK;;mBAJPA;YAOzB;YACCb,MAAMC,OAAO,CAACxB,aACbA,SAAS0B,MAAM,GAAG5B,eAClBiB,EAAE,uBAAuB;gBAAEgC,OAAO/C,SAAS0B,MAAM,GAAG5B;gBAAakD,OAAO;YAAG;YAC5ExC,OAAOkB,MAAM,KAAK,KAAKX,EAAE,mBAAmB;gBAAEd,OAAOd,eAAec,SAAS,IAAIa;YAAM;;;AAG9F,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps, OptionObject } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { optionsAreObjects } from 'payload/shared'\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\n\nexport interface SelectCellProps extends DefaultCellComponentProps<any> {\n options: CellComponentProps['options']\n}\n\nexport const SelectCell: React.FC<SelectCellProps> = ({ cellData, options }) => {\n const { i18n } = useTranslation()\n\n const findLabel = (items: string[]) =>\n items\n .map((i) => {\n const found = (options as OptionObject[]).filter((f: OptionObject) => f.value === i)?.[0]\n ?.label\n return getTranslation(found, i18n)\n })\n .join(', ')\n\n let content = ''\n if (optionsAreObjects(options)) {\n content = Array.isArray(cellData)\n ? findLabel(cellData) // hasMany\n : findLabel([cellData])\n } else {\n content = Array.isArray(cellData)\n ? cellData.join(', ') // hasMany\n : cellData\n }\n\n return <span>{content}</span>\n}\n"],"names":["getTranslation","optionsAreObjects","React","useTranslation","SelectCell","cellData","options","i18n","findLabel","items","map","i","found","filter","f","value","label","join","content","Array","isArray","span"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,iBAAiB,QAAQ,iBAAgB;AAClD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,gDAA+C;AAM9E,OAAO,MAAMC,aAAwC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAE;IACzE,MAAM,EAAEC,IAAI,EAAE,GAAGJ;IAEjB,MAAMK,YAAY,CAACC,QACjBA,MACGC,GAAG,CAAC,CAACC;YACJ,MAAMC,QAAQ,AAACN,QAA2BO,MAAM,CAAC,CAACC,IAAoBA,EAAEC,KAAK,KAAKJ,IAAI,CAAC,EAAE,EACrFK;YACJ,OAAOhB,eAAeY,OAAOL;QAC/B,GACCU,IAAI,CAAC;IAEV,IAAIC,UAAU;IACd,IAAIjB,kBAAkBK,UAAU;QAC9BY,UAAUC,MAAMC,OAAO,CAACf,YACpBG,UAAUH,UAAU,UAAU;WAC9BG,UAAU;YAACH;SAAS;IAC1B,OAAO;QACLa,UAAUC,MAAMC,OAAO,CAACf,YACpBA,SAASY,IAAI,CAAC,MAAM,UAAU;WAC9BZ;IACN;IAEA,qBAAO,KAACgB;kBAAMH;;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps, OptionObject } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { optionsAreObjects } from 'payload/shared'\nimport React from 'react'\n\nimport { useTranslation } from '../../../../../providers/Translation/index.js'\n\nexport interface SelectCellProps extends DefaultCellComponentProps<any> {\n options: CellComponentProps['options']\n}\n\nexport const SelectCell: React.FC<SelectCellProps> = ({ cellData, options }) => {\n const { i18n } = useTranslation()\n\n const findLabel = (items: string[]) =>\n items\n .map((i) => {\n const found = (options as OptionObject[]).filter((f: OptionObject) => f.value === i)?.[0]\n ?.label\n return getTranslation(found, i18n)\n })\n .join(', ')\n\n let content = ''\n if (optionsAreObjects(options)) {\n content = Array.isArray(cellData)\n ? findLabel(cellData) // hasMany\n : findLabel([cellData])\n } else {\n content = Array.isArray(cellData)\n ? cellData.join(', ') // hasMany\n : cellData\n }\n\n return <span>{content}</span>\n}\n"],"names":["getTranslation","optionsAreObjects","React","useTranslation","SelectCell","cellData","options","i18n","findLabel","items","map","i","found","filter","f","value","label","join","content","Array","isArray","span"],"mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,SAASC,iBAAiB,QAAQ,iBAAgB;AAClD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,gDAA+C;AAM9E,OAAO,MAAMC,aAAwC,CAAC,EAAEC,QAAQ,EAAEC,OAAO,EAAE;IACzE,MAAM,EAAEC,IAAI,EAAE,GAAGJ;IAEjB,MAAMK,YAAY,CAACC,QACjBA,MACGC,GAAG,CAAC,CAACC;YACJ,MAAMC,QAAQ,AAACN,QAA2BO,MAAM,CAAC,CAACC,IAAoBA,EAAEC,KAAK,KAAKJ,IAAI,CAAC,EAAE,EACrFK;YACJ,OAAOhB,eAAeY,OAAOL;QAC/B,GACCU,IAAI,CAAC;IAEV,IAAIC,UAAU;IACd,IAAIjB,kBAAkBK,UAAU;QAC9BY,UAAUC,MAAMC,OAAO,CAACf,YACpBG,UAAUH,UAAU,UAAU;WAC9BG,UAAU;YAACH;SAAS;IAC1B,OAAO;QACLa,UAAUC,MAAMC,OAAO,CAACf,YACpBA,SAASY,IAAI,CAAC,MAAM,UAAU;WAC9BZ;IACN;IAEA,qBAAO,KAACgB;kBAAMH;;AAChB,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nexport const TextareaCell: React.FC<DefaultCellComponentProps<string>> = ({ cellData }) => {\n const textToShow = cellData?.length > 100 ? `${cellData.substring(0, 100)}\\u2026` : cellData\n return <span>{textToShow}</span>\n}\n"],"names":["React","TextareaCell","cellData","textToShow","length","substring","span"],"rangeMappings":";;;;;;;;","mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,eAA4D,CAAC,EAAEC,QAAQ,EAAE;IACpF,MAAMC,aAAaD,UAAUE,SAAS,MAAM,CAAC,EAAEF,SAASG,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,GAAGH;IACpF,qBAAO,KAACI;kBAAMH;;AAChB,EAAC"}
1
+ {"version":3,"sources":["../../../../../../src/elements/Table/DefaultCell/fields/Textarea/index.tsx"],"sourcesContent":["'use client'\nimport type { DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nexport const TextareaCell: React.FC<DefaultCellComponentProps<string>> = ({ cellData }) => {\n const textToShow = cellData?.length > 100 ? `${cellData.substring(0, 100)}\\u2026` : cellData\n return <span>{textToShow}</span>\n}\n"],"names":["React","TextareaCell","cellData","textToShow","length","substring","span"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,OAAO,MAAMC,eAA4D,CAAC,EAAEC,QAAQ,EAAE;IACpF,MAAMC,aAAaD,UAAUE,SAAS,MAAM,CAAC,EAAEF,SAASG,SAAS,CAAC,GAAG,KAAK,MAAM,CAAC,GAAGH;IACpF,qBAAO,KAACI;kBAAMH;;AAChB,EAAC"}
@@ -1,16 +1,15 @@
1
- /// <reference types="react" resolution-mode="require"/>
2
1
  export declare const cellComponents: {
3
2
  File: import("react").FC<import("./File/index.js").FileCellProps>;
4
3
  array: import("react").FC<import("./Array/index.js").ArrayCellProps>;
5
4
  blocks: import("react").FC<import("./Blocks/index.js").BlocksCellProps>;
6
- checkbox: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<boolean>>;
5
+ checkbox: import("react").FC<import("packages/payload/src/index.js").DefaultCellComponentProps<boolean>>;
7
6
  code: import("react").FC<import("./Code/index.js").CodeCellProps>;
8
- date: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<string | number | Date>>;
9
- json: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<string>>;
7
+ date: import("react").FC<import("packages/payload/src/index.js").DefaultCellComponentProps<string | number | Date>>;
8
+ json: import("react").FC<import("packages/payload/src/index.js").DefaultCellComponentProps<string>>;
10
9
  radio: import("react").FC<import("./Select/index.js").SelectCellProps>;
11
10
  relationship: import("react").FC<import("./Relationship/index.js").RelationshipCellProps>;
12
11
  select: import("react").FC<import("./Select/index.js").SelectCellProps>;
13
- textarea: import("react").FC<import("packages/payload/src/admin/types.js").DefaultCellComponentProps<string>>;
12
+ textarea: import("react").FC<import("packages/payload/src/index.js").DefaultCellComponentProps<string>>;
14
13
  upload: import("react").FC<import("./Relationship/index.js").RelationshipCellProps>;
15
14
  };
16
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Table/DefaultCell/fields/index.tsx"],"names":[],"mappings":";AAYA,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAa1B,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/elements/Table/DefaultCell/fields/index.tsx"],"names":[],"mappings":"AAYA,eAAO,MAAM,cAAc;;;;;;;;;;;;;CAa1B,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/Table/DefaultCell/fields/index.tsx"],"sourcesContent":["'use client'\nimport { ArrayCell } from './Array/index.js'\nimport { BlocksCell } from './Blocks/index.js'\nimport { CheckboxCell } from './Checkbox/index.js'\nimport { CodeCell } from './Code/index.js'\nimport { DateCell } from './Date/index.js'\nimport { FileCell } from './File/index.js'\nimport { JSONCell } from './JSON/index.js'\nimport { RelationshipCell } from './Relationship/index.js'\nimport { SelectCell } from './Select/index.js'\nimport { TextareaCell } from './Textarea/index.js'\n\nexport const cellComponents = {\n File: FileCell,\n array: ArrayCell,\n blocks: BlocksCell,\n checkbox: CheckboxCell,\n code: CodeCell,\n date: DateCell,\n json: JSONCell,\n radio: SelectCell,\n relationship: RelationshipCell,\n select: SelectCell,\n textarea: TextareaCell,\n upload: RelationshipCell,\n}\n"],"names":["ArrayCell","BlocksCell","CheckboxCell","CodeCell","DateCell","FileCell","JSONCell","RelationshipCell","SelectCell","TextareaCell","cellComponents","File","array","blocks","checkbox","code","date","json","radio","relationship","select","textarea","upload"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,mBAAkB;AAC5C,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,YAAY,QAAQ,sBAAqB;AAClD,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,gBAAgB,QAAQ,0BAAyB;AAC1D,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,YAAY,QAAQ,sBAAqB;AAElD,OAAO,MAAMC,iBAAiB;IAC5BC,MAAMN;IACNO,OAAOZ;IACPa,QAAQZ;IACRa,UAAUZ;IACVa,MAAMZ;IACNa,MAAMZ;IACNa,MAAMX;IACNY,OAAOV;IACPW,cAAcZ;IACda,QAAQZ;IACRa,UAAUZ;IACVa,QAAQf;AACV,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/Table/DefaultCell/fields/index.tsx"],"sourcesContent":["'use client'\nimport { ArrayCell } from './Array/index.js'\nimport { BlocksCell } from './Blocks/index.js'\nimport { CheckboxCell } from './Checkbox/index.js'\nimport { CodeCell } from './Code/index.js'\nimport { DateCell } from './Date/index.js'\nimport { FileCell } from './File/index.js'\nimport { JSONCell } from './JSON/index.js'\nimport { RelationshipCell } from './Relationship/index.js'\nimport { SelectCell } from './Select/index.js'\nimport { TextareaCell } from './Textarea/index.js'\n\nexport const cellComponents = {\n File: FileCell,\n array: ArrayCell,\n blocks: BlocksCell,\n checkbox: CheckboxCell,\n code: CodeCell,\n date: DateCell,\n json: JSONCell,\n radio: SelectCell,\n relationship: RelationshipCell,\n select: SelectCell,\n textarea: TextareaCell,\n upload: RelationshipCell,\n}\n"],"names":["ArrayCell","BlocksCell","CheckboxCell","CodeCell","DateCell","FileCell","JSONCell","RelationshipCell","SelectCell","TextareaCell","cellComponents","File","array","blocks","checkbox","code","date","json","radio","relationship","select","textarea","upload"],"mappings":"AAAA;AACA,SAASA,SAAS,QAAQ,mBAAkB;AAC5C,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,YAAY,QAAQ,sBAAqB;AAClD,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,QAAQ,QAAQ,kBAAiB;AAC1C,SAASC,gBAAgB,QAAQ,0BAAyB;AAC1D,SAASC,UAAU,QAAQ,oBAAmB;AAC9C,SAASC,YAAY,QAAQ,sBAAqB;AAElD,OAAO,MAAMC,iBAAiB;IAC5BC,MAAMN;IACNO,OAAOZ;IACPa,QAAQZ;IACRa,UAAUZ;IACVa,MAAMZ;IACNa,MAAMZ;IACNa,MAAMX;IACNY,OAAOV;IACPW,cAAcZ;IACda,QAAQZ;IACRa,UAAUZ;IACVa,QAAQf;AACV,EAAC"}
@@ -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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAgF,MAAM,OAAO,CAAA;AAWpG,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,IAAI,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAyEzE,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAA8C,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAGzC,OAAO,KAAgF,MAAM,OAAO,CAAA;AAWpG,MAAM,MAAM,SAAS,GAAG;IACtB,CAAC,IAAI,EAAE,MAAM,GAAG;QACd,CAAC,EAAE,EAAE,MAAM,GAAG,MAAM,GAAG,UAAU,GAAG,KAAK,GAAG,IAAI,CAAA;KACjD,CAAA;CACF,CAAA;AAED,KAAK,uBAAuB,GAAG;IAC7B,SAAS,EAAE,SAAS,CAAA;IACpB,gBAAgB,EAAE,CAChB,IAAI,EAAE;QACJ,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,MAAM,GAAG,MAAM,CAAA;KACvB,EAAE,KACA,IAAI,CAAA;CACV,CAAA;AAID,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAkFzE,CAAA;AAED,eAAO,MAAM,oBAAoB,QAAO,uBAA8C,CAAA"}
@@ -1,6 +1,5 @@
1
1
  'use client';
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
- import querystring from 'qs';
4
3
  import React, { createContext, useCallback, useContext, useEffect, useReducer, useRef } from 'react';
5
4
  import { useDebounce } from '../../../hooks/useDebounce.js';
6
5
  import { useConfig } from '../../../providers/Config/index.js';
@@ -26,15 +25,17 @@ export const RelationshipProvider = ({ children })=>{
26
25
  });
27
26
  if (idsToLoad.length > 0) {
28
27
  const url = `${serverURL}${api}/${slug}`;
29
- const params = {
30
- depth: 0,
31
- limit: 250,
32
- locale,
33
- 'where[id][in]': idsToLoad
34
- };
35
- const query = querystring.stringify(params, {
36
- addQueryPrefix: true
37
- });
28
+ const params = new URLSearchParams();
29
+ params.append('depth', '0');
30
+ params.append('limit', '250');
31
+ if (locale) {
32
+ params.append('locale', locale);
33
+ }
34
+ if (idsToLoad && idsToLoad.length > 0) {
35
+ const idsToString = idsToLoad.map((id)=>String(id));
36
+ params.append('where[id][in]', idsToString.join(','));
37
+ }
38
+ const query = `?${params.toString()}`;
38
39
  const result = await fetch(`${url}${query}`, {
39
40
  credentials: 'include',
40
41
  headers: {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { TypeWithID } from 'payload'\n\nimport querystring from 'qs'\nimport React, { createContext, useCallback, useContext, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: TypeWithID | false | null\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n const config = useConfig()\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = `${serverURL}${api}/${slug}`\n const params = {\n depth: 0,\n limit: 250,\n locale,\n 'where[id][in]': idsToLoad,\n }\n\n const query = querystring.stringify(params, { addQueryPrefix: true })\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, serverURL, api, i18n, locale],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context.Provider value={{ documents, getRelationships }}>{children}</Context.Provider>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => useContext(Context)\n"],"names":["querystring","React","createContext","useCallback","useContext","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","children","documents","dispatchDocuments","debouncedDocuments","config","i18n","code","locale","prevLocale","routes","api","serverURL","loadRelationshipDocs","reloadAll","Object","entries","forEach","slug","docs","idsToLoad","id","value","push","length","url","params","depth","limit","query","stringify","addQueryPrefix","result","fetch","credentials","headers","language","ok","json","type","relationTo","current","getRelationships","relationships","Provider","useListRelationships"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,OAAOA,iBAAiB,KAAI;AAC5B,OAAOC,SAASC,aAAa,EAAEC,WAAW,EAAEC,UAAU,EAAEC,SAAS,EAAEC,UAAU,EAAEC,MAAM,QAAQ,QAAO;AAEpG,SAASC,WAAW,QAAQ,gCAA+B;AAC3D,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,SAAS,QAAQ,qCAAoC;AAC9D,SAASC,cAAc,QAAQ,0CAAyC;AACxE,SAASC,OAAO,QAAQ,eAAc;AAqBtC,MAAMC,wBAAUX,cAAc,CAAC;AAE/B,OAAO,MAAMY,uBAAiE,CAAC,EAAEC,QAAQ,EAAE;IACzF,MAAM,CAACC,WAAWC,kBAAkB,GAAGX,WAAWM,SAAS,CAAC;IAC5D,MAAMM,qBAAqBV,YAAYQ,WAAW;IAClD,MAAMG,SAASV;IACf,MAAM,EAAEW,IAAI,EAAE,GAAGT;IACjB,MAAM,EAAEU,MAAMC,MAAM,EAAE,GAAGZ;IACzB,MAAMa,aAAahB,OAAOe;IAE1B,MAAM,EACJE,QAAQ,EAAEC,GAAG,EAAE,EACfC,SAAS,EACV,GAAGP;IAEJ,MAAMQ,uBAAuBxB,YAC3B,CAACyB,YAAY,KAAK;QAChBC,OAAOC,OAAO,CAACZ,oBAAoBa,OAAO,CAAC,OAAO,CAACC,MAAMC,KAAK;YAC5D,MAAMC,YAAiC,EAAE;YAEzCL,OAAOC,OAAO,CAACG,MAAMF,OAAO,CAAC,CAAC,CAACI,IAAIC,MAAM;gBACvC,IAAIA,UAAU,QAAQR,WAAW;oBAC/BM,UAAUG,IAAI,CAACF;gBACjB;YACF;YAEA,IAAID,UAAUI,MAAM,GAAG,GAAG;gBACxB,MAAMC,MAAM,CAAC,EAAEb,UAAU,EAAED,IAAI,CAAC,EAAEO,KAAK,CAAC;gBACxC,MAAMQ,SAAS;oBACbC,OAAO;oBACPC,OAAO;oBACPpB;oBACA,iBAAiBY;gBACnB;gBAEA,MAAMS,QAAQ3C,YAAY4C,SAAS,CAACJ,QAAQ;oBAAEK,gBAAgB;gBAAK;gBACnE,MAAMC,SAAS,MAAMC,MAAM,CAAC,EAAER,IAAI,EAAEI,MAAM,CAAC,EAAE;oBAC3CK,aAAa;oBACbC,SAAS;wBACP,mBAAmB7B,KAAK8B,QAAQ;oBAClC;gBACF;gBAEA,IAAIJ,OAAOK,EAAE,EAAE;oBACb,MAAMC,OAAO,MAAMN,OAAOM,IAAI;oBAC9B,IAAIA,KAAKnB,IAAI,EAAE;wBACbhB,kBAAkB;4BAChBoC,MAAM;4BACNpB,MAAMmB,KAAKnB,IAAI;4BACfC;4BACAoB,YAAYtB;wBACd;oBACF;gBACF,OAAO;oBACLf,kBAAkB;wBAAEoC,MAAM;wBAAcpB,MAAM,EAAE;wBAAEC;wBAAWoB,YAAYtB;oBAAK;gBAChF;YACF;QACF;IACF,GACA;QAACd;QAAoBQ;QAAWD;QAAKL;QAAME;KAAO;IAGpDjB,UAAU;QACR,KAAKsB,qBAAqBL,UAAUC,WAAWgC,OAAO,KAAKjC;QAC3DC,WAAWgC,OAAO,GAAGjC;IACvB,GAAG;QAACA;QAAQK;KAAqB;IAEjC,MAAM6B,mBAAmBrD,YACvB,CAACsD;QACCxC,kBAAkB;YAAEoC,MAAM;YAAWpB,MAAMwB;QAAc;IAC3D,GACA,EAAE;IAGJ,qBAAO,KAAC5C,QAAQ6C,QAAQ;QAACtB,OAAO;YAAEpB;YAAWwC;QAAiB;kBAAIzC;;AACpE,EAAC;AAED,OAAO,MAAM4C,uBAAuB,IAA+BvD,WAAWS,SAAQ"}
1
+ {"version":3,"sources":["../../../../src/elements/Table/RelationshipProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { TypeWithID } from 'payload'\n\nimport * as qs from 'qs-esm'\nimport React, { createContext, useCallback, useContext, useEffect, useReducer, useRef } from 'react'\n\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../providers/Config/index.js'\nimport { useLocale } from '../../../providers/Locale/index.js'\nimport { useTranslation } from '../../../providers/Translation/index.js'\nimport { reducer } from './reducer.js'\n\n// documents are first set to null when requested\n// set to false when no doc is returned\n// or set to the document returned\nexport type Documents = {\n [slug: string]: {\n [id: number | string]: TypeWithID | false | null\n }\n}\n\ntype ListRelationshipContext = {\n documents: Documents\n getRelationships: (\n docs: {\n relationTo: string\n value: number | string\n }[],\n ) => void\n}\n\nconst Context = createContext({} as ListRelationshipContext)\n\nexport const RelationshipProvider: React.FC<{ children?: React.ReactNode }> = ({ children }) => {\n const [documents, dispatchDocuments] = useReducer(reducer, {})\n const debouncedDocuments = useDebounce(documents, 100)\n const config = useConfig()\n const { i18n } = useTranslation()\n const { code: locale } = useLocale()\n const prevLocale = useRef(locale)\n\n const {\n routes: { api },\n serverURL,\n } = config\n\n const loadRelationshipDocs = useCallback(\n (reloadAll = false) => {\n Object.entries(debouncedDocuments).forEach(async ([slug, docs]) => {\n const idsToLoad: (number | string)[] = []\n\n Object.entries(docs).forEach(([id, value]) => {\n if (value === null || reloadAll) {\n idsToLoad.push(id)\n }\n })\n\n if (idsToLoad.length > 0) {\n const url = `${serverURL}${api}/${slug}`\n\n const params = new URLSearchParams()\n\n params.append('depth', '0')\n params.append('limit', '250')\n\n if (locale) {\n params.append('locale', locale)\n }\n\n if (idsToLoad && idsToLoad.length > 0) {\n const idsToString = idsToLoad.map((id) => String(id))\n params.append('where[id][in]', idsToString.join(','))\n }\n\n const query = `?${params.toString()}`\n\n const result = await fetch(`${url}${query}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (result.ok) {\n const json = await result.json()\n if (json.docs) {\n dispatchDocuments({\n type: 'ADD_LOADED',\n docs: json.docs,\n idsToLoad,\n relationTo: slug,\n })\n }\n } else {\n dispatchDocuments({ type: 'ADD_LOADED', docs: [], idsToLoad, relationTo: slug })\n }\n }\n })\n },\n [debouncedDocuments, serverURL, api, i18n, locale],\n )\n\n useEffect(() => {\n void loadRelationshipDocs(locale && prevLocale.current !== locale)\n prevLocale.current = locale\n }, [locale, loadRelationshipDocs])\n\n const getRelationships = useCallback(\n (relationships: { relationTo: string; value: number | string }[]) => {\n dispatchDocuments({ type: 'REQUEST', docs: relationships })\n },\n [],\n )\n\n return <Context.Provider value={{ documents, getRelationships }}>{children}</Context.Provider>\n}\n\nexport const useListRelationships = (): ListRelationshipContext => useContext(Context)\n"],"names":["React","createContext","useCallback","useContext","useEffect","useReducer","useRef","useDebounce","useConfig","useLocale","useTranslation","reducer","Context","RelationshipProvider","children","documents","dispatchDocuments","debouncedDocuments","config","i18n","code","locale","prevLocale","routes","api","serverURL","loadRelationshipDocs","reloadAll","Object","entries","forEach","slug","docs","idsToLoad","id","value","push","length","url","params","URLSearchParams","append","idsToString","map","String","join","query","toString","result","fetch","credentials","headers","language","ok","json","type","relationTo","current","getRelationships","relationships","Provider","useListRelationships"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Table/RelationshipProvider/reducer.ts"],"sourcesContent":["import type { TypeWithID } from 'payload'\n\nimport type { Documents } from './index.js'\n\ntype RequestDocuments = {\n docs: { relationTo: string; value: number | string }[]\n type: 'REQUEST'\n}\n\ntype AddLoadedDocuments = {\n docs: TypeWithID[]\n idsToLoad: (number | string)[]\n relationTo: string\n type: 'ADD_LOADED'\n}\n\ntype Action = AddLoadedDocuments | RequestDocuments\n\nexport function reducer(state: Documents, action: Action): Documents {\n switch (action.type) {\n case 'REQUEST': {\n const newState = { ...state }\n\n action.docs.forEach(({ relationTo, value }) => {\n if (typeof newState[relationTo] !== 'object') {\n newState[relationTo] = {}\n }\n newState[relationTo][value] = null\n })\n\n return newState\n }\n\n case 'ADD_LOADED': {\n const newState = { ...state }\n if (typeof newState[action.relationTo] !== 'object') {\n newState[action.relationTo] = {}\n }\n const unreturnedIDs = [...action.idsToLoad]\n\n if (Array.isArray(action.docs)) {\n action.docs.forEach((doc) => {\n unreturnedIDs.splice(unreturnedIDs.indexOf(doc.id), 1)\n newState[action.relationTo][doc.id] = doc\n })\n }\n\n unreturnedIDs.forEach((id) => {\n newState[action.relationTo][id] = false\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"names":["reducer","state","action","type","newState","docs","forEach","relationTo","value","unreturnedIDs","idsToLoad","Array","isArray","doc","splice","indexOf","id"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAkBA,OAAO,SAASA,QAAQC,KAAgB,EAAEC,MAAc;IACtD,OAAQA,OAAOC,IAAI;QACjB,KAAK;YAAW;gBACd,MAAMC,WAAW;oBAAE,GAAGH,KAAK;gBAAC;gBAE5BC,OAAOG,IAAI,CAACC,OAAO,CAAC,CAAC,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACxC,IAAI,OAAOJ,QAAQ,CAACG,WAAW,KAAK,UAAU;wBAC5CH,QAAQ,CAACG,WAAW,GAAG,CAAC;oBAC1B;oBACAH,QAAQ,CAACG,WAAW,CAACC,MAAM,GAAG;gBAChC;gBAEA,OAAOJ;YACT;QAEA,KAAK;YAAc;gBACjB,MAAMA,WAAW;oBAAE,GAAGH,KAAK;gBAAC;gBAC5B,IAAI,OAAOG,QAAQ,CAACF,OAAOK,UAAU,CAAC,KAAK,UAAU;oBACnDH,QAAQ,CAACF,OAAOK,UAAU,CAAC,GAAG,CAAC;gBACjC;gBACA,MAAME,gBAAgB;uBAAIP,OAAOQ,SAAS;iBAAC;gBAE3C,IAAIC,MAAMC,OAAO,CAACV,OAAOG,IAAI,GAAG;oBAC9BH,OAAOG,IAAI,CAACC,OAAO,CAAC,CAACO;wBACnBJ,cAAcK,MAAM,CAACL,cAAcM,OAAO,CAACF,IAAIG,EAAE,GAAG;wBACpDZ,QAAQ,CAACF,OAAOK,UAAU,CAAC,CAACM,IAAIG,EAAE,CAAC,GAAGH;oBACxC;gBACF;gBAEAJ,cAAcH,OAAO,CAAC,CAACU;oBACrBZ,QAAQ,CAACF,OAAOK,UAAU,CAAC,CAACS,GAAG,GAAG;gBACpC;gBAEA,OAAOZ;YACT;QAEA;YAAS;gBACP,OAAOH;YACT;IACF;AACF"}
1
+ {"version":3,"sources":["../../../../src/elements/Table/RelationshipProvider/reducer.ts"],"sourcesContent":["import type { TypeWithID } from 'payload'\n\nimport type { Documents } from './index.js'\n\ntype RequestDocuments = {\n docs: { relationTo: string; value: number | string }[]\n type: 'REQUEST'\n}\n\ntype AddLoadedDocuments = {\n docs: TypeWithID[]\n idsToLoad: (number | string)[]\n relationTo: string\n type: 'ADD_LOADED'\n}\n\ntype Action = AddLoadedDocuments | RequestDocuments\n\nexport function reducer(state: Documents, action: Action): Documents {\n switch (action.type) {\n case 'REQUEST': {\n const newState = { ...state }\n\n action.docs.forEach(({ relationTo, value }) => {\n if (typeof newState[relationTo] !== 'object') {\n newState[relationTo] = {}\n }\n newState[relationTo][value] = null\n })\n\n return newState\n }\n\n case 'ADD_LOADED': {\n const newState = { ...state }\n if (typeof newState[action.relationTo] !== 'object') {\n newState[action.relationTo] = {}\n }\n const unreturnedIDs = [...action.idsToLoad]\n\n if (Array.isArray(action.docs)) {\n action.docs.forEach((doc) => {\n unreturnedIDs.splice(unreturnedIDs.indexOf(doc.id), 1)\n newState[action.relationTo][doc.id] = doc\n })\n }\n\n unreturnedIDs.forEach((id) => {\n newState[action.relationTo][id] = false\n })\n\n return newState\n }\n\n default: {\n return state\n }\n }\n}\n"],"names":["reducer","state","action","type","newState","docs","forEach","relationTo","value","unreturnedIDs","idsToLoad","Array","isArray","doc","splice","indexOf","id"],"mappings":"AAkBA,OAAO,SAASA,QAAQC,KAAgB,EAAEC,MAAc;IACtD,OAAQA,OAAOC,IAAI;QACjB,KAAK;YAAW;gBACd,MAAMC,WAAW;oBAAE,GAAGH,KAAK;gBAAC;gBAE5BC,OAAOG,IAAI,CAACC,OAAO,CAAC,CAAC,EAAEC,UAAU,EAAEC,KAAK,EAAE;oBACxC,IAAI,OAAOJ,QAAQ,CAACG,WAAW,KAAK,UAAU;wBAC5CH,QAAQ,CAACG,WAAW,GAAG,CAAC;oBAC1B;oBACAH,QAAQ,CAACG,WAAW,CAACC,MAAM,GAAG;gBAChC;gBAEA,OAAOJ;YACT;QAEA,KAAK;YAAc;gBACjB,MAAMA,WAAW;oBAAE,GAAGH,KAAK;gBAAC;gBAC5B,IAAI,OAAOG,QAAQ,CAACF,OAAOK,UAAU,CAAC,KAAK,UAAU;oBACnDH,QAAQ,CAACF,OAAOK,UAAU,CAAC,GAAG,CAAC;gBACjC;gBACA,MAAME,gBAAgB;uBAAIP,OAAOQ,SAAS;iBAAC;gBAE3C,IAAIC,MAAMC,OAAO,CAACV,OAAOG,IAAI,GAAG;oBAC9BH,OAAOG,IAAI,CAACC,OAAO,CAAC,CAACO;wBACnBJ,cAAcK,MAAM,CAACL,cAAcM,OAAO,CAACF,IAAIG,EAAE,GAAG;wBACpDZ,QAAQ,CAACF,OAAOK,UAAU,CAAC,CAACM,IAAIG,EAAE,CAAC,GAAGH;oBACxC;gBACF;gBAEAJ,cAAcH,OAAO,CAAC,CAACU;oBACrBZ,QAAQ,CAACF,OAAOK,UAAU,CAAC,CAACS,GAAG,GAAG;gBACpC;gBAEA,OAAOZ;YACT;QAEA;YAAS;gBACP,OAAOH;YACT;IACF;AACF"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/Table/TableCellProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nexport type ITableCellContext = {\n cellData: DefaultCellComponentProps['cellData']\n cellProps?: Partial<CellComponentProps>\n columnIndex?: number\n customCellContext: DefaultCellComponentProps['customCellContext']\n rowData: DefaultCellComponentProps['rowData']\n}\n\nconst TableCellContext = React.createContext<ITableCellContext>({} as ITableCellContext)\n\nexport const TableCellProvider: React.FC<{\n cellData?: DefaultCellComponentProps['cellData']\n cellProps?: Partial<CellComponentProps>\n children: React.ReactNode\n columnIndex?: number\n customCellContext?: DefaultCellComponentProps['customCellContext']\n rowData?: DefaultCellComponentProps['rowData']\n}> = (props) => {\n const { cellData, cellProps, children, columnIndex, customCellContext, rowData } = props\n\n const contextToInherit = useTableCell()\n\n return (\n <TableCellContext.Provider\n value={{\n cellData,\n cellProps,\n columnIndex,\n customCellContext,\n rowData,\n ...contextToInherit,\n }}\n >\n {children}\n </TableCellContext.Provider>\n )\n}\n\nexport const useTableCell = () => {\n const cell = React.useContext(TableCellContext)\n return cell\n}\n"],"names":["React","TableCellContext","createContext","TableCellProvider","props","cellData","cellProps","children","columnIndex","customCellContext","rowData","contextToInherit","useTableCell","Provider","value","cell","useContext"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAUzB,MAAMC,iCAAmBD,MAAME,aAAa,CAAoB,CAAC;AAEjE,OAAO,MAAMC,oBAOR,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,OAAO,EAAE,GAAGN;IAEnF,MAAMO,mBAAmBC;IAEzB,qBACE,KAACX,iBAAiBY,QAAQ;QACxBC,OAAO;YACLT;YACAC;YACAE;YACAC;YACAC;YACA,GAAGC,gBAAgB;QACrB;kBAECJ;;AAGP,EAAC;AAED,OAAO,MAAMK,eAAe;IAC1B,MAAMG,OAAOf,MAAMgB,UAAU,CAACf;IAC9B,OAAOc;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../../src/elements/Table/TableCellProvider/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, DefaultCellComponentProps } from 'payload'\n\nimport React from 'react'\n\nexport type ITableCellContext = {\n cellData: DefaultCellComponentProps['cellData']\n cellProps?: Partial<CellComponentProps>\n columnIndex?: number\n customCellContext: DefaultCellComponentProps['customCellContext']\n rowData: DefaultCellComponentProps['rowData']\n}\n\nconst TableCellContext = React.createContext<ITableCellContext>({} as ITableCellContext)\n\nexport const TableCellProvider: React.FC<{\n cellData?: DefaultCellComponentProps['cellData']\n cellProps?: Partial<CellComponentProps>\n children: React.ReactNode\n columnIndex?: number\n customCellContext?: DefaultCellComponentProps['customCellContext']\n rowData?: DefaultCellComponentProps['rowData']\n}> = (props) => {\n const { cellData, cellProps, children, columnIndex, customCellContext, rowData } = props\n\n const contextToInherit = useTableCell()\n\n return (\n <TableCellContext.Provider\n value={{\n cellData,\n cellProps,\n columnIndex,\n customCellContext,\n rowData,\n ...contextToInherit,\n }}\n >\n {children}\n </TableCellContext.Provider>\n )\n}\n\nexport const useTableCell = () => {\n const cell = React.useContext(TableCellContext)\n return cell\n}\n"],"names":["React","TableCellContext","createContext","TableCellProvider","props","cellData","cellProps","children","columnIndex","customCellContext","rowData","contextToInherit","useTableCell","Provider","value","cell","useContext"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAUzB,MAAMC,iCAAmBD,MAAME,aAAa,CAAoB,CAAC;AAEjE,OAAO,MAAMC,oBAOR,CAACC;IACJ,MAAM,EAAEC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,EAAEC,WAAW,EAAEC,iBAAiB,EAAEC,OAAO,EAAE,GAAGN;IAEnF,MAAMO,mBAAmBC;IAEzB,qBACE,KAACX,iBAAiBY,QAAQ;QACxBC,OAAO;YACLT;YACAC;YACAE;YACAC;YACAC;YACA,GAAGC,gBAAgB;QACrB;kBAECJ;;AAGP,EAAC;AAED,OAAO,MAAMK,eAAe;IAC1B,MAAMG,OAAOf,MAAMgB,UAAU,CAACf;IAC9B,OAAOc;AACT,EAAC"}
@@ -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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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, 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 +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,EAwJnD,CAAA"}
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"}
@@ -66,7 +66,6 @@ export const buildColumnState = (args)=>{
66
66
  const Heading = /*#__PURE__*/ _jsx(SortColumn, {
67
67
  Label: Label,
68
68
  disable: fieldAffectsDataSubFields || fieldIsPresentationalOnly(field) || undefined,
69
- // eslint-disable-next-line react/jsx-no-duplicate-props
70
69
  label: 'fieldComponentProps' in field && 'label' in field.fieldComponentProps ? field.fieldComponentProps.label : undefined,
71
70
  name: 'name' in field ? field.name : undefined
72
71
  });
@@ -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 // eslint-disable-next-line react/jsx-no-duplicate-props\n label={\n 'fieldComponentProps' in field && 'label' in field.fieldComponentProps\n ? field.fieldComponentProps.label\n : undefined\n }\n name={'name' in field ? field.name : undefined}\n />\n )\n\n if (field) {\n const column: Column = {\n name,\n type: field.type,\n Label,\n accessor: name,\n active,\n 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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
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 +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,kCA2BxB,CAAA"}
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 +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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;","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 '../../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 +1 @@
1
- {"version":3,"file":"getInitialColumns.d.ts","sourceRoot":"","sources":["../../../src/elements/TableColumns/getInitialColumns.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,yDAAyD,CAAA;AACpG,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mCAAmC,CAAA;AAE1E,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAE5D;AA4BD,eAAO,MAAM,iBAAiB,mCAEhB,MAAM,kBACF,MAAM,EAAE,sBAqBzB,CAAA"}
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 +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"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","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 '../../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 +1 @@
1
- {"version":3,"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n cellProps?: Partial<CellComponentProps>[]\n children: React.ReactNode\n collectionSlug: string\n enableRowSelections?: boolean\n listPreferences?: ListPreferences\n preferenceKey: string\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n}) => {\n const config = useConfig()\n\n const { componentMap } = useComponentMap()\n\n const { fieldMap } = componentMap.collections[collectionSlug]\n\n const collectionConfig = config.collections.find(\n (collectionConfig) => collectionConfig.slug === collectionSlug,\n )\n\n const {\n admin: { defaultColumns, useAsTitle },\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fieldMap), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n cellProps,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fieldMap,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const reassignLinkColumn = (columns: Column[]): Column[] => {\n let foundFirstActive = false\n const newColumns = columns.map((col) => {\n const linkColumn = col.active && !foundFirstActive && col.accessor !== '_select'\n if (linkColumn) foundFirstActive = true\n\n return {\n ...col,\n cellProps: {\n ...col.cellProps,\n link: linkColumn,\n },\n }\n })\n\n return newColumns\n }\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n const newColumns = reassignLinkColumn(withMovedColumn)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: col?.name === column ? !col.active : col.active,\n }\n })\n\n const newColumns = reassignLinkColumn(toggledColumns)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors) => {\n const activeColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n\n const newColumns = reassignLinkColumn(activeColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n cellProps,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections: true,\n fieldMap,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fieldMap,\n cellProps,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n moveColumn,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"names":["React","createContext","useCallback","useContext","useState","useComponentMap","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","cellProps","children","collectionSlug","enableRowSelections","listPreferences","preferenceKey","config","componentMap","fieldMap","collections","collectionConfig","find","slug","admin","defaultColumns","useAsTitle","prevCollection","useRef","getPreference","setPreference","initialColumns","tableColumns","setTableColumns","columnPreferences","columns","updateColumnPreferences","newColumns","map","c","accessor","active","reassignLinkColumn","foundFirstActive","col","linkColumn","link","moveColumn","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","toggleColumn","column","toggledColumns","name","setActiveColumns","activeColumnAccessors","activeColumns","includes","useEffect","sync","collectionHasChanged","current","currentPreferences","Provider","value"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/TableColumns/index.tsx"],"sourcesContent":["'use client'\nimport type { CellComponentProps, SanitizedCollectionConfig } from 'payload'\n\nimport React, { createContext, useCallback, useContext, useState } from 'react'\n\nimport type { ColumnPreferences } from '../../providers/ListInfo/index.js'\nimport type { Column } from '../Table/index.js'\n\nimport { useComponentMap } from '../../providers/ComponentMap/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { usePreferences } from '../../providers/Preferences/index.js'\nimport { buildColumnState } from './buildColumnState.js'\nimport { filterFields } from './filterFields.js'\nimport { getInitialColumns } from './getInitialColumns.js'\n\nexport interface ITableColumns {\n columns: Column[]\n moveColumn: (args: { fromIndex: number; toIndex: number }) => void\n setActiveColumns: (columns: string[]) => void\n toggleColumn: (column: string) => void\n}\n\nexport const TableColumnContext = createContext<ITableColumns>({} as ITableColumns)\n\nexport const useTableColumns = (): ITableColumns => useContext(TableColumnContext)\n\nexport type ListPreferences = {\n columns: ColumnPreferences\n}\n\ntype Props = {\n cellProps?: Partial<CellComponentProps>[]\n children: React.ReactNode\n collectionSlug: string\n enableRowSelections?: boolean\n listPreferences?: ListPreferences\n preferenceKey: string\n}\n\nexport const TableColumnsProvider: React.FC<Props> = ({\n cellProps,\n children,\n collectionSlug,\n enableRowSelections = false,\n listPreferences,\n preferenceKey,\n}) => {\n const config = useConfig()\n\n const { componentMap } = useComponentMap()\n\n const { fieldMap } = componentMap.collections[collectionSlug]\n\n const collectionConfig = config.collections.find(\n (collectionConfig) => collectionConfig.slug === collectionSlug,\n )\n\n const {\n admin: { defaultColumns, useAsTitle },\n } = collectionConfig\n\n const prevCollection = React.useRef<SanitizedCollectionConfig['slug']>(collectionSlug)\n const { getPreference, setPreference } = usePreferences()\n\n const [initialColumns] = useState<ColumnPreferences>(() =>\n getInitialColumns(filterFields(fieldMap), useAsTitle, defaultColumns),\n )\n\n const [tableColumns, setTableColumns] = React.useState(() =>\n buildColumnState({\n cellProps,\n columnPreferences: listPreferences?.columns,\n columns: initialColumns,\n enableRowSelections,\n fieldMap,\n useAsTitle,\n }),\n )\n\n const updateColumnPreferences = React.useCallback(\n (newColumns: Column[]) => {\n const columns = newColumns.map((c) => ({\n accessor: c?.accessor,\n active: c?.active,\n }))\n\n void setPreference(preferenceKey, { columns }, true)\n },\n [preferenceKey, setPreference],\n )\n\n const reassignLinkColumn = (columns: Column[]): Column[] => {\n let foundFirstActive = false\n const newColumns = columns.map((col) => {\n const linkColumn = col.active && !foundFirstActive && col.accessor !== '_select'\n if (linkColumn) foundFirstActive = true\n\n return {\n ...col,\n cellProps: {\n ...col.cellProps,\n link: linkColumn,\n },\n }\n })\n\n return newColumns\n }\n\n const moveColumn = useCallback(\n (args: { fromIndex: number; toIndex: number }) => {\n const { fromIndex, toIndex } = args\n\n const withMovedColumn = [...tableColumns]\n const [columnToMove] = withMovedColumn.splice(fromIndex, 1)\n withMovedColumn.splice(toIndex, 0, columnToMove)\n\n const newColumns = reassignLinkColumn(withMovedColumn)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const toggleColumn = useCallback(\n (column: string) => {\n const toggledColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: col?.name === column ? !col.active : col.active,\n }\n })\n\n const newColumns = reassignLinkColumn(toggledColumns)\n setTableColumns(newColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n const setActiveColumns = React.useCallback(\n (activeColumnAccessors) => {\n const activeColumns = tableColumns.map((col) => {\n return {\n ...col,\n active: activeColumnAccessors.includes(col.accessor),\n }\n })\n\n const newColumns = reassignLinkColumn(activeColumns)\n updateColumnPreferences(newColumns)\n },\n [tableColumns, updateColumnPreferences],\n )\n\n // //////////////////////////////////////////////\n // Get preferences on collection change (drawers)\n // //////////////////////////////////////////////\n\n React.useEffect(() => {\n const sync = async () => {\n const collectionHasChanged = prevCollection.current !== collectionSlug\n\n if (collectionHasChanged || !listPreferences) {\n const currentPreferences = await getPreference<{\n columns: ColumnPreferences\n }>(preferenceKey)\n prevCollection.current = collectionSlug\n\n if (currentPreferences?.columns) {\n setTableColumns(\n buildColumnState({\n cellProps,\n columnPreferences: currentPreferences?.columns,\n columns: initialColumns,\n enableRowSelections: true,\n fieldMap,\n useAsTitle,\n }),\n )\n }\n }\n }\n\n void sync()\n }, [\n preferenceKey,\n getPreference,\n collectionSlug,\n fieldMap,\n cellProps,\n defaultColumns,\n useAsTitle,\n listPreferences,\n initialColumns,\n ])\n\n return (\n <TableColumnContext.Provider\n value={{\n columns: tableColumns,\n moveColumn,\n setActiveColumns,\n toggleColumn,\n }}\n >\n {children}\n </TableColumnContext.Provider>\n )\n}\n"],"names":["React","createContext","useCallback","useContext","useState","useComponentMap","useConfig","usePreferences","buildColumnState","filterFields","getInitialColumns","TableColumnContext","useTableColumns","TableColumnsProvider","cellProps","children","collectionSlug","enableRowSelections","listPreferences","preferenceKey","config","componentMap","fieldMap","collections","collectionConfig","find","slug","admin","defaultColumns","useAsTitle","prevCollection","useRef","getPreference","setPreference","initialColumns","tableColumns","setTableColumns","columnPreferences","columns","updateColumnPreferences","newColumns","map","c","accessor","active","reassignLinkColumn","foundFirstActive","col","linkColumn","link","moveColumn","args","fromIndex","toIndex","withMovedColumn","columnToMove","splice","toggleColumn","column","toggledColumns","name","setActiveColumns","activeColumnAccessors","activeColumns","includes","useEffect","sync","collectionHasChanged","current","currentPreferences","Provider","value"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Thumbnail/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'thumbnail'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { File } from '../../graphics/File/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\n\nexport type ThumbnailProps = {\n className?: string\n collectionSlug?: string\n doc?: Record<string, unknown>\n fileSrc?: string\n imageCacheTag?: string\n size?: 'expand' | 'large' | 'medium' | 'small'\n uploadConfig?: SanitizedCollectionConfig['upload']\n}\n\nconst ThumbnailContext = React.createContext({\n className: '',\n filename: '',\n size: 'medium',\n src: '',\n})\n\nexport const useThumbnailContext = () => React.useContext(ThumbnailContext)\n\nexport const Thumbnail: React.FC<ThumbnailProps> = (props) => {\n const { className = '', doc: { filename } = {}, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && (\n <img\n alt={filename as string}\n src={`${fileSrc}${imageCacheTag ? `?${imageCacheTag}` : ''}`}\n />\n )}\n {fileExists === false && <File />}\n </div>\n )\n}\n"],"names":["React","baseClass","File","ShimmerEffect","ThumbnailContext","createContext","className","filename","size","src","useThumbnailContext","useContext","Thumbnail","props","doc","fileSrc","imageCacheTag","fileExists","setFileExists","useState","undefined","classNames","join","useEffect","img","Image","onload","onerror","div","height","alt"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,OAAO,eAAc;AAErB,MAAMC,YAAY;AAIlB,SAASC,IAAI,QAAQ,+BAA8B;AACnD,SAASC,aAAa,QAAQ,4BAA2B;AAYzD,MAAMC,iCAAmBJ,MAAMK,aAAa,CAAC;IAC3CC,WAAW;IACXC,UAAU;IACVC,MAAM;IACNC,KAAK;AACP;AAEA,OAAO,MAAMC,sBAAsB,IAAMV,MAAMW,UAAU,CAACP,kBAAiB;AAE3E,OAAO,MAAMQ,YAAsC,CAACC;IAClD,MAAM,EAAEP,YAAY,EAAE,EAAEQ,KAAK,EAAEP,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAEQ,OAAO,EAAEC,aAAa,EAAER,IAAI,EAAE,GAAGK;IACjF,MAAM,CAACI,YAAYC,cAAc,GAAGlB,MAAMmB,QAAQ,CAACC;IAEnD,MAAMC,aAAa;QAACpB;QAAW,CAAC,EAAEA,UAAU,OAAO,EAAEO,QAAQ,SAAS,CAAC;QAAEF;KAAU,CAACgB,IAAI,CAAC;IAEzFtB,MAAMuB,SAAS,CAAC;QACd,IAAI,CAACR,SAAS;YACZG,cAAc;YACd;QACF;QAEA,MAAMM,MAAM,IAAIC;QAChBD,IAAIf,GAAG,GAAGM;QACVS,IAAIE,MAAM,GAAG;YACXR,cAAc;QAChB;QACAM,IAAIG,OAAO,GAAG;YACZT,cAAc;QAChB;IACF,GAAG;QAACH;KAAQ;IAEZ,qBACE,MAACa;QAAItB,WAAWe;;YACbJ,eAAeG,2BAAa,KAACjB;gBAAc0B,QAAO;;YAClDZ,4BACC,KAACO;gBACCM,KAAKvB;gBACLE,KAAK,CAAC,EAAEM,QAAQ,EAAEC,gBAAgB,CAAC,CAAC,EAAEA,cAAc,CAAC,GAAG,GAAG,CAAC;;YAG/DC,eAAe,uBAAS,KAACf;;;AAGhC,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/Thumbnail/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport './index.scss'\n\nconst baseClass = 'thumbnail'\n\nimport type { SanitizedCollectionConfig } from 'payload'\n\nimport { File } from '../../graphics/File/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\n\nexport type ThumbnailProps = {\n className?: string\n collectionSlug?: string\n doc?: Record<string, unknown>\n fileSrc?: string\n imageCacheTag?: string\n size?: 'expand' | 'large' | 'medium' | 'small'\n uploadConfig?: SanitizedCollectionConfig['upload']\n}\n\nconst ThumbnailContext = React.createContext({\n className: '',\n filename: '',\n size: 'medium',\n src: '',\n})\n\nexport const useThumbnailContext = () => React.useContext(ThumbnailContext)\n\nexport const Thumbnail: React.FC<ThumbnailProps> = (props) => {\n const { className = '', doc: { filename } = {}, fileSrc, imageCacheTag, size } = props\n const [fileExists, setFileExists] = React.useState(undefined)\n\n const classNames = [baseClass, `${baseClass}--size-${size || 'medium'}`, className].join(' ')\n\n React.useEffect(() => {\n if (!fileSrc) {\n setFileExists(false)\n return\n }\n\n const img = new Image()\n img.src = fileSrc\n img.onload = () => {\n setFileExists(true)\n }\n img.onerror = () => {\n setFileExists(false)\n }\n }, [fileSrc])\n\n return (\n <div className={classNames}>\n {fileExists === undefined && <ShimmerEffect height=\"100%\" />}\n {fileExists && (\n <img\n alt={filename as string}\n src={`${fileSrc}${imageCacheTag ? `?${imageCacheTag}` : ''}`}\n />\n )}\n {fileExists === false && <File />}\n </div>\n )\n}\n"],"names":["React","baseClass","File","ShimmerEffect","ThumbnailContext","createContext","className","filename","size","src","useThumbnailContext","useContext","Thumbnail","props","doc","fileSrc","imageCacheTag","fileExists","setFileExists","useState","undefined","classNames","join","useEffect","img","Image","onload","onerror","div","height","alt"],"mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAEzB,OAAO,eAAc;AAErB,MAAMC,YAAY;AAIlB,SAASC,IAAI,QAAQ,+BAA8B;AACnD,SAASC,aAAa,QAAQ,4BAA2B;AAYzD,MAAMC,iCAAmBJ,MAAMK,aAAa,CAAC;IAC3CC,WAAW;IACXC,UAAU;IACVC,MAAM;IACNC,KAAK;AACP;AAEA,OAAO,MAAMC,sBAAsB,IAAMV,MAAMW,UAAU,CAACP,kBAAiB;AAE3E,OAAO,MAAMQ,YAAsC,CAACC;IAClD,MAAM,EAAEP,YAAY,EAAE,EAAEQ,KAAK,EAAEP,QAAQ,EAAE,GAAG,CAAC,CAAC,EAAEQ,OAAO,EAAEC,aAAa,EAAER,IAAI,EAAE,GAAGK;IACjF,MAAM,CAACI,YAAYC,cAAc,GAAGlB,MAAMmB,QAAQ,CAACC;IAEnD,MAAMC,aAAa;QAACpB;QAAW,CAAC,EAAEA,UAAU,OAAO,EAAEO,QAAQ,SAAS,CAAC;QAAEF;KAAU,CAACgB,IAAI,CAAC;IAEzFtB,MAAMuB,SAAS,CAAC;QACd,IAAI,CAACR,SAAS;YACZG,cAAc;YACd;QACF;QAEA,MAAMM,MAAM,IAAIC;QAChBD,IAAIf,GAAG,GAAGM;QACVS,IAAIE,MAAM,GAAG;YACXR,cAAc;QAChB;QACAM,IAAIG,OAAO,GAAG;YACZT,cAAc;QAChB;IACF,GAAG;QAACH;KAAQ;IAEZ,qBACE,MAACa;QAAItB,WAAWe;;YACbJ,eAAeG,2BAAa,KAACjB;gBAAc0B,QAAO;;YAClDZ,4BACC,KAACO;gBACCM,KAAKvB;gBACLE,KAAK,CAAC,EAAEM,QAAQ,EAAEC,gBAAgB,CAAC,CAAC,EAAEA,cAAc,CAAC,GAAG,GAAG,CAAC;;YAG/DC,eAAe,uBAAS,KAACf;;;AAGhC,EAAC"}
@@ -5,9 +5,9 @@ export type ThumbnailCardProps = {
5
5
  alignLabel?: 'center' | 'left';
6
6
  className?: string;
7
7
  collection?: SanitizedCollectionConfig;
8
- doc?: TypeWithID & {
8
+ doc?: {
9
9
  filename?: string;
10
- };
10
+ } & TypeWithID;
11
11
  label?: string;
12
12
  onClick?: () => void;
13
13
  onKeyDown?: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ThumbnailCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,GAAG,CAAC,EAAE,UAAU,GAAG;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAID,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0CtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/ThumbnailCard/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,yBAAyB,EAAE,UAAU,EAAE,MAAM,SAAS,CAAA;AAEpE,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,OAAO,cAAc,CAAA;AAErB,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,CAAC,EAAE,QAAQ,GAAG,MAAM,CAAA;IAC9B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,UAAU,CAAC,EAAE,yBAAyB,CAAA;IACtC,GAAG,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAA;IACxC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;IACpB,SAAS,CAAC,EAAE,MAAM,IAAI,CAAA;IACtB,SAAS,EAAE,KAAK,CAAC,SAAS,CAAA;CAC3B,CAAA;AAID,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CA0CtD,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ThumbnailCard/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, TypeWithID } from 'payload'\n\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport './index.scss'\n\nexport type ThumbnailCardProps = {\n alignLabel?: 'center' | 'left'\n className?: string\n collection?: SanitizedCollectionConfig\n doc?: TypeWithID & { filename?: string }\n label?: string\n onClick?: () => void\n onKeyDown?: () => void\n thumbnail: React.ReactNode\n}\n\nconst baseClass = 'thumbnail-card'\n\nexport const ThumbnailCard: React.FC<ThumbnailCardProps> = (props) => {\n const {\n alignLabel,\n className,\n collection,\n doc,\n label: labelFromProps,\n onClick,\n thumbnail,\n } = props\n\n const config = useConfig()\n\n const { i18n } = useTranslation()\n\n const classes = [\n baseClass,\n className,\n typeof onClick === 'function' && `${baseClass}--has-on-click`,\n alignLabel && `${baseClass}--align-label-${alignLabel}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let title = labelFromProps\n\n if (!title) {\n title = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: doc?.filename,\n i18n,\n })\n }\n\n return (\n <button className={classes} onClick={onClick} title={title} type=\"button\">\n <div className={`${baseClass}__thumbnail`}>{thumbnail}</div>\n <div className={`${baseClass}__label`}>{title}</div>\n </button>\n )\n}\n"],"names":["React","useConfig","useTranslation","formatDocTitle","baseClass","ThumbnailCard","props","alignLabel","className","collection","doc","label","labelFromProps","onClick","thumbnail","config","i18n","classes","filter","Boolean","join","title","collectionConfig","data","dateFormat","admin","fallback","filename","button","type","div"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,eAAc;AAarB,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EACJC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,GAAG,EACHC,OAAOC,cAAc,EACrBC,OAAO,EACPC,SAAS,EACV,GAAGR;IAEJ,MAAMS,SAASd;IAEf,MAAM,EAAEe,IAAI,EAAE,GAAGd;IAEjB,MAAMe,UAAU;QACdb;QACAI;QACA,OAAOK,YAAY,cAAc,CAAC,EAAET,UAAU,cAAc,CAAC;QAC7DG,cAAc,CAAC,EAAEH,UAAU,cAAc,EAAEG,WAAW,CAAC;KACxD,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIC,QAAQT;IAEZ,IAAI,CAACS,OAAO;QACVA,QAAQlB,eAAe;YACrBmB,kBAAkBb;YAClBc,MAAMb;YACNc,YAAYT,OAAOU,KAAK,CAACD,UAAU;YACnCE,UAAUhB,KAAKiB;YACfX;QACF;IACF;IAEA,qBACE,MAACY;QAAOpB,WAAWS;QAASJ,SAASA;QAASQ,OAAOA;QAAOQ,MAAK;;0BAC/D,KAACC;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,WAAW,CAAC;0BAAGU;;0BAC5C,KAACgB;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;0BAAGiB;;;;AAG9C,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/ThumbnailCard/index.tsx"],"sourcesContent":["'use client'\nimport type { SanitizedCollectionConfig, TypeWithID } from 'payload'\n\nimport React from 'react'\n\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { formatDocTitle } from '../../utilities/formatDocTitle.js'\nimport './index.scss'\n\nexport type ThumbnailCardProps = {\n alignLabel?: 'center' | 'left'\n className?: string\n collection?: SanitizedCollectionConfig\n doc?: { filename?: string } & TypeWithID\n label?: string\n onClick?: () => void\n onKeyDown?: () => void\n thumbnail: React.ReactNode\n}\n\nconst baseClass = 'thumbnail-card'\n\nexport const ThumbnailCard: React.FC<ThumbnailCardProps> = (props) => {\n const {\n alignLabel,\n className,\n collection,\n doc,\n label: labelFromProps,\n onClick,\n thumbnail,\n } = props\n\n const config = useConfig()\n\n const { i18n } = useTranslation()\n\n const classes = [\n baseClass,\n className,\n typeof onClick === 'function' && `${baseClass}--has-on-click`,\n alignLabel && `${baseClass}--align-label-${alignLabel}`,\n ]\n .filter(Boolean)\n .join(' ')\n\n let title = labelFromProps\n\n if (!title) {\n title = formatDocTitle({\n collectionConfig: collection,\n data: doc,\n dateFormat: config.admin.dateFormat,\n fallback: doc?.filename,\n i18n,\n })\n }\n\n return (\n <button className={classes} onClick={onClick} title={title} type=\"button\">\n <div className={`${baseClass}__thumbnail`}>{thumbnail}</div>\n <div className={`${baseClass}__label`}>{title}</div>\n </button>\n )\n}\n"],"names":["React","useConfig","useTranslation","formatDocTitle","baseClass","ThumbnailCard","props","alignLabel","className","collection","doc","label","labelFromProps","onClick","thumbnail","config","i18n","classes","filter","Boolean","join","title","collectionConfig","data","dateFormat","admin","fallback","filename","button","type","div"],"mappings":"AAAA;;AAGA,OAAOA,WAAW,QAAO;AAEzB,SAASC,SAAS,QAAQ,kCAAiC;AAC3D,SAASC,cAAc,QAAQ,uCAAsC;AACrE,SAASC,cAAc,QAAQ,oCAAmC;AAClE,OAAO,eAAc;AAarB,MAAMC,YAAY;AAElB,OAAO,MAAMC,gBAA8C,CAACC;IAC1D,MAAM,EACJC,UAAU,EACVC,SAAS,EACTC,UAAU,EACVC,GAAG,EACHC,OAAOC,cAAc,EACrBC,OAAO,EACPC,SAAS,EACV,GAAGR;IAEJ,MAAMS,SAASd;IAEf,MAAM,EAAEe,IAAI,EAAE,GAAGd;IAEjB,MAAMe,UAAU;QACdb;QACAI;QACA,OAAOK,YAAY,cAAc,CAAC,EAAET,UAAU,cAAc,CAAC;QAC7DG,cAAc,CAAC,EAAEH,UAAU,cAAc,EAAEG,WAAW,CAAC;KACxD,CACEW,MAAM,CAACC,SACPC,IAAI,CAAC;IAER,IAAIC,QAAQT;IAEZ,IAAI,CAACS,OAAO;QACVA,QAAQlB,eAAe;YACrBmB,kBAAkBb;YAClBc,MAAMb;YACNc,YAAYT,OAAOU,KAAK,CAACD,UAAU;YACnCE,UAAUhB,KAAKiB;YACfX;QACF;IACF;IAEA,qBACE,MAACY;QAAOpB,WAAWS;QAASJ,SAASA;QAASQ,OAAOA;QAAOQ,MAAK;;0BAC/D,KAACC;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,WAAW,CAAC;0BAAGU;;0BAC5C,KAACgB;gBAAItB,WAAW,CAAC,EAAEJ,UAAU,OAAO,CAAC;0BAAGiB;;;;AAG9C,EAAC"}