@payloadcms/ui 3.0.0-beta.9 → 3.0.0-canary.220bb7c

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 (907) hide show
  1. package/dist/assets/index.d.ts +4 -2
  2. package/dist/assets/index.d.ts.map +1 -1
  3. package/dist/assets/index.js +4 -2
  4. package/dist/assets/index.js.map +1 -1
  5. package/dist/assets/payload-favicon-dark.png +0 -0
  6. package/dist/assets/payload-favicon-light.png +0 -0
  7. package/dist/elements/AppHeader/index.d.ts.map +1 -1
  8. package/dist/elements/AppHeader/index.js +65 -40
  9. package/dist/elements/AppHeader/index.js.map +1 -1
  10. package/dist/elements/ArrayAction/index.d.ts +1 -0
  11. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  12. package/dist/elements/ArrayAction/index.js +77 -42
  13. package/dist/elements/ArrayAction/index.js.map +1 -1
  14. package/dist/elements/Autosave/index.d.ts.map +1 -1
  15. package/dist/elements/Autosave/index.js +30 -11
  16. package/dist/elements/Autosave/index.js.map +1 -1
  17. package/dist/elements/Banner/index.d.ts.map +1 -1
  18. package/dist/elements/Banner/index.js +18 -6
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/Button/index.js +53 -31
  21. package/dist/elements/Button/index.js.map +1 -1
  22. package/dist/elements/Card/index.d.ts.map +1 -1
  23. package/dist/elements/Card/index.js +24 -15
  24. package/dist/elements/Card/index.js.map +1 -1
  25. package/dist/elements/CodeEditor/CodeEditor.d.ts.map +1 -1
  26. package/dist/elements/CodeEditor/CodeEditor.js +4 -2
  27. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  28. package/dist/elements/CodeEditor/index.d.ts.map +1 -1
  29. package/dist/elements/CodeEditor/index.js +9 -6
  30. package/dist/elements/CodeEditor/index.js.map +1 -1
  31. package/dist/elements/Collapsible/index.js +63 -38
  32. package/dist/elements/Collapsible/index.js.map +1 -1
  33. package/dist/elements/Collapsible/provider.js +5 -3
  34. package/dist/elements/Collapsible/provider.js.map +1 -1
  35. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  36. package/dist/elements/ColumnSelector/index.js +31 -23
  37. package/dist/elements/ColumnSelector/index.js.map +1 -1
  38. package/dist/elements/CopyToClipboard/index.js +21 -11
  39. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  40. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  41. package/dist/elements/DatePicker/DatePicker.js +29 -17
  42. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  43. package/dist/elements/DatePicker/index.d.ts.map +1 -1
  44. package/dist/elements/DatePicker/index.js +8 -3
  45. package/dist/elements/DatePicker/index.js.map +1 -1
  46. package/dist/elements/DeleteDocument/index.js +57 -32
  47. package/dist/elements/DeleteDocument/index.js.map +1 -1
  48. package/dist/elements/DeleteMany/index.js +43 -23
  49. package/dist/elements/DeleteMany/index.js.map +1 -1
  50. package/dist/elements/DocumentControls/index.d.ts +1 -0
  51. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  52. package/dist/elements/DocumentControls/index.js +182 -102
  53. package/dist/elements/DocumentControls/index.js.map +1 -1
  54. package/dist/elements/DocumentControls/index.scss +2 -2
  55. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  56. package/dist/elements/DocumentDrawer/DrawerContent.js +37 -31
  57. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  58. package/dist/elements/DocumentDrawer/index.js +14 -8
  59. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  60. package/dist/elements/DocumentDrawer/types.d.ts +0 -1
  61. package/dist/elements/DocumentDrawer/types.d.ts.map +1 -1
  62. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  63. package/dist/elements/DocumentFields/index.js +54 -34
  64. package/dist/elements/DocumentFields/index.js.map +1 -1
  65. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +14 -11
  66. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +1 -1
  67. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  68. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +19 -7
  69. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  70. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +3 -1
  71. package/dist/elements/DocumentHeader/Tabs/index.d.ts +2 -0
  72. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  73. package/dist/elements/DocumentHeader/Tabs/index.js +65 -56
  74. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  75. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +1 -1
  76. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +15 -7
  77. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +1 -1
  78. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +1 -1
  79. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +1 -1
  80. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +1 -1
  81. package/dist/elements/DocumentHeader/index.d.ts +2 -0
  82. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  83. package/dist/elements/DocumentHeader/index.js +22 -11
  84. package/dist/elements/DocumentHeader/index.js.map +1 -1
  85. package/dist/elements/DraggableSortable/DraggableSortableItem/index.d.ts.map +1 -1
  86. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +15 -11
  87. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  88. package/dist/elements/DraggableSortable/index.d.ts.map +1 -1
  89. package/dist/elements/DraggableSortable/index.js +13 -8
  90. package/dist/elements/DraggableSortable/index.js.map +1 -1
  91. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  92. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +1 -0
  93. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  94. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +0 -1
  95. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  96. package/dist/elements/Drawer/index.js +58 -35
  97. package/dist/elements/Drawer/index.js.map +1 -1
  98. package/dist/elements/Drawer/types.d.ts +0 -1
  99. package/dist/elements/Drawer/types.d.ts.map +1 -1
  100. package/dist/elements/Drawer/useDrawerSlug.d.ts.map +1 -1
  101. package/dist/elements/Drawer/useDrawerSlug.js +1 -0
  102. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  103. package/dist/elements/Dropzone/index.d.ts.map +1 -1
  104. package/dist/elements/Dropzone/index.js +31 -18
  105. package/dist/elements/Dropzone/index.js.map +1 -1
  106. package/dist/elements/DuplicateDocument/index.js +37 -17
  107. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  108. package/dist/elements/EditMany/index.d.ts.map +1 -1
  109. package/dist/elements/EditMany/index.js +112 -76
  110. package/dist/elements/EditMany/index.js.map +1 -1
  111. package/dist/elements/EditUpload/index.d.ts +12 -2
  112. package/dist/elements/EditUpload/index.d.ts.map +1 -1
  113. package/dist/elements/EditUpload/index.js +263 -178
  114. package/dist/elements/EditUpload/index.js.map +1 -1
  115. package/dist/elements/ErrorPill/index.d.ts +2 -2
  116. package/dist/elements/ErrorPill/index.d.ts.map +1 -1
  117. package/dist/elements/ErrorPill/index.js +15 -7
  118. package/dist/elements/ErrorPill/index.js.map +1 -1
  119. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  120. package/dist/elements/FieldSelect/index.js +46 -25
  121. package/dist/elements/FieldSelect/index.js.map +1 -1
  122. package/dist/elements/FileDetails/FileMeta/index.d.ts.map +1 -1
  123. package/dist/elements/FileDetails/FileMeta/index.js +55 -20
  124. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  125. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  126. package/dist/elements/FileDetails/index.js +43 -30
  127. package/dist/elements/FileDetails/index.js.map +1 -1
  128. package/dist/elements/GenerateConfirmation/index.js +48 -26
  129. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  130. package/dist/elements/Gutter/index.js +5 -3
  131. package/dist/elements/Gutter/index.js.map +1 -1
  132. package/dist/elements/Hamburger/index.js +48 -27
  133. package/dist/elements/Hamburger/index.js.map +1 -1
  134. package/dist/elements/HydrateClientUser/index.d.ts +2 -2
  135. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  136. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  137. package/dist/elements/IDLabel/index.d.ts.map +1 -1
  138. package/dist/elements/IDLabel/index.js +10 -3
  139. package/dist/elements/IDLabel/index.js.map +1 -1
  140. package/dist/elements/ListControls/getTextFieldsToBeSearched.d.ts.map +1 -1
  141. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +1 -1
  142. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  143. package/dist/elements/ListControls/index.d.ts.map +1 -1
  144. package/dist/elements/ListControls/index.js +108 -63
  145. package/dist/elements/ListControls/index.js.map +1 -1
  146. package/dist/elements/ListDrawer/DrawerContent.js +97 -67
  147. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  148. package/dist/elements/ListDrawer/index.js +14 -8
  149. package/dist/elements/ListDrawer/index.js.map +1 -1
  150. package/dist/elements/ListDrawer/types.d.ts +0 -1
  151. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  152. package/dist/elements/ListSelection/index.js +31 -17
  153. package/dist/elements/ListSelection/index.js.map +1 -1
  154. package/dist/elements/Loading/index.js +31 -18
  155. package/dist/elements/Loading/index.js.map +1 -1
  156. package/dist/elements/LoadingOverlay/index.js +13 -8
  157. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  158. package/dist/elements/Localizer/LocalizerLabel/index.d.ts.map +1 -1
  159. package/dist/elements/Localizer/LocalizerLabel/index.js +20 -9
  160. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  161. package/dist/elements/Localizer/index.d.ts.map +1 -1
  162. package/dist/elements/Localizer/index.js +32 -24
  163. package/dist/elements/Localizer/index.js.map +1 -1
  164. package/dist/elements/Logout/index.d.ts.map +1 -1
  165. package/dist/elements/Logout/index.js +10 -6
  166. package/dist/elements/Logout/index.js.map +1 -1
  167. package/dist/elements/Nav/NavHamburger/index.js +7 -5
  168. package/dist/elements/Nav/NavHamburger/index.js.map +1 -1
  169. package/dist/elements/Nav/NavToggler/index.js +5 -3
  170. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  171. package/dist/elements/Nav/NavWrapper/index.js +9 -6
  172. package/dist/elements/Nav/NavWrapper/index.js.map +1 -1
  173. package/dist/elements/Nav/context.d.ts +1 -1
  174. package/dist/elements/Nav/context.d.ts.map +1 -1
  175. package/dist/elements/Nav/context.js +5 -3
  176. package/dist/elements/Nav/context.js.map +1 -1
  177. package/dist/elements/Nav/index.client.d.ts.map +1 -1
  178. package/dist/elements/Nav/index.client.js +44 -36
  179. package/dist/elements/Nav/index.client.js.map +1 -1
  180. package/dist/elements/Nav/index.d.ts +2 -4
  181. package/dist/elements/Nav/index.d.ts.map +1 -1
  182. package/dist/elements/Nav/index.js +55 -20
  183. package/dist/elements/Nav/index.js.map +1 -1
  184. package/dist/elements/NavGroup/index.js +39 -24
  185. package/dist/elements/NavGroup/index.js.map +1 -1
  186. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  187. package/dist/elements/Pagination/ClickableArrow/index.js +6 -3
  188. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  189. package/dist/elements/Pagination/Page/index.d.ts.map +1 -1
  190. package/dist/elements/Pagination/Page/index.js +6 -3
  191. package/dist/elements/Pagination/Page/index.js.map +1 -1
  192. package/dist/elements/Pagination/Separator/index.d.ts.map +1 -1
  193. package/dist/elements/Pagination/Separator/index.js +6 -3
  194. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  195. package/dist/elements/Pagination/index.js +17 -17
  196. package/dist/elements/Pagination/index.js.map +1 -1
  197. package/dist/elements/PerPage/index.js +46 -28
  198. package/dist/elements/PerPage/index.js.map +1 -1
  199. package/dist/elements/Pill/index.d.ts +0 -1
  200. package/dist/elements/Pill/index.d.ts.map +1 -1
  201. package/dist/elements/Pill/index.js +26 -13
  202. package/dist/elements/Pill/index.js.map +1 -1
  203. package/dist/elements/Popup/PopupButtonList/index.js +17 -12
  204. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  205. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  206. package/dist/elements/Popup/PopupTrigger/index.js +10 -6
  207. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  208. package/dist/elements/Popup/index.js +52 -35
  209. package/dist/elements/Popup/index.js.map +1 -1
  210. package/dist/elements/PreviewButton/index.js +6 -4
  211. package/dist/elements/PreviewButton/index.js.map +1 -1
  212. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  213. package/dist/elements/PreviewSizes/index.js +82 -49
  214. package/dist/elements/PreviewSizes/index.js.map +1 -1
  215. package/dist/elements/{Publish → PublishButton}/index.d.ts +1 -1
  216. package/dist/elements/PublishButton/index.d.ts.map +1 -0
  217. package/dist/elements/PublishButton/index.js +40 -0
  218. package/dist/elements/PublishButton/index.js.map +1 -0
  219. package/dist/elements/PublishMany/index.js +43 -23
  220. package/dist/elements/PublishMany/index.js.map +1 -1
  221. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  222. package/dist/elements/ReactSelect/ClearIndicator/index.js +19 -7
  223. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  224. package/dist/elements/ReactSelect/ClearIndicator/index.scss +4 -0
  225. package/dist/elements/ReactSelect/Control/index.d.ts.map +1 -1
  226. package/dist/elements/ReactSelect/Control/index.js +28 -23
  227. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  228. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +8 -0
  229. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -0
  230. package/dist/elements/ReactSelect/DropdownIndicator/index.js +22 -0
  231. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -0
  232. package/dist/elements/ReactSelect/DropdownIndicator/index.scss +16 -0
  233. package/dist/elements/ReactSelect/Input/index.d.ts +5 -0
  234. package/dist/elements/ReactSelect/Input/index.d.ts.map +1 -0
  235. package/dist/elements/ReactSelect/Input/index.js +17 -0
  236. package/dist/elements/ReactSelect/Input/index.js.map +1 -0
  237. package/dist/elements/ReactSelect/MultiValue/index.d.ts +1 -0
  238. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  239. package/dist/elements/ReactSelect/MultiValue/index.js +31 -22
  240. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  241. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  242. package/dist/elements/ReactSelect/MultiValueLabel/index.js +12 -9
  243. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  244. package/dist/elements/ReactSelect/MultiValueLabel/index.scss +4 -0
  245. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts +1 -1
  246. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  247. package/dist/elements/ReactSelect/MultiValueRemove/index.js +21 -8
  248. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  249. package/dist/elements/ReactSelect/SingleValue/index.d.ts.map +1 -1
  250. package/dist/elements/ReactSelect/SingleValue/index.js +12 -7
  251. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  252. package/dist/elements/ReactSelect/ValueContainer/index.d.ts.map +1 -1
  253. package/dist/elements/ReactSelect/ValueContainer/index.js +8 -3
  254. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  255. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  256. package/dist/elements/ReactSelect/index.js +50 -19
  257. package/dist/elements/ReactSelect/index.js.map +1 -1
  258. package/dist/elements/ReactSelect/index.scss +1 -1
  259. package/dist/elements/ReactSelect/types.d.ts +1 -1
  260. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  261. package/dist/elements/ReactSelect/types.js.map +1 -1
  262. package/dist/elements/RenderCustomClientComponent/index.d.ts +8 -0
  263. package/dist/elements/RenderCustomClientComponent/index.d.ts.map +1 -0
  264. package/dist/elements/RenderCustomClientComponent/index.js +19 -0
  265. package/dist/elements/RenderCustomClientComponent/index.js.map +1 -0
  266. package/dist/elements/RenderCustomComponent/index.d.ts +9 -0
  267. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -1
  268. package/dist/elements/RenderCustomComponent/index.js +17 -4
  269. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  270. package/dist/elements/RenderTitle/index.d.ts.map +1 -1
  271. package/dist/elements/RenderTitle/index.js +16 -9
  272. package/dist/elements/RenderTitle/index.js.map +1 -1
  273. package/dist/elements/{Save → SaveButton}/index.d.ts +1 -1
  274. package/dist/elements/SaveButton/index.d.ts.map +1 -0
  275. package/dist/elements/{Save → SaveButton}/index.js +16 -6
  276. package/dist/elements/SaveButton/index.js.map +1 -0
  277. package/dist/elements/{SaveDraft → SaveDraftButton}/index.d.ts +1 -1
  278. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -0
  279. package/dist/elements/{SaveDraft → SaveDraftButton}/index.js +16 -9
  280. package/dist/elements/SaveDraftButton/index.js.map +1 -0
  281. package/dist/elements/SearchFilter/index.d.ts.map +1 -1
  282. package/dist/elements/SearchFilter/index.js +15 -9
  283. package/dist/elements/SearchFilter/index.js.map +1 -1
  284. package/dist/elements/SelectAll/index.js +2 -1
  285. package/dist/elements/SelectAll/index.js.map +1 -1
  286. package/dist/elements/SelectRow/index.js +2 -1
  287. package/dist/elements/SelectRow/index.js.map +1 -1
  288. package/dist/elements/ShimmerEffect/index.js +23 -20
  289. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  290. package/dist/elements/SortColumn/index.js +43 -31
  291. package/dist/elements/SortColumn/index.js.map +1 -1
  292. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  293. package/dist/elements/SortComplex/index.js +42 -23
  294. package/dist/elements/SortComplex/index.js.map +1 -1
  295. package/dist/elements/Status/index.js +94 -41
  296. package/dist/elements/Status/index.js.map +1 -1
  297. package/dist/elements/StayLoggedIn/index.d.ts +2 -4
  298. package/dist/elements/StayLoggedIn/index.d.ts.map +1 -1
  299. package/dist/elements/StayLoggedIn/index.js +45 -24
  300. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  301. package/dist/elements/StayLoggedIn/index.scss +1 -1
  302. package/dist/elements/StepNav/index.d.ts.map +1 -1
  303. package/dist/elements/StepNav/index.js +67 -35
  304. package/dist/elements/StepNav/index.js.map +1 -1
  305. package/dist/elements/StepNav/index.scss +12 -2
  306. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  307. package/dist/elements/Table/DefaultCell/fields/Array/index.js +5 -2
  308. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  309. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  310. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +5 -2
  311. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  312. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  313. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +11 -3
  314. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  315. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  316. package/dist/elements/Table/DefaultCell/fields/Code/index.js +8 -3
  317. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  318. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  319. package/dist/elements/Table/DefaultCell/fields/Date/index.js +11 -8
  320. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  321. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  322. package/dist/elements/Table/DefaultCell/fields/File/index.js +22 -16
  323. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  324. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +8 -4
  325. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  326. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  327. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +46 -27
  328. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  329. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  330. package/dist/elements/Table/DefaultCell/fields/Select/index.js +5 -2
  331. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  332. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +5 -2
  333. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  334. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  335. package/dist/elements/Table/DefaultCell/index.js +36 -22
  336. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  337. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  338. package/dist/elements/Table/RelationshipProvider/index.js +9 -7
  339. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  340. package/dist/elements/Table/TableCellProvider/index.d.ts +0 -2
  341. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  342. package/dist/elements/Table/TableCellProvider/index.js +7 -6
  343. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  344. package/dist/elements/Table/index.d.ts +1 -0
  345. package/dist/elements/Table/index.d.ts.map +1 -1
  346. package/dist/elements/Table/index.js +39 -24
  347. package/dist/elements/Table/index.js.map +1 -1
  348. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  349. package/dist/elements/TableColumns/buildColumnState.js +17 -7
  350. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  351. package/dist/elements/TableColumns/filterFields.d.ts.map +1 -1
  352. package/dist/elements/TableColumns/filterFields.js +2 -1
  353. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  354. package/dist/elements/TableColumns/index.js +5 -3
  355. package/dist/elements/TableColumns/index.js.map +1 -1
  356. package/dist/elements/Thumbnail/index.js +14 -8
  357. package/dist/elements/Thumbnail/index.js.map +1 -1
  358. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  359. package/dist/elements/ThumbnailCard/index.js +15 -7
  360. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  361. package/dist/elements/Tooltip/index.d.ts +5 -1
  362. package/dist/elements/Tooltip/index.d.ts.map +1 -1
  363. package/dist/elements/Tooltip/index.js +42 -27
  364. package/dist/elements/Tooltip/index.js.map +1 -1
  365. package/dist/elements/Tooltip/index.scss +12 -10
  366. package/dist/elements/Translation/index.d.ts +2 -2
  367. package/dist/elements/Translation/index.d.ts.map +1 -1
  368. package/dist/elements/Translation/index.js +19 -16
  369. package/dist/elements/Translation/index.js.map +1 -1
  370. package/dist/elements/UnpublishMany/index.js +42 -22
  371. package/dist/elements/UnpublishMany/index.js.map +1 -1
  372. package/dist/elements/Upload/index.d.ts.map +1 -1
  373. package/dist/elements/Upload/index.js +143 -75
  374. package/dist/elements/Upload/index.js.map +1 -1
  375. package/dist/elements/Upload/index.scss +12 -1
  376. package/dist/elements/ViewDescription/index.js +6 -4
  377. package/dist/elements/ViewDescription/index.js.map +1 -1
  378. package/dist/elements/WhereBuilder/Condition/Date/index.d.ts.map +1 -1
  379. package/dist/elements/WhereBuilder/Condition/Date/index.js +11 -8
  380. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  381. package/dist/elements/WhereBuilder/Condition/Number/index.d.ts.map +1 -1
  382. package/dist/elements/WhereBuilder/Condition/Number/index.js +3 -1
  383. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  384. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  385. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +148 -109
  386. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  387. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +3 -3
  388. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  389. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  390. package/dist/elements/WhereBuilder/Condition/Select/index.d.ts.map +1 -1
  391. package/dist/elements/WhereBuilder/Condition/Select/index.js +3 -1
  392. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  393. package/dist/elements/WhereBuilder/Condition/Text/index.d.ts.map +1 -1
  394. package/dist/elements/WhereBuilder/Condition/Text/index.js +3 -1
  395. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  396. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  397. package/dist/elements/WhereBuilder/Condition/index.js +87 -68
  398. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  399. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  400. package/dist/elements/WhereBuilder/index.js +150 -118
  401. package/dist/elements/WhereBuilder/index.js.map +1 -1
  402. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  403. package/dist/elements/WhereBuilder/reduceFieldMap.js +2 -0
  404. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  405. package/dist/elements/WithServerSideProps/index.d.ts +3 -0
  406. package/dist/elements/WithServerSideProps/index.d.ts.map +1 -0
  407. package/dist/elements/WithServerSideProps/index.js +22 -0
  408. package/dist/elements/WithServerSideProps/index.js.map +1 -0
  409. package/dist/elements/withMergedProps/index.d.ts +4 -0
  410. package/dist/elements/withMergedProps/index.d.ts.map +1 -1
  411. package/dist/elements/withMergedProps/index.js +13 -3
  412. package/dist/elements/withMergedProps/index.js.map +1 -1
  413. package/dist/exports/elements.d.ts +3 -2
  414. package/dist/exports/elements.d.ts.map +1 -1
  415. package/dist/exports/elements.js +5 -2
  416. package/dist/exports/elements.js.map +1 -1
  417. package/dist/exports/fields.d.ts +2 -0
  418. package/dist/exports/fields.d.ts.map +1 -0
  419. package/dist/exports/fields.js +3 -0
  420. package/dist/exports/fields.js.map +1 -0
  421. package/dist/exports/providers.d.ts +2 -0
  422. package/dist/exports/providers.d.ts.map +1 -0
  423. package/dist/exports/providers.js +3 -0
  424. package/dist/exports/providers.js.map +1 -0
  425. package/dist/fields/Array/ArrayRow.d.ts +1 -0
  426. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  427. package/dist/fields/Array/ArrayRow.js +54 -46
  428. package/dist/fields/Array/ArrayRow.js.map +1 -1
  429. package/dist/fields/Array/index.d.ts +1 -2
  430. package/dist/fields/Array/index.d.ts.map +1 -1
  431. package/dist/fields/Array/index.js +145 -102
  432. package/dist/fields/Array/index.js.map +1 -1
  433. package/dist/fields/Array/index.scss +0 -4
  434. package/dist/fields/Blocks/BlockRow.d.ts +1 -0
  435. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  436. package/dist/fields/Blocks/BlockRow.js +62 -52
  437. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  438. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.d.ts.map +1 -1
  439. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +13 -7
  440. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  441. package/dist/fields/Blocks/BlocksDrawer/index.js +36 -28
  442. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  443. package/dist/fields/Blocks/RowActions.d.ts +1 -0
  444. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  445. package/dist/fields/Blocks/RowActions.js +31 -24
  446. package/dist/fields/Blocks/RowActions.js.map +1 -1
  447. package/dist/fields/Blocks/SectionTitle/index.d.ts.map +1 -1
  448. package/dist/fields/Blocks/SectionTitle/index.js +15 -12
  449. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  450. package/dist/fields/Blocks/index.d.ts +2 -2
  451. package/dist/fields/Blocks/index.d.ts.map +1 -1
  452. package/dist/fields/Blocks/index.js +163 -113
  453. package/dist/fields/Blocks/index.js.map +1 -1
  454. package/dist/fields/Blocks/index.scss +0 -4
  455. package/dist/fields/Checkbox/Input.d.ts +6 -7
  456. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  457. package/dist/fields/Checkbox/Input.js +41 -26
  458. package/dist/fields/Checkbox/Input.js.map +1 -1
  459. package/dist/fields/Checkbox/index.d.ts +2 -1
  460. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  461. package/dist/fields/Checkbox/index.js +40 -32
  462. package/dist/fields/Checkbox/index.js.map +1 -1
  463. package/dist/fields/Checkbox/index.scss +0 -4
  464. package/dist/fields/Checkbox/types.d.ts +0 -2
  465. package/dist/fields/Checkbox/types.d.ts.map +1 -1
  466. package/dist/fields/Checkbox/types.js.map +1 -1
  467. package/dist/fields/Code/index.d.ts +1 -2
  468. package/dist/fields/Code/index.d.ts.map +1 -1
  469. package/dist/fields/Code/index.js +41 -25
  470. package/dist/fields/Code/index.js.map +1 -1
  471. package/dist/fields/Collapsible/index.d.ts +0 -2
  472. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  473. package/dist/fields/Collapsible/index.js +63 -45
  474. package/dist/fields/Collapsible/index.js.map +1 -1
  475. package/dist/fields/ConfirmPassword/index.d.ts.map +1 -1
  476. package/dist/fields/ConfirmPassword/index.js +29 -18
  477. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  478. package/dist/fields/DateTime/index.d.ts +1 -2
  479. package/dist/fields/DateTime/index.d.ts.map +1 -1
  480. package/dist/fields/DateTime/index.js +42 -30
  481. package/dist/fields/DateTime/index.js.map +1 -1
  482. package/dist/fields/DateTime/index.scss +0 -6
  483. package/dist/fields/Email/index.d.ts +1 -2
  484. package/dist/fields/Email/index.d.ts.map +1 -1
  485. package/dist/fields/Email/index.js +44 -28
  486. package/dist/fields/Email/index.js.map +1 -1
  487. package/dist/fields/Group/index.d.ts +0 -2
  488. package/dist/fields/Group/index.d.ts.map +1 -1
  489. package/dist/fields/Group/index.js +64 -40
  490. package/dist/fields/Group/index.js.map +1 -1
  491. package/dist/fields/Group/provider.js +5 -3
  492. package/dist/fields/Group/provider.js.map +1 -1
  493. package/dist/fields/HiddenInput/index.d.ts.map +1 -1
  494. package/dist/fields/HiddenInput/index.js +3 -2
  495. package/dist/fields/HiddenInput/index.js.map +1 -1
  496. package/dist/fields/JSON/index.d.ts +2 -2
  497. package/dist/fields/JSON/index.d.ts.map +1 -1
  498. package/dist/fields/JSON/index.js +68 -28
  499. package/dist/fields/JSON/index.js.map +1 -1
  500. package/dist/fields/Number/index.d.ts +1 -2
  501. package/dist/fields/Number/index.d.ts.map +1 -1
  502. package/dist/fields/Number/index.js +84 -64
  503. package/dist/fields/Number/index.js.map +1 -1
  504. package/dist/fields/Password/index.d.ts +0 -1
  505. package/dist/fields/Password/index.d.ts.map +1 -1
  506. package/dist/fields/Password/index.js +38 -25
  507. package/dist/fields/Password/index.js.map +1 -1
  508. package/dist/fields/Point/index.d.ts +0 -2
  509. package/dist/fields/Point/index.d.ts.map +1 -1
  510. package/dist/fields/Point/index.js +73 -37
  511. package/dist/fields/Point/index.js.map +1 -1
  512. package/dist/fields/RadioGroup/Radio/index.d.ts +1 -0
  513. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  514. package/dist/fields/RadioGroup/Radio/index.js +31 -19
  515. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  516. package/dist/fields/RadioGroup/Radio/index.scss +2 -29
  517. package/dist/fields/RadioGroup/index.d.ts +1 -2
  518. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  519. package/dist/fields/RadioGroup/index.js +66 -52
  520. package/dist/fields/RadioGroup/index.js.map +1 -1
  521. package/dist/fields/RadioGroup/index.scss +28 -4
  522. package/dist/fields/Relationship/AddNew/index.js +67 -44
  523. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  524. package/dist/fields/Relationship/findOptionsByValue.js +1 -1
  525. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  526. package/dist/fields/Relationship/index.d.ts.map +1 -1
  527. package/dist/fields/Relationship/index.js +129 -108
  528. package/dist/fields/Relationship/index.js.map +1 -1
  529. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  530. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +49 -26
  531. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  532. package/dist/fields/Relationship/select-components/MultiValueLabel/index.scss +4 -0
  533. package/dist/fields/Relationship/select-components/SingleValue/index.d.ts.map +1 -1
  534. package/dist/fields/Relationship/select-components/SingleValue/index.js +50 -25
  535. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  536. package/dist/fields/Relationship/select-components/SingleValue/index.scss +2 -2
  537. package/dist/fields/Relationship/types.d.ts +4 -5
  538. package/dist/fields/Relationship/types.d.ts.map +1 -1
  539. package/dist/fields/Relationship/types.js.map +1 -1
  540. package/dist/fields/RichText/index.d.ts +0 -2
  541. package/dist/fields/RichText/index.d.ts.map +1 -1
  542. package/dist/fields/RichText/index.js.map +1 -1
  543. package/dist/fields/Row/index.js +23 -19
  544. package/dist/fields/Row/index.js.map +1 -1
  545. package/dist/fields/Row/provider.js +5 -3
  546. package/dist/fields/Row/provider.js.map +1 -1
  547. package/dist/fields/Select/Input.d.ts +11 -0
  548. package/dist/fields/Select/Input.d.ts.map +1 -0
  549. package/dist/fields/Select/Input.js +87 -0
  550. package/dist/fields/Select/Input.js.map +1 -0
  551. package/dist/fields/Select/index.d.ts +4 -3
  552. package/dist/fields/Select/index.d.ts.map +1 -1
  553. package/dist/fields/Select/index.js +27 -58
  554. package/dist/fields/Select/index.js.map +1 -1
  555. package/dist/fields/Tabs/Tab/index.js +26 -16
  556. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  557. package/dist/fields/Tabs/index.d.ts.map +1 -1
  558. package/dist/fields/Tabs/index.js +48 -32
  559. package/dist/fields/Tabs/index.js.map +1 -1
  560. package/dist/fields/Tabs/provider.js +5 -3
  561. package/dist/fields/Tabs/provider.js.map +1 -1
  562. package/dist/fields/Text/Input.d.ts.map +1 -1
  563. package/dist/fields/Text/Input.js +69 -49
  564. package/dist/fields/Text/Input.js.map +1 -1
  565. package/dist/fields/Text/index.d.ts.map +1 -1
  566. package/dist/fields/Text/index.js +10 -8
  567. package/dist/fields/Text/index.js.map +1 -1
  568. package/dist/fields/Text/types.d.ts +1 -2
  569. package/dist/fields/Text/types.d.ts.map +1 -1
  570. package/dist/fields/Text/types.js.map +1 -1
  571. package/dist/fields/Textarea/Input.d.ts.map +1 -1
  572. package/dist/fields/Textarea/Input.js +54 -33
  573. package/dist/fields/Textarea/Input.js.map +1 -1
  574. package/dist/fields/Textarea/index.d.ts.map +1 -1
  575. package/dist/fields/Textarea/index.js +8 -6
  576. package/dist/fields/Textarea/index.js.map +1 -1
  577. package/dist/fields/Textarea/types.d.ts +1 -2
  578. package/dist/fields/Textarea/types.d.ts.map +1 -1
  579. package/dist/fields/Textarea/types.js.map +1 -1
  580. package/dist/fields/Upload/Input.d.ts.map +1 -1
  581. package/dist/fields/Upload/Input.js +74 -44
  582. package/dist/fields/Upload/Input.js.map +1 -1
  583. package/dist/fields/Upload/index.d.ts.map +1 -1
  584. package/dist/fields/Upload/index.js +7 -6
  585. package/dist/fields/Upload/index.js.map +1 -1
  586. package/dist/fields/Upload/types.d.ts +0 -1
  587. package/dist/fields/Upload/types.d.ts.map +1 -1
  588. package/dist/fields/Upload/types.js.map +1 -1
  589. package/dist/fields/shared/index.d.ts +4 -2
  590. package/dist/fields/shared/index.d.ts.map +1 -1
  591. package/dist/fields/shared/index.js.map +1 -1
  592. package/dist/forms/FieldDescription/index.js +8 -4
  593. package/dist/forms/FieldDescription/index.js.map +1 -1
  594. package/dist/forms/FieldError/index.js +10 -5
  595. package/dist/forms/FieldError/index.js.map +1 -1
  596. package/dist/forms/FieldError/index.scss +1 -2
  597. package/dist/forms/FieldLabel/index.d.ts.map +1 -1
  598. package/dist/forms/FieldLabel/index.js +17 -7
  599. package/dist/forms/FieldLabel/index.js.map +1 -1
  600. package/dist/forms/FieldPropsProvider/index.d.ts +3 -0
  601. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  602. package/dist/forms/FieldPropsProvider/index.js +10 -6
  603. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  604. package/dist/forms/Form/context.d.ts +3 -1
  605. package/dist/forms/Form/context.d.ts.map +1 -1
  606. package/dist/forms/Form/context.js +3 -1
  607. package/dist/forms/Form/context.js.map +1 -1
  608. package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
  609. package/dist/forms/Form/getSiblingData.js +1 -0
  610. package/dist/forms/Form/getSiblingData.js.map +1 -1
  611. package/dist/forms/Form/index.d.ts.map +1 -1
  612. package/dist/forms/Form/index.js +50 -20
  613. package/dist/forms/Form/index.js.map +1 -1
  614. package/dist/forms/Form/initContextState.d.ts.map +1 -1
  615. package/dist/forms/Form/initContextState.js +1 -0
  616. package/dist/forms/Form/initContextState.js.map +1 -1
  617. package/dist/forms/Form/mergeErrorPaths.js +1 -1
  618. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  619. package/dist/forms/Form/types.d.ts +2 -0
  620. package/dist/forms/Form/types.d.ts.map +1 -1
  621. package/dist/forms/Form/types.js.map +1 -1
  622. package/dist/forms/NullifyField/index.js +8 -5
  623. package/dist/forms/NullifyField/index.js.map +1 -1
  624. package/dist/forms/RenderFields/RenderField.d.ts +1 -0
  625. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  626. package/dist/forms/RenderFields/RenderField.js +9 -4
  627. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  628. package/dist/forms/RenderFields/index.d.ts.map +1 -1
  629. package/dist/forms/RenderFields/index.js +28 -22
  630. package/dist/forms/RenderFields/index.js.map +1 -1
  631. package/dist/forms/RenderFields/index.scss +5 -0
  632. package/dist/forms/RenderFields/types.d.ts +8 -1
  633. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  634. package/dist/forms/RenderFields/types.js.map +1 -1
  635. package/dist/forms/RowLabel/Context/index.js +5 -3
  636. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  637. package/dist/forms/RowLabel/index.js +9 -6
  638. package/dist/forms/RowLabel/index.js.map +1 -1
  639. package/dist/forms/RowLabel/types.d.ts +4 -5
  640. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  641. package/dist/forms/RowLabel/types.js +1 -4
  642. package/dist/forms/RowLabel/types.js.map +1 -1
  643. package/dist/forms/Submit/index.d.ts.map +1 -1
  644. package/dist/forms/Submit/index.js +15 -11
  645. package/dist/forms/Submit/index.js.map +1 -1
  646. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +3 -5
  647. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  648. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +2 -1
  649. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  650. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +5 -3
  651. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  652. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js +4 -3
  653. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  654. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +5 -3
  655. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  656. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js +4 -3
  657. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  658. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +5 -3
  659. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  660. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +22 -15
  661. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  662. package/dist/forms/buildStateFromSchema/index.d.ts +3 -5
  663. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  664. package/dist/forms/buildStateFromSchema/index.js +3 -2
  665. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  666. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +3 -5
  667. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  668. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  669. package/dist/forms/useField/index.d.ts.map +1 -1
  670. package/dist/forms/useField/index.js +8 -3
  671. package/dist/forms/useField/index.js.map +1 -1
  672. package/dist/forms/useField/types.d.ts +1 -0
  673. package/dist/forms/useField/types.d.ts.map +1 -1
  674. package/dist/forms/useField/types.js.map +1 -1
  675. package/dist/forms/withCondition/WatchCondition.js +4 -1
  676. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  677. package/dist/forms/withCondition/index.js +7 -3
  678. package/dist/forms/withCondition/index.js.map +1 -1
  679. package/dist/graphics/Account/Default/index.js +22 -16
  680. package/dist/graphics/Account/Default/index.js.map +1 -1
  681. package/dist/graphics/Account/Gravatar/index.js +2 -1
  682. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  683. package/dist/graphics/Account/index.d.ts +0 -1
  684. package/dist/graphics/Account/index.d.ts.map +1 -1
  685. package/dist/graphics/Account/index.js +4 -21
  686. package/dist/graphics/Account/index.js.map +1 -1
  687. package/dist/graphics/DefaultBlockImage/index.js +32 -21
  688. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  689. package/dist/graphics/ExternalLink/index.js +9 -7
  690. package/dist/graphics/ExternalLink/index.js.map +1 -1
  691. package/dist/graphics/File/index.js +20 -14
  692. package/dist/graphics/File/index.js.map +1 -1
  693. package/dist/graphics/Icon/index.d.ts +3 -1
  694. package/dist/graphics/Icon/index.d.ts.map +1 -1
  695. package/dist/graphics/Icon/index.js +17 -38
  696. package/dist/graphics/Icon/index.js.map +1 -1
  697. package/dist/graphics/Logo/index.d.ts +2 -4
  698. package/dist/graphics/Logo/index.d.ts.map +1 -1
  699. package/dist/graphics/Logo/index.js +49 -25
  700. package/dist/graphics/Logo/index.js.map +1 -1
  701. package/dist/graphics/Search/index.js +23 -18
  702. package/dist/graphics/Search/index.js.map +1 -1
  703. package/dist/hooks/useDebouncedCallback.js +1 -1
  704. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  705. package/dist/hooks/useDelay.js +1 -1
  706. package/dist/hooks/useDelay.js.map +1 -1
  707. package/dist/hooks/useDelayedRender.d.ts.map +1 -1
  708. package/dist/hooks/useDelayedRender.js +1 -1
  709. package/dist/hooks/useDelayedRender.js.map +1 -1
  710. package/dist/hooks/useIntersect.js +1 -1
  711. package/dist/hooks/useIntersect.js.map +1 -1
  712. package/dist/icons/Calendar/index.js +34 -27
  713. package/dist/icons/Calendar/index.js.map +1 -1
  714. package/dist/icons/Check/index.js +18 -13
  715. package/dist/icons/Check/index.js.map +1 -1
  716. package/dist/icons/Chevron/index.js +8 -6
  717. package/dist/icons/Chevron/index.js.map +1 -1
  718. package/dist/icons/CloseMenu/index.js +22 -17
  719. package/dist/icons/CloseMenu/index.js.map +1 -1
  720. package/dist/icons/CodeBlock/index.js +14 -9
  721. package/dist/icons/CodeBlock/index.js.map +1 -1
  722. package/dist/icons/Copy/index.js +17 -12
  723. package/dist/icons/Copy/index.js.map +1 -1
  724. package/dist/icons/DragHandle/index.js +42 -33
  725. package/dist/icons/DragHandle/index.js.map +1 -1
  726. package/dist/icons/Edit/index.d.ts +3 -1
  727. package/dist/icons/Edit/index.d.ts.map +1 -1
  728. package/dist/icons/Edit/index.js +26 -17
  729. package/dist/icons/Edit/index.js.map +1 -1
  730. package/dist/icons/Line/index.js +11 -9
  731. package/dist/icons/Line/index.js.map +1 -1
  732. package/dist/icons/Link/index.js +14 -9
  733. package/dist/icons/Link/index.js.map +1 -1
  734. package/dist/icons/LogOut/index.js +25 -15
  735. package/dist/icons/LogOut/index.js.map +1 -1
  736. package/dist/icons/Menu/index.js +27 -21
  737. package/dist/icons/Menu/index.js.map +1 -1
  738. package/dist/icons/MinimizeMaximize/index.js +35 -19
  739. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  740. package/dist/icons/More/index.js +24 -18
  741. package/dist/icons/More/index.js.map +1 -1
  742. package/dist/icons/Plus/index.d.ts.map +1 -1
  743. package/dist/icons/Plus/index.js +21 -15
  744. package/dist/icons/Plus/index.js.map +1 -1
  745. package/dist/icons/Plus/index.scss +0 -3
  746. package/dist/icons/Search/index.js +19 -14
  747. package/dist/icons/Search/index.js.map +1 -1
  748. package/dist/icons/Swap/index.js +29 -22
  749. package/dist/icons/Swap/index.js.map +1 -1
  750. package/dist/icons/X/index.js +20 -15
  751. package/dist/icons/X/index.js.map +1 -1
  752. package/dist/providers/Actions/index.js +5 -3
  753. package/dist/providers/Actions/index.js.map +1 -1
  754. package/dist/providers/Auth/index.d.ts.map +1 -1
  755. package/dist/providers/Auth/index.js +11 -7
  756. package/dist/providers/Auth/index.js.map +1 -1
  757. package/dist/providers/ClientFunction/index.js +8 -5
  758. package/dist/providers/ClientFunction/index.js.map +1 -1
  759. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +3 -2
  760. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  761. package/dist/providers/ComponentMap/buildComponentMap/actions.js +3 -2
  762. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  763. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +6 -5
  764. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  765. package/dist/providers/ComponentMap/buildComponentMap/collections.js +32 -18
  766. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  767. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +5 -4
  768. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  769. package/dist/providers/ComponentMap/buildComponentMap/fields.js +78 -58
  770. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  771. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +12 -9
  772. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  773. package/dist/providers/ComponentMap/buildComponentMap/globals.js +26 -12
  774. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  775. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +4 -4
  776. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  777. package/dist/providers/ComponentMap/buildComponentMap/index.js +33 -20
  778. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  779. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +5 -1
  780. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  781. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  782. package/dist/providers/ComponentMap/index.d.ts +0 -1
  783. package/dist/providers/ComponentMap/index.d.ts.map +1 -1
  784. package/dist/providers/ComponentMap/index.js +5 -4
  785. package/dist/providers/ComponentMap/index.js.map +1 -1
  786. package/dist/providers/Config/index.js +5 -3
  787. package/dist/providers/Config/index.js.map +1 -1
  788. package/dist/providers/DocumentEvents/index.js +5 -3
  789. package/dist/providers/DocumentEvents/index.js.map +1 -1
  790. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  791. package/dist/providers/DocumentInfo/index.js +162 -104
  792. package/dist/providers/DocumentInfo/index.js.map +1 -1
  793. package/dist/providers/DocumentInfo/types.d.ts +6 -1
  794. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  795. package/dist/providers/DocumentInfo/types.js.map +1 -1
  796. package/dist/providers/EditDepth/index.js +5 -3
  797. package/dist/providers/EditDepth/index.js.map +1 -1
  798. package/dist/providers/EntityVisibility/index.d.ts +1 -1
  799. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  800. package/dist/providers/EntityVisibility/index.js +5 -3
  801. package/dist/providers/EntityVisibility/index.js.map +1 -1
  802. package/dist/providers/FieldComponents/index.js +5 -3
  803. package/dist/providers/FieldComponents/index.js.map +1 -1
  804. package/dist/providers/FormQueryParams/index.js +5 -3
  805. package/dist/providers/FormQueryParams/index.js.map +1 -1
  806. package/dist/providers/ListInfo/index.js +5 -3
  807. package/dist/providers/ListInfo/index.js.map +1 -1
  808. package/dist/providers/ListQuery/index.js +5 -3
  809. package/dist/providers/ListQuery/index.js.map +1 -1
  810. package/dist/providers/Locale/index.js +5 -3
  811. package/dist/providers/Locale/index.js.map +1 -1
  812. package/dist/providers/Operation/index.js +5 -3
  813. package/dist/providers/Operation/index.js.map +1 -1
  814. package/dist/providers/Params/index.js +5 -3
  815. package/dist/providers/Params/index.js.map +1 -1
  816. package/dist/providers/Preferences/index.js +5 -3
  817. package/dist/providers/Preferences/index.js.map +1 -1
  818. package/dist/providers/Root/index.d.ts +5 -4
  819. package/dist/providers/Root/index.d.ts.map +1 -1
  820. package/dist/providers/Root/index.js +76 -28
  821. package/dist/providers/Root/index.js.map +1 -1
  822. package/dist/providers/RouteCache/index.js +5 -3
  823. package/dist/providers/RouteCache/index.js.map +1 -1
  824. package/dist/providers/SearchParams/index.js +5 -3
  825. package/dist/providers/SearchParams/index.js.map +1 -1
  826. package/dist/providers/Selection/index.js +5 -3
  827. package/dist/providers/Selection/index.js.map +1 -1
  828. package/dist/providers/Theme/index.d.ts +3 -0
  829. package/dist/providers/Theme/index.d.ts.map +1 -1
  830. package/dist/providers/Theme/index.js +31 -19
  831. package/dist/providers/Theme/index.js.map +1 -1
  832. package/dist/providers/Translation/index.d.ts +11 -13
  833. package/dist/providers/Translation/index.d.ts.map +1 -1
  834. package/dist/providers/Translation/index.js +8 -5
  835. package/dist/providers/Translation/index.js.map +1 -1
  836. package/dist/scss/app.scss +0 -6
  837. package/dist/templates/Default/NavHamburger/index.js +2 -1
  838. package/dist/templates/Default/NavHamburger/index.js.map +1 -1
  839. package/dist/templates/Default/Wrapper/index.js +5 -3
  840. package/dist/templates/Default/Wrapper/index.js.map +1 -1
  841. package/dist/templates/Default/index.d.ts +4 -4
  842. package/dist/templates/Default/index.d.ts.map +1 -1
  843. package/dist/templates/Default/index.js +53 -22
  844. package/dist/templates/Default/index.js.map +1 -1
  845. package/dist/templates/Minimal/index.js +8 -5
  846. package/dist/templates/Minimal/index.js.map +1 -1
  847. package/dist/utilities/buildFieldSchemaMap/index.d.ts +8 -0
  848. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -0
  849. package/dist/utilities/buildFieldSchemaMap/index.js +29 -0
  850. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -0
  851. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +14 -0
  852. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -0
  853. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +75 -0
  854. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -0
  855. package/dist/utilities/buildFieldSchemaMap/types.d.ts +3 -0
  856. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +1 -0
  857. package/dist/utilities/buildFieldSchemaMap/types.js +3 -0
  858. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -0
  859. package/dist/utilities/buildFormState.d.ts +7 -0
  860. package/dist/utilities/buildFormState.d.ts.map +1 -0
  861. package/dist/utilities/buildFormState.js +162 -0
  862. package/dist/utilities/buildFormState.js.map +1 -0
  863. package/dist/utilities/dateLocales.d.ts +26 -26
  864. package/dist/utilities/dateLocales.js +26 -26
  865. package/dist/utilities/dateLocales.js.map +1 -1
  866. package/dist/utilities/formatDate.d.ts +2 -2
  867. package/dist/utilities/formatDate.d.ts.map +1 -1
  868. package/dist/utilities/formatDate.js.map +1 -1
  869. package/dist/utilities/formatDocTitle.d.ts +1 -1
  870. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  871. package/dist/utilities/formatDocTitle.js.map +1 -1
  872. package/dist/utilities/generateFieldID.d.ts +1 -1
  873. package/dist/utilities/generateFieldID.d.ts.map +1 -1
  874. package/dist/utilities/generateFieldID.js +2 -2
  875. package/dist/utilities/generateFieldID.js.map +1 -1
  876. package/dist/utilities/getFormState.d.ts +1 -0
  877. package/dist/utilities/getFormState.d.ts.map +1 -1
  878. package/dist/utilities/getFormState.js +5 -2
  879. package/dist/utilities/getFormState.js.map +1 -1
  880. package/dist/utilities/groupNavItems.d.ts +2 -2
  881. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  882. package/dist/utilities/groupNavItems.js.map +1 -1
  883. package/dist/utilities/hasSavePermission.d.ts +8 -0
  884. package/dist/utilities/hasSavePermission.d.ts.map +1 -0
  885. package/dist/utilities/hasSavePermission.js +12 -0
  886. package/dist/utilities/hasSavePermission.js.map +1 -0
  887. package/dist/utilities/isEditing.d.ts +6 -0
  888. package/dist/utilities/isEditing.d.ts.map +1 -0
  889. package/dist/utilities/isEditing.js +3 -0
  890. package/dist/utilities/isEditing.js.map +1 -0
  891. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  892. package/dist/utilities/reduceFieldsToValues.js +1 -0
  893. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  894. package/package.json +54 -38
  895. package/dist/elements/Publish/index.d.ts.map +0 -1
  896. package/dist/elements/Publish/index.js +0 -87
  897. package/dist/elements/Publish/index.js.map +0 -1
  898. package/dist/elements/Save/index.d.ts.map +0 -1
  899. package/dist/elements/Save/index.js.map +0 -1
  900. package/dist/elements/SaveDraft/index.d.ts.map +0 -1
  901. package/dist/elements/SaveDraft/index.js.map +0 -1
  902. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts +0 -3
  903. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.d.ts.map +0 -1
  904. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js +0 -19
  905. package/dist/providers/ComponentMap/buildComponentMap/WithServerSideProps.js.map +0 -1
  906. /package/dist/assets/{favicon.svg → payload-favicon.svg} +0 -0
  907. /package/dist/assets/{og-image.png → static-og-image.png} +0 -0
