@payloadcms/ui 4.0.0-internal.cc18726 → 4.0.0-internal.cd47d20

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 (752) hide show
  1. package/dist/css/app.css +1 -0
  2. package/dist/css/preflight.css +1 -0
  3. package/dist/css/spacing.css +3 -0
  4. package/dist/elements/APIKeyInput/index.d.ts +2 -0
  5. package/dist/elements/APIKeyInput/index.d.ts.map +1 -1
  6. package/dist/elements/APIKeyInput/index.js +27 -29
  7. package/dist/elements/APIKeyInput/index.js.map +1 -1
  8. package/dist/elements/AddNewRelation/index.d.ts.map +1 -1
  9. package/dist/elements/AddNewRelation/index.js +1 -0
  10. package/dist/elements/AddNewRelation/index.js.map +1 -1
  11. package/dist/elements/AppHeader/index.css +3 -0
  12. package/dist/elements/ArrayAction/index.d.ts +1 -0
  13. package/dist/elements/ArrayAction/index.d.ts.map +1 -1
  14. package/dist/elements/ArrayAction/index.js +35 -32
  15. package/dist/elements/ArrayAction/index.js.map +1 -1
  16. package/dist/elements/Banner/index.css +4 -0
  17. package/dist/elements/Banner/index.d.ts.map +1 -1
  18. package/dist/elements/Banner/index.js +1 -0
  19. package/dist/elements/Banner/index.js.map +1 -1
  20. package/dist/elements/BulkUpload/ActionsBar/index.css +1 -0
  21. package/dist/elements/BulkUpload/AddingFilesView/index.css +2 -4
  22. package/dist/elements/BulkUpload/FileSidebar/index.css +1 -0
  23. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts +1 -1
  24. package/dist/elements/BulkUpload/FormsManager/createFormData.d.ts.map +1 -1
  25. package/dist/elements/BulkUpload/FormsManager/createFormData.js +7 -3
  26. package/dist/elements/BulkUpload/FormsManager/createFormData.js.map +1 -1
  27. package/dist/elements/BulkUpload/FormsManager/index.d.ts.map +1 -1
  28. package/dist/elements/BulkUpload/FormsManager/index.js +16 -9
  29. package/dist/elements/BulkUpload/FormsManager/index.js.map +1 -1
  30. package/dist/elements/BulkUpload/index.css +2 -0
  31. package/dist/elements/Button/index.d.ts.map +1 -1
  32. package/dist/elements/Button/index.js +11 -0
  33. package/dist/elements/Button/index.js.map +1 -1
  34. package/dist/elements/Button/types.d.ts +7 -2
  35. package/dist/elements/Button/types.d.ts.map +1 -1
  36. package/dist/elements/Button/types.js.map +1 -1
  37. package/dist/elements/ClipboardAction/index.d.ts.map +1 -1
  38. package/dist/elements/ClipboardAction/index.js +1 -0
  39. package/dist/elements/ClipboardAction/index.js.map +1 -1
  40. package/dist/elements/Collapsible/index.css +1 -0
  41. package/dist/elements/ColumnSelection/index.d.ts.map +1 -1
  42. package/dist/elements/ColumnSelection/index.js +59 -55
  43. package/dist/elements/ColumnSelection/index.js.map +1 -1
  44. package/dist/elements/Combobox/index.d.ts.map +1 -1
  45. package/dist/elements/Combobox/index.js +2 -0
  46. package/dist/elements/Combobox/index.js.map +1 -1
  47. package/dist/elements/CreateDocumentButton/index.d.ts.map +1 -1
  48. package/dist/elements/CreateDocumentButton/index.js +1 -0
  49. package/dist/elements/CreateDocumentButton/index.js.map +1 -1
  50. package/dist/elements/DatePicker/DatePicker.d.ts.map +1 -1
  51. package/dist/elements/DatePicker/DatePicker.js +113 -83
  52. package/dist/elements/DatePicker/DatePicker.js.map +1 -1
  53. package/dist/elements/DatePicker/index.css +7 -0
  54. package/dist/elements/Dialog/DialogModal/index.d.ts +1 -1
  55. package/dist/elements/Dialog/DialogModal/index.d.ts.map +1 -1
  56. package/dist/elements/Dialog/DialogModal/index.js +1 -1
  57. package/dist/elements/Dialog/DialogModal/index.js.map +1 -1
  58. package/dist/elements/Dialog/index.css +1 -0
  59. package/dist/elements/DocumentControls/index.css +1 -0
  60. package/dist/elements/DocumentControls/index.d.ts.map +1 -1
  61. package/dist/elements/DocumentControls/index.js +1 -0
  62. package/dist/elements/DocumentControls/index.js.map +1 -1
  63. package/dist/elements/DocumentDrawer/DrawerHeader/index.js +2 -2
  64. package/dist/elements/DocumentDrawer/DrawerHeader/index.js.map +1 -1
  65. package/dist/elements/DocumentFields/index.css +2 -0
  66. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts +1 -0
  67. package/dist/elements/DocumentHeader/Tabs/Tab/index.d.ts.map +1 -1
  68. package/dist/elements/DocumentHeader/Tabs/Tab/index.js +3 -2
  69. package/dist/elements/DocumentHeader/Tabs/Tab/index.js.map +1 -1
  70. package/dist/elements/DocumentHeader/Tabs/index.css +1 -0
  71. package/dist/elements/DocumentHeader/Tabs/index.d.ts +1 -0
  72. package/dist/elements/DocumentHeader/Tabs/index.d.ts.map +1 -1
  73. package/dist/elements/DocumentHeader/Tabs/index.js +5 -3
  74. package/dist/elements/DocumentHeader/Tabs/index.js.map +1 -1
  75. package/dist/elements/DocumentHeader/index.css +1 -0
  76. package/dist/elements/DocumentHeader/index.d.ts +1 -0
  77. package/dist/elements/DocumentHeader/index.d.ts.map +1 -1
  78. package/dist/elements/DocumentHeader/index.js +4 -2
  79. package/dist/elements/DocumentHeader/index.js.map +1 -1
  80. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts +1 -1
  81. package/dist/elements/DraggableSortable/DraggableSortableItem/types.d.ts.map +1 -1
  82. package/dist/elements/DraggableSortable/DraggableSortableItem/types.js.map +1 -1
  83. package/dist/elements/DraggableSortable/useDraggableSortable/index.d.ts.map +1 -1
  84. package/dist/elements/DraggableSortable/useDraggableSortable/index.js +11 -8
  85. package/dist/elements/DraggableSortable/useDraggableSortable/index.js.map +1 -1
  86. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts +1 -0
  87. package/dist/elements/DraggableSortable/useDraggableSortable/types.d.ts.map +1 -1
  88. package/dist/elements/DraggableSortable/useDraggableSortable/types.js.map +1 -1
  89. package/dist/elements/Drawer/index.d.ts.map +1 -1
  90. package/dist/elements/Drawer/index.js +3 -1
  91. package/dist/elements/Drawer/index.js.map +1 -1
  92. package/dist/elements/EditUpload/index.css +2 -1
  93. package/dist/elements/EditUpload/index.js +53 -12
  94. package/dist/elements/EditUpload/index.js.map +1 -1
  95. package/dist/elements/FieldDiffContainer/index.css +1 -0
  96. package/dist/elements/FieldDiffContainer/index.js +1 -1
  97. package/dist/elements/FieldDiffContainer/index.js.map +1 -1
  98. package/dist/elements/FieldDiffLabel/index.css +1 -0
  99. package/dist/elements/FieldSelect/index.d.ts.map +1 -1
  100. package/dist/elements/FieldSelect/index.js +41 -24
  101. package/dist/elements/FieldSelect/index.js.map +1 -1
  102. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts +5 -1
  103. package/dist/elements/FieldSelect/reduceFieldOptions.d.ts.map +1 -1
  104. package/dist/elements/FieldSelect/reduceFieldOptions.js +24 -4
  105. package/dist/elements/FieldSelect/reduceFieldOptions.js.map +1 -1
  106. package/dist/elements/FileDetails/StaticFileDetails/index.css +2 -0
  107. package/dist/elements/FileManager/FileToolbar/index.d.ts.map +1 -1
  108. package/dist/elements/FileManager/FileToolbar/index.js +1 -0
  109. package/dist/elements/FileManager/FileToolbar/index.js.map +1 -1
  110. package/dist/elements/FilterTrigger/index.d.ts +5 -1
  111. package/dist/elements/FilterTrigger/index.d.ts.map +1 -1
  112. package/dist/elements/FilterTrigger/index.js +6 -0
  113. package/dist/elements/FilterTrigger/index.js.map +1 -1
  114. package/dist/elements/FullscreenModal/index.d.ts.map +1 -1
  115. package/dist/elements/FullscreenModal/index.js +1 -1
  116. package/dist/elements/FullscreenModal/index.js.map +1 -1
  117. package/dist/elements/GroupBy/Popup.d.ts.map +1 -1
  118. package/dist/elements/GroupBy/Popup.js +74 -45
  119. package/dist/elements/GroupBy/Popup.js.map +1 -1
  120. package/dist/elements/GroupBy/index.d.ts.map +1 -1
  121. package/dist/elements/GroupBy/index.js +2 -0
  122. package/dist/elements/GroupBy/index.js.map +1 -1
  123. package/dist/elements/HTMLDiff/index.css +1 -0
  124. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.css +3 -0
  125. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.d.ts.map +1 -1
  126. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js +60 -47
  127. package/dist/elements/Hierarchy/ColumnBrowser/Column/index.js.map +1 -1
  128. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.d.ts.map +1 -1
  129. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js +34 -27
  130. package/dist/elements/Hierarchy/ColumnBrowser/ColumnItem/index.js.map +1 -1
  131. package/dist/elements/Hierarchy/Field/index.server.d.ts +3 -2
  132. package/dist/elements/Hierarchy/Field/index.server.d.ts.map +1 -1
  133. package/dist/elements/Hierarchy/Field/index.server.js.map +1 -1
  134. package/dist/elements/Hierarchy/Search/index.d.ts.map +1 -1
  135. package/dist/elements/Hierarchy/Search/index.js +6 -7
  136. package/dist/elements/Hierarchy/Search/index.js.map +1 -1
  137. package/dist/elements/ItemsDrawer/index.css +3 -0
  138. package/dist/elements/ListControls/index.css +1 -0
  139. package/dist/elements/ListControls/index.d.ts.map +1 -1
  140. package/dist/elements/ListControls/index.js +8 -1
  141. package/dist/elements/ListControls/index.js.map +1 -1
  142. package/dist/elements/ListControls/types.d.ts +3 -1
  143. package/dist/elements/ListControls/types.d.ts.map +1 -1
  144. package/dist/elements/ListControls/types.js.map +1 -1
  145. package/dist/elements/ListControlsBar/index.css +1 -0
  146. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js +1 -1
  147. package/dist/elements/ListHeader/TitleActions/ListEmptyTrashButton.js.map +1 -1
  148. package/dist/elements/LivePreview/Toolbar/Controls/index.d.ts.map +1 -1
  149. package/dist/elements/LivePreview/Toolbar/Controls/index.js +3 -0
  150. package/dist/elements/LivePreview/Toolbar/Controls/index.js.map +1 -1
  151. package/dist/elements/LivePreview/Window/index.css +1 -0
  152. package/dist/elements/Localizer/index.d.ts +3 -6
  153. package/dist/elements/Localizer/index.d.ts.map +1 -1
  154. package/dist/elements/Localizer/index.js +19 -11
  155. package/dist/elements/Localizer/index.js.map +1 -1
  156. package/dist/elements/Modal/index.d.ts +5 -1
  157. package/dist/elements/Modal/index.d.ts.map +1 -1
  158. package/dist/elements/Modal/index.js +69 -1
  159. package/dist/elements/Modal/index.js.map +1 -1
  160. package/dist/elements/Nav/SettingsMenuButton/index.d.ts.map +1 -1
  161. package/dist/elements/Nav/SettingsMenuButton/index.js +1 -0
  162. package/dist/elements/Nav/SettingsMenuButton/index.js.map +1 -1
  163. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js +3 -2
  164. package/dist/elements/Nav/SidebarTabs/renderTabServerFn.js.map +1 -1
  165. package/dist/elements/Nav/getNavPrefs.d.ts.map +1 -1
  166. package/dist/elements/Nav/getNavPrefs.js +2 -0
  167. package/dist/elements/Nav/getNavPrefs.js.map +1 -1
  168. package/dist/elements/Nav/index.css +2 -0
  169. package/dist/elements/PageControls/GroupByPageControls.d.ts +1 -0
  170. package/dist/elements/PageControls/GroupByPageControls.d.ts.map +1 -1
  171. package/dist/elements/PageControls/GroupByPageControls.js +9 -6
  172. package/dist/elements/PageControls/GroupByPageControls.js.map +1 -1
  173. package/dist/elements/PageControls/index.css +1 -0
  174. package/dist/elements/PageControls/index.d.ts +2 -0
  175. package/dist/elements/PageControls/index.d.ts.map +1 -1
  176. package/dist/elements/PageControls/index.js +21 -12
  177. package/dist/elements/PageControls/index.js.map +1 -1
  178. package/dist/elements/Pagination/ClickableArrow/index.d.ts +1 -0
  179. package/dist/elements/Pagination/ClickableArrow/index.d.ts.map +1 -1
  180. package/dist/elements/Pagination/ClickableArrow/index.js +2 -0
  181. package/dist/elements/Pagination/ClickableArrow/index.js.map +1 -1
  182. package/dist/elements/Pagination/SimplePagination/index.d.ts +1 -0
  183. package/dist/elements/Pagination/SimplePagination/index.d.ts.map +1 -1
  184. package/dist/elements/Pagination/SimplePagination/index.js +14 -8
  185. package/dist/elements/Pagination/SimplePagination/index.js.map +1 -1
  186. package/dist/elements/Pagination/index.d.ts +1 -0
  187. package/dist/elements/Pagination/index.d.ts.map +1 -1
  188. package/dist/elements/Pagination/index.js +17 -12
  189. package/dist/elements/Pagination/index.js.map +1 -1
  190. package/dist/elements/PerPage/index.d.ts +1 -0
  191. package/dist/elements/PerPage/index.d.ts.map +1 -1
  192. package/dist/elements/PerPage/index.js +22 -15
  193. package/dist/elements/PerPage/index.js.map +1 -1
  194. package/dist/elements/PillSelector/index.css +1 -0
  195. package/dist/elements/Popup/PopupButtonList/index.d.ts +8 -0
  196. package/dist/elements/Popup/PopupButtonList/index.d.ts.map +1 -1
  197. package/dist/elements/Popup/PopupButtonList/index.js +50 -6
  198. package/dist/elements/Popup/PopupButtonList/index.js.map +1 -1
  199. package/dist/elements/Popup/PopupTrigger/index.d.ts +9 -2
  200. package/dist/elements/Popup/PopupTrigger/index.d.ts.map +1 -1
  201. package/dist/elements/Popup/PopupTrigger/index.js +58 -6
  202. package/dist/elements/Popup/PopupTrigger/index.js.map +1 -1
  203. package/dist/elements/Popup/index.css +4 -2
  204. package/dist/elements/Popup/index.d.ts +6 -27
  205. package/dist/elements/Popup/index.d.ts.map +1 -1
  206. package/dist/elements/Popup/index.js +114 -75
  207. package/dist/elements/Popup/index.js.map +1 -1
  208. package/dist/elements/PreviewSizes/index.css +2 -0
  209. package/dist/elements/PublishButton/index.css +1 -0
  210. package/dist/elements/PublishButton/index.d.ts.map +1 -1
  211. package/dist/elements/PublishButton/index.js +11 -25
  212. package/dist/elements/PublishButton/index.js.map +1 -1
  213. package/dist/elements/QueryPresets/QueryPresetBar/index.d.ts.map +1 -1
  214. package/dist/elements/QueryPresets/QueryPresetBar/index.js +18 -2
  215. package/dist/elements/QueryPresets/QueryPresetBar/index.js.map +1 -1
  216. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts +3 -2
  217. package/dist/elements/QueryPresets/fields/ColumnsField/index.d.ts.map +1 -1
  218. package/dist/elements/QueryPresets/fields/ColumnsField/index.js.map +1 -1
  219. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts +3 -2
  220. package/dist/elements/QueryPresets/fields/GroupByField/index.d.ts.map +1 -1
  221. package/dist/elements/QueryPresets/fields/GroupByField/index.js.map +1 -1
  222. package/dist/elements/QueryPresets/fields/Heading/index.css +1 -0
  223. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts +3 -2
  224. package/dist/elements/QueryPresets/fields/WhereField/index.d.ts.map +1 -1
  225. package/dist/elements/QueryPresets/fields/WhereField/index.js.map +1 -1
  226. package/dist/elements/ReactSelect/ClearIndicator/index.css +5 -0
  227. package/dist/elements/ReactSelect/ClearIndicator/index.d.ts.map +1 -1
  228. package/dist/elements/ReactSelect/ClearIndicator/index.js +51 -20
  229. package/dist/elements/ReactSelect/ClearIndicator/index.js.map +1 -1
  230. package/dist/elements/ReactSelect/DefaultMenuPortal.d.ts.map +1 -1
  231. package/dist/elements/ReactSelect/DefaultMenuPortal.js +2 -1
  232. package/dist/elements/ReactSelect/DefaultMenuPortal.js.map +1 -1
  233. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts +2 -4
  234. package/dist/elements/ReactSelect/DropdownIndicator/index.d.ts.map +1 -1
  235. package/dist/elements/ReactSelect/DropdownIndicator/index.js +16 -21
  236. package/dist/elements/ReactSelect/DropdownIndicator/index.js.map +1 -1
  237. package/dist/elements/ReactSelect/MultiValue/context.d.ts +6 -0
  238. package/dist/elements/ReactSelect/MultiValue/context.d.ts.map +1 -0
  239. package/dist/elements/ReactSelect/MultiValue/context.js +5 -0
  240. package/dist/elements/ReactSelect/MultiValue/context.js.map +1 -0
  241. package/dist/elements/ReactSelect/MultiValue/index.css +5 -0
  242. package/dist/elements/ReactSelect/MultiValue/index.d.ts.map +1 -1
  243. package/dist/elements/ReactSelect/MultiValue/index.js +89 -35
  244. package/dist/elements/ReactSelect/MultiValue/index.js.map +1 -1
  245. package/dist/elements/ReactSelect/MultiValueLabel/index.css +41 -1
  246. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts +5 -1
  247. package/dist/elements/ReactSelect/MultiValueLabel/index.d.ts.map +1 -1
  248. package/dist/elements/ReactSelect/MultiValueLabel/index.js +49 -4
  249. package/dist/elements/ReactSelect/MultiValueLabel/index.js.map +1 -1
  250. package/dist/elements/ReactSelect/MultiValueRemove/index.css +30 -4
  251. package/dist/elements/ReactSelect/MultiValueRemove/index.d.ts.map +1 -1
  252. package/dist/elements/ReactSelect/MultiValueRemove/index.js +92 -66
  253. package/dist/elements/ReactSelect/MultiValueRemove/index.js.map +1 -1
  254. package/dist/elements/ReactSelect/Option/index.d.ts +6 -0
  255. package/dist/elements/ReactSelect/Option/index.d.ts.map +1 -0
  256. package/dist/elements/ReactSelect/Option/index.js +30 -0
  257. package/dist/elements/ReactSelect/Option/index.js.map +1 -0
  258. package/dist/elements/ReactSelect/index.d.ts.map +1 -1
  259. package/dist/elements/ReactSelect/index.js +4 -1
  260. package/dist/elements/ReactSelect/index.js.map +1 -1
  261. package/dist/elements/ReactSelect/types.d.ts +7 -1
  262. package/dist/elements/ReactSelect/types.d.ts.map +1 -1
  263. package/dist/elements/ReactSelect/types.js.map +1 -1
  264. package/dist/elements/RelationshipTable/AddNewButton.d.ts.map +1 -1
  265. package/dist/elements/RelationshipTable/AddNewButton.js +1 -0
  266. package/dist/elements/RelationshipTable/AddNewButton.js.map +1 -1
  267. package/dist/elements/RelationshipTable/index.d.ts.map +1 -1
  268. package/dist/elements/RelationshipTable/index.js +61 -57
  269. package/dist/elements/RelationshipTable/index.js.map +1 -1
  270. package/dist/elements/RenderTitle/index.css +1 -0
  271. package/dist/elements/SortColumn/index.d.ts.map +1 -1
  272. package/dist/elements/SortColumn/index.js +59 -95
  273. package/dist/elements/SortColumn/index.js.map +1 -1
  274. package/dist/elements/SortHeader/index.d.ts.map +1 -1
  275. package/dist/elements/SortHeader/index.js +18 -36
  276. package/dist/elements/SortHeader/index.js.map +1 -1
  277. package/dist/elements/StepNav/index.d.ts.map +1 -1
  278. package/dist/elements/StepNav/index.js +1 -0
  279. package/dist/elements/StepNav/index.js.map +1 -1
  280. package/dist/elements/Table/OrderableTable.d.ts +1 -0
  281. package/dist/elements/Table/OrderableTable.d.ts.map +1 -1
  282. package/dist/elements/Table/OrderableTable.js +6 -2
  283. package/dist/elements/Table/OrderableTable.js.map +1 -1
  284. package/dist/elements/Table/TableIdentity.d.ts +7 -0
  285. package/dist/elements/Table/TableIdentity.d.ts.map +1 -0
  286. package/dist/elements/Table/TableIdentity.js +47 -0
  287. package/dist/elements/Table/TableIdentity.js.map +1 -0
  288. package/dist/elements/Table/index.css +1 -0
  289. package/dist/elements/Table/index.d.ts +1 -0
  290. package/dist/elements/Table/index.d.ts.map +1 -1
  291. package/dist/elements/Table/index.js +91 -42
  292. package/dist/elements/Table/index.js.map +1 -1
  293. package/dist/elements/Table/useAriaSort.d.ts +7 -0
  294. package/dist/elements/Table/useAriaSort.d.ts.map +1 -0
  295. package/dist/elements/Table/useAriaSort.js +53 -0
  296. package/dist/elements/Table/useAriaSort.js.map +1 -0
  297. package/dist/elements/TableSection/index.css +1 -0
  298. package/dist/elements/Tabs/index.css +1 -0
  299. package/dist/elements/Thumbnail/index.css +1 -0
  300. package/dist/elements/ThumbnailCard/index.d.ts.map +1 -1
  301. package/dist/elements/ThumbnailCard/index.js +10 -8
  302. package/dist/elements/ThumbnailCard/index.js.map +1 -1
  303. package/dist/elements/TimezonePicker/index.css +1 -0
  304. package/dist/elements/Tooltip/index.css +7 -0
  305. package/dist/elements/Tooltip/index.d.ts +1 -1
  306. package/dist/elements/Tooltip/index.js +1 -1
  307. package/dist/elements/Tooltip/index.js.map +1 -1
  308. package/dist/elements/UserMenu/LanguageMenu/index.d.ts.map +1 -1
  309. package/dist/elements/UserMenu/LanguageMenu/index.js +3 -0
  310. package/dist/elements/UserMenu/LanguageMenu/index.js.map +1 -1
  311. package/dist/elements/UserMenu/SettingsMenu/index.d.ts.map +1 -1
  312. package/dist/elements/UserMenu/SettingsMenu/index.js +3 -0
  313. package/dist/elements/UserMenu/SettingsMenu/index.js.map +1 -1
  314. package/dist/elements/UserMenu/SubMenuHeader/index.d.ts.map +1 -1
  315. package/dist/elements/UserMenu/SubMenuHeader/index.js +2 -0
  316. package/dist/elements/UserMenu/SubMenuHeader/index.js.map +1 -1
  317. package/dist/elements/UserMenu/ThemeMenu/index.d.ts.map +1 -1
  318. package/dist/elements/UserMenu/ThemeMenu/index.js +3 -0
  319. package/dist/elements/UserMenu/ThemeMenu/index.js.map +1 -1
  320. package/dist/elements/UserMenu/index.d.ts.map +1 -1
  321. package/dist/elements/UserMenu/index.js +21 -4
  322. package/dist/elements/UserMenu/index.js.map +1 -1
  323. package/dist/elements/WhereBuilder/Condition/index.css +1 -0
  324. package/dist/elements/WhereBuilder/Condition/index.d.ts.map +1 -1
  325. package/dist/elements/WhereBuilder/Condition/index.js +7 -1
  326. package/dist/elements/WhereBuilder/Condition/index.js.map +1 -1
  327. package/dist/elements/WhereBuilder/index.css +2 -0
  328. package/dist/fields/Array/ArrayRow.d.ts.map +1 -1
  329. package/dist/fields/Array/ArrayRow.js +1 -0
  330. package/dist/fields/Array/ArrayRow.js.map +1 -1
  331. package/dist/fields/Array/index.css +1 -0
  332. package/dist/fields/Array/index.d.ts +3 -7
  333. package/dist/fields/Array/index.d.ts.map +1 -1
  334. package/dist/fields/Array/index.js.map +1 -1
  335. package/dist/fields/Blocks/RowActions.d.ts.map +1 -1
  336. package/dist/fields/Blocks/RowActions.js +25 -16
  337. package/dist/fields/Blocks/RowActions.js.map +1 -1
  338. package/dist/fields/Blocks/index.css +1 -0
  339. package/dist/fields/Blocks/index.d.ts +2 -5
  340. package/dist/fields/Blocks/index.d.ts.map +1 -1
  341. package/dist/fields/Blocks/index.js.map +1 -1
  342. package/dist/fields/Checkbox/index.d.ts +2 -12
  343. package/dist/fields/Checkbox/index.d.ts.map +1 -1
  344. package/dist/fields/Checkbox/index.js.map +1 -1
  345. package/dist/fields/Code/index.d.ts +2 -8
  346. package/dist/fields/Code/index.d.ts.map +1 -1
  347. package/dist/fields/Code/index.js.map +1 -1
  348. package/dist/fields/Collapsible/index.d.ts +2 -3
  349. package/dist/fields/Collapsible/index.d.ts.map +1 -1
  350. package/dist/fields/Collapsible/index.js.map +1 -1
  351. package/dist/fields/DateTime/index.d.ts +3 -7
  352. package/dist/fields/DateTime/index.d.ts.map +1 -1
  353. package/dist/fields/DateTime/index.js +1 -1
  354. package/dist/fields/DateTime/index.js.map +1 -1
  355. package/dist/fields/Email/index.d.ts +2 -7
  356. package/dist/fields/Email/index.d.ts.map +1 -1
  357. package/dist/fields/Email/index.js.map +1 -1
  358. package/dist/fields/Group/index.css +1 -0
  359. package/dist/fields/Group/index.d.ts +3 -5
  360. package/dist/fields/Group/index.d.ts.map +1 -1
  361. package/dist/fields/Group/index.js.map +1 -1
  362. package/dist/fields/JSON/index.d.ts +2 -6
  363. package/dist/fields/JSON/index.d.ts.map +1 -1
  364. package/dist/fields/JSON/index.js.map +1 -1
  365. package/dist/fields/Join/index.d.ts +2 -6
  366. package/dist/fields/Join/index.d.ts.map +1 -1
  367. package/dist/fields/Join/index.js.map +1 -1
  368. package/dist/fields/Number/index.d.ts +2 -7
  369. package/dist/fields/Number/index.d.ts.map +1 -1
  370. package/dist/fields/Number/index.js.map +1 -1
  371. package/dist/fields/Point/index.d.ts +3 -8
  372. package/dist/fields/Point/index.d.ts.map +1 -1
  373. package/dist/fields/Point/index.js.map +1 -1
  374. package/dist/fields/RadioGroup/index.js.map +1 -1
  375. package/dist/fields/Relationship/index.d.ts +2 -6
  376. package/dist/fields/Relationship/index.d.ts.map +1 -1
  377. package/dist/fields/Relationship/index.js.map +1 -1
  378. package/dist/fields/Relationship/select-components/MultiValueLabel/index.d.ts.map +1 -1
  379. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js +24 -2
  380. package/dist/fields/Relationship/select-components/MultiValueLabel/index.js.map +1 -1
  381. package/dist/fields/Row/index.css +2 -0
  382. package/dist/fields/Row/index.d.ts +2 -3
  383. package/dist/fields/Row/index.d.ts.map +1 -1
  384. package/dist/fields/Row/index.js.map +1 -1
  385. package/dist/fields/Select/index.d.ts +2 -9
  386. package/dist/fields/Select/index.d.ts.map +1 -1
  387. package/dist/fields/Select/index.js.map +1 -1
  388. package/dist/fields/Tabs/index.css +1 -0
  389. package/dist/fields/Tabs/index.d.ts +2 -4
  390. package/dist/fields/Tabs/index.d.ts.map +1 -1
  391. package/dist/fields/Tabs/index.js.map +1 -1
  392. package/dist/fields/Text/index.d.ts +2 -8
  393. package/dist/fields/Text/index.d.ts.map +1 -1
  394. package/dist/fields/Text/index.js.map +1 -1
  395. package/dist/fields/Textarea/index.d.ts +2 -9
  396. package/dist/fields/Textarea/index.d.ts.map +1 -1
  397. package/dist/fields/Textarea/index.js.map +1 -1
  398. package/dist/forms/Form/context.d.ts +3 -1
  399. package/dist/forms/Form/context.d.ts.map +1 -1
  400. package/dist/forms/Form/context.js +3 -1
  401. package/dist/forms/Form/context.js.map +1 -1
  402. package/dist/forms/Form/index.d.ts.map +1 -1
  403. package/dist/forms/Form/index.js +13 -4
  404. package/dist/forms/Form/index.js.map +1 -1
  405. package/dist/forms/RenderFields/context.d.ts +2 -2
  406. package/dist/forms/RenderFields/context.js +2 -2
  407. package/dist/forms/RenderFields/context.js.map +1 -1
  408. package/dist/forms/RenderFields/index.css +1 -0
  409. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.d.ts.map +1 -1
  410. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js +12 -4
  411. package/dist/forms/fieldSchemasToFormState/addFieldStatePromise.js.map +1 -1
  412. package/dist/forms/fieldSchemasToFormState/renderField.d.ts.map +1 -1
  413. package/dist/forms/fieldSchemasToFormState/renderField.js +3 -2
  414. package/dist/forms/fieldSchemasToFormState/renderField.js.map +1 -1
  415. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts +12 -0
  416. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.d.ts.map +1 -0
  417. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js +42 -0
  418. package/dist/forms/fieldSchemasToFormState/serverFunctions/mergeAllowedFieldOverrides.js.map +1 -0
  419. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts +8 -6
  420. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.d.ts.map +1 -1
  421. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js +22 -9
  422. package/dist/forms/fieldSchemasToFormState/serverFunctions/renderFieldServerFn.js.map +1 -1
  423. package/dist/forms/fieldSchemasToFormState/types.d.ts +1 -0
  424. package/dist/forms/fieldSchemasToFormState/types.d.ts.map +1 -1
  425. package/dist/forms/fieldSchemasToFormState/types.js.map +1 -1
  426. package/dist/hooks/useControllableState.js +3 -3
  427. package/dist/hooks/useControllableState.js.map +1 -1
  428. package/dist/layouts/Root/index.d.ts +3 -6
  429. package/dist/layouts/Root/index.d.ts.map +1 -1
  430. package/dist/layouts/Root/index.js +9 -10
  431. package/dist/layouts/Root/index.js.map +1 -1
  432. package/dist/providers/DocumentInfo/index.d.ts.map +1 -1
  433. package/dist/providers/DocumentInfo/index.js +30 -21
  434. package/dist/providers/DocumentInfo/index.js.map +1 -1
  435. package/dist/providers/DocumentInfo/types.d.ts +0 -10
  436. package/dist/providers/DocumentInfo/types.d.ts.map +1 -1
  437. package/dist/providers/DocumentInfo/types.js.map +1 -1
  438. package/dist/providers/LivePreview/index.d.ts.map +1 -1
  439. package/dist/providers/LivePreview/index.js +13 -6
  440. package/dist/providers/LivePreview/index.js.map +1 -1
  441. package/dist/providers/Locale/index.d.ts.map +1 -1
  442. package/dist/providers/Locale/index.js +6 -7
  443. package/dist/providers/Locale/index.js.map +1 -1
  444. package/dist/providers/ModalAccessibility/index.d.ts +3 -0
  445. package/dist/providers/ModalAccessibility/index.d.ts.map +1 -0
  446. package/dist/providers/ModalAccessibility/index.js +102 -0
  447. package/dist/providers/ModalAccessibility/index.js.map +1 -0
  448. package/dist/providers/Root/index.d.ts.map +1 -1
  449. package/dist/providers/Root/index.js +7 -6
  450. package/dist/providers/Root/index.js.map +1 -1
  451. package/dist/providers/TableColumns/buildColumnState/index.d.ts.map +1 -1
  452. package/dist/providers/TableColumns/buildColumnState/index.js +0 -1
  453. package/dist/providers/TableColumns/buildColumnState/index.js.map +1 -1
  454. package/dist/providers/ToastContainer/index.d.ts.map +1 -1
  455. package/dist/providers/ToastContainer/index.js +100 -33
  456. package/dist/providers/ToastContainer/index.js.map +1 -1
  457. package/dist/styles.css +5 -1
  458. package/dist/templates/Default/Wrapper/index.css +2 -0
  459. package/dist/templates/Default/index.css +1 -0
  460. package/dist/utilities/buildFormState.d.ts.map +1 -1
  461. package/dist/utilities/buildFormState.js +6 -2
  462. package/dist/utilities/buildFormState.js.map +1 -1
  463. package/dist/utilities/formatAbsoluteURL.d.ts +1 -1
  464. package/dist/utilities/formatAbsoluteURL.d.ts.map +1 -1
  465. package/dist/utilities/formatAbsoluteURL.js +18 -8
  466. package/dist/utilities/formatAbsoluteURL.js.map +1 -1
  467. package/dist/utilities/getActiveModal.d.ts +6 -0
  468. package/dist/utilities/getActiveModal.d.ts.map +1 -0
  469. package/dist/utilities/getActiveModal.js +8 -0
  470. package/dist/utilities/getActiveModal.js.map +1 -0
  471. package/dist/utilities/getDocPreferences.d.ts.map +1 -1
  472. package/dist/utilities/getDocPreferences.js +1 -0
  473. package/dist/utilities/getDocPreferences.js.map +1 -1
  474. package/dist/utilities/getPreferences.d.ts.map +1 -1
  475. package/dist/utilities/getPreferences.js +1 -0
  476. package/dist/utilities/getPreferences.js.map +1 -1
  477. package/dist/utilities/getVersions.d.ts.map +1 -1
  478. package/dist/utilities/getVersions.js +8 -0
  479. package/dist/utilities/getVersions.js.map +1 -1
  480. package/dist/utilities/handleAuthRedirect.d.ts.map +1 -1
  481. package/dist/utilities/handleAuthRedirect.js +4 -1
  482. package/dist/utilities/handleAuthRedirect.js.map +1 -1
  483. package/dist/utilities/handleServerFunctions.d.ts +9 -9
  484. package/dist/utilities/handleServerFunctions.d.ts.map +1 -1
  485. package/dist/utilities/handleServerFunctions.js +7 -5
  486. package/dist/utilities/handleServerFunctions.js.map +1 -1
  487. package/dist/utilities/isAbsoluteURL.d.ts +3 -0
  488. package/dist/utilities/isAbsoluteURL.d.ts.map +1 -0
  489. package/dist/utilities/isAbsoluteURL.js +15 -0
  490. package/dist/utilities/isAbsoluteURL.js.map +1 -0
  491. package/dist/utilities/isHttpURL.d.ts +3 -0
  492. package/dist/utilities/isHttpURL.d.ts.map +1 -0
  493. package/dist/utilities/isHttpURL.js +12 -0
  494. package/dist/utilities/isHttpURL.js.map +1 -0
  495. package/dist/utilities/isPathMatchingRoute.d.ts.map +1 -1
  496. package/dist/utilities/isPathMatchingRoute.js +7 -5
  497. package/dist/utilities/isPathMatchingRoute.js.map +1 -1
  498. package/dist/utilities/isPublicAdminRoute.d.ts.map +1 -1
  499. package/dist/utilities/isPublicAdminRoute.js +9 -6
  500. package/dist/utilities/isPublicAdminRoute.js.map +1 -1
  501. package/dist/utilities/renderTable.d.ts.map +1 -1
  502. package/dist/utilities/renderTable.js +9 -4
  503. package/dist/utilities/renderTable.js.map +1 -1
  504. package/dist/utilities/schedulePublishHandler.d.ts.map +1 -1
  505. package/dist/utilities/schedulePublishHandler.js +6 -1
  506. package/dist/utilities/schedulePublishHandler.js.map +1 -1
  507. package/dist/utilities/upsertPreferences.d.ts.map +1 -1
  508. package/dist/utilities/upsertPreferences.js +3 -0
  509. package/dist/utilities/upsertPreferences.js.map +1 -1
  510. package/dist/views/API/index.css +1 -0
  511. package/dist/views/Account/index.d.ts +1 -1
  512. package/dist/views/Account/index.d.ts.map +1 -1
  513. package/dist/views/Account/index.js +8 -5
  514. package/dist/views/Account/index.js.map +1 -1
  515. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.d.ts.map +1 -1
  516. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js +1 -0
  517. package/dist/views/Dashboard/Default/ModularDashboard/DashboardStepNav.js.map +1 -1
  518. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js +1 -0
  519. package/dist/views/Dashboard/Default/ModularDashboard/index.client.js.map +1 -1
  520. package/dist/views/Dashboard/Default/ModularDashboard/index.css +2 -0
  521. package/dist/views/Dashboard/Default/ModularDashboard/index.d.ts.map +1 -1
  522. package/dist/views/Dashboard/Default/ModularDashboard/index.js +1 -0
  523. package/dist/views/Dashboard/Default/ModularDashboard/index.js.map +1 -1
  524. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.d.ts.map +1 -1
  525. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js +3 -1
  526. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/getDefaultLayoutServerFn.js.map +1 -1
  527. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.d.ts.map +1 -1
  528. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js +2 -0
  529. package/dist/views/Dashboard/Default/ModularDashboard/renderWidget/renderWidgetServerFn.js.map +1 -1
  530. package/dist/views/Dashboard/index.d.ts.map +1 -1
  531. package/dist/views/Dashboard/index.js +2 -3
  532. package/dist/views/Dashboard/index.js.map +1 -1
  533. package/dist/views/Document/handleServerFunction.d.ts.map +1 -1
  534. package/dist/views/Document/handleServerFunction.js +3 -0
  535. package/dist/views/Document/handleServerFunction.js.map +1 -1
  536. package/dist/views/Document/index.d.ts +1 -1
  537. package/dist/views/Document/index.d.ts.map +1 -1
  538. package/dist/views/Document/index.js +9 -4
  539. package/dist/views/Document/index.js.map +1 -1
  540. package/dist/views/Document/renderDocumentSlots.d.ts +1 -0
  541. package/dist/views/Document/renderDocumentSlots.d.ts.map +1 -1
  542. package/dist/views/Document/renderDocumentSlots.js +7 -4
  543. package/dist/views/Document/renderDocumentSlots.js.map +1 -1
  544. package/dist/views/Edit/Auth/APIKey.d.ts +1 -1
  545. package/dist/views/Edit/Auth/APIKey.d.ts.map +1 -1
  546. package/dist/views/Edit/Auth/APIKey.js +233 -59
  547. package/dist/views/Edit/Auth/APIKey.js.map +1 -1
  548. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts +12 -0
  549. package/dist/views/Edit/Auth/APIKeyGenerationModal.d.ts.map +1 -0
  550. package/dist/views/Edit/Auth/APIKeyGenerationModal.js +117 -0
  551. package/dist/views/Edit/Auth/APIKeyGenerationModal.js.map +1 -0
  552. package/dist/views/Edit/Auth/index.css +91 -0
  553. package/dist/views/Edit/Auth/index.d.ts.map +1 -1
  554. package/dist/views/Edit/Auth/index.js +10 -28
  555. package/dist/views/Edit/Auth/index.js.map +1 -1
  556. package/dist/views/Edit/Auth/types.d.ts +3 -1
  557. package/dist/views/Edit/Auth/types.d.ts.map +1 -1
  558. package/dist/views/Edit/Auth/types.js.map +1 -1
  559. package/dist/views/Edit/index.css +1 -0
  560. package/dist/views/ForgotPassword/ForgotPasswordForm/index.css +14 -0
  561. package/dist/views/ForgotPassword/ForgotPasswordForm/index.d.ts.map +1 -1
  562. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js +209 -161
  563. package/dist/views/ForgotPassword/ForgotPasswordForm/index.js.map +1 -1
  564. package/dist/views/ForgotPassword/index.d.ts.map +1 -1
  565. package/dist/views/ForgotPassword/index.js +2 -11
  566. package/dist/views/ForgotPassword/index.js.map +1 -1
  567. package/dist/views/HierarchyList/HierarchyTable/SlotTable.css +1 -0
  568. package/dist/views/HierarchyList/TypeFilter/index.d.ts.map +1 -1
  569. package/dist/views/HierarchyList/TypeFilter/index.js +6 -7
  570. package/dist/views/HierarchyList/TypeFilter/index.js.map +1 -1
  571. package/dist/views/HierarchyList/index.css +1 -0
  572. package/dist/views/List/ListHeader/index.css +1 -0
  573. package/dist/views/List/ListHeader/index.d.ts +0 -1
  574. package/dist/views/List/ListHeader/index.d.ts.map +1 -1
  575. package/dist/views/List/ListHeader/index.js +2 -6
  576. package/dist/views/List/ListHeader/index.js.map +1 -1
  577. package/dist/views/List/enrichDocsWithVersionStatus.d.ts.map +1 -1
  578. package/dist/views/List/enrichDocsWithVersionStatus.js +1 -0
  579. package/dist/views/List/enrichDocsWithVersionStatus.js.map +1 -1
  580. package/dist/views/List/handleServerFunction.d.ts.map +1 -1
  581. package/dist/views/List/handleServerFunction.js +4 -1
  582. package/dist/views/List/handleServerFunction.js.map +1 -1
  583. package/dist/views/List/index.client.d.ts.map +1 -1
  584. package/dist/views/List/index.client.js +130 -124
  585. package/dist/views/List/index.client.js.map +1 -1
  586. package/dist/views/List/index.css +2 -0
  587. package/dist/views/List/index.d.ts.map +1 -1
  588. package/dist/views/List/index.js +2 -1
  589. package/dist/views/List/index.js.map +1 -1
  590. package/dist/views/NotFound/client.d.ts +2 -0
  591. package/dist/views/NotFound/client.d.ts.map +1 -0
  592. package/dist/views/NotFound/client.js +4 -0
  593. package/dist/views/NotFound/client.js.map +1 -0
  594. package/dist/views/NotFound/page.d.ts +4 -11
  595. package/dist/views/NotFound/page.d.ts.map +1 -1
  596. package/dist/views/NotFound/page.js +6 -5
  597. package/dist/views/NotFound/page.js.map +1 -1
  598. package/dist/views/Root/index.d.ts +6 -7
  599. package/dist/views/Root/index.d.ts.map +1 -1
  600. package/dist/views/Root/index.js +33 -24
  601. package/dist/views/Root/index.js.map +1 -1
  602. package/dist/views/Verify/index.d.ts +1 -1
  603. package/dist/views/Verify/index.d.ts.map +1 -1
  604. package/dist/views/Verify/index.js +4 -4
  605. package/dist/views/Verify/index.js.map +1 -1
  606. package/dist/views/Version/Default/index.css +2 -0
  607. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts +1 -0
  608. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.d.ts.map +1 -1
  609. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js +56 -50
  610. package/dist/views/Version/RenderFieldsToDiff/DiffCollapser/index.js.map +1 -1
  611. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.d.ts.map +1 -1
  612. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js +41 -27
  613. package/dist/views/Version/RenderFieldsToDiff/buildVersionFields.js.map +1 -1
  614. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts +3 -2
  615. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.d.ts.map +1 -1
  616. package/dist/views/Version/RenderFieldsToDiff/fields/Checkbox/index.js.map +1 -1
  617. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts +3 -2
  618. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.d.ts.map +1 -1
  619. package/dist/views/Version/RenderFieldsToDiff/fields/Collapsible/index.js.map +1 -1
  620. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.css +8 -0
  621. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts +3 -2
  622. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.d.ts.map +1 -1
  623. package/dist/views/Version/RenderFieldsToDiff/fields/Date/index.js.map +1 -1
  624. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts +3 -2
  625. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.d.ts.map +1 -1
  626. package/dist/views/Version/RenderFieldsToDiff/fields/Group/index.js.map +1 -1
  627. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.d.ts.map +1 -1
  628. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js +10 -0
  629. package/dist/views/Version/RenderFieldsToDiff/fields/Iterable/index.js.map +1 -1
  630. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.d.ts.map +1 -1
  631. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js +1 -0
  632. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/generateLabelFromValue.js.map +1 -1
  633. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.css +1 -0
  634. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts +2 -2
  635. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.d.ts.map +1 -1
  636. package/dist/views/Version/RenderFieldsToDiff/fields/Relationship/index.js.map +1 -1
  637. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts +3 -2
  638. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.d.ts.map +1 -1
  639. package/dist/views/Version/RenderFieldsToDiff/fields/Row/index.js.map +1 -1
  640. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts +3 -2
  641. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.d.ts.map +1 -1
  642. package/dist/views/Version/RenderFieldsToDiff/fields/Select/index.js.map +1 -1
  643. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts +3 -2
  644. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.d.ts.map +1 -1
  645. package/dist/views/Version/RenderFieldsToDiff/fields/Tabs/index.js.map +1 -1
  646. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts +3 -2
  647. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.d.ts.map +1 -1
  648. package/dist/views/Version/RenderFieldsToDiff/fields/Text/index.js.map +1 -1
  649. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.css +1 -0
  650. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts +2 -2
  651. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.d.ts.map +1 -1
  652. package/dist/views/Version/RenderFieldsToDiff/fields/Upload/index.js.map +1 -1
  653. package/dist/views/Version/RenderFieldsToDiff/index.css +2 -0
  654. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.d.ts.map +1 -1
  655. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js +33 -1
  656. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.js.map +1 -1
  657. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts +8 -2
  658. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.d.ts.map +1 -1
  659. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js +17 -19
  660. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.js.map +1 -1
  661. package/dist/views/Version/Restore/index.d.ts.map +1 -1
  662. package/dist/views/Version/Restore/index.js +9 -6
  663. package/dist/views/Version/Restore/index.js.map +1 -1
  664. package/dist/views/Version/SelectLocales/index.d.ts.map +1 -1
  665. package/dist/views/Version/SelectLocales/index.js +1 -0
  666. package/dist/views/Version/SelectLocales/index.js.map +1 -1
  667. package/dist/views/Versions/VersionPillLabel/index.css +1 -0
  668. package/dist/views/Versions/index.css +1 -0
  669. package/dist/widgets/CollectionCards/index.css +4 -0
  670. package/dist/widgets/CollectionQuery/SortField/index.d.ts +3 -2
  671. package/dist/widgets/CollectionQuery/SortField/index.d.ts.map +1 -1
  672. package/dist/widgets/CollectionQuery/SortField/index.js.map +1 -1
  673. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts +3 -2
  674. package/dist/widgets/RecentlyViewed/CollectionsField/index.d.ts.map +1 -1
  675. package/dist/widgets/RecentlyViewed/CollectionsField/index.js.map +1 -1
  676. package/package.json +10 -5
  677. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js +0 -120
  678. package/dist/elements/ClipboardAction/clipboardUtilities.spec.js.map +0 -1
  679. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js +0 -144
  680. package/dist/elements/ClipboardAction/isClipboardDataValid.spec.js.map +0 -1
  681. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js +0 -885
  682. package/dist/elements/ClipboardAction/mergeFormStateFromClipboard.spec.js.map +0 -1
  683. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js +0 -87
  684. package/dist/elements/ColumnSelection/matchesColumnSearch.spec.js.map +0 -1
  685. package/dist/elements/CommandPalette/buildActions.spec.js +0 -158
  686. package/dist/elements/CommandPalette/buildActions.spec.js.map +0 -1
  687. package/dist/elements/CommandPalette/highlightLabel.spec.js +0 -78
  688. package/dist/elements/CommandPalette/highlightLabel.spec.js.map +0 -1
  689. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js +0 -143
  690. package/dist/elements/FieldSelect/reduceFieldOptions.spec.js.map +0 -1
  691. package/dist/elements/Toasts/fieldErrors.spec.js +0 -46
  692. package/dist/elements/Toasts/fieldErrors.spec.js.map +0 -1
  693. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js +0 -152
  694. package/dist/elements/WhereBuilder/Condition/Relationship/optionsReducer.spec.js.map +0 -1
  695. package/dist/elements/WhereBuilder/conditionValue.spec.js +0 -65
  696. package/dist/elements/WhereBuilder/conditionValue.spec.js.map +0 -1
  697. package/dist/fields/Upload/Input.spec.js +0 -242
  698. package/dist/fields/Upload/Input.spec.js.map +0 -1
  699. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts +0 -2
  700. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.d.ts.map +0 -1
  701. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js +0 -67
  702. package/dist/forms/fieldSchemasToFormState/fieldSchemasToFormState.spec.js.map +0 -1
  703. package/dist/layouts/Root/index.spec.js +0 -20
  704. package/dist/layouts/Root/index.spec.js.map +0 -1
  705. package/dist/providers/Auth/authSessionRequests.spec.js +0 -121
  706. package/dist/providers/Auth/authSessionRequests.spec.js.map +0 -1
  707. package/dist/providers/Auth/sessionActivity.spec.js +0 -44
  708. package/dist/providers/Auth/sessionActivity.spec.js.map +0 -1
  709. package/dist/providers/Auth/tabSessionSync/index.spec.js +0 -463
  710. package/dist/providers/Auth/tabSessionSync/index.spec.js.map +0 -1
  711. package/dist/providers/Auth/useAuthSessionTimers.spec.js +0 -311
  712. package/dist/providers/Auth/useAuthSessionTimers.spec.js.map +0 -1
  713. package/dist/providers/RouteTransition/ProgressBar/index.spec.js +0 -44
  714. package/dist/providers/RouteTransition/ProgressBar/index.spec.js.map +0 -1
  715. package/dist/providers/TableColumns/buildColumnState/index.spec.js +0 -40
  716. package/dist/providers/TableColumns/buildColumnState/index.spec.js.map +0 -1
  717. package/dist/utilities/appendCacheTag.spec.js +0 -34
  718. package/dist/utilities/appendCacheTag.spec.js.map +0 -1
  719. package/dist/utilities/formatMetadata.spec.js +0 -83
  720. package/dist/utilities/formatMetadata.spec.js.map +0 -1
  721. package/dist/utilities/fuzzyMatch.spec.js +0 -38
  722. package/dist/utilities/fuzzyMatch.spec.js.map +0 -1
  723. package/dist/utilities/getRequestLocale.d.ts +0 -7
  724. package/dist/utilities/getRequestLocale.d.ts.map +0 -1
  725. package/dist/utilities/getRequestLocale.js +0 -20
  726. package/dist/utilities/getRequestLocale.js.map +0 -1
  727. package/dist/utilities/initReq.d.ts +0 -16
  728. package/dist/utilities/initReq.d.ts.map +0 -1
  729. package/dist/utilities/initReq.js +0 -111
  730. package/dist/utilities/initReq.js.map +0 -1
  731. package/dist/utilities/isCustomAdminView.spec.js +0 -90
  732. package/dist/utilities/isCustomAdminView.spec.js.map +0 -1
  733. package/dist/utilities/isPathMatchingRoute.spec.js +0 -178
  734. package/dist/utilities/isPathMatchingRoute.spec.js.map +0 -1
  735. package/dist/utilities/normalizeRelationshipValue.spec.js +0 -373
  736. package/dist/utilities/normalizeRelationshipValue.spec.js.map +0 -1
  737. package/dist/utilities/recentlyViewed.spec.js +0 -92
  738. package/dist/utilities/recentlyViewed.spec.js.map +0 -1
  739. package/dist/utilities/selectiveCache.d.ts +0 -12
  740. package/dist/utilities/selectiveCache.d.ts.map +0 -1
  741. package/dist/utilities/selectiveCache.js +0 -37
  742. package/dist/utilities/selectiveCache.js.map +0 -1
  743. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js +0 -168
  744. package/dist/views/Root/getCustomCollectionViewByRoute.spec.js.map +0 -1
  745. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js +0 -861
  746. package/dist/views/Version/RenderFieldsToDiff/utilities/countChangedFields.spec.js.map +0 -1
  747. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js +0 -47
  748. package/dist/views/Version/RenderFieldsToDiff/utilities/fieldHasChanges.spec.js.map +0 -1
  749. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js +0 -135
  750. package/dist/views/Version/RenderFieldsToDiff/utilities/getFieldsForRowComparison.spec.js.map +0 -1
  751. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js +0 -100
  752. package/dist/widgets/CollectionQuery/getCollectionFieldPaths.spec.js.map +0 -1
