@payloadcms/ui 3.0.0-beta.47 → 3.0.0-beta.49

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 (881) hide show
  1. package/dist/elements/AppHeader/index.js +1 -0
  2. package/dist/elements/AppHeader/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.scss +1 -1
  4. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  5. package/dist/elements/ArrayAction/index.js +11 -11
  6. package/dist/elements/ArrayAction/index.js.map +1 -1
  7. package/dist/elements/Autosave/index.d.ts +1 -1
  8. package/dist/elements/Autosave/index.d.ts.map +1 -1
  9. package/dist/elements/Autosave/index.js +2 -1
  10. package/dist/elements/Autosave/index.js.map +1 -1
  11. package/dist/elements/Banner/index.js +1 -0
  12. package/dist/elements/Banner/index.js.map +1 -1
  13. package/dist/elements/Button/index.js +11 -10
  14. package/dist/elements/Button/index.js.map +1 -1
  15. package/dist/elements/Card/index.js +1 -0
  16. package/dist/elements/Card/index.js.map +1 -1
  17. package/dist/elements/CodeEditor/CodeEditor.js +1 -0
  18. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  19. package/dist/elements/Collapsible/index.js +5 -4
  20. package/dist/elements/Collapsible/index.js.map +1 -1
  21. package/dist/elements/ColumnSelector/index.d.ts +1 -1
  22. package/dist/elements/ColumnSelector/index.d.ts.map +1 -1
  23. package/dist/elements/ColumnSelector/index.js +4 -3
  24. package/dist/elements/ColumnSelector/index.js.map +1 -1
  25. package/dist/elements/CopyToClipboard/index.js +3 -2
  26. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  27. package/dist/elements/DatePicker/DatePicker.js +4 -2
  28. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  29. package/dist/elements/DatePicker/types.d.ts +1 -1
  30. package/dist/elements/DatePicker/types.d.ts.map +1 -1
  31. package/dist/elements/DatePicker/types.js.map +1 -1
  32. package/dist/elements/DeleteDocument/index.d.ts +1 -1
  33. package/dist/elements/DeleteDocument/index.d.ts.map +1 -1
  34. package/dist/elements/DeleteDocument/index.js +2 -2
  35. package/dist/elements/DeleteDocument/index.js.map +1 -1
  36. package/dist/elements/DeleteMany/index.d.ts +1 -1
  37. package/dist/elements/DeleteMany/index.d.ts.map +1 -1
  38. package/dist/elements/DeleteMany/index.js +2 -2
  39. package/dist/elements/DeleteMany/index.js.map +1 -1
  40. package/dist/elements/DocumentControls/index.d.ts +1 -2
  41. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  42. package/dist/elements/DocumentControls/index.js +29 -21
  43. package/dist/elements/DocumentControls/index.js.map +1 -1
  44. package/dist/elements/DocumentDrawer/DrawerContent.js +2 -2
  45. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  46. package/dist/elements/DocumentDrawer/index.js +1 -0
  47. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  48. package/dist/elements/DocumentFields/index.d.ts +1 -1
  49. package/dist/elements/DocumentFields/index.d.ts.map +1 -1
  50. package/dist/elements/DocumentFields/index.js +1 -0
  51. package/dist/elements/DocumentFields/index.js.map +1 -1
  52. package/dist/elements/Drawer/index.js +3 -2
  53. package/dist/elements/Drawer/index.js.map +1 -1
  54. package/dist/elements/Dropzone/index.js +1 -0
  55. package/dist/elements/Dropzone/index.js.map +1 -1
  56. package/dist/elements/DuplicateDocument/index.d.ts +1 -1
  57. package/dist/elements/DuplicateDocument/index.d.ts.map +1 -1
  58. package/dist/elements/DuplicateDocument/index.js +2 -2
  59. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  60. package/dist/elements/EditMany/index.d.ts +2 -2
  61. package/dist/elements/EditMany/index.d.ts.map +1 -1
  62. package/dist/elements/EditMany/index.js +3 -2
  63. package/dist/elements/EditMany/index.js.map +1 -1
  64. package/dist/elements/EditUpload/index.js +4 -2
  65. package/dist/elements/EditUpload/index.js.map +1 -1
  66. package/dist/elements/ErrorPill/index.js +1 -0
  67. package/dist/elements/ErrorPill/index.js.map +1 -1
  68. package/dist/elements/FieldSelect/index.d.ts +1 -1
  69. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  70. package/dist/elements/FieldSelect/index.js +2 -1
  71. package/dist/elements/FieldSelect/index.js.map +1 -1
  72. package/dist/elements/FileDetails/FileMeta/index.js +4 -3
  73. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  74. package/dist/elements/FileDetails/index.d.ts +1 -1
  75. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  76. package/dist/elements/FileDetails/index.js +2 -1
  77. package/dist/elements/FileDetails/index.js.map +1 -1
  78. package/dist/elements/GenerateConfirmation/index.d.ts.map +1 -1
  79. package/dist/elements/GenerateConfirmation/index.js +2 -2
  80. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  81. package/dist/elements/Gutter/index.js +1 -0
  82. package/dist/elements/Gutter/index.js.map +1 -1
  83. package/dist/elements/Hamburger/index.js +3 -2
  84. package/dist/elements/Hamburger/index.js.map +1 -1
  85. package/dist/elements/HydrateClientUser/index.d.ts +1 -2
  86. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  87. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  88. package/dist/elements/IDLabel/index.js +1 -0
  89. package/dist/elements/IDLabel/index.js.map +1 -1
  90. package/dist/elements/ListControls/index.d.ts +2 -2
  91. package/dist/elements/ListControls/index.d.ts.map +1 -1
  92. package/dist/elements/ListControls/index.js +5 -4
  93. package/dist/elements/ListControls/index.js.map +1 -1
  94. package/dist/elements/ListDrawer/DrawerContent.d.ts.map +1 -1
  95. package/dist/elements/ListDrawer/DrawerContent.js +5 -5
  96. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  97. package/dist/elements/ListDrawer/index.js +1 -0
  98. package/dist/elements/ListDrawer/index.js.map +1 -1
  99. package/dist/elements/ListDrawer/types.d.ts +1 -1
  100. package/dist/elements/ListDrawer/types.d.ts.map +1 -1
  101. package/dist/elements/ListDrawer/types.js.map +1 -1
  102. package/dist/elements/ListSelection/index.js +1 -0
  103. package/dist/elements/ListSelection/index.js.map +1 -1
  104. package/dist/elements/Loading/index.js +1 -0
  105. package/dist/elements/Loading/index.js.map +1 -1
  106. package/dist/elements/Localizer/LocalizerLabel/index.js +3 -2
  107. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  108. package/dist/elements/Localizer/index.d.ts.map +1 -1
  109. package/dist/elements/Localizer/index.js +2 -2
  110. package/dist/elements/Localizer/index.js.map +1 -1
  111. package/dist/elements/Logout/index.js +2 -2
  112. package/dist/elements/Logout/index.js.map +1 -1
  113. package/dist/elements/Nav/NavToggler/index.js +1 -0
  114. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  115. package/dist/elements/NavGroup/index.js +3 -2
  116. package/dist/elements/NavGroup/index.js.map +1 -1
  117. package/dist/elements/Pagination/ClickableArrow/index.js +3 -2
  118. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  119. package/dist/elements/Pagination/index.js +1 -0
  120. package/dist/elements/Pagination/index.js.map +1 -1
  121. package/dist/elements/PerPage/index.d.ts.map +1 -1
  122. package/dist/elements/PerPage/index.js +5 -5
  123. package/dist/elements/PerPage/index.js.map +1 -1
  124. package/dist/elements/Pill/index.d.ts +1 -1
  125. package/dist/elements/Pill/index.d.ts.map +1 -1
  126. package/dist/elements/Pill/index.js +1 -0
  127. package/dist/elements/Pill/index.js.map +1 -1
  128. package/dist/elements/Popup/PopupButtonList/index.js +1 -0
  129. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  130. package/dist/elements/Popup/PopupTrigger/index.js +1 -0
  131. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  132. package/dist/elements/Popup/index.js +1 -0
  133. package/dist/elements/Popup/index.js.map +1 -1
  134. package/dist/elements/PreviewSizes/index.d.ts +1 -1
  135. package/dist/elements/PreviewSizes/index.d.ts.map +1 -1
  136. package/dist/elements/PreviewSizes/index.js +1 -0
  137. package/dist/elements/PreviewSizes/index.js.map +1 -1
  138. package/dist/elements/PublishMany/index.d.ts +1 -1
  139. package/dist/elements/PublishMany/index.d.ts.map +1 -1
  140. package/dist/elements/PublishMany/index.js +2 -2
  141. package/dist/elements/PublishMany/index.js.map +1 -1
  142. package/dist/elements/ReactSelect/ClearIndicator/index.js +3 -2
  143. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  144. package/dist/elements/ReactSelect/DropdownIndicator/index.js +3 -2
  145. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  146. package/dist/elements/ReactSelect/MultiValue/index.js +1 -0
  147. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  148. package/dist/elements/ReactSelect/MultiValueLabel/index.js +1 -0
  149. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  150. package/dist/elements/ReactSelect/MultiValueRemove/index.js +3 -2
  151. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  152. package/dist/elements/ReactSelect/ValueContainer/index.js +1 -0
  153. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  154. package/dist/elements/ReactSelect/index.d.ts +1 -1
  155. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  156. package/dist/elements/ReactSelect/index.js +1 -0
  157. package/dist/elements/ReactSelect/index.js.map +1 -1
  158. package/dist/elements/ReactSelect/types.d.ts +4 -4
  159. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  160. package/dist/elements/ReactSelect/types.js.map +1 -1
  161. package/dist/elements/RenderCustomComponent/index.d.ts +1 -1
  162. package/dist/elements/RenderCustomComponent/index.d.ts.map +1 -1
  163. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  164. package/dist/elements/RenderTitle/index.js +1 -0
  165. package/dist/elements/RenderTitle/index.js.map +1 -1
  166. package/dist/elements/SearchFilter/index.js +3 -2
  167. package/dist/elements/SearchFilter/index.js.map +1 -1
  168. package/dist/elements/SelectAll/index.js +1 -0
  169. package/dist/elements/SelectAll/index.js.map +1 -1
  170. package/dist/elements/SelectRow/index.js +1 -0
  171. package/dist/elements/SelectRow/index.js.map +1 -1
  172. package/dist/elements/ShimmerEffect/index.js +1 -0
  173. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  174. package/dist/elements/SortColumn/index.d.ts +1 -1
  175. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  176. package/dist/elements/SortColumn/index.js +4 -3
  177. package/dist/elements/SortColumn/index.js.map +1 -1
  178. package/dist/elements/SortComplex/index.d.ts +1 -1
  179. package/dist/elements/SortComplex/index.d.ts.map +1 -1
  180. package/dist/elements/SortComplex/index.js +3 -2
  181. package/dist/elements/SortComplex/index.js.map +1 -1
  182. package/dist/elements/Status/index.d.ts.map +1 -1
  183. package/dist/elements/Status/index.js +3 -3
  184. package/dist/elements/Status/index.js.map +1 -1
  185. package/dist/elements/StayLoggedIn/index.js +1 -0
  186. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  187. package/dist/elements/StepNav/SetStepNav.d.ts +1 -1
  188. package/dist/elements/StepNav/SetStepNav.js +1 -1
  189. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  190. package/dist/elements/StepNav/context.d.ts +8 -0
  191. package/dist/elements/StepNav/context.d.ts.map +1 -0
  192. package/dist/elements/StepNav/context.js +16 -0
  193. package/dist/elements/StepNav/context.js.map +1 -0
  194. package/dist/elements/StepNav/index.d.ts +3 -14
  195. package/dist/elements/StepNav/index.d.ts.map +1 -1
  196. package/dist/elements/StepNav/index.js +3 -13
  197. package/dist/elements/StepNav/index.js.map +1 -1
  198. package/dist/elements/StepNav/types.d.ts +10 -0
  199. package/dist/elements/StepNav/types.d.ts.map +1 -0
  200. package/dist/elements/StepNav/types.js +3 -0
  201. package/dist/elements/StepNav/types.js.map +1 -0
  202. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts +1 -1
  203. package/dist/elements/Table/DefaultCell/fields/Array/index.d.ts.map +1 -1
  204. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  205. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts +1 -1
  206. package/dist/elements/Table/DefaultCell/fields/Blocks/index.d.ts.map +1 -1
  207. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  208. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts +1 -1
  209. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.d.ts.map +1 -1
  210. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +1 -0
  211. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  212. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts +1 -1
  213. package/dist/elements/Table/DefaultCell/fields/Code/index.d.ts.map +1 -1
  214. package/dist/elements/Table/DefaultCell/fields/Code/index.js +1 -0
  215. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  216. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts +1 -1
  217. package/dist/elements/Table/DefaultCell/fields/Date/index.d.ts.map +1 -1
  218. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  219. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts +1 -1
  220. package/dist/elements/Table/DefaultCell/fields/File/index.d.ts.map +1 -1
  221. package/dist/elements/Table/DefaultCell/fields/File/index.js +1 -0
  222. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  223. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts +1 -1
  224. package/dist/elements/Table/DefaultCell/fields/JSON/index.d.ts.map +1 -1
  225. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +1 -0
  226. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  227. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts +1 -1
  228. package/dist/elements/Table/DefaultCell/fields/Relationship/index.d.ts.map +1 -1
  229. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +1 -0
  230. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  231. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts +1 -1
  232. package/dist/elements/Table/DefaultCell/fields/Select/index.d.ts.map +1 -1
  233. package/dist/elements/Table/DefaultCell/fields/Select/index.js +1 -1
  234. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  235. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts +1 -1
  236. package/dist/elements/Table/DefaultCell/fields/Textarea/index.d.ts.map +1 -1
  237. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  238. package/dist/elements/Table/DefaultCell/fields/index.d.ts.map +1 -1
  239. package/dist/elements/Table/DefaultCell/fields/index.js +1 -0
  240. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  241. package/dist/elements/Table/DefaultCell/index.d.ts +1 -1
  242. package/dist/elements/Table/DefaultCell/index.d.ts.map +1 -1
  243. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  244. package/dist/elements/Table/RelationshipProvider/index.d.ts +1 -1
  245. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  246. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  247. package/dist/elements/Table/RelationshipProvider/reducer.d.ts +1 -1
  248. package/dist/elements/Table/RelationshipProvider/reducer.d.ts.map +1 -1
  249. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  250. package/dist/elements/Table/TableCellProvider/index.d.ts +1 -1
  251. package/dist/elements/Table/TableCellProvider/index.d.ts.map +1 -1
  252. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  253. package/dist/elements/Table/index.d.ts +1 -2
  254. package/dist/elements/Table/index.d.ts.map +1 -1
  255. package/dist/elements/Table/index.js +1 -0
  256. package/dist/elements/Table/index.js.map +1 -1
  257. package/dist/elements/TableColumns/buildColumnState.d.ts +1 -1
  258. package/dist/elements/TableColumns/buildColumnState.d.ts.map +1 -1
  259. package/dist/elements/TableColumns/buildColumnState.js +1 -1
  260. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  261. package/dist/elements/TableColumns/index.d.ts +1 -3
  262. package/dist/elements/TableColumns/index.d.ts.map +1 -1
  263. package/dist/elements/TableColumns/index.js +83 -85
  264. package/dist/elements/TableColumns/index.js.map +1 -1
  265. package/dist/elements/Thumbnail/index.d.ts +1 -1
  266. package/dist/elements/Thumbnail/index.d.ts.map +1 -1
  267. package/dist/elements/Thumbnail/index.js +1 -0
  268. package/dist/elements/Thumbnail/index.js.map +1 -1
  269. package/dist/elements/ThumbnailCard/index.d.ts +1 -1
  270. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  271. package/dist/elements/ThumbnailCard/index.js +1 -0
  272. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  273. package/dist/elements/Tooltip/index.js +1 -0
  274. package/dist/elements/Tooltip/index.js.map +1 -1
  275. package/dist/elements/Tooltip/index.scss +0 -2
  276. package/dist/elements/UnpublishMany/index.d.ts +1 -1
  277. package/dist/elements/UnpublishMany/index.d.ts.map +1 -1
  278. package/dist/elements/UnpublishMany/index.js +2 -2
  279. package/dist/elements/UnpublishMany/index.js.map +1 -1
  280. package/dist/elements/Upload/index.d.ts +1 -1
  281. package/dist/elements/Upload/index.d.ts.map +1 -1
  282. package/dist/elements/Upload/index.js +4 -3
  283. package/dist/elements/Upload/index.js.map +1 -1
  284. package/dist/elements/ViewDescription/index.js +1 -0
  285. package/dist/elements/ViewDescription/index.js.map +1 -1
  286. package/dist/elements/WhereBuilder/Condition/Number/index.js +1 -0
  287. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  288. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +4 -3
  289. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  290. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts +1 -2
  291. package/dist/elements/WhereBuilder/Condition/Relationship/types.d.ts.map +1 -1
  292. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  293. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  294. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts +1 -1
  295. package/dist/elements/WhereBuilder/Condition/Select/types.d.ts.map +1 -1
  296. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  297. package/dist/elements/WhereBuilder/Condition/Text/index.js +1 -0
  298. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  299. package/dist/elements/WhereBuilder/Condition/index.d.ts +2 -1
  300. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  301. package/dist/elements/WhereBuilder/Condition/index.js +1 -0
  302. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  303. package/dist/elements/WhereBuilder/Condition/types.d.ts +1 -1
  304. package/dist/elements/WhereBuilder/Condition/types.d.ts.map +1 -1
  305. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  306. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  307. package/dist/elements/WhereBuilder/index.js +1 -0
  308. package/dist/elements/WhereBuilder/index.js.map +1 -1
  309. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts +1 -1
  310. package/dist/elements/WhereBuilder/transformWhereQuery.d.ts.map +1 -1
  311. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  312. package/dist/elements/WhereBuilder/types.d.ts +1 -1
  313. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  314. package/dist/elements/WhereBuilder/types.js.map +1 -1
  315. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts +1 -1
  316. package/dist/elements/WhereBuilder/validateWhereQuery.d.ts.map +1 -1
  317. package/dist/elements/WhereBuilder/validateWhereQuery.js +1 -1
  318. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  319. package/dist/elements/WithServerSideProps/index.d.ts +1 -1
  320. package/dist/elements/WithServerSideProps/index.d.ts.map +1 -1
  321. package/dist/elements/WithServerSideProps/index.js +1 -1
  322. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  323. package/dist/elements/withMergedProps/index.d.ts.map +1 -1
  324. package/dist/elements/withMergedProps/index.js +1 -2
  325. package/dist/elements/withMergedProps/index.js.map +1 -1
  326. package/dist/exports/client/CodeEditor-LQX4VBTA.js +12 -0
  327. package/dist/exports/client/CodeEditor-LQX4VBTA.js.map +7 -0
  328. package/dist/exports/client/DatePicker-AXHBRRH5.js +18 -0
  329. package/dist/exports/client/DatePicker-AXHBRRH5.js.map +7 -0
  330. package/dist/exports/client/chunk-3YOZFV77.js +2 -0
  331. package/dist/exports/client/chunk-3YOZFV77.js.map +7 -0
  332. package/dist/exports/client/chunk-S57FL4TE.js +2 -0
  333. package/dist/exports/client/chunk-S57FL4TE.js.map +7 -0
  334. package/dist/exports/client/chunk-TLG7P5PN.js +2 -0
  335. package/dist/exports/client/chunk-TLG7P5PN.js.map +7 -0
  336. package/dist/exports/client/index.d.ts +158 -0
  337. package/dist/exports/client/index.d.ts.map +1 -0
  338. package/dist/exports/client/index.js +85 -0
  339. package/dist/exports/client/index.js.map +7 -0
  340. package/dist/exports/shared/index.d.ts +14 -0
  341. package/dist/exports/shared/index.d.ts.map +1 -0
  342. package/dist/exports/shared/index.js +16 -0
  343. package/dist/exports/shared/index.js.map +7 -0
  344. package/dist/fields/Array/ArrayRow.d.ts +1 -2
  345. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  346. package/dist/fields/Array/ArrayRow.js +1 -0
  347. package/dist/fields/Array/ArrayRow.js.map +1 -1
  348. package/dist/fields/Array/index.d.ts +1 -2
  349. package/dist/fields/Array/index.d.ts.map +1 -1
  350. package/dist/fields/Array/index.js +6 -5
  351. package/dist/fields/Array/index.js.map +1 -1
  352. package/dist/fields/Blocks/BlockRow.d.ts +1 -2
  353. package/dist/fields/Blocks/BlockRow.d.ts.map +1 -1
  354. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  355. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js +3 -2
  356. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  357. package/dist/fields/Blocks/BlocksDrawer/index.d.ts +1 -1
  358. package/dist/fields/Blocks/BlocksDrawer/index.d.ts.map +1 -1
  359. package/dist/fields/Blocks/BlocksDrawer/index.js +1 -0
  360. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  361. package/dist/fields/Blocks/RowActions.d.ts +1 -1
  362. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  363. package/dist/fields/Blocks/RowActions.js.map +1 -1
  364. package/dist/fields/Blocks/SectionTitle/index.js +1 -0
  365. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  366. package/dist/fields/Blocks/index.d.ts +1 -2
  367. package/dist/fields/Blocks/index.d.ts.map +1 -1
  368. package/dist/fields/Blocks/index.js +5 -4
  369. package/dist/fields/Blocks/index.js.map +1 -1
  370. package/dist/fields/Checkbox/Input.d.ts +1 -1
  371. package/dist/fields/Checkbox/Input.d.ts.map +1 -1
  372. package/dist/fields/Checkbox/Input.js +5 -5
  373. package/dist/fields/Checkbox/Input.js.map +1 -1
  374. package/dist/fields/Checkbox/index.js +4 -3
  375. package/dist/fields/Checkbox/index.js.map +1 -1
  376. package/dist/fields/Code/index.d.ts +1 -1
  377. package/dist/fields/Code/index.d.ts.map +1 -1
  378. package/dist/fields/Code/index.js +5 -4
  379. package/dist/fields/Code/index.js.map +1 -1
  380. package/dist/fields/Collapsible/index.d.ts +1 -1
  381. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  382. package/dist/fields/Collapsible/index.js +3 -2
  383. package/dist/fields/Collapsible/index.js.map +1 -1
  384. package/dist/fields/ConfirmPassword/index.js +3 -2
  385. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  386. package/dist/fields/DateTime/index.d.ts +1 -1
  387. package/dist/fields/DateTime/index.d.ts.map +1 -1
  388. package/dist/fields/DateTime/index.js +5 -4
  389. package/dist/fields/DateTime/index.js.map +1 -1
  390. package/dist/fields/Email/index.d.ts +1 -1
  391. package/dist/fields/Email/index.d.ts.map +1 -1
  392. package/dist/fields/Email/index.js +5 -4
  393. package/dist/fields/Email/index.js.map +1 -1
  394. package/dist/{forms → fields}/FieldDescription/index.d.ts +1 -1
  395. package/dist/fields/FieldDescription/index.d.ts.map +1 -0
  396. package/dist/{forms → fields}/FieldDescription/index.js +2 -1
  397. package/dist/fields/FieldDescription/index.js.map +1 -0
  398. package/dist/{forms → fields}/FieldError/index.d.ts +1 -1
  399. package/dist/fields/FieldError/index.d.ts.map +1 -0
  400. package/dist/{forms → fields}/FieldError/index.js +4 -3
  401. package/dist/fields/FieldError/index.js.map +1 -0
  402. package/dist/{forms → fields}/FieldLabel/index.d.ts +1 -1
  403. package/dist/fields/FieldLabel/index.d.ts.map +1 -0
  404. package/dist/{forms → fields}/FieldLabel/index.js +3 -2
  405. package/dist/fields/FieldLabel/index.js.map +1 -0
  406. package/dist/fields/Group/index.d.ts +1 -1
  407. package/dist/fields/Group/index.d.ts.map +1 -1
  408. package/dist/fields/Group/index.js +2 -1
  409. package/dist/fields/Group/index.js.map +1 -1
  410. package/dist/fields/JSON/index.d.ts +1 -1
  411. package/dist/fields/JSON/index.d.ts.map +1 -1
  412. package/dist/fields/JSON/index.js +5 -4
  413. package/dist/fields/JSON/index.js.map +1 -1
  414. package/dist/fields/Number/index.d.ts +1 -1
  415. package/dist/fields/Number/index.d.ts.map +1 -1
  416. package/dist/fields/Number/index.js +6 -5
  417. package/dist/fields/Number/index.js.map +1 -1
  418. package/dist/fields/Password/index.d.ts +1 -1
  419. package/dist/fields/Password/index.d.ts.map +1 -1
  420. package/dist/fields/Password/index.js +3 -2
  421. package/dist/fields/Password/index.js.map +1 -1
  422. package/dist/fields/Point/index.js +5 -4
  423. package/dist/fields/Point/index.js.map +1 -1
  424. package/dist/fields/RadioGroup/Radio/index.d.ts +1 -1
  425. package/dist/fields/RadioGroup/Radio/index.d.ts.map +1 -1
  426. package/dist/fields/RadioGroup/Radio/index.js +1 -0
  427. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  428. package/dist/fields/RadioGroup/index.d.ts +1 -1
  429. package/dist/fields/RadioGroup/index.d.ts.map +1 -1
  430. package/dist/fields/RadioGroup/index.js +6 -5
  431. package/dist/fields/RadioGroup/index.js.map +1 -1
  432. package/dist/fields/Relationship/AddNew/index.js +4 -3
  433. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  434. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts +1 -1
  435. package/dist/fields/Relationship/AddNew/useRelatedCollections.d.ts.map +1 -1
  436. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  437. package/dist/fields/Relationship/index.d.ts.map +1 -1
  438. package/dist/fields/Relationship/index.js +9 -8
  439. package/dist/fields/Relationship/index.js.map +1 -1
  440. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +3 -2
  441. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  442. package/dist/fields/Relationship/select-components/SingleValue/index.js +3 -2
  443. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  444. package/dist/fields/Relationship/types.d.ts +1 -1
  445. package/dist/fields/Relationship/types.d.ts.map +1 -1
  446. package/dist/fields/Relationship/types.js.map +1 -1
  447. package/dist/fields/Row/index.js +1 -0
  448. package/dist/fields/Row/index.js.map +1 -1
  449. package/dist/fields/Row/types.d.ts +1 -1
  450. package/dist/fields/Row/types.d.ts.map +1 -1
  451. package/dist/fields/Row/types.js.map +1 -1
  452. package/dist/fields/Select/Input.d.ts +4 -2
  453. package/dist/fields/Select/Input.d.ts.map +1 -1
  454. package/dist/fields/Select/Input.js +4 -3
  455. package/dist/fields/Select/Input.js.map +1 -1
  456. package/dist/fields/Select/index.d.ts +2 -2
  457. package/dist/fields/Select/index.d.ts.map +1 -1
  458. package/dist/fields/Select/index.js +4 -6
  459. package/dist/fields/Select/index.js.map +1 -1
  460. package/dist/fields/Tabs/Tab/index.js +1 -0
  461. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  462. package/dist/fields/Tabs/index.d.ts +1 -1
  463. package/dist/fields/Tabs/index.d.ts.map +1 -1
  464. package/dist/fields/Tabs/index.js +4 -3
  465. package/dist/fields/Tabs/index.js.map +1 -1
  466. package/dist/fields/Text/Input.d.ts.map +1 -1
  467. package/dist/fields/Text/Input.js +4 -3
  468. package/dist/fields/Text/Input.js.map +1 -1
  469. package/dist/fields/Text/index.js +2 -1
  470. package/dist/fields/Text/index.js.map +1 -1
  471. package/dist/fields/Text/types.d.ts +10 -5
  472. package/dist/fields/Text/types.d.ts.map +1 -1
  473. package/dist/fields/Text/types.js.map +1 -1
  474. package/dist/fields/Textarea/Input.js +4 -3
  475. package/dist/fields/Textarea/Input.js.map +1 -1
  476. package/dist/fields/Textarea/index.js +2 -1
  477. package/dist/fields/Textarea/index.js.map +1 -1
  478. package/dist/fields/Textarea/types.d.ts +1 -1
  479. package/dist/fields/Textarea/types.d.ts.map +1 -1
  480. package/dist/fields/Textarea/types.js.map +1 -1
  481. package/dist/fields/Upload/Input.d.ts +1 -1
  482. package/dist/fields/Upload/Input.d.ts.map +1 -1
  483. package/dist/fields/Upload/Input.js +4 -3
  484. package/dist/fields/Upload/Input.js.map +1 -1
  485. package/dist/fields/Upload/index.js +2 -1
  486. package/dist/fields/Upload/index.js.map +1 -1
  487. package/dist/fields/Upload/types.d.ts +1 -1
  488. package/dist/fields/Upload/types.d.ts.map +1 -1
  489. package/dist/fields/Upload/types.js.map +1 -1
  490. package/dist/fields/index.d.ts +1 -1
  491. package/dist/fields/index.d.ts.map +1 -1
  492. package/dist/fields/index.js.map +1 -1
  493. package/dist/fields/shared/index.d.ts +1 -3
  494. package/dist/fields/shared/index.d.ts.map +1 -1
  495. package/dist/fields/shared/index.js.map +1 -1
  496. package/dist/forms/FieldPropsProvider/index.d.ts +1 -2
  497. package/dist/forms/FieldPropsProvider/index.d.ts.map +1 -1
  498. package/dist/forms/FieldPropsProvider/index.js +4 -4
  499. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  500. package/dist/forms/Form/createNestedFieldPath.d.ts +1 -1
  501. package/dist/forms/Form/createNestedFieldPath.d.ts.map +1 -1
  502. package/dist/forms/Form/createNestedFieldPath.js +1 -1
  503. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  504. package/dist/forms/Form/fieldReducer.d.ts +1 -1
  505. package/dist/forms/Form/fieldReducer.d.ts.map +1 -1
  506. package/dist/forms/Form/fieldReducer.js +1 -1
  507. package/dist/forms/Form/fieldReducer.js.map +1 -1
  508. package/dist/forms/Form/getDataByPath.d.ts +1 -1
  509. package/dist/forms/Form/getDataByPath.d.ts.map +1 -1
  510. package/dist/forms/Form/getDataByPath.js.map +1 -1
  511. package/dist/forms/Form/getSiblingData.d.ts +1 -1
  512. package/dist/forms/Form/getSiblingData.d.ts.map +1 -1
  513. package/dist/forms/Form/getSiblingData.js.map +1 -1
  514. package/dist/forms/Form/index.js +3 -3
  515. package/dist/forms/Form/index.js.map +1 -1
  516. package/dist/forms/Form/initContextState.js.map +1 -1
  517. package/dist/forms/Form/mergeServerFormState.d.ts +1 -1
  518. package/dist/forms/Form/mergeServerFormState.d.ts.map +1 -1
  519. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  520. package/dist/forms/Form/rows.d.ts +1 -1
  521. package/dist/forms/Form/rows.d.ts.map +1 -1
  522. package/dist/forms/Form/rows.js.map +1 -1
  523. package/dist/forms/Form/types.d.ts +2 -3
  524. package/dist/forms/Form/types.d.ts.map +1 -1
  525. package/dist/forms/Form/types.js.map +1 -1
  526. package/dist/forms/RenderFields/RenderField.d.ts +1 -2
  527. package/dist/forms/RenderFields/RenderField.d.ts.map +1 -1
  528. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  529. package/dist/forms/RenderFields/index.js +1 -0
  530. package/dist/forms/RenderFields/index.js.map +1 -1
  531. package/dist/forms/RenderFields/types.d.ts +1 -1
  532. package/dist/forms/RenderFields/types.d.ts.map +1 -1
  533. package/dist/forms/RenderFields/types.js.map +1 -1
  534. package/dist/forms/RowLabel/types.d.ts +1 -1
  535. package/dist/forms/RowLabel/types.d.ts.map +1 -1
  536. package/dist/forms/RowLabel/types.js.map +1 -1
  537. package/dist/forms/Submit/index.js +1 -0
  538. package/dist/forms/Submit/index.js.map +1 -1
  539. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts +1 -1
  540. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.d.ts.map +1 -1
  541. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  542. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts +1 -1
  543. package/dist/forms/WatchChildErrors/getNestedFieldState.d.ts.map +1 -1
  544. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  545. package/dist/forms/WatchChildErrors/index.js +1 -1
  546. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  547. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +1 -1
  548. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  549. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js +1 -1
  550. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  551. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts +1 -2
  552. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.d.ts.map +1 -1
  553. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  554. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts +1 -2
  555. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.d.ts.map +1 -1
  556. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  557. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts +1 -3
  558. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.d.ts.map +1 -1
  559. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js +2 -2
  560. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  561. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts +1 -1
  562. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.d.ts.map +1 -1
  563. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  564. package/dist/forms/buildStateFromSchema/index.d.ts +1 -1
  565. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  566. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  567. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +1 -1
  568. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  569. package/dist/forms/buildStateFromSchema/iterateFields.js +1 -1
  570. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  571. package/dist/forms/useField/index.js +1 -1
  572. package/dist/forms/useField/index.js.map +1 -1
  573. package/dist/forms/useField/types.d.ts +1 -1
  574. package/dist/forms/useField/types.d.ts.map +1 -1
  575. package/dist/forms/useField/types.js.map +1 -1
  576. package/dist/forms/withCondition/WatchCondition.d.ts +1 -1
  577. package/dist/forms/withCondition/WatchCondition.d.ts.map +1 -1
  578. package/dist/forms/withCondition/WatchCondition.js +1 -2
  579. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  580. package/dist/forms/withCondition/index.js +1 -1
  581. package/dist/forms/withCondition/index.js.map +1 -1
  582. package/dist/graphics/Account/Default/index.js +1 -0
  583. package/dist/graphics/Account/Default/index.js.map +1 -1
  584. package/dist/graphics/Logo/index.d.ts +1 -2
  585. package/dist/graphics/Logo/index.d.ts.map +1 -1
  586. package/dist/graphics/Logo/index.js +1 -21
  587. package/dist/graphics/Logo/index.js.map +1 -1
  588. package/dist/hooks/useHotkey.js +2 -2
  589. package/dist/hooks/useHotkey.js.map +1 -1
  590. package/dist/hooks/usePayloadAPI.d.ts +2 -2
  591. package/dist/hooks/usePayloadAPI.d.ts.map +1 -1
  592. package/dist/hooks/usePayloadAPI.js +1 -2
  593. package/dist/hooks/usePayloadAPI.js.map +1 -1
  594. package/dist/hooks/useThrottledEffect.d.ts +2 -2
  595. package/dist/hooks/useThrottledEffect.d.ts.map +1 -1
  596. package/dist/hooks/useThrottledEffect.js +1 -2
  597. package/dist/hooks/useThrottledEffect.js.map +1 -1
  598. package/dist/hooks/useUseAsTitle.d.ts +2 -2
  599. package/dist/hooks/useUseAsTitle.d.ts.map +1 -1
  600. package/dist/hooks/useUseAsTitle.js.map +1 -1
  601. package/dist/icons/Calendar/index.d.ts +1 -1
  602. package/dist/icons/Calendar/index.d.ts.map +1 -1
  603. package/dist/icons/Calendar/index.js +2 -1
  604. package/dist/icons/Calendar/index.js.map +1 -1
  605. package/dist/icons/Check/index.d.ts +1 -1
  606. package/dist/icons/Check/index.d.ts.map +1 -1
  607. package/dist/icons/Check/index.js +2 -1
  608. package/dist/icons/Check/index.js.map +1 -1
  609. package/dist/icons/Chevron/index.d.ts +1 -1
  610. package/dist/icons/Chevron/index.d.ts.map +1 -1
  611. package/dist/icons/Chevron/index.js +2 -1
  612. package/dist/icons/Chevron/index.js.map +1 -1
  613. package/dist/icons/CloseMenu/index.d.ts +1 -1
  614. package/dist/icons/CloseMenu/index.d.ts.map +1 -1
  615. package/dist/icons/CloseMenu/index.js +2 -1
  616. package/dist/icons/CloseMenu/index.js.map +1 -1
  617. package/dist/icons/CloseMenu/index.scss +1 -1
  618. package/dist/icons/Copy/index.d.ts +1 -1
  619. package/dist/icons/Copy/index.d.ts.map +1 -1
  620. package/dist/icons/Copy/index.js +2 -1
  621. package/dist/icons/Copy/index.js.map +1 -1
  622. package/dist/icons/DragHandle/index.d.ts +1 -1
  623. package/dist/icons/DragHandle/index.d.ts.map +1 -1
  624. package/dist/icons/DragHandle/index.js +2 -1
  625. package/dist/icons/DragHandle/index.js.map +1 -1
  626. package/dist/icons/Edit/index.d.ts +1 -1
  627. package/dist/icons/Edit/index.d.ts.map +1 -1
  628. package/dist/icons/Edit/index.js +2 -1
  629. package/dist/icons/Edit/index.js.map +1 -1
  630. package/dist/icons/Line/index.d.ts +1 -1
  631. package/dist/icons/Line/index.d.ts.map +1 -1
  632. package/dist/icons/Line/index.js +2 -1
  633. package/dist/icons/Line/index.js.map +1 -1
  634. package/dist/icons/Link/index.js +1 -0
  635. package/dist/icons/Link/index.js.map +1 -1
  636. package/dist/icons/LogOut/index.d.ts +1 -1
  637. package/dist/icons/LogOut/index.d.ts.map +1 -1
  638. package/dist/icons/LogOut/index.js +2 -1
  639. package/dist/icons/LogOut/index.js.map +1 -1
  640. package/dist/icons/Menu/index.d.ts +1 -1
  641. package/dist/icons/Menu/index.d.ts.map +1 -1
  642. package/dist/icons/Menu/index.js +2 -1
  643. package/dist/icons/Menu/index.js.map +1 -1
  644. package/dist/icons/MinimizeMaximize/index.d.ts +1 -1
  645. package/dist/icons/MinimizeMaximize/index.d.ts.map +1 -1
  646. package/dist/icons/MinimizeMaximize/index.js +1 -1
  647. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  648. package/dist/icons/More/index.js +1 -0
  649. package/dist/icons/More/index.js.map +1 -1
  650. package/dist/icons/Plus/index.d.ts +1 -1
  651. package/dist/icons/Plus/index.d.ts.map +1 -1
  652. package/dist/icons/Plus/index.js +2 -1
  653. package/dist/icons/Plus/index.js.map +1 -1
  654. package/dist/icons/Search/index.d.ts +1 -1
  655. package/dist/icons/Search/index.d.ts.map +1 -1
  656. package/dist/icons/Search/index.js +2 -1
  657. package/dist/icons/Search/index.js.map +1 -1
  658. package/dist/icons/Swap/index.d.ts +1 -1
  659. package/dist/icons/Swap/index.d.ts.map +1 -1
  660. package/dist/icons/Swap/index.js +2 -1
  661. package/dist/icons/Swap/index.js.map +1 -1
  662. package/dist/icons/X/index.d.ts +1 -1
  663. package/dist/icons/X/index.d.ts.map +1 -1
  664. package/dist/icons/X/index.js +2 -1
  665. package/dist/icons/X/index.js.map +1 -1
  666. package/dist/providers/Auth/index.d.ts +1 -1
  667. package/dist/providers/Auth/index.d.ts.map +1 -1
  668. package/dist/providers/Auth/index.js.map +1 -1
  669. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts +1 -1
  670. package/dist/providers/ComponentMap/buildComponentMap/actions.d.ts.map +1 -1
  671. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  672. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts +1 -1
  673. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  674. package/dist/providers/ComponentMap/buildComponentMap/collections.js +4 -2
  675. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  676. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts +1 -1
  677. package/dist/providers/ComponentMap/buildComponentMap/fields.d.ts.map +1 -1
  678. package/dist/providers/ComponentMap/buildComponentMap/fields.js +8 -5
  679. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  680. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts +1 -1
  681. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  682. package/dist/providers/ComponentMap/buildComponentMap/globals.js +4 -2
  683. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  684. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts +1 -2
  685. package/dist/providers/ComponentMap/buildComponentMap/index.d.ts.map +1 -1
  686. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  687. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -2
  688. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  689. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  690. package/dist/providers/Config/index.d.ts +1 -1
  691. package/dist/providers/Config/index.d.ts.map +1 -1
  692. package/dist/providers/Config/index.js.map +1 -1
  693. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  694. package/dist/providers/DocumentInfo/index.js.map +1 -1
  695. package/dist/providers/DocumentInfo/types.d.ts +1 -2
  696. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  697. package/dist/providers/DocumentInfo/types.js.map +1 -1
  698. package/dist/providers/EntityVisibility/index.d.ts +1 -1
  699. package/dist/providers/EntityVisibility/index.d.ts.map +1 -1
  700. package/dist/providers/EntityVisibility/index.js.map +1 -1
  701. package/dist/providers/FieldComponents/index.d.ts +1 -1
  702. package/dist/providers/FieldComponents/index.d.ts.map +1 -1
  703. package/dist/providers/FieldComponents/index.js.map +1 -1
  704. package/dist/providers/FormQueryParams/types.d.ts +1 -1
  705. package/dist/providers/FormQueryParams/types.d.ts.map +1 -1
  706. package/dist/providers/FormQueryParams/types.js.map +1 -1
  707. package/dist/providers/ListInfo/index.d.ts +1 -1
  708. package/dist/providers/ListInfo/index.d.ts.map +1 -1
  709. package/dist/providers/ListInfo/index.js.map +1 -1
  710. package/dist/providers/ListQuery/index.d.ts +1 -2
  711. package/dist/providers/ListQuery/index.d.ts.map +1 -1
  712. package/dist/providers/ListQuery/index.js +1 -1
  713. package/dist/providers/ListQuery/index.js.map +1 -1
  714. package/dist/providers/Locale/index.d.ts +1 -1
  715. package/dist/providers/Locale/index.d.ts.map +1 -1
  716. package/dist/providers/Locale/index.js.map +1 -1
  717. package/dist/providers/Root/index.d.ts +1 -1
  718. package/dist/providers/Root/index.d.ts.map +1 -1
  719. package/dist/providers/Root/index.js.map +1 -1
  720. package/dist/providers/ScrollInfo/index.d.ts +5 -0
  721. package/dist/providers/ScrollInfo/index.d.ts.map +1 -0
  722. package/dist/providers/ScrollInfo/index.js +10 -0
  723. package/dist/providers/ScrollInfo/index.js.map +1 -0
  724. package/dist/providers/Selection/index.d.ts +1 -1
  725. package/dist/providers/Selection/index.d.ts.map +1 -1
  726. package/dist/providers/Selection/index.js.map +1 -1
  727. package/dist/providers/Translation/index.d.ts +2 -3
  728. package/dist/providers/Translation/index.d.ts.map +1 -1
  729. package/dist/providers/Translation/index.js +1 -2
  730. package/dist/providers/Translation/index.js.map +1 -1
  731. package/dist/providers/WindowInfo/index.d.ts +5 -0
  732. package/dist/providers/WindowInfo/index.d.ts.map +1 -0
  733. package/dist/providers/WindowInfo/index.js +10 -0
  734. package/dist/providers/WindowInfo/index.js.map +1 -0
  735. package/dist/scss/toastify.scss +59 -0
  736. package/dist/styles.css +1 -0
  737. package/dist/utilities/buildFieldSchemaMap/index.d.ts +1 -1
  738. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  739. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  740. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +1 -1
  741. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  742. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +2 -2
  743. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  744. package/dist/utilities/buildFieldSchemaMap/types.d.ts +1 -1
  745. package/dist/utilities/buildFieldSchemaMap/types.d.ts.map +1 -1
  746. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
  747. package/dist/utilities/buildFormState.d.ts +1 -1
  748. package/dist/utilities/buildFormState.d.ts.map +1 -1
  749. package/dist/utilities/buildFormState.js +5 -2
  750. package/dist/utilities/buildFormState.js.map +1 -1
  751. package/dist/utilities/findLocaleFromCode.d.ts +1 -1
  752. package/dist/utilities/findLocaleFromCode.d.ts.map +1 -1
  753. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  754. package/dist/utilities/formatDocTitle.d.ts +1 -1
  755. package/dist/utilities/formatDocTitle.d.ts.map +1 -1
  756. package/dist/utilities/formatDocTitle.js.map +1 -1
  757. package/dist/utilities/formatFields.d.ts +1 -1
  758. package/dist/utilities/formatFields.d.ts.map +1 -1
  759. package/dist/utilities/formatFields.js +1 -1
  760. package/dist/utilities/formatFields.js.map +1 -1
  761. package/dist/utilities/getFormState.d.ts +1 -1
  762. package/dist/utilities/getFormState.d.ts.map +1 -1
  763. package/dist/utilities/getFormState.js.map +1 -1
  764. package/dist/utilities/groupNavItems.d.ts +1 -2
  765. package/dist/utilities/groupNavItems.d.ts.map +1 -1
  766. package/dist/utilities/groupNavItems.js.map +1 -1
  767. package/dist/utilities/hasSavePermission.d.ts +1 -1
  768. package/dist/utilities/hasSavePermission.d.ts.map +1 -1
  769. package/dist/utilities/hasSavePermission.js.map +1 -1
  770. package/dist/utilities/reduceFieldsToValues.d.ts +1 -1
  771. package/dist/utilities/reduceFieldsToValues.d.ts.map +1 -1
  772. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  773. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts +1 -1
  774. package/dist/utilities/reduceFieldsToValuesWithValidation.d.ts.map +1 -1
  775. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  776. package/package.json +25 -27
  777. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts +0 -5
  778. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.d.ts.map +0 -1
  779. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js +0 -13
  780. package/dist/elements/DocumentHeader/Tabs/ShouldRenderTabs.js.map +0 -1
  781. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts +0 -13
  782. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.d.ts.map +0 -1
  783. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js +0 -43
  784. package/dist/elements/DocumentHeader/Tabs/Tab/TabLink.js.map +0 -1
  785. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +0 -6
  786. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +0 -1
  787. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +0 -58
  788. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +0 -1
  789. package/dist/elements/DocumentHeader/Tabs/Tab/index.scss +0 -91
  790. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts +0 -7
  791. package/dist/elements/DocumentHeader/Tabs/getCustomViews.d.ts.map +0 -1
  792. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js +0 -38
  793. package/dist/elements/DocumentHeader/Tabs/getCustomViews.js.map +0 -1
  794. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts +0 -8
  795. package/dist/elements/DocumentHeader/Tabs/getViewConfig.d.ts.map +0 -1
  796. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js +0 -14
  797. package/dist/elements/DocumentHeader/Tabs/getViewConfig.js.map +0 -1
  798. package/dist/elements/DocumentHeader/Tabs/index.d.ts +0 -13
  799. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +0 -1
  800. package/dist/elements/DocumentHeader/Tabs/index.js +0 -81
  801. package/dist/elements/DocumentHeader/Tabs/index.js.map +0 -1
  802. package/dist/elements/DocumentHeader/Tabs/index.scss +0 -53
  803. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts +0 -3
  804. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.d.ts.map +0 -1
  805. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js +0 -23
  806. package/dist/elements/DocumentHeader/Tabs/tabs/VersionsPill/index.js.map +0 -1
  807. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts +0 -7
  808. package/dist/elements/DocumentHeader/Tabs/tabs/index.d.ts.map +0 -1
  809. package/dist/elements/DocumentHeader/Tabs/tabs/index.js +0 -57
  810. package/dist/elements/DocumentHeader/Tabs/tabs/index.js.map +0 -1
  811. package/dist/elements/DocumentHeader/index.d.ts +0 -15
  812. package/dist/elements/DocumentHeader/index.d.ts.map +0 -1
  813. package/dist/elements/DocumentHeader/index.js +0 -31
  814. package/dist/elements/DocumentHeader/index.js.map +0 -1
  815. package/dist/elements/DocumentHeader/index.scss +0 -51
  816. package/dist/elements/Nav/NavHamburger/index.d.ts +0 -5
  817. package/dist/elements/Nav/NavHamburger/index.d.ts.map +0 -1
  818. package/dist/elements/Nav/NavHamburger/index.js +0 -21
  819. package/dist/elements/Nav/NavHamburger/index.js.map +0 -1
  820. package/dist/elements/Nav/NavWrapper/index.d.ts +0 -7
  821. package/dist/elements/Nav/NavWrapper/index.d.ts.map +0 -1
  822. package/dist/elements/Nav/NavWrapper/index.js +0 -21
  823. package/dist/elements/Nav/NavWrapper/index.js.map +0 -1
  824. package/dist/elements/Nav/NavWrapper/index.scss +0 -17
  825. package/dist/elements/Nav/index.client.d.ts +0 -3
  826. package/dist/elements/Nav/index.client.d.ts.map +0 -1
  827. package/dist/elements/Nav/index.client.js +0 -85
  828. package/dist/elements/Nav/index.client.js.map +0 -1
  829. package/dist/elements/Nav/index.d.ts +0 -6
  830. package/dist/elements/Nav/index.d.ts.map +0 -1
  831. package/dist/elements/Nav/index.js +0 -67
  832. package/dist/elements/Nav/index.js.map +0 -1
  833. package/dist/elements/Nav/index.scss +0 -150
  834. package/dist/elements/TableColumns/columnReducer.d.ts +0 -24
  835. package/dist/elements/TableColumns/columnReducer.d.ts.map +0 -1
  836. package/dist/elements/TableColumns/columnReducer.js +0 -59
  837. package/dist/elements/TableColumns/columnReducer.js.map +0 -1
  838. package/dist/exports/elements.d.ts +0 -50
  839. package/dist/exports/elements.d.ts.map +0 -1
  840. package/dist/exports/elements.js +0 -49
  841. package/dist/exports/elements.js.map +0 -1
  842. package/dist/exports/fields.d.ts +0 -2
  843. package/dist/exports/fields.d.ts.map +0 -1
  844. package/dist/exports/fields.js +0 -3
  845. package/dist/exports/fields.js.map +0 -1
  846. package/dist/exports/providers.d.ts +0 -2
  847. package/dist/exports/providers.d.ts.map +0 -1
  848. package/dist/exports/providers.js +0 -3
  849. package/dist/exports/providers.js.map +0 -1
  850. package/dist/forms/FieldDescription/index.d.ts.map +0 -1
  851. package/dist/forms/FieldDescription/index.js.map +0 -1
  852. package/dist/forms/FieldError/index.d.ts.map +0 -1
  853. package/dist/forms/FieldError/index.js.map +0 -1
  854. package/dist/forms/FieldLabel/index.d.ts.map +0 -1
  855. package/dist/forms/FieldLabel/index.js.map +0 -1
  856. package/dist/graphics/Search/index.d.ts +0 -3
  857. package/dist/graphics/Search/index.d.ts.map +0 -1
  858. package/dist/graphics/Search/index.js +0 -31
  859. package/dist/graphics/Search/index.js.map +0 -1
  860. package/dist/templates/Default/NavHamburger/index.d.ts +0 -3
  861. package/dist/templates/Default/NavHamburger/index.d.ts.map +0 -1
  862. package/dist/templates/Default/NavHamburger/index.js +0 -14
  863. package/dist/templates/Default/NavHamburger/index.js.map +0 -1
  864. package/dist/templates/Default/Wrapper/index.d.ts +0 -8
  865. package/dist/templates/Default/Wrapper/index.d.ts.map +0 -1
  866. package/dist/templates/Default/Wrapper/index.js +0 -18
  867. package/dist/templates/Default/Wrapper/index.js.map +0 -1
  868. package/dist/templates/Default/Wrapper/index.scss +0 -25
  869. package/dist/templates/Default/index.d.ts +0 -11
  870. package/dist/templates/Default/index.d.ts.map +0 -1
  871. package/dist/templates/Default/index.js +0 -68
  872. package/dist/templates/Default/index.js.map +0 -1
  873. package/dist/templates/Default/index.scss +0 -67
  874. package/dist/templates/Minimal/index.d.ts +0 -10
  875. package/dist/templates/Minimal/index.d.ts.map +0 -1
  876. package/dist/templates/Minimal/index.js +0 -21
  877. package/dist/templates/Minimal/index.js.map +0 -1
  878. package/dist/templates/Minimal/index.scss +0 -28
  879. /package/dist/{forms → fields}/FieldDescription/index.scss +0 -0
  880. /package/dist/{forms → fields}/FieldError/index.scss +0 -0
  881. /package/dist/{forms → fields}/FieldLabel/index.scss +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAYpD,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAA;AAI3D,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkHtD,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/UnpublishMany/index.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAgC,MAAM,OAAO,CAAA;AAWpD,OAAO,cAAc,CAAA;AAIrB,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAA;AAIrD,MAAM,MAAM,kBAAkB,GAAG;IAC/B,UAAU,EAAE,sBAAsB,CAAA;CACnC,CAAA;AAED,eAAO,MAAM,aAAa,EAAE,KAAK,CAAC,EAAE,CAAC,kBAAkB,CAkHtD,CAAA"}
