@payloadcms/ui 4.0.0-internal.cea8867 → 4.0.0-internal.d1cc1d3

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 (319) hide show
  1. package/dist/css/app.css +121 -0
  2. package/dist/css/forms.css +0 -6
  3. package/dist/css/spacing.css +11 -3
  4. package/dist/css/z-index.css +10 -0
  5. package/dist/elements/AddNewRelation/index.css +0 -1
  6. package/dist/elements/AppHeader/index.css +0 -3
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +5 -1
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/ArrayAction/index.d.ts +2 -0
  11. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +65 -24
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +2 -2
  15. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  16. package/dist/elements/BulkUpload/FileSidebar/index.css +4 -0
  17. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +2 -2
  18. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  19. package/dist/elements/BulkUpload/FormsManager/createFormData.js +4 -15
  20. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  21. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  22. package/dist/elements/BulkUpload/FormsManager/index.js +1 -1
  23. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  24. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts +8 -1
  25. package/dist/elements/ClipboardAction/clipboardUtilities.d.ts.map +1 -1
  26. package/dist/elements/ClipboardAction/clipboardUtilities.js +40 -8
  27. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  28. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +120 -0
  29. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +1 -0
  30. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  31. package/dist/elements/ClipboardAction/index.js +17 -1
  32. package/dist/elements/ClipboardAction/index.js.map +1 -1
  33. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +144 -0
  34. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +1 -0
  35. package/dist/elements/ClipboardAction/types.d.ts +3 -0
  36. package/dist/elements/ClipboardAction/types.d.ts.map +1 -1
  37. package/dist/elements/ClipboardAction/types.js.map +1 -1
  38. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts +10 -0
  39. package/dist/elements/ClipboardAction/useCanPasteClipboard.d.ts.map +1 -0
  40. package/dist/elements/ClipboardAction/useCanPasteClipboard.js +21 -0
  41. package/dist/elements/ClipboardAction/useCanPasteClipboard.js.map +1 -0
  42. package/dist/elements/CodeEditor/index.css +0 -5
  43. package/dist/elements/CommandPalette/index.css +0 -7
  44. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  45. package/dist/elements/CreateDocumentButton/index.js +4 -1
  46. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  47. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  48. package/dist/elements/DatePicker/DatePicker.js +1 -0
  49. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  50. package/dist/elements/DatePicker/index.css +1 -1
  51. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  52. package/dist/elements/DeleteDocument/index.js +16 -1
  53. package/dist/elements/DeleteDocument/index.js.map +1 -1
  54. package/dist/elements/EditMany/DrawerContent.js +2 -2
  55. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  56. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  57. package/dist/elements/FieldSelect/reduceFieldOptions.js +3 -1
  58. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  59. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +143 -0
  60. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +1 -0
  61. package/dist/elements/FileDetails/StaticFileDetails/index.css +8 -9
  62. package/dist/elements/FileManager/FilePreview/index.css +3 -3
  63. package/dist/elements/FileManager/index.css +36 -23
  64. package/dist/elements/FileManager/index.d.ts +1 -1
  65. package/dist/elements/FileManager/index.d.ts.map +1 -1
  66. package/dist/elements/FileManager/index.js +15 -4
  67. package/dist/elements/FileManager/index.js.map +1 -1
  68. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.css +0 -1
  69. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.d.ts.map +1 -1
  70. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js +109 -89
  71. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.js.map +1 -1
  72. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.d.ts.map +1 -1
  73. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js +2 -0
  74. package/dist/elements/Hierarchy/Tree/HierarchySidebarTab.server.js.map +1 -1
  75. package/dist/elements/Hierarchy/Tree/TreeNode/index.css +0 -1
  76. package/dist/elements/InputStepper/index.css +0 -1
  77. package/dist/elements/Locked/index.css +0 -8
  78. package/dist/elements/Locked/index.d.ts.map +1 -1
  79. package/dist/elements/Locked/index.js +70 -64
  80. package/dist/elements/Locked/index.js.map +1 -1
  81. package/dist/elements/MiniCarousel/index.css +39 -37
  82. package/dist/elements/Nav/SidebarTabs/index.client.d.ts.map +1 -1
  83. package/dist/elements/Nav/SidebarTabs/index.client.js +12 -5
  84. package/dist/elements/Nav/SidebarTabs/index.client.js.map +1 -1
  85. package/dist/elements/Nav/SidebarTabs/index.css +0 -5
  86. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts +1 -0
  87. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.d.ts.map +1 -1
  88. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +2 -1
  89. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  90. package/dist/elements/NavGroup/index.css +0 -1
  91. package/dist/elements/PreviewButton/index.d.ts +1 -2
  92. package/dist/elements/PreviewButton/index.d.ts.map +1 -1
  93. package/dist/elements/PreviewButton/index.js +11 -5
  94. package/dist/elements/PreviewButton/index.js.map +1 -1
  95. package/dist/elements/PreviewSizes/index.css +8 -9
  96. package/dist/elements/ReactSelect/ClearIndicator/index.css +0 -1
  97. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts +7 -0
  98. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -0
  99. package/dist/elements/ReactSelect/DefaultMenuPortal.js +120 -0
  100. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -0
  101. package/dist/elements/ReactSelect/MultiValue/index.css +0 -1
  102. package/dist/elements/ReactSelect/MultiValueLabel/index.css +2 -2
  103. package/dist/elements/ReactSelect/getMenuListStyles.d.ts +1 -1
  104. package/dist/elements/ReactSelect/getMenuListStyles.d.ts.map +1 -1
  105. package/dist/elements/ReactSelect/getMenuListStyles.js +13 -5
  106. package/dist/elements/ReactSelect/getMenuListStyles.js.map +1 -1
  107. package/dist/elements/ReactSelect/getMenuStyles.d.ts +10 -0
  108. package/dist/elements/ReactSelect/getMenuStyles.d.ts.map +1 -0
  109. package/dist/elements/ReactSelect/getMenuStyles.js +21 -0
  110. package/dist/elements/ReactSelect/getMenuStyles.js.map +1 -0
  111. package/dist/elements/ReactSelect/index.css +7 -3
  112. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  113. package/dist/elements/ReactSelect/index.js +24 -101
  114. package/dist/elements/ReactSelect/index.js.map +1 -1
  115. package/dist/elements/ReactSelect/types.d.ts +1 -2
  116. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  117. package/dist/elements/ReactSelect/types.js.map +1 -1
  118. package/dist/elements/RelationshipTable/Pagination.d.ts +0 -1
  119. package/dist/elements/RelationshipTable/Pagination.d.ts.map +1 -1
  120. package/dist/elements/RelationshipTable/Pagination.js +27 -77
  121. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  122. package/dist/elements/RelationshipTable/index.css +0 -2
  123. package/dist/elements/RelationshipTable/index.d.ts +1 -0
  124. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  125. package/dist/elements/RelationshipTable/index.js +36 -3
  126. package/dist/elements/RelationshipTable/index.js.map +1 -1
  127. package/dist/elements/RenderTitle/index.css +4 -0
  128. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  129. package/dist/elements/RenderTitle/index.js +18 -13
  130. package/dist/elements/RenderTitle/index.js.map +1 -1
  131. package/dist/elements/SelectRow/index.d.ts +4 -3
  132. package/dist/elements/SelectRow/index.d.ts.map +1 -1
  133. package/dist/elements/SelectRow/index.js +10 -7
  134. package/dist/elements/SelectRow/index.js.map +1 -1
  135. package/dist/elements/SidebarToggle/index.css +0 -17
  136. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  137. package/dist/elements/SortColumn/index.js +42 -38
  138. package/dist/elements/SortColumn/index.js.map +1 -1
  139. package/dist/elements/Table/OrderableRow.d.ts +3 -1
  140. package/dist/elements/Table/OrderableRow.d.ts.map +1 -1
  141. package/dist/elements/Table/OrderableRow.js +17 -1
  142. package/dist/elements/Table/OrderableRow.js.map +1 -1
  143. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  144. package/dist/elements/Table/OrderableTable.js +19 -2
  145. package/dist/elements/Table/OrderableTable.js.map +1 -1
  146. package/dist/elements/Table/index.css +1 -0
  147. package/dist/elements/TableSection/index.css +0 -1
  148. package/dist/elements/Thumbnail/index.d.ts +1 -1
  149. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  150. package/dist/elements/Thumbnail/index.js.map +1 -1
  151. package/dist/elements/TimezonePicker/index.d.ts.map +1 -1
  152. package/dist/elements/TimezonePicker/index.js +5 -1
  153. package/dist/elements/TimezonePicker/index.js.map +1 -1
  154. package/dist/elements/Tooltip/index.css +15 -34
  155. package/dist/elements/Tooltip/index.d.ts +11 -3
  156. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  157. package/dist/elements/Tooltip/index.js +151 -85
  158. package/dist/elements/Tooltip/index.js.map +1 -1
  159. package/dist/elements/Upload/index.css +0 -5
  160. package/dist/exports/client/index.d.ts +3 -0
  161. package/dist/exports/client/index.d.ts.map +1 -1
  162. package/dist/exports/client/index.js +1 -1
  163. package/dist/exports/client/index.js.map +3 -3
  164. package/dist/exports/layouts.d.ts +1 -0
  165. package/dist/exports/layouts.d.ts.map +1 -1
  166. package/dist/exports/layouts.js +1 -0
  167. package/dist/exports/layouts.js.map +1 -1
  168. package/dist/exports/shared/index.d.ts +1 -0
  169. package/dist/exports/shared/index.d.ts.map +1 -1
  170. package/dist/exports/shared/index.js +2 -2
  171. package/dist/exports/shared/index.js.map +4 -4
  172. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  173. package/dist/fields/Array/ArrayRow.js +97 -160
  174. package/dist/fields/Array/ArrayRow.js.map +1 -1
  175. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  176. package/dist/fields/Blocks/BlockRow.js +134 -195
  177. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  178. package/dist/fields/Blocks/RowActions.d.ts +2 -0
  179. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  180. package/dist/fields/Blocks/RowActions.js +23 -20
  181. package/dist/fields/Blocks/RowActions.js.map +1 -1
  182. package/dist/fields/Blocks/index.js +3 -3
  183. package/dist/fields/Blocks/index.js.map +1 -1
  184. package/dist/fields/Checkbox/Input.d.ts +2 -0
  185. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  186. package/dist/fields/Checkbox/Input.js +32 -26
  187. package/dist/fields/Checkbox/Input.js.map +1 -1
  188. package/dist/fields/Checkbox/index.css +37 -73
  189. package/dist/fields/FieldError/index.css +0 -9
  190. package/dist/fields/FieldError/index.d.ts.map +1 -1
  191. package/dist/fields/FieldError/index.js +19 -9
  192. package/dist/fields/FieldError/index.js.map +1 -1
  193. package/dist/fields/Join/index.css +9 -0
  194. package/dist/fields/Join/index.d.ts.map +1 -1
  195. package/dist/fields/Join/index.js +13 -9
  196. package/dist/fields/Join/index.js.map +1 -1
  197. package/dist/fields/RadioGroup/index.css +0 -7
  198. package/dist/fields/Relationship/Input.d.ts.map +1 -1
  199. package/dist/fields/Relationship/Input.js +32 -14
  200. package/dist/fields/Relationship/Input.js.map +1 -1
  201. package/dist/fields/Relationship/select-components/MultiValueLabel/index.css +1 -1
  202. package/dist/fields/Slug/index.css +0 -1
  203. package/dist/fields/Slug/index.d.ts.map +1 -1
  204. package/dist/fields/Slug/index.js +75 -111
  205. package/dist/fields/Slug/index.js.map +1 -1
  206. package/dist/fields/Upload/index.css +19 -4
  207. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  208. package/dist/forms/Form/fieldReducer.js +3 -1
  209. package/dist/forms/Form/fieldReducer.js.map +1 -1
  210. package/dist/forms/Form/index.d.ts.map +1 -1
  211. package/dist/forms/Form/index.js +9 -15
  212. package/dist/forms/Form/index.js.map +1 -1
  213. package/dist/forms/Form/types.d.ts +1 -1
  214. package/dist/forms/Form/types.d.ts.map +1 -1
  215. package/dist/forms/Form/types.js.map +1 -1
  216. package/dist/forms/RenderFields/index.css +16 -2
  217. package/dist/forms/WatchChildErrors/index.d.ts.map +1 -1
  218. package/dist/forms/WatchChildErrors/index.js +2 -2
  219. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  220. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +1 -1
  221. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  222. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  223. package/dist/forms/fieldSchemasToFormState/renderField.js +1 -3
  224. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  225. package/dist/layouts/Root/index.d.ts +1 -1
  226. package/dist/layouts/Root/index.d.ts.map +1 -1
  227. package/dist/layouts/Root/index.js +8 -2
  228. package/dist/layouts/Root/index.js.map +1 -1
  229. package/dist/layouts/Root/viewport.d.ts +1 -0
  230. package/dist/layouts/Root/viewport.d.ts.map +1 -1
  231. package/dist/layouts/Root/viewport.js +4 -1
  232. package/dist/layouts/Root/viewport.js.map +1 -1
  233. package/dist/providers/DocumentTitle/index.d.ts +1 -0
  234. package/dist/providers/DocumentTitle/index.d.ts.map +1 -1
  235. package/dist/providers/DocumentTitle/index.js +2 -0
  236. package/dist/providers/DocumentTitle/index.js.map +1 -1
  237. package/dist/providers/Embed/index.d.ts +24 -0
  238. package/dist/providers/Embed/index.d.ts.map +1 -0
  239. package/dist/providers/Embed/index.js +105 -0
  240. package/dist/providers/Embed/index.js.map +1 -0
  241. package/dist/providers/FormErrorHandler/index.d.ts +20 -0
  242. package/dist/providers/FormErrorHandler/index.d.ts.map +1 -0
  243. package/dist/providers/FormErrorHandler/index.js +6 -0
  244. package/dist/providers/FormErrorHandler/index.js.map +1 -0
  245. package/dist/providers/Root/index.d.ts +1 -0
  246. package/dist/providers/Root/index.d.ts.map +1 -1
  247. package/dist/providers/Root/index.js +33 -27
  248. package/dist/providers/Root/index.js.map +1 -1
  249. package/dist/providers/SidebarTabs/index.d.ts +3 -2
  250. package/dist/providers/SidebarTabs/index.d.ts.map +1 -1
  251. package/dist/providers/SidebarTabs/index.js.map +1 -1
  252. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  253. package/dist/providers/TableColumns/buildColumnState/index.js +1 -1
  254. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  255. package/dist/providers/TableColumns/buildColumnState/index.spec.js +40 -0
  256. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +1 -0
  257. package/dist/providers/Theme/index.d.ts +3 -0
  258. package/dist/providers/Theme/index.d.ts.map +1 -1
  259. package/dist/providers/Theme/index.js +107 -95
  260. package/dist/providers/Theme/index.js.map +1 -1
  261. package/dist/providers/UploadHandlers/index.d.ts +2 -7
  262. package/dist/providers/UploadHandlers/index.d.ts.map +1 -1
  263. package/dist/providers/UploadHandlers/index.js +102 -42
  264. package/dist/providers/UploadHandlers/index.js.map +1 -1
  265. package/dist/styles.css +23 -10
  266. package/dist/utilities/combineFieldLabel.d.ts.map +1 -1
  267. package/dist/utilities/combineFieldLabel.js +5 -1
  268. package/dist/utilities/combineFieldLabel.js.map +1 -1
  269. package/dist/utilities/generateFieldID.d.ts +1 -1
  270. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  271. package/dist/utilities/generateFieldID.js +2 -2
  272. package/dist/utilities/generateFieldID.js.map +1 -1
  273. package/dist/utilities/getRequestEmbed.d.ts +14 -0
  274. package/dist/utilities/getRequestEmbed.d.ts.map +1 -0
  275. package/dist/utilities/getRequestEmbed.js +10 -0
  276. package/dist/utilities/getRequestEmbed.js.map +1 -0
  277. package/dist/utilities/handleServerFunctions.d.ts +32 -8
  278. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  279. package/dist/utilities/handleServerFunctions.js +17 -37
  280. package/dist/utilities/handleServerFunctions.js.map +1 -1
  281. package/dist/utilities/renderTable.d.ts.map +1 -1
  282. package/dist/utilities/renderTable.js +18 -2
  283. package/dist/utilities/renderTable.js.map +1 -1
  284. package/dist/utilities/serverFunctionRegistry.d.ts +12 -7
  285. package/dist/utilities/serverFunctionRegistry.d.ts.map +1 -1
  286. package/dist/utilities/serverFunctionRegistry.js +25 -7
  287. package/dist/utilities/serverFunctionRegistry.js.map +1 -1
  288. package/dist/utilities/slugify.d.ts.map +1 -1
  289. package/dist/utilities/slugify.js +49 -6
  290. package/dist/utilities/slugify.js.map +1 -1
  291. package/dist/views/Dashboard/Default/ModularDashboard/index.css +0 -8
  292. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js +4 -4
  293. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/RenderWidget.js.map +1 -1
  294. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +10 -10
  295. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  296. package/dist/views/Edit/index.css +61 -53
  297. package/dist/views/HierarchyList/index.css +1 -1
  298. package/dist/views/List/index.css +1 -1
  299. package/dist/views/List/index.d.ts.map +1 -1
  300. package/dist/views/List/index.js +4 -0
  301. package/dist/views/List/index.js.map +1 -1
  302. package/dist/views/Logout/index.d.ts.map +1 -1
  303. package/dist/views/Logout/index.js +11 -0
  304. package/dist/views/Logout/index.js.map +1 -1
  305. package/dist/views/Root/index.d.ts +12 -1
  306. package/dist/views/Root/index.d.ts.map +1 -1
  307. package/dist/views/Root/index.js +10 -3
  308. package/dist/views/Root/index.js.map +1 -1
  309. package/package.json +7 -11
  310. package/dist/elements/RelationshipTable/Pagination.css +0 -39
  311. package/dist/scss/app.scss +0 -183
  312. package/dist/scss/colors.scss +0 -191
  313. package/dist/scss/custom.css +0 -1
  314. package/dist/scss/queries.scss +0 -27
  315. package/dist/scss/styles.scss +0 -9
  316. package/dist/scss/svg.scss +0 -10
  317. package/dist/scss/toastify.scss +0 -61
  318. package/dist/scss/vars.scss +0 -192
  319. package/dist/scss/z-index.scss +0 -9
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["c","_c","arrayMove","getTranslation","React","useCallback","useEffect","useId","useLayoutEffect","useMemo","useRef","useState","Select","components","rsComponents","CreatableSelect","useDebouncedEffect","useTheme","useTranslation","DraggableSortable","ShimmerEffect","ClearIndicator","Control","DropdownIndicator","getCaptureMenuScroll","getMenuListStyles","Input","generateMultiValueDraggableID","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","ThemedMenuPortal","props","$","theme","menuPortalTheme","selectProps","customProps","t0","t1","_jsx","MenuPortal","innerProps","DEFAULT_MAX_MENU_HEIGHT","MIN_USABLE_MENU_HEIGHT","MENU_VIEWPORT_GAP","SelectAdapter","i18n","t","inputValue","setInputValue","uuid","hasMounted","setHasMounted","isMenuOpen","setIsMenuOpen","maxMenuHeight","setMaxMenuHeight","menuPlacement","setMenuPlacement","containerRef","captureMenuScroll","captureMenuScrollProp","className","classNames","externalClassNames","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","menuPortalTarget","menuPortalTargetProp","menuPosition","menuPositionProp","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","styles","externalStyles","value","document","body","updateMenuViewportSettings","window","controlEl","current","querySelector","controlRect","getBoundingClientRect","availableBelow","Math","max","innerHeight","bottom","availableAbove","top","shouldOpenTop","availableHeight","min","floor","addEventListener","removeEventListener","isLoadingDebounced","setIsLoadingDebounced","handleMenuOpen","requestAnimationFrame","handleMenuClose","menuClassName","state","placement","external","menu","filter","Boolean","join","selectClassNames","menuList","selectComponents","sharedSelectProps","classNamePrefix","instanceId","isDisabled","loadingMessage","menuShouldBlockScroll","rsStyles","zIndex","menuPortal","control","minHeight","option","unstyled","height","ref","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","nativeEvent","isComposing","label","onInputChange","newValue","onKeyDown","SortableSelect","draggableIDs","Array","isArray","map","optionValue","ids","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { JSX, KeyboardEventHandler } from 'react'\nimport type { GroupBase, MenuListProps, MenuProps, StylesConfig } from 'react-select'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, {\n useCallback,\n useEffect,\n useId,\n useLayoutEffect,\n useMemo,\n useRef,\n useState,\n} from 'react'\nimport Select, { components as rsComponents } from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option, ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useTheme } from '../../providers/Theme/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { DropdownIndicator } from './DropdownIndicator/index.js'\nimport { getCaptureMenuScroll } from './getCaptureMenuScroll.js'\nimport { getMenuListStyles } from './getMenuListStyles.js'\nimport { Input } from './Input/index.js'\nimport { generateMultiValueDraggableID, MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.css'\n\n// Propagates the nearest scoped theme (via ThemeProvider) into the portal div,\n// falling back to the global theme. Ensures dropdown menus portaled to\n// document.body inherit the correct theme (e.g. dark Popup).\nfunction ThemedMenuPortal<Opt, IsMulti extends boolean, Group extends GroupBase<Opt>>(\n props: React.ComponentProps<typeof rsComponents.MenuPortal<Opt, IsMulti, Group>>,\n) {\n const { theme } = useTheme()\n const menuPortalTheme = (props.selectProps as any)?.customProps?.menuPortalTheme\n return (\n <rsComponents.MenuPortal\n {...props}\n innerProps={{ 'data-theme': menuPortalTheme ?? theme } as JSX.IntrinsicElements['div']}\n />\n )\n}\n\nconst DEFAULT_MAX_MENU_HEIGHT = 300\nconst MIN_USABLE_MENU_HEIGHT = 140\nconst MENU_VIEWPORT_GAP = 16 // space between the control and the edge of the window\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = useState('') // for creatable select\n const uuid = useId()\n const [hasMounted, setHasMounted] = useState(false)\n const [isMenuOpen, setIsMenuOpen] = useState(false)\n const [maxMenuHeight, setMaxMenuHeight] = useState(DEFAULT_MAX_MENU_HEIGHT)\n const [menuPlacement, setMenuPlacement] = useState<'auto' | 'bottom' | 'top'>('auto')\n const containerRef = useRef<HTMLDivElement>(null)\n\n const {\n captureMenuScroll: captureMenuScrollProp,\n className,\n classNames: externalClassNames,\n components,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n menuPortalTarget: menuPortalTargetProp,\n menuPosition: menuPositionProp,\n noOptionsMessage = () => t('general:noOptions'),\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n styles: externalStyles,\n value,\n } = props\n\n const menuPortalTarget =\n menuPortalTargetProp === undefined\n ? typeof document !== 'undefined'\n ? document.body\n : null\n : menuPortalTargetProp\n\n const menuPosition = menuPositionProp ?? (menuPortalTarget ? 'fixed' : undefined)\n const captureMenuScroll = getCaptureMenuScroll({\n captureMenuScroll: captureMenuScrollProp,\n menuPortalTarget,\n })\n\n const updateMenuViewportSettings = useCallback(() => {\n if (!isMenuOpen || typeof window === 'undefined') {\n return\n }\n\n const controlEl = containerRef.current?.querySelector('.rs__control')\n\n if (!controlEl) {\n return\n }\n\n const controlRect = controlEl.getBoundingClientRect()\n const availableBelow = Math.max(window.innerHeight - controlRect.bottom - MENU_VIEWPORT_GAP, 0)\n const availableAbove = Math.max(controlRect.top - MENU_VIEWPORT_GAP, 0)\n const shouldOpenTop = availableBelow < MIN_USABLE_MENU_HEIGHT && availableAbove > availableBelow\n const availableHeight = shouldOpenTop ? availableAbove : availableBelow\n\n setMenuPlacement(shouldOpenTop ? 'top' : 'bottom')\n setMaxMenuHeight(Math.max(Math.min(Math.floor(availableHeight), DEFAULT_MAX_MENU_HEIGHT), 1))\n }, [isMenuOpen])\n\n useEffect(() => {\n setHasMounted(true)\n }, [])\n\n useLayoutEffect(() => {\n if (!isMenuOpen) {\n setMenuPlacement('auto')\n setMaxMenuHeight(DEFAULT_MAX_MENU_HEIGHT)\n return\n }\n\n updateMenuViewportSettings()\n\n window.addEventListener('resize', updateMenuViewportSettings)\n window.addEventListener('scroll', updateMenuViewportSettings, true)\n\n return () => {\n window.removeEventListener('resize', updateMenuViewportSettings)\n window.removeEventListener('scroll', updateMenuViewportSettings, true)\n }\n }, [isMenuOpen, updateMenuViewportSettings])\n\n // Debounce the loading state so that fast option fetches (e.g. relationship\n // fields that resolve almost instantly) don't cause the clear indicator to\n // flash to react-select's loading indicator and back. The loading indicator\n // only appears once a load takes longer than the threshold below.\n const [isLoadingDebounced, setIsLoadingDebounced] = useState(false)\n\n useDebouncedEffect(\n () => {\n setIsLoadingDebounced(isLoading)\n },\n [isLoading],\n 250,\n )\n\n const handleMenuOpen = () => {\n setIsMenuOpen(true)\n requestAnimationFrame(updateMenuViewportSettings)\n onMenuOpen?.()\n }\n\n const handleMenuClose = () => {\n setIsMenuOpen(false)\n onMenuClose?.()\n }\n\n const menuClassName = useCallback(\n (state: MenuProps<Option, boolean, GroupBase<Option>>) => {\n const placement = state.placement ? `rs__menu--placement-${state.placement}` : ''\n const external = externalClassNames?.menu?.(state) ?? ''\n return [placement, external].filter(Boolean).join(' ')\n },\n [externalClassNames],\n )\n\n const selectClassNames = useMemo(\n () => ({\n ...externalClassNames,\n menu: menuClassName,\n menuList: (state: MenuListProps<Option, boolean, GroupBase<Option>>) => {\n const external = externalClassNames?.menuList?.(state) ?? ''\n return ['scrollbar-thin', external].filter(Boolean).join(' ')\n },\n }),\n [externalClassNames, menuClassName],\n )\n\n const selectComponents = useMemo(\n () => ({\n ClearIndicator,\n Control,\n DropdownIndicator,\n Input,\n MenuPortal: ThemedMenuPortal,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }),\n [components],\n )\n\n const sharedSelectProps = {\n captureMenuScroll,\n className: [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' '),\n classNamePrefix: 'rs',\n classNames: selectClassNames,\n components: selectComponents,\n filterOption,\n instanceId: uuid,\n isClearable,\n isDisabled: disabled,\n isLoading: isLoadingDebounced,\n isSearchable,\n loadingMessage: () => t('general:loading') + '...',\n maxMenuHeight,\n menuPlacement,\n menuPortalTarget,\n menuPosition,\n menuShouldBlockScroll: false,\n noOptionsMessage,\n onChange,\n onMenuClose: handleMenuClose,\n onMenuOpen: handleMenuOpen,\n options,\n placeholder: getTranslation(placeholder, i18n),\n styles: {\n // Remove the default react-select z-index from the menu so that our custom\n // z-index in the \"payload-default\" css layer can take effect, in such a way\n // that end users can easily override it as with other styles.\n menu: (rsStyles, state) => ({\n ...rsStyles,\n zIndex: undefined,\n ...externalStyles?.menu?.(rsStyles, state),\n }),\n // When portaling to document.body, the portal container needs an explicit\n // z-index so the menu appears above drawers and dialogs. unstyled={true}\n // strips react-select's default zIndex:9999 from the portal container.\n ...(menuPortalTarget && {\n menuPortal: (rsStyles, state) => ({\n ...rsStyles,\n zIndex: 9999,\n ...externalStyles?.menuPortal?.(rsStyles, state),\n }),\n }),\n // Remove the default react-select min-height so our CSS can control it\n control: (rsStyles, state) => ({\n ...rsStyles,\n minHeight: undefined,\n ...externalStyles?.control?.(rsStyles, state),\n }),\n // Allow external option styles to override emotion defaults\n option: (rsStyles, state) => ({\n ...rsStyles,\n ...externalStyles?.option?.(rsStyles, state),\n }),\n // Keep react-select's computed maxHeight so the menu can fit available\n // viewport space near screen edges (instead of using a fixed class value).\n menuList: getMenuListStyles(externalStyles),\n },\n unstyled: true,\n }\n\n if (!hasMounted) {\n return <ShimmerEffect height=\"var(--field-min-height-large)\" />\n }\n\n if (!isCreatable) {\n return (\n <div ref={containerRef}>\n <Select<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n getOptionValue={getOptionValue}\n value={value}\n />\n </div>\n )\n }\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n\n if (!value || !inputValue || inputValue.trim() === '') {\n return\n }\n\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n\n if (event.nativeEvent.isComposing) {\n return\n }\n\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([\n ...(value as Option[]),\n {\n label: inputValue,\n value: inputValue,\n },\n ])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <div ref={containerRef}>\n <CreatableSelect<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n inputValue={inputValue}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n value={value}\n />\n </div>\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { getOptionValue, onChange, value } = props\n\n let draggableIDs: string[] = []\n if (value) {\n draggableIDs = (Array.isArray(value) ? value : [value]).map((optionValue) => {\n return generateMultiValueDraggableID(optionValue, getOptionValue)\n })\n }\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={draggableIDs}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["arrayMove","getTranslation","React","useCallback","useEffect","useId","useMemo","useState","Select","CreatableSelect","useDebouncedEffect","useTranslation","DraggableSortable","ShimmerEffect","ClearIndicator","Control","DefaultMenuPortal","DropdownIndicator","getCaptureMenuScroll","getMenuListStyles","getMenuStyles","Input","generateMultiValueDraggableID","MultiValue","MultiValueLabel","MultiValueRemove","SingleValue","ValueContainer","DEFAULT_MAX_MENU_HEIGHT","SelectAdapter","props","i18n","t","inputValue","setInputValue","uuid","hasMounted","setHasMounted","captureMenuScroll","captureMenuScrollProp","className","classNames","externalClassNames","components","disabled","filterOption","undefined","getOptionValue","isClearable","isCreatable","isLoading","isSearchable","menuPortalTarget","menuPortalTargetProp","menuPosition","menuPositionProp","noOptionsMessage","numberOnly","onChange","onMenuClose","onMenuOpen","options","placeholder","showError","styles","externalStyles","value","document","body","shouldUseFloatingMenuPortal","Boolean","MenuPortal","isLoadingDebounced","setIsLoadingDebounced","menuClassName","state","placement","external","menu","filter","join","selectClassNames","menuList","selectComponents","sharedSelectProps","classNamePrefix","instanceId","isDisabled","loadingMessage","maxMenuHeight","menuPlacement","menuShouldBlockScroll","menuPortal","rsStyles","zIndex","control","minHeight","option","unstyled","_jsx","height","handleKeyDown","event","acceptableKeys","isNumber","test","key","isActionKey","includes","preventDefault","trim","nativeEvent","isComposing","label","onInputChange","newValue","onKeyDown","SortableSelect","draggableIDs","Array","isArray","map","optionValue","ids","onDragEnd","moveFromIndex","moveToIndex","sorted","ReactSelect","isMulti","isSortable"],"sources":["../../../src/elements/ReactSelect/index.tsx"],"sourcesContent":["'use client'\nimport type { KeyboardEventHandler } from 'react'\nimport type { GroupBase, MenuListProps, MenuProps } from 'react-select'\n\nimport { arrayMove } from '@dnd-kit/sortable'\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useCallback, useEffect, useId, useMemo, useState } from 'react'\nimport Select from 'react-select'\nimport CreatableSelect from 'react-select/creatable'\n\nimport type { Option, ReactSelectAdapterProps } from './types.js'\nexport type { Option } from './types.js'\n\nimport { useDebouncedEffect } from '../../hooks/useDebouncedEffect.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { DraggableSortable } from '../DraggableSortable/index.js'\nimport { ShimmerEffect } from '../ShimmerEffect/index.js'\nimport { ClearIndicator } from './ClearIndicator/index.js'\nimport { Control } from './Control/index.js'\nimport { DefaultMenuPortal } from './DefaultMenuPortal.js'\nimport { DropdownIndicator } from './DropdownIndicator/index.js'\nimport { getCaptureMenuScroll } from './getCaptureMenuScroll.js'\nimport { getMenuListStyles } from './getMenuListStyles.js'\nimport { getMenuStyles } from './getMenuStyles.js'\nimport { Input } from './Input/index.js'\nimport { generateMultiValueDraggableID, MultiValue } from './MultiValue/index.js'\nimport { MultiValueLabel } from './MultiValueLabel/index.js'\nimport { MultiValueRemove } from './MultiValueRemove/index.js'\nimport { SingleValue } from './SingleValue/index.js'\nimport { ValueContainer } from './ValueContainer/index.js'\nimport './index.css'\n\nconst DEFAULT_MAX_MENU_HEIGHT = 300\n\nconst SelectAdapter: React.FC<ReactSelectAdapterProps> = (props) => {\n const { i18n, t } = useTranslation()\n const [inputValue, setInputValue] = useState('') // for creatable select\n const uuid = useId()\n const [hasMounted, setHasMounted] = useState(false)\n\n const {\n captureMenuScroll: captureMenuScrollProp,\n className,\n classNames: externalClassNames,\n components,\n disabled = false,\n filterOption = undefined,\n getOptionValue,\n isClearable = true,\n isCreatable,\n isLoading,\n isSearchable = true,\n menuPortalTarget: menuPortalTargetProp,\n menuPosition: menuPositionProp,\n noOptionsMessage = () => t('general:noOptions'),\n numberOnly = false,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder = t('general:selectValue'),\n showError,\n styles: externalStyles,\n value,\n } = props\n\n const menuPortalTarget =\n menuPortalTargetProp === undefined\n ? typeof document !== 'undefined'\n ? document.body\n : null\n : menuPortalTargetProp\n\n const menuPosition = menuPositionProp ?? (menuPortalTarget ? 'fixed' : undefined)\n const shouldUseFloatingMenuPortal = Boolean(menuPortalTarget && !components?.MenuPortal)\n const captureMenuScroll = getCaptureMenuScroll({\n captureMenuScroll: captureMenuScrollProp,\n menuPortalTarget,\n })\n\n useEffect(() => {\n setHasMounted(true)\n }, [])\n\n // Debounce the loading state so that fast option fetches (e.g. relationship\n // fields that resolve almost instantly) don't cause the clear indicator to\n // flash to react-select's loading indicator and back. The loading indicator\n // only appears once a load takes longer than the threshold below.\n const [isLoadingDebounced, setIsLoadingDebounced] = useState(false)\n\n useDebouncedEffect(\n () => {\n setIsLoadingDebounced(isLoading)\n },\n [isLoading],\n 250,\n )\n\n const menuClassName = useCallback(\n (state: MenuProps<Option, boolean, GroupBase<Option>>) => {\n const placement = state.placement ? `rs__menu--placement-${state.placement}` : ''\n const external = externalClassNames?.menu?.(state) ?? ''\n return [placement, external].filter(Boolean).join(' ')\n },\n [externalClassNames],\n )\n\n const selectClassNames = useMemo(\n () => ({\n ...externalClassNames,\n menu: menuClassName,\n menuList: (state: MenuListProps<Option, boolean, GroupBase<Option>>) => {\n const external = externalClassNames?.menuList?.(state) ?? ''\n return ['scrollbar-thin', external].filter(Boolean).join(' ')\n },\n }),\n [externalClassNames, menuClassName],\n )\n\n const selectComponents = useMemo(\n () => ({\n ClearIndicator,\n Control,\n DropdownIndicator,\n Input,\n MenuPortal: DefaultMenuPortal,\n MultiValue,\n MultiValueLabel,\n MultiValueRemove,\n SingleValue,\n ValueContainer,\n ...components,\n }),\n [components],\n )\n\n const sharedSelectProps = {\n captureMenuScroll,\n className: [className, 'react-select', showError && 'react-select--error']\n .filter(Boolean)\n .join(' '),\n classNamePrefix: 'rs',\n classNames: selectClassNames,\n components: selectComponents,\n filterOption,\n instanceId: uuid,\n isClearable,\n isDisabled: disabled,\n isLoading: isLoadingDebounced,\n isSearchable,\n loadingMessage: () => t('general:loading') + '...',\n maxMenuHeight: DEFAULT_MAX_MENU_HEIGHT,\n menuPlacement: 'auto' as const,\n menuPortalTarget,\n menuPosition,\n menuShouldBlockScroll: false,\n noOptionsMessage,\n onChange,\n onMenuClose,\n onMenuOpen,\n options,\n placeholder: getTranslation(placeholder, i18n),\n styles: {\n menu: getMenuStyles({\n externalStyles,\n shouldUseFloatingMenuPortal,\n }),\n // When portaling to document.body, the portal container needs an explicit\n // z-index so the menu appears above drawers and dialogs. unstyled={true}\n // strips react-select's default zIndex:9999 from the portal container.\n ...(menuPortalTarget && {\n menuPortal: (rsStyles, state) => ({\n ...rsStyles,\n zIndex: 'var(--z-portal-element)',\n ...externalStyles?.menuPortal?.(rsStyles, state),\n }),\n }),\n // Remove the default react-select min-height so our CSS can control it\n control: (rsStyles, state) => ({\n ...rsStyles,\n minHeight: undefined,\n ...externalStyles?.control?.(rsStyles, state),\n }),\n // Allow external option styles to override emotion defaults\n option: (rsStyles, state) => ({\n ...rsStyles,\n ...externalStyles?.option?.(rsStyles, state),\n }),\n // Keep react-select's computed maxHeight so the menu can fit available\n // viewport space near screen edges (instead of using a fixed class value).\n menuList: getMenuListStyles(externalStyles, shouldUseFloatingMenuPortal),\n },\n unstyled: true,\n }\n\n if (!hasMounted) {\n return <ShimmerEffect height=\"var(--field-min-height-large)\" />\n }\n\n if (!isCreatable) {\n return (\n <div>\n <Select<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n getOptionValue={getOptionValue}\n value={value}\n />\n </div>\n )\n }\n\n const handleKeyDown: KeyboardEventHandler = (event) => {\n if (numberOnly === true) {\n const acceptableKeys = [\n 'Tab',\n 'Escape',\n 'Backspace',\n 'Enter',\n 'ArrowRight',\n 'ArrowLeft',\n 'ArrowUp',\n 'ArrowDown',\n ]\n const isNumber = !/\\D/.test(event.key)\n const isActionKey = acceptableKeys.includes(event.key)\n if (!isNumber && !isActionKey) {\n event.preventDefault()\n return\n }\n }\n\n if (!value || !inputValue || inputValue.trim() === '') {\n return\n }\n\n if (filterOption && !filterOption(null, inputValue)) {\n return\n }\n\n if (event.nativeEvent.isComposing) {\n return\n }\n\n switch (event.key) {\n case 'Enter':\n case 'Tab':\n onChange([\n ...(value as Option[]),\n {\n label: inputValue,\n value: inputValue,\n },\n ])\n setInputValue('')\n event.preventDefault()\n break\n default:\n break\n }\n }\n\n return (\n <div>\n <CreatableSelect<Option, boolean, GroupBase<Option>>\n {...props}\n {...sharedSelectProps}\n inputValue={inputValue}\n onInputChange={(newValue) => setInputValue(newValue)}\n onKeyDown={handleKeyDown}\n value={value}\n />\n </div>\n )\n}\n\nconst SortableSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { getOptionValue, onChange, value } = props\n\n let draggableIDs: string[] = []\n if (value) {\n draggableIDs = (Array.isArray(value) ? value : [value]).map((optionValue) => {\n return generateMultiValueDraggableID(optionValue, getOptionValue)\n })\n }\n\n return (\n <DraggableSortable\n className=\"react-select-container\"\n ids={draggableIDs}\n onDragEnd={({ moveFromIndex, moveToIndex }) => {\n let sorted = value\n if (value && Array.isArray(value)) {\n sorted = arrayMove(value, moveFromIndex, moveToIndex)\n }\n onChange(sorted)\n }}\n >\n <SelectAdapter {...props} />\n </DraggableSortable>\n )\n}\n\nexport const ReactSelect: React.FC<ReactSelectAdapterProps> = (props) => {\n const { isMulti, isSortable } = props\n\n if (isMulti && isSortable) {\n return <SortableSelect {...props} />\n }\n\n return <SelectAdapter {...props} />\n}\n"],"mappings":"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","ignoreList":[]}
@@ -1,7 +1,7 @@
1
1
  import type { LabelFunction } from 'payload';
