@payloadcms/ui 3.81.0-canary.4 → 3.81.0-internal-debug.1a0f4d0

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