@payloadcms/ui 3.67.0 → 3.68.0-internal-debug.2eb12b9

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 (1187) 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 +161 -272
  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 +75 -72
  9. package/dist/elements/AnimateHeight/index.js.map +1 -1
  10. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js +71 -69
  11. package/dist/elements/AnimateHeight/usePatchAnimateHeight.js.map +1 -1
  12. package/dist/elements/AppHeader/index.js +96 -97
  13. package/dist/elements/AppHeader/index.js.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +104 -116
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Autosave/index.js +135 -168
  17. package/dist/elements/Autosave/index.js.map +1 -1
  18. package/dist/elements/Banner/index.js +35 -31
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.js +101 -169
  21. package/dist/elements/BulkUpload/ActionsBar/index.js.map +1 -1
  22. package/dist/elements/BulkUpload/AddFilesView/index.js +55 -50
  23. package/dist/elements/BulkUpload/AddFilesView/index.js.map +1 -1
  24. package/dist/elements/BulkUpload/AddingFilesView/index.js +51 -92
  25. package/dist/elements/BulkUpload/AddingFilesView/index.js.map +1 -1
  26. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js +24 -54
  27. package/dist/elements/BulkUpload/DiscardWithoutSaving/index.js.map +1 -1
  28. package/dist/elements/BulkUpload/DrawerCloseButton/index.js +9 -25
  29. package/dist/elements/BulkUpload/DrawerCloseButton/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/EditForm/index.js +140 -166
  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 +159 -170
  35. package/dist/elements/BulkUpload/EditMany/DrawerContent.js.map +1 -1
  36. package/dist/elements/BulkUpload/EditMany/index.js +34 -55
  37. package/dist/elements/BulkUpload/EditMany/index.js.map +1 -1
  38. package/dist/elements/BulkUpload/FileSidebar/index.js +248 -313
  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 +491 -469
  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 +14 -14
  47. package/dist/elements/BulkUpload/Header/index.js.map +1 -1
  48. package/dist/elements/BulkUpload/index.js +150 -268
  49. package/dist/elements/BulkUpload/index.js.map +1 -1
  50. package/dist/elements/Button/index.js +157 -158
  51. package/dist/elements/Button/index.js.map +1 -1
  52. package/dist/elements/Button/types.js +2 -1
  53. package/dist/elements/Button/types.js.map +1 -1
  54. package/dist/elements/Card/index.js +31 -31
  55. package/dist/elements/Card/index.js.map +1 -1
  56. package/dist/elements/CheckboxPopup/index.js +30 -35
  57. package/dist/elements/CheckboxPopup/index.js.map +1 -1
  58. package/dist/elements/ClipboardAction/ClipboardActionLabel.js +15 -33
  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 +80 -81
  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 +16 -19
  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 +73 -96
  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 +9 -9
  79. package/dist/elements/CodeEditor/index.js.map +1 -1
  80. package/dist/elements/CodeEditor/types.js +2 -1
  81. package/dist/elements/CodeEditor/types.js.map +1 -1
  82. package/dist/elements/Collapsible/index.js +86 -139
  83. package/dist/elements/Collapsible/index.js.map +1 -1
  84. package/dist/elements/Collapsible/provider.js +27 -29
  85. package/dist/elements/Collapsible/provider.js.map +1 -1
  86. package/dist/elements/ColumnSelector/index.js +45 -53
  87. package/dist/elements/ColumnSelector/index.js.map +1 -1
  88. package/dist/elements/Combobox/index.js +83 -83
  89. package/dist/elements/Combobox/index.js.map +1 -1
  90. package/dist/elements/ConfirmationModal/index.js +82 -127
  91. package/dist/elements/ConfirmationModal/index.js.map +1 -1
  92. package/dist/elements/CopyLocaleData/index.js +165 -273
  93. package/dist/elements/CopyLocaleData/index.js.map +1 -1
  94. package/dist/elements/CopyToClipboard/index.js +34 -69
  95. package/dist/elements/CopyToClipboard/index.js.map +1 -1
  96. package/dist/elements/DatePicker/DatePicker.js +100 -135
  97. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  98. package/dist/elements/DatePicker/getFormattedLocale.js +10 -10
  99. package/dist/elements/DatePicker/getFormattedLocale.js.map +1 -1
  100. package/dist/elements/DatePicker/index.js +10 -10
  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 +80 -130
  105. package/dist/elements/DefaultListViewTabs/index.js.map +1 -1
  106. package/dist/elements/DeleteDocument/index.js +134 -137
  107. package/dist/elements/DeleteDocument/index.js.map +1 -1
  108. package/dist/elements/DeleteMany/index.js +295 -328
  109. package/dist/elements/DeleteMany/index.js.map +1 -1
  110. package/dist/elements/DocumentControls/index.js +284 -272
  111. package/dist/elements/DocumentControls/index.js.map +1 -1
  112. package/dist/elements/DocumentDrawer/DrawerContent.js +132 -121
  113. package/dist/elements/DocumentDrawer/DrawerContent.js.map +1 -1
  114. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +53 -100
  115. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  116. package/dist/elements/DocumentDrawer/Provider.js +15 -17
  117. package/dist/elements/DocumentDrawer/Provider.js.map +1 -1
  118. package/dist/elements/DocumentDrawer/index.js +111 -209
  119. package/dist/elements/DocumentDrawer/index.js.map +1 -1
  120. package/dist/elements/DocumentDrawer/types.js +2 -1
  121. package/dist/elements/DocumentDrawer/types.js.map +1 -1
  122. package/dist/elements/DocumentFields/index.js +68 -67
  123. package/dist/elements/DocumentFields/index.js.map +1 -1
  124. package/dist/elements/DocumentLocked/index.js +104 -177
  125. package/dist/elements/DocumentLocked/index.js.map +1 -1
  126. package/dist/elements/DocumentTakeOver/index.js +63 -111
  127. package/dist/elements/DocumentTakeOver/index.js.map +1 -1
  128. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js +21 -59
  129. package/dist/elements/DraggableSortable/DraggableSortableItem/index.js.map +1 -1
  130. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js +2 -1
  131. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  132. package/dist/elements/DraggableSortable/index.js +58 -122
  133. package/dist/elements/DraggableSortable/index.js.map +1 -1
  134. package/dist/elements/DraggableSortable/types.js +2 -1
  135. package/dist/elements/DraggableSortable/types.js.map +1 -1
  136. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +24 -85
  137. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  138. package/dist/elements/DraggableSortable/useDraggableSortable/types.js +2 -1
  139. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  140. package/dist/elements/Drawer/index.js +110 -190
  141. package/dist/elements/Drawer/index.js.map +1 -1
  142. package/dist/elements/Drawer/types.js +2 -1
  143. package/dist/elements/Drawer/types.js.map +1 -1
  144. package/dist/elements/Drawer/useDrawerSlug.js +7 -19
  145. package/dist/elements/Drawer/useDrawerSlug.js.map +1 -1
  146. package/dist/elements/DrawerActionHeader/index.js +33 -59
  147. package/dist/elements/DrawerActionHeader/index.js.map +1 -1
  148. package/dist/elements/DrawerContentContainer/index.js +9 -8
  149. package/dist/elements/DrawerContentContainer/index.js.map +1 -1
  150. package/dist/elements/Dropzone/index.js +85 -74
  151. package/dist/elements/Dropzone/index.js.map +1 -1
  152. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js +104 -86
  153. package/dist/elements/DuplicateDocument/SelectLocalesDrawer/index.js.map +1 -1
  154. package/dist/elements/DuplicateDocument/index.js +135 -141
  155. package/dist/elements/DuplicateDocument/index.js.map +1 -1
  156. package/dist/elements/EditMany/DrawerContent.js +282 -379
  157. package/dist/elements/EditMany/DrawerContent.js.map +1 -1
  158. package/dist/elements/EditMany/index.js +50 -128
  159. package/dist/elements/EditMany/index.js.map +1 -1
  160. package/dist/elements/EditUpload/index.js +419 -398
  161. package/dist/elements/EditUpload/index.js.map +1 -1
  162. package/dist/elements/EmailAndUsername/index.js +75 -76
  163. package/dist/elements/EmailAndUsername/index.js.map +1 -1
  164. package/dist/elements/ErrorPill/index.js +25 -23
  165. package/dist/elements/ErrorPill/index.js.map +1 -1
  166. package/dist/elements/FieldDiffContainer/index.js +33 -33
  167. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  168. package/dist/elements/FieldDiffLabel/index.js +5 -6
  169. package/dist/elements/FieldDiffLabel/index.js.map +1 -1
  170. package/dist/elements/FieldSelect/index.js +31 -73
  171. package/dist/elements/FieldSelect/index.js.map +1 -1
  172. package/dist/elements/FieldSelect/reduceFieldOptions.js +69 -67
  173. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  174. package/dist/elements/FileDetails/DraggableFileDetails/index.js +63 -103
  175. package/dist/elements/FileDetails/DraggableFileDetails/index.js.map +1 -1
  176. package/dist/elements/FileDetails/FileMeta/index.js +43 -32
  177. package/dist/elements/FileDetails/FileMeta/index.js.map +1 -1
  178. package/dist/elements/FileDetails/StaticFileDetails/index.js +47 -57
  179. package/dist/elements/FileDetails/StaticFileDetails/index.js.map +1 -1
  180. package/dist/elements/FileDetails/index.js +10 -12
  181. package/dist/elements/FileDetails/index.js.map +1 -1
  182. package/dist/elements/FolderView/Breadcrumbs/index.js +38 -85
  183. package/dist/elements/FolderView/Breadcrumbs/index.js.map +1 -1
  184. package/dist/elements/FolderView/BrowseByFolderButton/index.js +21 -29
  185. package/dist/elements/FolderView/BrowseByFolderButton/index.js.map +1 -1
  186. package/dist/elements/FolderView/Cell/index.client.js +77 -80
  187. package/dist/elements/FolderView/Cell/index.client.js.map +1 -1
  188. package/dist/elements/FolderView/Cell/index.server.js +14 -13
  189. package/dist/elements/FolderView/Cell/index.server.js.map +1 -1
  190. package/dist/elements/FolderView/ColoredFolderIcon/index.js +4 -3
  191. package/dist/elements/FolderView/ColoredFolderIcon/index.js.map +1 -1
  192. package/dist/elements/FolderView/CurrentFolderActions/index.js +127 -135
  193. package/dist/elements/FolderView/CurrentFolderActions/index.js.map +1 -1
  194. package/dist/elements/FolderView/DragOverlaySelection/index.js +48 -49
  195. package/dist/elements/FolderView/DragOverlaySelection/index.js.map +1 -1
  196. package/dist/elements/FolderView/DraggableTableRow/index.js +54 -53
  197. package/dist/elements/FolderView/DraggableTableRow/index.js.map +1 -1
  198. package/dist/elements/FolderView/DraggableWithClick/index.js +70 -78
  199. package/dist/elements/FolderView/DraggableWithClick/index.js.map +1 -1
  200. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js +26 -32
  201. package/dist/elements/FolderView/Drawers/EditFolderAction/index.js.map +1 -1
  202. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js +368 -563
  203. package/dist/elements/FolderView/Drawers/MoveToFolder/index.js.map +1 -1
  204. package/dist/elements/FolderView/FilterFolderTypePill/index.js +47 -87
  205. package/dist/elements/FolderView/FilterFolderTypePill/index.js.map +1 -1
  206. package/dist/elements/FolderView/FolderField/index.server.js +10 -9
  207. package/dist/elements/FolderView/FolderField/index.server.js.map +1 -1
  208. package/dist/elements/FolderView/FolderFileCard/index.js +143 -186
  209. package/dist/elements/FolderView/FolderFileCard/index.js.map +1 -1
  210. package/dist/elements/FolderView/FolderFileTable/index.js +170 -263
  211. package/dist/elements/FolderView/FolderFileTable/index.js.map +1 -1
  212. package/dist/elements/FolderView/FolderTypeField/index.js +88 -113
  213. package/dist/elements/FolderView/FolderTypeField/index.js.map +1 -1
  214. package/dist/elements/FolderView/ItemCardGrid/index.js +22 -26
  215. package/dist/elements/FolderView/ItemCardGrid/index.js.map +1 -1
  216. package/dist/elements/FolderView/MoveDocToFolder/index.js +121 -258
  217. package/dist/elements/FolderView/MoveDocToFolder/index.js.map +1 -1
  218. package/dist/elements/FolderView/SimpleTable/index.js +59 -81
  219. package/dist/elements/FolderView/SimpleTable/index.js.map +1 -1
  220. package/dist/elements/FolderView/SortByPill/index.js +105 -99
  221. package/dist/elements/FolderView/SortByPill/index.js.map +1 -1
  222. package/dist/elements/FolderView/ToggleViewButtons/index.js +30 -23
  223. package/dist/elements/FolderView/ToggleViewButtons/index.js.map +1 -1
  224. package/dist/elements/FullscreenModal/index.js +10 -20
  225. package/dist/elements/FullscreenModal/index.js.map +1 -1
  226. package/dist/elements/GenerateConfirmation/index.js +41 -81
  227. package/dist/elements/GenerateConfirmation/index.js.map +1 -1
  228. package/dist/elements/GroupByBuilder/index.js +113 -99
  229. package/dist/elements/GroupByBuilder/index.js.map +1 -1
  230. package/dist/elements/Gutter/index.js +17 -18
  231. package/dist/elements/Gutter/index.js.map +1 -1
  232. package/dist/elements/HTMLDiff/diff/index.js +500 -499
  233. package/dist/elements/HTMLDiff/diff/index.js.map +1 -1
  234. package/dist/elements/HTMLDiff/index.js +22 -25
  235. package/dist/elements/HTMLDiff/index.js.map +1 -1
  236. package/dist/elements/Hamburger/index.js +25 -38
  237. package/dist/elements/Hamburger/index.js.map +1 -1
  238. package/dist/elements/HydrateAuthProvider/index.js +10 -27
  239. package/dist/elements/HydrateAuthProvider/index.js.map +1 -1
  240. package/dist/elements/IDLabel/index.js +21 -55
  241. package/dist/elements/IDLabel/index.js.map +1 -1
  242. package/dist/elements/LeaveWithoutSaving/index.js +63 -140
  243. package/dist/elements/LeaveWithoutSaving/index.js.map +1 -1
  244. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js +111 -129
  245. package/dist/elements/LeaveWithoutSaving/usePreventLeave.js.map +1 -1
  246. package/dist/elements/Link/formatUrl.js +53 -56
  247. package/dist/elements/Link/formatUrl.js.map +1 -1
  248. package/dist/elements/Link/index.js +39 -51
  249. package/dist/elements/Link/index.js.map +1 -1
  250. package/dist/elements/ListControls/getTextFieldsToBeSearched.js +17 -17
  251. package/dist/elements/ListControls/getTextFieldsToBeSearched.js.map +1 -1
  252. package/dist/elements/ListControls/index.js +162 -165
  253. package/dist/elements/ListControls/index.js.map +1 -1
  254. package/dist/elements/ListControls/types.js +2 -1
  255. package/dist/elements/ListControls/types.js.map +1 -1
  256. package/dist/elements/ListDrawer/DrawerContent.js +169 -167
  257. package/dist/elements/ListDrawer/DrawerContent.js.map +1 -1
  258. package/dist/elements/ListDrawer/Provider.js +16 -18
  259. package/dist/elements/ListDrawer/Provider.js.map +1 -1
  260. package/dist/elements/ListDrawer/index.js +125 -228
  261. package/dist/elements/ListDrawer/index.js.map +1 -1
  262. package/dist/elements/ListDrawer/types.js +2 -1
  263. package/dist/elements/ListDrawer/types.js.map +1 -1
  264. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js +29 -82
  265. package/dist/elements/ListHeader/DrawerRelationshipSelect/index.js.map +1 -1
  266. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js +13 -31
  267. package/dist/elements/ListHeader/DrawerTitleActions/ListDrawerCreateNewDocButton.js.map +1 -1
  268. package/dist/elements/ListHeader/DrawerTitleActions/index.js +1 -0
  269. package/dist/elements/ListHeader/DrawerTitleActions/index.js.map +1 -1
  270. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js +39 -71
  271. package/dist/elements/ListHeader/TitleActions/ListBulkUploadButton.js.map +1 -1
  272. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js +16 -38
  273. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocButton.js.map +1 -1
  274. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js +97 -161
  275. package/dist/elements/ListHeader/TitleActions/ListCreateNewDocInFolderButton.js.map +1 -1
  276. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +138 -141
  277. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  278. package/dist/elements/ListHeader/TitleActions/index.js +1 -0
  279. package/dist/elements/ListHeader/TitleActions/index.js.map +1 -1
  280. package/dist/elements/ListHeader/index.js +36 -23
  281. package/dist/elements/ListHeader/index.js.map +1 -1
  282. package/dist/elements/ListSelection/index.js +45 -56
  283. package/dist/elements/ListSelection/index.js.map +1 -1
  284. package/dist/elements/LivePreview/Device/index.js +74 -82
  285. package/dist/elements/LivePreview/Device/index.js.map +1 -1
  286. package/dist/elements/LivePreview/DeviceContainer/index.js +23 -47
  287. package/dist/elements/LivePreview/DeviceContainer/index.js.map +1 -1
  288. package/dist/elements/LivePreview/IFrame/index.js +14 -42
  289. package/dist/elements/LivePreview/IFrame/index.js.map +1 -1
  290. package/dist/elements/LivePreview/Toggler/index.js +23 -25
  291. package/dist/elements/LivePreview/Toggler/index.js.map +1 -1
  292. package/dist/elements/LivePreview/Toolbar/Controls/index.js +115 -138
  293. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  294. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js +56 -90
  295. package/dist/elements/LivePreview/Toolbar/SizeInput/index.js.map +1 -1
  296. package/dist/elements/LivePreview/Toolbar/index.js +50 -82
  297. package/dist/elements/LivePreview/Toolbar/index.js.map +1 -1
  298. package/dist/elements/LivePreview/ToolbarArea/index.js +10 -32
  299. package/dist/elements/LivePreview/ToolbarArea/index.js.map +1 -1
  300. package/dist/elements/LivePreview/Window/index.js +102 -164
  301. package/dist/elements/LivePreview/Window/index.js.map +1 -1
  302. package/dist/elements/Loading/index.js +73 -141
  303. package/dist/elements/Loading/index.js.map +1 -1
  304. package/dist/elements/LoadingOverlay/index.js +59 -66
  305. package/dist/elements/LoadingOverlay/index.js.map +1 -1
  306. package/dist/elements/LoadingOverlay/reducer.js +27 -29
  307. package/dist/elements/LoadingOverlay/reducer.js.map +1 -1
  308. package/dist/elements/LoadingOverlay/types.js +2 -1
  309. package/dist/elements/LoadingOverlay/types.js.map +1 -1
  310. package/dist/elements/Localizer/LocalizerLabel/index.js +33 -49
  311. package/dist/elements/Localizer/LocalizerLabel/index.js.map +1 -1
  312. package/dist/elements/Localizer/index.js +64 -114
  313. package/dist/elements/Localizer/index.js.map +1 -1
  314. package/dist/elements/Locked/index.js +24 -57
  315. package/dist/elements/Locked/index.js.map +1 -1
  316. package/dist/elements/Logout/index.js +16 -49
  317. package/dist/elements/Logout/index.js.map +1 -1
  318. package/dist/elements/Modal/index.js +1 -1
  319. package/dist/elements/Modal/index.js.map +1 -1
  320. package/dist/elements/Nav/NavToggler/index.js +28 -78
  321. package/dist/elements/Nav/NavToggler/index.js.map +1 -1
  322. package/dist/elements/Nav/context.js +102 -102
  323. package/dist/elements/Nav/context.js.map +1 -1
  324. package/dist/elements/NavGroup/index.js +64 -120
  325. package/dist/elements/NavGroup/index.js.map +1 -1
  326. package/dist/elements/NoListResults/index.js +14 -13
  327. package/dist/elements/NoListResults/index.js.map +1 -1
  328. package/dist/elements/PageControls/GroupByPageControls.js +34 -69
  329. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  330. package/dist/elements/PageControls/index.js +50 -104
  331. package/dist/elements/PageControls/index.js.map +1 -1
  332. package/dist/elements/Pagination/ClickableArrow/index.js +15 -15
  333. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  334. package/dist/elements/Pagination/Page/index.js +14 -15
  335. package/dist/elements/Pagination/Page/index.js.map +1 -1
  336. package/dist/elements/Pagination/Separator/index.js +5 -5
  337. package/dist/elements/Pagination/Separator/index.js.map +1 -1
  338. package/dist/elements/Pagination/index.js +88 -97
  339. package/dist/elements/Pagination/index.js.map +1 -1
  340. package/dist/elements/PerPage/index.js +51 -78
  341. package/dist/elements/PerPage/index.js.map +1 -1
  342. package/dist/elements/PermanentlyDeleteButton/index.js +121 -124
  343. package/dist/elements/PermanentlyDeleteButton/index.js.map +1 -1
  344. package/dist/elements/Pill/index.js +71 -116
  345. package/dist/elements/Pill/index.js.map +1 -1
  346. package/dist/elements/PillSelector/index.js +53 -54
  347. package/dist/elements/PillSelector/index.js.map +1 -1
  348. package/dist/elements/Popup/PopupButtonList/index.js +48 -51
  349. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  350. package/dist/elements/Popup/PopupDivider/index.js +5 -4
  351. package/dist/elements/Popup/PopupDivider/index.js.map +1 -1
  352. package/dist/elements/Popup/PopupGroupLabel/index.js +6 -7
  353. package/dist/elements/Popup/PopupGroupLabel/index.js.map +1 -1
  354. package/dist/elements/Popup/PopupTrigger/index.js +41 -106
  355. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  356. package/dist/elements/Popup/PopupTrigger/types.js.map +1 -1
  357. package/dist/elements/Popup/index.js +171 -168
  358. package/dist/elements/Popup/index.js.map +1 -1
  359. package/dist/elements/PreviewButton/index.js +14 -29
  360. package/dist/elements/PreviewButton/index.js.map +1 -1
  361. package/dist/elements/PreviewSizes/index.js +138 -127
  362. package/dist/elements/PreviewSizes/index.js.map +1 -1
  363. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js +109 -109
  364. package/dist/elements/PublishButton/ScheduleDrawer/buildUpcomingColumns.js.map +1 -1
  365. package/dist/elements/PublishButton/ScheduleDrawer/index.js +345 -305
  366. package/dist/elements/PublishButton/ScheduleDrawer/index.js.map +1 -1
  367. package/dist/elements/PublishButton/ScheduleDrawer/types.js +2 -1
  368. package/dist/elements/PublishButton/ScheduleDrawer/types.js.map +1 -1
  369. package/dist/elements/PublishButton/index.js +190 -182
  370. package/dist/elements/PublishButton/index.js.map +1 -1
  371. package/dist/elements/PublishMany/DrawerContent.js +128 -129
  372. package/dist/elements/PublishMany/DrawerContent.js.map +1 -1
  373. package/dist/elements/PublishMany/index.js +37 -106
  374. package/dist/elements/PublishMany/index.js.map +1 -1
  375. package/dist/elements/QueryPresets/QueryPresetBar/index.js +266 -259
  376. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  377. package/dist/elements/QueryPresets/QueryPresetToggler/index.js +50 -85
  378. package/dist/elements/QueryPresets/QueryPresetToggler/index.js.map +1 -1
  379. package/dist/elements/QueryPresets/cells/AccessCell/index.js +30 -20
  380. package/dist/elements/QueryPresets/cells/AccessCell/index.js.map +1 -1
  381. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js +17 -18
  382. package/dist/elements/QueryPresets/cells/ColumnsCell/index.js.map +1 -1
  383. package/dist/elements/QueryPresets/cells/GroupByCell/index.js +51 -46
  384. package/dist/elements/QueryPresets/cells/GroupByCell/index.js.map +1 -1
  385. package/dist/elements/QueryPresets/cells/WhereCell/index.js +24 -26
  386. package/dist/elements/QueryPresets/cells/WhereCell/index.js.map +1 -1
  387. package/dist/elements/QueryPresets/fields/ColumnsField/index.js +24 -45
  388. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  389. package/dist/elements/QueryPresets/fields/GroupByField/index.js +74 -72
  390. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  391. package/dist/elements/QueryPresets/fields/WhereField/index.js +96 -97
  392. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  393. package/dist/elements/ReactSelect/ClearIndicator/index.js +20 -26
  394. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  395. package/dist/elements/ReactSelect/Control/index.js +31 -40
  396. package/dist/elements/ReactSelect/Control/index.js.map +1 -1
  397. package/dist/elements/ReactSelect/DropdownIndicator/index.js +17 -22
  398. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  399. package/dist/elements/ReactSelect/Input/index.js +11 -12
  400. package/dist/elements/ReactSelect/Input/index.js.map +1 -1
  401. package/dist/elements/ReactSelect/MultiValue/index.js +39 -125
  402. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  403. package/dist/elements/ReactSelect/MultiValueLabel/index.js +20 -31
  404. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  405. package/dist/elements/ReactSelect/MultiValueRemove/index.js +35 -84
  406. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  407. package/dist/elements/ReactSelect/SingleValue/index.js +13 -13
  408. package/dist/elements/ReactSelect/SingleValue/index.js.map +1 -1
  409. package/dist/elements/ReactSelect/ValueContainer/index.js +25 -28
  410. package/dist/elements/ReactSelect/ValueContainer/index.js.map +1 -1
  411. package/dist/elements/ReactSelect/index.js +180 -195
  412. package/dist/elements/ReactSelect/index.js.map +1 -1
  413. package/dist/elements/ReactSelect/types.js +2 -1
  414. package/dist/elements/ReactSelect/types.js.map +1 -1
  415. package/dist/elements/RelationshipTable/AddNewButton.js +42 -56
  416. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  417. package/dist/elements/RelationshipTable/Pagination.js +15 -46
  418. package/dist/elements/RelationshipTable/Pagination.js.map +1 -1
  419. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js +21 -32
  420. package/dist/elements/RelationshipTable/cells/DrawerLink/index.js.map +1 -1
  421. package/dist/elements/RelationshipTable/index.js +291 -255
  422. package/dist/elements/RelationshipTable/index.js.map +1 -1
  423. package/dist/elements/RenderComponent/index.js +16 -19
  424. package/dist/elements/RenderComponent/index.js.map +1 -1
  425. package/dist/elements/RenderCustomComponent/index.js +3 -5
  426. package/dist/elements/RenderCustomComponent/index.js.map +1 -1
  427. package/dist/elements/RenderIfInViewport/index.js +21 -56
  428. package/dist/elements/RenderIfInViewport/index.js.map +1 -1
  429. package/dist/elements/RenderServerComponent/index.js +48 -55
  430. package/dist/elements/RenderServerComponent/index.js.map +1 -1
  431. package/dist/elements/RenderTitle/index.js +25 -56
  432. package/dist/elements/RenderTitle/index.js.map +1 -1
  433. package/dist/elements/RestoreButton/index.js +146 -145
  434. package/dist/elements/RestoreButton/index.js.map +1 -1
  435. package/dist/elements/RestoreMany/index.js +147 -165
  436. package/dist/elements/RestoreMany/index.js.map +1 -1
  437. package/dist/elements/SaveButton/index.js +42 -48
  438. package/dist/elements/SaveButton/index.js.map +1 -1
  439. package/dist/elements/SaveDraftButton/index.js +75 -82
  440. package/dist/elements/SaveDraftButton/index.js.map +1 -1
  441. package/dist/elements/SearchBar/index.js +20 -18
  442. package/dist/elements/SearchBar/index.js.map +1 -1
  443. package/dist/elements/SearchFilter/index.js +51 -53
  444. package/dist/elements/SearchFilter/index.js.map +1 -1
  445. package/dist/elements/SearchFilter/types.js +2 -1
  446. package/dist/elements/SearchFilter/types.js.map +1 -1
  447. package/dist/elements/SelectAll/index.js +15 -44
  448. package/dist/elements/SelectAll/index.js.map +1 -1
  449. package/dist/elements/SelectMany/index.js +22 -24
  450. package/dist/elements/SelectMany/index.js.map +1 -1
  451. package/dist/elements/SelectRow/index.js +16 -76
  452. package/dist/elements/SelectRow/index.js.map +1 -1
  453. package/dist/elements/ShimmerEffect/index.js +36 -71
  454. package/dist/elements/ShimmerEffect/index.js.map +1 -1
  455. package/dist/elements/SortColumn/index.js +64 -104
  456. package/dist/elements/SortColumn/index.js.map +1 -1
  457. package/dist/elements/SortComplex/index.js +103 -160
  458. package/dist/elements/SortComplex/index.js.map +1 -1
  459. package/dist/elements/SortHeader/index.js +35 -84
  460. package/dist/elements/SortHeader/index.js.map +1 -1
  461. package/dist/elements/SortRow/index.js +11 -25
  462. package/dist/elements/SortRow/index.js.map +1 -1
  463. package/dist/elements/Status/index.js +157 -155
  464. package/dist/elements/Status/index.js.map +1 -1
  465. package/dist/elements/StayLoggedIn/index.js +32 -74
  466. package/dist/elements/StayLoggedIn/index.js.map +1 -1
  467. package/dist/elements/StepNav/SetStepNav.js +10 -27
  468. package/dist/elements/StepNav/SetStepNav.js.map +1 -1
  469. package/dist/elements/StepNav/context.js +11 -32
  470. package/dist/elements/StepNav/context.js.map +1 -1
  471. package/dist/elements/StepNav/index.js +68 -88
  472. package/dist/elements/StepNav/index.js.map +1 -1
  473. package/dist/elements/StepNav/types.js +2 -1
  474. package/dist/elements/StepNav/types.js.map +1 -1
  475. package/dist/elements/StickyToolbar/index.js +5 -7
  476. package/dist/elements/StickyToolbar/index.js.map +1 -1
  477. package/dist/elements/Table/DefaultCell/fields/Array/index.js +7 -26
  478. package/dist/elements/Table/DefaultCell/fields/Array/index.js.map +1 -1
  479. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js +28 -58
  480. package/dist/elements/Table/DefaultCell/fields/Blocks/index.js.map +1 -1
  481. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js +8 -25
  482. package/dist/elements/Table/DefaultCell/fields/Checkbox/index.js.map +1 -1
  483. package/dist/elements/Table/DefaultCell/fields/Code/index.js +13 -16
  484. package/dist/elements/Table/DefaultCell/fields/Code/index.js.map +1 -1
  485. package/dist/elements/Table/DefaultCell/fields/Date/index.js +17 -40
  486. package/dist/elements/Table/DefaultCell/fields/Date/index.js.map +1 -1
  487. package/dist/elements/Table/DefaultCell/fields/File/index.js +39 -41
  488. package/dist/elements/Table/DefaultCell/fields/File/index.js.map +1 -1
  489. package/dist/elements/Table/DefaultCell/fields/JSON/index.js +9 -11
  490. package/dist/elements/Table/DefaultCell/fields/JSON/index.js.map +1 -1
  491. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js +102 -183
  492. package/dist/elements/Table/DefaultCell/fields/Relationship/index.js.map +1 -1
  493. package/dist/elements/Table/DefaultCell/fields/Select/index.js +16 -42
  494. package/dist/elements/Table/DefaultCell/fields/Select/index.js.map +1 -1
  495. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js +6 -8
  496. package/dist/elements/Table/DefaultCell/fields/Textarea/index.js.map +1 -1
  497. package/dist/elements/Table/DefaultCell/fields/index.js +14 -14
  498. package/dist/elements/Table/DefaultCell/fields/index.js.map +1 -1
  499. package/dist/elements/Table/DefaultCell/index.js +91 -147
  500. package/dist/elements/Table/DefaultCell/index.js.map +1 -1
  501. package/dist/elements/Table/OrderableRow.js +23 -31
  502. package/dist/elements/Table/OrderableRow.js.map +1 -1
  503. package/dist/elements/Table/OrderableRowDragPreview.js +11 -14
  504. package/dist/elements/Table/OrderableRowDragPreview.js.map +1 -1
  505. package/dist/elements/Table/OrderableTable.js +167 -162
  506. package/dist/elements/Table/OrderableTable.js.map +1 -1
  507. package/dist/elements/Table/RelationshipProvider/index.js +95 -159
  508. package/dist/elements/Table/RelationshipProvider/index.js.map +1 -1
  509. package/dist/elements/Table/RelationshipProvider/reducer.js +42 -42
  510. package/dist/elements/Table/RelationshipProvider/reducer.js.map +1 -1
  511. package/dist/elements/Table/index.js +45 -43
  512. package/dist/elements/Table/index.js.map +1 -1
  513. package/dist/elements/Thumbnail/createThumbnail.js +52 -51
  514. package/dist/elements/Thumbnail/createThumbnail.js.map +1 -1
  515. package/dist/elements/Thumbnail/index.js +93 -146
  516. package/dist/elements/Thumbnail/index.js.map +1 -1
  517. package/dist/elements/ThumbnailCard/index.js +33 -66
  518. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  519. package/dist/elements/TimezonePicker/index.js +39 -42
  520. package/dist/elements/TimezonePicker/index.js.map +1 -1
  521. package/dist/elements/TimezonePicker/types.js +2 -1
  522. package/dist/elements/TimezonePicker/types.js.map +1 -1
  523. package/dist/elements/Toasts/fieldErrors.js +51 -75
  524. package/dist/elements/Toasts/fieldErrors.js.map +1 -1
  525. package/dist/elements/Tooltip/index.js +75 -64
  526. package/dist/elements/Tooltip/index.js.map +1 -1
  527. package/dist/elements/Translation/index.js +31 -38
  528. package/dist/elements/Translation/index.js.map +1 -1
  529. package/dist/elements/TrashBanner/index.js +20 -25
  530. package/dist/elements/TrashBanner/index.js.map +1 -1
  531. package/dist/elements/UnpublishMany/DrawerContent.js +121 -122
  532. package/dist/elements/UnpublishMany/DrawerContent.js.map +1 -1
  533. package/dist/elements/UnpublishMany/index.js +37 -106
  534. package/dist/elements/UnpublishMany/index.js.map +1 -1
  535. package/dist/elements/Upload/index.js +476 -476
  536. package/dist/elements/Upload/index.js.map +1 -1
  537. package/dist/elements/ViewDescription/index.js +10 -25
  538. package/dist/elements/ViewDescription/index.js.map +1 -1
  539. package/dist/elements/ViewDescription/types.js.map +1 -1
  540. package/dist/elements/WhereBuilder/Condition/Date/index.js +14 -28
  541. package/dist/elements/WhereBuilder/Condition/Date/index.js.map +1 -1
  542. package/dist/elements/WhereBuilder/Condition/Date/types.js +2 -1
  543. package/dist/elements/WhereBuilder/Condition/Date/types.js.map +1 -1
  544. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js +69 -74
  545. package/dist/elements/WhereBuilder/Condition/DefaultFilter/index.js.map +1 -1
  546. package/dist/elements/WhereBuilder/Condition/Number/index.js +63 -127
  547. package/dist/elements/WhereBuilder/Condition/Number/index.js.map +1 -1
  548. package/dist/elements/WhereBuilder/Condition/Number/types.js +2 -1
  549. package/dist/elements/WhereBuilder/Condition/Number/types.js.map +1 -1
  550. package/dist/elements/WhereBuilder/Condition/Relationship/index.js +336 -308
  551. package/dist/elements/WhereBuilder/Condition/Relationship/index.js.map +1 -1
  552. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js +83 -67
  553. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.js.map +1 -1
  554. package/dist/elements/WhereBuilder/Condition/Relationship/types.js +2 -1
  555. package/dist/elements/WhereBuilder/Condition/Relationship/types.js.map +1 -1
  556. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js +10 -9
  557. package/dist/elements/WhereBuilder/Condition/Select/formatOptions.js.map +1 -1
  558. package/dist/elements/WhereBuilder/Condition/Select/index.js +63 -152
  559. package/dist/elements/WhereBuilder/Condition/Select/index.js.map +1 -1
  560. package/dist/elements/WhereBuilder/Condition/Select/types.js +2 -1
  561. package/dist/elements/WhereBuilder/Condition/Select/types.js.map +1 -1
  562. package/dist/elements/WhereBuilder/Condition/Text/index.js +61 -121
  563. package/dist/elements/WhereBuilder/Condition/Text/index.js.map +1 -1
  564. package/dist/elements/WhereBuilder/Condition/Text/types.js +2 -1
  565. package/dist/elements/WhereBuilder/Condition/Text/types.js.map +1 -1
  566. package/dist/elements/WhereBuilder/Condition/index.js +157 -142
  567. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  568. package/dist/elements/WhereBuilder/Condition/types.js +2 -1
  569. package/dist/elements/WhereBuilder/Condition/types.js.map +1 -1
  570. package/dist/elements/WhereBuilder/Condition/validOperators.js +32 -33
  571. package/dist/elements/WhereBuilder/Condition/validOperators.js.map +1 -1
  572. package/dist/elements/WhereBuilder/field-types.js +192 -119
  573. package/dist/elements/WhereBuilder/field-types.js.map +1 -1
  574. package/dist/elements/WhereBuilder/index.js +201 -193
  575. package/dist/elements/WhereBuilder/index.js.map +1 -1
  576. package/dist/elements/WhereBuilder/types.js +2 -1
  577. package/dist/elements/WhereBuilder/types.js.map +1 -1
  578. package/dist/elements/WindowInfo/index.js +1 -1
  579. package/dist/elements/WindowInfo/index.js.map +1 -1
  580. package/dist/elements/WithServerSideProps/index.js +15 -18
  581. package/dist/elements/WithServerSideProps/index.js.map +1 -1
  582. package/dist/elements/withMergedProps/index.js +21 -25
  583. package/dist/elements/withMergedProps/index.js.map +1 -1
  584. package/dist/exports/client/index.js +272 -96
  585. package/dist/exports/client/index.js.map +1 -7
  586. package/dist/exports/rsc/index.js +1 -0
  587. package/dist/exports/rsc/index.js.map +1 -1
  588. package/dist/exports/shared/index.js +31 -6
  589. package/dist/exports/shared/index.js.map +1 -7
  590. package/dist/fields/Array/ArrayRow.js +71 -162
  591. package/dist/fields/Array/ArrayRow.js.map +1 -1
  592. package/dist/fields/Array/index.js +412 -394
  593. package/dist/fields/Array/index.js.map +1 -1
  594. package/dist/fields/Blocks/BlockRow.js +112 -195
  595. package/dist/fields/Blocks/BlockRow.js.map +1 -1
  596. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js +16 -36
  597. package/dist/fields/Blocks/BlockSelector/BlockSearch/index.js.map +1 -1
  598. package/dist/fields/Blocks/BlockSelector/index.js +105 -99
  599. package/dist/fields/Blocks/BlockSelector/index.js.map +1 -1
  600. package/dist/fields/Blocks/BlocksDrawer/index.js +27 -78
  601. package/dist/fields/Blocks/BlocksDrawer/index.js.map +1 -1
  602. package/dist/fields/Blocks/RowActions.js +36 -104
  603. package/dist/fields/Blocks/RowActions.js.map +1 -1
  604. package/dist/fields/Blocks/SectionTitle/index.js +27 -77
  605. package/dist/fields/Blocks/SectionTitle/index.js.map +1 -1
  606. package/dist/fields/Blocks/index.js +441 -424
  607. package/dist/fields/Blocks/index.js.map +1 -1
  608. package/dist/fields/Checkbox/Input.js +52 -97
  609. package/dist/fields/Checkbox/Input.js.map +1 -1
  610. package/dist/fields/Checkbox/index.js +82 -98
  611. package/dist/fields/Checkbox/index.js.map +1 -1
  612. package/dist/fields/Code/index.js +109 -113
  613. package/dist/fields/Code/index.js.map +1 -1
  614. package/dist/fields/Collapsible/index.js +131 -133
  615. package/dist/fields/Collapsible/index.js.map +1 -1
  616. package/dist/fields/ConfirmPassword/index.js +46 -82
  617. package/dist/fields/ConfirmPassword/index.js.map +1 -1
  618. package/dist/fields/DateTime/index.js +176 -170
  619. package/dist/fields/DateTime/index.js.map +1 -1
  620. package/dist/fields/Email/index.js +74 -85
  621. package/dist/fields/Email/index.js.map +1 -1
  622. package/dist/fields/FieldDescription/index.js +15 -42
  623. package/dist/fields/FieldDescription/index.js.map +1 -1
  624. package/dist/fields/FieldError/index.js +16 -56
  625. package/dist/fields/FieldError/index.js.map +1 -1
  626. package/dist/fields/FieldLabel/index.js +30 -44
  627. package/dist/fields/FieldLabel/index.js.map +1 -1
  628. package/dist/fields/Group/index.js +96 -100
  629. package/dist/fields/Group/index.js.map +1 -1
  630. package/dist/fields/Group/provider.js +8 -11
  631. package/dist/fields/Group/provider.js.map +1 -1
  632. package/dist/fields/Hidden/index.js +22 -66
  633. package/dist/fields/Hidden/index.js.map +1 -1
  634. package/dist/fields/JSON/index.js +148 -142
  635. package/dist/fields/JSON/index.js.map +1 -1
  636. package/dist/fields/Join/index.js +180 -187
  637. package/dist/fields/Join/index.js.map +1 -1
  638. package/dist/fields/Number/index.js +166 -168
  639. package/dist/fields/Number/index.js.map +1 -1
  640. package/dist/fields/Password/index.js +74 -99
  641. package/dist/fields/Password/index.js.map +1 -1
  642. package/dist/fields/Password/input.js +66 -120
  643. package/dist/fields/Password/input.js.map +1 -1
  644. package/dist/fields/Password/types.js +2 -1
  645. package/dist/fields/Password/types.js.map +1 -1
  646. package/dist/fields/Point/index.js +133 -125
  647. package/dist/fields/Point/index.js.map +1 -1
  648. package/dist/fields/RadioGroup/Radio/index.js +34 -79
  649. package/dist/fields/RadioGroup/Radio/index.js.map +1 -1
  650. package/dist/fields/RadioGroup/index.js +100 -112
  651. package/dist/fields/RadioGroup/index.js.map +1 -1
  652. package/dist/fields/Relationship/Input.js +747 -725
  653. package/dist/fields/Relationship/Input.js.map +1 -1
  654. package/dist/fields/Relationship/createRelationMap.js +31 -33
  655. package/dist/fields/Relationship/createRelationMap.js.map +1 -1
  656. package/dist/fields/Relationship/findOptionsByValue.js +28 -32
  657. package/dist/fields/Relationship/findOptionsByValue.js.map +1 -1
  658. package/dist/fields/Relationship/index.js +147 -159
  659. package/dist/fields/Relationship/index.js.map +1 -1
  660. package/dist/fields/Relationship/optionsReducer.js +144 -139
  661. package/dist/fields/Relationship/optionsReducer.js.map +1 -1
  662. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +60 -81
  663. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  664. package/dist/fields/Relationship/select-components/SingleValue/index.js +56 -114
  665. package/dist/fields/Relationship/select-components/SingleValue/index.js.map +1 -1
  666. package/dist/fields/Relationship/types.js +2 -1
  667. package/dist/fields/Relationship/types.js.map +1 -1
  668. package/dist/fields/RichText/index.js +3 -3
  669. package/dist/fields/RichText/index.js.map +1 -1
  670. package/dist/fields/Row/index.js +24 -34
  671. package/dist/fields/Row/index.js.map +1 -1
  672. package/dist/fields/Row/provider.js +8 -11
  673. package/dist/fields/Row/provider.js.map +1 -1
  674. package/dist/fields/Select/Input.js +76 -163
  675. package/dist/fields/Select/Input.js.map +1 -1
  676. package/dist/fields/Select/index.js +84 -107
  677. package/dist/fields/Select/index.js.map +1 -1
  678. package/dist/fields/Slug/index.js +77 -132
  679. package/dist/fields/Slug/index.js.map +1 -1
  680. package/dist/fields/Tabs/Tab/index.js +36 -58
  681. package/dist/fields/Tabs/Tab/index.js.map +1 -1
  682. package/dist/fields/Tabs/index.js +199 -443
  683. package/dist/fields/Tabs/index.js.map +1 -1
  684. package/dist/fields/Tabs/provider.js +8 -11
  685. package/dist/fields/Tabs/provider.js.map +1 -1
  686. package/dist/fields/Text/Input.js +127 -189
  687. package/dist/fields/Text/Input.js.map +1 -1
  688. package/dist/fields/Text/index.js +101 -125
  689. package/dist/fields/Text/index.js.map +1 -1
  690. package/dist/fields/Text/types.js +2 -1
  691. package/dist/fields/Text/types.js.map +1 -1
  692. package/dist/fields/Textarea/Input.js +62 -113
  693. package/dist/fields/Textarea/Input.js.map +1 -1
  694. package/dist/fields/Textarea/index.js +56 -87
  695. package/dist/fields/Textarea/index.js.map +1 -1
  696. package/dist/fields/Textarea/types.js +2 -1
  697. package/dist/fields/Textarea/types.js.map +1 -1
  698. package/dist/fields/UI/index.js +3 -3
  699. package/dist/fields/UI/index.js.map +1 -1
  700. package/dist/fields/Upload/HasMany/index.js +107 -184
  701. package/dist/fields/Upload/HasMany/index.js.map +1 -1
  702. package/dist/fields/Upload/HasOne/index.js +49 -58
  703. package/dist/fields/Upload/HasOne/index.js.map +1 -1
  704. package/dist/fields/Upload/Input.js +653 -561
  705. package/dist/fields/Upload/Input.js.map +1 -1
  706. package/dist/fields/Upload/RelationshipContent/index.js +91 -142
  707. package/dist/fields/Upload/RelationshipContent/index.js.map +1 -1
  708. package/dist/fields/Upload/UploadCard/index.js +10 -9
  709. package/dist/fields/Upload/UploadCard/index.js.map +1 -1
  710. package/dist/fields/Upload/index.js +70 -95
  711. package/dist/fields/Upload/index.js.map +1 -1
  712. package/dist/fields/Upload/types.js +2 -1
  713. package/dist/fields/Upload/types.js.map +1 -1
  714. package/dist/fields/index.js +31 -31
  715. package/dist/fields/index.js.map +1 -1
  716. package/dist/fields/mergeFieldStyles.js +13 -12
  717. package/dist/fields/mergeFieldStyles.js.map +1 -1
  718. package/dist/fields/shared/index.js +8 -16
  719. package/dist/fields/shared/index.js.map +1 -1
  720. package/dist/forms/Form/context.js +17 -24
  721. package/dist/forms/Form/context.js.map +1 -1
  722. package/dist/forms/Form/createNestedClientFieldPath.js +11 -11
  723. package/dist/forms/Form/createNestedClientFieldPath.js.map +1 -1
  724. package/dist/forms/Form/errorMessages.js +2 -2
  725. package/dist/forms/Form/errorMessages.js.map +1 -1
  726. package/dist/forms/Form/fieldReducer.js +376 -411
  727. package/dist/forms/Form/fieldReducer.js.map +1 -1
  728. package/dist/forms/Form/index.js +692 -681
  729. package/dist/forms/Form/index.js.map +1 -1
  730. package/dist/forms/Form/initContextState.js +38 -38
  731. package/dist/forms/Form/initContextState.js.map +1 -1
  732. package/dist/forms/Form/mergeServerFormState.js +84 -97
  733. package/dist/forms/Form/mergeServerFormState.js.map +1 -1
  734. package/dist/forms/Form/reduceToSerializableFields.js +20 -17
  735. package/dist/forms/Form/reduceToSerializableFields.js.map +1 -1
  736. package/dist/forms/Form/rowHelpers.js +27 -34
  737. package/dist/forms/Form/rowHelpers.js.map +1 -1
  738. package/dist/forms/Form/rows.js +34 -34
  739. package/dist/forms/Form/rows.js.map +1 -1
  740. package/dist/forms/Form/types.js +2 -1
  741. package/dist/forms/Form/types.js.map +1 -1
  742. package/dist/forms/NullifyField/index.js +50 -94
  743. package/dist/forms/NullifyField/index.js.map +1 -1
  744. package/dist/forms/RenderFields/RenderField.js +142 -256
  745. package/dist/forms/RenderFields/RenderField.js.map +1 -1
  746. package/dist/forms/RenderFields/context.js +9 -9
  747. package/dist/forms/RenderFields/context.js.map +1 -1
  748. package/dist/forms/RenderFields/index.js +63 -114
  749. package/dist/forms/RenderFields/index.js.map +1 -1
  750. package/dist/forms/RenderFields/types.js +2 -1
  751. package/dist/forms/RenderFields/types.js.map +1 -1
  752. package/dist/forms/RowLabel/Context/index.js +25 -28
  753. package/dist/forms/RowLabel/Context/index.js.map +1 -1
  754. package/dist/forms/RowLabel/index.js +20 -23
  755. package/dist/forms/RowLabel/index.js.map +1 -1
  756. package/dist/forms/RowLabel/types.js +2 -1
  757. package/dist/forms/RowLabel/types.js.map +1 -1
  758. package/dist/forms/Submit/index.js +23 -34
  759. package/dist/forms/Submit/index.js.map +1 -1
  760. package/dist/forms/WatchChildErrors/buildPathSegments.js +29 -29
  761. package/dist/forms/WatchChildErrors/buildPathSegments.js.map +1 -1
  762. package/dist/forms/WatchChildErrors/index.js +36 -66
  763. package/dist/forms/WatchChildErrors/index.js.map +1 -1
  764. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +634 -683
  765. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  766. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js +14 -22
  767. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/index.js.map +1 -1
  768. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js +17 -26
  769. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/iterateFields.js.map +1 -1
  770. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js +186 -198
  771. package/dist/forms/fieldSchemasToFormState/calculateDefaultValues/promise.js.map +1 -1
  772. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +61 -54
  773. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +1 -1
  774. package/dist/forms/fieldSchemasToFormState/index.js +58 -79
  775. package/dist/forms/fieldSchemasToFormState/index.js.map +1 -1
  776. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js +12 -16
  777. package/dist/forms/fieldSchemasToFormState/isRowCollapsed.js.map +1 -1
  778. package/dist/forms/fieldSchemasToFormState/iterateFields.js +79 -116
  779. package/dist/forms/fieldSchemasToFormState/iterateFields.js.map +1 -1
  780. package/dist/forms/fieldSchemasToFormState/renderField.js +260 -273
  781. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  782. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +69 -75
  783. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  784. package/dist/forms/fieldSchemasToFormState/types.js +2 -1
  785. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  786. package/dist/forms/useField/index.js +179 -292
  787. package/dist/forms/useField/index.js.map +1 -1
  788. package/dist/forms/useField/types.js +2 -1
  789. package/dist/forms/useField/types.js.map +1 -1
  790. package/dist/forms/withCondition/WatchCondition.js +9 -27
  791. package/dist/forms/withCondition/WatchCondition.js.map +1 -1
  792. package/dist/forms/withCondition/index.js +12 -14
  793. package/dist/forms/withCondition/index.js.map +1 -1
  794. package/dist/graphics/Account/Default/index.js +29 -21
  795. package/dist/graphics/Account/Default/index.js.map +1 -1
  796. package/dist/graphics/Account/Gravatar/index.js +19 -32
  797. package/dist/graphics/Account/Gravatar/index.js.map +1 -1
  798. package/dist/graphics/Account/index.js +15 -50
  799. package/dist/graphics/Account/index.js.map +1 -1
  800. package/dist/graphics/DefaultBlockImage/index.js +72 -61
  801. package/dist/graphics/DefaultBlockImage/index.js.map +1 -1
  802. package/dist/graphics/File/index.js +20 -16
  803. package/dist/graphics/File/index.js.map +1 -1
  804. package/dist/graphics/Icon/index.js +20 -18
  805. package/dist/graphics/Icon/index.js.map +1 -1
  806. package/dist/graphics/Logo/index.js +55 -38
  807. package/dist/graphics/Logo/index.js.map +1 -1
  808. package/dist/hooks/useClickOutside.js +19 -15
  809. package/dist/hooks/useClickOutside.js.map +1 -1
  810. package/dist/hooks/useControllableState.js +16 -34
  811. package/dist/hooks/useControllableState.js.map +1 -1
  812. package/dist/hooks/useDebounce.js +15 -26
  813. package/dist/hooks/useDebounce.js.map +1 -1
  814. package/dist/hooks/useDebouncedCallback.js +15 -23
  815. package/dist/hooks/useDebouncedCallback.js.map +1 -1
  816. package/dist/hooks/useDebouncedEffect.js +18 -53
  817. package/dist/hooks/useDebouncedEffect.js.map +1 -1
  818. package/dist/hooks/useDelay.js +27 -52
  819. package/dist/hooks/useDelay.js.map +1 -1
  820. package/dist/hooks/useDelayedRender.js +40 -76
  821. package/dist/hooks/useDelayedRender.js.map +1 -1
  822. package/dist/hooks/useEffectEvent.js +12 -33
  823. package/dist/hooks/useEffectEvent.js.map +1 -1
  824. package/dist/hooks/useHotkey.js +96 -110
  825. package/dist/hooks/useHotkey.js.map +1 -1
  826. package/dist/hooks/useIntersect.js +28 -59
  827. package/dist/hooks/useIntersect.js.map +1 -1
  828. package/dist/hooks/usePayloadAPI.js +79 -172
  829. package/dist/hooks/usePayloadAPI.js.map +1 -1
  830. package/dist/hooks/usePopupWindow.js +91 -133
  831. package/dist/hooks/usePopupWindow.js.map +1 -1
  832. package/dist/hooks/useQueue.js +40 -40
  833. package/dist/hooks/useQueue.js.map +1 -1
  834. package/dist/hooks/useRelatedCollections.js +15 -27
  835. package/dist/hooks/useRelatedCollections.js.map +1 -1
  836. package/dist/hooks/useResize.js +41 -70
  837. package/dist/hooks/useResize.js.map +1 -1
  838. package/dist/hooks/useThrottledEffect.js +17 -51
  839. package/dist/hooks/useThrottledEffect.js.map +1 -1
  840. package/dist/hooks/useThrottledValue.js +16 -13
  841. package/dist/hooks/useThrottledValue.js.map +1 -1
  842. package/dist/hooks/useUseAsTitle.js +7 -27
  843. package/dist/hooks/useUseAsTitle.js.map +1 -1
  844. package/dist/icons/Calendar/index.js +11 -10
  845. package/dist/icons/Calendar/index.js.map +1 -1
  846. package/dist/icons/Check/index.js +11 -10
  847. package/dist/icons/Check/index.js.map +1 -1
  848. package/dist/icons/Chevron/index.js +21 -21
  849. package/dist/icons/Chevron/index.js.map +1 -1
  850. package/dist/icons/CloseMenu/index.js +11 -10
  851. package/dist/icons/CloseMenu/index.js.map +1 -1
  852. package/dist/icons/CodeBlock/index.js +13 -12
  853. package/dist/icons/CodeBlock/index.js.map +1 -1
  854. package/dist/icons/Copy/index.js +15 -16
  855. package/dist/icons/Copy/index.js.map +1 -1
  856. package/dist/icons/Document/index.js +16 -15
  857. package/dist/icons/Document/index.js.map +1 -1
  858. package/dist/icons/Dots/index.js +15 -10
  859. package/dist/icons/Dots/index.js.map +1 -1
  860. package/dist/icons/DragHandle/index.js +41 -32
  861. package/dist/icons/DragHandle/index.js.map +1 -1
  862. package/dist/icons/Edit/index.js +14 -12
  863. package/dist/icons/Edit/index.js.map +1 -1
  864. package/dist/icons/ExternalLink/index.js +16 -14
  865. package/dist/icons/ExternalLink/index.js.map +1 -1
  866. package/dist/icons/Eye/index.js +28 -24
  867. package/dist/icons/Eye/index.js.map +1 -1
  868. package/dist/icons/Folder/index.js +17 -15
  869. package/dist/icons/Folder/index.js.map +1 -1
  870. package/dist/icons/Gear/index.js +21 -20
  871. package/dist/icons/Gear/index.js.map +1 -1
  872. package/dist/icons/GridView/index.js +36 -30
  873. package/dist/icons/GridView/index.js.map +1 -1
  874. package/dist/icons/Line/index.js +14 -13
  875. package/dist/icons/Line/index.js.map +1 -1
  876. package/dist/icons/Link/index.js +16 -15
  877. package/dist/icons/Link/index.js.map +1 -1
  878. package/dist/icons/ListView/index.js +16 -15
  879. package/dist/icons/ListView/index.js.map +1 -1
  880. package/dist/icons/Lock/index.js +28 -23
  881. package/dist/icons/Lock/index.js.map +1 -1
  882. package/dist/icons/LogOut/index.js +14 -13
  883. package/dist/icons/LogOut/index.js.map +1 -1
  884. package/dist/icons/Menu/index.js +14 -13
  885. package/dist/icons/Menu/index.js.map +1 -1
  886. package/dist/icons/MinimizeMaximize/index.js +20 -18
  887. package/dist/icons/MinimizeMaximize/index.js.map +1 -1
  888. package/dist/icons/More/index.js +26 -20
  889. package/dist/icons/More/index.js.map +1 -1
  890. package/dist/icons/MoveFolder/index.js +37 -33
  891. package/dist/icons/MoveFolder/index.js.map +1 -1
  892. package/dist/icons/People/index.js +19 -16
  893. package/dist/icons/People/index.js.map +1 -1
  894. package/dist/icons/Plus/index.js +13 -12
  895. package/dist/icons/Plus/index.js.map +1 -1
  896. package/dist/icons/Search/index.js +12 -11
  897. package/dist/icons/Search/index.js.map +1 -1
  898. package/dist/icons/Sort/index.js +31 -34
  899. package/dist/icons/Sort/index.js.map +1 -1
  900. package/dist/icons/Swap/index.js +11 -10
  901. package/dist/icons/Swap/index.js.map +1 -1
  902. package/dist/icons/ThreeDots/index.js +10 -7
  903. package/dist/icons/ThreeDots/index.js.map +1 -1
  904. package/dist/icons/Trash/index.js +19 -17
  905. package/dist/icons/Trash/index.js.map +1 -1
  906. package/dist/icons/X/index.js +16 -14
  907. package/dist/icons/X/index.js.map +1 -1
  908. package/dist/providers/Actions/index.js +15 -31
  909. package/dist/providers/Actions/index.js.map +1 -1
  910. package/dist/providers/Auth/index.js +245 -227
  911. package/dist/providers/Auth/index.js.map +1 -1
  912. package/dist/providers/ClickOutside/index.js +30 -34
  913. package/dist/providers/ClickOutside/index.js.map +1 -1
  914. package/dist/providers/ClientFunction/index.js +54 -103
  915. package/dist/providers/ClientFunction/index.js.map +1 -1
  916. package/dist/providers/Config/index.js +73 -90
  917. package/dist/providers/Config/index.js.map +1 -1
  918. package/dist/providers/DocumentEvents/index.js +13 -28
  919. package/dist/providers/DocumentEvents/index.js.map +1 -1
  920. package/dist/providers/DocumentInfo/index.js +316 -325
  921. package/dist/providers/DocumentInfo/index.js.map +1 -1
  922. package/dist/providers/DocumentInfo/types.js +1 -0
  923. package/dist/providers/DocumentInfo/types.js.map +1 -1
  924. package/dist/providers/DocumentInfo/useGetDocPermissions.js +72 -70
  925. package/dist/providers/DocumentInfo/useGetDocPermissions.js.map +1 -1
  926. package/dist/providers/DocumentTitle/context.js.map +1 -1
  927. package/dist/providers/DocumentTitle/index.js +46 -54
  928. package/dist/providers/DocumentTitle/index.js.map +1 -1
  929. package/dist/providers/EditDepth/index.js +9 -23
  930. package/dist/providers/EditDepth/index.js.map +1 -1
  931. package/dist/providers/EntityVisibility/index.js +20 -46
  932. package/dist/providers/EntityVisibility/index.js.map +1 -1
  933. package/dist/providers/Folders/groupItemIDsByRelation.js +8 -7
  934. package/dist/providers/Folders/groupItemIDsByRelation.js.map +1 -1
  935. package/dist/providers/Folders/index.js +648 -595
  936. package/dist/providers/Folders/index.js.map +1 -1
  937. package/dist/providers/ListQuery/context.js +3 -2
  938. package/dist/providers/ListQuery/context.js.map +1 -1
  939. package/dist/providers/ListQuery/index.js +145 -137
  940. package/dist/providers/ListQuery/index.js.map +1 -1
  941. package/dist/providers/ListQuery/mergeQuery.js +49 -31
  942. package/dist/providers/ListQuery/mergeQuery.js.map +1 -1
  943. package/dist/providers/ListQuery/sanitizeQuery.js +24 -23
  944. package/dist/providers/ListQuery/sanitizeQuery.js.map +1 -1
  945. package/dist/providers/ListQuery/types.js +2 -1
  946. package/dist/providers/ListQuery/types.js.map +1 -1
  947. package/dist/providers/LivePreview/collisionDetection.js +21 -24
  948. package/dist/providers/LivePreview/collisionDetection.js.map +1 -1
  949. package/dist/providers/LivePreview/context.js +49 -54
  950. package/dist/providers/LivePreview/context.js.map +1 -1
  951. package/dist/providers/LivePreview/index.js +213 -204
  952. package/dist/providers/LivePreview/index.js.map +1 -1
  953. package/dist/providers/LivePreview/sizeReducer.js +19 -18
  954. package/dist/providers/LivePreview/sizeReducer.js.map +1 -1
  955. package/dist/providers/Locale/index.js +76 -144
  956. package/dist/providers/Locale/index.js.map +1 -1
  957. package/dist/providers/Operation/index.js +7 -10
  958. package/dist/providers/Operation/index.js.map +1 -1
  959. package/dist/providers/Params/index.js +8 -24
  960. package/dist/providers/Params/index.js.map +1 -1
  961. package/dist/providers/Preferences/index.js +111 -111
  962. package/dist/providers/Preferences/index.js.map +1 -1
  963. package/dist/providers/Root/index.js +76 -106
  964. package/dist/providers/Root/index.js.map +1 -1
  965. package/dist/providers/RouteCache/index.js +48 -102
  966. package/dist/providers/RouteCache/index.js.map +1 -1
  967. package/dist/providers/RouteTransition/ProgressBar/index.js +52 -79
  968. package/dist/providers/RouteTransition/ProgressBar/index.js.map +1 -1
  969. package/dist/providers/RouteTransition/index.js +58 -87
  970. package/dist/providers/RouteTransition/index.js.map +1 -1
  971. package/dist/providers/ScrollInfo/index.js +1 -1
  972. package/dist/providers/ScrollInfo/index.js.map +1 -1
  973. package/dist/providers/SearchParams/index.js +30 -33
  974. package/dist/providers/SearchParams/index.js.map +1 -1
  975. package/dist/providers/Selection/index.js +193 -182
  976. package/dist/providers/Selection/index.js.map +1 -1
  977. package/dist/providers/ServerFunctions/index.js +191 -196
  978. package/dist/providers/ServerFunctions/index.js.map +1 -1
  979. package/dist/providers/TableColumns/RenderDefaultCell/index.js +23 -60
  980. package/dist/providers/TableColumns/RenderDefaultCell/index.js.map +1 -1
  981. package/dist/providers/TableColumns/buildColumnState/filterFields.js +32 -32
  982. package/dist/providers/TableColumns/buildColumnState/filterFields.js.map +1 -1
  983. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js +50 -52
  984. package/dist/providers/TableColumns/buildColumnState/filterFieldsWithPermissions.js.map +1 -1
  985. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js +3 -2
  986. package/dist/providers/TableColumns/buildColumnState/findValueFromPath.js.map +1 -1
  987. package/dist/providers/TableColumns/buildColumnState/index.js +125 -142
  988. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  989. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js +10 -14
  990. package/dist/providers/TableColumns/buildColumnState/isColumnActive.js.map +1 -1
  991. package/dist/providers/TableColumns/buildColumnState/renderCell.js +139 -149
  992. package/dist/providers/TableColumns/buildColumnState/renderCell.js.map +1 -1
  993. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js +16 -15
  994. package/dist/providers/TableColumns/buildColumnState/sortFieldMap.js.map +1 -1
  995. package/dist/providers/TableColumns/context.js +2 -1
  996. package/dist/providers/TableColumns/context.js.map +1 -1
  997. package/dist/providers/TableColumns/getInitialColumns.js +42 -28
  998. package/dist/providers/TableColumns/getInitialColumns.js.map +1 -1
  999. package/dist/providers/TableColumns/index.js +82 -83
  1000. package/dist/providers/TableColumns/index.js.map +1 -1
  1001. package/dist/providers/TableColumns/types.js +2 -1
  1002. package/dist/providers/TableColumns/types.js.map +1 -1
  1003. package/dist/providers/Theme/index.js +63 -102
  1004. package/dist/providers/Theme/index.js.map +1 -1
  1005. package/dist/providers/ToastContainer/icons/Error.js +21 -18
  1006. package/dist/providers/ToastContainer/icons/Error.js.map +1 -1
  1007. package/dist/providers/ToastContainer/icons/Info.js +21 -18
  1008. package/dist/providers/ToastContainer/icons/Info.js.map +1 -1
  1009. package/dist/providers/ToastContainer/icons/Success.js +21 -18
  1010. package/dist/providers/ToastContainer/icons/Success.js.map +1 -1
  1011. package/dist/providers/ToastContainer/icons/Warning.js +21 -18
  1012. package/dist/providers/ToastContainer/icons/Warning.js.map +1 -1
  1013. package/dist/providers/ToastContainer/index.js +35 -46
  1014. package/dist/providers/ToastContainer/index.js.map +1 -1
  1015. package/dist/providers/Translation/index.js +60 -110
  1016. package/dist/providers/Translation/index.js.map +1 -1
  1017. package/dist/providers/UploadControls/index.js +22 -38
  1018. package/dist/providers/UploadControls/index.js.map +1 -1
  1019. package/dist/providers/UploadEdits/index.js +25 -71
  1020. package/dist/providers/UploadEdits/index.js.map +1 -1
  1021. package/dist/providers/UploadHandlers/index.js +24 -63
  1022. package/dist/providers/UploadHandlers/index.js.map +1 -1
  1023. package/dist/providers/WindowInfo/index.js +5 -9
  1024. package/dist/providers/WindowInfo/index.js.map +1 -1
  1025. package/dist/styles.css +0 -1
  1026. package/dist/utilities/abortAndIgnore.js +17 -17
  1027. package/dist/utilities/abortAndIgnore.js.map +1 -1
  1028. package/dist/utilities/api.js +78 -77
  1029. package/dist/utilities/api.js.map +1 -1
  1030. package/dist/utilities/buildClientFieldSchemaMap/index.js +61 -65
  1031. package/dist/utilities/buildClientFieldSchemaMap/index.js.map +1 -1
  1032. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js +142 -154
  1033. package/dist/utilities/buildClientFieldSchemaMap/traverseFields.js.map +1 -1
  1034. package/dist/utilities/buildFieldSchemaMap/index.js +59 -61
  1035. package/dist/utilities/buildFieldSchemaMap/index.js.map +1 -1
  1036. package/dist/utilities/buildFieldSchemaMap/traverseFields.js +110 -122
  1037. package/dist/utilities/buildFieldSchemaMap/traverseFields.js.map +1 -1
  1038. package/dist/utilities/buildFormState.js +151 -186
  1039. package/dist/utilities/buildFormState.js.map +1 -1
  1040. package/dist/utilities/buildTableState.js +145 -168
  1041. package/dist/utilities/buildTableState.js.map +1 -1
  1042. package/dist/utilities/canUseDOM.js +1 -0
  1043. package/dist/utilities/canUseDOM.js.map +1 -1
  1044. package/dist/utilities/combineFieldLabel.js +28 -25
  1045. package/dist/utilities/combineFieldLabel.js.map +1 -1
  1046. package/dist/utilities/copyDataFromLocale.js +198 -210
  1047. package/dist/utilities/copyDataFromLocale.js.map +1 -1
  1048. package/dist/utilities/dateLocales.js +28 -27
  1049. package/dist/utilities/dateLocales.js.map +1 -1
  1050. package/dist/utilities/deepMerge.js +14 -13
  1051. package/dist/utilities/deepMerge.js.map +1 -1
  1052. package/dist/utilities/fetchPreferences.js.map +1 -1
  1053. package/dist/utilities/filterOutUploadFields.js +17 -4
  1054. package/dist/utilities/filterOutUploadFields.js.map +1 -1
  1055. package/dist/utilities/findLocaleFromCode.js +6 -5
  1056. package/dist/utilities/findLocaleFromCode.js.map +1 -1
  1057. package/dist/utilities/formatAbsoluteURL.js +8 -8
  1058. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  1059. package/dist/utilities/formatAdminURL.js +2 -1
  1060. package/dist/utilities/formatAdminURL.js.map +1 -1
  1061. package/dist/utilities/formatDocTitle/formatDateTitle.js +20 -27
  1062. package/dist/utilities/formatDocTitle/formatDateTitle.js.map +1 -1
  1063. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js +14 -13
  1064. package/dist/utilities/formatDocTitle/formatLexicalDocTitle.js.map +1 -1
  1065. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js +14 -13
  1066. package/dist/utilities/formatDocTitle/formatRelationshipTitle.js.map +1 -1
  1067. package/dist/utilities/formatDocTitle/index.js +38 -44
  1068. package/dist/utilities/formatDocTitle/index.js.map +1 -1
  1069. package/dist/utilities/formatFields.js +2 -1
  1070. package/dist/utilities/formatFields.js.map +1 -1
  1071. package/dist/utilities/generateFieldID.js +6 -5
  1072. package/dist/utilities/generateFieldID.js.map +1 -1
  1073. package/dist/utilities/getClientConfig.js +25 -29
  1074. package/dist/utilities/getClientConfig.js.map +1 -1
  1075. package/dist/utilities/getClientSchemaMap.js +24 -32
  1076. package/dist/utilities/getClientSchemaMap.js.map +1 -1
  1077. package/dist/utilities/getColumns.js +29 -35
  1078. package/dist/utilities/getColumns.js.map +1 -1
  1079. package/dist/utilities/getDisplayedFieldValue.js +15 -15
  1080. package/dist/utilities/getDisplayedFieldValue.js.map +1 -1
  1081. package/dist/utilities/getFolderResultsComponentAndData.js +115 -119
  1082. package/dist/utilities/getFolderResultsComponentAndData.js.map +1 -1
  1083. package/dist/utilities/getOffsetTop.js +14 -13
  1084. package/dist/utilities/getOffsetTop.js.map +1 -1
  1085. package/dist/utilities/getRequestLanguage.js +5 -8
  1086. package/dist/utilities/getRequestLanguage.js.map +1 -1
  1087. package/dist/utilities/getSchemaMap.js +22 -28
  1088. package/dist/utilities/getSchemaMap.js.map +1 -1
  1089. package/dist/utilities/getSupportedMonacoLocale.js +14 -13
  1090. package/dist/utilities/getSupportedMonacoLocale.js.map +1 -1
  1091. package/dist/utilities/groupNavItems.js +53 -49
  1092. package/dist/utilities/groupNavItems.js.map +1 -1
  1093. package/dist/utilities/handleBackToDashboard.js +7 -9
  1094. package/dist/utilities/handleBackToDashboard.js.map +1 -1
  1095. package/dist/utilities/handleFormStateLocking.js +125 -119
  1096. package/dist/utilities/handleFormStateLocking.js.map +1 -1
  1097. package/dist/utilities/handleGoBack.js +7 -10
  1098. package/dist/utilities/handleGoBack.js.map +1 -1
  1099. package/dist/utilities/handleLivePreview.js +59 -76
  1100. package/dist/utilities/handleLivePreview.js.map +1 -1
  1101. package/dist/utilities/handlePreview.js +41 -52
  1102. package/dist/utilities/handlePreview.js.map +1 -1
  1103. package/dist/utilities/handleTakeOver.js +28 -39
  1104. package/dist/utilities/handleTakeOver.js.map +1 -1
  1105. package/dist/utilities/hasOptionLabelJSXElement.js +9 -11
  1106. package/dist/utilities/hasOptionLabelJSXElement.js.map +1 -1
  1107. package/dist/utilities/hasSavePermission.js +10 -14
  1108. package/dist/utilities/hasSavePermission.js.map +1 -1
  1109. package/dist/utilities/isClientUserObject.js +3 -2
  1110. package/dist/utilities/isClientUserObject.js.map +1 -1
  1111. package/dist/utilities/isEditing.js +2 -5
  1112. package/dist/utilities/isEditing.js.map +1 -1
  1113. package/dist/utilities/isURLAllowed.js +30 -29
  1114. package/dist/utilities/isURLAllowed.js.map +1 -1
  1115. package/dist/utilities/isValidReactElement.js +3 -3
  1116. package/dist/utilities/isValidReactElement.js.map +1 -1
  1117. package/dist/utilities/normalizeRelationshipValue.js +29 -28
  1118. package/dist/utilities/normalizeRelationshipValue.js.map +1 -1
  1119. package/dist/utilities/normalizeRelationshipValue.spec.js +407 -368
  1120. package/dist/utilities/normalizeRelationshipValue.spec.js.map +1 -1
  1121. package/dist/utilities/parseSearchParams.js +7 -7
  1122. package/dist/utilities/parseSearchParams.js.map +1 -1
  1123. package/dist/utilities/reduceFieldsToOptions.js +145 -154
  1124. package/dist/utilities/reduceFieldsToOptions.js.map +1 -1
  1125. package/dist/utilities/reduceFieldsToValuesWithValidation.js +20 -20
  1126. package/dist/utilities/reduceFieldsToValuesWithValidation.js.map +1 -1
  1127. package/dist/utilities/removeUndefined.js +2 -1
  1128. package/dist/utilities/removeUndefined.js.map +1 -1
  1129. package/dist/utilities/renderTable.js +180 -193
  1130. package/dist/utilities/renderTable.js.map +1 -1
  1131. package/dist/utilities/resolveFilterOptions.js +27 -26
  1132. package/dist/utilities/resolveFilterOptions.js.map +1 -1
  1133. package/dist/utilities/sanitizeFilterOptionsQuery.js +16 -15
  1134. package/dist/utilities/sanitizeFilterOptionsQuery.js.map +1 -1
  1135. package/dist/utilities/sanitizeID.js +8 -7
  1136. package/dist/utilities/sanitizeID.js.map +1 -1
  1137. package/dist/utilities/schedulePublishHandler.js +45 -57
  1138. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  1139. package/dist/utilities/scrollToID.js +10 -9
  1140. package/dist/utilities/scrollToID.js.map +1 -1
  1141. package/dist/utilities/setsAreEqual.js +3 -2
  1142. package/dist/utilities/setsAreEqual.js.map +1 -1
  1143. package/dist/utilities/traverseForLocalizedFields.js +36 -35
  1144. package/dist/utilities/traverseForLocalizedFields.js.map +1 -1
  1145. package/dist/utilities/upsertPreferences.js +74 -75
  1146. package/dist/utilities/upsertPreferences.js.map +1 -1
  1147. package/dist/views/BrowseByFolder/index.js +251 -322
  1148. package/dist/views/BrowseByFolder/index.js.map +1 -1
  1149. package/dist/views/CollectionFolder/ListSelection/index.js +116 -157
  1150. package/dist/views/CollectionFolder/ListSelection/index.js.map +1 -1
  1151. package/dist/views/CollectionFolder/index.js +257 -280
  1152. package/dist/views/CollectionFolder/index.js.map +1 -1
  1153. package/dist/views/Edit/Auth/APIKey.js +139 -122
  1154. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  1155. package/dist/views/Edit/Auth/index.js +247 -320
  1156. package/dist/views/Edit/Auth/index.js.map +1 -1
  1157. package/dist/views/Edit/Auth/types.js +2 -1
  1158. package/dist/views/Edit/Auth/types.js.map +1 -1
  1159. package/dist/views/Edit/SetDocumentStepNav/index.js +83 -130
  1160. package/dist/views/Edit/SetDocumentStepNav/index.js.map +1 -1
  1161. package/dist/views/Edit/SetDocumentTitle/index.js +30 -77
  1162. package/dist/views/Edit/SetDocumentTitle/index.js.map +1 -1
  1163. package/dist/views/Edit/index.js +494 -493
  1164. package/dist/views/Edit/index.js.map +1 -1
  1165. package/dist/views/Edit/types.js +2 -1
  1166. package/dist/views/Edit/types.js.map +1 -1
  1167. package/dist/views/List/GroupByHeader/index.js +22 -23
  1168. package/dist/views/List/GroupByHeader/index.js.map +1 -1
  1169. package/dist/views/List/ListHeader/index.js +68 -78
  1170. package/dist/views/List/ListHeader/index.js.map +1 -1
  1171. package/dist/views/List/ListSelection/index.js +69 -109
  1172. package/dist/views/List/ListSelection/index.js.map +1 -1
  1173. package/dist/views/List/index.js +209 -209
  1174. package/dist/views/List/index.js.map +1 -1
  1175. package/dist/views/List/types.js +2 -1
  1176. package/dist/views/List/types.js.map +1 -1
  1177. package/package.json +5 -4
  1178. package/dist/exports/client/CodeEditor-QOURTFMT.js +0 -14
  1179. package/dist/exports/client/CodeEditor-QOURTFMT.js.map +0 -7
  1180. package/dist/exports/client/DatePicker-VMLA35FO.js +0 -14
  1181. package/dist/exports/client/DatePicker-VMLA35FO.js.map +0 -7
  1182. package/dist/exports/client/chunk-53XJ3K67.js +0 -27
  1183. package/dist/exports/client/chunk-53XJ3K67.js.map +0 -7
  1184. package/dist/exports/client/chunk-5LKBKI4T.js +0 -14
  1185. package/dist/exports/client/chunk-5LKBKI4T.js.map +0 -7
  1186. package/dist/exports/client/chunk-7V3NHDV6.js +0 -29
  1187. package/dist/exports/client/chunk-7V3NHDV6.js.map +0 -7
@@ -1 +1 @@
1
- {"version":3,"file":"normalizeRelationshipValue.spec.js","names":["describe","expect","it","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, expect, it } from '@jest/globals'\n\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, expect, it } from '@jest/globals'\n\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","expect","it","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"}