2
2
  import type { ClassNamesConfig, CommonProps, GroupBase, Props as ReactSelectStateManagerProps, StylesConfig } from 'react-select';
3
3
  import type { DocumentDrawerProps } from '../DocumentDrawer/types.js';
4
- type CustomSelectProps = {
4
+ export type CustomSelectProps = {
5
5
  disableKeyDown?: boolean;
6
6
  disableMouseDown?: boolean;
7
7
  draggableProps?: any;
@@ -90,5 +90,4 @@ export type ReactSelectAdapterProps = {
90
90
  styles?: StylesConfig<Option>;
91
91
  value?: Option | Option[];
92
92
  };
93
- export {};
94
93
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/ReactSelect/types.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type {\n ClassNamesConfig,\n CommonProps,\n GroupBase,\n Props as ReactSelectStateManagerProps,\n StylesConfig,\n} from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\ntype CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n /** Force the portaled menu to render with a specific theme, independent of the control's ambient theme. */\n menuPortalTheme?: 'dark' | 'light'\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n 'aria-label'?: string\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n captureMenuScroll?: boolean\n className?: string\n classNames?: ClassNamesConfig<Option, boolean, GroupBase<Option>>\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n id?: string\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n menuPortalTarget?: HTMLElement | null\n menuPosition?: 'absolute' | 'fixed'\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n styles?: StylesConfig<Option>\n value?: Option | Option[]\n}\n"],"mappings":"AAqEA","ignoreList":[]}
1
+ {"version":3,"file":"types.js","names":[],"sources":["../../../src/elements/ReactSelect/types.ts"],"sourcesContent":["import type { LabelFunction } from 'payload'\nimport type {\n ClassNamesConfig,\n CommonProps,\n GroupBase,\n Props as ReactSelectStateManagerProps,\n StylesConfig,\n} from 'react-select'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nexport type CustomSelectProps = {\n disableKeyDown?: boolean\n disableMouseDown?: boolean\n draggableProps?: any\n droppableRef?: React.RefObject<HTMLDivElement | null>\n editableProps?: (\n data: Option<{ label: string; value: string }>,\n className: string,\n selectProps: ReactSelectStateManagerProps,\n ) => any\n /** Force the portaled menu to render with a specific theme, independent of the control's ambient theme. */\n menuPortalTheme?: 'dark' | 'light'\n onDelete?: DocumentDrawerProps['onDelete']\n onDocumentOpen?: (args: {\n collectionSlug: string\n hasReadPermission: boolean\n id: number | string\n openInNewTab?: boolean\n }) => void\n onDuplicate?: DocumentDrawerProps['onSave']\n onSave?: DocumentDrawerProps['onSave']\n valueContainerLabel?: string\n}\n\n// augment the types for the `Select` component from `react-select`\n// this is to include the `selectProps` prop at the top-level `Select` component\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src/Select' {\n export interface Props<Option, IsMulti extends boolean, Group extends GroupBase<Option>> {\n customProps?: CustomSelectProps\n }\n}\n\n// augment the types for the `CommonPropsAndClassName` from `react-select`\n// this will include the `selectProps` prop to every `react-select` component automatically\n// @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\ndeclare module 'react-select/dist/declarations/src' {\n export interface CommonPropsAndClassName<\n Option,\n IsMulti extends boolean,\n Group extends GroupBase<Option>,\n > extends CommonProps<Option, IsMulti, Group> {\n customProps?: CustomSelectProps & ReactSelectStateManagerProps<Option, IsMulti, Group>\n }\n}\n\nexport type Option<TValue = unknown> = {\n [key: string]: unknown\n //* The ID is used to identify the option in the UI. If it doesn't exist and value cannot be transformed into a string, sorting won't work */\n id?: string\n value: TValue\n}\n\nexport type OptionGroup = {\n label: string\n options: Option[]\n}\n\nexport type ReactSelectAdapterProps = {\n 'aria-label'?: string\n backspaceRemovesValue?: boolean\n blurInputOnSelect?: boolean\n captureMenuScroll?: boolean\n className?: string\n classNames?: ClassNamesConfig<Option, boolean, GroupBase<Option>>\n components?: {\n [key: string]: React.FC<any>\n }\n customProps?: CustomSelectProps\n disabled?: boolean\n filterOption?:\n | ((\n {\n allowEdit,\n data,\n label,\n value,\n }: { allowEdit: boolean; data: Option; label: string; value: string },\n search: string,\n ) => boolean)\n | undefined\n getOptionValue?: ReactSelectStateManagerProps<\n Option,\n boolean,\n GroupBase<Option>\n >['getOptionValue']\n id?: string\n inputId?: string\n isClearable?: boolean\n /** Allows you to create own values in the UI despite them not being pre-specified */\n isCreatable?: boolean\n isLoading?: boolean\n /** Allows you to specify multiple values instead of just one */\n isMulti?: boolean\n isOptionSelected?: any\n isSearchable?: boolean\n isSortable?: boolean\n menuIsOpen?: boolean\n menuPortalTarget?: HTMLElement | null\n menuPosition?: 'absolute' | 'fixed'\n noOptionsMessage?: (obj: { inputValue: string }) => string\n numberOnly?: boolean\n onChange?: (value: Option | Option[]) => void\n onInputChange?: (val: string) => void\n onMenuClose?: () => void\n onMenuOpen?: () => void\n onMenuScrollToBottom?: () => void\n options: Option[] | OptionGroup[]\n placeholder?: LabelFunction | string\n showError?: boolean\n styles?: StylesConfig<Option>\n value?: Option | Option[]\n}\n"],"mappings":"AAqEA","ignoreList":[]}
@@ -1,4 +1,3 @@
1
1
  import React from 'react';
2
- import './Pagination.css';
3
2
  export declare const RelationshipTablePagination: React.FC;
4
3
  //# sourceMappingURL=Pagination.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/Pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAIzB,OAAO,kBAAkB,CAAA;AAIzB,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAuC/C,CAAA"}
1
+ {"version":3,"file":"Pagination.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/Pagination.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,MAAM,OAAO,CAAA;AAKzB,eAAO,MAAM,2BAA2B,EAAE,KAAK,CAAC,EAoB/C,CAAA"}
@@ -1,94 +1,44 @@
1
1
  'use client';
2
2
 
3
3
  import { c as _c } from "react/compiler-runtime";
4
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
5
  import React from 'react';
6
6
  import { useListQuery } from '../../providers/ListQuery/index.js';
7
- import { useTranslation } from '../../providers/Translation/index.js';
8
- import './Pagination.css';
9
- const baseClass = 'relationship-table-pagination';
7
+ import { Pagination } from '../Pagination/index.js';
10
8
  export const RelationshipTablePagination = () => {
11
- const $ = _c(18);
9
+ const $ = _c(9);
12
10
  const {
13
11
  data,
14
12
  handlePageChange
15
13
  } = useListQuery();
16
- const {
17
- t
18
- } = useTranslation();
19
- const {
20
- hasNextPage,
21
- hasPrevPage,
22
- limit,
23
- nextPage,
24
- page,
25
- prevPage,
26
- totalDocs,
27
- totalPages
28
- } = data;
29
- if (!totalPages || totalPages <= 1 || !totalDocs || !page || !limit) {
14
+ if (!data?.totalDocs || !data?.limit) {
30
15
  return null;
31
16
  }
32
- const currentRangeStart = (page - 1) * limit + 1;
33
- const currentRangeEnd = Math.min(page * limit, totalDocs);
34
- const t0 = !hasPrevPage;
35
- let t1;
36
- if ($[0] !== handlePageChange || $[1] !== prevPage) {
37
- t1 = () => void handlePageChange(prevPage || 1);
38
- $[0] = handlePageChange;
39
- $[1] = prevPage;
40
- $[2] = t1;
41
- } else {
42
- t1 = $[2];
43
- }
44
- let t2;
45
- if ($[3] !== currentRangeEnd || $[4] !== currentRangeStart || $[5] !== handlePageChange || $[6] !== hasNextPage || $[7] !== nextPage || $[8] !== page || $[9] !== t || $[10] !== t0 || $[11] !== t1 || $[12] !== totalDocs) {
46
- let t3;
47
- if ($[14] !== handlePageChange || $[15] !== nextPage || $[16] !== page) {
48
- t3 = () => void handlePageChange(nextPage || page + 1);
49
- $[14] = handlePageChange;
50
- $[15] = nextPage;
51
- $[16] = page;
52
- $[17] = t3;
53
- } else {
54
- t3 = $[17];
55
- }
56
- t2 = _jsxs("div", {
57
- className: baseClass,
58
- children: [_jsxs("div", {
59
- className: `${baseClass}__nav`,
60
- children: [_jsx("button", {
61
- className: `${baseClass}__button`,
62
- disabled: t0,
63
- onClick: t1,
64
- type: "button",
65
- children: t("general:previous")
66
- }), _jsx("button", {
67
- className: `${baseClass}__button`,
68
- disabled: !hasNextPage,
69
- onClick: t3,
70
- type: "button",
71
- children: t("general:next")
72
- })]
73
- }), _jsxs("div", {
74
- className: `${baseClass}__count`,
75
- children: [currentRangeStart, " \u2013 ", currentRangeEnd, " ", t("general:of"), " ", totalDocs]
76
- })]
17
+ let t0;
18
+ if ($[0] !== data.hasNextPage || $[1] !== data.hasPrevPage || $[2] !== data.limit || $[3] !== data.nextPage || $[4] !== data.page || $[5] !== data.prevPage || $[6] !== data.totalPages || $[7] !== handlePageChange) {
19
+ t0 = _jsx(Pagination, {
20
+ hasNextPage: data.hasNextPage,
21
+ hasPrevPage: data.hasPrevPage,
22
+ limit: data.limit,
23
+ nextPage: data.nextPage,
24
+ numberOfNeighbors: 1,
25
+ onChange: handlePageChange,
26
+ page: data.page,
27
+ prevPage: data.prevPage,
28
+ totalPages: data.totalPages
77
29
  });
78
- $[3] = currentRangeEnd;
79
- $[4] = currentRangeStart;
80
- $[5] = handlePageChange;
81
- $[6] = hasNextPage;
82
- $[7] = nextPage;
83
- $[8] = page;
84
- $[9] = t;
85
- $[10] = t0;
86
- $[11] = t1;
87
- $[12] = totalDocs;
88
- $[13] = t2;
30
+ $[0] = data.hasNextPage;
31
+ $[1] = data.hasPrevPage;
32
+ $[2] = data.limit;
33
+ $[3] = data.nextPage;
34
+ $[4] = data.page;
35
+ $[5] = data.prevPage;
36
+ $[6] = data.totalPages;
37
+ $[7] = handlePageChange;
38
+ $[8] = t0;
89
39
  } else {
90
- t2 = $[13];
40
+ t0 = $[8];
91
41
  }
92
- return t2;
42
+ return t0;
93
43
  };
94
44
  //# sourceMappingURL=Pagination.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Pagination.js","names":["c","_c","React","useListQuery","useTranslation","baseClass","RelationshipTablePagination","$","data","handlePageChange","t","hasNextPage","hasPrevPage","limit","nextPage","page","prevPage","totalDocs","totalPages","currentRangeStart","currentRangeEnd","Math","min","t0","t1","t2","t3","_jsxs","className","children","_jsx","disabled","onClick","type"],"sources":["../../../src/elements/RelationshipTable/Pagination.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './Pagination.css'\n\nconst baseClass = 'relationship-table-pagination'\n\nexport const RelationshipTablePagination: React.FC = () => {\n const { data, handlePageChange } = useListQuery()\n const { t } = useTranslation()\n\n const { hasNextPage, hasPrevPage, limit, nextPage, page, prevPage, totalDocs, totalPages } = data\n\n // Don't render pagination if there's only one page, no docs, or missing data\n if (!totalPages || totalPages <= 1 || !totalDocs || !page || !limit) {\n return null\n }\n\n const currentRangeStart = (page - 1) * limit + 1\n const currentRangeEnd = Math.min(page * limit, totalDocs)\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__nav`}>\n <button\n className={`${baseClass}__button`}\n disabled={!hasPrevPage}\n onClick={() => void handlePageChange(prevPage || 1)}\n type=\"button\"\n >\n {t('general:previous')}\n </button>\n <button\n className={`${baseClass}__button`}\n disabled={!hasNextPage}\n onClick={() => void handlePageChange(nextPage || page + 1)}\n type=\"button\"\n >\n {t('general:next')}\n </button>\n </div>\n <div className={`${baseClass}__count`}>\n {currentRangeStart} – {currentRangeEnd} {t('general:of')} {totalDocs}\n </div>\n </div>\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAC7B,SAASC,cAAc,QAAQ;AAC/B,OAAO;AAEP,MAAMC,SAAA,GAAY;AAElB,OAAO,MAAMC,2BAAA,GAAwCA,CAAA;EAAA,MAAAC,CAAA,GAAAN,EAAA;EACnD;IAAAO,IAAA;IAAAC;EAAA,IAAmCN,YAAA;EACnC;IAAAO;EAAA,IAAcN,cAAA;EAEd;IAAAO,WAAA;IAAAC,WAAA;IAAAC,KAAA;IAAAC,QAAA;IAAAC,IAAA;IAAAC,QAAA;IAAAC,SAAA;IAAAC;EAAA,IAA6FV,IAAA;EAAA,IAGzF,CAACU,UAAA,IAAcA,UAAA,KAAc,KAAMD,SAAA,KAAcF,IAAA,KAASF,KAAA;IAAA;EAAA;EAI9D,MAAAM,iBAAA,GAA0B,CAACJ,IAAA,IAAO,IAAKF,KAAA,IAAQ;EAC/C,MAAAO,eAAA,GAAwBC,IAAA,CAAAC,GAAA,CAASP,IAAA,GAAOF,KAAA,EAAOI,SAAA;EAO7B,MAAAM,EAAA,IAACX,WAAA;EAAA,IAAAY,EAAA;EAAA,IAAAjB,CAAA,QAAAE,gBAAA,IAAAF,CAAA,QAAAS,QAAA;IACFQ,EAAA,GAAAA,CAAA,UAAWf,gBAAA,CAAiBO,QAAA,KAAY;IAAAT,CAAA,MAAAE,gBAAA;IAAAF,CAAA,MAAAS,QAAA;IAAAT,CAAA,MAAAiB,EAAA;EAAA;IAAAA,EAAA,GAAAjB,CAAA;EAAA;EAAA,IAAAkB,EAAA;EAAA,IAAAlB,CAAA,QAAAa,eAAA,IAAAb,CAAA,QAAAY,iBAAA,IAAAZ,CAAA,QAAAE,gBAAA,IAAAF,CAAA,QAAAI,WAAA,IAAAJ,CAAA,QAAAO,QAAA,IAAAP,CAAA,QAAAQ,IAAA,IAAAR,CAAA,QAAAG,CAAA,IAAAH,CAAA,SAAAgB,EAAA,IAAAhB,CAAA,SAAAiB,EAAA,IAAAjB,CAAA,SAAAU,SAAA;IAAA,IAAAS,EAAA;IAAA,IAAAnB,CAAA,SAAAE,gBAAA,IAAAF,CAAA,SAAAO,QAAA,IAAAP,CAAA,SAAAQ,IAAA;MAQxCW,EAAA,GAAAA,CAAA,UAAWjB,gBAAA,CAAiBK,QAAA,IAAYC,IAAA,IAAO;MAAAR,CAAA,OAAAE,gBAAA;MAAAF,CAAA,OAAAO,QAAA;MAAAP,CAAA,OAAAQ,IAAA;MAAAR,CAAA,OAAAmB,EAAA;IAAA;MAAAA,EAAA,GAAAnB,CAAA;IAAA;IAb9DkB,EAAA,GAAAE,KAAA,CAAC;MAAAC,SAAA,EAAAvB,SAAA;MAAAwB,QAAA,GACCF,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAvB,SAAA,OAAmB;QAAAwB,QAAA,GACjCC,IAAA,CAAC;UAAAF,SAAA,EACY,GAAAvB,SAAA,UAAsB;UAAA0B,QAAA,EACvBR,EAAC;UAAAS,OAAA,EACFR,EAAwC;UAAAS,IAAA,EAC5C;UAAAJ,QAAA,EAEJnB,CAAA,CAAE;QAAA,C,GAELoB,IAAA,CAAC;UAAAF,SAAA,EACY,GAAAvB,SAAA,UAAsB;UAAA0B,QAAA,GACtBpB,WAAA;UAAAqB,OAAA,EACFN,EAA+C;UAAAO,IAAA,EACnD;UAAAJ,QAAA,EAEJnB,CAAA,CAAE;QAAA,C;UAGPiB,KAAA,CAAC;QAAAC,SAAA,EAAe,GAAAvB,SAAA,SAAqB;QAAAwB,QAAA,GAClCV,iBAAA,EAAkB,YAAIC,eAAA,EAAgB,KAAEV,CAAA,CAAE,eAAc,KAAEO,SAAA;MAAA,C;;;;;;;;;;;;;;;;SApB/DQ,E;CAwBJ","ignoreList":[]}
1
+ {"version":3,"file":"Pagination.js","names":["c","_c","React","useListQuery","Pagination","RelationshipTablePagination","$","data","handlePageChange","totalDocs","limit","t0","hasNextPage","hasPrevPage","nextPage","page","prevPage","totalPages","_jsx","numberOfNeighbors","onChange"],"sources":["../../../src/elements/RelationshipTable/Pagination.tsx"],"sourcesContent":["'use client'\n\nimport React from 'react'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { Pagination } from '../Pagination/index.js'\n\nexport const RelationshipTablePagination: React.FC = () => {\n const { data, handlePageChange } = useListQuery()\n\n if (!data?.totalDocs || !data?.limit) {\n return null\n }\n\n return (\n <Pagination\n hasNextPage={data.hasNextPage}\n hasPrevPage={data.hasPrevPage}\n limit={data.limit}\n nextPage={data.nextPage}\n numberOfNeighbors={1}\n onChange={handlePageChange}\n page={data.page}\n prevPage={data.prevPage}\n totalPages={data.totalPages}\n />\n )\n}\n"],"mappings":"AAAA;;AAAA,SAAAA,CAAA,IAAAC,EAAA;;AAEA,OAAOC,KAAA,MAAW;AAElB,SAASC,YAAY,QAAQ;AAC7B,SAASC,UAAU,QAAQ;AAE3B,OAAO,MAAMC,2BAAA,GAAwCA,CAAA;EAAA,MAAAC,CAAA,GAAAL,EAAA;EACnD;IAAAM,IAAA;IAAAC;EAAA,IAAmCL,YAAA;EAAA,IAE/B,CAACI,IAAA,EAAAE,SAAA,KAAoBF,IAAA,EAAAG,KAAM;IAAA;EAAA;EAAA,IAAAC,EAAA;EAAA,IAAAL,CAAA,QAAAC,IAAA,CAAAK,WAAA,IAAAN,CAAA,QAAAC,IAAA,CAAAM,WAAA,IAAAP,CAAA,QAAAC,IAAA,CAAAG,KAAA,IAAAJ,CAAA,QAAAC,IAAA,CAAAO,QAAA,IAAAR,CAAA,QAAAC,IAAA,CAAAQ,IAAA,IAAAT,CAAA,QAAAC,IAAA,CAAAS,QAAA,IAAAV,CAAA,QAAAC,IAAA,CAAAU,UAAA,IAAAX,CAAA,QAAAE,gBAAA;IAK7BG,EAAA,GAAAO,IAAA,CAAAd,UAAA;MAAAQ,WAAA,EACeL,IAAA,CAAAK,WAAA;MAAAC,WAAA,EACAN,IAAA,CAAAM,WAAA;MAAAH,KAAA,EACNH,IAAA,CAAAG,KAAA;MAAAI,QAAA,EACGP,IAAA,CAAAO,QAAA;MAAAK,iBAAA;MAAAC,QAAA,EAEAZ,gBAAA;MAAAO,IAAA,EACJR,IAAA,CAAAQ,IAAA;MAAAC,QAAA,EACIT,IAAA,CAAAS,QAAA;MAAAC,UAAA,EACEV,IAAA,CAAAU;IAAA,C;;;;;;;;;;;;;SATdN,E;CAYJ","ignoreList":[]}
@@ -39,8 +39,6 @@
39
39
  .relationship-table .table {
40
40
  margin-bottom: 0;
41
41
  background: var(--color-bg);
42
- border: var(--stroke-width-small) solid var(--color-border);
43
- border-radius: var(--radius-medium);
44
42
  overflow: auto;
45
43
 
46
44
  table {
@@ -6,6 +6,7 @@ type RelationshipTableComponentProps = {
6
6
  readonly AfterInput?: React.ReactNode;
7
7
  readonly allowCreate?: boolean;
8
8
  readonly BeforeInput?: React.ReactNode;
9
+ readonly Description?: React.ReactNode;
9
10
  readonly disableTable?: boolean;
10
11
  readonly field: JoinFieldClient;
11
12
  readonly fieldPath?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAEnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAgBrE,OAAO,aAAa,CAAA;AAIpB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CA8VvE,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RelationshipTable/index.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,KAAK,cAAc,EAGnB,KAAK,eAAe,EAEpB,KAAK,aAAa,EAClB,KAAK,KAAK,EACX,MAAM,SAAS,CAAA;AAEhB,OAAO,KAA6D,MAAM,OAAO,CAAA;AAEjF,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAA;AAiBrE,OAAO,aAAa,CAAA;AAIpB,KAAK,+BAA+B,GAAG;IACrC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACrC,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,WAAW,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IACtC,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;IAC/B,QAAQ,CAAC,KAAK,EAAE,eAAe,CAAA;IAC/B,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAA;IAC3B,QAAQ,CAAC,aAAa,CAAC,EAAE,KAAK,CAAA;IAC9B,QAAQ,CAAC,WAAW,CAAC,EAAE,aAAa,CAAA;IACpC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,mBAAmB,CAAC,aAAa,CAAC,CAAA;IAC/D,QAAQ,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE;QAChB,cAAc,EAAE,cAAc,CAAA;QAC9B,EAAE,EAAE,MAAM,GAAG,MAAM,CAAA;QACnB,QAAQ,EAAE,MAAM,CAAA;KACjB,CAAA;IACD,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,CAAA;CACvC,CAAA;AAED,MAAM,MAAM,YAAY,GAAG,CAAC,EAAE,CAAC,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAA;AAEzE,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,+BAA+B,CAkZvE,CAAA"}
@@ -7,6 +7,7 @@ import React, { Fragment, useCallback, useEffect, useRef, useState } from 'react
7
7
  import { useEffectEvent } from '../../hooks/useEffectEvent.js';
8
8
  import { useAuth } from '../../providers/Auth/index.js';
9
9
  import { useConfig } from '../../providers/Config/index.js';
10
+ import { useDocumentEvents } from '../../providers/DocumentEvents/index.js';
10
11
  import { ListQueryProvider } from '../../providers/ListQuery/index.js';
11
12
  import { useServerFunctions } from '../../providers/ServerFunctions/index.js';
12
13
  import { TableColumnsProvider } from '../../providers/TableColumns/index.js';
@@ -25,6 +26,7 @@ export const RelationshipTable = props => {
25
26
  AfterInput,
26
27
  allowCreate = true,
27
28
  BeforeInput,
29
+ Description,
28
30
  disableTable = false,
29
31
  field,
30
32
  fieldPath,
@@ -177,6 +179,37 @@ export const RelationshipTable = props => {
177
179
  setCurrentDrawerID(undefined);
178
180
  }
179
181
  }, [isDrawerOpen]);
182
+ // Keep this table in sync with documents created, updated, or deleted elsewhere
183
+ // (a sibling join table, the relationship field, or an inline drawer edit).
184
+ const {
185
+ mostRecentUpdate
186
+ } = useDocumentEvents();
187
+ const lastHandledEventRef = useRef(null);
188
+ const handleDocumentEvent = useEffectEvent(event => {
189
+ if (disableTable || !event || event === lastHandledEventRef.current) {
190
+ return;
191
+ }
192
+ const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo];
193
+ if (!relationSlugs.includes(event.entitySlug)) {
194
+ return;
195
+ }
196
+ lastHandledEventRef.current = event;
197
+ // Skip the refetch when the current data already reflects this event — e.g. this
198
+ // table's own drawer already applied it optimistically via onDrawerSave/onDrawerDelete,
199
+ // or a fresh mount already loaded data that includes it. Otherwise saving/deleting from
200
+ // this table's own drawer (which also emits a matching event) would render a second time.
201
+ const eventDocID = event.doc?.id ?? event.id;
202
+ const existingDoc = isPolymorphic ? data?.docs?.find(doc => doc.relationTo === event.entitySlug && doc.value?.id === eventDocID) : data?.docs?.find(doc => doc.id === eventDocID);
203
+ const existingUpdatedAt = isPolymorphic ? existingDoc?.value?.updatedAt : existingDoc?.updatedAt;
204
+ const isAlreadyReflected = event.operation === 'delete' ? !existingDoc : Boolean(existingDoc) && existingUpdatedAt === event.updatedAt;
205
+ if (isAlreadyReflected) {
206
+ return;
207
+ }
208
+ void renderTable();
209
+ });
210
+ useEffect(() => {
211
+ handleDocumentEvent(mostRecentUpdate);
212
+ }, [mostRecentUpdate]);
180
213
  const canCreate = allowCreate !== false && permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create;
181
214
  useEffect(() => {
182
215
  if (isPolymorphic && selectedCollection) {
@@ -220,7 +253,7 @@ export const RelationshipTable = props => {
220
253
  children: [Label, /*#__PURE__*/_jsx("div", {
221
254
  className: `${baseClass}__actions`,
222
255
  children: addNewButton
223
- })]
256
+ }), Description]
224
257
  }), BeforeInput, /*#__PURE__*/_jsx("p", {
225
258
  children: t('general:loading')
226
259
  })]
@@ -231,7 +264,7 @@ export const RelationshipTable = props => {
231
264
  children: [Label, /*#__PURE__*/_jsx("div", {
232
265
  className: `${baseClass}__actions`,
233
266
  children: addNewButton
234
- })]
267
+ }), Description]
235
268
  }), BeforeInput, /*#__PURE__*/_jsx(NoListResults, {
236
269
  Actions: canCreate ? [/*#__PURE__*/_jsx(AddNewButton, {
237
270
  allowCreate: canCreate,
@@ -269,7 +302,7 @@ export const RelationshipTable = props => {
269
302
  children: [Label, /*#__PURE__*/_jsxs("div", {
270
303
  className: `${baseClass}__actions`,
271
304
  children: [addNewButton, columnsButton]
272
- })]
305
+ }), Description]
273
306
  }), BeforeInput, Table, /*#__PURE__*/_jsx(RelationshipTablePagination, {})]