@@ -10,10 +10,10 @@ import { useRouteCache } from '../../providers/RouteCache/index.js';
10
10
  import { useSearchParams } from '../../providers/SearchParams/index.js';
11
11
  import { SelectAllStatus, useSelection } from '../../providers/Selection/index.js';
12
12
  import { useTranslation } from '../../providers/Translation/index.js';
13
- import { MinimalTemplate } from '../../templates/Minimal/index.js';
14
13
  import { requests } from '../../utilities/api.js';
15
14
  import { Button } from '../Button/index.js';
16
15
  import { Pill } from '../Pill/index.js';
16
+ import './index.scss';
17
17
  const baseClass = 'unpublish-many';
18
18
  import { toast } from 'sonner';
19
19
  export const UnpublishMany = (props)=>{
@@ -104,7 +104,7 @@ export const UnpublishMany = (props)=>{
104
104
  /*#__PURE__*/ _jsx(Modal, {
105
105
  className: baseClass,
106
106
  slug: modalSlug,
107
- children: /*#__PURE__*/ _jsxs(MinimalTemplate, {
107
+ children: /*#__PURE__*/ _jsxs("div", {
108
108
  className: `${baseClass}__template`,
109
109
  children: [
110
110
  /*#__PURE__*/ _jsx("h1", {
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { MinimalTemplate } from '../../templates/Minimal/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'unpublish-many'\n\nimport type { ClientCollectionConfig } from 'payload/types'\n\nimport { toast } from 'sonner'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n clearRouteCache,\n stringifyParams,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:unpublish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <MinimalTemplate className={`${baseClass}__template`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-unpublish\" onClick={submitted ? undefined : handleUnpublish}>\n {submitted ? t('version:unpublishing') : t('general:confirm')}\n </Button>\n </MinimalTemplate>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","MinimalTemplate","requests","Button","Pill","baseClass","toast","UnpublishMany","props","collection","slug","labels","plural","versions","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","stringifyParams","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","h1","p","label","buttonStyle","id","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/UnpublishMany/index.tsx"],"sourcesContent":["'use client'\nimport { Modal, useModal } from '@faceless-ui/modal'\nimport { getTranslation } from '@payloadcms/translations'\nimport { useRouter } from 'next/navigation.js'\nimport React, { useCallback, useState } from 'react'\n\nimport { useAuth } from '../../providers/Auth/index.js'\nimport { useConfig } from '../../providers/Config/index.js'\nimport { useRouteCache } from '../../providers/RouteCache/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { SelectAllStatus, useSelection } from '../../providers/Selection/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { requests } from '../../utilities/api.js'\nimport { Button } from '../Button/index.js'\nimport { Pill } from '../Pill/index.js'\nimport './index.scss'\n\nconst baseClass = 'unpublish-many'\n\nimport type { ClientCollectionConfig } from 'payload'\n\nimport { toast } from 'sonner'\n\nexport type UnpublishManyProps = {\n collection: ClientCollectionConfig\n}\n\nexport const UnpublishMany: React.FC<UnpublishManyProps> = (props) => {\n const { collection: { slug, labels: { plural }, versions } = {} } = props\n\n const {\n routes: { api },\n serverURL,\n } = useConfig()\n const { permissions } = useAuth()\n const { toggleModal } = useModal()\n const { i18n, t } = useTranslation()\n const { getQueryParams, selectAll } = useSelection()\n const [submitted, setSubmitted] = useState(false)\n const { stringifyParams } = useSearchParams()\n const router = useRouter()\n const { clearRouteCache } = useRouteCache()\n\n const collectionPermissions = permissions?.collections?.[slug]\n const hasPermission = collectionPermissions?.update?.permission\n\n const modalSlug = `unpublish-${slug}`\n\n const addDefaultError = useCallback(() => {\n toast.error(t('error:unknown'))\n }, [t])\n\n const handleUnpublish = useCallback(async () => {\n setSubmitted(true)\n await requests\n .patch(`${serverURL}${api}/${slug}${getQueryParams({ _status: { not_equals: 'draft' } })}`, {\n body: JSON.stringify({\n _status: 'draft',\n }),\n headers: {\n 'Accept-Language': i18n.language,\n 'Content-Type': 'application/json',\n },\n })\n .then(async (res) => {\n try {\n const json = await res.json()\n toggleModal(modalSlug)\n if (res.status < 400) {\n toast.success(t('general:updatedSuccessfully'))\n router.replace(\n stringifyParams({\n params: {\n page: selectAll ? '1' : undefined,\n },\n }),\n )\n clearRouteCache()\n return null\n }\n\n if (json.errors) {\n json.errors.forEach((error) => toast.error(error.message))\n } else {\n addDefaultError()\n }\n return false\n } catch (e) {\n return addDefaultError()\n }\n })\n }, [\n addDefaultError,\n api,\n getQueryParams,\n i18n.language,\n modalSlug,\n selectAll,\n serverURL,\n slug,\n t,\n toggleModal,\n router,\n clearRouteCache,\n stringifyParams,\n ])\n\n if (!versions?.drafts || selectAll === SelectAllStatus.None || !hasPermission) {\n return null\n }\n\n return (\n <React.Fragment>\n <Pill\n className={`${baseClass}__toggle`}\n onClick={() => {\n setSubmitted(false)\n toggleModal(modalSlug)\n }}\n >\n {t('version:unpublish')}\n </Pill>\n <Modal className={baseClass} slug={modalSlug}>\n <div className={`${baseClass}__template`}>\n <h1>{t('version:confirmUnpublish')}</h1>\n <p>{t('version:aboutToUnpublishSelection', { label: getTranslation(plural, i18n) })}</p>\n <Button\n buttonStyle=\"secondary\"\n id=\"confirm-cancel\"\n onClick={submitted ? undefined : () => toggleModal(modalSlug)}\n type=\"button\"\n >\n {t('general:cancel')}\n </Button>\n <Button id=\"confirm-unpublish\" onClick={submitted ? undefined : handleUnpublish}>\n {submitted ? t('version:unpublishing') : t('general:confirm')}\n </Button>\n </div>\n </Modal>\n </React.Fragment>\n )\n}\n"],"names":["Modal","useModal","getTranslation","useRouter","React","useCallback","useState","useAuth","useConfig","useRouteCache","useSearchParams","SelectAllStatus","useSelection","useTranslation","requests","Button","Pill","baseClass","toast","UnpublishMany","props","collection","slug","labels","plural","versions","routes","api","serverURL","permissions","toggleModal","i18n","t","getQueryParams","selectAll","submitted","setSubmitted","stringifyParams","router","clearRouteCache","collectionPermissions","collections","hasPermission","update","permission","modalSlug","addDefaultError","error","handleUnpublish","patch","_status","not_equals","body","JSON","stringify","headers","language","then","res","json","status","success","replace","params","page","undefined","errors","forEach","message","e","drafts","None","Fragment","className","onClick","div","h1","p","label","buttonStyle","id","type"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { FormState, SanitizedCollectionConfig } from 'payload/types';
1
+ import type { FormState, SanitizedCollectionConfig } from 'payload';
2
2
  import React from 'react';
3
3
  import './index.scss';
4
4
  export declare const editDrawerSlug = "edit-upload";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,eAAe,CAAA;AAGzE,OAAO,KAA2C,MAAM,OAAO,CAAA;AAiB/D,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,eAAO,MAAM,aAAa;;;uBAgBzB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8LxC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/elements/Upload/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,yBAAyB,EAAE,MAAM,SAAS,CAAA;AAGnE,OAAO,KAA2C,MAAM,OAAO,CAAA;AAiB/D,OAAO,cAAc,CAAA;AAGrB,eAAO,MAAM,cAAc,gBAAgB,CAAA;AAC3C,eAAO,MAAM,eAAe,kBAAkB,CAAA;AAU9C,eAAO,MAAM,aAAa;;;uBAgBzB,CAAA;AAED,MAAM,MAAM,WAAW,GAAG;IACxB,cAAc,EAAE,MAAM,CAAA;IACtB,YAAY,CAAC,EAAE,SAAS,CAAA;IACxB,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,KAAK,IAAI,CAAA;IAChC,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,YAAY,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAA;CAClD,CAAA;AAED,eAAO,MAAM,MAAM,EAAE,KAAK,CAAC,EAAE,CAAC,WAAW,CA8LxC,CAAA"}
@@ -1,9 +1,9 @@
1
1
  'use client';
2
2
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
- import { isImage } from 'payload/utilities';
3
+ import { isImage } from 'payload/shared';
4
4
  import React, { useCallback, useEffect, useState } from 'react';
5
+ import { FieldError } from '../../fields/FieldError/index.js';
5
6
  import { fieldBaseClass } from '../../fields/shared/index.js';
6
- import { FieldError } from '../../forms/FieldError/index.js';
7
7
  import { useForm } from '../../forms/Form/context.js';
8
8
  import { useField } from '../../forms/useField/index.js';
9
9
  import { useDocumentInfo } from '../../providers/DocumentInfo/index.js';
@@ -17,6 +17,7 @@ import { EditUpload } from '../EditUpload/index.js';
17
17
  import { FileDetails } from '../FileDetails/index.js';
18
18
  import { PreviewSizes } from '../PreviewSizes/index.js';
19
19
  import { Thumbnail } from '../Thumbnail/index.js';
20
+ import './index.scss';
20
21
  const baseClass = 'file-field';
21
22
  export const editDrawerSlug = 'edit-upload';
22
23
  export const sizePreviewSlug = 'preview-sizes';
@@ -57,7 +58,7 @@ export const Upload = (props)=>{
57
58
  path: 'file',
58
59
  validate
59
60
  });
60
- const [crop, setCrop] = useState({
61
+ const [_crop, setCrop] = useState({
61
62
  x: 0,
62
63
  y: 0
63
64
  });
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig } from 'payload/types'\n\nimport { isImage } from 'payload/utilities'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { FieldError } from '../../forms/FieldError/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useFormQueryParams } from '../../providers/FormQueryParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\nexport const UploadActions = ({ canEdit, showSizePreviews }) => {\n const { t } = useTranslation()\n return (\n <div className={`${baseClass}__file-mutation`}>\n {showSizePreviews && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {canEdit && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </div>\n )\n}\n\nexport type UploadProps = {\n collectionSlug: string\n initialState?: FormState\n onChange?: (file?: File) => void\n updatedAt?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, initialState, onChange, updatedAt, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { dispatchFormQueryParams, formQueryParams } = useFormQueryParams()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const [crop, setCrop] = useState({ x: 0, y: 0 })\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n setValue(newFile) // Updating the state with the new File object\n }\n }\n\n const handleFileSelection = React.useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n setValue(fileToUpload)\n },\n [setValue],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n setValue(null)\n setFileSrc('')\n }, [setValue])\n\n const onEditsSave = React.useCallback(\n ({ crop, focalPosition }) => {\n setCrop({\n x: crop.x || 0,\n y: crop.y || 0,\n })\n\n setModified(true)\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits:\n crop || focalPosition\n ? {\n crop: crop || null,\n focalPoint: focalPosition ? focalPosition : null,\n }\n : null,\n },\n })\n },\n [dispatchFormQueryParams, setModified],\n )\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (value instanceof File) {\n const fileReader = new FileReader()\n fileReader.onload = (e) => {\n const imgSrc = e.target?.result\n\n if (typeof imgSrc === 'string') {\n setFileSrc(imgSrc)\n }\n }\n fileReader.readAsDataURL(value)\n }\n\n if (typeof onChange === 'function') {\n onChange(value)\n }\n }, [value, onChange, updatedAt])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n canEdit={showCrop || showFocalPoint}\n collectionSlug={collectionSlug}\n doc={doc}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n />\n )}\n\n {value && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n\n {isImage(value.type) && value.type !== 'image/svg+xml' && (\n <UploadActions\n canEdit={showCrop || showFocalPoint}\n showSizePreviews={hasImageSizes && doc.filename && !replacingFile}\n />\n )}\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={fileSrc || doc?.url}\n imageCacheTag={doc.updatedAt}\n initialCrop={formQueryParams?.uploadEdits?.crop ?? {}}\n initialFocalPoint={{\n x: formQueryParams?.uploadEdits?.focalPoint.x || doc.focalX || 50,\n y: formQueryParams?.uploadEdits?.focalPoint.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["isImage","React","useCallback","useEffect","useState","fieldBaseClass","FieldError","useForm","useField","useDocumentInfo","useFormQueryParams","useTranslation","reduceFieldsToValues","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","canEdit","showSizePreviews","t","div","className","slug","Upload","props","collectionSlug","initialState","onChange","updatedAt","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","dispatchFormQueryParams","formQueryParams","doc","setDoc","docPermissions","errorMessage","setValue","showError","path","crop","setCrop","x","y","handleFileNameChange","e","updatedFileName","target","fileValue","newFile","File","type","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","focalPosition","params","uploadEdits","focalPoint","fileReader","FileReader","onload","imgSrc","result","readAsDataURL","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","length","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","showCrop","showFocalPoint","filter","join","message","filename","handleRemove","imageCacheTag","mimeTypes","Fragment","input","name","buttonStyle","icon","iconStyle","onClick","round","tooltip","Header","fileName","url","initialCrop","initialFocalPoint","focalX","focalY","onSave","hoverTitle","title","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/Upload/index.tsx"],"sourcesContent":["'use client'\nimport type { FormState, SanitizedCollectionConfig } from 'payload'\n\nimport { isImage } from 'payload/shared'\nimport React, { useCallback, useEffect, useState } from 'react'\n\nimport { FieldError } from '../../fields/FieldError/index.js'\nimport { fieldBaseClass } from '../../fields/shared/index.js'\nimport { useForm } from '../../forms/Form/context.js'\nimport { useField } from '../../forms/useField/index.js'\nimport { useDocumentInfo } from '../../providers/DocumentInfo/index.js'\nimport { useFormQueryParams } from '../../providers/FormQueryParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { reduceFieldsToValues } from '../../utilities/reduceFieldsToValues.js'\nimport { Button } from '../Button/index.js'\nimport { Drawer, DrawerToggler } from '../Drawer/index.js'\nimport { Dropzone } from '../Dropzone/index.js'\nimport { EditUpload } from '../EditUpload/index.js'\nimport { FileDetails } from '../FileDetails/index.js'\nimport { PreviewSizes } from '../PreviewSizes/index.js'\nimport { Thumbnail } from '../Thumbnail/index.js'\nimport './index.scss'\n\nconst baseClass = 'file-field'\nexport const editDrawerSlug = 'edit-upload'\nexport const sizePreviewSlug = 'preview-sizes'\n\nconst validate = (value) => {\n if (!value && value !== undefined) {\n return 'A file is required.'\n }\n\n return true\n}\n\nexport const UploadActions = ({ canEdit, showSizePreviews }) => {\n const { t } = useTranslation()\n return (\n <div className={`${baseClass}__file-mutation`}>\n {showSizePreviews && (\n <DrawerToggler className={`${baseClass}__previewSizes`} slug={sizePreviewSlug}>\n {t('upload:previewSizes')}\n </DrawerToggler>\n )}\n {canEdit && (\n <DrawerToggler className={`${baseClass}__edit`} slug={editDrawerSlug}>\n {t('upload:editImage')}\n </DrawerToggler>\n )}\n </div>\n )\n}\n\nexport type UploadProps = {\n collectionSlug: string\n initialState?: FormState\n onChange?: (file?: File) => void\n updatedAt?: string\n uploadConfig: SanitizedCollectionConfig['upload']\n}\n\nexport const Upload: React.FC<UploadProps> = (props) => {\n const { collectionSlug, initialState, onChange, updatedAt, uploadConfig } = props\n\n const [replacingFile, setReplacingFile] = useState(false)\n const [fileSrc, setFileSrc] = useState<null | string>(null)\n const { t } = useTranslation()\n const { setModified } = useForm()\n const { dispatchFormQueryParams, formQueryParams } = useFormQueryParams()\n const [doc, setDoc] = useState(reduceFieldsToValues(initialState || {}, true))\n const { docPermissions } = useDocumentInfo()\n const { errorMessage, setValue, showError, value } = useField<File>({\n path: 'file',\n validate,\n })\n const [_crop, setCrop] = useState({ x: 0, y: 0 })\n\n const handleFileNameChange = (e: React.ChangeEvent<HTMLInputElement>) => {\n const updatedFileName = e.target.value\n if (value) {\n const fileValue = value\n // Creating a new File object with updated properties\n const newFile = new File([fileValue], updatedFileName, { type: fileValue.type })\n setValue(newFile) // Updating the state with the new File object\n }\n }\n\n const handleFileSelection = React.useCallback(\n (files: FileList) => {\n const fileToUpload = files?.[0]\n setValue(fileToUpload)\n },\n [setValue],\n )\n\n const handleFileRemoval = useCallback(() => {\n setReplacingFile(true)\n setValue(null)\n setFileSrc('')\n }, [setValue])\n\n const onEditsSave = React.useCallback(\n ({ crop, focalPosition }) => {\n setCrop({\n x: crop.x || 0,\n y: crop.y || 0,\n })\n\n setModified(true)\n dispatchFormQueryParams({\n type: 'SET',\n params: {\n uploadEdits:\n crop || focalPosition\n ? {\n crop: crop || null,\n focalPoint: focalPosition ? focalPosition : null,\n }\n : null,\n },\n })\n },\n [dispatchFormQueryParams, setModified],\n )\n\n useEffect(() => {\n setDoc(reduceFieldsToValues(initialState || {}, true))\n setReplacingFile(false)\n }, [initialState])\n\n useEffect(() => {\n if (value instanceof File) {\n const fileReader = new FileReader()\n fileReader.onload = (e) => {\n const imgSrc = e.target?.result\n\n if (typeof imgSrc === 'string') {\n setFileSrc(imgSrc)\n }\n }\n fileReader.readAsDataURL(value)\n }\n\n if (typeof onChange === 'function') {\n onChange(value)\n }\n }, [value, onChange, updatedAt])\n\n const canRemoveUpload =\n docPermissions?.update?.permission &&\n 'delete' in docPermissions &&\n docPermissions?.delete?.permission\n\n const hasImageSizes = uploadConfig?.imageSizes?.length > 0\n const hasResizeOptions = Boolean(uploadConfig?.resizeOptions)\n // Explicity check if set to true, default is undefined\n const focalPointEnabled = uploadConfig?.focalPoint === true\n\n const { crop: showCrop = true, focalPoint = true } = uploadConfig\n\n const showFocalPoint = focalPoint && (hasImageSizes || hasResizeOptions || focalPointEnabled)\n\n return (\n <div className={[fieldBaseClass, baseClass].filter(Boolean).join(' ')}>\n <FieldError message={errorMessage} showError={showError} />\n {doc.filename && !replacingFile && (\n <FileDetails\n canEdit={showCrop || showFocalPoint}\n collectionSlug={collectionSlug}\n doc={doc}\n handleRemove={canRemoveUpload ? handleFileRemoval : undefined}\n hasImageSizes={hasImageSizes}\n imageCacheTag={doc.updatedAt}\n uploadConfig={uploadConfig}\n />\n )}\n {(!doc.filename || replacingFile) && (\n <div className={`${baseClass}__upload`}>\n {!value && (\n <Dropzone\n className={`${baseClass}__dropzone`}\n mimeTypes={uploadConfig?.mimeTypes}\n onChange={handleFileSelection}\n />\n )}\n\n {value && (\n <React.Fragment>\n <div className={`${baseClass}__thumbnail-wrap`}>\n <Thumbnail\n collectionSlug={collectionSlug}\n fileSrc={isImage(value.type) ? fileSrc : null}\n />\n </div>\n <div className={`${baseClass}__file-adjustments`}>\n <input\n className={`${baseClass}__filename`}\n onChange={handleFileNameChange}\n type=\"text\"\n value={value.name}\n />\n\n {isImage(value.type) && value.type !== 'image/svg+xml' && (\n <UploadActions\n canEdit={showCrop || showFocalPoint}\n showSizePreviews={hasImageSizes && doc.filename && !replacingFile}\n />\n )}\n </div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={handleFileRemoval}\n round\n tooltip={t('general:cancel')}\n />\n </React.Fragment>\n )}\n </div>\n )}\n {(value || doc.filename) && (\n <Drawer Header={null} slug={editDrawerSlug}>\n <EditUpload\n fileName={value?.name || doc?.filename}\n fileSrc={fileSrc || doc?.url}\n imageCacheTag={doc.updatedAt}\n initialCrop={formQueryParams?.uploadEdits?.crop ?? {}}\n initialFocalPoint={{\n x: formQueryParams?.uploadEdits?.focalPoint.x || doc.focalX || 50,\n y: formQueryParams?.uploadEdits?.focalPoint.y || doc.focalY || 50,\n }}\n onSave={onEditsSave}\n showCrop={showCrop}\n showFocalPoint={showFocalPoint}\n />\n </Drawer>\n )}\n {doc && hasImageSizes && (\n <Drawer\n className={`${baseClass}__previewDrawer`}\n hoverTitle\n slug={sizePreviewSlug}\n title={t('upload:sizesFor', { label: doc?.filename })}\n >\n <PreviewSizes doc={doc} imageCacheTag={doc.updatedAt} uploadConfig={uploadConfig} />\n </Drawer>\n )}\n </div>\n )\n}\n"],"names":["isImage","React","useCallback","useEffect","useState","FieldError","fieldBaseClass","useForm","useField","useDocumentInfo","useFormQueryParams","useTranslation","reduceFieldsToValues","Button","Drawer","DrawerToggler","Dropzone","EditUpload","FileDetails","PreviewSizes","Thumbnail","baseClass","editDrawerSlug","sizePreviewSlug","validate","value","undefined","UploadActions","canEdit","showSizePreviews","t","div","className","slug","Upload","props","collectionSlug","initialState","onChange","updatedAt","uploadConfig","replacingFile","setReplacingFile","fileSrc","setFileSrc","setModified","dispatchFormQueryParams","formQueryParams","doc","setDoc","docPermissions","errorMessage","setValue","showError","path","_crop","setCrop","x","y","handleFileNameChange","e","updatedFileName","target","fileValue","newFile","File","type","handleFileSelection","files","fileToUpload","handleFileRemoval","onEditsSave","crop","focalPosition","params","uploadEdits","focalPoint","fileReader","FileReader","onload","imgSrc","result","readAsDataURL","canRemoveUpload","update","permission","delete","hasImageSizes","imageSizes","length","hasResizeOptions","Boolean","resizeOptions","focalPointEnabled","showCrop","showFocalPoint","filter","join","message","filename","handleRemove","imageCacheTag","mimeTypes","Fragment","input","name","buttonStyle","icon","iconStyle","onClick","round","tooltip","Header","fileName","url","initialCrop","initialFocalPoint","focalX","focalY","onSave","hoverTitle","title","label"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -3,6 +3,7 @@ import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import { getTranslation } from '@payloadcms/translations';
4
4
  import React from 'react';
5
5
  import { useTranslation } from '../../providers/Translation/index.js';
6
+ import './index.scss';
6
7
  export function isComponent(description) {
7
8
  return /*#__PURE__*/ React.isValidElement(description);
8
9
  }
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type DescriptionFunction = () => string\n\nexport type DescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionComponent | DescriptionFunction | Record<string, string> | string\n\nexport type ViewDescriptionProps = {\n description?: Description\n}\n\nexport function isComponent(description: Description): description is DescriptionComponent {\n return React.isValidElement(description)\n}\n\nexport const ViewDescription: React.FC<ViewDescriptionProps> = (props) => {\n const { i18n } = useTranslation()\n const { description } = props\n\n if (isComponent(description)) {\n const Description = description\n return <Description />\n }\n\n if (description) {\n return (\n <div className=\"view-description\">\n {typeof description === 'function' ? description() : getTranslation(description, i18n)}\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","React","useTranslation","isComponent","description","isValidElement","ViewDescription","props","i18n","Description","div","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,uCAAsC;AAarE,OAAO,SAASC,YAAYC,WAAwB;IAClD,qBAAOH,MAAMI,cAAc,CAACD;AAC9B;AAEA,OAAO,MAAME,kBAAkD,CAACC;IAC9D,MAAM,EAAEC,IAAI,EAAE,GAAGN;IACjB,MAAM,EAAEE,WAAW,EAAE,GAAGG;IAExB,IAAIJ,YAAYC,cAAc;QAC5B,MAAMK,cAAcL;QACpB,qBAAO,KAACK;IACV;IAEA,IAAIL,aAAa;QACf,qBACE,KAACM;YAAIC,WAAU;sBACZ,OAAOP,gBAAgB,aAAaA,gBAAgBJ,eAAeI,aAAaI;;IAGvF;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/ViewDescription/index.tsx"],"sourcesContent":["'use client'\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport './index.scss'\n\nexport type DescriptionFunction = () => string\n\nexport type DescriptionComponent = React.ComponentType<any>\n\ntype Description = DescriptionComponent | DescriptionFunction | Record<string, string> | string\n\nexport type ViewDescriptionProps = {\n description?: Description\n}\n\nexport function isComponent(description: Description): description is DescriptionComponent {\n return React.isValidElement(description)\n}\n\nexport const ViewDescription: React.FC<ViewDescriptionProps> = (props) => {\n const { i18n } = useTranslation()\n const { description } = props\n\n if (isComponent(description)) {\n const Description = description\n return <Description />\n }\n\n if (description) {\n return (\n <div className=\"view-description\">\n {typeof description === 'function' ? description() : getTranslation(description, i18n)}\n </div>\n )\n }\n\n return null\n}\n"],"names":["getTranslation","React","useTranslation","isComponent","description","isValidElement","ViewDescription","props","i18n","Description","div","className"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAEzB,SAASC,cAAc,QAAQ,uCAAsC;AACrE,OAAO,eAAc;AAYrB,OAAO,SAASC,YAAYC,WAAwB;IAClD,qBAAOH,MAAMI,cAAc,CAACD;AAC9B;AAEA,OAAO,MAAME,kBAAkD,CAACC;IAC9D,MAAM,EAAEC,IAAI,EAAE,GAAGN;IACjB,MAAM,EAAEE,WAAW,EAAE,GAAGG;IAExB,IAAIJ,YAAYC,cAAc;QAC5B,MAAMK,cAAcL;QACpB,qBAAO,KAACK;IACV;IAEA,IAAIL,aAAa;QACf,qBACE,KAACM;YAAIC,WAAU;sBACZ,OAAOP,gBAAgB,aAAaA,gBAAgBJ,eAAeI,aAAaI;;IAGvF;IAEA,OAAO;AACT,EAAC"}
@@ -2,6 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from 'react';
4
4
  import { useTranslation } from '../../../../providers/Translation/index.js';
5
+ import './index.scss';
5
6
  const baseClass = 'condition-value-number';
6
7
  export const NumberField = ({ disabled, onChange, value })=>{
7
8
  const { t } = useTranslation();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Number/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-number'\n\nexport const NumberField: React.FC<Props> = ({ disabled, onChange, value }) => {\n const { t } = useTranslation()\n return (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"number\"\n value={value}\n />\n )\n}\n"],"names":["React","useTranslation","baseClass","NumberField","disabled","onChange","value","t","input","className","e","target","placeholder","type"],"rangeMappings":";;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAG3E,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAA+B,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IACxE,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,qBACE,KAACO;QACCC,WAAWP;QACXE,UAAUA;QACVC,UAAU,CAACK,IAAML,SAASK,EAAEC,MAAM,CAACL,KAAK;QACxCM,aAAaL,EAAE;QACfM,MAAK;QACLP,OAAOA;;AAGb,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Number/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-number'\n\nexport const NumberField: React.FC<Props> = ({ disabled, onChange, value }) => {\n const { t } = useTranslation()\n return (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"number\"\n value={value}\n />\n )\n}\n"],"names":["React","useTranslation","baseClass","NumberField","disabled","onChange","value","t","input","className","e","target","placeholder","type"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,OAAO,MAAMC,cAA+B,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IACxE,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,qBACE,KAACO;QACCC,WAAWP;QACXE,UAAUA;QACVC,UAAU,CAACK,IAAML,SAASK,EAAEC,MAAM,CAACL,KAAK;QACxCM,aAAaL,EAAE;QACfM,MAAK;QACLP,OAAOA;;AAGb,EAAC"}
@@ -6,6 +6,7 @@ import { useDebounce } from '../../../../hooks/useDebounce.js';
6
6
  import { useConfig } from '../../../../providers/Config/index.js';
7
7
  import { useTranslation } from '../../../../providers/Translation/index.js';
8
8
  import { ReactSelect } from '../../../ReactSelect/index.js';
9
+ import './index.scss';
9
10
  import optionsReducer from './optionsReducer.js';
10
11
  const baseClass = 'condition-value-relationship';
11
12
  const maxResultsPerRequest = 10;
@@ -287,7 +288,7 @@ export const RelationshipField = (props)=>{
287
288
  onChange(null);
288
289
  return;
289
290
  }
290
- if (hasMany) {
291
+ if (hasMany && Array.isArray(selected)) {
291
292
  onChange(selected ? selected.map((option)=>{
292
293
  if (hasMultipleRelations) {
293
294
  return {
@@ -297,12 +298,12 @@ export const RelationshipField = (props)=>{
297
298
  }
298
299
  return option?.value;
299
300
  }) : null);
300
- } else if (hasMultipleRelations) {
301
+ } else if (hasMultipleRelations && !Array.isArray(selected)) {
301
302
  onChange({
302
303
  relationTo: selected?.relationTo,
303
304
  value: selected?.value
304
305
  });
305
- } else {
306
+ } else if (!Array.isArray(selected)) {
306
307
  onChange(selected?.value);
307
308
  }
308
309
  },
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\n/* eslint-disable @typescript-eslint/no-floating-promises */\nimport type { PaginatedDocs } from 'payload/database'\nimport type { Where } from 'payload/types'\n\nimport QueryString from 'qs'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\nimport optionsReducer from './optionsReducer.js'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipField: React.FC<Props> = (props) => {\n const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const debouncedSearch = useDebounce(search, 300)\n const { i18n, t } = useTranslation()\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n const initialRelationMap = () => {\n const map: Map<string, number> = new Map()\n relationSlugs.forEach((relation) => {\n map.set(relation, 1)\n })\n return map\n }\n const nextPageByRelationshipRef = React.useRef<Map<string, number>>(initialRelationMap())\n const partiallyLoadedRelationshipSlugs = React.useRef<string[]>(relationSlugs)\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [collections, hasMultipleRelations, i18n],\n )\n\n const loadRelationOptions = React.useCallback(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const collection = collections.find((coll) => coll.slug === relationSlug)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n const pageIndex = nextPageByRelationshipRef.current.get(relationSlug)\n\n if (partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {\n const query: {\n depth?: number\n limit?: number\n page?: number\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: pageIndex,\n where: {\n and: [],\n },\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${QueryString.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (!debouncedSearch) {\n if (data.nextPage) {\n nextPageByRelationshipRef.current.set(relationSlug, data.nextPage)\n } else {\n partiallyLoadedRelationshipSlugs.current =\n partiallyLoadedRelationshipSlugs.current.filter(\n (partiallyLoadedRelation) => partiallyLoadedRelation !== relationSlug,\n )\n }\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e)\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n [addOptions, api, collections, debouncedSearch, i18n.language, serverURL, t],\n )\n\n const loadMoreOptions = React.useCallback(() => {\n if (partiallyLoadedRelationshipSlugs.current.length > 0) {\n const abortController = new AbortController()\n loadRelationOptions({\n abortController,\n relationSlug: partiallyLoadedRelationshipSlugs.current[0],\n })\n }\n }, [loadRelationOptions])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value === val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value === val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value === valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value === value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (newSearch) => {\n if (search !== newSearch) {\n setSearch(newSearch)\n }\n },\n [search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * 1. Trigger initial relationship options fetch\n * 2. When search changes, loadRelationOptions will\n * fire off again\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const abortControllers: AbortController[] = []\n relations.forEach((relation) => {\n const abortController = new AbortController()\n loadRelationOptions({\n abortController,\n relationSlug: relation,\n })\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) controller.abort()\n })\n }\n }, [i18n, loadRelationOptions, relationTo])\n\n /**\n * Load any options that were not returned\n * in the first 10 of each relation fetch\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n addOptionByID(value[i].value, value[i].relationTo)\n } else {\n addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {!errorLoading && (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n if (hasMany) {\n onChange(\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 onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={loadMoreOptions}\n options={options}\n placeholder={t('general:selectValue')}\n value={valueToRender}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["QueryString","React","useCallback","useEffect","useReducer","useState","useDebounce","useConfig","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipField","props","admin","isSortable","disabled","hasMany","onChange","relationTo","value","collections","routes","api","serverURL","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","debouncedSearch","i18n","t","relationSlugs","initialRelationMap","map","Map","forEach","relation","set","nextPageByRelationshipRef","useRef","partiallyLoadedRelationshipSlugs","addOptions","data","collection","find","coll","slug","type","loadRelationOptions","abortController","relationSlug","fieldToSearch","useAsTitle","pageIndex","current","get","includes","query","depth","limit","page","where","and","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","nextPage","filter","partiallyLoadedRelation","e","aborted","console","error","loadMoreOptions","AbortController","findOptionsByValue","val","matchedOption","opt","some","subOpt","undefined","valueWithRelation","handleInputChange","newSearch","addOptionByID","id","relations","abortControllers","controller","abort","matchedOptions","option","i","classes","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/index.tsx"],"sourcesContent":["'use client'\nimport type { Where } from 'payload'\n/* eslint-disable @typescript-eslint/no-floating-promises */\nimport type { PaginatedDocs } from 'payload'\n\nimport QueryString from 'qs'\nimport React, { useCallback, useEffect, useReducer, useState } from 'react'\n\nimport type { Option } from '../../../ReactSelect/types.js'\nimport type { Props, ValueWithRelation } from './types.js'\n\nimport { useDebounce } from '../../../../hooks/useDebounce.js'\nimport { useConfig } from '../../../../providers/Config/index.js'\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\nimport './index.scss'\nimport optionsReducer from './optionsReducer.js'\n\nconst baseClass = 'condition-value-relationship'\n\nconst maxResultsPerRequest = 10\n\nexport const RelationshipField: React.FC<Props> = (props) => {\n const { admin: { isSortable } = {}, disabled, hasMany, onChange, relationTo, value } = props\n\n const {\n collections,\n routes: { api },\n serverURL,\n } = useConfig()\n\n const hasMultipleRelations = Array.isArray(relationTo)\n const [options, dispatchOptions] = useReducer(optionsReducer, [])\n const [search, setSearch] = useState('')\n const [errorLoading, setErrorLoading] = useState('')\n const [hasLoadedFirstOptions, setHasLoadedFirstOptions] = useState(false)\n const debouncedSearch = useDebounce(search, 300)\n const { i18n, t } = useTranslation()\n const relationSlugs = hasMultipleRelations ? relationTo : [relationTo]\n const initialRelationMap = () => {\n const map: Map<string, number> = new Map()\n relationSlugs.forEach((relation) => {\n map.set(relation, 1)\n })\n return map\n }\n const nextPageByRelationshipRef = React.useRef<Map<string, number>>(initialRelationMap())\n const partiallyLoadedRelationshipSlugs = React.useRef<string[]>(relationSlugs)\n\n const addOptions = useCallback(\n (data, relation) => {\n const collection = collections.find((coll) => coll.slug === relation)\n dispatchOptions({ type: 'ADD', collection, data, hasMultipleRelations, i18n, relation })\n },\n [collections, hasMultipleRelations, i18n],\n )\n\n const loadRelationOptions = React.useCallback(\n async ({\n abortController,\n relationSlug,\n }: {\n abortController: AbortController\n relationSlug: string\n }) => {\n const collection = collections.find((coll) => coll.slug === relationSlug)\n const fieldToSearch = collection?.admin?.useAsTitle || 'id'\n const pageIndex = nextPageByRelationshipRef.current.get(relationSlug)\n\n if (partiallyLoadedRelationshipSlugs.current.includes(relationSlug)) {\n const query: {\n depth?: number\n limit?: number\n page?: number\n where: Where\n } = {\n depth: 0,\n limit: maxResultsPerRequest,\n page: pageIndex,\n where: {\n and: [],\n },\n }\n\n if (debouncedSearch) {\n query.where.and.push({\n [fieldToSearch]: {\n like: debouncedSearch,\n },\n })\n }\n\n try {\n const response = await fetch(\n `${serverURL}${api}/${relationSlug}${QueryString.stringify(query, { addQueryPrefix: true })}`,\n {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n signal: abortController.signal,\n },\n )\n\n if (response.ok) {\n const data: PaginatedDocs = await response.json()\n if (data.docs.length > 0) {\n addOptions(data, relationSlug)\n\n if (!debouncedSearch) {\n if (data.nextPage) {\n nextPageByRelationshipRef.current.set(relationSlug, data.nextPage)\n } else {\n partiallyLoadedRelationshipSlugs.current =\n partiallyLoadedRelationshipSlugs.current.filter(\n (partiallyLoadedRelation) => partiallyLoadedRelation !== relationSlug,\n )\n }\n }\n }\n } else {\n setErrorLoading(t('error:unspecific'))\n }\n } catch (e) {\n if (!abortController.signal.aborted) {\n console.error(e)\n }\n }\n }\n\n setHasLoadedFirstOptions(true)\n },\n [addOptions, api, collections, debouncedSearch, i18n.language, serverURL, t],\n )\n\n const loadMoreOptions = React.useCallback(() => {\n if (partiallyLoadedRelationshipSlugs.current.length > 0) {\n const abortController = new AbortController()\n loadRelationOptions({\n abortController,\n relationSlug: partiallyLoadedRelationshipSlugs.current[0],\n })\n }\n }, [loadRelationOptions])\n\n const findOptionsByValue = useCallback((): Option | Option[] => {\n if (value) {\n if (hasMany) {\n if (Array.isArray(value)) {\n return value.map((val) => {\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n options.forEach((opt) => {\n if (opt.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value === val.value) {\n matchedOption = subOpt\n return true\n }\n\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value === val)\n })\n }\n\n return undefined\n }\n\n if (hasMultipleRelations) {\n let matchedOption: Option\n\n const valueWithRelation = value as ValueWithRelation\n\n options.forEach((opt) => {\n if (opt?.options) {\n opt.options.some((subOpt) => {\n if (subOpt?.value === valueWithRelation.value) {\n matchedOption = subOpt\n return true\n }\n return false\n })\n }\n })\n\n return matchedOption\n }\n\n return options.find((opt) => opt.value === value)\n }\n\n return undefined\n }, [hasMany, hasMultipleRelations, value, options])\n\n const handleInputChange = useCallback(\n (newSearch) => {\n if (search !== newSearch) {\n setSearch(newSearch)\n }\n },\n [search],\n )\n\n const addOptionByID = useCallback(\n async (id, relation) => {\n if (!errorLoading && id !== 'null' && id && relation) {\n const response = await fetch(`${serverURL}${api}/${relation}/${id}?depth=0`, {\n credentials: 'include',\n headers: {\n 'Accept-Language': i18n.language,\n },\n })\n\n if (response.ok) {\n const data = await response.json()\n addOptions({ docs: [data] }, relation)\n } else {\n // eslint-disable-next-line no-console\n console.error(t('error:loadingDocument', { id }))\n }\n }\n },\n [i18n, addOptions, api, errorLoading, serverURL, t],\n )\n\n /**\n * 1. Trigger initial relationship options fetch\n * 2. When search changes, loadRelationOptions will\n * fire off again\n */\n useEffect(() => {\n const relations = Array.isArray(relationTo) ? relationTo : [relationTo]\n const abortControllers: AbortController[] = []\n relations.forEach((relation) => {\n const abortController = new AbortController()\n loadRelationOptions({\n abortController,\n relationSlug: relation,\n })\n abortControllers.push(abortController)\n })\n\n return () => {\n abortControllers.forEach((controller) => {\n if (controller.signal) controller.abort()\n })\n }\n }, [i18n, loadRelationOptions, relationTo])\n\n /**\n * Load any options that were not returned\n * in the first 10 of each relation fetch\n */\n useEffect(() => {\n if (value && hasLoadedFirstOptions) {\n if (hasMany) {\n const matchedOptions = findOptionsByValue()\n\n ;((matchedOptions as Option[]) || []).forEach((option, i) => {\n if (!option) {\n if (hasMultipleRelations) {\n addOptionByID(value[i].value, value[i].relationTo)\n } else {\n addOptionByID(value[i], relationTo)\n }\n }\n })\n } else {\n const matchedOption = findOptionsByValue()\n\n if (!matchedOption) {\n if (hasMultipleRelations) {\n const valueWithRelation = value as ValueWithRelation\n addOptionByID(valueWithRelation.value, valueWithRelation.relationTo)\n } else {\n addOptionByID(value, relationTo)\n }\n }\n }\n }\n }, [\n addOptionByID,\n findOptionsByValue,\n hasMany,\n hasMultipleRelations,\n relationTo,\n value,\n hasLoadedFirstOptions,\n ])\n\n const classes = ['field-type', baseClass, errorLoading && 'error-loading']\n .filter(Boolean)\n .join(' ')\n\n const valueToRender = (findOptionsByValue() || value) as Option\n\n return (\n <div className={classes}>\n {!errorLoading && (\n <ReactSelect\n disabled={disabled}\n isMulti={hasMany}\n isSortable={isSortable}\n onChange={(selected) => {\n if (!selected) {\n onChange(null)\n return\n }\n if (hasMany && Array.isArray(selected)) {\n onChange(\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 && !Array.isArray(selected)) {\n onChange({\n relationTo: selected?.relationTo,\n value: selected?.value,\n })\n } else if (!Array.isArray(selected)) {\n onChange(selected?.value)\n }\n }}\n onInputChange={handleInputChange}\n onMenuScrollToBottom={loadMoreOptions}\n options={options}\n placeholder={t('general:selectValue')}\n value={valueToRender}\n />\n )}\n {errorLoading && <div className={`${baseClass}__error-loading`}>{errorLoading}</div>}\n </div>\n )\n}\n"],"names":["QueryString","React","useCallback","useEffect","useReducer","useState","useDebounce","useConfig","useTranslation","ReactSelect","optionsReducer","baseClass","maxResultsPerRequest","RelationshipField","props","admin","isSortable","disabled","hasMany","onChange","relationTo","value","collections","routes","api","serverURL","hasMultipleRelations","Array","isArray","options","dispatchOptions","search","setSearch","errorLoading","setErrorLoading","hasLoadedFirstOptions","setHasLoadedFirstOptions","debouncedSearch","i18n","t","relationSlugs","initialRelationMap","map","Map","forEach","relation","set","nextPageByRelationshipRef","useRef","partiallyLoadedRelationshipSlugs","addOptions","data","collection","find","coll","slug","type","loadRelationOptions","abortController","relationSlug","fieldToSearch","useAsTitle","pageIndex","current","get","includes","query","depth","limit","page","where","and","push","like","response","fetch","stringify","addQueryPrefix","credentials","headers","language","signal","ok","json","docs","length","nextPage","filter","partiallyLoadedRelation","e","aborted","console","error","loadMoreOptions","AbortController","findOptionsByValue","val","matchedOption","opt","some","subOpt","undefined","valueWithRelation","handleInputChange","newSearch","addOptionByID","id","relations","abortControllers","controller","abort","matchedOptions","option","i","classes","Boolean","join","valueToRender","div","className","isMulti","selected","onInputChange","onMenuScrollToBottom","placeholder"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import type { I18nClient } from '@payloadcms/translations';
2
- import type { PaginatedDocs } from 'payload/database';
3
- import type { ClientCollectionConfig, RelationshipField } from 'payload/types';
2
+ import type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload';
4
3
  export type Props = {
5
4
  disabled?: boolean;
6
5
  onChange: (val: unknown) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,sBAAsB,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAA;AAE9E,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,OAAO,CAAA;CACf,GAAG,iBAAiB,CAAA;AAErB,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,0BAA0B,CAAA;AAC1D,OAAO,KAAK,EAAE,sBAAsB,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAA;AAEvF,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,OAAO,KAAK,IAAI,CAAA;IAChC,KAAK,EAAE,OAAO,CAAA;CACf,GAAG,iBAAiB,CAAA;AAErB,MAAM,MAAM,MAAM,GAAG;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,EAAE,CAAA;IAClB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,KAAK,KAAK,GAAG;IACX,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,OAAO,CAAA;IACjB,IAAI,EAAE,OAAO,CAAA;CACd,CAAA;AAED,KAAK,GAAG,GAAG;IACT,UAAU,EAAE,sBAAsB,CAAA;IAClC,IAAI,EAAE,aAAa,CAAC,GAAG,CAAC,CAAA;IACxB,oBAAoB,EAAE,OAAO,CAAA;IAC7B,IAAI,EAAE,UAAU,CAAA;IAChB,QAAQ,EAAE,MAAM,CAAA;IAChB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,KAAK,CAAA;AAEhC,MAAM,MAAM,iBAAiB,GAAG;IAC9B,UAAU,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,UAAU,GAAG,CAAC,IAAI,EAAE;IAC9B,uBAAuB,CAAC,EAAE,MAAM,CAAA;IAChC,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { PaginatedDocs } from 'payload/database'\nimport type { ClientCollectionConfig, RelationshipField } from 'payload/types'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: unknown) => void\n value: unknown\n} & RelationshipField\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: string\n}\n\ntype CLEAR = {\n i18n: I18nClient\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n data: PaginatedDocs<any>\n hasMultipleRelations: boolean\n i18n: I18nClient\n relation: string\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage?: number\n search?: string\n}) => Promise<void>\n"],"names":[],"rangeMappings":"","mappings":"AAuCA,WAImB"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Relationship/types.ts"],"sourcesContent":["import type { I18nClient } from '@payloadcms/translations'\nimport type { ClientCollectionConfig, PaginatedDocs, RelationshipField } from 'payload'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: unknown) => void\n value: unknown\n} & RelationshipField\n\nexport type Option = {\n label: string\n options?: Option[]\n relationTo?: string\n value: string\n}\n\ntype CLEAR = {\n i18n: I18nClient\n required: boolean\n type: 'CLEAR'\n}\n\ntype ADD = {\n collection: ClientCollectionConfig\n data: PaginatedDocs<any>\n hasMultipleRelations: boolean\n i18n: I18nClient\n relation: string\n type: 'ADD'\n}\n\nexport type Action = ADD | CLEAR\n\nexport type ValueWithRelation = {\n relationTo: string\n value: string\n}\n\nexport type GetResults = (args: {\n lastFullyLoadedRelation?: number\n lastLoadedPage?: number\n search?: string\n}) => Promise<void>\n"],"names":[],"rangeMappings":"","mappings":"AAsCA,WAImB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject } from 'payload/types'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nexport const Select: React.FC<Props> = ({\n disabled,\n onChange,\n operator,\n options: optionsFromProps,\n value,\n}) => {\n const { i18n } = useTranslation()\n const [options, setOptions] = React.useState(formatOptions(optionsFromProps))\n\n const isMulti = ['in', 'not_in'].includes(operator)\n let valueToRender\n\n if (isMulti && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = null\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else {\n newValue = selectedOption.value\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n setOptions(formatOptions(optionsFromProps))\n }, [optionsFromProps])\n\n React.useEffect(() => {\n if (!isMulti && Array.isArray(value)) {\n onChange(value[0])\n }\n }, [isMulti, onChange, value])\n\n return (\n <ReactSelect\n disabled={disabled}\n isMulti={isMulti}\n onChange={onSelect}\n options={options.map((option) => ({ ...option, label: getTranslation(option.label, i18n) }))}\n value={valueToRender}\n />\n )\n}\n"],"names":["getTranslation","React","useTranslation","ReactSelect","formatOptions","options","map","option","value","label","Select","disabled","onChange","operator","optionsFromProps","i18n","setOptions","useState","isMulti","includes","valueToRender","Array","isArray","val","matchingOption","find","onSelect","useCallback","selectedOption","newValue","useEffect"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,WAAW,QAAQ,gCAA+B;AAE3D,MAAMC,gBAAgB,CAACC,UACrBA,QAAQC,GAAG,CAAC,CAACC;QACX,IAAI,OAAOA,WAAW,YAAaA,CAAAA,OAAOC,KAAK,IAAID,OAAOC,KAAK,KAAK,EAAC,GAAI;YACvE,OAAOD;QACT;QAEA,OAAO;YACLE,OAAOF;YACPC,OAAOD;QACT;IACF;AAEF,OAAO,MAAMG,SAA0B,CAAC,EACtCC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRR,SAASS,gBAAgB,EACzBN,KAAK,EACN;IACC,MAAM,EAAEO,IAAI,EAAE,GAAGb;IACjB,MAAM,CAACG,SAASW,WAAW,GAAGf,MAAMgB,QAAQ,CAACb,cAAcU;IAE3D,MAAMI,UAAU;QAAC;QAAM;KAAS,CAACC,QAAQ,CAACN;IAC1C,IAAIO;IAEJ,IAAIF,WAAWG,MAAMC,OAAO,CAACd,QAAQ;QACnCY,gBAAgBZ,MAAMF,GAAG,CAAC,CAACiB;YACzB,MAAMC,iBAAiBnB,QAAQoB,IAAI,CAAC,CAAClB,SAAWA,OAAOC,KAAK,KAAKe;YACjE,OAAO;gBACLd,OAAOe,iBAAiBxB,eAAewB,eAAef,KAAK,EAAEM,QAAQQ;gBACrEf,OAAOgB,gBAAgBhB,SAASe;YAClC;QACF;IACF,OAAO,IAAIf,OAAO;QAChB,MAAMgB,iBAAiBnB,QAAQoB,IAAI,CAAC,CAAClB,SAAWA,OAAOC,KAAK,KAAKA;QACjEY,gBAAgB;YACdX,OAAOe,iBAAiBxB,eAAewB,eAAef,KAAK,EAAEM,QAAQP;YACrEA,OAAOgB,gBAAgBhB,SAASA;QAClC;IACF;IAEA,MAAMkB,WAAWzB,MAAM0B,WAAW,CAChC,CAACC;QACC,IAAIC;QACJ,IAAI,CAACD,gBAAgB;YACnBC,WAAW;QACb,OAAO,IAAIX,SAAS;YAClB,IAAIG,MAAMC,OAAO,CAACM,iBAAiB;gBACjCC,WAAWD,eAAetB,GAAG,CAAC,CAACC,SAAWA,OAAOC,KAAK;YACxD,OAAO;gBACLqB,WAAW,EAAE;YACf;QACF,OAAO;YACLA,WAAWD,eAAepB,KAAK;QACjC;QAEAI,SAASiB;IACX,GACA;QAACX;QAASN;KAAS;IAGrBX,MAAM6B,SAAS,CAAC;QACdd,WAAWZ,cAAcU;IAC3B,GAAG;QAACA;KAAiB;IAErBb,MAAM6B,SAAS,CAAC;QACd,IAAI,CAACZ,WAAWG,MAAMC,OAAO,CAACd,QAAQ;YACpCI,SAASJ,KAAK,CAAC,EAAE;QACnB;IACF,GAAG;QAACU;QAASN;QAAUJ;KAAM;IAE7B,qBACE,KAACL;QACCQ,UAAUA;QACVO,SAASA;QACTN,UAAUc;QACVrB,SAASA,QAAQC,GAAG,CAAC,CAACC,SAAY,CAAA;gBAAE,GAAGA,MAAM;gBAAEE,OAAOT,eAAeO,OAAOE,KAAK,EAAEM;YAAM,CAAA;QACzFP,OAAOY;;AAGb,EAAC"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/index.tsx"],"sourcesContent":["'use client'\nimport type { Option, OptionObject } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport { ReactSelect } from '../../../ReactSelect/index.js'\n\nconst formatOptions = (options: Option[]): OptionObject[] =>\n options.map((option) => {\n if (typeof option === 'object' && (option.value || option.value === '')) {\n return option\n }\n\n return {\n label: option,\n value: option,\n } as OptionObject\n })\n\nexport const Select: React.FC<Props> = ({\n disabled,\n onChange,\n operator,\n options: optionsFromProps,\n value,\n}) => {\n const { i18n } = useTranslation()\n const [options, setOptions] = React.useState(formatOptions(optionsFromProps))\n\n const isMulti = ['in', 'not_in'].includes(operator)\n let valueToRender\n\n if (isMulti && Array.isArray(value)) {\n valueToRender = value.map((val) => {\n const matchingOption = options.find((option) => option.value === val)\n return {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : val,\n value: matchingOption?.value ?? val,\n }\n })\n } else if (value) {\n const matchingOption = options.find((option) => option.value === value)\n valueToRender = {\n label: matchingOption ? getTranslation(matchingOption.label, i18n) : value,\n value: matchingOption?.value ?? value,\n }\n }\n\n const onSelect = React.useCallback(\n (selectedOption) => {\n let newValue\n if (!selectedOption) {\n newValue = null\n } else if (isMulti) {\n if (Array.isArray(selectedOption)) {\n newValue = selectedOption.map((option) => option.value)\n } else {\n newValue = []\n }\n } else {\n newValue = selectedOption.value\n }\n\n onChange(newValue)\n },\n [isMulti, onChange],\n )\n\n React.useEffect(() => {\n setOptions(formatOptions(optionsFromProps))\n }, [optionsFromProps])\n\n React.useEffect(() => {\n if (!isMulti && Array.isArray(value)) {\n onChange(value[0])\n }\n }, [isMulti, onChange, value])\n\n return (\n <ReactSelect\n disabled={disabled}\n isMulti={isMulti}\n onChange={onSelect}\n options={options.map((option) => ({ ...option, label: getTranslation(option.label, i18n) }))}\n value={valueToRender}\n />\n )\n}\n"],"names":["getTranslation","React","useTranslation","ReactSelect","formatOptions","options","map","option","value","label","Select","disabled","onChange","operator","optionsFromProps","i18n","setOptions","useState","isMulti","includes","valueToRender","Array","isArray","val","matchingOption","find","onSelect","useCallback","selectedOption","newValue","useEffect"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;;AAGA,SAASA,cAAc,QAAQ,2BAA0B;AACzD,OAAOC,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,SAASC,WAAW,QAAQ,gCAA+B;AAE3D,MAAMC,gBAAgB,CAACC,UACrBA,QAAQC,GAAG,CAAC,CAACC;QACX,IAAI,OAAOA,WAAW,YAAaA,CAAAA,OAAOC,KAAK,IAAID,OAAOC,KAAK,KAAK,EAAC,GAAI;YACvE,OAAOD;QACT;QAEA,OAAO;YACLE,OAAOF;YACPC,OAAOD;QACT;IACF;AAEF,OAAO,MAAMG,SAA0B,CAAC,EACtCC,QAAQ,EACRC,QAAQ,EACRC,QAAQ,EACRR,SAASS,gBAAgB,EACzBN,KAAK,EACN;IACC,MAAM,EAAEO,IAAI,EAAE,GAAGb;IACjB,MAAM,CAACG,SAASW,WAAW,GAAGf,MAAMgB,QAAQ,CAACb,cAAcU;IAE3D,MAAMI,UAAU;QAAC;QAAM;KAAS,CAACC,QAAQ,CAACN;IAC1C,IAAIO;IAEJ,IAAIF,WAAWG,MAAMC,OAAO,CAACd,QAAQ;QACnCY,gBAAgBZ,MAAMF,GAAG,CAAC,CAACiB;YACzB,MAAMC,iBAAiBnB,QAAQoB,IAAI,CAAC,CAAClB,SAAWA,OAAOC,KAAK,KAAKe;YACjE,OAAO;gBACLd,OAAOe,iBAAiBxB,eAAewB,eAAef,KAAK,EAAEM,QAAQQ;gBACrEf,OAAOgB,gBAAgBhB,SAASe;YAClC;QACF;IACF,OAAO,IAAIf,OAAO;QAChB,MAAMgB,iBAAiBnB,QAAQoB,IAAI,CAAC,CAAClB,SAAWA,OAAOC,KAAK,KAAKA;QACjEY,gBAAgB;YACdX,OAAOe,iBAAiBxB,eAAewB,eAAef,KAAK,EAAEM,QAAQP;YACrEA,OAAOgB,gBAAgBhB,SAASA;QAClC;IACF;IAEA,MAAMkB,WAAWzB,MAAM0B,WAAW,CAChC,CAACC;QACC,IAAIC;QACJ,IAAI,CAACD,gBAAgB;YACnBC,WAAW;QACb,OAAO,IAAIX,SAAS;YAClB,IAAIG,MAAMC,OAAO,CAACM,iBAAiB;gBACjCC,WAAWD,eAAetB,GAAG,CAAC,CAACC,SAAWA,OAAOC,KAAK;YACxD,OAAO;gBACLqB,WAAW,EAAE;YACf;QACF,OAAO;YACLA,WAAWD,eAAepB,KAAK;QACjC;QAEAI,SAASiB;IACX,GACA;QAACX;QAASN;KAAS;IAGrBX,MAAM6B,SAAS,CAAC;QACdd,WAAWZ,cAAcU;IAC3B,GAAG;QAACA;KAAiB;IAErBb,MAAM6B,SAAS,CAAC;QACd,IAAI,CAACZ,WAAWG,MAAMC,OAAO,CAACd,QAAQ;YACpCI,SAASJ,KAAK,CAAC,EAAE;QACnB;IACF,GAAG;QAACU;QAASN;QAAUJ;KAAM;IAE7B,qBACE,KAACL;QACCQ,UAAUA;QACVO,SAASA;QACTN,UAAUc;QACVrB,SAASA,QAAQC,GAAG,CAAC,CAACC,SAAY,CAAA;gBAAE,GAAGA,MAAM;gBAAEE,OAAOT,eAAeO,OAAOE,KAAK,EAAEM;YAAM,CAAA;QACzFP,OAAOY;;AAGb,EAAC"}
@@ -1,4 +1,4 @@
1
- import type { Operator, Option } from 'payload/types';
1
+ import type { Operator, Option } from 'payload';
2
2
  export type Props = {
3
3
  disabled?: boolean;
4
4
  onChange: (val: string) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,eAAe,CAAA;AAErD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../../src/elements/WhereBuilder/Condition/Select/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,SAAS,CAAA;AAE/C,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IAC/B,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,EAAE,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;CACd,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/types.ts"],"sourcesContent":["import type { Operator, Option } from 'payload/types'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: string) => void\n operator: Operator\n options: Option[]\n value: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAEA,WAMC"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Select/types.ts"],"sourcesContent":["import type { Operator, Option } from 'payload'\n\nexport type Props = {\n disabled?: boolean\n onChange: (val: string) => void\n operator: Operator\n options: Option[]\n value: string\n}\n"],"names":[],"rangeMappings":"","mappings":"AAEA,WAMC"}
@@ -2,6 +2,7 @@
2
2
  import { jsx as _jsx } from "react/jsx-runtime";
3
3
  import React from 'react';
4
4
  import { useTranslation } from '../../../../providers/Translation/index.js';
5
+ import './index.scss';
5
6
  const baseClass = 'condition-value-text';
6
7
  const Text = ({ disabled, onChange, value })=>{
7
8
  const { t } = useTranslation();
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-text'\n\nconst Text: React.FC<Props> = ({ disabled, onChange, value }) => {\n const { t } = useTranslation()\n return (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"text\"\n value={value || ''}\n />\n )\n}\n\nexport default Text\n"],"names":["React","useTranslation","baseClass","Text","disabled","onChange","value","t","input","className","e","target","placeholder","type"],"rangeMappings":";;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAG3E,MAAMC,YAAY;AAElB,MAAMC,OAAwB,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IAC1D,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,qBACE,KAACO;QACCC,WAAWP;QACXE,UAAUA;QACVC,UAAU,CAACK,IAAML,SAASK,EAAEC,MAAM,CAACL,KAAK;QACxCM,aAAaL,EAAE;QACfM,MAAK;QACLP,OAAOA,SAAS;;AAGtB;AAEA,eAAeH,KAAI"}
1
+ {"version":3,"sources":["../../../../../src/elements/WhereBuilder/Condition/Text/index.tsx"],"sourcesContent":["'use client'\nimport React from 'react'\n\nimport type { Props } from './types.js'\n\nimport { useTranslation } from '../../../../providers/Translation/index.js'\nimport './index.scss'\n\nconst baseClass = 'condition-value-text'\n\nconst Text: React.FC<Props> = ({ disabled, onChange, value }) => {\n const { t } = useTranslation()\n return (\n <input\n className={baseClass}\n disabled={disabled}\n onChange={(e) => onChange(e.target.value)}\n placeholder={t('general:enterAValue')}\n type=\"text\"\n value={value || ''}\n />\n )\n}\n\nexport default Text\n"],"names":["React","useTranslation","baseClass","Text","disabled","onChange","value","t","input","className","e","target","placeholder","type"],"rangeMappings":";;;;;;;;;;;;;;;;;","mappings":"AAAA;;AACA,OAAOA,WAAW,QAAO;AAIzB,SAASC,cAAc,QAAQ,6CAA4C;AAC3E,OAAO,eAAc;AAErB,MAAMC,YAAY;AAElB,MAAMC,OAAwB,CAAC,EAAEC,QAAQ,EAAEC,QAAQ,EAAEC,KAAK,EAAE;IAC1D,MAAM,EAAEC,CAAC,EAAE,GAAGN;IACd,qBACE,KAACO;QACCC,WAAWP;QACXE,UAAUA;QACVC,UAAU,CAACK,IAAML,SAASK,EAAEC,MAAM,CAACL,KAAK;QACxCM,aAAaL,EAAE;QACfM,MAAK;QACLP,OAAOA,SAAS;;AAGtB;AAEA,eAAeH,KAAI"}
@@ -11,7 +11,7 @@ export type Props = {
11
11
  fieldName: string;
12
12
  fields: FieldCondition[];
13
13
  initialValue: string;
14
- operator: string;
14
+ operator: Operator;
15
15
  orIndex: number;
16
16
  removeCondition: ({ andIndex, orIndex }: {
17
17
  andIndex: number;
@@ -25,6 +25,7 @@ export type Props = {
25
25
  value: string;
26
26
  }) => void;
27
27
  };
28
+ import type { Operator } from 'payload';
28
29
  import './index.scss';
29
30
  export declare const Condition: React.FC<Props>;
30
31
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,EAAE,CAAC,EACb,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACvF,eAAe,EAAE,CAAC,EAChB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;CACX,CAAA;AAWD,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgJrC,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"names":[],"mappings":"AACA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAElD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEjD,MAAM,MAAM,KAAK,GAAG;IAClB,YAAY,EAAE,CAAC,EACb,QAAQ,EACR,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,OAAO,EAAE,MAAM,CAAA;QACf,QAAQ,EAAE,KAAK,GAAG,IAAI,CAAA;KACvB,KAAK,IAAI,CAAA;IACV,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,EAAE,MAAM,CAAA;IACjB,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,YAAY,EAAE,MAAM,CAAA;IACpB,QAAQ,EAAE,QAAQ,CAAA;IAClB,OAAO,EAAE,MAAM,CAAA;IACf,eAAe,EAAE,CAAC,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAA;IACvF,eAAe,EAAE,CAAC,EAChB,QAAQ,EACR,SAAS,EACT,QAAQ,EACR,OAAO,EACP,KAAK,GACN,EAAE;QACD,QAAQ,EAAE,MAAM,CAAA;QAChB,SAAS,EAAE,MAAM,CAAA;QACjB,QAAQ,EAAE,MAAM,CAAA;QAChB,OAAO,EAAE,MAAM,CAAA;QACf,KAAK,EAAE,MAAM,CAAA;KACd,KAAK,IAAI,CAAA;CACX,CAAA;AAED,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,SAAS,CAAA;AAavC,OAAO,cAAc,CAAA;AAarB,eAAO,MAAM,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAgJrC,CAAA"}
@@ -10,6 +10,7 @@ import { NumberField } from './Number/index.js';
10
10
  import { RelationshipField } from './Relationship/index.js';
11
11
  import { Select } from './Select/index.js';
12
12
  import Text from './Text/index.js';
13
+ import './index.scss';
13
14
  const valueFields = {
14
15
  Date: DateField,
15
16
  Number: NumberField,
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useState } from 'react'\n\nimport type { FieldCondition } from '../types.js'\n\nexport type Props = {\n addCondition: ({\n andIndex,\n fieldName,\n orIndex,\n relation,\n }: {\n andIndex: number\n fieldName: string\n orIndex: number\n relation: 'and' | 'or'\n }) => void\n andIndex: number\n fieldName: string\n fields: FieldCondition[]\n initialValue: string\n operator: string\n orIndex: number\n removeCondition: ({ andIndex, orIndex }: { andIndex: number; orIndex: number }) => void\n updateCondition: ({\n andIndex,\n fieldName,\n operator,\n orIndex,\n value,\n }: {\n andIndex: number\n fieldName: string\n operator: string\n orIndex: number\n value: string\n }) => void\n}\n\nimport { RenderCustomClientComponent } from '../../../elements/RenderCustomClientComponent/index.js'\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DateField } from './Date/index.js'\nimport { NumberField } from './Number/index.js'\nimport { RelationshipField } from './Relationship/index.js'\nimport { Select } from './Select/index.js'\nimport Text from './Text/index.js'\nimport './index.scss'\n\ntype ComponentType = 'Date' | 'Number' | 'Relationship' | 'Select' | 'Text'\nconst valueFields: Record<ComponentType, React.FC> = {\n Date: DateField,\n Number: NumberField,\n Relationship: RelationshipField,\n Select,\n Text,\n}\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n addCondition,\n andIndex,\n fieldName,\n fields,\n initialValue,\n operator,\n orIndex,\n removeCondition,\n updateCondition,\n } = props\n const [internalField, setInternalField] = useState<FieldCondition>(() =>\n fields.find((field) => fieldName === field.value),\n )\n const [internalOperatorOption, setInternalOperatorOption] = useState(operator)\n const [internalQueryValue, setInternalQueryValue] = useState<string>(initialValue)\n\n const debouncedValue = useDebounce(internalQueryValue, 300)\n\n useEffect(() => {\n // This is to trigger changes when the debounced value changes\n if (\n (internalField?.value || typeof internalField?.value === 'number') &&\n internalOperatorOption &&\n ![null, undefined].includes(debouncedValue)\n ) {\n updateCondition({\n andIndex,\n fieldName: internalField.value,\n operator: internalOperatorOption,\n orIndex,\n value: debouncedValue,\n })\n }\n }, [\n debouncedValue,\n andIndex,\n internalField?.value,\n internalOperatorOption,\n orIndex,\n updateCondition,\n operator,\n ])\n\n const booleanSelect =\n ['exists'].includes(internalOperatorOption) || internalField?.props?.type === 'checkbox'\n const ValueComponent = booleanSelect\n ? Select\n : valueFields[internalField?.component] || valueFields.Text\n\n let valueOptions\n if (booleanSelect) {\n valueOptions = ['true', 'false']\n } else if (internalField?.props && 'options' in internalField.props) {\n valueOptions = internalField.props.options\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n isClearable={false}\n onChange={(field) => {\n setInternalField(fields.find((f) => f.value === field.value))\n setInternalOperatorOption(undefined)\n setInternalQueryValue(undefined)\n }}\n options={fields}\n value={fields.find((field) => internalField?.value === field.value) || fields[0]}\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={!internalField?.value && typeof internalField?.value !== 'number'}\n isClearable={false}\n onChange={(operator) => {\n setInternalOperatorOption(operator.value)\n }}\n options={internalField?.operators}\n value={\n internalField?.operators.find(\n (operator) => internalOperatorOption === operator.value,\n ) || null\n }\n />\n </div>\n <div className={`${baseClass}__value`}>\n <RenderCustomClientComponent\n CustomComponent={internalField?.props?.admin?.components?.Filter}\n DefaultComponent={ValueComponent}\n componentProps={{\n ...internalField?.props,\n disabled: !internalOperatorOption,\n onChange: setInternalQueryValue,\n operator: internalOperatorOption,\n options: valueOptions,\n relationTo:\n internalField?.props?.type === 'relationship' &&\n 'cellProps' in internalField.props &&\n typeof internalField.props.cellProps === 'object' &&\n 'relationTo' in internalField.props.cellProps\n ? internalField.props.cellProps?.relationTo\n : undefined,\n value: internalQueryValue ?? '',\n }}\n />\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n round\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-add`}\n icon=\"plus\"\n iconStyle=\"with-border\"\n onClick={() =>\n addCondition({\n andIndex: andIndex + 1,\n fieldName: fields[0].value,\n orIndex,\n relation: 'and',\n })\n }\n round\n />\n </div>\n </div>\n </div>\n )\n}\n"],"names":["React","useEffect","useState","RenderCustomClientComponent","useDebounce","Button","ReactSelect","DateField","NumberField","RelationshipField","Select","Text","valueFields","Date","Number","Relationship","baseClass","Condition","props","addCondition","andIndex","fieldName","fields","initialValue","operator","orIndex","removeCondition","updateCondition","internalField","setInternalField","find","field","value","internalOperatorOption","setInternalOperatorOption","internalQueryValue","setInternalQueryValue","debouncedValue","undefined","includes","booleanSelect","type","ValueComponent","component","valueOptions","options","div","className","isClearable","onChange","f","disabled","operators","CustomComponent","admin","components","Filter","DefaultComponent","componentProps","relationTo","cellProps","buttonStyle","icon","iconStyle","onClick","round","relation"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../../src/elements/WhereBuilder/Condition/index.tsx"],"sourcesContent":["'use client'\nimport React, { useEffect, useState } from 'react'\n\nimport type { FieldCondition } from '../types.js'\n\nexport type Props = {\n addCondition: ({\n andIndex,\n fieldName,\n orIndex,\n relation,\n }: {\n andIndex: number\n fieldName: string\n orIndex: number\n relation: 'and' | 'or'\n }) => void\n andIndex: number\n fieldName: string\n fields: FieldCondition[]\n initialValue: string\n operator: Operator\n orIndex: number\n removeCondition: ({ andIndex, orIndex }: { andIndex: number; orIndex: number }) => void\n updateCondition: ({\n andIndex,\n fieldName,\n operator,\n orIndex,\n value,\n }: {\n andIndex: number\n fieldName: string\n operator: string\n orIndex: number\n value: string\n }) => void\n}\n\nimport type { Operator } from 'payload'\n\nimport type { Option } from '../../ReactSelect/index.js'\n\nimport { RenderCustomClientComponent } from '../../../elements/RenderCustomClientComponent/index.js'\nimport { useDebounce } from '../../../hooks/useDebounce.js'\nimport { Button } from '../../Button/index.js'\nimport { ReactSelect } from '../../ReactSelect/index.js'\nimport { DateField } from './Date/index.js'\nimport { NumberField } from './Number/index.js'\nimport { RelationshipField } from './Relationship/index.js'\nimport { Select } from './Select/index.js'\nimport Text from './Text/index.js'\nimport './index.scss'\n\ntype ComponentType = 'Date' | 'Number' | 'Relationship' | 'Select' | 'Text'\nconst valueFields: Record<ComponentType, React.FC> = {\n Date: DateField,\n Number: NumberField,\n Relationship: RelationshipField,\n Select,\n Text,\n}\n\nconst baseClass = 'condition'\n\nexport const Condition: React.FC<Props> = (props) => {\n const {\n addCondition,\n andIndex,\n fieldName,\n fields,\n initialValue,\n operator,\n orIndex,\n removeCondition,\n updateCondition,\n } = props\n const [internalField, setInternalField] = useState<FieldCondition>(() =>\n fields.find((field) => fieldName === field.value),\n )\n const [internalOperatorOption, setInternalOperatorOption] = useState<Operator>(operator)\n const [internalQueryValue, setInternalQueryValue] = useState<string>(initialValue)\n\n const debouncedValue = useDebounce(internalQueryValue, 300)\n\n useEffect(() => {\n // This is to trigger changes when the debounced value changes\n if (\n (internalField?.value || typeof internalField?.value === 'number') &&\n internalOperatorOption &&\n ![null, undefined].includes(debouncedValue)\n ) {\n updateCondition({\n andIndex,\n fieldName: internalField.value,\n operator: internalOperatorOption,\n orIndex,\n value: debouncedValue,\n })\n }\n }, [\n debouncedValue,\n andIndex,\n internalField?.value,\n internalOperatorOption,\n orIndex,\n updateCondition,\n operator,\n ])\n\n const booleanSelect =\n ['exists'].includes(internalOperatorOption) || internalField?.props?.type === 'checkbox'\n const ValueComponent = booleanSelect\n ? Select\n : valueFields[internalField?.component] || valueFields.Text\n\n let valueOptions\n if (booleanSelect) {\n valueOptions = ['true', 'false']\n } else if (internalField?.props && 'options' in internalField.props) {\n valueOptions = internalField.props.options\n }\n\n return (\n <div className={baseClass}>\n <div className={`${baseClass}__wrap`}>\n <div className={`${baseClass}__inputs`}>\n <div className={`${baseClass}__field`}>\n <ReactSelect\n isClearable={false}\n onChange={(field: Option) => {\n setInternalField(fields.find((f) => f.value === field.value))\n setInternalOperatorOption(undefined)\n setInternalQueryValue(undefined)\n }}\n options={fields}\n value={fields.find((field) => internalField?.value === field.value) || fields[0]}\n />\n </div>\n <div className={`${baseClass}__operator`}>\n <ReactSelect\n disabled={!internalField?.value && typeof internalField?.value !== 'number'}\n isClearable={false}\n onChange={(operator: Option<Operator>) => {\n setInternalOperatorOption(operator.value)\n }}\n options={internalField?.operators}\n value={\n internalField?.operators.find(\n (operator) => internalOperatorOption === operator.value,\n ) || null\n }\n />\n </div>\n <div className={`${baseClass}__value`}>\n <RenderCustomClientComponent\n CustomComponent={internalField?.props?.admin?.components?.Filter}\n DefaultComponent={ValueComponent}\n componentProps={{\n ...internalField?.props,\n disabled: !internalOperatorOption,\n onChange: setInternalQueryValue,\n operator: internalOperatorOption,\n options: valueOptions,\n relationTo:\n internalField?.props?.type === 'relationship' &&\n 'cellProps' in internalField.props &&\n typeof internalField.props.cellProps === 'object' &&\n 'relationTo' in internalField.props.cellProps\n ? internalField.props.cellProps?.relationTo\n : undefined,\n value: internalQueryValue ?? '',\n }}\n />\n </div>\n </div>\n <div className={`${baseClass}__actions`}>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-remove`}\n icon=\"x\"\n iconStyle=\"with-border\"\n onClick={() =>\n removeCondition({\n andIndex,\n orIndex,\n })\n }\n round\n />\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__actions-add`}\n icon=\"plus\"\n iconStyle=\"with-border\"\n onClick={() =>\n addCondition({\n andIndex: andIndex + 1,\n fieldName: fields[0].value,\n orIndex,\n relation: 'and',\n })\n }\n round\n />\n </div>\n </div>\n </div>\n )\n}\n"],"names":["React","useEffect","useState","RenderCustomClientComponent","useDebounce","Button","ReactSelect","DateField","NumberField","RelationshipField","Select","Text","valueFields","Date","Number","Relationship","baseClass","Condition","props","addCondition","andIndex","fieldName","fields","initialValue","operator","orIndex","removeCondition","updateCondition","internalField","setInternalField","find","field","value","internalOperatorOption","setInternalOperatorOption","internalQueryValue","setInternalQueryValue","debouncedValue","undefined","includes","booleanSelect","type","ValueComponent","component","valueOptions","options","div","className","isClearable","onChange","f","disabled","operators","CustomComponent","admin","components","Filter","DefaultComponent","componentProps","relationTo","cellProps","buttonStyle","icon","iconStyle","onClick","round","relation"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { Where } from 'payload/types';
1
+ import type { Where } from 'payload';
2
2
  import type { Action, FieldCondition } from '../types.js';
3
3
  export type Props = {
4
4
  andIndex: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,eAAe,CAAA;AAE1C,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../../src/elements/WhereBuilder/Condition/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEpC,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAEzD,MAAM,MAAM,KAAK,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAA;IAChB,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAA;IAClC,MAAM,EAAE,cAAc,EAAE,CAAA;IACxB,OAAO,EAAE,MAAM,CAAA;IACf,KAAK,EAAE,KAAK,CAAA;CACb,CAAA"}