@@ -1,13 +1,13 @@
1
1
  'use client';
2
- import { FieldDescription } from '@payloadcms/ui/forms/FieldDescription';
3
- import { FieldError } from '@payloadcms/ui/forms/FieldError';
4
- import { FieldLabel } from '@payloadcms/ui/forms/FieldLabel';
5
- import { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
3
  import { wordBoundariesRegex } from 'payload/utilities';
7
4
  import qs from 'qs';
8
5
  import React, { useCallback, useEffect, useReducer, useRef, useState } from 'react';
9
6
  import { ReactSelect } from '../../elements/ReactSelect/index.js';
10
- import { useFormProcessing } from '../../forms/Form/context.js';
7
+ import { FieldDescription } from '../../forms/FieldDescription/index.js';
8
+ import { FieldError } from '../../forms/FieldError/index.js';
9
+ import { FieldLabel } from '../../forms/FieldLabel/index.js';
10
+ import { useFieldProps } from '../../forms/FieldPropsProvider/index.js';
11
11
  import { useField } from '../../forms/useField/index.js';
12
12
  import { withCondition } from '../../forms/withCondition/index.js';
13
13
  import { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js';
@@ -31,7 +31,6 @@ const RelationshipField = (props)=>{
31
31
  const { i18n, t } = useTranslation();
32
32
  const { permissions } = useAuth();
33
33
  const { code: locale } = useLocale();
34
- const formProcessing = useFormProcessing();
35
34
  const hasMultipleRelations = Array.isArray(relationTo);
36
35
  const [options, dispatchOptions] = useReducer(optionsReducer, []);
37
36
  const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1);
@@ -54,11 +53,11 @@ const RelationshipField = (props)=>{
54
53
  required
55
54
  ]);
56
55
  const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps();
57
- const readOnly = readOnlyFromProps || readOnlyFromContext;
58
- const { filterOptions, initialValue, path, setValue, showError, value } = useField({
56
+ const { filterOptions, formInitializing, formProcessing, initialValue, path, setValue, showError, value } = useField({
59
57
  path: pathFromContext || pathFromProps || name,
60
58
  validate: memoizedValidate
61
59
  });
60
+ const readOnly = readOnlyFromProps || readOnlyFromContext || formInitializing;
62
61
  const valueRef = useRef(value);
63
62
  valueRef.current = value;
64
63
  const [drawerIsOpen, setDrawerIsOpen] = useState(false);
@@ -93,13 +92,12 @@ const RelationshipField = (props)=>{
93
92
  }
94
93
  if (resultsFetched < 10) {
95
94
  const collection = collections.find((coll)=>coll.slug === relation);
96
- let fieldToSearch = collection?.defaultSort || collection?.admin?.useAsTitle || 'id';
97
- if (!searchArg) {
98
- if (typeof sortOptions === 'string') {
99
- fieldToSearch = sortOptions;
100
- } else if (sortOptions?.[relation]) {
101
- fieldToSearch = sortOptions[relation];
102
- }
95
+ const fieldToSearch = collection?.admin?.useAsTitle || 'id';
96
+ let fieldToSort = collection?.defaultSort || 'id';
97
+ if (typeof sortOptions === 'string') {
98
+ fieldToSort = sortOptions;
99
+ } else if (sortOptions?.[relation]) {
100
+ fieldToSort = sortOptions[relation];
103
101
  }
104
102
  const query = {
105
103
  depth: 0,
@@ -107,7 +105,7 @@ const RelationshipField = (props)=>{
107
105
  limit: maxResultsPerRequest,
108
106
  locale,
109
107
  page: lastLoadedPageToUse,
110
- sort: fieldToSearch,
108
+ sort: fieldToSort,
111
109
  where: {
112
110
  and: [
113
111
  {
@@ -368,7 +366,7 @@ const RelationshipField = (props)=>{
368
366
  value
369
367
  });
370
368
  if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') valueToRender.value = null;
371
- return /*#__PURE__*/ React.createElement("div", {
369
+ return /*#__PURE__*/ _jsxs("div", {
372
370
  className: [
373
371
  fieldBaseClass,
374
372
  baseClass,
@@ -381,98 +379,121 @@ const RelationshipField = (props)=>{
381
379
  style: {
382
380
  ...style,
383
381
  width
384
- }
385
- }, /*#__PURE__*/ React.createElement(FieldError, {
386
- CustomError: CustomError,
387
- path: path,
388
- ...errorProps || {}
389
- }), /*#__PURE__*/ React.createElement(FieldLabel, {
390
- CustomLabel: CustomLabel,
391
- label: label,
392
- required: required,
393
- ...labelProps || {}
394
- }), !errorLoading && /*#__PURE__*/ React.createElement("div", {
395
- className: `${baseClass}__wrap`
396
- }, /*#__PURE__*/ React.createElement(ReactSelect, {
397
- backspaceRemovesValue: !drawerIsOpen,
398
- components: {
399
- MultiValueLabel,
400
- SingleValue
401
- },
402
- customProps: {
403
- disableKeyDown: drawerIsOpen,
404
- disableMouseDown: drawerIsOpen,
405
- onSave,
406
- setDrawerIsOpen
407
- },
408
- disabled: readOnly || formProcessing,
409
- filterOption: enableWordBoundarySearch ? filterOption : undefined,
410
- isLoading: isLoading,
411
- isMulti: hasMany,
412
- isSortable: isSortable,
413
- onChange: !readOnly ? (selected)=>{
414
- if (selected === null) {
415
- setValue(hasMany ? [] : null);
416
- } else if (hasMany) {
417
- setValue(selected ? selected.map((option)=>{
418
- if (hasMultipleRelations) {
419
- return {
420
- relationTo: option.relationTo,
421
- value: option.value
422
- };
423
- }
424
- return option.value;
425
- }) : null);
426
- } else if (hasMultipleRelations) {
427
- setValue({
428
- relationTo: selected.relationTo,
429
- value: selected.value
430
- });
431
- } else {
432
- setValue(selected.value);
433
- }
434
- } : undefined,
435
- onInputChange: (newSearch)=>handleInputChange(newSearch, value),
436
- onMenuClose: ()=>{
437
- menuIsOpen.current = false;
438
- },
439
- onMenuOpen: ()=>{
440
- menuIsOpen.current = true;
441
- if (!hasLoadedFirstPageRef.current) {
442
- setIsLoading(true);
443
- void getResults({
444
- lastLoadedPage: {},
445
- onSuccess: ()=>{
446
- hasLoadedFirstPageRef.current = true;
447
- setIsLoading(false);
448
- },
449
- value: initialValue
450
- });
451
- }
452
- },
453
- onMenuScrollToBottom: ()=>{
454
- void getResults({
455
- lastFullyLoadedRelation,
456
- lastLoadedPage,
457
- search,
458
- sort: false,
459
- value: initialValue
460
- });
461
382
  },
462
- options: options,
463
- showError: showError,
464
- value: valueToRender ?? null
465
- }), !readOnly && allowCreate && /*#__PURE__*/ React.createElement(AddNewRelation, {
466
- dispatchOptions,
467
- hasMany,
468
- options,
469
- path,
470
- relationTo,
471
- setValue,
472
- value
473
- })), errorLoading && /*#__PURE__*/ React.createElement("div", {
474
- className: `${baseClass}__error-loading`
475
- }, errorLoading), CustomDescription !== undefined ? CustomDescription : /*#__PURE__*/ React.createElement(FieldDescription, descriptionProps || {}));
383
+ children: [
384
+ /*#__PURE__*/ _jsx(FieldLabel, {
385
+ CustomLabel: CustomLabel,
386
+ label: label,
387
+ required: required,
388
+ ...labelProps || {}
389
+ }),
390
+ /*#__PURE__*/ _jsxs("div", {
391
+ className: `${fieldBaseClass}__wrap`,
392
+ children: [
393
+ /*#__PURE__*/ _jsx(FieldError, {
394
+ CustomError: CustomError,
395
+ path: path,
396
+ ...errorProps || {}
397
+ }),
398
+ !errorLoading && /*#__PURE__*/ _jsxs("div", {
399
+ className: `${baseClass}__wrap`,
400
+ children: [
401
+ /*#__PURE__*/ _jsx(ReactSelect, {
402
+ backspaceRemovesValue: !drawerIsOpen,
403
+ components: {
404
+ MultiValueLabel,
405
+ SingleValue
406
+ },
407
+ customProps: {
408
+ disableKeyDown: drawerIsOpen,
409
+ disableMouseDown: drawerIsOpen,
410
+ onSave,
411
+ setDrawerIsOpen
412
+ },
413
+ disabled: readOnly || formProcessing || drawerIsOpen,
414
+ filterOption: enableWordBoundarySearch ? filterOption : undefined,
415
+ getOptionValue: (option)=>{
416
+ if (!option) return undefined;
417
+ return hasMany && Array.isArray(relationTo) ? `${option.relationTo}_${option.value}` : option.value;
418
+ },
419
+ isLoading: isLoading,
420
+ isMulti: hasMany,
421
+ isSortable: isSortable,
422
+ onChange: !readOnly ? (selected)=>{
423
+ if (selected === null) {
424
+ setValue(hasMany ? [] : null);
425
+ } else if (hasMany) {
426
+ setValue(selected ? selected.map((option)=>{
427
+ if (hasMultipleRelations) {
428
+ return {
429
+ relationTo: option.relationTo,
430
+ value: option.value
431
+ };
432
+ }
433
+ return option.value;
434
+ }) : null);
435
+ } else if (hasMultipleRelations) {
436
+ setValue({
437
+ relationTo: selected.relationTo,
438
+ value: selected.value
439
+ });
440
+ } else {
441
+ setValue(selected.value);
442
+ }
443
+ } : undefined,
444
+ onInputChange: (newSearch)=>handleInputChange(newSearch, value),
445
+ onMenuClose: ()=>{
446
+ menuIsOpen.current = false;
447
+ },
448
+ onMenuOpen: ()=>{
449
+ menuIsOpen.current = true;
450
+ if (!hasLoadedFirstPageRef.current) {
451
+ setIsLoading(true);
452
+ void getResults({
453
+ lastLoadedPage: {},
454
+ onSuccess: ()=>{
455
+ hasLoadedFirstPageRef.current = true;
456
+ setIsLoading(false);
457
+ },
458
+ value: initialValue
459
+ });
460
+ }
461
+ },
462
+ onMenuScrollToBottom: ()=>{
463
+ void getResults({
464
+ lastFullyLoadedRelation,
465
+ lastLoadedPage,
466
+ search,
467
+ sort: false,
468
+ value: initialValue
469
+ });
470
+ },
471
+ options: options,
472
+ showError: showError,
473
+ value: valueToRender ?? null
474
+ }),
475
+ !readOnly && allowCreate && /*#__PURE__*/ _jsx(AddNewRelation, {
476
+ dispatchOptions,
477
+ hasMany,
478
+ options,
479
+ path,
480
+ relationTo,
481
+ setValue,
482
+ value
483
+ })
484
+ ]
485
+ }),
486
+ errorLoading && /*#__PURE__*/ _jsx("div", {
487
+ className: `${baseClass}__error-loading`,
488
+ children: errorLoading
489
+ }),
490
+ CustomDescription !== undefined ? CustomDescription : /*#__PURE__*/ _jsx(FieldDescription, {
491
+ ...descriptionProps || {}
492
+ })
493
+ ]
494
+ })
495
+ ]
496
+ });
476
497
  };
477
498
  export const Relationship = withCondition(RelationshipField);
478
499
 
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs } from 'payload/database'\nimport type { Where } from 'payload/types'\n\nimport { FieldDescription } from '@payloadcms/ui/forms/FieldDescription'\nimport { FieldError } from '@payloadcms/ui/forms/FieldError'\nimport { FieldLabel } from '@payloadcms/ui/forms/FieldLabel'\nimport { useFieldProps } from '@payloadcms/ui/forms/FieldPropsProvider'\nimport { wordBoundariesRegex } from 'payload/utilities'\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { GetResults, Option, RelationshipFieldProps, Value } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { useFormProcessing } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { AddNewRelation } from './AddNew/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport './index.scss'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst maxResultsPerRequest = 10\n\nconst baseClass = 'relationship'\n\nexport { RelationshipFieldProps }\n\nconst RelationshipField: React.FC<RelationshipFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n allowCreate = true,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n isSortable = true,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n relationTo,\n required,\n sortOptions,\n style,\n validate,\n width,\n } = props\n\n const config = useConfig()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const formProcessing = useFormProcessing()\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const menuIsOpen = useRef(false)\n const hasLoadedFirstPageRef = useRef(false)\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n const readOnly = readOnlyFromProps || readOnlyFromContext\n\n const { filterOptions, initialValue, path, setValue, showError, value } = useField<\n Value | Value[]\n >({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const valueRef = useRef(value)\n valueRef.current = value\n\n const [drawerIsOpen, setDrawerIsOpen] = useState(false)\n\n const getResults: GetResults = useCallback(\n async ({\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value: valueArg,\n })\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = collections.find((coll) => coll.slug === relation)\n let fieldToSearch = collection?.defaultSort || collection?.admin?.useAsTitle || 'id'\n if (!searchArg) {\n if (typeof sortOptions === 'string') {\n fieldToSearch = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSearch = sortOptions[relation]\n }\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n sort: fieldToSearch,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n const response = await fetch(`${serverURL}${api}/${relation}?${qs.stringify(query)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') onSuccess()\n }\n },\n [\n permissions,\n relationTo,\n hasMany,\n errorLoading,\n search,\n collections,\n locale,\n filterOptions,\n serverURL,\n sortOptions,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback((searchArg: string, valueArg: Value | Value[]) => {\n void getResults({ lastLoadedPage: {}, search: searchArg, sort: true, value: valueArg })\n setSearch(searchArg)\n }, 300)\n\n const handleInputChange = useCallback(\n (searchArg: string, valueArg: Value | Value[]) => {\n if (search !== searchArg) {\n setLastLoadedPage({})\n updateSearch(searchArg, valueArg, searchArg !== '')\n }\n },\n [search, updateSearch],\n )\n\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n\n useEffect(() => {\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value,\n })\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}?${qs.stringify(query)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const collection = collections.find((coll) => coll.slug === relation)\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n }, [\n options,\n value,\n hasMany,\n errorLoading,\n collections,\n hasMultipleRelations,\n serverURL,\n api,\n i18n,\n relationTo,\n locale,\n config,\n ])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, collections])\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of getFormState and fast clicking into this field,\n // re-fetch options\n\n if (hasLoadedFirstPageRef.current && menuIsOpen.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: valueRef.current,\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu\n // opens by the user\n\n dispatchOptions({ type: 'CLEAR' })\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n hasLoadedFirstPageRef.current = false\n }, [\n relationTo,\n filterOptions,\n locale,\n menuIsOpen,\n getResults,\n valueRef,\n hasLoadedFirstPageRef,\n path,\n ])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n doc: args.doc,\n i18n,\n })\n },\n [i18n, config],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let string = item.label\n // strings less than breakApartThreshold length won't be chunked\n while (string.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = string.indexOf(' ', searchFilter.length)\n if (r.test(string.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {\n return true\n }\n string = string.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(string.slice(-breakApartThreshold))\n }, [])\n\n const valueToRender = findOptionsByValue({ options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') valueToRender.value = null\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n {!errorLoading && (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!drawerIsOpen}\n components={{\n MultiValueLabel,\n SingleValue,\n }}\n customProps={{\n disableKeyDown: drawerIsOpen,\n disableMouseDown: drawerIsOpen,\n onSave,\n setDrawerIsOpen,\n }}\n disabled={readOnly || formProcessing}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n isLoading={isLoading}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={\n !readOnly\n ? (selected) => {\n if (selected === null) {\n setValue(hasMany ? [] : null)\n } else if (hasMany) {\n setValue(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option.relationTo,\n value: option.value,\n }\n }\n\n return option.value\n })\n : null,\n )\n } else if (hasMultipleRelations) {\n setValue({\n relationTo: selected.relationTo,\n value: selected.value,\n })\n } else {\n setValue(selected.value)\n }\n }\n : undefined\n }\n onInputChange={(newSearch) => handleInputChange(newSearch, value)}\n onMenuClose={() => {\n menuIsOpen.current = false\n }}\n onMenuOpen={() => {\n menuIsOpen.current = true\n\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: initialValue,\n })\n }\n }}\n onMenuScrollToBottom={() => {\n void getResults({\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n value: initialValue,\n })\n }}\n options={options}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n {...{\n dispatchOptions,\n hasMany,\n options,\n path,\n relationTo,\n setValue,\n value,\n }}\n />\n )}\n </div>\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n )\n}\n\nexport const Relationship = withCondition(RelationshipField)\n"],"names":["FieldDescription","FieldError","FieldLabel","useFieldProps","wordBoundariesRegex","qs","React","useCallback","useEffect","useReducer","useRef","useState","ReactSelect","useFormProcessing","useField","withCondition","useDebouncedCallback","useAuth","useConfig","useLocale","useTranslation","fieldBaseClass","AddNewRelation","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","maxResultsPerRequest","baseClass","RelationshipField","props","name","CustomDescription","CustomError","CustomLabel","allowCreate","className","descriptionProps","errorProps","hasMany","isSortable","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","relationTo","required","sortOptions","style","validate","width","config","collections","routes","api","serverURL","i18n","t","permissions","code","locale","formProcessing","hasMultipleRelations","Array","isArray","options","dispatchOptions","lastFullyLoadedRelation","setLastFullyLoadedRelation","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","hasLoadedFirstPageRef","memoizedValidate","value","validationOptions","pathFromContext","readOnlyFromContext","filterOptions","initialValue","setValue","showError","valueRef","current","drawerIsOpen","setDrawerIsOpen","getResults","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","reduce","priorRelation","relation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","find","coll","slug","fieldToSearch","defaultSort","admin","useAsTitle","query","depth","draft","limit","page","where","and","id","not_in","push","like","response","fetch","stringify","credentials","headers","language","ok","data","json","prevState","nextPage","docs","length","type","status","ids","updateSearch","handleInputChange","Object","entries","idsToLoad","filter","optionGroup","option","in","isIdOnly","idOnly","onSave","args","collectionConfig","doc","filterOption","item","searchFilter","r","breakApartThreshold","string","indexOfSpace","test","valueToRender","div","Boolean","join","replace","backspaceRemovesValue","components","customProps","disableKeyDown","disableMouseDown","disabled","undefined","isMulti","onChange","selected","map","onInputChange","newSearch","onMenuClose","onMenuOpen","onMenuScrollToBottom","Relationship"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/fields/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { PaginatedDocs } from 'payload/database'\nimport type { Where } from 'payload/types'\n\nimport { wordBoundariesRegex } from 'payload/utilities'\nimport qs from 'qs'\nimport React, { useCallback, useEffect, useReducer, useRef, useState } from 'react'\n\nimport type { DocumentDrawerProps } from '../../elements/DocumentDrawer/types.js'\nimport type { GetResults, Option, RelationshipFieldProps, Value } from './types.js'\n\nimport { ReactSelect } from '../../elements/ReactSelect/index.js'\nimport { FieldDescription } from '../../forms/FieldDescription/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { FieldLabel } from '../../forms/FieldLabel/index.js'\nimport { useFieldProps } from '../../forms/FieldPropsProvider/index.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { withCondition } from '../../forms/withCondition/index.js'\nimport { useDebouncedCallback } from '../../hooks/useDebouncedCallback.js'\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { fieldBaseClass } from '../shared/index.js'\nimport { AddNewRelation } from './AddNew/index.js'\nimport { createRelationMap } from './createRelationMap.js'\nimport { findOptionsByValue } from './findOptionsByValue.js'\nimport './index.scss'\nimport { optionsReducer } from './optionsReducer.js'\nimport { MultiValueLabel } from './select-components/MultiValueLabel/index.js'\nimport { SingleValue } from './select-components/SingleValue/index.js'\n\nconst maxResultsPerRequest = 10\n\nconst baseClass = 'relationship'\n\nexport { RelationshipFieldProps }\n\nconst RelationshipField: React.FC<RelationshipFieldProps> = (props) => {\n const {\n name,\n CustomDescription,\n CustomError,\n CustomLabel,\n allowCreate = true,\n className,\n descriptionProps,\n errorProps,\n hasMany,\n isSortable = true,\n label,\n labelProps,\n path: pathFromProps,\n readOnly: readOnlyFromProps,\n relationTo,\n required,\n sortOptions,\n style,\n validate,\n width,\n } = props\n\n const config = useConfig()\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = config\n\n const { i18n, t } = useTranslation()\n const { permissions } = useAuth()\n const { code: locale } = useLocale()\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [lastFullyLoadedRelation, setLastFullyLoadedRelation] = useState(-1)\n const [lastLoadedPage, setLastLoadedPage] = useState<Record<string, number>>({})\n const [errorLoading, setErrorLoading] = useState('')\n const [search, setSearch] = useState('')\n const [isLoading, setIsLoading] = useState(false)\n const [enableWordBoundarySearch, setEnableWordBoundarySearch] = useState(false)\n const menuIsOpen = useRef(false)\n const hasLoadedFirstPageRef = useRef(false)\n\n const memoizedValidate = useCallback(\n (value, validationOptions) => {\n if (typeof validate === 'function') {\n return validate(value, { ...validationOptions, required })\n }\n },\n [validate, required],\n )\n const { path: pathFromContext, readOnly: readOnlyFromContext } = useFieldProps()\n\n const {\n filterOptions,\n formInitializing,\n formProcessing,\n initialValue,\n path,\n setValue,\n showError,\n value,\n } = useField<Value | Value[]>({\n path: pathFromContext || pathFromProps || name,\n validate: memoizedValidate,\n })\n\n const readOnly = readOnlyFromProps || readOnlyFromContext || formInitializing\n\n const valueRef = useRef(value)\n valueRef.current = value\n\n const [drawerIsOpen, setDrawerIsOpen] = useState(false)\n\n const getResults: GetResults = useCallback(\n async ({\n lastFullyLoadedRelation: lastFullyLoadedRelationArg,\n lastLoadedPage: lastLoadedPageArg,\n onSuccess,\n search: searchArg,\n sort,\n value: valueArg,\n }) => {\n if (!permissions) {\n return\n }\n const lastFullyLoadedRelationToUse =\n typeof lastFullyLoadedRelationArg !== 'undefined' ? lastFullyLoadedRelationArg : -1\n\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const relationsToFetch =\n lastFullyLoadedRelationToUse === -1\n ? relations\n : relations.slice(lastFullyLoadedRelationToUse + 1)\n\n let resultsFetched = 0\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value: valueArg,\n })\n\n if (!errorLoading) {\n await relationsToFetch.reduce(async (priorRelation, relation) => {\n const relationFilterOption = filterOptions?.[relation]\n\n let lastLoadedPageToUse\n if (search !== searchArg) {\n lastLoadedPageToUse = 1\n } else {\n lastLoadedPageToUse = lastLoadedPageArg[relation] + 1\n }\n await priorRelation\n\n if (relationFilterOption === false) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n return Promise.resolve()\n }\n\n if (resultsFetched < 10) {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n let fieldToSort = collection?.defaultSort || 'id'\n if (typeof sortOptions === 'string') {\n fieldToSort = sortOptions\n } else if (sortOptions?.[relation]) {\n fieldToSort = sortOptions[relation]\n }\n\n const query: {\n [key: string]: unknown\n where: Where\n } = {\n depth: 0,\n draft: true,\n limit: maxResultsPerRequest,\n locale,\n page: lastLoadedPageToUse,\n sort: fieldToSort,\n where: {\n and: [\n {\n id: {\n not_in: relationMap[relation],\n },\n },\n ],\n },\n }\n\n if (searchArg) {\n query.where.and.push({\n [fieldToSearch]: {\n like: searchArg,\n },\n })\n }\n\n if (relationFilterOption && typeof relationFilterOption !== 'boolean') {\n query.where.and.push(relationFilterOption)\n }\n\n const response = await fetch(`${serverURL}${api}/${relation}?${qs.stringify(query)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data: PaginatedDocs<unknown> = await response.json()\n setLastLoadedPage((prevState) => {\n return {\n ...prevState,\n [relation]: lastLoadedPageToUse,\n }\n })\n\n if (!data.nextPage) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n }\n\n if (data.docs.length > 0) {\n resultsFetched += data.docs.length\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: data.docs,\n i18n,\n sort,\n })\n }\n } else if (response.status === 403) {\n setLastFullyLoadedRelation(relations.indexOf(relation))\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs: [],\n i18n,\n ids: relationMap[relation],\n sort,\n })\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n }\n }, Promise.resolve())\n\n if (typeof onSuccess === 'function') onSuccess()\n }\n },\n [\n permissions,\n relationTo,\n hasMany,\n errorLoading,\n search,\n collections,\n locale,\n filterOptions,\n serverURL,\n sortOptions,\n api,\n i18n,\n config,\n t,\n ],\n )\n\n const updateSearch = useDebouncedCallback((searchArg: string, valueArg: Value | Value[]) => {\n void getResults({ lastLoadedPage: {}, search: searchArg, sort: true, value: valueArg })\n setSearch(searchArg)\n }, 300)\n\n const handleInputChange = useCallback(\n (searchArg: string, valueArg: Value | Value[]) => {\n if (search !== searchArg) {\n setLastLoadedPage({})\n updateSearch(searchArg, valueArg, searchArg !== '')\n }\n },\n [search, updateSearch],\n )\n\n // ///////////////////////////////////\n // Ensure we have an option for each value\n // ///////////////////////////////////\n\n useEffect(() => {\n const relationMap = createRelationMap({\n hasMany,\n relationTo,\n value,\n })\n\n void Object.entries(relationMap).reduce(async (priorRelation, [relation, ids]) => {\n await priorRelation\n\n const idsToLoad = ids.filter((id) => {\n return !options.find((optionGroup) =>\n optionGroup?.options?.find(\n (option) => option.value === id && option.relationTo === relation,\n ),\n )\n })\n\n if (idsToLoad.length > 0) {\n const query = {\n depth: 0,\n draft: true,\n limit: idsToLoad.length,\n locale,\n where: {\n id: {\n in: idsToLoad,\n },\n },\n }\n\n if (!errorLoading) {\n const response = await fetch(`${serverURL}${api}/${relation}?${qs.stringify(query)}`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n const collection = collections.find((coll) => coll.slug === relation)\n let docs = []\n\n if (response.ok) {\n const data = await response.json()\n docs = data.docs\n }\n\n dispatchOptions({\n type: 'ADD',\n collection,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n docs,\n i18n,\n ids: idsToLoad,\n sort: true,\n })\n }\n }\n }, Promise.resolve())\n }, [\n options,\n value,\n hasMany,\n errorLoading,\n collections,\n hasMultipleRelations,\n serverURL,\n api,\n i18n,\n relationTo,\n locale,\n config,\n ])\n\n // Determine if we should switch to word boundary search\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const isIdOnly = relations.reduce((idOnly, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n return fieldToSearch === 'id' && idOnly\n }, true)\n setEnableWordBoundarySearch(!isIdOnly)\n }, [relationTo, collections])\n\n // When (`relationTo` || `filterOptions` || `locale`) changes, reset component\n // Note - effect should not run on first run\n useEffect(() => {\n // If the menu is open while filterOptions changes\n // due to latency of getFormState and fast clicking into this field,\n // re-fetch options\n\n if (hasLoadedFirstPageRef.current && menuIsOpen.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: valueRef.current,\n })\n }\n\n // If the menu is not open, still reset the field state\n // because we need to get new options next time the menu\n // opens by the user\n\n dispatchOptions({ type: 'CLEAR' })\n setLastFullyLoadedRelation(-1)\n setLastLoadedPage({})\n hasLoadedFirstPageRef.current = false\n }, [\n relationTo,\n filterOptions,\n locale,\n menuIsOpen,\n getResults,\n valueRef,\n hasLoadedFirstPageRef,\n path,\n ])\n\n const onSave = useCallback<DocumentDrawerProps['onSave']>(\n (args) => {\n dispatchOptions({\n type: 'UPDATE',\n collection: args.collectionConfig,\n // TODO: fix this\n // @ts-expect-error-next-line\n config,\n doc: args.doc,\n i18n,\n })\n },\n [i18n, config],\n )\n\n const filterOption = useCallback((item: Option, searchFilter: string) => {\n if (!searchFilter) {\n return true\n }\n const r = wordBoundariesRegex(searchFilter || '')\n // breaking the labels to search into smaller parts increases performance\n const breakApartThreshold = 250\n let string = item.label\n // strings less than breakApartThreshold length won't be chunked\n while (string.length > breakApartThreshold) {\n // slicing by the next space after the length of the search input prevents slicing the string up by partial words\n const indexOfSpace = string.indexOf(' ', searchFilter.length)\n if (r.test(string.slice(0, indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1))) {\n return true\n }\n string = string.slice(indexOfSpace === -1 ? searchFilter.length : indexOfSpace + 1)\n }\n return r.test(string.slice(-breakApartThreshold))\n }, [])\n\n const valueToRender = findOptionsByValue({ options, value })\n\n if (!Array.isArray(valueToRender) && valueToRender?.value === 'null') valueToRender.value = null\n\n return (\n <div\n className={[\n fieldBaseClass,\n baseClass,\n className,\n showError && 'error',\n errorLoading && 'error-loading',\n readOnly && `${baseClass}--read-only`,\n ]\n .filter(Boolean)\n .join(' ')}\n id={`field-${path.replace(/\\./g, '__')}`}\n style={{\n ...style,\n width,\n }}\n >\n <FieldLabel\n CustomLabel={CustomLabel}\n label={label}\n required={required}\n {...(labelProps || {})}\n />\n <div className={`${fieldBaseClass}__wrap`}>\n <FieldError CustomError={CustomError} path={path} {...(errorProps || {})} />\n\n {!errorLoading && (\n <div className={`${baseClass}__wrap`}>\n <ReactSelect\n backspaceRemovesValue={!drawerIsOpen}\n components={{\n MultiValueLabel,\n SingleValue,\n }}\n customProps={{\n disableKeyDown: drawerIsOpen,\n disableMouseDown: drawerIsOpen,\n onSave,\n setDrawerIsOpen,\n }}\n disabled={readOnly || formProcessing || drawerIsOpen}\n filterOption={enableWordBoundarySearch ? filterOption : undefined}\n getOptionValue={(option) => {\n if (!option) return undefined\n return hasMany && Array.isArray(relationTo)\n ? `${option.relationTo}_${option.value}`\n : option.value\n }}\n isLoading={isLoading}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={\n !readOnly\n ? (selected) => {\n if (selected === null) {\n setValue(hasMany ? [] : null)\n } else if (hasMany) {\n setValue(\n selected\n ? selected.map((option) => {\n if (hasMultipleRelations) {\n return {\n relationTo: option.relationTo,\n value: option.value,\n }\n }\n\n return option.value\n })\n : null,\n )\n } else if (hasMultipleRelations) {\n setValue({\n relationTo: selected.relationTo,\n value: selected.value,\n })\n } else {\n setValue(selected.value)\n }\n }\n : undefined\n }\n onInputChange={(newSearch) => handleInputChange(newSearch, value)}\n onMenuClose={() => {\n menuIsOpen.current = false\n }}\n onMenuOpen={() => {\n menuIsOpen.current = true\n\n if (!hasLoadedFirstPageRef.current) {\n setIsLoading(true)\n void getResults({\n lastLoadedPage: {},\n onSuccess: () => {\n hasLoadedFirstPageRef.current = true\n setIsLoading(false)\n },\n value: initialValue,\n })\n }\n }}\n onMenuScrollToBottom={() => {\n void getResults({\n lastFullyLoadedRelation,\n lastLoadedPage,\n search,\n sort: false,\n value: initialValue,\n })\n }}\n options={options}\n showError={showError}\n value={valueToRender ?? null}\n />\n {!readOnly && allowCreate && (\n <AddNewRelation\n {...{\n dispatchOptions,\n hasMany,\n options,\n path,\n relationTo,\n setValue,\n value,\n }}\n />\n )}\n </div>\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n {CustomDescription !== undefined ? (\n CustomDescription\n ) : (\n <FieldDescription {...(descriptionProps || {})} />\n )}\n </div>\n </div>\n )\n}\n\nexport const Relationship = withCondition(RelationshipField)\n"],"names":["wordBoundariesRegex","qs","React","useCallback","useEffect","useReducer","useRef","useState","ReactSelect","FieldDescription","FieldError","FieldLabel","useFieldProps","useField","withCondition","useDebouncedCallback","useAuth","useConfig","useLocale","useTranslation","fieldBaseClass","AddNewRelation","createRelationMap","findOptionsByValue","optionsReducer","MultiValueLabel","SingleValue","maxResultsPerRequest","baseClass","RelationshipField","props","name","CustomDescription","CustomError","CustomLabel","allowCreate","className","descriptionProps","errorProps","hasMany","isSortable","label","labelProps","path","pathFromProps","readOnly","readOnlyFromProps","relationTo","required","sortOptions","style","validate","width","config","collections","routes","api","serverURL","i18n","t","permissions","code","locale","hasMultipleRelations","Array","isArray","options","dispatchOptions","lastFullyLoadedRelation","setLastFullyLoadedRelation","lastLoadedPage","setLastLoadedPage","errorLoading","setErrorLoading","search","setSearch","isLoading","setIsLoading","enableWordBoundarySearch","setEnableWordBoundarySearch","menuIsOpen","hasLoadedFirstPageRef","memoizedValidate","value","validationOptions","pathFromContext","readOnlyFromContext","filterOptions","formInitializing","formProcessing","initialValue","setValue","showError","valueRef","current","drawerIsOpen","setDrawerIsOpen","getResults","lastFullyLoadedRelationArg","lastLoadedPageArg","onSuccess","searchArg","sort","valueArg","lastFullyLoadedRelationToUse","relations","relationsToFetch","slice","resultsFetched","relationMap","reduce","priorRelation","relation","relationFilterOption","lastLoadedPageToUse","indexOf","Promise","resolve","collection","find","coll","slug","fieldToSearch","admin","useAsTitle","fieldToSort","defaultSort","query","depth","draft","limit","page","where","and","id","not_in","push","like","response","fetch","stringify","credentials","headers","language","ok","data","json","prevState","nextPage","docs","length","type","status","ids","updateSearch","handleInputChange","Object","entries","idsToLoad","filter","optionGroup","option","in","isIdOnly","idOnly","onSave","args","collectionConfig","doc","filterOption","item","searchFilter","r","breakApartThreshold","string","indexOfSpace","test","valueToRender","div","Boolean","join","replace","backspaceRemovesValue","components","customProps","disableKeyDown","disableMouseDown","disabled","undefined","getOptionValue","isMulti","onChange","selected","map","onInputChange","newSearch","onMenuClose","onMenuOpen","onMenuScrollToBottom","Relationship"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/fields/Relationship/select-components/MultiValueLabel/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,KAAwC,MAAM,OAAO,CAAA;AAG5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAO5C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CA6D7D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/fields/Relationship/select-components/MultiValueLabel/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AAEnD,OAAO,KAAwC,MAAM,OAAO,CAAA;AAG5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAO5C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,EAAE,CAAC,eAAe,CAAC,MAAM,CAAC,CAmE7D,CAAA"}
@@ -1,4 +1,5 @@
1
1
  'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
3
  import React, { Fragment, useEffect, useState } from 'react';
3
4
  import { components } from 'react-select';
4
5
  import { useDocumentDrawer } from '../../../../elements/DocumentDrawer/index.js';
@@ -26,32 +27,54 @@ export const MultiValueLabel = (props)=>{
26
27
  isDrawerOpen,
27
28
  setDrawerIsOpen
28
29
  ]);
29
- return /*#__PURE__*/ React.createElement("div", {
30
- className: baseClass
31
- }, /*#__PURE__*/ React.createElement("div", {
32
- className: `${baseClass}__content`
33
- }, /*#__PURE__*/ React.createElement(components.MultiValueLabel, {
34
- ...props,
35
- innerProps: {
36
- className: `${baseClass}__text`,
37
- ...draggableProps || {}
38
- }
39
- })), relationTo && hasReadPermission && /*#__PURE__*/ React.createElement(Fragment, null, /*#__PURE__*/ React.createElement(DocumentDrawerToggler, {
40
- "aria-label": `Edit ${label}`,
41
- className: `${baseClass}__drawer-toggler`,
42
- onClick: ()=>setShowTooltip(false),
43
- onMouseDown: (e)=>e.stopPropagation(),
44
- onMouseEnter: ()=>setShowTooltip(true),
45
- onMouseLeave: ()=>setShowTooltip(false),
46
- onTouchEnd: (e)=>e.stopPropagation()
47
- }, /*#__PURE__*/ React.createElement(Tooltip, {
48
- className: `${baseClass}__tooltip`,
49
- show: showTooltip
50
- }, t('general:editLabel', {
51
- label: ''
52
- })), /*#__PURE__*/ React.createElement(Edit, null)), /*#__PURE__*/ React.createElement(DocumentDrawer, {
53
- onSave: null
54
- })));
30
+ return /*#__PURE__*/ _jsxs("div", {
31
+ className: baseClass,
32
+ children: [
33
+ /*#__PURE__*/ _jsx("div", {
34
+ className: `${baseClass}__content`,
35
+ children: /*#__PURE__*/ _jsx(components.MultiValueLabel, {
36
+ ...props,
37
+ innerProps: {
38
+ className: `${baseClass}__text`,
39
+ ...draggableProps || {}
40
+ }
41
+ })
42
+ }),
43
+ relationTo && hasReadPermission && /*#__PURE__*/ _jsxs(Fragment, {
44
+ children: [
45
+ /*#__PURE__*/ _jsxs(DocumentDrawerToggler, {
46
+ "aria-label": `Edit ${label}`,
47
+ className: `${baseClass}__drawer-toggler`,
48
+ onClick: ()=>setShowTooltip(false),
49
+ onKeyDown: (e)=>{
50
+ if (e.key === 'Enter') {
51
+ e.stopPropagation();
52
+ }
53
+ },
54
+ onMouseDown: (e)=>e.stopPropagation(),
55
+ onMouseEnter: ()=>setShowTooltip(true),
56
+ onMouseLeave: ()=>setShowTooltip(false),
57
+ onTouchEnd: (e)=>e.stopPropagation(),
58
+ children: [
59
+ /*#__PURE__*/ _jsx(Tooltip, {
60
+ className: `${baseClass}__tooltip`,
61
+ show: showTooltip,
62
+ children: t('general:editLabel', {
63
+ label: ''
64
+ })
65
+ }),
66
+ /*#__PURE__*/ _jsx(Edit, {
67
+ className: `${baseClass}__icon`
68
+ })
69
+ ]
70
+ }),
71
+ /*#__PURE__*/ _jsx(DocumentDrawer, {
72
+ onSave: null
73
+ })
74
+ ]
75
+ })
76
+ ]
77
+ });
55
78
  };
56
79
 
57
80
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/fields/Relationship/select-components/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React, { Fragment, useEffect, useState } from 'react'\nimport { components } from 'react-select'\n\nimport type { Option } from '../../types.js'\n\nimport { useDocumentDrawer } from '../../../../elements/DocumentDrawer/index.js'\nimport { Tooltip } from '../../../../elements/Tooltip/index.js'\nimport { Edit } from '../../../../icons/Edit/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'relationship--multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n data: { label, relationTo, value },\n selectProps: {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n customProps: {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n draggableProps,\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n setDrawerIsOpen,\n // onSave,\n } = {},\n } = {},\n } = props\n\n const { permissions } = useAuth()\n const [showTooltip, setShowTooltip] = useState(false)\n const { t } = useTranslation()\n const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read?.permission)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen }] = useDocumentDrawer({\n id: value?.toString(),\n collectionSlug: relationTo,\n })\n\n useEffect(() => {\n if (typeof setDrawerIsOpen === 'function') setDrawerIsOpen(isDrawerOpen)\n }, [isDrawerOpen, setDrawerIsOpen])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__content`}>\n <components.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n {relationTo && hasReadPermission && (\n <Fragment>\n <DocumentDrawerToggler\n aria-label={`Edit ${label}`}\n className={`${baseClass}__drawer-toggler`}\n onClick={() => setShowTooltip(false)}\n onMouseDown={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:editLabel', { label: '' })}\n </Tooltip>\n <Edit />\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={/* onSave */ null} />\n </Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","Fragment","useEffect","useState","components","useDocumentDrawer","Tooltip","Edit","useAuth","useTranslation","baseClass","MultiValueLabel","props","data","label","relationTo","value","selectProps","customProps","draggableProps","setDrawerIsOpen","permissions","showTooltip","setShowTooltip","t","hasReadPermission","Boolean","collections","read","permission","DocumentDrawer","DocumentDrawerToggler","isDrawerOpen","id","toString","collectionSlug","div","className","innerProps","aria-label","onClick","onMouseDown","e","stopPropagation","onMouseEnter","onMouseLeave","onTouchEnd","show","onSave"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,OAAOA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAC5D,SAASC,UAAU,QAAQ,eAAc;AAIzC,SAASC,iBAAiB,QAAQ,+CAA8C;AAChF,SAASC,OAAO,QAAQ,wCAAuC;AAC/D,SAASC,IAAI,QAAQ,kCAAiC;AACtD,SAASC,OAAO,QAAQ,sCAAqC;AAC7D,SAASC,cAAc,QAAQ,6CAA4C;AAG3E,MAAMC,YAAY;AAElB,OAAO,MAAMC,kBAAqD,CAACC;IACjE,MAAM,EACJC,MAAM,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE,EAClCC,aAAa,EACX,8FAA8F;IAC9FC,aAAa,EACX,6FAA6F;IAC7FC,cAAc,EACd,8FAA8F;IAC9FC,eAAe,EAEhB,GAAG,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,EACP,GAAGR;IAEJ,MAAM,EAAES,WAAW,EAAE,GAAGb;IACxB,MAAM,CAACc,aAAaC,eAAe,GAAGpB,SAAS;IAC/C,MAAM,EAAEqB,CAAC,EAAE,GAAGf;IACd,MAAMgB,oBAAoBC,QAAQL,aAAaM,aAAa,CAACZ,WAAW,EAAEa,MAAMC;IAEhF,MAAM,CAACC,gBAAgBC,uBAAuB,EAAEC,YAAY,EAAE,CAAC,GAAG3B,kBAAkB;QAClF4B,IAAIjB,OAAOkB;QACXC,gBAAgBpB;IAClB;IAEAb,UAAU;QACR,IAAI,OAAOkB,oBAAoB,YAAYA,gBAAgBY;IAC7D,GAAG;QAACA;QAAcZ;KAAgB;IAElC,qBACE,oBAACgB;QAAIC,WAAW3B;qBACd,oBAAC0B;QAAIC,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;qBACrC,oBAACN,WAAWO,eAAe;QACxB,GAAGC,KAAK;QACT0B,YAAY;YACVD,WAAW,CAAC,EAAE3B,UAAU,MAAM,CAAC;YAC/B,GAAIS,kBAAkB,CAAC,CAAC;QAC1B;SAGHJ,cAAcU,mCACb,oBAACxB,8BACC,oBAAC8B;QACCQ,cAAY,CAAC,KAAK,EAAEzB,MAAM,CAAC;QAC3BuB,WAAW,CAAC,EAAE3B,UAAU,gBAAgB,CAAC;QACzC8B,SAAS,IAAMjB,eAAe;QAC9BkB,aAAa,CAACC,IAAMA,EAAEC,eAAe;QACrCC,cAAc,IAAMrB,eAAe;QACnCsB,cAAc,IAAMtB,eAAe;QACnCuB,YAAY,CAACJ,IAAMA,EAAEC,eAAe;qBAEpC,oBAACrC;QAAQ+B,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;QAAEqC,MAAMzB;OAChDE,EAAE,qBAAqB;QAAEV,OAAO;IAAG,mBAEtC,oBAACP,4BAEH,oBAACuB;QAAekB,QAAqB;;AAK/C,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/fields/Relationship/select-components/MultiValueLabel/index.tsx"],"sourcesContent":["'use client'\nimport type { MultiValueProps } from 'react-select'\n\nimport React, { Fragment, useEffect, useState } from 'react'\nimport { components } from 'react-select'\n\nimport type { Option } from '../../types.js'\n\nimport { useDocumentDrawer } from '../../../../elements/DocumentDrawer/index.js'\nimport { Tooltip } from '../../../../elements/Tooltip/index.js'\nimport { Edit } from '../../../../icons/Edit/index.js'\nimport { useAuth } from '../../../../providers/Auth/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'relationship--multi-value-label'\n\nexport const MultiValueLabel: React.FC<MultiValueProps<Option>> = (props) => {\n const {\n data: { label, relationTo, value },\n selectProps: {\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n customProps: {\n // @ts-expect-error-next-line// TODO Fix this - moduleResolution 16 breaks our declare module\n draggableProps,\n // @ts-expect-error-next-line // TODO Fix this - moduleResolution 16 breaks our declare module\n setDrawerIsOpen,\n // onSave,\n } = {},\n } = {},\n } = props\n\n const { permissions } = useAuth()\n const [showTooltip, setShowTooltip] = useState(false)\n const { t } = useTranslation()\n const hasReadPermission = Boolean(permissions?.collections?.[relationTo]?.read?.permission)\n\n const [DocumentDrawer, DocumentDrawerToggler, { isDrawerOpen }] = useDocumentDrawer({\n id: value?.toString(),\n collectionSlug: relationTo,\n })\n\n useEffect(() => {\n if (typeof setDrawerIsOpen === 'function') setDrawerIsOpen(isDrawerOpen)\n }, [isDrawerOpen, setDrawerIsOpen])\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__content`}>\n {/* @ts-expect-error // TODO Fix this - Broke with React 19 types */}\n <components.MultiValueLabel\n {...props}\n innerProps={{\n className: `${baseClass}__text`,\n ...(draggableProps || {}),\n }}\n />\n </div>\n {relationTo && hasReadPermission && (\n <Fragment>\n <DocumentDrawerToggler\n aria-label={`Edit ${label}`}\n className={`${baseClass}__drawer-toggler`}\n onClick={() => setShowTooltip(false)}\n onKeyDown={(e) => {\n if (e.key === 'Enter') {\n e.stopPropagation()\n }\n }}\n onMouseDown={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n onMouseEnter={() => setShowTooltip(true)}\n onMouseLeave={() => setShowTooltip(false)}\n onTouchEnd={(e) => e.stopPropagation()} // prevents react-select dropdown from opening\n >\n <Tooltip className={`${baseClass}__tooltip`} show={showTooltip}>\n {t('general:editLabel', { label: '' })}\n </Tooltip>\n <Edit className={`${baseClass}__icon`} />\n </DocumentDrawerToggler>\n <DocumentDrawer onSave={/* onSave */ null} />\n </Fragment>\n )}\n </div>\n )\n}\n"],"names":["React","Fragment","useEffect","useState","components","useDocumentDrawer","Tooltip","Edit","useAuth","useTranslation","baseClass","MultiValueLabel","props","data","label","relationTo","value","selectProps","customProps","draggableProps","setDrawerIsOpen","permissions","showTooltip","setShowTooltip","t","hasReadPermission","Boolean","collections","read","permission","DocumentDrawer","DocumentDrawerToggler","isDrawerOpen","id","toString","collectionSlug","div","className","innerProps","aria-label","onClick","onKeyDown","e","key","stopPropagation","onMouseDown","onMouseEnter","onMouseLeave","onTouchEnd","show","onSave"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,OAAOA,SAASC,QAAQ,EAAEC,SAAS,EAAEC,QAAQ,QAAQ,QAAO;AAC5D,SAASC,UAAU,QAAQ,eAAc;AAIzC,SAASC,iBAAiB,QAAQ,+CAA8C;AAChF,SAASC,OAAO,QAAQ,wCAAuC;AAC/D,SAASC,IAAI,QAAQ,kCAAiC;AACtD,SAASC,OAAO,QAAQ,sCAAqC;AAC7D,SAASC,cAAc,QAAQ,6CAA4C;AAG3E,MAAMC,YAAY;AAElB,OAAO,MAAMC,kBAAqD,CAACC;IACjE,MAAM,EACJC,MAAM,EAAEC,KAAK,EAAEC,UAAU,EAAEC,KAAK,EAAE,EAClCC,aAAa,EACX,8FAA8F;IAC9FC,aAAa,EACX,6FAA6F;IAC7FC,cAAc,EACd,8FAA8F;IAC9FC,eAAe,EAEhB,GAAG,CAAC,CAAC,EACP,GAAG,CAAC,CAAC,EACP,GAAGR;IAEJ,MAAM,EAAES,WAAW,EAAE,GAAGb;IACxB,MAAM,CAACc,aAAaC,eAAe,GAAGpB,SAAS;IAC/C,MAAM,EAAEqB,CAAC,EAAE,GAAGf;IACd,MAAMgB,oBAAoBC,QAAQL,aAAaM,aAAa,CAACZ,WAAW,EAAEa,MAAMC;IAEhF,MAAM,CAACC,gBAAgBC,uBAAuB,EAAEC,YAAY,EAAE,CAAC,GAAG3B,kBAAkB;QAClF4B,IAAIjB,OAAOkB;QACXC,gBAAgBpB;IAClB;IAEAb,UAAU;QACR,IAAI,OAAOkB,oBAAoB,YAAYA,gBAAgBY;IAC7D,GAAG;QAACA;QAAcZ;KAAgB;IAElC,qBACE,MAACgB;QAAIC,WAAW3B;;0BACd,KAAC0B;gBAAIC,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;0BAErC,cAAA,KAACN,WAAWO,eAAe;oBACxB,GAAGC,KAAK;oBACT0B,YAAY;wBACVD,WAAW,CAAC,EAAE3B,UAAU,MAAM,CAAC;wBAC/B,GAAIS,kBAAkB,CAAC,CAAC;oBAC1B;;;YAGHJ,cAAcU,mCACb,MAACxB;;kCACC,MAAC8B;wBACCQ,cAAY,CAAC,KAAK,EAAEzB,MAAM,CAAC;wBAC3BuB,WAAW,CAAC,EAAE3B,UAAU,gBAAgB,CAAC;wBACzC8B,SAAS,IAAMjB,eAAe;wBAC9BkB,WAAW,CAACC;4BACV,IAAIA,EAAEC,GAAG,KAAK,SAAS;gCACrBD,EAAEE,eAAe;4BACnB;wBACF;wBACAC,aAAa,CAACH,IAAMA,EAAEE,eAAe;wBACrCE,cAAc,IAAMvB,eAAe;wBACnCwB,cAAc,IAAMxB,eAAe;wBACnCyB,YAAY,CAACN,IAAMA,EAAEE,eAAe;;0CAEpC,KAACtC;gCAAQ+B,WAAW,CAAC,EAAE3B,UAAU,SAAS,CAAC;gCAAEuC,MAAM3B;0CAChDE,EAAE,qBAAqB;oCAAEV,OAAO;gCAAG;;0CAEtC,KAACP;gCAAK8B,WAAW,CAAC,EAAE3B,UAAU,MAAM,CAAC;;;;kCAEvC,KAACoB;wBAAeoB,QAAqB;;;;;;AAK/C,EAAC"}
@@ -34,5 +34,9 @@
34
34
  &:hover {
35
35
  background-color: var(--theme-elevation-100);
36
36
  }
37
+
38
+ &:focus-visible {
39
+ outline: var(--accessibility-outline);
40
+ }
37
41
  }
38
42
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,KAAwC,MAAM,OAAO,CAAA;AAG5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAO5C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CAoD1D,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../../src/fields/Relationship/select-components/SingleValue/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAA;AAEpD,OAAO,KAAwC,MAAM,OAAO,CAAA;AAG5D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AAO5C,OAAO,cAAc,CAAA;AAIrB,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,gBAAgB,CAAC,MAAM,CAAC,CA4D1D,CAAA"}