274
307
  })
275
308
  })
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useRef","useState","useEffectEvent","useAuth","useConfig","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","useDocumentDrawer","ListColumnSelectionButton","NoListResults","RelationshipProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","i18n","t","query","setQuery","collectionConfig","collectionSlug","isPolymorphic","Array","isArray","selectedCollection","setSelectedCollection","undefined","permissions","openDrawerWhenRelationChanges","currentDrawerID","setCurrentDrawerID","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","id","isLoadingTable","setIsLoadingTable","data","setData","docs","reduce","acc","doc","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","renderRowTypes","disableRowTypes","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","tableAppearance","handleTableRender","onDrawerSave","operation","foundDocIndex","findIndex","d","withNewOrUpdatedData","newDocs","onDrawerDelete","args","filter","onDrawerOpen","current","canCreate","collections","create","memoizedListQuery","useMemo","addNewButton","_jsx","buttonStyle","className","label","onClick","columnsButton","slug","_jsxs","length","Actions","labels","singular","description","plural","title","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","onDelete","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js'\nimport { NoListResults } from '../NoListResults/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.css'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly fieldPath?: string\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport type OnDrawerOpen = (id?: string, collectionSlug?: string) => void\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n disableTable = false,\n field,\n fieldPath,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\n )\n\n const { permissions } = useAuth()\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const [currentDrawerID, setCurrentDrawerID] = useState<string | undefined>(undefined)\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentDrawerID,\n collectionSlug: selectedCollection,\n })\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n\n const [data, setData] = useState<PaginatedDocs>(() =>\n initialDataFromProps\n ? {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string' || typeof doc === 'number') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n\n return [...acc, doc]\n }, [])\n : [],\n }\n : undefined,\n )\n\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to CollectionPreferences['columns']\n const defaultColumns = field.admin?.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const renderRowTypes =\n typeof field.admin?.disableRowTypes === 'boolean'\n ? !field.admin.disableRowTypes\n : Array.isArray(relationTo)\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n data,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\n query: newQuery,\n renderRowTypes,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin?.defaultColumns,\n field.admin?.disableRowTypes,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n ({ doc, operation }) => {\n if (operation === 'create') {\n closeDrawer()\n }\n\n const foundDocIndex = data?.docs?.findIndex((d) => d.id === doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable, closeDrawer],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n\n setCurrentDrawerID(undefined)\n },\n [data, renderTable],\n )\n\n const onDrawerOpen = useCallback<OnDrawerOpen>((id, collectionSlug) => {\n openDrawerWhenRelationChanges.current = true\n\n if (id) {\n setCurrentDrawerID(id)\n } else {\n setCurrentDrawerID(undefined)\n }\n\n if (collectionSlug) {\n setSelectedCollection(collectionSlug)\n } else {\n setSelectedCollection(undefined)\n }\n }, [])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawerWhenRelationChanges.current = false\n openDrawer()\n }\n }, [openDrawer])\n\n useEffect(() => {\n if (!isDrawerOpen) {\n setCurrentDrawerID(undefined)\n }\n }, [isDrawerOpen])\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n const addNewButton = (\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ''}`}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n )\n\n const columnsButton = <ListColumnSelectionButton collectionSlug={collectionConfig?.slug} />\n\n return (\n <div className={baseClass}>\n {isLoadingTable ? (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n </div>\n {BeforeInput}\n <p>{t('general:loading')}</p>\n </Fragment>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n </div>\n {BeforeInput}\n <NoListResults\n Actions={\n canCreate\n ? [\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n key=\"create\"\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />,\n ]\n : []\n }\n description={i18n.t('general:noResults', {\n label: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n title={i18n.t('general:noResultsFound')}\n />\n </Fragment>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink currentDrawerID={currentDrawerID} onDrawerOpen={onDrawerOpen} />\n }\n >\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {addNewButton}\n {columnsButton}\n </div>\n </div>\n {BeforeInput}\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer\n initialData={initialDrawerData}\n onDelete={onDrawerDelete}\n onSave={onDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"file":"index.js","names":["getTranslation","hoistQueryParamsToAnd","transformColumnsToPreferences","React","Fragment","useCallback","useEffect","useRef","useState","useEffectEvent","useAuth","useConfig","useDocumentEvents","ListQueryProvider","useServerFunctions","TableColumnsProvider","useTranslation","useDocumentDrawer","ListColumnSelectionButton","NoListResults","RelationshipProvider","AddNewButton","DrawerLink","RelationshipTablePagination","baseClass","RelationshipTable","props","AfterInput","allowCreate","BeforeInput","Description","disableTable","field","fieldPath","filterOptions","initialData","initialDataFromProps","initialDrawerData","Label","parent","relationTo","Table","setTable","config","getEntityConfig","i18n","t","query","setQuery","collectionConfig","collectionSlug","isPolymorphic","Array","isArray","selectedCollection","setSelectedCollection","undefined","permissions","openDrawerWhenRelationChanges","currentDrawerID","setCurrentDrawerID","DocumentDrawer","closeDrawer","isDrawerOpen","openDrawer","id","isLoadingTable","setIsLoadingTable","data","setData","docs","reduce","acc","doc","columnState","setColumnState","getTableState","renderTable","newQuery","limit","defaultLimit","admin","pagination","sort","defaultSort","where","defaultColumns","map","accessor","active","renderRowTypes","disableRowTypes","newData","state","newColumnState","NewTable","columns","enableRowSelections","orderableFieldName","orderable","collection","name","tableAppearance","handleTableRender","onDrawerSave","operation","foundDocIndex","findIndex","d","withNewOrUpdatedData","newDocs","onDrawerDelete","args","filter","onDrawerOpen","current","mostRecentUpdate","lastHandledEventRef","handleDocumentEvent","event","relationSlugs","includes","entitySlug","eventDocID","existingDoc","find","value","existingUpdatedAt","updatedAt","isAlreadyReflected","Boolean","canCreate","collections","create","memoizedListQuery","useMemo","addNewButton","_jsx","buttonStyle","className","label","onClick","columnsButton","slug","_jsxs","length","Actions","labels","singular","description","plural","title","modifySearchParams","onQueryChange","replaceAll","LinkedCellOverride","onDelete","onSave"],"sources":["../../../src/elements/RelationshipTable/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport {\n type CollectionSlug,\n type Column,\n type DocumentEvent,\n type JoinFieldClient,\n type ListQuery,\n type PaginatedDocs,\n type Where,\n} from 'payload'\nimport { hoistQueryParamsToAnd, transformColumnsToPreferences } from 'payload/shared'\nimport React, { Fragment, useCallback, useEffect, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../DocumentDrawer/types.js'\n\nimport { useEffectEvent } from '../../hooks/useEffectEvent.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useDocumentEvents } from '../../providers/DocumentEvents/index.js'\nimport { ListQueryProvider } from '../../providers/ListQuery/index.js'\nimport { useServerFunctions } from '../../providers/ServerFunctions/index.js'\nimport { TableColumnsProvider } from '../../providers/TableColumns/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { useDocumentDrawer } from '../DocumentDrawer/index.js'\nimport { ListColumnSelectionButton } from '../ListColumnSelectionButton/index.js'\nimport { NoListResults } from '../NoListResults/index.js'\nimport { RelationshipProvider } from '../Table/RelationshipProvider/index.js'\nimport { AddNewButton } from './AddNewButton.js'\nimport { DrawerLink } from './cells/DrawerLink/index.js'\nimport { RelationshipTablePagination } from './Pagination.js'\nimport './index.css'\n\nconst baseClass = 'relationship-table'\n\ntype RelationshipTableComponentProps = {\n readonly AfterInput?: React.ReactNode\n readonly allowCreate?: boolean\n readonly BeforeInput?: React.ReactNode\n readonly Description?: React.ReactNode\n readonly disableTable?: boolean\n readonly field: JoinFieldClient\n readonly fieldPath?: string\n readonly filterOptions?: Where\n readonly initialData?: PaginatedDocs\n readonly initialDrawerData?: DocumentDrawerProps['initialData']\n readonly Label?: React.ReactNode\n readonly parent?: {\n collectionSlug: CollectionSlug\n id: number | string\n joinPath: string\n }\n readonly relationTo: string | string[]\n}\n\nexport type OnDrawerOpen = (id?: string, collectionSlug?: string) => void\n\nexport const RelationshipTable: React.FC<RelationshipTableComponentProps> = (props) => {\n const {\n AfterInput,\n allowCreate = true,\n BeforeInput,\n Description,\n disableTable = false,\n field,\n fieldPath,\n filterOptions,\n initialData: initialDataFromProps,\n initialDrawerData,\n Label,\n parent,\n relationTo,\n } = props\n const [Table, setTable] = useState<React.ReactNode>(null)\n const { config, getEntityConfig } = useConfig()\n const { i18n, t } = useTranslation()\n\n const [query, setQuery] = useState<ListQuery>()\n\n const [collectionConfig] = useState(() => getEntityConfig({ collectionSlug: relationTo }))\n\n const isPolymorphic = Array.isArray(relationTo)\n\n const [selectedCollection, setSelectedCollection] = useState(\n isPolymorphic ? undefined : relationTo,\n )\n\n const { permissions } = useAuth()\n\n const openDrawerWhenRelationChanges = useRef(false)\n\n const [currentDrawerID, setCurrentDrawerID] = useState<string | undefined>(undefined)\n\n const [DocumentDrawer, , { closeDrawer, isDrawerOpen, openDrawer }] = useDocumentDrawer({\n id: currentDrawerID,\n collectionSlug: selectedCollection,\n })\n\n const [isLoadingTable, setIsLoadingTable] = useState(!disableTable)\n\n const [data, setData] = useState<PaginatedDocs>(() =>\n initialDataFromProps\n ? {\n ...initialDataFromProps,\n docs: Array.isArray(initialDataFromProps.docs)\n ? initialDataFromProps.docs.reduce((acc, doc) => {\n if (typeof doc === 'string' || typeof doc === 'number') {\n return [\n ...acc,\n {\n id: doc,\n },\n ]\n }\n\n return [...acc, doc]\n }, [])\n : [],\n }\n : undefined,\n )\n\n const [columnState, setColumnState] = useState<Column[]>()\n\n const { getTableState } = useServerFunctions()\n\n const renderTable = useCallback(\n async (data?: PaginatedDocs) => {\n const newQuery: ListQuery = {\n limit: field?.defaultLimit || collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort || collectionConfig?.defaultSort,\n ...(query || {}),\n where: { ...(query?.where || {}) },\n }\n\n if (filterOptions) {\n newQuery.where = hoistQueryParamsToAnd(newQuery.where, filterOptions)\n }\n\n // map columns from string[] to CollectionPreferences['columns']\n const defaultColumns = field.admin?.defaultColumns\n ? field.admin.defaultColumns.map((accessor) => ({\n accessor,\n active: true,\n }))\n : undefined\n\n const renderRowTypes =\n typeof field.admin?.disableRowTypes === 'boolean'\n ? !field.admin.disableRowTypes\n : Array.isArray(relationTo)\n\n const {\n data: newData,\n state: newColumnState,\n Table: NewTable,\n } = await getTableState({\n collectionSlug: relationTo,\n columns: transformColumnsToPreferences(query?.columns) || defaultColumns,\n data,\n enableRowSelections: false,\n orderableFieldName:\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${field.name}_order`,\n parent,\n query: newQuery,\n renderRowTypes,\n tableAppearance: 'condensed',\n })\n\n setData(newData)\n setTable(NewTable)\n setColumnState(newColumnState)\n setIsLoadingTable(false)\n },\n [\n field.defaultLimit,\n field.defaultSort,\n field.admin?.defaultColumns,\n field.admin?.disableRowTypes,\n field.collection,\n field.name,\n field.orderable,\n collectionConfig?.admin?.pagination?.defaultLimit,\n collectionConfig?.defaultSort,\n query,\n filterOptions,\n getTableState,\n relationTo,\n parent,\n ],\n )\n\n const handleTableRender = useEffectEvent((query: ListQuery, disableTable: boolean) => {\n if (!disableTable && (!Table || query)) {\n void renderTable()\n }\n })\n\n useEffect(() => {\n handleTableRender(query, disableTable)\n }, [query, disableTable])\n\n const onDrawerSave = useCallback<DocumentDrawerProps['onSave']>(\n ({ doc, operation }) => {\n if (operation === 'create') {\n closeDrawer()\n }\n\n const foundDocIndex = data?.docs?.findIndex((d) => d.id === doc.id)\n const withNewOrUpdatedData: PaginatedDocs = { docs: [] } as PaginatedDocs\n\n if (foundDocIndex !== -1) {\n const newDocs = [...data.docs]\n newDocs[foundDocIndex] = doc\n withNewOrUpdatedData.docs = newDocs\n } else {\n withNewOrUpdatedData.docs = [doc, ...data.docs]\n }\n\n void renderTable(withNewOrUpdatedData)\n },\n [data?.docs, renderTable, closeDrawer],\n )\n\n const onDrawerDelete = useCallback<DocumentDrawerProps['onDelete']>(\n (args) => {\n const newDocs = data.docs.filter((doc) => doc.id !== args.id)\n\n void renderTable({\n ...data,\n docs: newDocs,\n })\n\n setCurrentDrawerID(undefined)\n },\n [data, renderTable],\n )\n\n const onDrawerOpen = useCallback<OnDrawerOpen>((id, collectionSlug) => {\n openDrawerWhenRelationChanges.current = true\n\n if (id) {\n setCurrentDrawerID(id)\n } else {\n setCurrentDrawerID(undefined)\n }\n\n if (collectionSlug) {\n setSelectedCollection(collectionSlug)\n } else {\n setSelectedCollection(undefined)\n }\n }, [])\n\n useEffect(() => {\n if (openDrawerWhenRelationChanges.current) {\n openDrawerWhenRelationChanges.current = false\n openDrawer()\n }\n }, [openDrawer])\n\n useEffect(() => {\n if (!isDrawerOpen) {\n setCurrentDrawerID(undefined)\n }\n }, [isDrawerOpen])\n\n // Keep this table in sync with documents created, updated, or deleted elsewhere\n // (a sibling join table, the relationship field, or an inline drawer edit).\n const { mostRecentUpdate } = useDocumentEvents()\n const lastHandledEventRef = useRef<DocumentEvent | null>(null)\n\n const handleDocumentEvent = useEffectEvent((event: DocumentEvent | null) => {\n if (disableTable || !event || event === lastHandledEventRef.current) {\n return\n }\n\n const relationSlugs = Array.isArray(relationTo) ? relationTo : [relationTo]\n\n if (!relationSlugs.includes(event.entitySlug)) {\n return\n }\n\n lastHandledEventRef.current = event\n\n // Skip the refetch when the current data already reflects this event — e.g. this\n // table's own drawer already applied it optimistically via onDrawerSave/onDrawerDelete,\n // or a fresh mount already loaded data that includes it. Otherwise saving/deleting from\n // this table's own drawer (which also emits a matching event) would render a second time.\n const eventDocID = event.doc?.id ?? event.id\n\n const existingDoc = isPolymorphic\n ? data?.docs?.find(\n (doc) => doc.relationTo === event.entitySlug && doc.value?.id === eventDocID,\n )\n : data?.docs?.find((doc) => doc.id === eventDocID)\n\n const existingUpdatedAt = isPolymorphic ? existingDoc?.value?.updatedAt : existingDoc?.updatedAt\n\n const isAlreadyReflected =\n event.operation === 'delete'\n ? !existingDoc\n : Boolean(existingDoc) && existingUpdatedAt === event.updatedAt\n\n if (isAlreadyReflected) {\n return\n }\n\n void renderTable()\n })\n\n useEffect(() => {\n handleDocumentEvent(mostRecentUpdate)\n }, [mostRecentUpdate])\n\n const canCreate =\n allowCreate !== false &&\n permissions?.collections?.[isPolymorphic ? relationTo[0] : relationTo]?.create\n\n useEffect(() => {\n if (isPolymorphic && selectedCollection) {\n openDrawer()\n }\n }, [selectedCollection, openDrawer, isPolymorphic])\n\n useEffect(() => {\n if (isPolymorphic && !isDrawerOpen && selectedCollection) {\n setSelectedCollection(undefined)\n }\n // eslint-disable-next-line react-compiler/react-compiler -- TODO: fix\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isDrawerOpen])\n\n const memoizedListQuery = React.useMemo(\n () => ({\n columns: transformColumnsToPreferences(columnState)?.map(({ accessor }) => accessor),\n limit: field.defaultLimit ?? collectionConfig?.admin?.pagination?.defaultLimit,\n sort: field.defaultSort ?? collectionConfig?.defaultSort,\n }),\n [columnState, field, collectionConfig],\n )\n\n const addNewButton = (\n <AddNewButton\n allowCreate={allowCreate !== false}\n baseClass={baseClass}\n buttonStyle=\"ghost\"\n className={`${baseClass}__add-new${isPolymorphic ? '-polymorphic' : ''}`}\n collections={config.collections}\n i18n={i18n}\n label={i18n.t('fields:addNew')}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />\n )\n\n const columnsButton = <ListColumnSelectionButton collectionSlug={collectionConfig?.slug} />\n\n return (\n <div className={baseClass}>\n {isLoadingTable ? (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n {Description}\n </div>\n {BeforeInput}\n <p>{t('general:loading')}</p>\n </Fragment>\n ) : (\n <Fragment>\n {data?.docs && data.docs.length === 0 && (\n <Fragment>\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>{addNewButton}</div>\n {Description}\n </div>\n {BeforeInput}\n <NoListResults\n Actions={\n canCreate\n ? [\n <AddNewButton\n allowCreate={canCreate}\n baseClass={baseClass}\n collections={config.collections}\n i18n={i18n}\n key=\"create\"\n label={i18n.t('general:createNewLabel', {\n label: isPolymorphic\n ? i18n.t('general:document')\n : getTranslation(collectionConfig?.labels?.singular, i18n),\n })}\n onClick={isPolymorphic ? setSelectedCollection : openDrawer}\n permissions={permissions}\n relationTo={relationTo}\n />,\n ]\n : []\n }\n description={i18n.t('general:noResults', {\n label: isPolymorphic\n ? i18n.t('general:documents')\n : getTranslation(collectionConfig?.labels?.plural, i18n),\n })}\n title={i18n.t('general:noResultsFound')}\n />\n </Fragment>\n )}\n {data?.docs && data.docs.length > 0 && (\n <RelationshipProvider>\n <ListQueryProvider\n data={data}\n modifySearchParams={false}\n onQueryChange={setQuery}\n orderableFieldName={\n !field.orderable || Array.isArray(field.collection)\n ? undefined\n : `_${field.collection}_${fieldPath.replaceAll('.', '_')}_order`\n }\n query={memoizedListQuery}\n >\n <TableColumnsProvider\n collectionSlug={isPolymorphic ? relationTo[0] : relationTo}\n columnState={columnState}\n LinkedCellOverride={\n <DrawerLink currentDrawerID={currentDrawerID} onDrawerOpen={onDrawerOpen} />\n }\n >\n <div className={`${baseClass}__header`}>\n {Label}\n <div className={`${baseClass}__actions`}>\n {addNewButton}\n {columnsButton}\n </div>\n {Description}\n </div>\n {BeforeInput}\n {Table}\n <RelationshipTablePagination />\n </TableColumnsProvider>\n </ListQueryProvider>\n </RelationshipProvider>\n )}\n </Fragment>\n )}\n {AfterInput}\n <DocumentDrawer\n initialData={initialDrawerData}\n onDelete={onDrawerDelete}\n onSave={onDrawerSave}\n />\n </div>\n )\n}\n"],"mappings":"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","ignoreList":[]}
@@ -22,6 +22,10 @@
22
22
  letter-spacing: inherit;
23
23
  }
24
24
 
25
+ .render-title--placeholder {
26
+ color: var(--color-text-secondary);
27
+ }
28
+
25
29
  .render-title__id {
26
30
  vertical-align: middle;
27
31
  position: relative;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderTitle/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAiDlD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/RenderTitle/index.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmB,MAAM,OAAO,CAAA;AAOvC,OAAO,aAAa,CAAA;AAIpB,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,CAAC,EAAE,KAAK,CAAC,WAAW,CAAA;IAC3B,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB;;;OAGG;IACH,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAwDlD,CAAA"}