@payloadcms/ui 3.74.0-canary.6 → 3.74.0-internal-debug.1b84a48

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 (1221) hide show
  1. package/dist/@types/assets.d.js.map +1 -1
  2. package/dist/assets/index.js +1 -0
  3. package/dist/assets/index.js.map +1 -1
  4. package/dist/elements/AddNewRelation/index.js +218 -273
  5. package/dist/elements/AddNewRelation/index.js.map +1 -1
  6. package/dist/elements/AddNewRelation/types.js +2 -1
  7. package/dist/elements/AddNewRelation/types.js.map +1 -1
  8. package/dist/elements/AnimateHeight/index.js +84 -73
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -68
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +171 -101
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +186 -118
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +162 -181
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +52 -32
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +169 -173
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +84 -51
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +85 -94
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +30 -56
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +19 -27
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +193 -186
  31. package/dist/elements/BulkUpload/EditForm/index.js.map +1 -1
  32. package/dist/elements/BulkUpload/EditForm/types.js +2 -1
  33. package/dist/elements/BulkUpload/EditForm/types.js.map +1 -1
  34. package/dist/elements/BulkUpload/EditMany/DrawerContent.js +221 -172
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +56 -57
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +395 -316
  39. package/dist/elements/BulkUpload/FileSidebar/index.js.map +1 -1
  40. package/dist/elements/BulkUpload/FormsManager/createFormData.js +33 -32
  41. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  42. package/dist/elements/BulkUpload/FormsManager/index.js +519 -491
  43. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  44. package/dist/elements/BulkUpload/FormsManager/reducer.js +100 -90
  45. package/dist/elements/BulkUpload/FormsManager/reducer.js.map +1 -1
  46. package/dist/elements/BulkUpload/Header/index.js +27 -15
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +204 -271
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +227 -160
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +14 -1
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +53 -33
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +43 -36
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +29 -35
  59. package/dist/elements/ClipboardAction/ClipboardActionLabel.js.map +1 -1
  60. package/dist/elements/ClipboardAction/clipboardUtilities.js +33 -43
  61. package/dist/elements/ClipboardAction/clipboardUtilities.js.map +1 -1
  62. package/dist/elements/ClipboardAction/index.js +110 -83
  63. package/dist/elements/ClipboardAction/index.js.map +1 -1
  64. package/dist/elements/ClipboardAction/isClipboardDataValid.js +64 -71
  65. package/dist/elements/ClipboardAction/isClipboardDataValid.js.map +1 -1
  66. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js +75 -93
  67. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.js.map +1 -1
  68. package/dist/elements/ClipboardAction/types.js +2 -1
  69. package/dist/elements/ClipboardAction/types.js.map +1 -1
  70. package/dist/elements/CloseModalButton/index.js +25 -20
  71. package/dist/elements/CloseModalButton/index.js.map +1 -1
  72. package/dist/elements/CloseModalOnRouteChange/index.js +17 -43
  73. package/dist/elements/CloseModalOnRouteChange/index.js.map +1 -1
  74. package/dist/elements/CodeEditor/CodeEditor.js +82 -97
  75. package/dist/elements/CodeEditor/CodeEditor.js.map +1 -1
  76. package/dist/elements/CodeEditor/constants.js +15 -14
  77. package/dist/elements/CodeEditor/constants.js.map +1 -1
  78. package/dist/elements/CodeEditor/index.js +22 -10
  79. package/dist/elements/CodeEditor/index.js.map +1 -1
  80. package/dist/elements/CodeEditor/types.js +4 -1
  81. package/dist/elements/CodeEditor/types.js.map +1 -1
  82. package/dist/elements/Collapsible/index.js +151 -141
  83. package/dist/elements/Collapsible/index.js.map +1 -1
  84. package/dist/elements/Collapsible/provider.js +32 -30
  85. package/dist/elements/Collapsible/provider.js.map +1 -1
  86. package/dist/elements/ColumnSelector/index.js +54 -54
  87. package/dist/elements/ColumnSelector/index.js.map +1 -1
  88. package/dist/elements/Combobox/index.js +114 -84
  89. package/dist/elements/Combobox/index.js.map +1 -1
  90. package/dist/elements/ConfirmationModal/index.js +116 -129
  91. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  92. package/dist/elements/CopyLocaleData/index.js +213 -272
  93. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  94. package/dist/elements/CopyToClipboard/index.js +47 -70
  95. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  96. package/dist/elements/DatePicker/DatePicker.js +131 -136
  97. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  98. package/dist/elements/DatePicker/getFormattedLocale.js +11 -10
  99. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  100. package/dist/elements/DatePicker/index.js +23 -11
  101. package/dist/elements/DatePicker/index.js.map +1 -1
  102. package/dist/elements/DatePicker/types.js +2 -1
  103. package/dist/elements/DatePicker/types.js.map +1 -1
  104. package/dist/elements/DefaultListViewTabs/index.js +97 -131
  105. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  106. package/dist/elements/DeleteDocument/index.js +170 -141
  107. package/dist/elements/DeleteDocument/index.js.map +1 -1
  108. package/dist/elements/DeleteMany/index.js +371 -332
  109. package/dist/elements/DeleteMany/index.js.map +1 -1
  110. package/dist/elements/DocumentControls/index.d.ts +1 -0
  111. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  112. package/dist/elements/DocumentControls/index.js +513 -278
  113. package/dist/elements/DocumentControls/index.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerContent.d.ts.map +1 -1
  115. package/dist/elements/DocumentDrawer/DrawerContent.js +138 -123
  116. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  117. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +96 -103
  118. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  119. package/dist/elements/DocumentDrawer/Provider.js +24 -18
  120. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  121. package/dist/elements/DocumentDrawer/index.js +134 -210
  122. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  123. package/dist/elements/DocumentDrawer/types.js +12 -1
  124. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  125. package/dist/elements/DocumentFields/index.js +106 -69
  126. package/dist/elements/DocumentFields/index.js.map +1 -1
  127. package/dist/elements/DocumentLocked/index.js +154 -179
  128. package/dist/elements/DocumentLocked/index.js.map +1 -1
  129. package/dist/elements/DocumentTakeOver/index.js +97 -113
  130. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +26 -60
  132. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  133. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  134. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  135. package/dist/elements/DraggableSortable/index.js +76 -127
  136. package/dist/elements/DraggableSortable/index.js.map +1 -1
  137. package/dist/elements/DraggableSortable/types.js +2 -1
  138. package/dist/elements/DraggableSortable/types.js.map +1 -1
  139. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +25 -85
  140. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  141. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  142. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  143. package/dist/elements/Drawer/index.js +166 -192
  144. package/dist/elements/Drawer/index.js.map +1 -1
  145. package/dist/elements/Drawer/types.js +2 -1
  146. package/dist/elements/Drawer/types.js.map +1 -1
  147. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  148. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  149. package/dist/elements/DrawerActionHeader/index.js +59 -61
  150. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  151. package/dist/elements/DrawerContentContainer/index.js +14 -9
  152. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  153. package/dist/elements/Dropzone/index.js +90 -75
  154. package/dist/elements/Dropzone/index.js.map +1 -1
  155. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +145 -87
  156. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  157. package/dist/elements/DuplicateDocument/index.js +154 -144
  158. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  159. package/dist/elements/EditMany/DrawerContent.js +398 -389
  160. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  161. package/dist/elements/EditMany/index.js +79 -131
  162. package/dist/elements/EditMany/index.js.map +1 -1
  163. package/dist/elements/EditUpload/index.js +572 -395
  164. package/dist/elements/EditUpload/index.js.map +1 -1
  165. package/dist/elements/EmailAndUsername/index.js +96 -77
  166. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  167. package/dist/elements/ErrorPill/index.js +38 -24
  168. package/dist/elements/ErrorPill/index.js.map +1 -1
  169. package/dist/elements/FieldDiffContainer/index.js +50 -34
  170. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  171. package/dist/elements/FieldDiffLabel/index.js +10 -7
  172. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  173. package/dist/elements/FieldSelect/index.js +45 -75
  174. package/dist/elements/FieldSelect/index.js.map +1 -1
  175. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  176. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  177. package/dist/elements/FileDetails/DraggableFileDetails/index.js +113 -105
  178. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  179. package/dist/elements/FileDetails/FileMeta/index.js +72 -33
  180. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  181. package/dist/elements/FileDetails/StaticFileDetails/index.js +76 -58
  182. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  183. package/dist/elements/FileDetails/index.js +20 -14
  184. package/dist/elements/FileDetails/index.js.map +1 -1
  185. package/dist/elements/FolderView/Breadcrumbs/index.js +59 -86
  186. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  187. package/dist/elements/FolderView/BrowseByFolderButton/index.js +30 -30
  188. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  189. package/dist/elements/FolderView/Cell/index.client.js +88 -87
  190. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  191. package/dist/elements/FolderView/Cell/index.server.js +19 -14
  192. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  193. package/dist/elements/FolderView/ColoredFolderIcon/index.js +9 -4
  194. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  195. package/dist/elements/FolderView/CurrentFolderActions/index.js +174 -138
  196. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  197. package/dist/elements/FolderView/DragOverlaySelection/index.js +70 -51
  198. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  199. package/dist/elements/FolderView/DraggableTableRow/index.js +71 -54
  200. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  201. package/dist/elements/FolderView/DraggableWithClick/index.js +75 -79
  202. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  203. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +35 -33
  204. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  205. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +497 -565
  206. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  207. package/dist/elements/FolderView/FilterFolderTypePill/index.js +61 -89
  208. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  209. package/dist/elements/FolderView/FolderField/index.server.js +15 -10
  210. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  211. package/dist/elements/FolderView/FolderFileCard/index.js +218 -188
  212. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  213. package/dist/elements/FolderView/FolderFileTable/index.js +203 -264
  214. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  215. package/dist/elements/FolderView/FolderTypeField/index.js +93 -112
  216. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  217. package/dist/elements/FolderView/ItemCardGrid/index.js +35 -27
  218. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  219. package/dist/elements/FolderView/MoveDocToFolder/index.js +142 -264
  220. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  221. package/dist/elements/FolderView/SimpleTable/index.js +105 -83
  222. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  223. package/dist/elements/FolderView/SortByPill/index.js +162 -100
  224. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  225. package/dist/elements/FolderView/ToggleViewButtons/index.js +47 -24
  226. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  227. package/dist/elements/FullscreenModal/index.js +16 -22
  228. package/dist/elements/FullscreenModal/index.js.map +1 -1
  229. package/dist/elements/GenerateConfirmation/index.js +63 -83
  230. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  231. package/dist/elements/GroupByBuilder/index.js +142 -100
  232. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  233. package/dist/elements/Gutter/index.js +22 -19
  234. package/dist/elements/Gutter/index.js.map +1 -1
  235. package/dist/elements/HTMLDiff/diff/index.js +524 -502
  236. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  237. package/dist/elements/HTMLDiff/index.js +31 -26
  238. package/dist/elements/HTMLDiff/index.js.map +1 -1
  239. package/dist/elements/Hamburger/index.js +51 -40
  240. package/dist/elements/Hamburger/index.js.map +1 -1
  241. package/dist/elements/HydrateAuthProvider/index.js +15 -27
  242. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  243. package/dist/elements/IDLabel/index.js +31 -57
  244. package/dist/elements/IDLabel/index.js.map +1 -1
  245. package/dist/elements/ItemsDrawer/ItemSearch/index.js +43 -48
  246. package/dist/elements/ItemsDrawer/ItemSearch/index.js.map +1 -1
  247. package/dist/elements/ItemsDrawer/index.js +219 -168
  248. package/dist/elements/ItemsDrawer/index.js.map +1 -1
  249. package/dist/elements/LeaveWithoutSaving/index.js +74 -142
  250. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  251. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +115 -131
  252. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  253. package/dist/elements/Link/formatUrl.js +53 -56
  254. package/dist/elements/Link/formatUrl.js.map +1 -1
  255. package/dist/elements/Link/index.js +50 -54
  256. package/dist/elements/Link/index.js.map +1 -1
  257. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  258. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  259. package/dist/elements/ListControls/index.js +253 -168
  260. package/dist/elements/ListControls/index.js.map +1 -1
  261. package/dist/elements/ListControls/types.js +8 -1
  262. package/dist/elements/ListControls/types.js.map +1 -1
  263. package/dist/elements/ListDrawer/DrawerContent.js +183 -168
  264. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  265. package/dist/elements/ListDrawer/Provider.js +28 -19
  266. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  267. package/dist/elements/ListDrawer/index.js +149 -229
  268. package/dist/elements/ListDrawer/index.js.map +1 -1
  269. package/dist/elements/ListDrawer/types.js +6 -1
  270. package/dist/elements/ListDrawer/types.js.map +1 -1
  271. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +43 -84
  272. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  273. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +23 -33
  274. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  275. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  276. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  277. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +49 -73
  278. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  279. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +22 -40
  280. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  281. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +130 -162
  282. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  283. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +169 -148
  284. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  285. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  286. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  287. package/dist/elements/ListHeader/index.js +65 -24
  288. package/dist/elements/ListHeader/index.js.map +1 -1
  289. package/dist/elements/ListSelection/index.js +93 -58
  290. package/dist/elements/ListSelection/index.js.map +1 -1
  291. package/dist/elements/LivePreview/Device/index.js +83 -83
  292. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  293. package/dist/elements/LivePreview/DeviceContainer/index.js +29 -49
  294. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  295. package/dist/elements/LivePreview/IFrame/index.js +20 -44
  296. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  297. package/dist/elements/LivePreview/Toggler/index.js +32 -26
  298. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  299. package/dist/elements/LivePreview/Toolbar/Controls/index.js +210 -141
  300. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  301. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +62 -92
  302. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  303. package/dist/elements/LivePreview/Toolbar/index.js +84 -84
  304. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  305. package/dist/elements/LivePreview/ToolbarArea/index.js +15 -33
  306. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  307. package/dist/elements/LivePreview/Window/index.js +132 -166
  308. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  309. package/dist/elements/Loading/index.js +112 -144
  310. package/dist/elements/Loading/index.js.map +1 -1
  311. package/dist/elements/LoadingOverlay/index.js +68 -67
  312. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  313. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  314. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  315. package/dist/elements/LoadingOverlay/types.js +2 -1
  316. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  317. package/dist/elements/Localizer/LocalizerLabel/index.js +55 -51
  318. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  319. package/dist/elements/Localizer/index.js +99 -117
  320. package/dist/elements/Localizer/index.js.map +1 -1
  321. package/dist/elements/Locked/index.js +38 -59
  322. package/dist/elements/Locked/index.js.map +1 -1
  323. package/dist/elements/Logout/index.js +30 -51
  324. package/dist/elements/Logout/index.js.map +1 -1
  325. package/dist/elements/Modal/index.js +1 -1
  326. package/dist/elements/Modal/index.js.map +1 -1
  327. package/dist/elements/Nav/NavToggler/index.js +34 -80
  328. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  329. package/dist/elements/Nav/context.js +107 -103
  330. package/dist/elements/Nav/context.js.map +1 -1
  331. package/dist/elements/NavGroup/index.js +98 -122
  332. package/dist/elements/NavGroup/index.js.map +1 -1
  333. package/dist/elements/NoListResults/index.js +27 -14
  334. package/dist/elements/NoListResults/index.js.map +1 -1
  335. package/dist/elements/PageControls/GroupByPageControls.js +40 -71
  336. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  337. package/dist/elements/PageControls/index.js +77 -107
  338. package/dist/elements/PageControls/index.js.map +1 -1
  339. package/dist/elements/Pagination/ClickableArrow/index.js +24 -16
  340. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  341. package/dist/elements/Pagination/Page/index.js +19 -16
  342. package/dist/elements/Pagination/Page/index.js.map +1 -1
  343. package/dist/elements/Pagination/Separator/index.js +10 -6
  344. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  345. package/dist/elements/Pagination/index.js +102 -99
  346. package/dist/elements/Pagination/index.js.map +1 -1
  347. package/dist/elements/PerPage/index.js +93 -80
  348. package/dist/elements/PerPage/index.js.map +1 -1
  349. package/dist/elements/PermanentlyDeleteButton/index.js +150 -133
  350. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  351. package/dist/elements/Pill/index.js +109 -191
  352. package/dist/elements/Pill/index.js.map +1 -1
  353. package/dist/elements/PillSelector/index.js +79 -56
  354. package/dist/elements/PillSelector/index.js.map +1 -1
  355. package/dist/elements/Popup/PopupButtonList/index.js +65 -52
  356. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  357. package/dist/elements/Popup/PopupDivider/index.js +10 -5
  358. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  359. package/dist/elements/Popup/PopupGroupLabel/index.js +11 -8
  360. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  361. package/dist/elements/Popup/PopupTrigger/index.js +50 -44
  362. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  363. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  364. package/dist/elements/Popup/index.d.ts.map +1 -1
  365. package/dist/elements/Popup/index.js +351 -283
  366. package/dist/elements/Popup/index.js.map +1 -1
  367. package/dist/elements/PreviewButton/index.js +24 -31
  368. package/dist/elements/PreviewButton/index.js.map +1 -1
  369. package/dist/elements/PreviewSizes/index.js +206 -132
  370. package/dist/elements/PreviewSizes/index.js.map +1 -1
  371. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +154 -110
  372. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  373. package/dist/elements/PublishButton/ScheduleDrawer/index.d.ts.map +1 -1
  374. package/dist/elements/PublishButton/ScheduleDrawer/index.js +460 -309
  375. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  376. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  377. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  378. package/dist/elements/PublishButton/index.d.ts +3 -1
  379. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  380. package/dist/elements/PublishButton/index.js +259 -216
  381. package/dist/elements/PublishButton/index.js.map +1 -1
  382. package/dist/elements/PublishMany/DrawerContent.js +137 -134
  383. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  384. package/dist/elements/PublishMany/index.js +58 -109
  385. package/dist/elements/PublishMany/index.js.map +1 -1
  386. package/dist/elements/QueryPresets/QueryPresetBar/index.js +344 -266
  387. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  388. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +80 -87
  389. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  390. package/dist/elements/QueryPresets/cells/AccessCell/index.js +47 -21
  391. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  392. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +26 -19
  393. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  394. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +61 -48
  395. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  396. package/dist/elements/QueryPresets/cells/WhereCell/index.js +29 -27
  397. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  398. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +42 -47
  399. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  400. package/dist/elements/QueryPresets/fields/GroupByField/index.js +96 -74
  401. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  402. package/dist/elements/QueryPresets/fields/WhereField/index.js +149 -98
  403. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  404. package/dist/elements/ReactSelect/ClearIndicator/index.js +29 -27
  405. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  406. package/dist/elements/ReactSelect/Control/index.js +40 -41
  407. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  408. package/dist/elements/ReactSelect/DropdownIndicator/index.js +26 -23
  409. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  410. package/dist/elements/ReactSelect/Input/index.js +20 -13
  411. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  412. package/dist/elements/ReactSelect/MultiValue/index.js +48 -126
  413. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  414. package/dist/elements/ReactSelect/MultiValueLabel/index.js +29 -32
  415. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  416. package/dist/elements/ReactSelect/MultiValueRemove/index.js +49 -86
  417. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  418. package/dist/elements/ReactSelect/SingleValue/index.js +22 -14
  419. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  420. package/dist/elements/ReactSelect/ValueContainer/index.js +38 -29
  421. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  422. package/dist/elements/ReactSelect/index.js +214 -201
  423. package/dist/elements/ReactSelect/index.js.map +1 -1
  424. package/dist/elements/ReactSelect/types.js +9 -1
  425. package/dist/elements/ReactSelect/types.js.map +1 -1
  426. package/dist/elements/RelationshipTable/AddNewButton.js +68 -58
  427. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  428. package/dist/elements/RelationshipTable/Pagination.js +21 -48
  429. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  430. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +39 -34
  431. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  432. package/dist/elements/RelationshipTable/index.js +374 -258
  433. package/dist/elements/RelationshipTable/index.js.map +1 -1
  434. package/dist/elements/RenderComponent/index.js +29 -20
  435. package/dist/elements/RenderComponent/index.js.map +1 -1
  436. package/dist/elements/RenderCustomComponent/index.js +3 -5
  437. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  438. package/dist/elements/RenderIfInViewport/index.js +27 -58
  439. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  440. package/dist/elements/RenderServerComponent/index.js +57 -56
  441. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  442. package/dist/elements/RenderTitle/index.js +44 -59
  443. package/dist/elements/RenderTitle/index.js.map +1 -1
  444. package/dist/elements/RestoreButton/index.js +187 -154
  445. package/dist/elements/RestoreButton/index.js.map +1 -1
  446. package/dist/elements/RestoreMany/index.js +177 -170
  447. package/dist/elements/RestoreMany/index.js.map +1 -1
  448. package/dist/elements/SaveButton/index.js +46 -49
  449. package/dist/elements/SaveButton/index.js.map +1 -1
  450. package/dist/elements/SaveDraftButton/index.js +84 -88
  451. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  452. package/dist/elements/SearchBar/index.js +37 -19
  453. package/dist/elements/SearchBar/index.js.map +1 -1
  454. package/dist/elements/SearchFilter/index.js +60 -54
  455. package/dist/elements/SearchFilter/index.js.map +1 -1
  456. package/dist/elements/SearchFilter/types.js +20 -1
  457. package/dist/elements/SearchFilter/types.js.map +1 -1
  458. package/dist/elements/SelectAll/index.js +21 -46
  459. package/dist/elements/SelectAll/index.js.map +1 -1
  460. package/dist/elements/SelectMany/index.js +27 -25
  461. package/dist/elements/SelectMany/index.js.map +1 -1
  462. package/dist/elements/SelectRow/index.js +27 -79
  463. package/dist/elements/SelectRow/index.js.map +1 -1
  464. package/dist/elements/ShimmerEffect/index.js +58 -73
  465. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  466. package/dist/elements/SortColumn/index.js +98 -106
  467. package/dist/elements/SortColumn/index.js.map +1 -1
  468. package/dist/elements/SortComplex/index.js +142 -163
  469. package/dist/elements/SortComplex/index.js.map +1 -1
  470. package/dist/elements/SortHeader/index.js +54 -87
  471. package/dist/elements/SortHeader/index.js.map +1 -1
  472. package/dist/elements/SortRow/index.js +21 -27
  473. package/dist/elements/SortRow/index.js.map +1 -1
  474. package/dist/elements/Status/index.js +159 -134
  475. package/dist/elements/Status/index.js.map +1 -1
  476. package/dist/elements/StayLoggedIn/index.js +38 -76
  477. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  478. package/dist/elements/StepNav/SetStepNav.js +10 -27
  479. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  480. package/dist/elements/StepNav/context.js +24 -41
  481. package/dist/elements/StepNav/context.js.map +1 -1
  482. package/dist/elements/StepNav/index.js +148 -92
  483. package/dist/elements/StepNav/index.js.map +1 -1
  484. package/dist/elements/StepNav/types.js +2 -1
  485. package/dist/elements/StepNav/types.js.map +1 -1
  486. package/dist/elements/StickyToolbar/index.js +10 -8
  487. package/dist/elements/StickyToolbar/index.js.map +1 -1
  488. package/dist/elements/Table/DefaultCell/fields/Array/index.js +13 -28
  489. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  490. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +34 -60
  491. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  492. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +18 -27
  493. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  494. package/dist/elements/Table/DefaultCell/fields/Code/index.js +22 -17
  495. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  496. package/dist/elements/Table/DefaultCell/fields/Date/index.js +22 -41
  497. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  498. package/dist/elements/Table/DefaultCell/fields/File/index.js +53 -43
  499. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  500. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +35 -43
  501. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  502. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +115 -183
  503. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  504. package/dist/elements/Table/DefaultCell/fields/Select/index.js +22 -44
  505. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  506. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +11 -9
  507. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  508. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  509. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  510. package/dist/elements/Table/DefaultCell/index.js +124 -151
  511. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  512. package/dist/elements/Table/OrderableRow.js +40 -32
  513. package/dist/elements/Table/OrderableRow.js.map +1 -1
  514. package/dist/elements/Table/OrderableRowDragPreview.js +24 -15
  515. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  516. package/dist/elements/Table/OrderableTable.js +225 -170
  517. package/dist/elements/Table/OrderableTable.js.map +1 -1
  518. package/dist/elements/Table/RelationshipProvider/index.js +106 -162
  519. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  520. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  521. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  522. package/dist/elements/Table/index.js +83 -45
  523. package/dist/elements/Table/index.js.map +1 -1
  524. package/dist/elements/Thumbnail/createThumbnail.js +53 -48
  525. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  526. package/dist/elements/Thumbnail/index.js +127 -148
  527. package/dist/elements/Thumbnail/index.js.map +1 -1
  528. package/dist/elements/ThumbnailCard/index.js +47 -68
  529. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  530. package/dist/elements/TimezonePicker/index.js +53 -44
  531. package/dist/elements/TimezonePicker/index.js.map +1 -1
  532. package/dist/elements/TimezonePicker/types.js +2 -1
  533. package/dist/elements/TimezonePicker/types.js.map +1 -1
  534. package/dist/elements/Toasts/fieldErrors.js +69 -77
  535. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  536. package/dist/elements/Tooltip/index.js +98 -65
  537. package/dist/elements/Tooltip/index.js.map +1 -1
  538. package/dist/elements/Translation/index.js +48 -39
  539. package/dist/elements/Translation/index.js.map +1 -1
  540. package/dist/elements/TrashBanner/index.js +33 -26
  541. package/dist/elements/TrashBanner/index.js.map +1 -1
  542. package/dist/elements/UnpublishButton/index.d.ts +4 -1
  543. package/dist/elements/UnpublishButton/index.d.ts.map +1 -1
  544. package/dist/elements/UnpublishButton/index.js +182 -170
  545. package/dist/elements/UnpublishButton/index.js.map +1 -1
  546. package/dist/elements/UnpublishMany/DrawerContent.js +130 -127
  547. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  548. package/dist/elements/UnpublishMany/index.js +58 -109
  549. package/dist/elements/UnpublishMany/index.js.map +1 -1
  550. package/dist/elements/Upload/index.js +633 -481
  551. package/dist/elements/Upload/index.js.map +1 -1
  552. package/dist/elements/ViewDescription/index.js +15 -26
  553. package/dist/elements/ViewDescription/index.js.map +1 -1
  554. package/dist/elements/ViewDescription/types.js.map +1 -1
  555. package/dist/elements/WhereBuilder/Condition/Date/index.js +23 -29
  556. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  557. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  558. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  559. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +95 -76
  560. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  561. package/dist/elements/WhereBuilder/Condition/Number/index.js +74 -129
  562. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  563. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  564. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  565. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +353 -313
  566. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  567. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  568. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  569. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  570. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  571. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  572. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  573. package/dist/elements/WhereBuilder/Condition/Select/index.js +69 -154
  574. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  575. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  576. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  577. package/dist/elements/WhereBuilder/Condition/Text/index.js +72 -123
  578. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  579. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  580. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  581. package/dist/elements/WhereBuilder/Condition/index.js +206 -143
  582. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  583. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  584. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  585. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  586. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  587. package/dist/elements/WhereBuilder/field-types.js +192 -119
  588. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  589. package/dist/elements/WhereBuilder/index.js +266 -201
  590. package/dist/elements/WhereBuilder/index.js.map +1 -1
  591. package/dist/elements/WhereBuilder/types.js +2 -1
  592. package/dist/elements/WhereBuilder/types.js.map +1 -1
  593. package/dist/elements/WindowInfo/index.js +1 -1
  594. package/dist/elements/WindowInfo/index.js.map +1 -1
  595. package/dist/elements/WithServerSideProps/index.js +20 -19
  596. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  597. package/dist/elements/withMergedProps/index.js +26 -26
  598. package/dist/elements/withMergedProps/index.js.map +1 -1
  599. package/dist/exports/client/index.d.ts +1 -0
  600. package/dist/exports/client/index.d.ts.map +1 -1
  601. package/dist/exports/client/index.js +298 -96
  602. package/dist/exports/client/index.js.map +1 -7
  603. package/dist/exports/rsc/index.js +1 -0
  604. package/dist/exports/rsc/index.js.map +1 -1
  605. package/dist/exports/shared/index.js +36 -6
  606. package/dist/exports/shared/index.js.map +1 -7
  607. package/dist/fields/Array/ArrayRow.js +111 -168
  608. package/dist/fields/Array/ArrayRow.js.map +1 -1
  609. package/dist/fields/Array/index.js +532 -398
  610. package/dist/fields/Array/index.js.map +1 -1
  611. package/dist/fields/Blocks/BlockRow.js +163 -198
  612. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  613. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +30 -38
  614. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  615. package/dist/fields/Blocks/BlockSelector/index.js +159 -103
  616. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  617. package/dist/fields/Blocks/BlocksDrawer/index.js +37 -80
  618. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  619. package/dist/fields/Blocks/RowActions.js +50 -106
  620. package/dist/fields/Blocks/RowActions.js.map +1 -1
  621. package/dist/fields/Blocks/SectionTitle/index.js +36 -78
  622. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  623. package/dist/fields/Blocks/index.js +566 -425
  624. package/dist/fields/Blocks/index.js.map +1 -1
  625. package/dist/fields/Checkbox/Input.js +91 -115
  626. package/dist/fields/Checkbox/Input.js.map +1 -1
  627. package/dist/fields/Checkbox/index.js +107 -99
  628. package/dist/fields/Checkbox/index.js.map +1 -1
  629. package/dist/fields/Code/index.js +146 -114
  630. package/dist/fields/Code/index.js.map +1 -1
  631. package/dist/fields/Collapsible/index.js +172 -134
  632. package/dist/fields/Collapsible/index.js.map +1 -1
  633. package/dist/fields/ConfirmPassword/index.js +67 -83
  634. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  635. package/dist/fields/DateTime/index.js +217 -171
  636. package/dist/fields/DateTime/index.js.map +1 -1
  637. package/dist/fields/Email/index.js +111 -86
  638. package/dist/fields/Email/index.js.map +1 -1
  639. package/dist/fields/FieldDescription/index.js +20 -43
  640. package/dist/fields/FieldDescription/index.js.map +1 -1
  641. package/dist/fields/FieldError/index.js +22 -58
  642. package/dist/fields/FieldError/index.js.map +1 -1
  643. package/dist/fields/FieldLabel/index.js +43 -45
  644. package/dist/fields/FieldLabel/index.js.map +1 -1
  645. package/dist/fields/Group/index.js +150 -102
  646. package/dist/fields/Group/index.js.map +1 -1
  647. package/dist/fields/Group/provider.js +13 -12
  648. package/dist/fields/Group/provider.js.map +1 -1
  649. package/dist/fields/Hidden/index.js +27 -67
  650. package/dist/fields/Hidden/index.js.map +1 -1
  651. package/dist/fields/JSON/index.js +185 -143
  652. package/dist/fields/JSON/index.js.map +1 -1
  653. package/dist/fields/Join/index.js +214 -189
  654. package/dist/fields/Join/index.js.map +1 -1
  655. package/dist/fields/Number/index.js +213 -169
  656. package/dist/fields/Number/index.js.map +1 -1
  657. package/dist/fields/Password/index.js +80 -101
  658. package/dist/fields/Password/index.js.map +1 -1
  659. package/dist/fields/Password/input.js +108 -122
  660. package/dist/fields/Password/input.js.map +1 -1
  661. package/dist/fields/Password/types.js +12 -1
  662. package/dist/fields/Password/types.js.map +1 -1
  663. package/dist/fields/Point/index.js +199 -127
  664. package/dist/fields/Point/index.js.map +1 -1
  665. package/dist/fields/RadioGroup/Radio/index.js +56 -81
  666. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  667. package/dist/fields/RadioGroup/index.js +146 -114
  668. package/dist/fields/RadioGroup/index.js.map +1 -1
  669. package/dist/fields/Relationship/Input.js +811 -733
  670. package/dist/fields/Relationship/Input.js.map +1 -1
  671. package/dist/fields/Relationship/createRelationMap.js +31 -33
  672. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  673. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  674. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  675. package/dist/fields/Relationship/index.js +152 -160
  676. package/dist/fields/Relationship/index.js.map +1 -1
  677. package/dist/fields/Relationship/optionsReducer.js +144 -139
  678. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  679. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +92 -82
  680. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  681. package/dist/fields/Relationship/select-components/SingleValue/index.js +95 -118
  682. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  683. package/dist/fields/Relationship/types.js +2 -1
  684. package/dist/fields/Relationship/types.js.map +1 -1
  685. package/dist/fields/RichText/index.js +3 -3
  686. package/dist/fields/RichText/index.js.map +1 -1
  687. package/dist/fields/Row/index.js +37 -35
  688. package/dist/fields/Row/index.js.map +1 -1
  689. package/dist/fields/Row/provider.js +13 -12
  690. package/dist/fields/Row/provider.js.map +1 -1
  691. package/dist/fields/Select/Input.js +114 -165
  692. package/dist/fields/Select/Input.js.map +1 -1
  693. package/dist/fields/Select/index.js +89 -108
  694. package/dist/fields/Select/index.js.map +1 -1
  695. package/dist/fields/Slug/index.js +103 -134
  696. package/dist/fields/Slug/index.js.map +1 -1
  697. package/dist/fields/Tabs/Tab/index.js +54 -60
  698. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  699. package/dist/fields/Tabs/index.js +213 -382
  700. package/dist/fields/Tabs/index.js.map +1 -1
  701. package/dist/fields/Tabs/provider.js +13 -12
  702. package/dist/fields/Tabs/provider.js.map +1 -1
  703. package/dist/fields/Text/Input.js +169 -191
  704. package/dist/fields/Text/Input.js.map +1 -1
  705. package/dist/fields/Text/index.js +107 -126
  706. package/dist/fields/Text/index.js.map +1 -1
  707. package/dist/fields/Text/types.js +2 -1
  708. package/dist/fields/Text/types.js.map +1 -1
  709. package/dist/fields/Textarea/Input.js +104 -115
  710. package/dist/fields/Textarea/Input.js.map +1 -1
  711. package/dist/fields/Textarea/index.js +61 -88
  712. package/dist/fields/Textarea/index.js.map +1 -1
  713. package/dist/fields/Textarea/types.js +2 -1
  714. package/dist/fields/Textarea/types.js.map +1 -1
  715. package/dist/fields/UI/index.js +3 -3
  716. package/dist/fields/UI/index.js.map +1 -1
  717. package/dist/fields/Upload/HasMany/index.js +142 -187
  718. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  719. package/dist/fields/Upload/HasOne/index.js +60 -61
  720. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  721. package/dist/fields/Upload/Input.js +755 -566
  722. package/dist/fields/Upload/Input.js.map +1 -1
  723. package/dist/fields/Upload/RelationshipContent/index.js +141 -145
  724. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  725. package/dist/fields/Upload/UploadCard/index.js +15 -10
  726. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  727. package/dist/fields/Upload/index.js +79 -96
  728. package/dist/fields/Upload/index.js.map +1 -1
  729. package/dist/fields/Upload/types.js +3 -1
  730. package/dist/fields/Upload/types.js.map +1 -1
  731. package/dist/fields/index.js +31 -31
  732. package/dist/fields/index.js.map +1 -1
  733. package/dist/fields/mergeFieldStyles.js +13 -12
  734. package/dist/fields/mergeFieldStyles.js.map +1 -1
  735. package/dist/fields/shared/index.js +8 -17
  736. package/dist/fields/shared/index.js.map +1 -1
  737. package/dist/forms/Form/context.js +17 -24
  738. package/dist/forms/Form/context.js.map +1 -1
  739. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  740. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  741. package/dist/forms/Form/errorMessages.js +2 -2
  742. package/dist/forms/Form/errorMessages.js.map +1 -1
  743. package/dist/forms/Form/fieldReducer.js +378 -412
  744. package/dist/forms/Form/fieldReducer.js.map +1 -1
  745. package/dist/forms/Form/index.js +754 -694
  746. package/dist/forms/Form/index.js.map +1 -1
  747. package/dist/forms/Form/initContextState.js +38 -38
  748. package/dist/forms/Form/initContextState.js.map +1 -1
  749. package/dist/forms/Form/mergeServerFormState.js +93 -97
  750. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  751. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  752. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  753. package/dist/forms/Form/rowHelpers.js +27 -34
  754. package/dist/forms/Form/rowHelpers.js.map +1 -1
  755. package/dist/forms/Form/rows.js +34 -34
  756. package/dist/forms/Form/rows.js.map +1 -1
  757. package/dist/forms/Form/types.js +53 -1
  758. package/dist/forms/Form/types.js.map +1 -1
  759. package/dist/forms/NullifyField/index.js +61 -96
  760. package/dist/forms/NullifyField/index.js.map +1 -1
  761. package/dist/forms/RenderFields/RenderField.js +237 -259
  762. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  763. package/dist/forms/RenderFields/context.js +9 -9
  764. package/dist/forms/RenderFields/context.js.map +1 -1
  765. package/dist/forms/RenderFields/index.js +76 -115
  766. package/dist/forms/RenderFields/index.js.map +1 -1
  767. package/dist/forms/RenderFields/types.js +2 -1
  768. package/dist/forms/RenderFields/types.js.map +1 -1
  769. package/dist/forms/RowLabel/Context/index.js +30 -29
  770. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  771. package/dist/forms/RowLabel/index.js +33 -24
  772. package/dist/forms/RowLabel/index.js.map +1 -1
  773. package/dist/forms/RowLabel/types.js +2 -1
  774. package/dist/forms/RowLabel/types.js.map +1 -1
  775. package/dist/forms/Submit/index.js +32 -35
  776. package/dist/forms/Submit/index.js.map +1 -1
  777. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  778. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  779. package/dist/forms/WatchChildErrors/index.js +41 -66
  780. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  781. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +681 -706
  782. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  783. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  784. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  785. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  786. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  787. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  788. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  789. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +67 -60
  790. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  791. package/dist/forms/fieldSchemasToFormState/index.js +90 -79
  792. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  793. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  794. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  795. package/dist/forms/fieldSchemasToFormState/iterateFields.js +95 -116
  796. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  797. package/dist/forms/fieldSchemasToFormState/renderField.js +275 -276
  798. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  799. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +90 -75
  800. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  801. package/dist/forms/fieldSchemasToFormState/types.js +6 -1
  802. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  803. package/dist/forms/useField/index.js +180 -292
  804. package/dist/forms/useField/index.js.map +1 -1
  805. package/dist/forms/useField/types.js +20 -1
  806. package/dist/forms/useField/types.js.map +1 -1
  807. package/dist/forms/withCondition/WatchCondition.js +9 -27
  808. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  809. package/dist/forms/withCondition/index.js +21 -15
  810. package/dist/forms/withCondition/index.js.map +1 -1
  811. package/dist/graphics/Account/Default/index.js +46 -22
  812. package/dist/graphics/Account/Default/index.js.map +1 -1
  813. package/dist/graphics/Account/Gravatar/index.js +25 -34
  814. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  815. package/dist/graphics/Account/index.js +24 -51
  816. package/dist/graphics/Account/index.js.map +1 -1
  817. package/dist/graphics/DefaultBlockImage/index.js +117 -62
  818. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  819. package/dist/graphics/File/index.js +33 -17
  820. package/dist/graphics/File/index.js.map +1 -1
  821. package/dist/graphics/Icon/index.js +33 -19
  822. package/dist/graphics/Icon/index.js.map +1 -1
  823. package/dist/graphics/Logo/index.js +112 -39
  824. package/dist/graphics/Logo/index.js.map +1 -1
  825. package/dist/hooks/useClickOutside.js +19 -15
  826. package/dist/hooks/useClickOutside.js.map +1 -1
  827. package/dist/hooks/useControllableState.js +25 -35
  828. package/dist/hooks/useControllableState.js.map +1 -1
  829. package/dist/hooks/useDebounce.js +15 -26
  830. package/dist/hooks/useDebounce.js.map +1 -1
  831. package/dist/hooks/useDebouncedCallback.js +15 -23
  832. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  833. package/dist/hooks/useDebouncedEffect.js +18 -53
  834. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  835. package/dist/hooks/useDelay.js +27 -52
  836. package/dist/hooks/useDelay.js.map +1 -1
  837. package/dist/hooks/useDelayedRender.js +42 -76
  838. package/dist/hooks/useDelayedRender.js.map +1 -1
  839. package/dist/hooks/useEffectEvent.js +16 -13
  840. package/dist/hooks/useEffectEvent.js.map +1 -1
  841. package/dist/hooks/useHotkey.js +96 -110
  842. package/dist/hooks/useHotkey.js.map +1 -1
  843. package/dist/hooks/useIntersect.js +28 -59
  844. package/dist/hooks/useIntersect.js.map +1 -1
  845. package/dist/hooks/usePayloadAPI.js +78 -172
  846. package/dist/hooks/usePayloadAPI.js.map +1 -1
  847. package/dist/hooks/usePopupWindow.js +91 -133
  848. package/dist/hooks/usePopupWindow.js.map +1 -1
  849. package/dist/hooks/useQueue.js +48 -38
  850. package/dist/hooks/useQueue.js.map +1 -1
  851. package/dist/hooks/useRelatedCollections.js +15 -27
  852. package/dist/hooks/useRelatedCollections.js.map +1 -1
  853. package/dist/hooks/useResize.js +42 -70
  854. package/dist/hooks/useResize.js.map +1 -1
  855. package/dist/hooks/useThrottledEffect.js +17 -51
  856. package/dist/hooks/useThrottledEffect.js.map +1 -1
  857. package/dist/hooks/useThrottledValue.js +16 -13
  858. package/dist/hooks/useThrottledValue.js.map +1 -1
  859. package/dist/hooks/useUseAsTitle.js +7 -27
  860. package/dist/hooks/useUseAsTitle.js.map +1 -1
  861. package/dist/icons/Calendar/index.js +20 -11
  862. package/dist/icons/Calendar/index.js.map +1 -1
  863. package/dist/icons/Check/index.js +20 -11
  864. package/dist/icons/Check/index.js.map +1 -1
  865. package/dist/icons/Chevron/index.js +30 -22
  866. package/dist/icons/Chevron/index.js.map +1 -1
  867. package/dist/icons/CloseMenu/index.js +20 -11
  868. package/dist/icons/CloseMenu/index.js.map +1 -1
  869. package/dist/icons/CodeBlock/index.js +22 -13
  870. package/dist/icons/CodeBlock/index.js.map +1 -1
  871. package/dist/icons/Copy/index.js +24 -17
  872. package/dist/icons/Copy/index.js.map +1 -1
  873. package/dist/icons/Document/index.js +25 -16
  874. package/dist/icons/Document/index.js.map +1 -1
  875. package/dist/icons/Dots/index.js +32 -11
  876. package/dist/icons/Dots/index.js.map +1 -1
  877. package/dist/icons/DragHandle/index.js +70 -33
  878. package/dist/icons/DragHandle/index.js.map +1 -1
  879. package/dist/icons/Edit/index.js +23 -13
  880. package/dist/icons/Edit/index.js.map +1 -1
  881. package/dist/icons/ExternalLink/index.js +25 -15
  882. package/dist/icons/ExternalLink/index.js.map +1 -1
  883. package/dist/icons/Eye/index.js +53 -25
  884. package/dist/icons/Eye/index.js.map +1 -1
  885. package/dist/icons/Folder/index.js +26 -16
  886. package/dist/icons/Folder/index.js.map +1 -1
  887. package/dist/icons/Gear/index.js +34 -21
  888. package/dist/icons/Gear/index.js.map +1 -1
  889. package/dist/icons/GridView/index.js +57 -31
  890. package/dist/icons/GridView/index.js.map +1 -1
  891. package/dist/icons/Line/index.js +23 -14
  892. package/dist/icons/Line/index.js.map +1 -1
  893. package/dist/icons/Link/index.js +25 -16
  894. package/dist/icons/Link/index.js.map +1 -1
  895. package/dist/icons/ListView/index.js +25 -16
  896. package/dist/icons/ListView/index.js.map +1 -1
  897. package/dist/icons/Lock/index.js +41 -24
  898. package/dist/icons/Lock/index.js.map +1 -1
  899. package/dist/icons/LogOut/index.js +23 -14
  900. package/dist/icons/LogOut/index.js.map +1 -1
  901. package/dist/icons/Menu/index.js +23 -14
  902. package/dist/icons/Menu/index.js.map +1 -1
  903. package/dist/icons/MinimizeMaximize/index.js +33 -19
  904. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  905. package/dist/icons/More/index.js +43 -21
  906. package/dist/icons/More/index.js.map +1 -1
  907. package/dist/icons/MoveFolder/index.js +62 -34
  908. package/dist/icons/MoveFolder/index.js.map +1 -1
  909. package/dist/icons/People/index.js +28 -17
  910. package/dist/icons/People/index.js.map +1 -1
  911. package/dist/icons/Plus/index.js +22 -13
  912. package/dist/icons/Plus/index.js.map +1 -1
  913. package/dist/icons/Search/index.js +21 -12
  914. package/dist/icons/Search/index.js.map +1 -1
  915. package/dist/icons/Sort/index.js +48 -35
  916. package/dist/icons/Sort/index.js.map +1 -1
  917. package/dist/icons/Swap/index.js +20 -11
  918. package/dist/icons/Swap/index.js.map +1 -1
  919. package/dist/icons/ThreeDots/index.js +27 -8
  920. package/dist/icons/ThreeDots/index.js.map +1 -1
  921. package/dist/icons/Trash/index.js +28 -18
  922. package/dist/icons/Trash/index.js.map +1 -1
  923. package/dist/icons/X/index.js +25 -15
  924. package/dist/icons/X/index.js.map +1 -1
  925. package/dist/providers/Actions/index.js +21 -33
  926. package/dist/providers/Actions/index.js.map +1 -1
  927. package/dist/providers/Auth/index.js +293 -243
  928. package/dist/providers/Auth/index.js.map +1 -1
  929. package/dist/providers/ClickOutside/index.js +35 -35
  930. package/dist/providers/ClickOutside/index.js.map +1 -1
  931. package/dist/providers/ClientFunction/index.js +63 -104
  932. package/dist/providers/ClientFunction/index.js.map +1 -1
  933. package/dist/providers/Config/index.js +91 -91
  934. package/dist/providers/Config/index.js.map +1 -1
  935. package/dist/providers/DocumentEvents/index.js +19 -30
  936. package/dist/providers/DocumentEvents/index.js.map +1 -1
  937. package/dist/providers/DocumentInfo/index.js +342 -335
  938. package/dist/providers/DocumentInfo/index.js.map +1 -1
  939. package/dist/providers/DocumentInfo/types.js +26 -1
  940. package/dist/providers/DocumentInfo/types.js.map +1 -1
  941. package/dist/providers/DocumentInfo/useGetDocPermissions.js +81 -79
  942. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  943. package/dist/providers/DocumentTitle/context.js.map +1 -1
  944. package/dist/providers/DocumentTitle/index.js +51 -55
  945. package/dist/providers/DocumentTitle/index.js.map +1 -1
  946. package/dist/providers/EditDepth/index.js +15 -25
  947. package/dist/providers/EditDepth/index.js.map +1 -1
  948. package/dist/providers/EntityVisibility/index.js +26 -48
  949. package/dist/providers/EntityVisibility/index.js.map +1 -1
  950. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  951. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  952. package/dist/providers/Folders/index.js +698 -600
  953. package/dist/providers/Folders/index.js.map +1 -1
  954. package/dist/providers/ListQuery/context.js +3 -2
  955. package/dist/providers/ListQuery/context.js.map +1 -1
  956. package/dist/providers/ListQuery/index.js +156 -142
  957. package/dist/providers/ListQuery/index.js.map +1 -1
  958. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  959. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  960. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  961. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  962. package/dist/providers/ListQuery/types.js +6 -1
  963. package/dist/providers/ListQuery/types.js.map +1 -1
  964. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  965. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  966. package/dist/providers/LivePreview/context.js +60 -55
  967. package/dist/providers/LivePreview/context.js.map +1 -1
  968. package/dist/providers/LivePreview/index.js +228 -208
  969. package/dist/providers/LivePreview/index.js.map +1 -1
  970. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  971. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  972. package/dist/providers/Locale/index.js +87 -154
  973. package/dist/providers/Locale/index.js.map +1 -1
  974. package/dist/providers/Operation/index.js +12 -11
  975. package/dist/providers/Operation/index.js.map +1 -1
  976. package/dist/providers/Params/index.js +14 -26
  977. package/dist/providers/Params/index.js.map +1 -1
  978. package/dist/providers/Preferences/index.js +130 -122
  979. package/dist/providers/Preferences/index.js.map +1 -1
  980. package/dist/providers/Root/index.js +191 -116
  981. package/dist/providers/Root/index.js.map +1 -1
  982. package/dist/providers/RouteCache/index.js +53 -103
  983. package/dist/providers/RouteCache/index.js.map +1 -1
  984. package/dist/providers/RouteTransition/ProgressBar/index.js +61 -80
  985. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  986. package/dist/providers/RouteTransition/index.js +69 -94
  987. package/dist/providers/RouteTransition/index.js.map +1 -1
  988. package/dist/providers/ScrollInfo/index.js +1 -1
  989. package/dist/providers/ScrollInfo/index.js.map +1 -1
  990. package/dist/providers/SearchParams/index.js +36 -35
  991. package/dist/providers/SearchParams/index.js.map +1 -1
  992. package/dist/providers/Selection/index.js +212 -192
  993. package/dist/providers/Selection/index.js.map +1 -1
  994. package/dist/providers/ServerFunctions/index.d.ts +1 -2
  995. package/dist/providers/ServerFunctions/index.d.ts.map +1 -1
  996. package/dist/providers/ServerFunctions/index.js +198 -189
  997. package/dist/providers/ServerFunctions/index.js.map +1 -1
  998. package/dist/providers/TableColumns/RenderDefaultCell/index.js +33 -62
  999. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  1000. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  1001. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  1002. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  1003. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  1004. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  1005. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  1006. package/dist/providers/TableColumns/buildColumnState/index.js +133 -144
  1007. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  1008. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  1009. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  1010. package/dist/providers/TableColumns/buildColumnState/renderCell.js +150 -151
  1011. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  1012. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  1013. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  1014. package/dist/providers/TableColumns/context.js +2 -1
  1015. package/dist/providers/TableColumns/context.js.map +1 -1
  1016. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  1017. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  1018. package/dist/providers/TableColumns/index.js +88 -85
  1019. package/dist/providers/TableColumns/index.js.map +1 -1
  1020. package/dist/providers/TableColumns/types.js +18 -1
  1021. package/dist/providers/TableColumns/types.js.map +1 -1
  1022. package/dist/providers/Theme/index.js +69 -104
  1023. package/dist/providers/Theme/index.js.map +1 -1
  1024. package/dist/providers/ToastContainer/icons/Error.js +34 -19
  1025. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1026. package/dist/providers/ToastContainer/icons/Info.js +34 -19
  1027. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1028. package/dist/providers/ToastContainer/icons/Success.js +34 -19
  1029. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1030. package/dist/providers/ToastContainer/icons/Warning.js +34 -19
  1031. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1032. package/dist/providers/ToastContainer/index.js +56 -47
  1033. package/dist/providers/ToastContainer/index.js.map +1 -1
  1034. package/dist/providers/Translation/index.js +66 -112
  1035. package/dist/providers/Translation/index.js.map +1 -1
  1036. package/dist/providers/UploadControls/index.js +28 -40
  1037. package/dist/providers/UploadControls/index.js.map +1 -1
  1038. package/dist/providers/UploadEdits/index.js +31 -73
  1039. package/dist/providers/UploadEdits/index.js.map +1 -1
  1040. package/dist/providers/UploadHandlers/index.js +30 -65
  1041. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1042. package/dist/providers/WindowInfo/index.js +5 -9
  1043. package/dist/providers/WindowInfo/index.js.map +1 -1
  1044. package/dist/styles.css +0 -1
  1045. package/dist/utilities/abortAndIgnore.js +15 -17
  1046. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1047. package/dist/utilities/api.js +78 -77
  1048. package/dist/utilities/api.js.map +1 -1
  1049. package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
  1050. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1051. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +150 -159
  1052. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1053. package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
  1054. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1055. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +117 -126
  1056. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1057. package/dist/utilities/buildFormState.js +151 -186
  1058. package/dist/utilities/buildFormState.js.map +1 -1
  1059. package/dist/utilities/buildTableState.js +144 -169
  1060. package/dist/utilities/buildTableState.js.map +1 -1
  1061. package/dist/utilities/canUseDOM.js +1 -0
  1062. package/dist/utilities/canUseDOM.js.map +1 -1
  1063. package/dist/utilities/combineFieldLabel.js +53 -26
  1064. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1065. package/dist/utilities/copyDataFromLocale.js +202 -210
  1066. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1067. package/dist/utilities/dateLocales.js +28 -27
  1068. package/dist/utilities/dateLocales.js.map +1 -1
  1069. package/dist/utilities/deepMerge.js +14 -13
  1070. package/dist/utilities/deepMerge.js.map +1 -1
  1071. package/dist/utilities/fetchPreferences.js.map +1 -1
  1072. package/dist/utilities/filterOutUploadFields.js +17 -4
  1073. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1074. package/dist/utilities/findLocaleFromCode.js +6 -5
  1075. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1076. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1077. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1078. package/dist/utilities/formatAdminURL.js +2 -1
  1079. package/dist/utilities/formatAdminURL.js.map +1 -1
  1080. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1081. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1082. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1083. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1084. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1085. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1086. package/dist/utilities/formatDocTitle/index.js +38 -44
  1087. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1088. package/dist/utilities/formatFields.js +2 -1
  1089. package/dist/utilities/formatFields.js.map +1 -1
  1090. package/dist/utilities/generateFieldID.js +6 -5
  1091. package/dist/utilities/generateFieldID.js.map +1 -1
  1092. package/dist/utilities/getClientConfig.js +25 -29
  1093. package/dist/utilities/getClientConfig.js.map +1 -1
  1094. package/dist/utilities/getClientSchemaMap.js +24 -32
  1095. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1096. package/dist/utilities/getColumns.js +29 -35
  1097. package/dist/utilities/getColumns.js.map +1 -1
  1098. package/dist/utilities/getDisplayedFieldValue.js +16 -16
  1099. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1100. package/dist/utilities/getFolderResultsComponentAndData.js +134 -121
  1101. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1102. package/dist/utilities/getGlobalData.js +55 -59
  1103. package/dist/utilities/getGlobalData.js.map +1 -1
  1104. package/dist/utilities/getNavGroups.js +21 -18
  1105. package/dist/utilities/getNavGroups.js.map +1 -1
  1106. package/dist/utilities/getOffsetTop.js +14 -13
  1107. package/dist/utilities/getOffsetTop.js.map +1 -1
  1108. package/dist/utilities/getRequestLanguage.js +5 -8
  1109. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1110. package/dist/utilities/getSchemaMap.js +22 -28
  1111. package/dist/utilities/getSchemaMap.js.map +1 -1
  1112. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1113. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1114. package/dist/utilities/getVisibleEntities.js +15 -26
  1115. package/dist/utilities/getVisibleEntities.js.map +1 -1
  1116. package/dist/utilities/groupNavItems.js +53 -50
  1117. package/dist/utilities/groupNavItems.js.map +1 -1
  1118. package/dist/utilities/handleBackToDashboard.js +8 -11
  1119. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1120. package/dist/utilities/handleFormStateLocking.js +131 -125
  1121. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1122. package/dist/utilities/handleGoBack.js +7 -11
  1123. package/dist/utilities/handleGoBack.js.map +1 -1
  1124. package/dist/utilities/handleLivePreview.js +59 -76
  1125. package/dist/utilities/handleLivePreview.js.map +1 -1
  1126. package/dist/utilities/handlePreview.js +41 -52
  1127. package/dist/utilities/handlePreview.js.map +1 -1
  1128. package/dist/utilities/handleTakeOver.js +28 -39
  1129. package/dist/utilities/handleTakeOver.js.map +1 -1
  1130. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1131. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1132. package/dist/utilities/hasSavePermission.js +14 -14
  1133. package/dist/utilities/hasSavePermission.js.map +1 -1
  1134. package/dist/utilities/isClientUserObject.js +3 -2
  1135. package/dist/utilities/isClientUserObject.js.map +1 -1
  1136. package/dist/utilities/isEditing.js +2 -5
  1137. package/dist/utilities/isEditing.js.map +1 -1
  1138. package/dist/utilities/isURLAllowed.js +31 -30
  1139. package/dist/utilities/isURLAllowed.js.map +1 -1
  1140. package/dist/utilities/isValidReactElement.js +3 -3
  1141. package/dist/utilities/isValidReactElement.js.map +1 -1
  1142. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1143. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1144. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1145. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1146. package/dist/utilities/parseSearchParams.js +7 -7
  1147. package/dist/utilities/parseSearchParams.js.map +1 -1
  1148. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1149. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1150. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1151. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1152. package/dist/utilities/removeUndefined.js +2 -1
  1153. package/dist/utilities/removeUndefined.js.map +1 -1
  1154. package/dist/utilities/renderTable.js +239 -195
  1155. package/dist/utilities/renderTable.js.map +1 -1
  1156. package/dist/utilities/resolveFilterOptions.js +27 -26
  1157. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1158. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1159. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1160. package/dist/utilities/sanitizeID.js +8 -7
  1161. package/dist/utilities/sanitizeID.js.map +1 -1
  1162. package/dist/utilities/schedulePublishHandler.d.ts +4 -10
  1163. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  1164. package/dist/utilities/schedulePublishHandler.js +48 -57
  1165. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1166. package/dist/utilities/scrollToID.js +10 -9
  1167. package/dist/utilities/scrollToID.js.map +1 -1
  1168. package/dist/utilities/setsAreEqual.js +3 -2
  1169. package/dist/utilities/setsAreEqual.js.map +1 -1
  1170. package/dist/utilities/stringifyTruncated.js +9 -8
  1171. package/dist/utilities/stringifyTruncated.js.map +1 -1
  1172. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1173. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1174. package/dist/utilities/upsertPreferences.js +76 -76
  1175. package/dist/utilities/upsertPreferences.js.map +1 -1
  1176. package/dist/views/BrowseByFolder/index.js +365 -324
  1177. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1178. package/dist/views/CollectionFolder/ListSelection/index.js +161 -158
  1179. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1180. package/dist/views/CollectionFolder/index.js +360 -282
  1181. package/dist/views/CollectionFolder/index.js.map +1 -1
  1182. package/dist/views/Edit/Auth/APIKey.js +185 -124
  1183. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1184. package/dist/views/Edit/Auth/index.js +309 -321
  1185. package/dist/views/Edit/Auth/index.js.map +1 -1
  1186. package/dist/views/Edit/Auth/types.js +2 -1
  1187. package/dist/views/Edit/Auth/types.js.map +1 -1
  1188. package/dist/views/Edit/SetDocumentStepNav/index.js +84 -150
  1189. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1190. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1191. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1192. package/dist/views/Edit/index.d.ts +1 -1
  1193. package/dist/views/Edit/index.d.ts.map +1 -1
  1194. package/dist/views/Edit/index.js +598 -518
  1195. package/dist/views/Edit/index.js.map +1 -1
  1196. package/dist/views/Edit/types.js +2 -1
  1197. package/dist/views/Edit/types.js.map +1 -1
  1198. package/dist/views/List/GroupByHeader/index.js +35 -24
  1199. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1200. package/dist/views/List/ListHeader/index.js +115 -80
  1201. package/dist/views/List/ListHeader/index.js.map +1 -1
  1202. package/dist/views/List/ListSelection/index.js +103 -111
  1203. package/dist/views/List/ListSelection/index.js.map +1 -1
  1204. package/dist/views/List/index.d.ts.map +1 -1
  1205. package/dist/views/List/index.js +322 -213
  1206. package/dist/views/List/index.js.map +1 -1
  1207. package/dist/views/List/types.js +2 -1
  1208. package/dist/views/List/types.js.map +1 -1
  1209. package/dist/widgets/CollectionCards/index.js +149 -119
  1210. package/dist/widgets/CollectionCards/index.js.map +1 -1
  1211. package/package.json +5 -5
  1212. package/dist/exports/client/CodeEditor-X3UZSEEZ.js +0 -14
  1213. package/dist/exports/client/CodeEditor-X3UZSEEZ.js.map +0 -7
  1214. package/dist/exports/client/DatePicker-GT6CXMEH.js +0 -14
  1215. package/dist/exports/client/DatePicker-GT6CXMEH.js.map +0 -7
  1216. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1217. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1218. package/dist/exports/client/chunk-J46CQZ3T.js +0 -27
  1219. package/dist/exports/client/chunk-J46CQZ3T.js.map +0 -7
  1220. package/dist/exports/client/chunk-USMS5YRL.js +0 -29
  1221. package/dist/exports/client/chunk-USMS5YRL.js.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeRelationshipValue.spec.js","names":["describe","it","expect","normalizeRelationshipValue","relationTo","result","toBe","value","id","name","email","toBeNull","undefined","toBeUndefined","toEqual","title","author","createdAt","values","results","map","v","filename","mimeType","filesize","url","publishedDate","simpleValue","complexValue","result2"],"sources":["../../src/utilities/normalizeRelationshipValue.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport { normalizeRelationshipValue } from './normalizeRelationshipValue.js'\n\ndescribe('normalizeRelationshipValue', () => {\n describe('Monomorphic relationships (string relationTo)', () => {\n const relationTo = 'users'\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(123, relationTo)\n expect(result).toBe(123)\n })\n\n it('should extract ID from object with relationTo and value', () => {\n const value = { relationTo: 'users', value: 'user456' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user456')\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: 'user789',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user789')\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: {\n value: 'user999',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user999')\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user111',\n name: 'John Doe',\n email: 'john@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user111')\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'user222',\n name: 'Jane Doe',\n email: 'jane@example.com',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user222')\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should handle empty object', () => {\n const result = normalizeRelationshipValue({}, relationTo)\n expect(result).toEqual({})\n })\n })\n\n describe('Polymorphic relationships (array relationTo)', () => {\n const relationTo = ['users', 'posts', 'pages']\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(456, relationTo)\n expect(result).toBe(456)\n })\n\n it('should preserve relationTo structure with string value', () => {\n const value = { relationTo: 'users', value: 'user789' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user789' })\n })\n\n it('should preserve relationTo structure with number value', () => {\n const value = { relationTo: 'posts', value: 123 }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 123 })\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'posts',\n value: {\n value: 'post456',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post456' })\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'pages',\n value: {\n value: {\n value: 'page789',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'pages', value: 'page789' })\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user999',\n name: 'John Smith',\n email: 'john.smith@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user999' })\n })\n\n it('should extract ID from complex populated document', () => {\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post123',\n title: 'My Post',\n author: {\n id: 'author456',\n name: 'Author Name',\n },\n createdAt: '2023-01-01T00:00:00.000Z',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post123' })\n })\n\n it('should handle different relationTo values', () => {\n const values = [\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ]\n\n const results = values.map((v) => normalizeRelationshipValue(v, relationTo))\n\n expect(results).toEqual([\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ])\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'doc123',\n title: 'Document Title',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('doc123')\n })\n })\n\n describe('Edge cases', () => {\n it('should handle object with only value property (no relationTo)', () => {\n const value = { value: 'someValue' }\n const result = normalizeRelationshipValue(value, 'users')\n // Since there's no 'id' field and no relationTo, it should return the value as-is\n expect(result).toEqual({ value: 'someValue' })\n })\n\n it('should handle object with relationTo but no value', () => {\n const value = { relationTo: 'users' }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users' })\n })\n\n it('should handle empty array relationTo', () => {\n const result = normalizeRelationshipValue('user123', [])\n expect(result).toBe('user123')\n })\n\n it('should handle single-item array relationTo as polymorphic', () => {\n const value = { relationTo: 'users', value: 'user123' }\n const result = normalizeRelationshipValue(value, ['users'])\n expect(result).toEqual({ relationTo: 'users', value: 'user123' })\n })\n\n it('should handle numeric IDs in populated documents', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 12345,\n name: 'User with numeric ID',\n },\n }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users', value: 12345 })\n })\n\n it('should handle nested null values', () => {\n const value = {\n relationTo: 'users',\n value: null,\n }\n const result = normalizeRelationshipValue(value, 'users')\n expect(result).toBeNull()\n })\n\n it('should handle zero as a valid ID', () => {\n const result = normalizeRelationshipValue(0, 'users')\n expect(result).toBe(0)\n })\n\n it('should handle empty string as a valid ID', () => {\n const result = normalizeRelationshipValue('', 'users')\n expect(result).toBe('')\n })\n\n it('should handle false as a value', () => {\n const result = normalizeRelationshipValue(false, 'users')\n expect(result).toBe(false)\n })\n\n it('should handle array values (return as-is)', () => {\n const result = normalizeRelationshipValue(['user1', 'user2'], 'users')\n expect(result).toEqual(['user1', 'user2'])\n })\n })\n\n describe('Real-world scenarios', () => {\n it('should normalize upload field value for monomorphic upload', () => {\n // Upload field with populated media document\n const value = {\n id: 'media123',\n filename: 'image.jpg',\n mimeType: 'image/jpeg',\n filesize: 12345,\n url: '/media/image.jpg',\n }\n const result = normalizeRelationshipValue(value, 'media')\n expect(result).toBe('media123')\n })\n\n it('should normalize upload field value for polymorphic upload', () => {\n // Upload field with relationTo structure\n const value = {\n relationTo: 'images',\n value: {\n id: 'image456',\n filename: 'photo.png',\n url: '/media/photo.png',\n },\n }\n const result = normalizeRelationshipValue(value, ['images', 'videos'])\n expect(result).toEqual({ relationTo: 'images', value: 'image456' })\n })\n\n it('should normalize form submission data', () => {\n // Data coming from form with populated relationship\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post789',\n title: 'Blog Post Title',\n author: { id: 'author123', name: 'Author' },\n publishedDate: '2023-12-01',\n },\n }\n const result = normalizeRelationshipValue(value, ['posts', 'pages'])\n expect(result).toEqual({ relationTo: 'posts', value: 'post789' })\n })\n\n it('should normalize API response with nested relationships', () => {\n // Complex nested structure from API\n const value = {\n relationTo: 'categories',\n value: {\n value: {\n id: 'cat123',\n name: 'Category Name',\n },\n },\n }\n const result = normalizeRelationshipValue(value, ['categories', 'tags'])\n expect(result).toEqual({ relationTo: 'categories', value: 'cat123' })\n })\n\n it('should handle table cell data normalization', () => {\n // Cell data from table that might be just an ID\n const simpleValue = 'user123'\n const result = normalizeRelationshipValue(simpleValue, 'users')\n expect(result).toBe('user123')\n\n // Cell data with full structure\n const complexValue = {\n relationTo: 'users',\n value: {\n id: 'user456',\n name: 'John Doe',\n },\n }\n const result2 = normalizeRelationshipValue(complexValue, ['users', 'admins'])\n expect(result2).toEqual({ relationTo: 'users', value: 'user456' })\n })\n })\n})\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/normalizeRelationshipValue.spec.ts"],"sourcesContent":["import { describe, it, expect } from 'vitest'\nimport { normalizeRelationshipValue } from './normalizeRelationshipValue.js'\n\ndescribe('normalizeRelationshipValue', () => {\n describe('Monomorphic relationships (string relationTo)', () => {\n const relationTo = 'users'\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(123, relationTo)\n expect(result).toBe(123)\n })\n\n it('should extract ID from object with relationTo and value', () => {\n const value = { relationTo: 'users', value: 'user456' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user456')\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: 'user789',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user789')\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'users',\n value: {\n value: {\n value: 'user999',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user999')\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user111',\n name: 'John Doe',\n email: 'john@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user111')\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'user222',\n name: 'Jane Doe',\n email: 'jane@example.com',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('user222')\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should handle empty object', () => {\n const result = normalizeRelationshipValue({}, relationTo)\n expect(result).toEqual({})\n })\n })\n\n describe('Polymorphic relationships (array relationTo)', () => {\n const relationTo = ['users', 'posts', 'pages']\n\n it('should return simple string ID as-is', () => {\n const result = normalizeRelationshipValue('user123', relationTo)\n expect(result).toBe('user123')\n })\n\n it('should return simple number ID as-is', () => {\n const result = normalizeRelationshipValue(456, relationTo)\n expect(result).toBe(456)\n })\n\n it('should preserve relationTo structure with string value', () => {\n const value = { relationTo: 'users', value: 'user789' }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user789' })\n })\n\n it('should preserve relationTo structure with number value', () => {\n const value = { relationTo: 'posts', value: 123 }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 123 })\n })\n\n it('should extract ID from nested value structure', () => {\n const value = {\n relationTo: 'posts',\n value: {\n value: 'post456',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post456' })\n })\n\n it('should extract ID from deeply nested value structure', () => {\n const value = {\n relationTo: 'pages',\n value: {\n value: {\n value: 'page789',\n },\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'pages', value: 'page789' })\n })\n\n it('should extract ID from populated document', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 'user999',\n name: 'John Smith',\n email: 'john.smith@example.com',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'users', value: 'user999' })\n })\n\n it('should extract ID from complex populated document', () => {\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post123',\n title: 'My Post',\n author: {\n id: 'author456',\n name: 'Author Name',\n },\n createdAt: '2023-01-01T00:00:00.000Z',\n },\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toEqual({ relationTo: 'posts', value: 'post123' })\n })\n\n it('should handle different relationTo values', () => {\n const values = [\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ]\n\n const results = values.map((v) => normalizeRelationshipValue(v, relationTo))\n\n expect(results).toEqual([\n { relationTo: 'users', value: 'user1' },\n { relationTo: 'posts', value: 'post2' },\n { relationTo: 'pages', value: 'page3' },\n ])\n })\n\n it('should handle null values', () => {\n const result = normalizeRelationshipValue(null, relationTo)\n expect(result).toBeNull()\n })\n\n it('should handle undefined values', () => {\n const result = normalizeRelationshipValue(undefined, relationTo)\n expect(result).toBeUndefined()\n })\n\n it('should extract ID from populated document without relationTo wrapper', () => {\n const value = {\n id: 'doc123',\n title: 'Document Title',\n }\n const result = normalizeRelationshipValue(value, relationTo)\n expect(result).toBe('doc123')\n })\n })\n\n describe('Edge cases', () => {\n it('should handle object with only value property (no relationTo)', () => {\n const value = { value: 'someValue' }\n const result = normalizeRelationshipValue(value, 'users')\n // Since there's no 'id' field and no relationTo, it should return the value as-is\n expect(result).toEqual({ value: 'someValue' })\n })\n\n it('should handle object with relationTo but no value', () => {\n const value = { relationTo: 'users' }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users' })\n })\n\n it('should handle empty array relationTo', () => {\n const result = normalizeRelationshipValue('user123', [])\n expect(result).toBe('user123')\n })\n\n it('should handle single-item array relationTo as polymorphic', () => {\n const value = { relationTo: 'users', value: 'user123' }\n const result = normalizeRelationshipValue(value, ['users'])\n expect(result).toEqual({ relationTo: 'users', value: 'user123' })\n })\n\n it('should handle numeric IDs in populated documents', () => {\n const value = {\n relationTo: 'users',\n value: {\n id: 12345,\n name: 'User with numeric ID',\n },\n }\n const result = normalizeRelationshipValue(value, ['users', 'posts'])\n expect(result).toEqual({ relationTo: 'users', value: 12345 })\n })\n\n it('should handle nested null values', () => {\n const value = {\n relationTo: 'users',\n value: null,\n }\n const result = normalizeRelationshipValue(value, 'users')\n expect(result).toBeNull()\n })\n\n it('should handle zero as a valid ID', () => {\n const result = normalizeRelationshipValue(0, 'users')\n expect(result).toBe(0)\n })\n\n it('should handle empty string as a valid ID', () => {\n const result = normalizeRelationshipValue('', 'users')\n expect(result).toBe('')\n })\n\n it('should handle false as a value', () => {\n const result = normalizeRelationshipValue(false, 'users')\n expect(result).toBe(false)\n })\n\n it('should handle array values (return as-is)', () => {\n const result = normalizeRelationshipValue(['user1', 'user2'], 'users')\n expect(result).toEqual(['user1', 'user2'])\n })\n })\n\n describe('Real-world scenarios', () => {\n it('should normalize upload field value for monomorphic upload', () => {\n // Upload field with populated media document\n const value = {\n id: 'media123',\n filename: 'image.jpg',\n mimeType: 'image/jpeg',\n filesize: 12345,\n url: '/media/image.jpg',\n }\n const result = normalizeRelationshipValue(value, 'media')\n expect(result).toBe('media123')\n })\n\n it('should normalize upload field value for polymorphic upload', () => {\n // Upload field with relationTo structure\n const value = {\n relationTo: 'images',\n value: {\n id: 'image456',\n filename: 'photo.png',\n url: '/media/photo.png',\n },\n }\n const result = normalizeRelationshipValue(value, ['images', 'videos'])\n expect(result).toEqual({ relationTo: 'images', value: 'image456' })\n })\n\n it('should normalize form submission data', () => {\n // Data coming from form with populated relationship\n const value = {\n relationTo: 'posts',\n value: {\n id: 'post789',\n title: 'Blog Post Title',\n author: { id: 'author123', name: 'Author' },\n publishedDate: '2023-12-01',\n },\n }\n const result = normalizeRelationshipValue(value, ['posts', 'pages'])\n expect(result).toEqual({ relationTo: 'posts', value: 'post789' })\n })\n\n it('should normalize API response with nested relationships', () => {\n // Complex nested structure from API\n const value = {\n relationTo: 'categories',\n value: {\n value: {\n id: 'cat123',\n name: 'Category Name',\n },\n },\n }\n const result = normalizeRelationshipValue(value, ['categories', 'tags'])\n expect(result).toEqual({ relationTo: 'categories', value: 'cat123' })\n })\n\n it('should handle table cell data normalization', () => {\n // Cell data from table that might be just an ID\n const simpleValue = 'user123'\n const result = normalizeRelationshipValue(simpleValue, 'users')\n expect(result).toBe('user123')\n\n // Cell data with full structure\n const complexValue = {\n relationTo: 'users',\n value: {\n id: 'user456',\n name: 'John Doe',\n },\n }\n const result2 = normalizeRelationshipValue(complexValue, ['users', 'admins'])\n expect(result2).toEqual({ relationTo: 'users', value: 'user456' })\n })\n })\n})\n"],"names":["describe","it","expect","normalizeRelationshipValue","relationTo","result","toBe","value","id","name","email","toBeNull","undefined","toBeUndefined","toEqual","title","author","createdAt","values","results","map","v","filename","mimeType","filesize","url","publishedDate","simpleValue","complexValue","result2"],"mappings":"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"}
@@ -6,12 +6,12 @@ import * as qs from 'qs-esm';
6
6
  * This function can be used to parse that object into a more usable format.
7
7
  * @param {ReadonlyURLSearchParams} searchParams - The URLSearchParams object to parse.
8
8
  * @returns {qs.ParsedQs} - The parsed query string object.
9
- */
10
- export function parseSearchParams(searchParams) {
11
- const search = searchParams.toString();
12
- return qs.parse(search, {
13
- depth: 10,
14
- ignoreQueryPrefix: true
15
- });
9
+ */ export function parseSearchParams(searchParams) {
10
+ const search = searchParams.toString();
11
+ return qs.parse(search, {
12
+ depth: 10,
13
+ ignoreQueryPrefix: true
14
+ });
16
15
  }
16
+
17
17
  //# sourceMappingURL=parseSearchParams.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"parseSearchParams.js","names":["qs","parseSearchParams","searchParams","search","toString","parse","depth","ignoreQueryPrefix"],"sources":["../../src/utilities/parseSearchParams.ts"],"sourcesContent":["import type { ReadonlyURLSearchParams } from 'next/navigation.js'\n\nimport * as qs from 'qs-esm'\n\n/**\n * A utility function to parse URLSearchParams into a ParsedQs object.\n * This function is a wrapper around the `qs` library.\n * In Next.js, the `useSearchParams()` hook from `next/navigation` returns a `URLSearchParams` object.\n * This function can be used to parse that object into a more usable format.\n * @param {ReadonlyURLSearchParams} searchParams - The URLSearchParams object to parse.\n * @returns {qs.ParsedQs} - The parsed query string object.\n */\nexport function parseSearchParams(searchParams: ReadonlyURLSearchParams): qs.ParsedQs {\n const search = searchParams.toString()\n\n return qs.parse(search, {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n}\n"],"mappings":"AAEA,YAAYA,EAAA,MAAQ;AAEpB;;;;;;;;AAQA,OAAO,SAASC,kBAAkBC,YAAqC;EACrE,MAAMC,MAAA,GAASD,YAAA,CAAaE,QAAQ;EAEpC,OAAOJ,EAAA,CAAGK,KAAK,CAACF,MAAA,EAAQ;IACtBG,KAAA,EAAO;IACPC,iBAAA,EAAmB;EACrB;AACF","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/parseSearchParams.ts"],"sourcesContent":["import type { ReadonlyURLSearchParams } from 'next/navigation.js'\n\nimport * as qs from 'qs-esm'\n\n/**\n * A utility function to parse URLSearchParams into a ParsedQs object.\n * This function is a wrapper around the `qs` library.\n * In Next.js, the `useSearchParams()` hook from `next/navigation` returns a `URLSearchParams` object.\n * This function can be used to parse that object into a more usable format.\n * @param {ReadonlyURLSearchParams} searchParams - The URLSearchParams object to parse.\n * @returns {qs.ParsedQs} - The parsed query string object.\n */\nexport function parseSearchParams(searchParams: ReadonlyURLSearchParams): qs.ParsedQs {\n const search = searchParams.toString()\n\n return qs.parse(search, {\n depth: 10,\n ignoreQueryPrefix: true,\n })\n}\n"],"names":["qs","parseSearchParams","searchParams","search","toString","parse","depth","ignoreQueryPrefix"],"mappings":"AAEA,YAAYA,QAAQ,SAAQ;AAE5B;;;;;;;CAOC,GACD,OAAO,SAASC,kBAAkBC,YAAqC;IACrE,MAAMC,SAASD,aAAaE,QAAQ;IAEpC,OAAOJ,GAAGK,KAAK,CAACF,QAAQ;QACtBG,OAAO;QACPC,mBAAmB;IACrB;AACF"}
@@ -1,5 +1,4 @@
1
1
  'use client';
2
-
3
2
  import { getTranslation } from '@payloadcms/translations';
4
3
  import { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared';
5
4
  import { fieldTypeConditions, getValidFieldOperators } from '../elements/WhereBuilder/field-types.js';
@@ -8,163 +7,155 @@ import { combineFieldLabel } from './combineFieldLabel.js';
8
7
  /**
9
8
  * Transforms a fields schema into a flattened array of fields with labels and values.
10
9
  * Used in the `WhereBuilder` component to render the fields in the dropdown.
11
- */
12
- export const reduceFieldsToOptions = ({
13
- fieldPermissions,
14
- fields,
15
- i18n,
16
- labelPrefix,
17
- pathPrefix: pathPrefixFromArgs
18
- }) => {
19
- return fields.reduce((reduced, field) => {
20
- let pathPrefix = pathPrefixFromArgs;
21
- // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query
22
- // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field
23
- if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field) || 'virtual' in field && field.virtual === true) {
24
- return reduced;
25
- }
26
- // IMPORTANT: We DON'T mutate field.name here because the field object is shared across
27
- // multiple components (WhereBuilder, GroupByBuilder, etc.). Mutating it would break
28
- // permission checks and cause issues in other components that need the field name.
29
- // Instead, we use a flag to determine whether to include the field name in the path.
30
- let shouldIgnoreFieldName = false;
31
- // Handle virtual:string fields (virtual relationships, e.g. "post.title")
32
- if ('virtual' in field && typeof field.virtual === 'string') {
33
- pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual;
34
- if (fieldAffectsData(field)) {
35
- // Mark that we should ignore the field name when constructing the field path
36
- shouldIgnoreFieldName = true;
37
- }
38
- }
39
- if (field.type === 'tabs' && 'tabs' in field) {
40
- const tabs = field.tabs;
41
- tabs.forEach(tab => {
42
- if (typeof tab.label !== 'boolean') {
43
- const localizedTabLabel = getTranslation(tab.label, i18n);
44
- const labelWithPrefix = labelPrefix ? labelPrefix + ' > ' + localizedTabLabel : localizedTabLabel;
45
- // Make sure we handle nested tabs
46
- const tabPathPrefix = tabHasName(tab) && tab.name ? pathPrefix ? pathPrefix + '.' + tab.name : tab.name : pathPrefix;
47
- if (typeof localizedTabLabel === 'string') {
10
+ */ export const reduceFieldsToOptions = ({ fieldPermissions, fields, i18n, labelPrefix, pathPrefix: pathPrefixFromArgs })=>{
11
+ return fields.reduce((reduced, field)=>{
12
+ let pathPrefix = pathPrefixFromArgs;
13
+ // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query
14
+ // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field
15
+ if (fieldIsHiddenOrDisabled(field) && !fieldIsID(field) || 'virtual' in field && field.virtual === true) {
16
+ return reduced;
17
+ }
18
+ // IMPORTANT: We DON'T mutate field.name here because the field object is shared across
19
+ // multiple components (WhereBuilder, GroupByBuilder, etc.). Mutating it would break
20
+ // permission checks and cause issues in other components that need the field name.
21
+ // Instead, we use a flag to determine whether to include the field name in the path.
22
+ let shouldIgnoreFieldName = false;
23
+ // Handle virtual:string fields (virtual relationships, e.g. "post.title")
24
+ if ('virtual' in field && typeof field.virtual === 'string') {
25
+ pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual;
26
+ if (fieldAffectsData(field)) {
27
+ // Mark that we should ignore the field name when constructing the field path
28
+ shouldIgnoreFieldName = true;
29
+ }
30
+ }
31
+ if (field.type === 'tabs' && 'tabs' in field) {
32
+ const tabs = field.tabs;
33
+ tabs.forEach((tab)=>{
34
+ if (typeof tab.label !== 'boolean') {
35
+ const localizedTabLabel = getTranslation(tab.label, i18n);
36
+ const labelWithPrefix = labelPrefix ? labelPrefix + ' > ' + localizedTabLabel : localizedTabLabel;
37
+ // Make sure we handle nested tabs
38
+ const tabPathPrefix = tabHasName(tab) && tab.name ? pathPrefix ? pathPrefix + '.' + tab.name : tab.name : pathPrefix;
39
+ if (typeof localizedTabLabel === 'string') {
40
+ reduced.push(...reduceFieldsToOptions({
41
+ fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : tabHasName(tab) && tab.name ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name] : fieldPermissions,
42
+ fields: tab.fields,
43
+ i18n,
44
+ labelPrefix: labelWithPrefix,
45
+ pathPrefix: tabPathPrefix
46
+ }));
47
+ }
48
+ }
49
+ });
50
+ return reduced;
51
+ }
52
+ // Rows cant have labels, so we need to handle them differently
53
+ if (field.type === 'row' && 'fields' in field) {
48
54
  reduced.push(...reduceFieldsToOptions({
49
- fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : tabHasName(tab) && tab.name ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name] : fieldPermissions,
50
- fields: tab.fields,
51
- i18n,
52
- labelPrefix: labelWithPrefix,
53
- pathPrefix: tabPathPrefix
55
+ fieldPermissions,
56
+ fields: field.fields,
57
+ i18n,
58
+ labelPrefix,
59
+ pathPrefix
54
60
  }));
55
- }
61
+ return reduced;
56
62
  }
57
- });
58
- return reduced;
59
- }
60
- // Rows cant have labels, so we need to handle them differently
61
- if (field.type === 'row' && 'fields' in field) {
62
- reduced.push(...reduceFieldsToOptions({
63
- fieldPermissions,
64
- fields: field.fields,
65
- i18n,
66
- labelPrefix,
67
- pathPrefix
68
- }));
69
- return reduced;
70
- }
71
- if (field.type === 'collapsible' && 'fields' in field) {
72
- const localizedTabLabel = getTranslation(field.label || '', i18n);
73
- const labelWithPrefix = labelPrefix ? labelPrefix + ' > ' + localizedTabLabel : localizedTabLabel;
74
- reduced.push(...reduceFieldsToOptions({
75
- fieldPermissions,
76
- fields: field.fields,
77
- i18n,
78
- labelPrefix: labelWithPrefix,
79
- pathPrefix
80
- }));
81
- return reduced;
82
- }
83
- if (field.type === 'group' && 'fields' in field) {
84
- const translatedLabel = getTranslation(field.label || '', i18n);
85
- const labelWithPrefix = labelPrefix ? translatedLabel ? labelPrefix + ' > ' + translatedLabel : labelPrefix : translatedLabel;
86
- if (fieldAffectsData(field)) {
87
- // Make sure we handle deeply nested groups
88
- const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
89
- reduced.push(...reduceFieldsToOptions({
90
- fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
91
- fields: field.fields,
92
- i18n,
93
- labelPrefix: labelWithPrefix,
94
- pathPrefix: pathWithPrefix
95
- }));
96
- } else {
97
- reduced.push(...reduceFieldsToOptions({
98
- fieldPermissions,
99
- fields: field.fields,
100
- i18n,
101
- labelPrefix: labelWithPrefix,
102
- pathPrefix
103
- }));
104
- }
105
- return reduced;
106
- }
107
- if (field.type === 'array' && 'fields' in field) {
108
- const translatedLabel = getTranslation(field.label || '', i18n);
109
- const labelWithPrefix = labelPrefix ? translatedLabel ? labelPrefix + ' > ' + translatedLabel : labelPrefix : translatedLabel;
110
- // Make sure we handle deeply nested groups
111
- const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
112
- reduced.push(...reduceFieldsToOptions({
113
- fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
114
- fields: field.fields,
115
- i18n,
116
- labelPrefix: labelWithPrefix,
117
- pathPrefix: pathWithPrefix
118
- }));
119
- return reduced;
120
- }
121
- if (typeof fieldTypeConditions[field.type] === 'object') {
122
- if (fieldIsID(field) || fieldPermissions === true || fieldPermissions?.[field.name] === true || fieldPermissions?.[field.name]?.read === true) {
123
- const operatorKeys = new Set();
124
- const {
125
- validOperators
126
- } = getValidFieldOperators({
127
- field
128
- });
129
- const operators = validOperators.reduce((acc, operator) => {
130
- if (!operatorKeys.has(operator.value)) {
131
- operatorKeys.add(operator.value);
132
- const operatorKey = `operators:${operator.label}`;
133
- acc.push({
134
- ...operator,
135
- label: i18n.t(operatorKey)
136
- });
137
- }
138
- return acc;
139
- }, []);
140
- const localizedLabel = getTranslation(field.label || '', i18n);
141
- const formattedLabel = labelPrefix ? combineFieldLabel({
142
- field,
143
- prefix: labelPrefix
144
- }) : localizedLabel;
145
- // For virtual fields, we use just the pathPrefix (the virtual path) without appending the field name
146
- // For regular fields, we use createNestedClientFieldPath which appends the field name to the path
147
- let fieldPath;
148
- if (shouldIgnoreFieldName) {
149
- fieldPath = pathPrefix;
150
- } else if (pathPrefix) {
151
- fieldPath = createNestedClientFieldPath(pathPrefix, field);
152
- } else {
153
- fieldPath = field.name;
63
+ if (field.type === 'collapsible' && 'fields' in field) {
64
+ const localizedTabLabel = getTranslation(field.label || '', i18n);
65
+ const labelWithPrefix = labelPrefix ? labelPrefix + ' > ' + localizedTabLabel : localizedTabLabel;
66
+ reduced.push(...reduceFieldsToOptions({
67
+ fieldPermissions,
68
+ fields: field.fields,
69
+ i18n,
70
+ labelPrefix: labelWithPrefix,
71
+ pathPrefix
72
+ }));
73
+ return reduced;
74
+ }
75
+ if (field.type === 'group' && 'fields' in field) {
76
+ const translatedLabel = getTranslation(field.label || '', i18n);
77
+ const labelWithPrefix = labelPrefix ? translatedLabel ? labelPrefix + ' > ' + translatedLabel : labelPrefix : translatedLabel;
78
+ if (fieldAffectsData(field)) {
79
+ // Make sure we handle deeply nested groups
80
+ const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
81
+ reduced.push(...reduceFieldsToOptions({
82
+ fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
83
+ fields: field.fields,
84
+ i18n,
85
+ labelPrefix: labelWithPrefix,
86
+ pathPrefix: pathWithPrefix
87
+ }));
88
+ } else {
89
+ reduced.push(...reduceFieldsToOptions({
90
+ fieldPermissions,
91
+ fields: field.fields,
92
+ i18n,
93
+ labelPrefix: labelWithPrefix,
94
+ pathPrefix
95
+ }));
96
+ }
97
+ return reduced;
98
+ }
99
+ if (field.type === 'array' && 'fields' in field) {
100
+ const translatedLabel = getTranslation(field.label || '', i18n);
101
+ const labelWithPrefix = labelPrefix ? translatedLabel ? labelPrefix + ' > ' + translatedLabel : labelPrefix : translatedLabel;
102
+ // Make sure we handle deeply nested groups
103
+ const pathWithPrefix = field.name ? pathPrefix ? pathPrefix + '.' + field.name : field.name : pathPrefix;
104
+ reduced.push(...reduceFieldsToOptions({
105
+ fieldPermissions: typeof fieldPermissions === 'boolean' ? fieldPermissions : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],
106
+ fields: field.fields,
107
+ i18n,
108
+ labelPrefix: labelWithPrefix,
109
+ pathPrefix: pathWithPrefix
110
+ }));
111
+ return reduced;
112
+ }
113
+ if (typeof fieldTypeConditions[field.type] === 'object') {
114
+ if (fieldIsID(field) || fieldPermissions === true || fieldPermissions?.[field.name] === true || fieldPermissions?.[field.name]?.read === true) {
115
+ const operatorKeys = new Set();
116
+ const { validOperators } = getValidFieldOperators({
117
+ field
118
+ });
119
+ const operators = validOperators.reduce((acc, operator)=>{
120
+ if (!operatorKeys.has(operator.value)) {
121
+ operatorKeys.add(operator.value);
122
+ const operatorKey = `operators:${operator.label}`;
123
+ acc.push({
124
+ ...operator,
125
+ label: i18n.t(operatorKey)
126
+ });
127
+ }
128
+ return acc;
129
+ }, []);
130
+ const localizedLabel = getTranslation(field.label || '', i18n);
131
+ const formattedLabel = labelPrefix ? combineFieldLabel({
132
+ field,
133
+ prefix: labelPrefix
134
+ }) : localizedLabel;
135
+ // For virtual fields, we use just the pathPrefix (the virtual path) without appending the field name
136
+ // For regular fields, we use createNestedClientFieldPath which appends the field name to the path
137
+ let fieldPath;
138
+ if (shouldIgnoreFieldName) {
139
+ fieldPath = pathPrefix;
140
+ } else if (pathPrefix) {
141
+ fieldPath = createNestedClientFieldPath(pathPrefix, field);
142
+ } else {
143
+ fieldPath = field.name;
144
+ }
145
+ const formattedField = {
146
+ label: formattedLabel,
147
+ plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,
148
+ value: fieldPath,
149
+ ...fieldTypeConditions[field.type],
150
+ field,
151
+ operators
152
+ };
153
+ reduced.push(formattedField);
154
+ return reduced;
155
+ }
154
156
  }
155
- const formattedField = {
156
- label: formattedLabel,
157
- plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,
158
- value: fieldPath,
159
- ...fieldTypeConditions[field.type],
160
- field,
161
- operators
162
- };
163
- reduced.push(formattedField);
164
157
  return reduced;
165
- }
166
- }
167
- return reduced;
168
- }, []);
158
+ }, []);
169
159
  };
160
+
170
161
  //# sourceMappingURL=reduceFieldsToOptions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldsToOptions.js","names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypeConditions","getValidFieldOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fieldPermissions","fields","i18n","labelPrefix","pathPrefix","pathPrefixFromArgs","reduce","reduced","field","virtual","shouldIgnoreFieldName","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","read","operatorKeys","Set","validOperators","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField","plainTextLabel"],"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions, SanitizedFieldsPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport {\n fieldTypeConditions,\n getValidFieldOperators,\n} from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fieldPermissions,\n fields,\n i18n,\n labelPrefix,\n pathPrefix: pathPrefixFromArgs,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n let pathPrefix = pathPrefixFromArgs\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // IMPORTANT: We DON'T mutate field.name here because the field object is shared across\n // multiple components (WhereBuilder, GroupByBuilder, etc.). Mutating it would break\n // permission checks and cause issues in other components that need the field name.\n // Instead, we use a flag to determine whether to include the field name in the path.\n let shouldIgnoreFieldName = false\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual\n if (fieldAffectsData(field)) {\n // Mark that we should ignore the field name when constructing the field path\n shouldIgnoreFieldName = true\n }\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : tabHasName(tab) && tab.name\n ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypeConditions[field.type] === 'object') {\n if (\n fieldIsID(field) ||\n fieldPermissions === true ||\n fieldPermissions?.[field.name] === true ||\n fieldPermissions?.[field.name]?.read === true\n ) {\n const operatorKeys = new Set()\n\n const { validOperators } = getValidFieldOperators({\n field,\n })\n\n const operators = validOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n // For virtual fields, we use just the pathPrefix (the virtual path) without appending the field name\n // For regular fields, we use createNestedClientFieldPath which appends the field name to the path\n let fieldPath: string\n if (shouldIgnoreFieldName) {\n fieldPath = pathPrefix\n } else if (pathPrefix) {\n fieldPath = createNestedClientFieldPath(pathPrefix, field)\n } else {\n fieldPath = field.name\n }\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypeConditions[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n }\n return reduced\n }, [])\n}\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/reduceFieldsToOptions.tsx"],"sourcesContent":["'use client'\nimport type { ClientTranslationKeys, I18nClient } from '@payloadcms/translations'\nimport type { ClientField, SanitizedFieldPermissions, SanitizedFieldsPermissions } from 'payload'\n\nimport { getTranslation } from '@payloadcms/translations'\nimport { fieldAffectsData, fieldIsHiddenOrDisabled, fieldIsID, tabHasName } from 'payload/shared'\n\nimport type { ReducedField } from '../elements/WhereBuilder/types.js'\n\nimport {\n fieldTypeConditions,\n getValidFieldOperators,\n} from '../elements/WhereBuilder/field-types.js'\nimport { createNestedClientFieldPath } from '../forms/Form/createNestedClientFieldPath.js'\nimport { combineFieldLabel } from './combineFieldLabel.js'\n\ntype ReduceFieldOptionsArgs = {\n fieldPermissions?: SanitizedFieldPermissions | SanitizedFieldsPermissions\n fields: ClientField[]\n i18n: I18nClient\n labelPrefix?: string\n pathPrefix?: string\n}\n\n/**\n * Transforms a fields schema into a flattened array of fields with labels and values.\n * Used in the `WhereBuilder` component to render the fields in the dropdown.\n */\nexport const reduceFieldsToOptions = ({\n fieldPermissions,\n fields,\n i18n,\n labelPrefix,\n pathPrefix: pathPrefixFromArgs,\n}: ReduceFieldOptionsArgs): ReducedField[] => {\n return fields.reduce((reduced, field) => {\n let pathPrefix = pathPrefixFromArgs\n // Do not filter out `field.admin.disableListFilter` fields here, as these should still render as disabled if they appear in the URL query\n // Filter out `virtual: true` fields since they are regular virtuals and not backed by a DB field\n if (\n (fieldIsHiddenOrDisabled(field) && !fieldIsID(field)) ||\n ('virtual' in field && field.virtual === true)\n ) {\n return reduced\n }\n\n // IMPORTANT: We DON'T mutate field.name here because the field object is shared across\n // multiple components (WhereBuilder, GroupByBuilder, etc.). Mutating it would break\n // permission checks and cause issues in other components that need the field name.\n // Instead, we use a flag to determine whether to include the field name in the path.\n let shouldIgnoreFieldName = false\n\n // Handle virtual:string fields (virtual relationships, e.g. \"post.title\")\n if ('virtual' in field && typeof field.virtual === 'string') {\n pathPrefix = pathPrefix ? pathPrefix + '.' + field.virtual : field.virtual\n if (fieldAffectsData(field)) {\n // Mark that we should ignore the field name when constructing the field path\n shouldIgnoreFieldName = true\n }\n }\n\n if (field.type === 'tabs' && 'tabs' in field) {\n const tabs = field.tabs\n\n tabs.forEach((tab) => {\n if (typeof tab.label !== 'boolean') {\n const localizedTabLabel = getTranslation(tab.label, i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n // Make sure we handle nested tabs\n const tabPathPrefix =\n tabHasName(tab) && tab.name\n ? pathPrefix\n ? pathPrefix + '.' + tab.name\n : tab.name\n : pathPrefix\n\n if (typeof localizedTabLabel === 'string') {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : tabHasName(tab) && tab.name\n ? fieldPermissions?.[tab.name]?.fields || fieldPermissions?.[tab.name]\n : fieldPermissions,\n fields: tab.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: tabPathPrefix,\n }),\n )\n }\n }\n })\n return reduced\n }\n\n // Rows cant have labels, so we need to handle them differently\n if (field.type === 'row' && 'fields' in field) {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'collapsible' && 'fields' in field) {\n const localizedTabLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? labelPrefix + ' > ' + localizedTabLabel\n : localizedTabLabel\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n return reduced\n }\n\n if (field.type === 'group' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n if (fieldAffectsData(field)) {\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n } else {\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions,\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix,\n }),\n )\n }\n\n return reduced\n }\n\n if (field.type === 'array' && 'fields' in field) {\n const translatedLabel = getTranslation(field.label || '', i18n)\n\n const labelWithPrefix = labelPrefix\n ? translatedLabel\n ? labelPrefix + ' > ' + translatedLabel\n : labelPrefix\n : translatedLabel\n\n // Make sure we handle deeply nested groups\n const pathWithPrefix = field.name\n ? pathPrefix\n ? pathPrefix + '.' + field.name\n : field.name\n : pathPrefix\n\n reduced.push(\n ...reduceFieldsToOptions({\n fieldPermissions:\n typeof fieldPermissions === 'boolean'\n ? fieldPermissions\n : fieldPermissions?.[field.name]?.fields || fieldPermissions?.[field.name],\n fields: field.fields,\n i18n,\n labelPrefix: labelWithPrefix,\n pathPrefix: pathWithPrefix,\n }),\n )\n\n return reduced\n }\n\n if (typeof fieldTypeConditions[field.type] === 'object') {\n if (\n fieldIsID(field) ||\n fieldPermissions === true ||\n fieldPermissions?.[field.name] === true ||\n fieldPermissions?.[field.name]?.read === true\n ) {\n const operatorKeys = new Set()\n\n const { validOperators } = getValidFieldOperators({\n field,\n })\n\n const operators = validOperators.reduce((acc, operator) => {\n if (!operatorKeys.has(operator.value)) {\n operatorKeys.add(operator.value)\n const operatorKey = `operators:${operator.label}` as ClientTranslationKeys\n acc.push({\n ...operator,\n label: i18n.t(operatorKey),\n })\n }\n\n return acc\n }, [])\n\n const localizedLabel = getTranslation(field.label || '', i18n)\n\n const formattedLabel = labelPrefix\n ? combineFieldLabel({\n field,\n prefix: labelPrefix,\n })\n : localizedLabel\n\n // For virtual fields, we use just the pathPrefix (the virtual path) without appending the field name\n // For regular fields, we use createNestedClientFieldPath which appends the field name to the path\n let fieldPath: string\n if (shouldIgnoreFieldName) {\n fieldPath = pathPrefix\n } else if (pathPrefix) {\n fieldPath = createNestedClientFieldPath(pathPrefix, field)\n } else {\n fieldPath = field.name\n }\n\n const formattedField: ReducedField = {\n label: formattedLabel,\n plainTextLabel: `${labelPrefix ? labelPrefix + ' > ' : ''}${localizedLabel}`,\n value: fieldPath,\n ...fieldTypeConditions[field.type],\n field,\n operators,\n }\n\n reduced.push(formattedField)\n return reduced\n }\n }\n return reduced\n }, [])\n}\n"],"names":["getTranslation","fieldAffectsData","fieldIsHiddenOrDisabled","fieldIsID","tabHasName","fieldTypeConditions","getValidFieldOperators","createNestedClientFieldPath","combineFieldLabel","reduceFieldsToOptions","fieldPermissions","fields","i18n","labelPrefix","pathPrefix","pathPrefixFromArgs","reduce","reduced","field","virtual","shouldIgnoreFieldName","type","tabs","forEach","tab","label","localizedTabLabel","labelWithPrefix","tabPathPrefix","name","push","translatedLabel","pathWithPrefix","read","operatorKeys","Set","validOperators","operators","acc","operator","has","value","add","operatorKey","t","localizedLabel","formattedLabel","prefix","fieldPath","formattedField","plainTextLabel"],"mappings":"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"}
@@ -5,26 +5,26 @@ import { unflatten as flatleyUnflatten } from 'payload/shared';
5
5
  * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure
6
6
  * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.
7
7
  *
8
- */
9
- export const reduceFieldsToValuesWithValidation = (fields, unflatten, ignoreDisableFormData) => {
10
- const state = {
11
- data: {},
12
- valid: true
13
- };
14
- if (!fields) {
15
- return state;
16
- }
17
- Object.keys(fields).forEach(key => {
18
- if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {
19
- state.data[key] = fields[key]?.value;
20
- if (!fields[key].valid) {
21
- state.valid = false;
22
- }
8
+ */ export const reduceFieldsToValuesWithValidation = (fields, unflatten, ignoreDisableFormData)=>{
9
+ const state = {
10
+ data: {},
11
+ valid: true
12
+ };
13
+ if (!fields) {
14
+ return state;
15
+ }
16
+ Object.keys(fields).forEach((key)=>{
17
+ if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {
18
+ state.data[key] = fields[key]?.value;
19
+ if (!fields[key].valid) {
20
+ state.valid = false;
21
+ }
22
+ }
23
+ });
24
+ if (unflatten) {
25
+ state.data = flatleyUnflatten(state.data);
23
26
  }
24
- });
25
- if (unflatten) {
26
- state.data = flatleyUnflatten(state.data);
27
- }
28
- return state;
27
+ return state;
29
28
  };
29
+
30
30
  //# sourceMappingURL=reduceFieldsToValuesWithValidation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"reduceFieldsToValuesWithValidation.js","names":["unflatten","flatleyUnflatten","reduceFieldsToValuesWithValidation","fields","ignoreDisableFormData","state","data","valid","Object","keys","forEach","key","disableFormData","value"],"sources":["../../src/utilities/reduceFieldsToValuesWithValidation.ts"],"sourcesContent":["import type { Data, FormState } from 'payload'\n\nimport { unflatten as flatleyUnflatten } from 'payload/shared'\n\ntype ReturnType = {\n data: Data\n valid: boolean\n}\n\n/**\n * Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object\n *\n * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure\n * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.\n *\n */\nexport const reduceFieldsToValuesWithValidation = (\n fields: FormState,\n unflatten?: boolean,\n ignoreDisableFormData?: boolean,\n): ReturnType => {\n const state: ReturnType = {\n data: {},\n valid: true,\n }\n\n if (!fields) {\n return state\n }\n\n Object.keys(fields).forEach((key) => {\n if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {\n state.data[key] = fields[key]?.value\n if (!fields[key].valid) {\n state.valid = false\n }\n }\n })\n\n if (unflatten) {\n state.data = flatleyUnflatten(state.data)\n }\n\n return state\n}\n"],"mappings":"AAEA,SAASA,SAAA,IAAaC,gBAAgB,QAAQ;AAO9C;;;;;;;AAOA,OAAO,MAAMC,kCAAA,GAAqCA,CAChDC,MAAA,EACAH,SAAA,EACAI,qBAAA;EAEA,MAAMC,KAAA,GAAoB;IACxBC,IAAA,EAAM,CAAC;IACPC,KAAA,EAAO;EACT;EAEA,IAAI,CAACJ,MAAA,EAAQ;IACX,OAAOE,KAAA;EACT;EAEAG,MAAA,CAAOC,IAAI,CAACN,MAAA,EAAQO,OAAO,CAAEC,GAAA;IAC3B,IAAIP,qBAAA,KAA0B,QAAQ,CAACD,MAAM,CAACQ,GAAA,CAAI,EAAEC,eAAA,EAAiB;MACnEP,KAAA,CAAMC,IAAI,CAACK,GAAA,CAAI,GAAGR,MAAM,CAACQ,GAAA,CAAI,EAAEE,KAAA;MAC/B,IAAI,CAACV,MAAM,CAACQ,GAAA,CAAI,CAACJ,KAAK,EAAE;QACtBF,KAAA,CAAME,KAAK,GAAG;MAChB;IACF;EACF;EAEA,IAAIP,SAAA,EAAW;IACbK,KAAA,CAAMC,IAAI,GAAGL,gBAAA,CAAiBI,KAAA,CAAMC,IAAI;EAC1C;EAEA,OAAOD,KAAA;AACT","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/reduceFieldsToValuesWithValidation.ts"],"sourcesContent":["import type { Data, FormState } from 'payload'\n\nimport { unflatten as flatleyUnflatten } from 'payload/shared'\n\ntype ReturnType = {\n data: Data\n valid: boolean\n}\n\n/**\n * Reduce flattened form fields (Fields) to just map to the respective values instead of the full FormField object\n *\n * @param unflatten This also unflattens the data if `unflatten` is true. The unflattened data should match the original data structure\n * @param ignoreDisableFormData - if true, will include fields that have `disableFormData` set to true, for example, blocks or arrays fields.\n *\n */\nexport const reduceFieldsToValuesWithValidation = (\n fields: FormState,\n unflatten?: boolean,\n ignoreDisableFormData?: boolean,\n): ReturnType => {\n const state: ReturnType = {\n data: {},\n valid: true,\n }\n\n if (!fields) {\n return state\n }\n\n Object.keys(fields).forEach((key) => {\n if (ignoreDisableFormData === true || !fields[key]?.disableFormData) {\n state.data[key] = fields[key]?.value\n if (!fields[key].valid) {\n state.valid = false\n }\n }\n })\n\n if (unflatten) {\n state.data = flatleyUnflatten(state.data)\n }\n\n return state\n}\n"],"names":["unflatten","flatleyUnflatten","reduceFieldsToValuesWithValidation","fields","ignoreDisableFormData","state","data","valid","Object","keys","forEach","key","disableFormData","value"],"mappings":"AAEA,SAASA,aAAaC,gBAAgB,QAAQ,iBAAgB;AAO9D;;;;;;CAMC,GACD,OAAO,MAAMC,qCAAqC,CAChDC,QACAH,WACAI;IAEA,MAAMC,QAAoB;QACxBC,MAAM,CAAC;QACPC,OAAO;IACT;IAEA,IAAI,CAACJ,QAAQ;QACX,OAAOE;IACT;IAEAG,OAAOC,IAAI,CAACN,QAAQO,OAAO,CAAC,CAACC;QAC3B,IAAIP,0BAA0B,QAAQ,CAACD,MAAM,CAACQ,IAAI,EAAEC,iBAAiB;YACnEP,MAAMC,IAAI,CAACK,IAAI,GAAGR,MAAM,CAACQ,IAAI,EAAEE;YAC/B,IAAI,CAACV,MAAM,CAACQ,IAAI,CAACJ,KAAK,EAAE;gBACtBF,MAAME,KAAK,GAAG;YAChB;QACF;IACF;IAEA,IAAIP,WAAW;QACbK,MAAMC,IAAI,GAAGL,iBAAiBI,MAAMC,IAAI;IAC1C;IAEA,OAAOD;AACT,EAAC"}
@@ -1,4 +1,5 @@
1
1
  export function removeUndefined(obj) {
2
- return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined));
2
+ return Object.fromEntries(Object.entries(obj).filter(([, value])=>value !== undefined));
3
3
  }
4
+
4
5
  //# sourceMappingURL=removeUndefined.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"removeUndefined.js","names":["removeUndefined","obj","Object","fromEntries","entries","filter","value","undefined"],"sources":["../../src/utilities/removeUndefined.ts"],"sourcesContent":["export function removeUndefined<T extends object>(obj: T): T {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined)) as T\n}\n"],"mappings":"AAAA,OAAO,SAASA,gBAAkCC,GAAM;EACtD,OAAOC,MAAA,CAAOC,WAAW,CAACD,MAAA,CAAOE,OAAO,CAACH,GAAA,EAAKI,MAAM,CAAC,CAAC,GAAGC,KAAA,CAAM,KAAKA,KAAA,KAAUC,SAAA;AAChF","ignoreList":[]}
1
+ {"version":3,"sources":["../../src/utilities/removeUndefined.ts"],"sourcesContent":["export function removeUndefined<T extends object>(obj: T): T {\n return Object.fromEntries(Object.entries(obj).filter(([, value]) => value !== undefined)) as T\n}\n"],"names":["removeUndefined","obj","Object","fromEntries","entries","filter","value","undefined"],"mappings":"AAAA,OAAO,SAASA,gBAAkCC,GAAM;IACtD,OAAOC,OAAOC,WAAW,CAACD,OAAOE,OAAO,CAACH,KAAKI,MAAM,CAAC,CAAC,GAAGC,MAAM,GAAKA,UAAUC;AAChF"}