@payloadcms/ui 3.0.0-canary.8b49db7 → 3.0.0-canary.926cbeb

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 (442) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js.map +1 -1
  3. package/dist/elements/AppHeader/index.js.map +1 -1
  4. package/dist/elements/ArrayAction/index.js.map +1 -1
  5. package/dist/elements/Autosave/index.js.map +1 -1
  6. package/dist/elements/Banner/index.js.map +1 -1
  7. package/dist/elements/Button/index.js.map +1 -1
  8. package/dist/elements/Button/types.js.map +1 -1
  9. package/dist/elements/Card/index.js.map +1 -1
  10. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  11. package/dist/elements/CodeEditor/index.js.map +1 -1
  12. package/dist/elements/CodeEditor/types.js.map +1 -1
  13. package/dist/elements/Collapsible/index.js.map +1 -1
  14. package/dist/elements/Collapsible/provider.js.map +1 -1
  15. package/dist/elements/ColumnSelector/index.js.map +1 -1
  16. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  17. package/dist/elements/DatePicker/DatePicker.d.ts +2 -2
  18. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  19. package/dist/elements/DatePicker/DatePicker.js +2 -2
  20. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  21. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  22. package/dist/elements/DatePicker/index.js.map +1 -1
  23. package/dist/elements/DatePicker/types.js.map +1 -1
  24. package/dist/elements/DeleteDocument/index.js.map +1 -1
  25. package/dist/elements/DeleteDocument/index.scss +1 -0
  26. package/dist/elements/DeleteMany/index.js.map +1 -1
  27. package/dist/elements/DeleteMany/index.scss +1 -0
  28. package/dist/elements/DocumentControls/index.js.map +1 -1
  29. package/dist/elements/DocumentDrawer/DrawerContent.js +2 -2
  30. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  31. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  32. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  33. package/dist/elements/DocumentFields/index.js.map +1 -1
  34. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  35. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  36. package/dist/elements/DraggableSortable/index.js.map +1 -1
  37. package/dist/elements/DraggableSortable/types.js.map +1 -1
  38. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  39. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  40. package/dist/elements/Drawer/index.js.map +1 -1
  41. package/dist/elements/Drawer/types.js.map +1 -1
  42. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  43. package/dist/elements/Dropzone/index.js.map +1 -1
  44. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  45. package/dist/elements/EditMany/index.js.map +1 -1
  46. package/dist/elements/EditUpload/index.js.map +1 -1
  47. package/dist/elements/ErrorPill/index.js.map +1 -1
  48. package/dist/elements/FieldSelect/index.d.ts +7 -2
  49. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  50. package/dist/elements/FieldSelect/index.js +1 -1
  51. package/dist/elements/FieldSelect/index.js.map +1 -1
  52. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  53. package/dist/elements/FileDetails/index.d.ts +2 -1
  54. package/dist/elements/FileDetails/index.d.ts.map +1 -1
  55. package/dist/elements/FileDetails/index.js +6 -5
  56. package/dist/elements/FileDetails/index.js.map +1 -1
  57. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  58. package/dist/elements/Gutter/index.js.map +1 -1
  59. package/dist/elements/Hamburger/index.js.map +1 -1
  60. package/dist/elements/HydrateClientUser/index.d.ts +2 -2
  61. package/dist/elements/HydrateClientUser/index.d.ts.map +1 -1
  62. package/dist/elements/HydrateClientUser/index.js.map +1 -1
  63. package/dist/elements/IDLabel/index.js.map +1 -1
  64. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  65. package/dist/elements/ListControls/index.d.ts.map +1 -1
  66. package/dist/elements/ListControls/index.js +2 -1
  67. package/dist/elements/ListControls/index.js.map +1 -1
  68. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  69. package/dist/elements/ListDrawer/index.js.map +1 -1
  70. package/dist/elements/ListDrawer/types.js.map +1 -1
  71. package/dist/elements/ListSelection/index.js.map +1 -1
  72. package/dist/elements/Loading/index.js.map +1 -1
  73. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  74. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  75. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  76. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  77. package/dist/elements/Localizer/index.js.map +1 -1
  78. package/dist/elements/Logout/index.js.map +1 -1
  79. package/dist/elements/Modal/index.js.map +1 -1
  80. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  81. package/dist/elements/Nav/context.js.map +1 -1
  82. package/dist/elements/NavGroup/index.js.map +1 -1
  83. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  84. package/dist/elements/Pagination/Page/index.js.map +1 -1
  85. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  86. package/dist/elements/Pagination/index.js.map +1 -1
  87. package/dist/elements/PerPage/index.js.map +1 -1
  88. package/dist/elements/Pill/index.js.map +1 -1
  89. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  90. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  91. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  92. package/dist/elements/Popup/index.js.map +1 -1
  93. package/dist/elements/PreviewButton/index.js.map +1 -1
  94. package/dist/elements/PreviewButton/usePreviewURL.js.map +1 -1
  95. package/dist/elements/PreviewSizes/index.js.map +1 -1
  96. package/dist/elements/PublishButton/index.js.map +1 -1
  97. package/dist/elements/PublishMany/index.js.map +1 -1
  98. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  99. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  100. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  101. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  102. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  103. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  104. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  105. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  106. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  107. package/dist/elements/ReactSelect/index.js.map +1 -1
  108. package/dist/elements/ReactSelect/types.js.map +1 -1
  109. package/dist/elements/RenderCustomClientComponent/index.js.map +1 -1
  110. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  111. package/dist/elements/RenderTitle/index.js.map +1 -1
  112. package/dist/elements/SaveButton/index.js.map +1 -1
  113. package/dist/elements/SaveDraftButton/index.d.ts +1 -0
  114. package/dist/elements/SaveDraftButton/index.d.ts.map +1 -1
  115. package/dist/elements/SaveDraftButton/index.js +1 -1
  116. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  117. package/dist/elements/SearchFilter/index.js.map +1 -1
  118. package/dist/elements/SelectAll/index.js.map +1 -1
  119. package/dist/elements/SelectRow/index.js.map +1 -1
  120. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  121. package/dist/elements/SortColumn/index.js.map +1 -1
  122. package/dist/elements/SortComplex/index.js +2 -2
  123. package/dist/elements/SortComplex/index.js.map +1 -1
  124. package/dist/elements/Status/index.js.map +1 -1
  125. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  126. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  127. package/dist/elements/StepNav/context.js.map +1 -1
  128. package/dist/elements/StepNav/index.js.map +1 -1
  129. package/dist/elements/StepNav/types.js.map +1 -1
  130. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  131. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  132. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  133. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  134. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  135. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  136. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  137. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  138. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  139. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  140. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  141. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  142. package/dist/elements/Table/RelationshipProvider/index.d.ts.map +1 -1
  143. package/dist/elements/Table/RelationshipProvider/index.js +11 -10
  144. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  145. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  146. package/dist/elements/Table/TableCellProvider/index.js.map +1 -1
  147. package/dist/elements/Table/index.js.map +1 -1
  148. package/dist/elements/TableColumns/buildColumnState.js.map +1 -1
  149. package/dist/elements/TableColumns/filterFields.js.map +1 -1
  150. package/dist/elements/TableColumns/getInitialColumns.js.map +1 -1
  151. package/dist/elements/TableColumns/index.js.map +1 -1
  152. package/dist/elements/Thumbnail/index.js.map +1 -1
  153. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  154. package/dist/elements/Tooltip/index.js.map +1 -1
  155. package/dist/elements/Translation/index.js.map +1 -1
  156. package/dist/elements/UnpublishMany/index.js.map +1 -1
  157. package/dist/elements/Upload/index.d.ts +9 -5
  158. package/dist/elements/Upload/index.d.ts.map +1 -1
  159. package/dist/elements/Upload/index.js +54 -41
  160. package/dist/elements/Upload/index.js.map +1 -1
  161. package/dist/elements/Upload/index.scss +1 -1
  162. package/dist/elements/ViewDescription/index.js.map +1 -1
  163. package/dist/elements/ViewDescription/types.js.map +1 -1
  164. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  165. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  166. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  167. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  168. package/dist/elements/WhereBuilder/Condition/Relationship/index.d.ts.map +1 -1
  169. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +8 -8
  170. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  171. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  172. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  173. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  174. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  175. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  176. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  177. package/dist/elements/WhereBuilder/Condition/index.js +1 -1
  178. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  179. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  180. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  181. package/dist/elements/WhereBuilder/index.d.ts.map +1 -1
  182. package/dist/elements/WhereBuilder/index.js +8 -7
  183. package/dist/elements/WhereBuilder/index.js.map +1 -1
  184. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts +2 -2
  185. package/dist/elements/WhereBuilder/reduceFieldMap.d.ts.map +1 -1
  186. package/dist/elements/WhereBuilder/reduceFieldMap.js +34 -16
  187. package/dist/elements/WhereBuilder/reduceFieldMap.js.map +1 -1
  188. package/dist/elements/WhereBuilder/transformWhereQuery.js.map +1 -1
  189. package/dist/elements/WhereBuilder/types.d.ts +2 -0
  190. package/dist/elements/WhereBuilder/types.d.ts.map +1 -1
  191. package/dist/elements/WhereBuilder/types.js.map +1 -1
  192. package/dist/elements/WhereBuilder/validateWhereQuery.js.map +1 -1
  193. package/dist/elements/WindowInfo/index.js.map +1 -1
  194. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  195. package/dist/elements/withMergedProps/index.js.map +1 -1
  196. package/dist/exports/client/DatePicker-BN5AOAME.js +14 -0
  197. package/dist/exports/client/DatePicker-BN5AOAME.js.map +8 -0
  198. package/dist/exports/client/chunk-3X2D2TP2.js +30 -0
  199. package/dist/exports/client/chunk-3X2D2TP2.js.map +8 -0
  200. package/dist/exports/client/index.d.ts +6 -3
  201. package/dist/exports/client/index.d.ts.map +1 -1
  202. package/dist/exports/client/index.js +6 -6
  203. package/dist/exports/client/index.js.map +4 -4
  204. package/dist/fields/Array/ArrayRow.js.map +1 -1
  205. package/dist/fields/Array/index.js.map +1 -1
  206. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  207. package/dist/fields/Blocks/BlocksDrawer/BlockSearch/index.js.map +1 -1
  208. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  209. package/dist/fields/Blocks/RowActions.js.map +1 -1
  210. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  211. package/dist/fields/Blocks/index.js.map +1 -1
  212. package/dist/fields/Checkbox/Input.js.map +1 -1
  213. package/dist/fields/Checkbox/index.js.map +1 -1
  214. package/dist/fields/Checkbox/types.js.map +1 -1
  215. package/dist/fields/Code/index.js.map +1 -1
  216. package/dist/fields/Collapsible/index.js.map +1 -1
  217. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  218. package/dist/fields/DateTime/index.js.map +1 -1
  219. package/dist/fields/Email/index.js.map +1 -1
  220. package/dist/fields/FieldDescription/index.js.map +1 -1
  221. package/dist/fields/FieldError/index.js.map +1 -1
  222. package/dist/fields/FieldLabel/index.js.map +1 -1
  223. package/dist/fields/Group/index.js.map +1 -1
  224. package/dist/fields/Group/provider.js.map +1 -1
  225. package/dist/fields/Hidden/index.js.map +1 -1
  226. package/dist/fields/JSON/index.js.map +1 -1
  227. package/dist/fields/Number/index.js.map +1 -1
  228. package/dist/fields/Password/index.js.map +1 -1
  229. package/dist/fields/Point/index.js.map +1 -1
  230. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  231. package/dist/fields/RadioGroup/index.js.map +1 -1
  232. package/dist/fields/Relationship/AddNew/index.js.map +1 -1
  233. package/dist/fields/Relationship/AddNew/types.js.map +1 -1
  234. package/dist/fields/Relationship/AddNew/useRelatedCollections.js.map +1 -1
  235. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  236. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  237. package/dist/fields/Relationship/index.js.map +1 -1
  238. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  239. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  240. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  241. package/dist/fields/Relationship/types.js.map +1 -1
  242. package/dist/fields/RichText/index.js.map +1 -1
  243. package/dist/fields/Row/index.js.map +1 -1
  244. package/dist/fields/Row/provider.js.map +1 -1
  245. package/dist/fields/Row/types.js.map +1 -1
  246. package/dist/fields/Select/Input.js.map +1 -1
  247. package/dist/fields/Select/index.js.map +1 -1
  248. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  249. package/dist/fields/Tabs/index.js.map +1 -1
  250. package/dist/fields/Tabs/provider.js.map +1 -1
  251. package/dist/fields/Text/Input.js.map +1 -1
  252. package/dist/fields/Text/index.js.map +1 -1
  253. package/dist/fields/Text/types.js.map +1 -1
  254. package/dist/fields/Textarea/Input.js.map +1 -1
  255. package/dist/fields/Textarea/index.js.map +1 -1
  256. package/dist/fields/Textarea/types.js.map +1 -1
  257. package/dist/fields/UI/index.js.map +1 -1
  258. package/dist/fields/Upload/Input.d.ts +1 -0
  259. package/dist/fields/Upload/Input.d.ts.map +1 -1
  260. package/dist/fields/Upload/Input.js +2 -1
  261. package/dist/fields/Upload/Input.js.map +1 -1
  262. package/dist/fields/Upload/index.js.map +1 -1
  263. package/dist/fields/Upload/types.js.map +1 -1
  264. package/dist/fields/index.js.map +1 -1
  265. package/dist/fields/shared/index.js.map +1 -1
  266. package/dist/forms/FieldPropsProvider/index.js.map +1 -1
  267. package/dist/forms/Form/context.js.map +1 -1
  268. package/dist/forms/Form/createNestedFieldPath.js.map +1 -1
  269. package/dist/forms/Form/errorMessages.js.map +1 -1
  270. package/dist/forms/Form/fieldReducer.js +2 -2
  271. package/dist/forms/Form/fieldReducer.js.map +1 -1
  272. package/dist/forms/Form/getDataByPath.js.map +1 -1
  273. package/dist/forms/Form/getSiblingData.js.map +1 -1
  274. package/dist/forms/Form/index.js +7 -7
  275. package/dist/forms/Form/index.js.map +1 -1
  276. package/dist/forms/Form/initContextState.js.map +1 -1
  277. package/dist/forms/Form/mergeErrorPaths.js.map +1 -1
  278. package/dist/forms/Form/mergeServerFormState.js +2 -2
  279. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  280. package/dist/forms/Form/rows.js.map +1 -1
  281. package/dist/forms/Form/types.js.map +1 -1
  282. package/dist/forms/NullifyField/index.js.map +1 -1
  283. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  284. package/dist/forms/RenderFields/index.js.map +1 -1
  285. package/dist/forms/RenderFields/types.js.map +1 -1
  286. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  287. package/dist/forms/RowLabel/index.js.map +1 -1
  288. package/dist/forms/RowLabel/types.js.map +1 -1
  289. package/dist/forms/Submit/index.js.map +1 -1
  290. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  291. package/dist/forms/WatchChildErrors/getFieldStateFromPaths.js.map +1 -1
  292. package/dist/forms/WatchChildErrors/getNestedFieldState.js.map +1 -1
  293. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  294. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts +2 -2
  295. package/dist/forms/buildStateFromSchema/addFieldStatePromise.d.ts.map +1 -1
  296. package/dist/forms/buildStateFromSchema/addFieldStatePromise.js.map +1 -1
  297. package/dist/forms/buildStateFromSchema/buildStateFromSchema.spec.js.map +1 -1
  298. package/dist/forms/buildStateFromSchema/calculateDefaultValues/index.js.map +1 -1
  299. package/dist/forms/buildStateFromSchema/calculateDefaultValues/iterateFields.js.map +1 -1
  300. package/dist/forms/buildStateFromSchema/calculateDefaultValues/promise.js.map +1 -1
  301. package/dist/forms/buildStateFromSchema/getFilterOptionsQuery.js.map +1 -1
  302. package/dist/forms/buildStateFromSchema/index.d.ts +4 -3
  303. package/dist/forms/buildStateFromSchema/index.d.ts.map +1 -1
  304. package/dist/forms/buildStateFromSchema/index.js +1 -0
  305. package/dist/forms/buildStateFromSchema/index.js.map +1 -1
  306. package/dist/forms/buildStateFromSchema/iterateFields.d.ts +2 -2
  307. package/dist/forms/buildStateFromSchema/iterateFields.d.ts.map +1 -1
  308. package/dist/forms/buildStateFromSchema/iterateFields.js.map +1 -1
  309. package/dist/forms/useField/index.js.map +1 -1
  310. package/dist/forms/useField/types.js.map +1 -1
  311. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  312. package/dist/forms/withCondition/index.js.map +1 -1
  313. package/dist/graphics/Account/Default/index.js.map +1 -1
  314. package/dist/graphics/Account/Gravatar/index.d.ts.map +1 -1
  315. package/dist/graphics/Account/Gravatar/index.js +4 -4
  316. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  317. package/dist/graphics/Account/index.js.map +1 -1
  318. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  319. package/dist/graphics/ExternalLink/index.js.map +1 -1
  320. package/dist/graphics/File/index.js.map +1 -1
  321. package/dist/graphics/Icon/index.js.map +1 -1
  322. package/dist/graphics/Logo/index.js.map +1 -1
  323. package/dist/hooks/useDebounce.js.map +1 -1
  324. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  325. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  326. package/dist/hooks/useDelay.js.map +1 -1
  327. package/dist/hooks/useDelayedRender.js.map +1 -1
  328. package/dist/hooks/useHotkey.js.map +1 -1
  329. package/dist/hooks/useIntersect.js.map +1 -1
  330. package/dist/hooks/usePayloadAPI.js +2 -2
  331. package/dist/hooks/usePayloadAPI.js.map +1 -1
  332. package/dist/hooks/useResize.js.map +1 -1
  333. package/dist/hooks/useThrottledEffect.js.map +1 -1
  334. package/dist/hooks/useUseAsTitle.js.map +1 -1
  335. package/dist/icons/Calendar/index.js.map +1 -1
  336. package/dist/icons/Check/index.js.map +1 -1
  337. package/dist/icons/Chevron/index.js.map +1 -1
  338. package/dist/icons/CloseMenu/index.js.map +1 -1
  339. package/dist/icons/CodeBlock/index.js.map +1 -1
  340. package/dist/icons/Copy/index.js.map +1 -1
  341. package/dist/icons/DragHandle/index.js.map +1 -1
  342. package/dist/icons/Edit/index.js.map +1 -1
  343. package/dist/icons/Line/index.js.map +1 -1
  344. package/dist/icons/Link/index.js.map +1 -1
  345. package/dist/icons/LogOut/index.js.map +1 -1
  346. package/dist/icons/Menu/index.js.map +1 -1
  347. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  348. package/dist/icons/More/index.js.map +1 -1
  349. package/dist/icons/Plus/index.js.map +1 -1
  350. package/dist/icons/Search/index.js.map +1 -1
  351. package/dist/icons/Swap/index.js.map +1 -1
  352. package/dist/icons/X/index.js.map +1 -1
  353. package/dist/providers/Actions/SetViewActions/index.js.map +1 -1
  354. package/dist/providers/Actions/index.js.map +1 -1
  355. package/dist/providers/Auth/index.d.ts +2 -0
  356. package/dist/providers/Auth/index.d.ts.map +1 -1
  357. package/dist/providers/Auth/index.js +7 -1
  358. package/dist/providers/Auth/index.js.map +1 -1
  359. package/dist/providers/ClientFunction/index.js.map +1 -1
  360. package/dist/providers/ComponentMap/buildComponentMap/actions.js.map +1 -1
  361. package/dist/providers/ComponentMap/buildComponentMap/collections.d.ts.map +1 -1
  362. package/dist/providers/ComponentMap/buildComponentMap/collections.js +9 -4
  363. package/dist/providers/ComponentMap/buildComponentMap/collections.js.map +1 -1
  364. package/dist/providers/ComponentMap/buildComponentMap/fields.js.map +1 -1
  365. package/dist/providers/ComponentMap/buildComponentMap/globals.d.ts.map +1 -1
  366. package/dist/providers/ComponentMap/buildComponentMap/globals.js +1 -0
  367. package/dist/providers/ComponentMap/buildComponentMap/globals.js.map +1 -1
  368. package/dist/providers/ComponentMap/buildComponentMap/index.js.map +1 -1
  369. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts +1 -0
  370. package/dist/providers/ComponentMap/buildComponentMap/types.d.ts.map +1 -1
  371. package/dist/providers/ComponentMap/buildComponentMap/types.js.map +1 -1
  372. package/dist/providers/ComponentMap/index.js.map +1 -1
  373. package/dist/providers/Config/index.js.map +1 -1
  374. package/dist/providers/DocumentEvents/index.js.map +1 -1
  375. package/dist/providers/DocumentInfo/index.js.map +1 -1
  376. package/dist/providers/DocumentInfo/types.js.map +1 -1
  377. package/dist/providers/EditDepth/index.js.map +1 -1
  378. package/dist/providers/EntityVisibility/index.js.map +1 -1
  379. package/dist/providers/FieldComponents/index.js.map +1 -1
  380. package/dist/providers/FormQueryParams/index.js.map +1 -1
  381. package/dist/providers/FormQueryParams/types.js.map +1 -1
  382. package/dist/providers/ListInfo/index.js.map +1 -1
  383. package/dist/providers/ListQuery/index.js.map +1 -1
  384. package/dist/providers/Locale/index.js.map +1 -1
  385. package/dist/providers/Operation/index.js.map +1 -1
  386. package/dist/providers/Params/index.js.map +1 -1
  387. package/dist/providers/Preferences/index.js +3 -3
  388. package/dist/providers/Preferences/index.js.map +1 -1
  389. package/dist/providers/Root/index.js.map +1 -1
  390. package/dist/providers/RouteCache/index.js.map +1 -1
  391. package/dist/providers/ScrollInfo/index.js.map +1 -1
  392. package/dist/providers/SearchParams/index.js.map +1 -1
  393. package/dist/providers/Selection/index.js +2 -2
  394. package/dist/providers/Selection/index.js.map +1 -1
  395. package/dist/providers/Theme/index.js.map +1 -1
  396. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  397. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  398. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  399. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  400. package/dist/providers/ToastContainer/index.js.map +1 -1
  401. package/dist/providers/Translation/index.js.map +1 -1
  402. package/dist/providers/WindowInfo/index.js.map +1 -1
  403. package/dist/styles.css +1 -1
  404. package/dist/utilities/api.js.map +1 -1
  405. package/dist/utilities/arraysHaveSameStrings.js.map +1 -1
  406. package/dist/utilities/buildComponentMap.js.map +1 -1
  407. package/dist/utilities/buildFieldSchemaMap/index.d.ts.map +1 -1
  408. package/dist/utilities/buildFieldSchemaMap/index.js +2 -5
  409. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  410. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts +1 -2
  411. package/dist/utilities/buildFieldSchemaMap/traverseFields.d.ts.map +1 -1
  412. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +7 -11
  413. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  414. package/dist/utilities/buildFieldSchemaMap/types.js.map +1 -1
  415. package/dist/utilities/buildFormState.d.ts +4 -4
  416. package/dist/utilities/buildFormState.d.ts.map +1 -1
  417. package/dist/utilities/buildFormState.js.map +1 -1
  418. package/dist/utilities/canUseDOM.js.map +1 -1
  419. package/dist/utilities/dateLocales.js.map +1 -1
  420. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  421. package/dist/utilities/flattenFieldMap.js.map +1 -1
  422. package/dist/utilities/formatDate.js.map +1 -1
  423. package/dist/utilities/formatDocTitle.js.map +1 -1
  424. package/dist/utilities/formatFields.js.map +1 -1
  425. package/dist/utilities/generateFieldID.js.map +1 -1
  426. package/dist/utilities/getFormState.js.map +1 -1
  427. package/dist/utilities/getOffsetTop.js.map +1 -1
  428. package/dist/utilities/getRequestLanguage.js.map +1 -1
  429. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  430. package/dist/utilities/groupNavItems.js.map +1 -1
  431. package/dist/utilities/hasSavePermission.js.map +1 -1
  432. package/dist/utilities/isEditing.js.map +1 -1
  433. package/dist/utilities/reduceFieldsToValues.js.map +1 -1
  434. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  435. package/dist/utilities/scrollToID.js.map +1 -1
  436. package/dist/utilities/setsAreEqual.js.map +1 -1
  437. package/dist/utilities/unflatten.js.map +1 -1
  438. package/package.json +7 -7
  439. package/dist/exports/client/DatePicker-CBQPW5J5.js +0 -30
  440. package/dist/exports/client/DatePicker-CBQPW5J5.js.map +0 -8
  441. package/dist/exports/client/chunk-DODCWLCH.js +0 -14
  442. package/dist/exports/client/chunk-DODCWLCH.js.map +0 -8
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/WhereBuilder/index.tsx"],"sourcesContent":["'use client'\nimport type { Operator } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport type { WhereBuilderProps } from './types.js'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { useTableColumns } from '../TableColumns/index.js'\nimport { Condition } from './Condition/index.js'\nimport './index.scss'\nimport { reduceFieldMap } from './reduceFieldMap.js'\nimport { transformWhereQuery } from './transformWhereQuery.js'\nimport validateWhereQuery from './validateWhereQuery.js'\n\nconst baseClass = 'where-builder'\n\nexport { WhereBuilderProps }\n\n/**\n * The WhereBuilder component is used to render the filter controls for a collection's list view.\n * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).\n */\nexport const WhereBuilder: React.FC<WhereBuilderProps> = (props) => {\n const { collectionPluralLabel } = props\n const { i18n, t } = useTranslation()\n const { columns } = useTableColumns()\n\n const [reducedFields, setReducedColumns] = useState(() => reduceFieldMap(columns, i18n))\n\n useEffect(() => {\n setReducedColumns(reduceFieldMap(columns, i18n))\n }, [columns, i18n])\n\n const { searchParams } = useSearchParams()\n const { handleWhereChange } = useListQuery()\n const [shouldUpdateQuery, setShouldUpdateQuery] = React.useState(false)\n\n // This handles initializing the where conditions from the search query (URL). That way, if you pass in\n // query params to the URL, the where conditions will be initialized from those and displayed in the UI.\n // Example: /admin/collections/posts?where[or][0][and][0][text][equals]=example%20post\n /*\n stored conditions look like this:\n [\n _or_ & _and_ queries have the same shape:\n {\n and: [{\n category: {\n equals: 'category-a'\n }\n }]\n },\n\n {\n and:[{\n category: {\n equals: 'category-b'\n },\n text: {\n not_equals: 'oranges'\n },\n }]\n }\n ]\n */\n\n const [conditions, setConditions] = React.useState(() => {\n const whereFromSearch = searchParams.where\n if (whereFromSearch) {\n if (validateWhereQuery(whereFromSearch)) {\n return whereFromSearch.or\n }\n\n // Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format\n const transformedWhere = transformWhereQuery(whereFromSearch)\n\n if (validateWhereQuery(transformedWhere)) {\n return transformedWhere.or\n }\n\n console.warn(`Invalid where query in URL: ${JSON.stringify(whereFromSearch)}`)\n }\n\n return []\n })\n\n const addCondition = React.useCallback(\n ({ andIndex, fieldName, orIndex, relation }) => {\n const newConditions = [...conditions]\n if (relation === 'and') {\n newConditions[orIndex].and.splice(andIndex, 0, { [fieldName]: {} })\n } else {\n newConditions.push({\n and: [\n {\n [fieldName]: {},\n },\n ],\n })\n }\n setConditions(newConditions)\n },\n [conditions],\n )\n\n const updateCondition = React.useCallback(\n ({ andIndex, fieldName, operator, orIndex, value: valueArg }) => {\n const existingRowCondition = conditions[orIndex].and[andIndex]\n if (typeof existingRowCondition === 'object' && fieldName && operator) {\n const value = valueArg ?? (operator ? existingRowCondition[operator] : '')\n const newRowCondition = {\n [fieldName]: operator ? { [operator]: value } : {},\n }\n\n if (JSON.stringify(existingRowCondition) !== JSON.stringify(newRowCondition)) {\n conditions[orIndex].and[andIndex] = newRowCondition\n setConditions(conditions)\n if (![null, undefined].includes(value)) {\n // only update query when field/operator/value are filled out\n setShouldUpdateQuery(true)\n }\n }\n }\n },\n [conditions],\n )\n\n const removeCondition = React.useCallback(\n ({ andIndex, orIndex }) => {\n const newConditions = [...conditions]\n newConditions[orIndex].and.splice(andIndex, 1)\n if (newConditions[orIndex].and.length === 0) {\n newConditions.splice(orIndex, 1)\n }\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n },\n [conditions],\n )\n\n React.useEffect(() => {\n if (shouldUpdateQuery) {\n handleWhereChange({ or: conditions })\n setShouldUpdateQuery(false)\n }\n }, [conditions, handleWhereChange, shouldUpdateQuery])\n\n return (\n <div className={baseClass}>\n {conditions.length > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__label`}>\n {t('general:filterWhere', { label: getTranslation(collectionPluralLabel, i18n) })}\n </div>\n <ul className={`${baseClass}__or-filters`}>\n {conditions.map((or, orIndex) => {\n const compoundOrKey = `${orIndex}_${Array.isArray(or?.and) ? or.and.length : ''}`\n\n return (\n <li key={compoundOrKey}>\n {orIndex !== 0 && <div className={`${baseClass}__label`}>{t('general:or')}</div>}\n <ul className={`${baseClass}__and-filters`}>\n {Array.isArray(or?.and) &&\n or.and.map((_, andIndex) => {\n const initialFieldName = Object.keys(conditions[orIndex].and[andIndex])[0]\n const initialOperator =\n (Object.keys(\n conditions[orIndex].and[andIndex]?.[initialFieldName] || {},\n )?.[0] as Operator) || undefined\n const initialValue =\n conditions[orIndex].and[andIndex]?.[initialFieldName]?.[\n initialOperator\n ] || ''\n\n return (\n <li key={andIndex}>\n {andIndex !== 0 && (\n <div className={`${baseClass}__label`}>{t('general:and')}</div>\n )}\n <Condition\n addCondition={addCondition}\n andIndex={andIndex}\n fieldName={initialFieldName}\n fields={reducedFields}\n initialValue={initialValue}\n operator={initialOperator}\n orIndex={orIndex}\n removeCondition={removeCondition}\n updateCondition={updateCondition}\n />\n </li>\n )\n })}\n </ul>\n </li>\n )\n })}\n </ul>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-or`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }}\n >\n {t('general:or')}\n </Button>\n </React.Fragment>\n )}\n {conditions.length === 0 && (\n <div className={`${baseClass}__no-filters`}>\n <div className={`${baseClass}__label`}>{t('general:noFiltersSet')}</div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-first-filter`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n if (reducedFields.length > 0) {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }\n }}\n >\n {t('general:addFilter')}\n </Button>\n </div>\n )}\n </div>\n )\n}\n"],"names":["getTranslation","React","useEffect","useState","useListQuery","useSearchParams","useTranslation","Button","useTableColumns","Condition","reduceFieldMap","transformWhereQuery","validateWhereQuery","baseClass","WhereBuilder","props","collectionPluralLabel","i18n","t","columns","reducedFields","setReducedColumns","searchParams","handleWhereChange","shouldUpdateQuery","setShouldUpdateQuery","conditions","setConditions","whereFromSearch","where","or","transformedWhere","console","warn","JSON","stringify","addCondition","useCallback","andIndex","fieldName","orIndex","relation","newConditions","and","splice","push","updateCondition","operator","value","valueArg","existingRowCondition","newRowCondition","undefined","includes","removeCondition","length","div","className","Fragment","label","ul","map","compoundOrKey","Array","isArray","li","_","initialFieldName","Object","keys","initialOperator","initialValue","fields","buttonStyle","icon","iconPosition","iconStyle","onClick"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"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"}
1
+ {"version":3,"sources":["../../../src/elements/WhereBuilder/index.tsx"],"sourcesContent":["'use client'\nimport type { Operator } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport React, { useEffect, useState } from 'react'\n\nimport type { WhereBuilderProps } from './types.js'\n\nimport { useListQuery } from '../../providers/ListQuery/index.js'\nimport { useLocale } from '../../providers/Locale/index.js'\nimport { useSearchParams } from '../../providers/SearchParams/index.js'\nimport { useTranslation } from '../../providers/Translation/index.js'\nimport { Button } from '../Button/index.js'\nimport { Condition } from './Condition/index.js'\nimport './index.scss'\nimport { reduceFieldMap } from './reduceFieldMap.js'\nimport { transformWhereQuery } from './transformWhereQuery.js'\nimport validateWhereQuery from './validateWhereQuery.js'\n\nconst baseClass = 'where-builder'\n\nexport { WhereBuilderProps }\n\n/**\n * The WhereBuilder component is used to render the filter controls for a collection's list view.\n * It is part of the {@link ListControls} component which is used to render the controls (search, filter, where).\n */\nexport const WhereBuilder: React.FC<WhereBuilderProps> = (props) => {\n const { collectionPluralLabel, fieldMap } = props\n const { i18n, t } = useTranslation()\n const { code: currentLocale } = useLocale()\n\n const [reducedFields, setReducedColumns] = useState(() => reduceFieldMap(fieldMap, i18n))\n\n useEffect(() => {\n setReducedColumns(reduceFieldMap(fieldMap, i18n, undefined, undefined, currentLocale))\n }, [fieldMap, i18n, currentLocale])\n\n const { searchParams } = useSearchParams()\n const { handleWhereChange } = useListQuery()\n const [shouldUpdateQuery, setShouldUpdateQuery] = React.useState(false)\n\n // This handles initializing the where conditions from the search query (URL). That way, if you pass in\n // query params to the URL, the where conditions will be initialized from those and displayed in the UI.\n // Example: /admin/collections/posts?where[or][0][and][0][text][equals]=example%20post\n /*\n stored conditions look like this:\n [\n _or_ & _and_ queries have the same shape:\n {\n and: [{\n category: {\n equals: 'category-a'\n }\n }]\n },\n\n {\n and:[{\n category: {\n equals: 'category-b'\n },\n text: {\n not_equals: 'oranges'\n },\n }]\n }\n ]\n */\n\n const [conditions, setConditions] = React.useState(() => {\n const whereFromSearch = searchParams.where\n if (whereFromSearch) {\n if (validateWhereQuery(whereFromSearch)) {\n return whereFromSearch.or\n }\n // Transform the where query to be in the right format. This will transform something simple like [text][equals]=example%20post to the right format\n const transformedWhere = transformWhereQuery(whereFromSearch)\n\n if (validateWhereQuery(transformedWhere)) {\n return transformedWhere.or\n }\n\n console.warn(`Invalid where query in URL: ${JSON.stringify(whereFromSearch)}`)\n }\n\n return []\n })\n\n const addCondition = React.useCallback(\n ({ andIndex, fieldName, orIndex, relation }) => {\n const newConditions = [...conditions]\n if (relation === 'and') {\n newConditions[orIndex].and.splice(andIndex, 0, { [fieldName]: {} })\n } else {\n newConditions.push({\n and: [\n {\n [fieldName]: {},\n },\n ],\n })\n }\n setConditions(newConditions)\n },\n [conditions],\n )\n\n const updateCondition = React.useCallback(\n ({ andIndex, fieldName, operator, orIndex, value: valueArg }) => {\n const existingRowCondition = conditions[orIndex].and[andIndex]\n if (typeof existingRowCondition === 'object' && fieldName && operator) {\n const value = valueArg ?? (operator ? existingRowCondition[operator] : '')\n const newRowCondition = {\n [fieldName]: operator ? { [operator]: value } : {},\n }\n\n if (JSON.stringify(existingRowCondition) !== JSON.stringify(newRowCondition)) {\n conditions[orIndex].and[andIndex] = newRowCondition\n setConditions(conditions)\n if (![null, undefined].includes(value)) {\n // only update query when field/operator/value are filled out\n setShouldUpdateQuery(true)\n }\n }\n }\n },\n [conditions],\n )\n\n const removeCondition = React.useCallback(\n ({ andIndex, orIndex }) => {\n const newConditions = [...conditions]\n newConditions[orIndex].and.splice(andIndex, 1)\n if (newConditions[orIndex].and.length === 0) {\n newConditions.splice(orIndex, 1)\n }\n setConditions(newConditions)\n setShouldUpdateQuery(true)\n },\n [conditions],\n )\n\n React.useEffect(() => {\n if (shouldUpdateQuery) {\n handleWhereChange({ or: conditions })\n setShouldUpdateQuery(false)\n }\n }, [conditions, handleWhereChange, shouldUpdateQuery])\n\n return (\n <div className={baseClass}>\n {conditions.length > 0 && (\n <React.Fragment>\n <div className={`${baseClass}__label`}>\n {t('general:filterWhere', { label: getTranslation(collectionPluralLabel, i18n) })}\n </div>\n <ul className={`${baseClass}__or-filters`}>\n {conditions.map((or, orIndex) => {\n const compoundOrKey = `${orIndex}_${Array.isArray(or?.and) ? or.and.length : ''}`\n\n return (\n <li key={compoundOrKey}>\n {orIndex !== 0 && <div className={`${baseClass}__label`}>{t('general:or')}</div>}\n <ul className={`${baseClass}__and-filters`}>\n {Array.isArray(or?.and) &&\n or.and.map((_, andIndex) => {\n const initialFieldName = Object.keys(conditions[orIndex].and[andIndex])[0]\n const initialOperator =\n (Object.keys(\n conditions[orIndex].and[andIndex]?.[initialFieldName] || {},\n )?.[0] as Operator) || undefined\n const initialValue =\n conditions[orIndex].and[andIndex]?.[initialFieldName]?.[\n initialOperator\n ] || ''\n\n return (\n <li key={andIndex}>\n {andIndex !== 0 && (\n <div className={`${baseClass}__label`}>{t('general:and')}</div>\n )}\n <Condition\n addCondition={addCondition}\n andIndex={andIndex}\n fieldName={initialFieldName}\n fields={reducedFields}\n initialValue={initialValue}\n operator={initialOperator}\n orIndex={orIndex}\n removeCondition={removeCondition}\n updateCondition={updateCondition}\n />\n </li>\n )\n })}\n </ul>\n </li>\n )\n })}\n </ul>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-or`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }}\n >\n {t('general:or')}\n </Button>\n </React.Fragment>\n )}\n {conditions.length === 0 && (\n <div className={`${baseClass}__no-filters`}>\n <div className={`${baseClass}__label`}>{t('general:noFiltersSet')}</div>\n <Button\n buttonStyle=\"icon-label\"\n className={`${baseClass}__add-first-filter`}\n icon=\"plus\"\n iconPosition=\"left\"\n iconStyle=\"with-border\"\n onClick={() => {\n if (reducedFields.length > 0) {\n addCondition({\n andIndex: 0,\n fieldName: reducedFields[0].value,\n orIndex: conditions.length,\n relation: 'or',\n })\n }\n }}\n >\n {t('general:addFilter')}\n </Button>\n </div>\n )}\n </div>\n )\n}\n"],"names":["getTranslation","React","useEffect","useState","useListQuery","useLocale","useSearchParams","useTranslation","Button","Condition","reduceFieldMap","transformWhereQuery","validateWhereQuery","baseClass","WhereBuilder","props","collectionPluralLabel","fieldMap","i18n","t","code","currentLocale","reducedFields","setReducedColumns","undefined","searchParams","handleWhereChange","shouldUpdateQuery","setShouldUpdateQuery","conditions","setConditions","whereFromSearch","where","or","transformedWhere","console","warn","JSON","stringify","addCondition","useCallback","andIndex","fieldName","orIndex","relation","newConditions","and","splice","push","updateCondition","operator","value","valueArg","existingRowCondition","newRowCondition","includes","removeCondition","length","div","className","Fragment","label","ul","map","compoundOrKey","Array","isArray","li","_","initialFieldName","Object","keys","initialOperator","initialValue","fields","buttonStyle","icon","iconPosition","iconStyle","onClick"],"mappings":"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"}
@@ -1,3 +1,3 @@
1
- import type { Column } from '../Table/index.js';
2
- export declare const reduceFieldMap: (fieldMap: Column[], i18n: any) => any[];
1
+ import type { FieldMap } from '../../utilities/buildComponentMap.js';
2
+ export declare const reduceFieldMap: (fieldMap: FieldMap, i18n: any, labelPrefix?: string, pathPrefix?: string, locale?: string) => any[];
3
3
  //# sourceMappingURL=reduceFieldMap.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldMap.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/reduceFieldMap.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAA;AAI/C,eAAO,MAAM,cAAc,aAAc,MAAM,EAAE,qBAoCzC,CAAA"}
1
+ {"version":3,"file":"reduceFieldMap.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/reduceFieldMap.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAMpE,eAAO,MAAM,cAAc,aACf,QAAQ,2BAEJ,MAAM,eACP,MAAM,WACV,MAAM,UAyEhB,CAAA"}
@@ -1,38 +1,56 @@
1
1
  'use client';
2
+ import { createNestedClientFieldPath } from '../../forms/Form/createNestedFieldPath.js';
3
+ import { combineLabel } from '../FieldSelect/index.js';
2
4
  import fieldTypes from './field-types.js';
3
- export const reduceFieldMap = (fieldMap, i18n)=>fieldMap.reduce((reduced, field)=>{
5
+ export const reduceFieldMap = (fieldMap, i18n, labelPrefix, pathPrefix, locale)=>{
6
+ return fieldMap.reduce((reduced, field)=>{
7
+ if (field.disableListFilter) return reduced;
8
+ if (field.type === 'tabs' && 'tabs' in field.fieldComponentProps) {
9
+ const tabs = field.fieldComponentProps.tabs;
10
+ tabs.forEach((tab)=>{
11
+ if (tab.name && typeof tab.label === 'string' && tab.fieldMap) {
12
+ reduced.push(...reduceFieldMap(tab.fieldMap, i18n, tab.label, tab.name));
13
+ }
14
+ });
15
+ return reduced;
16
+ }
17
+ if (field.type === 'group' && 'fieldMap' in field.fieldComponentProps) {
18
+ reduced.push(...reduceFieldMap(field.fieldComponentProps.fieldMap, i18n, field.fieldComponentProps.label, field.name));
19
+ return reduced;
20
+ }
4
21
  if (typeof fieldTypes[field.type] === 'object') {
5
22
  const operatorKeys = new Set();
6
23
  const operators = fieldTypes[field.type].operators.reduce((acc, operator)=>{
7
24
  if (!operatorKeys.has(operator.value)) {
8
25
  operatorKeys.add(operator.value);
9
- return [
10
- ...acc,
11
- {
12
- ...operator,
13
- label: i18n.t(`operators:${operator.label}`)
14
- }
15
- ];
26
+ acc.push({
27
+ ...operator,
28
+ label: i18n.t(`operators:${operator.label}`)
29
+ });
16
30
  }
17
31
  return acc;
18
32
  }, []);
33
+ const localizedLabel = locale && typeof field.fieldComponentProps.label === 'object' ? field.fieldComponentProps.label[locale] : field.fieldComponentProps.label;
34
+ const formattedLabel = labelPrefix ? combineLabel({
35
+ field,
36
+ prefix: labelPrefix
37
+ }) : localizedLabel;
38
+ const formattedValue = pathPrefix ? createNestedClientFieldPath(pathPrefix, field) : field.name;
19
39
  const formattedField = {
20
- label: field.Label,
21
- value: field.name,
40
+ label: formattedLabel,
41
+ value: formattedValue,
22
42
  ...fieldTypes[field.type],
23
43
  operators,
24
44
  props: {
25
45
  ...field,
26
- ...field?.cellProps || {}
46
+ ...field?.cellComponentProps || {}
27
47
  }
28
48
  };
29
- if (field.admin?.disableListFilter) return reduced;
30
- return [
31
- ...reduced,
32
- formattedField
33
- ];
49
+ reduced.push(formattedField);
50
+ return reduced;
34
51
  }
35
52
  return reduced;
36
53
  }, []);
54
+ };
37
55
 
38
56
  //# sourceMappingURL=reduceFieldMap.js.map
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/WhereBuilder/reduceFieldMap.tsx"],"sourcesContent":["'use client'\nimport type { Column } from '../Table/index.js'\n\nimport fieldTypes from './field-types.js'\n\nexport const reduceFieldMap = (fieldMap: Column[], i18n) =>\n fieldMap.reduce((reduced, field) => {\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n\n const operators = fieldTypes[field.type].operators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n return [\n ...acc,\n {\n ...operator,\n label: i18n.t(`operators:${operator.label}`),\n },\n ]\n }\n return acc\n }, [])\n\n const formattedField = {\n label: field.Label,\n value: field.name,\n ...fieldTypes[field.type],\n operators,\n props: {\n ...field,\n ...(field?.cellProps || {}),\n },\n }\n\n if (field.admin?.disableListFilter) return reduced\n\n return [...reduced, formattedField]\n }\n\n return reduced\n }, [])\n"],"names":["fieldTypes","reduceFieldMap","fieldMap","i18n","reduce","reduced","field","type","operatorKeys","Set","operators","acc","operator","has","value","add","label","t","formattedField","Label","name","props","cellProps","admin","disableListFilter"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAAA;AAGA,OAAOA,gBAAgB,mBAAkB;AAEzC,OAAO,MAAMC,iBAAiB,CAACC,UAAoBC,OACjDD,SAASE,MAAM,CAAC,CAACC,SAASC;QACxB,IAAI,OAAON,UAAU,CAACM,MAAMC,IAAI,CAAC,KAAK,UAAU;YAC9C,MAAMC,eAAe,IAAIC;YAEzB,MAAMC,YAAYV,UAAU,CAACM,MAAMC,IAAI,CAAC,CAACG,SAAS,CAACN,MAAM,CAAC,CAACO,KAAKC;gBAC9D,IAAI,CAACJ,aAAaK,GAAG,CAACD,SAASE,KAAK,GAAG;oBACrCN,aAAaO,GAAG,CAACH,SAASE,KAAK;oBAC/B,OAAO;2BACFH;wBACH;4BACE,GAAGC,QAAQ;4BACXI,OAAOb,KAAKc,CAAC,CAAC,CAAC,UAAU,EAAEL,SAASI,KAAK,CAAC,CAAC;wBAC7C;qBACD;gBACH;gBACA,OAAOL;YACT,GAAG,EAAE;YAEL,MAAMO,iBAAiB;gBACrBF,OAAOV,MAAMa,KAAK;gBAClBL,OAAOR,MAAMc,IAAI;gBACjB,GAAGpB,UAAU,CAACM,MAAMC,IAAI,CAAC;gBACzBG;gBACAW,OAAO;oBACL,GAAGf,KAAK;oBACR,GAAIA,OAAOgB,aAAa,CAAC,CAAC;gBAC5B;YACF;YAEA,IAAIhB,MAAMiB,KAAK,EAAEC,mBAAmB,OAAOnB;YAE3C,OAAO;mBAAIA;gBAASa;aAAe;QACrC;QAEA,OAAOb;IACT,GAAG,EAAE,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/WhereBuilder/reduceFieldMap.tsx"],"sourcesContent":["'use client'\nimport type { FieldMap } from '../../utilities/buildComponentMap.js'\n\nimport { createNestedClientFieldPath } from '../../forms/Form/createNestedFieldPath.js'\nimport { combineLabel } from '../FieldSelect/index.js'\nimport fieldTypes from './field-types.js'\n\nexport const reduceFieldMap = (\n fieldMap: FieldMap,\n i18n,\n labelPrefix?: string,\n pathPrefix?: string,\n locale?: string,\n) => {\n return fieldMap.reduce((reduced, field) => {\n if (field.disableListFilter) return reduced\n\n if (field.type === 'tabs' && 'tabs' in field.fieldComponentProps) {\n const tabs = field.fieldComponentProps.tabs\n tabs.forEach((tab) => {\n if (tab.name && typeof tab.label === 'string' && tab.fieldMap) {\n reduced.push(...reduceFieldMap(tab.fieldMap, i18n, tab.label, tab.name))\n }\n })\n return reduced\n }\n\n if (field.type === 'group' && 'fieldMap' in field.fieldComponentProps) {\n reduced.push(\n ...reduceFieldMap(\n field.fieldComponentProps.fieldMap,\n i18n,\n field.fieldComponentProps.label as string,\n field.name,\n ),\n )\n return reduced\n }\n\n if (typeof fieldTypes[field.type] === 'object') {\n const operatorKeys = new Set()\n const operators = fieldTypes[field.type].operators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n acc.push({\n ...operator,\n label: i18n.t(`operators:${operator.label}`),\n })\n }\n return acc\n }, [])\n\n const localizedLabel =\n locale && typeof field.fieldComponentProps.label === 'object'\n ? field.fieldComponentProps.label[locale]\n : field.fieldComponentProps.label\n\n const formattedLabel = labelPrefix\n ? combineLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n const formattedValue = pathPrefix\n ? createNestedClientFieldPath(pathPrefix, field)\n : field.name\n\n const formattedField = {\n label: formattedLabel,\n value: formattedValue,\n ...fieldTypes[field.type],\n operators,\n props: {\n ...field,\n ...(field?.cellComponentProps || {}),\n },\n }\n\n reduced.push(formattedField)\n return reduced\n }\n\n return reduced\n }, [])\n}\n"],"names":["createNestedClientFieldPath","combineLabel","fieldTypes","reduceFieldMap","fieldMap","i18n","labelPrefix","pathPrefix","locale","reduce","reduced","field","disableListFilter","type","fieldComponentProps","tabs","forEach","tab","name","label","push","operatorKeys","Set","operators","acc","operator","has","value","add","t","localizedLabel","formattedLabel","prefix","formattedValue","formattedField","props","cellComponentProps"],"mappings":"AAAA;AAGA,SAASA,2BAA2B,QAAQ,4CAA2C;AACvF,SAASC,YAAY,QAAQ,0BAAyB;AACtD,OAAOC,gBAAgB,mBAAkB;AAEzC,OAAO,MAAMC,iBAAiB,CAC5BC,UACAC,MACAC,aACAC,YACAC;IAEA,OAAOJ,SAASK,MAAM,CAAC,CAACC,SAASC;QAC/B,IAAIA,MAAMC,iBAAiB,EAAE,OAAOF;QAEpC,IAAIC,MAAME,IAAI,KAAK,UAAU,UAAUF,MAAMG,mBAAmB,EAAE;YAChE,MAAMC,OAAOJ,MAAMG,mBAAmB,CAACC,IAAI;YAC3CA,KAAKC,OAAO,CAAC,CAACC;gBACZ,IAAIA,IAAIC,IAAI,IAAI,OAAOD,IAAIE,KAAK,KAAK,YAAYF,IAAIb,QAAQ,EAAE;oBAC7DM,QAAQU,IAAI,IAAIjB,eAAec,IAAIb,QAAQ,EAAEC,MAAMY,IAAIE,KAAK,EAAEF,IAAIC,IAAI;gBACxE;YACF;YACA,OAAOR;QACT;QAEA,IAAIC,MAAME,IAAI,KAAK,WAAW,cAAcF,MAAMG,mBAAmB,EAAE;YACrEJ,QAAQU,IAAI,IACPjB,eACDQ,MAAMG,mBAAmB,CAACV,QAAQ,EAClCC,MACAM,MAAMG,mBAAmB,CAACK,KAAK,EAC/BR,MAAMO,IAAI;YAGd,OAAOR;QACT;QAEA,IAAI,OAAOR,UAAU,CAACS,MAAME,IAAI,CAAC,KAAK,UAAU;YAC9C,MAAMQ,eAAe,IAAIC;YACzB,MAAMC,YAAYrB,UAAU,CAACS,MAAME,IAAI,CAAC,CAACU,SAAS,CAACd,MAAM,CAAC,CAACe,KAAKC;gBAC9D,IAAI,CAACJ,aAAaK,GAAG,CAACD,SAASE,KAAK,GAAG;oBACrCN,aAAaO,GAAG,CAACH,SAASE,KAAK;oBAC/BH,IAAIJ,IAAI,CAAC;wBACP,GAAGK,QAAQ;wBACXN,OAAOd,KAAKwB,CAAC,CAAC,CAAC,UAAU,EAAEJ,SAASN,KAAK,CAAC,CAAC;oBAC7C;gBACF;gBACA,OAAOK;YACT,GAAG,EAAE;YAEL,MAAMM,iBACJtB,UAAU,OAAOG,MAAMG,mBAAmB,CAACK,KAAK,KAAK,WACjDR,MAAMG,mBAAmB,CAACK,KAAK,CAACX,OAAO,GACvCG,MAAMG,mBAAmB,CAACK,KAAK;YAErC,MAAMY,iBAAiBzB,cACnBL,aAAa;gBACXU;gBACAqB,QAAQ1B;YACV,KACAwB;YAEJ,MAAMG,iBAAiB1B,aACnBP,4BAA4BO,YAAYI,SACxCA,MAAMO,IAAI;YAEd,MAAMgB,iBAAiB;gBACrBf,OAAOY;gBACPJ,OAAOM;gBACP,GAAG/B,UAAU,CAACS,MAAME,IAAI,CAAC;gBACzBU;gBACAY,OAAO;oBACL,GAAGxB,KAAK;oBACR,GAAIA,OAAOyB,sBAAsB,CAAC,CAAC;gBACrC;YACF;YAEA1B,QAAQU,IAAI,CAACc;YACb,OAAOxB;QACT;QAEA,OAAOA;IACT,GAAG,EAAE;AACP,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/WhereBuilder/transformWhereQuery.ts"],"sourcesContent":["import type { Where } from 'payload'\n\n/**\n * Something like [or][0][and][0][text][equals]=example%20post will work and pass through the validateWhereQuery check.\n * However, something like [text][equals]=example%20post will not work and will fail the validateWhereQuery check,\n * even though it is a valid Where query. This needs to be transformed here.\n */\nexport const transformWhereQuery = (whereQuery): Where => {\n if (!whereQuery) {\n return {}\n }\n // Check if 'whereQuery' has 'or' field but no 'and'. This is the case for \"correct\" queries\n if (whereQuery.or && !whereQuery.and) {\n return {\n or: whereQuery.or.map((query) => {\n // ...but if the or query does not have an and, we need to add it\n if (!query.and) {\n return {\n and: [query],\n }\n }\n return query\n }),\n }\n }\n\n // Check if 'whereQuery' has 'and' field but no 'or'.\n if (whereQuery.and && !whereQuery.or) {\n return {\n or: [\n {\n and: whereQuery.and,\n },\n ],\n }\n }\n\n // Check if 'whereQuery' has neither 'or' nor 'and'.\n if (!whereQuery.or && !whereQuery.and) {\n return {\n or: [\n {\n and: [whereQuery], // top-level siblings are considered 'and'\n },\n ],\n }\n }\n\n // If 'whereQuery' has 'or' and 'and', just return it as it is.\n return whereQuery\n}\n"],"names":["transformWhereQuery","whereQuery","or","and","map","query"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA;;;;CAIC,GACD,OAAO,MAAMA,sBAAsB,CAACC;IAClC,IAAI,CAACA,YAAY;QACf,OAAO,CAAC;IACV;IACA,4FAA4F;IAC5F,IAAIA,WAAWC,EAAE,IAAI,CAACD,WAAWE,GAAG,EAAE;QACpC,OAAO;YACLD,IAAID,WAAWC,EAAE,CAACE,GAAG,CAAC,CAACC;gBACrB,iEAAiE;gBACjE,IAAI,CAACA,MAAMF,GAAG,EAAE;oBACd,OAAO;wBACLA,KAAK;4BAACE;yBAAM;oBACd;gBACF;gBACA,OAAOA;YACT;QACF;IACF;IAEA,qDAAqD;IACrD,IAAIJ,WAAWE,GAAG,IAAI,CAACF,WAAWC,EAAE,EAAE;QACpC,OAAO;YACLA,IAAI;gBACF;oBACEC,KAAKF,WAAWE,GAAG;gBACrB;aACD;QACH;IACF;IAEA,oDAAoD;IACpD,IAAI,CAACF,WAAWC,EAAE,IAAI,CAACD,WAAWE,GAAG,EAAE;QACrC,OAAO;YACLD,IAAI;gBACF;oBACEC,KAAK;wBAACF;qBAAW;gBACnB;aACD;QACH;IACF;IAEA,+DAA+D;IAC/D,OAAOA;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/WhereBuilder/transformWhereQuery.ts"],"sourcesContent":["import type { Where } from 'payload'\n\n/**\n * Something like [or][0][and][0][text][equals]=example%20post will work and pass through the validateWhereQuery check.\n * However, something like [text][equals]=example%20post will not work and will fail the validateWhereQuery check,\n * even though it is a valid Where query. This needs to be transformed here.\n */\nexport const transformWhereQuery = (whereQuery): Where => {\n if (!whereQuery) {\n return {}\n }\n // Check if 'whereQuery' has 'or' field but no 'and'. This is the case for \"correct\" queries\n if (whereQuery.or && !whereQuery.and) {\n return {\n or: whereQuery.or.map((query) => {\n // ...but if the or query does not have an and, we need to add it\n if (!query.and) {\n return {\n and: [query],\n }\n }\n return query\n }),\n }\n }\n\n // Check if 'whereQuery' has 'and' field but no 'or'.\n if (whereQuery.and && !whereQuery.or) {\n return {\n or: [\n {\n and: whereQuery.and,\n },\n ],\n }\n }\n\n // Check if 'whereQuery' has neither 'or' nor 'and'.\n if (!whereQuery.or && !whereQuery.and) {\n return {\n or: [\n {\n and: [whereQuery], // top-level siblings are considered 'and'\n },\n ],\n }\n }\n\n // If 'whereQuery' has 'or' and 'and', just return it as it is.\n return whereQuery\n}\n"],"names":["transformWhereQuery","whereQuery","or","and","map","query"],"mappings":"AAEA;;;;CAIC,GACD,OAAO,MAAMA,sBAAsB,CAACC;IAClC,IAAI,CAACA,YAAY;QACf,OAAO,CAAC;IACV;IACA,4FAA4F;IAC5F,IAAIA,WAAWC,EAAE,IAAI,CAACD,WAAWE,GAAG,EAAE;QACpC,OAAO;YACLD,IAAID,WAAWC,EAAE,CAACE,GAAG,CAAC,CAACC;gBACrB,iEAAiE;gBACjE,IAAI,CAACA,MAAMF,GAAG,EAAE;oBACd,OAAO;wBACLA,KAAK;4BAACE;yBAAM;oBACd;gBACF;gBACA,OAAOA;YACT;QACF;IACF;IAEA,qDAAqD;IACrD,IAAIJ,WAAWE,GAAG,IAAI,CAACF,WAAWC,EAAE,EAAE;QACpC,OAAO;YACLA,IAAI;gBACF;oBACEC,KAAKF,WAAWE,GAAG;gBACrB;aACD;QACH;IACF;IAEA,oDAAoD;IACpD,IAAI,CAACF,WAAWC,EAAE,IAAI,CAACD,WAAWE,GAAG,EAAE;QACrC,OAAO;YACLD,IAAI;gBACF;oBACEC,KAAK;wBAACF;qBAAW;gBACnB;aACD;QACH;IACF;IAEA,+DAA+D;IAC/D,OAAOA;AACT,EAAC"}
@@ -1,7 +1,9 @@
1
1
  import type { Field, Operator, SanitizedCollectionConfig, Where } from 'payload';
2
+ import type { FieldMap } from '../../utilities/buildComponentMap.js';
2
3
  export type WhereBuilderProps = {
3
4
  collectionPluralLabel: SanitizedCollectionConfig['labels']['plural'];
4
5
  collectionSlug: SanitizedCollectionConfig['slug'];
6
+ fieldMap?: FieldMap;
5
7
  };
6
8
  export type FieldCondition = {
7
9
  component?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEhF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpE,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;CAClD,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;IACH,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnC,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAA;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,KAAK,EAAE,CAAA;CACZ,CAAA"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/elements/WhereBuilder/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,SAAS,CAAA;AAEhF,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,sCAAsC,CAAA;AAEpE,MAAM,MAAM,iBAAiB,GAAG;IAC9B,qBAAqB,EAAE,yBAAyB,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,CAAA;IACpE,cAAc,EAAE,yBAAyB,CAAC,MAAM,CAAC,CAAA;IACjD,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB,CAAA;AAED,MAAM,MAAM,cAAc,GAAG;IAC3B,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,KAAK,EAAE,MAAM,CAAA;IACb,SAAS,EAAE;QACT,KAAK,EAAE,MAAM,CAAA;QACb,KAAK,EAAE,QAAQ,CAAA;KAChB,EAAE,CAAA;IACH,KAAK,EAAE,KAAK,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;CACd,CAAA;AAED,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,IAAI,CAAA;AAEnC,MAAM,MAAM,GAAG,GAAG;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,KAAK,EAAE,MAAM,CAAA;IACb,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;IACnB,IAAI,EAAE,KAAK,CAAA;CACZ,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;CACf,CAAA;AAED,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,OAAO,EAAE,MAAM,CAAA;IACf,IAAI,EAAE,QAAQ,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB,CAAA;AAED,MAAM,MAAM,MAAM,GAAG,GAAG,GAAG,MAAM,GAAG,MAAM,CAAA;AAE1C,MAAM,MAAM,KAAK,GAAG;IAClB,EAAE,EAAE,KAAK,EAAE,CAAA;CACZ,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/WhereBuilder/types.ts"],"sourcesContent":["import type { Field, Operator, SanitizedCollectionConfig, Where } from 'payload'\n\nexport type WhereBuilderProps = {\n collectionPluralLabel: SanitizedCollectionConfig['labels']['plural']\n collectionSlug: SanitizedCollectionConfig['slug']\n}\n\nexport type FieldCondition = {\n component?: string\n label: string\n operators: {\n label: string\n value: Operator\n }[]\n props: Field\n value: string\n}\n\nexport type Relation = 'and' | 'or'\n\nexport type ADD = {\n andIndex?: number\n field: string\n orIndex?: number\n relation?: Relation\n type: 'add'\n}\n\nexport type REMOVE = {\n andIndex: number\n orIndex: number\n type: 'remove'\n}\n\nexport type UPDATE = {\n andIndex: number\n field?: string\n operator?: string\n orIndex: number\n type: 'update'\n value?: unknown\n}\n\nexport type Action = ADD | REMOVE | UPDATE\n\nexport type State = {\n or: Where[]\n}\n"],"names":[],"rangeMappings":"","mappings":"AA6CA,WAEC"}
1
+ {"version":3,"sources":["../../../src/elements/WhereBuilder/types.ts"],"sourcesContent":["import type { Field, Operator, SanitizedCollectionConfig, Where } from 'payload'\n\nimport type { FieldMap } from '../../utilities/buildComponentMap.js'\n\nexport type WhereBuilderProps = {\n collectionPluralLabel: SanitizedCollectionConfig['labels']['plural']\n collectionSlug: SanitizedCollectionConfig['slug']\n fieldMap?: FieldMap\n}\n\nexport type FieldCondition = {\n component?: string\n label: string\n operators: {\n label: string\n value: Operator\n }[]\n props: Field\n value: string\n}\n\nexport type Relation = 'and' | 'or'\n\nexport type ADD = {\n andIndex?: number\n field: string\n orIndex?: number\n relation?: Relation\n type: 'add'\n}\n\nexport type REMOVE = {\n andIndex: number\n orIndex: number\n type: 'remove'\n}\n\nexport type UPDATE = {\n andIndex: number\n field?: string\n operator?: string\n orIndex: number\n type: 'update'\n value?: unknown\n}\n\nexport type Action = ADD | REMOVE | UPDATE\n\nexport type State = {\n or: Where[]\n}\n"],"names":[],"mappings":"AAgDA,WAEC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/WhereBuilder/validateWhereQuery.ts"],"sourcesContent":["import type { Operator, Where } from 'payload'\n\nimport { validOperators } from 'payload/shared'\n\nconst validateWhereQuery = (whereQuery): whereQuery is Where => {\n if (\n whereQuery?.or?.length > 0 &&\n whereQuery?.or?.[0]?.and &&\n whereQuery?.or?.[0]?.and?.length > 0\n ) {\n // At this point we know that the whereQuery has 'or' and 'and' fields,\n // now let's check the structure and content of these fields.\n\n const isValid = whereQuery.or.every((orQuery) => {\n if (orQuery.and && Array.isArray(orQuery.and)) {\n return orQuery.and.every((andQuery) => {\n if (typeof andQuery !== 'object') {\n return false\n }\n const andKeys = Object.keys(andQuery)\n // If there are no keys, it's not a valid WhereField.\n if (andKeys.length === 0) {\n return false\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const key of andKeys) {\n const operator = Object.keys(andQuery[key])[0]\n // Check if the key is a valid Operator.\n if (!operator || !validOperators.includes(operator as Operator)) {\n return false\n }\n }\n return true\n })\n }\n return false\n })\n\n return isValid\n }\n\n return false\n}\n\nexport default validateWhereQuery\n"],"names":["validOperators","validateWhereQuery","whereQuery","or","length","and","isValid","every","orQuery","Array","isArray","andQuery","andKeys","Object","keys","key","operator","includes"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":"AAEA,SAASA,cAAc,QAAQ,iBAAgB;AAE/C,MAAMC,qBAAqB,CAACC;IAC1B,IACEA,YAAYC,IAAIC,SAAS,KACzBF,YAAYC,IAAI,CAAC,EAAE,EAAEE,OACrBH,YAAYC,IAAI,CAAC,EAAE,EAAEE,KAAKD,SAAS,GACnC;QACA,uEAAuE;QACvE,6DAA6D;QAE7D,MAAME,UAAUJ,WAAWC,EAAE,CAACI,KAAK,CAAC,CAACC;YACnC,IAAIA,QAAQH,GAAG,IAAII,MAAMC,OAAO,CAACF,QAAQH,GAAG,GAAG;gBAC7C,OAAOG,QAAQH,GAAG,CAACE,KAAK,CAAC,CAACI;oBACxB,IAAI,OAAOA,aAAa,UAAU;wBAChC,OAAO;oBACT;oBACA,MAAMC,UAAUC,OAAOC,IAAI,CAACH;oBAC5B,qDAAqD;oBACrD,IAAIC,QAAQR,MAAM,KAAK,GAAG;wBACxB,OAAO;oBACT;oBACA,gDAAgD;oBAChD,KAAK,MAAMW,OAAOH,QAAS;wBACzB,MAAMI,WAAWH,OAAOC,IAAI,CAACH,QAAQ,CAACI,IAAI,CAAC,CAAC,EAAE;wBAC9C,wCAAwC;wBACxC,IAAI,CAACC,YAAY,CAAChB,eAAeiB,QAAQ,CAACD,WAAuB;4BAC/D,OAAO;wBACT;oBACF;oBACA,OAAO;gBACT;YACF;YACA,OAAO;QACT;QAEA,OAAOV;IACT;IAEA,OAAO;AACT;AAEA,eAAeL,mBAAkB"}
1
+ {"version":3,"sources":["../../../src/elements/WhereBuilder/validateWhereQuery.ts"],"sourcesContent":["import type { Operator, Where } from 'payload'\n\nimport { validOperators } from 'payload/shared'\n\nconst validateWhereQuery = (whereQuery): whereQuery is Where => {\n if (\n whereQuery?.or?.length > 0 &&\n whereQuery?.or?.[0]?.and &&\n whereQuery?.or?.[0]?.and?.length > 0\n ) {\n // At this point we know that the whereQuery has 'or' and 'and' fields,\n // now let's check the structure and content of these fields.\n\n const isValid = whereQuery.or.every((orQuery) => {\n if (orQuery.and && Array.isArray(orQuery.and)) {\n return orQuery.and.every((andQuery) => {\n if (typeof andQuery !== 'object') {\n return false\n }\n const andKeys = Object.keys(andQuery)\n // If there are no keys, it's not a valid WhereField.\n if (andKeys.length === 0) {\n return false\n }\n // eslint-disable-next-line no-restricted-syntax\n for (const key of andKeys) {\n const operator = Object.keys(andQuery[key])[0]\n // Check if the key is a valid Operator.\n if (!operator || !validOperators.includes(operator as Operator)) {\n return false\n }\n }\n return true\n })\n }\n return false\n })\n\n return isValid\n }\n\n return false\n}\n\nexport default validateWhereQuery\n"],"names":["validOperators","validateWhereQuery","whereQuery","or","length","and","isValid","every","orQuery","Array","isArray","andQuery","andKeys","Object","keys","key","operator","includes"],"mappings":"AAEA,SAASA,cAAc,QAAQ,iBAAgB;AAE/C,MAAMC,qBAAqB,CAACC;IAC1B,IACEA,YAAYC,IAAIC,SAAS,KACzBF,YAAYC,IAAI,CAAC,EAAE,EAAEE,OACrBH,YAAYC,IAAI,CAAC,EAAE,EAAEE,KAAKD,SAAS,GACnC;QACA,uEAAuE;QACvE,6DAA6D;QAE7D,MAAME,UAAUJ,WAAWC,EAAE,CAACI,KAAK,CAAC,CAACC;YACnC,IAAIA,QAAQH,GAAG,IAAII,MAAMC,OAAO,CAACF,QAAQH,GAAG,GAAG;gBAC7C,OAAOG,QAAQH,GAAG,CAACE,KAAK,CAAC,CAACI;oBACxB,IAAI,OAAOA,aAAa,UAAU;wBAChC,OAAO;oBACT;oBACA,MAAMC,UAAUC,OAAOC,IAAI,CAACH;oBAC5B,qDAAqD;oBACrD,IAAIC,QAAQR,MAAM,KAAK,GAAG;wBACxB,OAAO;oBACT;oBACA,gDAAgD;oBAChD,KAAK,MAAMW,OAAOH,QAAS;wBACzB,MAAMI,WAAWH,OAAOC,IAAI,CAACH,QAAQ,CAACI,IAAI,CAAC,CAAC,EAAE;wBAC9C,wCAAwC;wBACxC,IAAI,CAACC,YAAY,CAAChB,eAAeiB,QAAQ,CAACD,WAAuB;4BAC/D,OAAO;wBACT;oBACF;oBACA,OAAO;gBACT;YACF;YACA,OAAO;QACT;QAEA,OAAOV;IACT;IAEA,OAAO;AACT;AAEA,eAAeL,mBAAkB"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/WindowInfo/index.tsx"],"sourcesContent":["import { WindowInfoProvider, useWindowInfo } from '@faceless-ui/window-info'\nexport { WindowInfoProvider, useWindowInfo }\n"],"names":["WindowInfoProvider","useWindowInfo"],"rangeMappings":";","mappings":"AAAA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,2BAA0B;AAC5E,SAASD,kBAAkB,EAAEC,aAAa,GAAE"}
1
+ {"version":3,"sources":["../../../src/elements/WindowInfo/index.tsx"],"sourcesContent":["import { WindowInfoProvider, useWindowInfo } from '@faceless-ui/window-info'\nexport { WindowInfoProvider, useWindowInfo }\n"],"names":["WindowInfoProvider","useWindowInfo"],"mappings":"AAAA,SAASA,kBAAkB,EAAEC,aAAa,QAAQ,2BAA0B;AAC5E,SAASD,kBAAkB,EAAEC,aAAa,GAAE"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/WithServerSideProps/index.tsx"],"sourcesContent":["import type { WithServerSidePropsComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nexport const WithServerSideProps: WithServerSidePropsComponent = ({\n Component,\n serverOnlyProps,\n ...rest\n}) => {\n if (Component) {\n const WithServerSideProps: React.FC = (passedProps) => {\n const propsWithServerOnlyProps = {\n ...passedProps,\n ...(isReactServerComponentOrFunction(Component) ? serverOnlyProps ?? {} : {}),\n }\n\n return <Component {...propsWithServerOnlyProps} />\n }\n\n return <WithServerSideProps {...rest} />\n }\n\n return null\n}\n"],"names":["isReactServerComponentOrFunction","React","WithServerSideProps","Component","serverOnlyProps","rest","passedProps","propsWithServerOnlyProps"],"rangeMappings":";;;;;;;;;;;;;;;;;;;","mappings":";AAEA,SAASA,gCAAgC,QAAQ,iBAAgB;AACjE,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,sBAAoD,CAAC,EAChEC,SAAS,EACTC,eAAe,EACf,GAAGC,MACJ;IACC,IAAIF,WAAW;QACb,MAAMD,sBAAgC,CAACI;YACrC,MAAMC,2BAA2B;gBAC/B,GAAGD,WAAW;gBACd,GAAIN,iCAAiCG,aAAaC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC9E;YAEA,qBAAO,KAACD;gBAAW,GAAGI,wBAAwB;;QAChD;QAEA,qBAAO,KAACL;YAAqB,GAAGG,IAAI;;IACtC;IAEA,OAAO;AACT,EAAC"}
1
+ {"version":3,"sources":["../../../src/elements/WithServerSideProps/index.tsx"],"sourcesContent":["import type { WithServerSidePropsComponent } from 'payload'\n\nimport { isReactServerComponentOrFunction } from 'payload/shared'\nimport React from 'react'\n\nexport const WithServerSideProps: WithServerSidePropsComponent = ({\n Component,\n serverOnlyProps,\n ...rest\n}) => {\n if (Component) {\n const WithServerSideProps: React.FC = (passedProps) => {\n const propsWithServerOnlyProps = {\n ...passedProps,\n ...(isReactServerComponentOrFunction(Component) ? serverOnlyProps ?? {} : {}),\n }\n\n return <Component {...propsWithServerOnlyProps} />\n }\n\n return <WithServerSideProps {...rest} />\n }\n\n return null\n}\n"],"names":["isReactServerComponentOrFunction","React","WithServerSideProps","Component","serverOnlyProps","rest","passedProps","propsWithServerOnlyProps"],"mappings":";AAEA,SAASA,gCAAgC,QAAQ,iBAAgB;AACjE,OAAOC,WAAW,QAAO;AAEzB,OAAO,MAAMC,sBAAoD,CAAC,EAChEC,SAAS,EACTC,eAAe,EACf,GAAGC,MACJ;IACC,IAAIF,WAAW;QACb,MAAMD,sBAAgC,CAACI;YACrC,MAAMC,2BAA2B;gBAC/B,GAAGD,WAAW;gBACd,GAAIN,iCAAiCG,aAAaC,mBAAmB,CAAC,IAAI,CAAC,CAAC;YAC9E;YAEA,qBAAO,KAACD;gBAAW,GAAGI,wBAAwB;;QAChD;QAEA,qBAAO,KAACL;YAAqB,GAAGG,IAAI;;IACtC;IAEA,OAAO;AACT,EAAC"}
@@ -1 +1 @@
1
- {"version":3,"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { deepMerge, isReactServerComponentOrFunction, serverProps } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = getMergedPropsComponent({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n *\n * @param Component - The original component to wrap.\n * @param sanitizeServerOnlyProps - If true, server-only props will be removed from the merged props. @default true if the component is not a server component, false otherwise.\n * @param toMergeIntoProps - The properties to merge into the passed props.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n sanitizeServerOnlyProps,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n sanitizeServerOnlyProps?: boolean\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n if (sanitizeServerOnlyProps === undefined) {\n sanitizeServerOnlyProps = !isReactServerComponentOrFunction(Component)\n }\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = deepMerge(passedProps, toMergeIntoProps)\n\n if (sanitizeServerOnlyProps) {\n serverProps.forEach((prop) => {\n delete mergedProps[prop]\n })\n }\n\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n"],"names":["deepMerge","isReactServerComponentOrFunction","serverProps","React","withMergedProps","Component","sanitizeServerOnlyProps","toMergeIntoProps","undefined","MergedPropsComponent","passedProps","mergedProps","forEach","prop"],"rangeMappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;","mappings":";AAAA,SAASA,SAAS,EAAEC,gCAAgC,EAAEC,WAAW,QAAQ,iBAAgB;AACzF,OAAOC,WAAW,QAAO;AAEzB;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASC,gBAAuD,EACrEC,SAAS,EACTC,uBAAuB,EACvBC,gBAAgB,EAKjB;IACC,IAAID,4BAA4BE,WAAW;QACzCF,0BAA0B,CAACL,iCAAiCI;IAC9D;IACA,sHAAsH;IACtH,MAAMI,uBAAsD,CAACC;QAC3D,MAAMC,cAAcX,UAAUU,aAAaH;QAE3C,IAAID,yBAAyB;YAC3BJ,YAAYU,OAAO,CAAC,CAACC;gBACnB,OAAOF,WAAW,CAACE,KAAK;YAC1B;QACF;QAEA,qBAAO,KAACR;YAAW,GAAGM,WAAW;;IACnC;IAEA,OAAOF;AACT"}
1
+ {"version":3,"sources":["../../../src/elements/withMergedProps/index.tsx"],"sourcesContent":["import { deepMerge, isReactServerComponentOrFunction, serverProps } from 'payload/shared'\nimport React from 'react'\n\n/**\n * Creates a higher-order component (HOC) that merges predefined properties (`toMergeIntoProps`)\n * with any properties passed to the resulting component.\n *\n * Use this when you want to pre-specify some props for a component, while also allowing users to\n * pass in their own props. The HOC ensures the passed props and predefined props are combined before\n * rendering the original component.\n *\n * @example\n * const PredefinedComponent = getMergedPropsComponent({\n * Component: OriginalComponent,\n * toMergeIntoProps: { someExtraValue: 5 }\n * });\n * // Using <PredefinedComponent customProp=\"value\" /> will result in\n * // <OriginalComponent customProp=\"value\" someExtraValue={5} />\n *\n * @returns A higher-order component with combined properties.\n *\n * @param Component - The original component to wrap.\n * @param sanitizeServerOnlyProps - If true, server-only props will be removed from the merged props. @default true if the component is not a server component, false otherwise.\n * @param toMergeIntoProps - The properties to merge into the passed props.\n */\nexport function withMergedProps<ToMergeIntoProps, CompleteReturnProps>({\n Component,\n sanitizeServerOnlyProps,\n toMergeIntoProps,\n}: {\n Component: React.FC<CompleteReturnProps>\n sanitizeServerOnlyProps?: boolean\n toMergeIntoProps: ToMergeIntoProps\n}): React.FC<CompleteReturnProps> {\n if (sanitizeServerOnlyProps === undefined) {\n sanitizeServerOnlyProps = !isReactServerComponentOrFunction(Component)\n }\n // A wrapper around the args.Component to inject the args.toMergeArgs as props, which are merged with the passed props\n const MergedPropsComponent: React.FC<CompleteReturnProps> = (passedProps) => {\n const mergedProps = deepMerge(passedProps, toMergeIntoProps)\n\n if (sanitizeServerOnlyProps) {\n serverProps.forEach((prop) => {\n delete mergedProps[prop]\n })\n }\n\n return <Component {...mergedProps} />\n }\n\n return MergedPropsComponent\n}\n"],"names":["deepMerge","isReactServerComponentOrFunction","serverProps","React","withMergedProps","Component","sanitizeServerOnlyProps","toMergeIntoProps","undefined","MergedPropsComponent","passedProps","mergedProps","forEach","prop"],"mappings":";AAAA,SAASA,SAAS,EAAEC,gCAAgC,EAAEC,WAAW,QAAQ,iBAAgB;AACzF,OAAOC,WAAW,QAAO;AAEzB;;;;;;;;;;;;;;;;;;;;;CAqBC,GACD,OAAO,SAASC,gBAAuD,EACrEC,SAAS,EACTC,uBAAuB,EACvBC,gBAAgB,EAKjB;IACC,IAAID,4BAA4BE,WAAW;QACzCF,0BAA0B,CAACL,iCAAiCI;IAC9D;IACA,sHAAsH;IACtH,MAAMI,uBAAsD,CAACC;QAC3D,MAAMC,cAAcX,UAAUU,aAAaH;QAE3C,IAAID,yBAAyB;YAC3BJ,YAAYU,OAAO,CAAC,CAACC;gBACnB,OAAOF,WAAW,CAACE,KAAK;YAC1B;QACF;QAEA,qBAAO,KAACR;YAAW,GAAGM,WAAW;;IACnC;IAEA,OAAOF;AACT"}
@@ -0,0 +1,14 @@
1
+ "use client";
2
+ // Workaround for react-datepicker and other cjs dependencies potentially inserting require("react") statements
3
+ import * as requireReact from 'react';
4
+ import * as requireReactDom from 'react-dom';
5
+
6
+ function require(m) {
7
+ if (m === 'react') return requireReact;
8
+ if (m === 'react-dom') return requireReactDom;
9
+ throw new Error(`Unknown module ${m}`);
10
+ }
11
+ // Workaround end
12
+
13
+ import{j as a}from"./chunk-3X2D2TP2.js";import"./chunk-5LKBKI4T.js";export{a as default};
14
+ //# sourceMappingURL=DatePicker-BN5AOAME.js.map
@@ -0,0 +1,8 @@
1
+ "use client";
2
+ {
3
+ "version": 3,
4
+ "sources": [],
5
+ "sourcesContent": [],
6
+ "mappings": "",
7
+ "names": []
8
+ }