@@ -1,885 +0,0 @@
1
- import ObjectIdImport from 'bson-objectid';
2
- import { describe, expect, it } from 'vitest';
3
- import { mergeFormStateFromClipboard, reduceFormStateByPath } from './mergeFormStateFromClipboard.js';
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);
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
- 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);
111
- });
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');
150
- });
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
- describe('prefix collision with multi-digit sibling indices', () => {
541
- it('reduceFormStateByPath should not leak siblings whose indices share a digit prefix', () => {
542
- // Array with 13 rows. Copying row 1 must filter out rows 10/11/12, whose
543
- // paths all begin with the substring `children.1`.
544
- const formState = {
545
- children: {
546
- valid: true,
547
- value: 13,
548
- rows: Array.from({
549
- length: 13
550
- }, () => ({
551
- isLoading: false
552
- }))
553
- },
554
- 'children.1.id': {
555
- value: 'id-1',
556
- valid: true
557
- },
558
- 'children.1.title': {
559
- value: 'Row 1',
560
- valid: true
561
- },
562
- 'children.10.id': {
563
- value: 'id-10',
564
- valid: true
565
- },
566
- 'children.10.title': {
567
- value: 'Row 10',
568
- valid: true
569
- },
570
- 'children.11.id': {
571
- value: 'id-11',
572
- valid: true
573
- },
574
- 'children.11.title': {
575
- value: 'Row 11',
576
- valid: true
577
- },
578
- 'children.12.id': {
579
- value: 'id-12',
580
- valid: true
581
- },
582
- 'children.12.title': {
583
- value: 'Row 12',
584
- valid: true
585
- }
586
- };
587
- const filtered = reduceFormStateByPath({
588
- formState,
589
- path: 'children',
590
- rowIndex: 1
591
- });
592
- const filteredKeys = Object.keys(filtered).sort();
593
- expect(filteredKeys).toEqual(['children.1.id', 'children.1.title']);
594
- expect(filtered['children.10.id']).toBeUndefined();
595
- expect(filtered['children.11.id']).toBeUndefined();
596
- expect(filtered['children.12.id']).toBeUndefined();
597
- });
598
- it('reduceFormStateByPath should not leak field-name siblings sharing a textual prefix', () => {
599
- // `children` vs `childrenOther`: loose prefix matching pulls the wrong field's state.
600
- const formState = {
601
- children: {
602
- valid: true,
603
- value: 1,
604
- rows: [{
605
- isLoading: false
606
- }]
607
- },
608
- 'children.0.id': {
609
- value: 'children-row',
610
- valid: true
611
- },
612
- childrenOther: {
613
- valid: true,
614
- value: 1,
615
- rows: [{
616
- isLoading: false
617
- }]
618
- },
619
- 'childrenOther.0.id': {
620
- value: 'other-row',
621
- valid: true
622
- }
623
- };
624
- const filtered = reduceFormStateByPath({
625
- formState,
626
- path: 'children'
627
- });
628
- // The field's own key carries `rows` and `value`, so it must survive the filter.
629
- expect(filtered.children).toBeDefined();
630
- expect(filtered['children.0.id']).toBeDefined();
631
- expect(filtered.childrenOther).toBeUndefined();
632
- expect(filtered['childrenOther.0.id']).toBeUndefined();
633
- });
634
- it('paste should not create out-of-bounds rows from a leaked clipboard payload', () => {
635
- // Simulates the end-to-end Copy/Paste flow against an array with 13 rows. Even if a
636
- // pre-fix clipboard leaked sibling rows (.10/.11/.12) when copying row 1, the merge
637
- // filter must drop them rather than rewriting them to .50/.51/.52 when pasting into
638
- // row 5.
639
- const formState = {
640
- children: {
641
- valid: true,
642
- value: 13,
643
- rows: Array.from({
644
- length: 13
645
- }, () => ({
646
- id: new ObjectId().toHexString(),
647
- isLoading: false
648
- }))
649
- },
650
- 'children.5.id': {
651
- value: new ObjectId().toHexString(),
652
- valid: true
653
- }
654
- };
655
- const sourceID = new ObjectId().toHexString();
656
- const clipboardData = {
657
- type: 'array',
658
- path: 'children',
659
- fields: [],
660
- rowIndex: 1,
661
- data: {
662
- 'children.1.id': {
663
- value: sourceID,
664
- valid: true
665
- },
666
- 'children.1.title': {
667
- value: 'Row 1 title',
668
- valid: true
669
- },
670
- // Leaked siblings — these must be dropped, not rewritten to .50/.51/.52.
671
- 'children.10.id': {
672
- value: new ObjectId().toHexString(),
673
- valid: true
674
- },
675
- 'children.10.title': {
676
- value: 'Leaked Row 10',
677
- valid: true
678
- },
679
- 'children.11.id': {
680
- value: new ObjectId().toHexString(),
681
- valid: true
682
- },
683
- 'children.11.title': {
684
- value: 'Leaked Row 11',
685
- valid: true
686
- },
687
- 'children.12.id': {
688
- value: new ObjectId().toHexString(),
689
- valid: true
690
- },
691
- 'children.12.title': {
692
- value: 'Leaked Row 12',
693
- valid: true
694
- }
695
- }
696
- };
697
- const result = mergeFormStateFromClipboard({
698
- dataFromClipboard: clipboardData,
699
- formState,
700
- path: 'children',
701
- rowIndex: 5
702
- });
703
- // Target row populated from the source row.
704
- expect(result['children.5.title']?.value).toEqual('Row 1 title');
705
- // No phantom out-of-bounds rows. These would correspond to `.10`/`.11`/`.12` being
706
- // rewritten through `String.replace('children.1', 'children.5')`.
707
- expect(result['children.50']).toBeUndefined();
708
- expect(result['children.51']).toBeUndefined();
709
- expect(result['children.52']).toBeUndefined();
710
- expect(result['children.50.id']).toBeUndefined();
711
- expect(result['children.51.id']).toBeUndefined();
712
- expect(result['children.52.id']).toBeUndefined();
713
- expect(result['children.50.title']).toBeUndefined();
714
- expect(result['children.51.title']).toBeUndefined();
715
- expect(result['children.52.title']).toBeUndefined();
716
- });
717
- it('row-to-field cleanup should not delete unrelated fields with a textual prefix collision', () => {
718
- // `path` = 'children', `lastRenderedPath` = 'children.0'. A sibling field
719
- // `childrenOther.0.title` must NOT be deleted by the cleanup loop.
720
- const formState = {
721
- children: {
722
- valid: true,
723
- value: 0,
724
- rows: [{
725
- isLoading: false
726
- }]
727
- },
728
- 'children.0.id': {
729
- value: new ObjectId().toHexString(),
730
- valid: true
731
- },
732
- childrenOther: {
733
- valid: true,
734
- value: 1,
735
- rows: [{
736
- isLoading: false
737
- }]
738
- },
739
- 'childrenOther.0.id': {
740
- value: new ObjectId().toHexString(),
741
- valid: true
742
- },
743
- 'childrenOther.0.title': {
744
- value: 'Unrelated field',
745
- valid: true
746
- }
747
- };
748
- const sourceID = new ObjectId().toHexString();
749
- const clipboardData = {
750
- type: 'array',
751
- path: 'someOtherArray',
752
- fields: [],
753
- rowIndex: 0,
754
- data: {
755
- 'someOtherArray.0.id': {
756
- value: sourceID,
757
- valid: true
758
- },
759
- 'someOtherArray.0.title': {
760
- value: 'Pasted row',
761
- valid: true
762
- }
763
- }
764
- };
765
- const result = mergeFormStateFromClipboard({
766
- dataFromClipboard: clipboardData,
767
- formState,
768
- path: 'children'
769
- });
770
- // Unrelated `childrenOther.*` paths survive the cleanup.
771
- expect(result.childrenOther).toBeDefined();
772
- expect(result['childrenOther.0.id']).toBeDefined();
773
- expect(result['childrenOther.0.title']?.value).toEqual('Unrelated field');
774
- });
775
- });
776
- describe('exact path matches', () => {
777
- // Blocks store the block type under the row key itself (`ctas.1`), with no trailing
778
- // segment. Tightening the prefix check must keep matching that exact key, otherwise
779
- // copy drops the block type and paste never restores it.
780
- it('reduceFormStateByPath should keep the exact row key while filtering digit-prefix siblings', () => {
781
- const formState = {
782
- ctas: {
783
- valid: true,
784
- value: 13,
785
- rows: Array.from({
786
- length: 13
787
- }, () => ({
788
- blockType: 'callToAction',
789
- isLoading: false
790
- }))
791
- },
792
- 'ctas.1': {
793
- value: 'callToAction',
794
- valid: true
795
- },
796
- 'ctas.1.id': {
797
- value: 'id-1',
798
- valid: true
799
- },
800
- 'ctas.10': {
801
- value: 'callToAction',
802
- valid: true
803
- },
804
- 'ctas.10.id': {
805
- value: 'id-10',
806
- valid: true
807
- },
808
- 'ctas.11': {
809
- value: 'callToAction',
810
- valid: true
811
- },
812
- 'ctas.11.id': {
813
- value: 'id-11',
814
- valid: true
815
- }
816
- };
817
- const filtered = reduceFormStateByPath({
818
- formState,
819
- path: 'ctas',
820
- rowIndex: 1
821
- });
822
- const filteredKeys = Object.keys(filtered).sort();
823
- expect(filteredKeys).toEqual(['ctas.1', 'ctas.1.id']);
824
- expect(filtered['ctas.1']?.value).toEqual('callToAction');
825
- });
826
- it('paste should copy the exact row key across to the target row', () => {
827
- const sourceBlockID = new ObjectId().toHexString();
828
- const targetBlockID = new ObjectId().toHexString();
829
- const formState = {
830
- ctas: {
831
- valid: true,
832
- value: 2,
833
- initialValue: 2,
834
- rows: [{
835
- id: sourceBlockID,
836
- blockType: 'callToAction',
837
- isLoading: false
838
- }, {
839
- id: targetBlockID,
840
- blockType: 'content',
841
- isLoading: false
842
- }]
843
- },
844
- 'ctas.1': {
845
- value: 'content',
846
- valid: true
847
- },
848
- 'ctas.1.id': {
849
- value: targetBlockID,
850
- valid: true
851
- }
852
- };
853
- const clipboardData = {
854
- type: 'blocks',
855
- path: 'ctas',
856
- blocks: [],
857
- rowIndex: 0,
858
- data: {
859
- 'ctas.0': {
860
- value: 'callToAction',
861
- valid: true
862
- },
863
- 'ctas.0.id': {
864
- value: sourceBlockID,
865
- valid: true
866
- },
867
- 'ctas.0.label': {
868
- value: 'Source label',
869
- valid: true
870
- }
871
- }
872
- };
873
- const result = mergeFormStateFromClipboard({
874
- dataFromClipboard: clipboardData,
875
- formState,
876
- path: 'ctas',
877
- rowIndex: 1
878
- });
879
- // The block type lives at the exact row key, so pasting must overwrite it.
880
- expect(result['ctas.1']?.value).toEqual('callToAction');
881
- expect(result['ctas.1.label']?.value).toEqual('Source label');
882
- });
883
- });
884
- });
885
- //# sourceMappingURL=mergeFormStateFromClipboard.spec.js.map