@rebasepro/admin 0.1.2 → 0.2.3

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 (243) hide show
  1. package/LICENSE +21 -6
  2. package/dist/{CollectionEditorDialog-ywdxhs1L.js → CollectionEditorDialog-CmGXXSY9.js} +42 -209
  3. package/dist/CollectionEditorDialog-CmGXXSY9.js.map +1 -0
  4. package/dist/{CollectionsStudioView-BDzMFzqH.js → CollectionsStudioView-DcLHT5bU.js} +6 -8
  5. package/dist/CollectionsStudioView-DcLHT5bU.js.map +1 -0
  6. package/dist/{ContentHomePage-0tHuEIm_.js → ContentHomePage-C7vFqKSe.js} +5 -7
  7. package/dist/ContentHomePage-C7vFqKSe.js.map +1 -0
  8. package/dist/{ExportCollectionAction-BIrq92To.js → ExportCollectionAction-BfN34eWX.js} +36 -38
  9. package/dist/ExportCollectionAction-BfN34eWX.js.map +1 -0
  10. package/dist/{ImportCollectionAction-h8yg_To8.js → ImportCollectionAction-SZrInjhx.js} +5 -7
  11. package/dist/ImportCollectionAction-SZrInjhx.js.map +1 -0
  12. package/dist/{PropertyEditView-BuZrNnBN.js → PropertyEditView-Cvryrb3B.js} +563 -489
  13. package/dist/PropertyEditView-Cvryrb3B.js.map +1 -0
  14. package/dist/{RolesView-CMPsaIXo.js → RolesView-BCb7qwWs.js} +22 -11
  15. package/dist/RolesView-BCb7qwWs.js.map +1 -0
  16. package/dist/{UsersView-BkeblMVT.js → UsersView-Cex24r8H.js} +7 -71
  17. package/dist/UsersView-Cex24r8H.js.map +1 -0
  18. package/dist/collection_editor/ui/collection_editor/LayoutModeSwitch.d.ts +2 -2
  19. package/dist/collection_editor/ui/collection_editor/properties/RelationPropertyField.d.ts +1 -7
  20. package/dist/collection_editor/ui/collection_editor/properties/VectorPropertyField.d.ts +3 -0
  21. package/dist/collection_editor_ui.js +5 -5
  22. package/dist/components/EntityCollectionTable/EntityCollectionRowActions.d.ts +1 -1
  23. package/dist/components/EntityCollectionTable/EntityCollectionTableProps.d.ts +1 -1
  24. package/dist/components/EntityCollectionView/EntityCollectionListView.d.ts +18 -2
  25. package/dist/components/EntityCollectionView/FilterPresetsButton.d.ts +21 -0
  26. package/dist/components/EntityDetailView.d.ts +31 -0
  27. package/dist/components/EntityEditView.d.ts +3 -2
  28. package/dist/components/ReferenceTable/EntitySelectionTable.d.ts +1 -1
  29. package/dist/components/admin/CreationResultDialog.d.ts +5 -0
  30. package/dist/components/admin/RolesFilterSelect.d.ts +2 -0
  31. package/dist/components/admin/UserRolesSelectField.d.ts +2 -0
  32. package/dist/components/common/default_entity_actions.d.ts +7 -1
  33. package/dist/components/field_configs.d.ts +1 -1
  34. package/dist/components/index.d.ts +1 -0
  35. package/dist/data_import/utils/data.d.ts +1 -1
  36. package/dist/data_import/utils/file_headers.d.ts +6 -1
  37. package/dist/data_import/utils/file_to_json.d.ts +1 -11
  38. package/dist/data_import/utils/transforms.d.ts +11 -0
  39. package/dist/editor.js +2 -4
  40. package/dist/editor.js.map +1 -1
  41. package/dist/form/EntityForm.d.ts +1 -1
  42. package/dist/form/field_bindings/RelationFieldBinding.d.ts +1 -1
  43. package/dist/form/field_bindings/VectorFieldBinding.d.ts +11 -0
  44. package/dist/form/index.d.ts +1 -0
  45. package/dist/hooks/navigation/useResolvedViews.d.ts +2 -1
  46. package/dist/{index-eRJbMvHi.js → index-DjduZG1T.js} +3 -3
  47. package/dist/index-DjduZG1T.js.map +1 -0
  48. package/dist/{index-BuZaHcyc.js → index-MKPc70-v.js} +3 -3
  49. package/dist/index-MKPc70-v.js.map +1 -0
  50. package/dist/{index-CS6uJ7oW.js → index-PLIQXpTt.js} +4 -6
  51. package/dist/index-PLIQXpTt.js.map +1 -0
  52. package/dist/index.d.ts +4 -1
  53. package/dist/index.js +352 -148
  54. package/dist/index.js.map +1 -1
  55. package/dist/types/components/EntityFormActionsProps.d.ts +1 -1
  56. package/dist/types/components/EntityFormProps.d.ts +2 -1
  57. package/dist/types/fields.d.ts +3 -3
  58. package/dist/util/navigation_utils.d.ts +1 -1
  59. package/dist/{util-zfU1zOCX.js → util-DbWax_sV.js} +5453 -2641
  60. package/dist/util-DbWax_sV.js.map +1 -0
  61. package/package.json +46 -39
  62. package/src/collection_editor/ConfigControllerProvider.tsx +1 -1
  63. package/src/collection_editor/ui/AddKanbanColumnAction.tsx +12 -2
  64. package/src/collection_editor/ui/CollectionViewHeaderAction.tsx +1 -2
  65. package/src/collection_editor/ui/EditorCollectionAction.tsx +1 -2
  66. package/src/collection_editor/ui/EditorCollectionActionStart.tsx +1 -2
  67. package/src/collection_editor/ui/EditorEntityAction.tsx +1 -2
  68. package/src/collection_editor/ui/HomePageEditorCollectionAction.tsx +1 -2
  69. package/src/collection_editor/ui/NewCollectionButton.tsx +1 -2
  70. package/src/collection_editor/ui/NewCollectionCard.tsx +4 -6
  71. package/src/collection_editor/ui/PropertyAddColumnComponent.tsx +1 -2
  72. package/src/collection_editor/ui/collection_editor/AICollectionGeneratorPopover.tsx +10 -2
  73. package/src/collection_editor/ui/collection_editor/CollectionDetailsForm.tsx +18 -2
  74. package/src/collection_editor/ui/collection_editor/CollectionEditorDialog.tsx +23 -17
  75. package/src/collection_editor/ui/collection_editor/CollectionEditorWelcomeView.tsx +16 -2
  76. package/src/collection_editor/ui/collection_editor/CollectionJsonImportDialog.tsx +19 -9
  77. package/src/collection_editor/ui/collection_editor/CollectionPropertiesEditorForm.tsx +13 -2
  78. package/src/collection_editor/ui/collection_editor/CollectionRLSTab.tsx +24 -2
  79. package/src/collection_editor/ui/collection_editor/CollectionRelationsTab.tsx +22 -3
  80. package/src/collection_editor/ui/collection_editor/CollectionStudioView.tsx +1 -2
  81. package/src/collection_editor/ui/collection_editor/CollectionsStudioView.tsx +11 -2
  82. package/src/collection_editor/ui/collection_editor/DisplaySettingsForm.tsx +12 -2
  83. package/src/collection_editor/ui/collection_editor/EntityActionsEditTab.tsx +16 -3
  84. package/src/collection_editor/ui/collection_editor/EnumForm.tsx +17 -2
  85. package/src/collection_editor/ui/collection_editor/GeneralSettingsForm.tsx +18 -2
  86. package/src/collection_editor/ui/collection_editor/GetCodeDialog.tsx +1 -2
  87. package/src/collection_editor/ui/collection_editor/KanbanConfigSection.tsx +1 -2
  88. package/src/collection_editor/ui/collection_editor/LayoutModeSwitch.tsx +17 -5
  89. package/src/collection_editor/ui/collection_editor/PropertyEditView.tsx +32 -6
  90. package/src/collection_editor/ui/collection_editor/PropertyFieldPreview.tsx +7 -7
  91. package/src/collection_editor/ui/collection_editor/PropertyTree.tsx +14 -2
  92. package/src/collection_editor/ui/collection_editor/SubcollectionsEditTab.tsx +16 -2
  93. package/src/collection_editor/ui/collection_editor/ViewModeSwitch.tsx +9 -2
  94. package/src/collection_editor/ui/collection_editor/properties/BlockPropertyField.tsx +1 -2
  95. package/src/collection_editor/ui/collection_editor/properties/MapPropertyField.tsx +1 -2
  96. package/src/collection_editor/ui/collection_editor/properties/MarkdownPropertyField.tsx +9 -2
  97. package/src/collection_editor/ui/collection_editor/properties/RelationPropertyField.tsx +37 -57
  98. package/src/collection_editor/ui/collection_editor/properties/StoragePropertyField.tsx +11 -2
  99. package/src/collection_editor/ui/collection_editor/properties/VectorPropertyField.tsx +34 -0
  100. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsEditor.tsx +15 -7
  101. package/src/collection_editor/ui/collection_editor/properties/conditions/ConditionsPanel.tsx +1 -2
  102. package/src/collection_editor/ui/collection_editor/properties/conditions/EnumConditionsEditor.tsx +15 -3
  103. package/src/collection_editor/ui/collection_editor/properties/conditions/property_paths.ts +1 -1
  104. package/src/collection_editor/ui/collection_editor/properties/validation/ValidationPanel.tsx +1 -2
  105. package/src/collection_editor/useLocalCollectionsConfigController.tsx +0 -2
  106. package/src/collection_editor/validateCollectionJson.ts +97 -10
  107. package/src/components/AdminModeSyncer.tsx +1 -1
  108. package/src/components/ArrayContainer.tsx +19 -15
  109. package/src/components/ClearFilterSortButton.tsx +1 -2
  110. package/src/components/CollectionEditorDialogs.tsx +1 -1
  111. package/src/components/DefaultAppBar.tsx +15 -3
  112. package/src/components/DefaultDrawer.tsx +3 -3
  113. package/src/components/DrawerNavigationGroup.tsx +1 -2
  114. package/src/components/EntityCollectionTable/EntityCollectionRowActions.tsx +14 -6
  115. package/src/components/EntityCollectionTable/EntityCollectionTable.tsx +1 -1
  116. package/src/components/EntityCollectionTable/EntityCollectionTableProps.tsx +1 -1
  117. package/src/components/EntityCollectionTable/fields/TableMultipleRelationField.tsx +1 -2
  118. package/src/components/EntityCollectionTable/fields/TableReferenceField.tsx +1 -2
  119. package/src/components/EntityCollectionTable/fields/TableRelationField.tsx +1 -2
  120. package/src/components/EntityCollectionTable/fields/TableStorageUpload.tsx +1 -2
  121. package/src/components/EntityCollectionTable/fields/VirtualTableSelect.tsx +0 -1
  122. package/src/components/EntityCollectionTable/internal/CollectionTableToolbar.tsx +15 -27
  123. package/src/components/EntityCollectionTable/internal/EntityTableCell.tsx +1 -2
  124. package/src/components/EntityCollectionTable/internal/EntityTableCellActions.tsx +1 -2
  125. package/src/components/EntityCollectionTable/internal/popup_field/PopupFormField.tsx +3 -5
  126. package/src/components/EntityCollectionTable/table_bindings.tsx +51 -45
  127. package/src/components/EntityCollectionView/Board.tsx +1 -2
  128. package/src/components/EntityCollectionView/BoardColumn.tsx +9 -2
  129. package/src/components/EntityCollectionView/BoardColumnTitle.tsx +5 -4
  130. package/src/components/EntityCollectionView/EntityCollectionBoardView.tsx +18 -16
  131. package/src/components/EntityCollectionView/EntityCollectionCardView.tsx +16 -17
  132. package/src/components/EntityCollectionView/EntityCollectionListView.tsx +87 -18
  133. package/src/components/EntityCollectionView/EntityCollectionView.tsx +20 -11
  134. package/src/components/EntityCollectionView/EntityCollectionViewActions.tsx +6 -7
  135. package/src/components/EntityCollectionView/EntityCollectionViewStartActions.tsx +14 -5
  136. package/src/components/EntityCollectionView/FilterPresetsButton.tsx +292 -0
  137. package/src/components/EntityCollectionView/FiltersDialog.tsx +1 -2
  138. package/src/components/EntityCollectionView/SplitListView.tsx +76 -25
  139. package/src/components/EntityCollectionView/ViewModeToggle.tsx +20 -7
  140. package/src/components/EntityCollectionView/hooks/useKanbanDragAndDrop.ts +1 -1
  141. package/src/components/EntityCollectionView/useBoardDataController.tsx +74 -6
  142. package/src/components/EntityCollectionView/useEntityPreviewSlots.ts +1 -1
  143. package/src/components/EntityDetailView.tsx +619 -0
  144. package/src/components/EntityEditView.tsx +29 -10
  145. package/src/components/EntityEditViewFormActions.tsx +20 -7
  146. package/src/components/EntityPreview.tsx +14 -5
  147. package/src/components/EntitySidePanel.tsx +116 -62
  148. package/src/components/EntityView.tsx +1 -2
  149. package/src/components/HomePage/ContentHomePage.tsx +1 -1
  150. package/src/components/HomePage/FavouritesView.tsx +1 -2
  151. package/src/components/HomePage/NavigationCard.tsx +1 -2
  152. package/src/components/HomePage/NavigationCardBinding.tsx +1 -2
  153. package/src/components/HomePage/NavigationGroup.tsx +1 -2
  154. package/src/components/HomePage/SmallNavigationCard.tsx +1 -2
  155. package/src/components/PropertyIdCopyTooltip.tsx +1 -2
  156. package/src/components/RebaseAuthGate.tsx +2 -2
  157. package/src/components/RebaseNavigation.tsx +9 -7
  158. package/src/components/ReferenceTable/EntitySelectionTable.tsx +12 -8
  159. package/src/components/RelationSelector.tsx +34 -6
  160. package/src/components/SearchIconsView.tsx +10 -2
  161. package/src/components/SelectableTable/SelectableTable.tsx +2 -2
  162. package/src/components/SelectableTable/filters/StringNumberFilterField.tsx +1 -2
  163. package/src/components/SideDialogs.tsx +63 -38
  164. package/src/components/UserSelector.tsx +30 -6
  165. package/src/components/admin/CreationResultDialog.tsx +135 -0
  166. package/src/components/admin/RolesFilterSelect.tsx +45 -0
  167. package/src/components/admin/RolesView.tsx +53 -14
  168. package/src/components/admin/UserRolesSelectField.tsx +50 -0
  169. package/src/components/admin/UsersView.tsx +41 -124
  170. package/src/components/app/Scaffold.tsx +1 -2
  171. package/src/components/common/default_entity_actions.tsx +119 -12
  172. package/src/components/field_configs.tsx +39 -3
  173. package/src/components/history/EntityHistoryEntry.tsx +1 -2
  174. package/src/components/history/EntityHistoryView.tsx +1 -2
  175. package/src/components/index.ts +2 -0
  176. package/src/data_export/export/BasicExportAction.tsx +35 -38
  177. package/src/data_export/export/ExportCollectionAction.tsx +39 -40
  178. package/src/data_import/components/DataNewPropertiesMapping.tsx +15 -2
  179. package/src/data_import/components/ImportFileUpload.tsx +1 -2
  180. package/src/data_import/components/ImportNewPropertyFieldPreview.tsx +1 -2
  181. package/src/data_import/import/ImportCollectionAction.tsx +21 -8
  182. package/src/data_import/utils/data.ts +23 -5
  183. package/src/data_import/utils/file_headers.ts +13 -89
  184. package/src/data_import/utils/file_to_json.ts +43 -68
  185. package/src/data_import/utils/transforms.ts +47 -0
  186. package/src/editor/components/SlashCommandMenu.tsx +17 -2
  187. package/src/editor/components/editor-bubble-item.tsx +1 -1
  188. package/src/editor/extensions/Image/index.ts +1 -1
  189. package/src/editor/extensions/Image.ts +1 -1
  190. package/src/editor/selectors/color-selector.tsx +1 -2
  191. package/src/editor/selectors/link-selector.tsx +1 -2
  192. package/src/editor/selectors/node-selector.tsx +16 -2
  193. package/src/editor/selectors/text-buttons.tsx +1 -2
  194. package/src/editor/utils/prosemirror-utils.ts +1 -1
  195. package/src/form/EntityForm.tsx +16 -6
  196. package/src/form/EntityFormActions.tsx +11 -3
  197. package/src/form/PropertyFieldBinding.tsx +5 -12
  198. package/src/form/components/FieldHelperText.tsx +1 -2
  199. package/src/form/components/LocalChangesMenu.tsx +17 -2
  200. package/src/form/components/StorageItemPreview.tsx +1 -2
  201. package/src/form/field_bindings/ArrayOfReferencesFieldBinding.tsx +1 -2
  202. package/src/form/field_bindings/KeyValueFieldBinding.tsx +17 -2
  203. package/src/form/field_bindings/MapFieldBinding.tsx +1 -1
  204. package/src/form/field_bindings/MarkdownEditorFieldBinding.tsx +10 -3
  205. package/src/form/field_bindings/MultiSelectFieldBinding.tsx +1 -2
  206. package/src/form/field_bindings/MultipleRelationFieldBinding.tsx +1 -2
  207. package/src/form/field_bindings/ReferenceAsStringFieldBinding.tsx +7 -7
  208. package/src/form/field_bindings/RelationFieldBinding.tsx +150 -147
  209. package/src/form/field_bindings/RepeatFieldBinding.tsx +1 -1
  210. package/src/form/field_bindings/SelectFieldBinding.tsx +1 -2
  211. package/src/form/field_bindings/TextFieldBinding.tsx +10 -2
  212. package/src/form/field_bindings/VectorFieldBinding.tsx +202 -0
  213. package/src/form/index.tsx +1 -0
  214. package/src/form/validation.ts +54 -2
  215. package/src/hooks/navigation/useBuildNavigationStateController.tsx +2 -1
  216. package/src/hooks/navigation/useResolvedViews.tsx +30 -15
  217. package/src/hooks/navigation/useTopLevelNavigation.ts +1 -1
  218. package/src/index.ts +6 -0
  219. package/src/preview/PropertyPreview.tsx +1 -1
  220. package/src/preview/components/ImagePreview.tsx +1 -1
  221. package/src/preview/components/UrlComponentPreview.tsx +1 -2
  222. package/src/preview/property_previews/ArrayOfMapsPreview.tsx +2 -2
  223. package/src/preview/property_previews/SkeletonPropertyComponent.tsx +23 -24
  224. package/src/routes/RebaseRoute.tsx +64 -35
  225. package/src/types/components/EntityFormActionsProps.tsx +1 -1
  226. package/src/types/components/EntityFormProps.tsx +3 -1
  227. package/src/types/fields.tsx +4 -3
  228. package/src/util/navigation_utils.ts +4 -3
  229. package/src/util/previews.ts +1 -1
  230. package/src/util/property_utils.tsx +22 -6
  231. package/src/util/resolutions.ts +2 -2
  232. package/dist/CollectionEditorDialog-ywdxhs1L.js.map +0 -1
  233. package/dist/CollectionsStudioView-BDzMFzqH.js.map +0 -1
  234. package/dist/ContentHomePage-0tHuEIm_.js.map +0 -1
  235. package/dist/ExportCollectionAction-BIrq92To.js.map +0 -1
  236. package/dist/ImportCollectionAction-h8yg_To8.js.map +0 -1
  237. package/dist/PropertyEditView-BuZrNnBN.js.map +0 -1
  238. package/dist/RolesView-CMPsaIXo.js.map +0 -1
  239. package/dist/UsersView-BkeblMVT.js.map +0 -1
  240. package/dist/index-BuZaHcyc.js.map +0 -1
  241. package/dist/index-CS6uJ7oW.js.map +0 -1
  242. package/dist/index-eRJbMvHi.js.map +0 -1
  243. package/dist/util-zfU1zOCX.js.map +0 -1
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@rebasepro/admin",
3
3
  "type": "module",
4
- "version": "0.1.2",
4
+ "version": "0.2.3",
5
5
  "description": "Rebase CMS — content management views, forms, and routing",
6
6
  "funding": {
7
7
  "url": "https://github.com/sponsors/rebaseco"
@@ -34,12 +34,17 @@
34
34
  "exports": {
35
35
  ".": {
36
36
  "types": "./dist/index.d.ts",
37
- "development": "./src/index.ts",
37
+ "development": "./dist/index.js",
38
38
  "import": "./dist/index.js"
39
39
  },
40
+ "./editor": {
41
+ "types": "./dist/editor.d.ts",
42
+ "development": "./dist/editor.js",
43
+ "import": "./dist/editor.js"
44
+ },
40
45
  "./collection_editor_ui": {
41
46
  "types": "./dist/collection_editor_ui.d.ts",
42
- "development": "./src/collection_editor_ui.ts",
47
+ "development": "./dist/collection_editor_ui.js",
43
48
  "import": "./dist/collection_editor_ui.js"
44
49
  },
45
50
  "./package.json": "./package.json"
@@ -48,42 +53,44 @@
48
53
  "@dnd-kit/core": "^6.3.1",
49
54
  "@dnd-kit/modifiers": "^9.0.0",
50
55
  "@dnd-kit/sortable": "^10.0.0",
51
- "@floating-ui/dom": "^1.7.4",
52
- "@radix-ui/react-portal": "^1.1.10",
53
- "@radix-ui/react-slot": "^1.2.4",
56
+ "@dnd-kit/utilities": "^3.2.2",
57
+ "@floating-ui/dom": "^1.7.6",
58
+ "cmdk": "^1.1.1",
54
59
  "date-fns": "^3.6.0",
60
+ "exceljs": "^4.4.0",
55
61
  "fast-equals": "6.0.0",
56
62
  "fractional-indexing": "3.2.0",
63
+ "fuse.js": "^7.3.0",
57
64
  "json5": "^2.2.3",
58
- "markdown-it": "^14.1.0",
65
+ "markdown-it": "^14.1.1",
59
66
  "markdown-it-ins": "^4.0.0",
60
67
  "markdown-it-mark": "^4.0.0",
61
68
  "markdown-it-task-lists": "^2.1.1",
62
69
  "prism-react-renderer": "^2.4.1",
63
- "prosemirror-commands": "^1.6.0",
64
- "prosemirror-dropcursor": "^1.8.1",
65
- "prosemirror-gapcursor": "^1.3.2",
66
- "prosemirror-history": "^1.4.1",
70
+ "prosemirror-commands": "^1.7.1",
71
+ "prosemirror-dropcursor": "^1.8.2",
72
+ "prosemirror-gapcursor": "^1.4.1",
73
+ "prosemirror-history": "^1.5.0",
67
74
  "prosemirror-inputrules": "^1.5.1",
68
- "prosemirror-keymap": "^1.2.2",
69
- "prosemirror-markdown": "^1.13.0",
70
- "prosemirror-model": "^1.22.3",
71
- "prosemirror-schema-list": "^1.4.1",
72
- "prosemirror-state": "^1.4.3",
75
+ "prosemirror-keymap": "^1.2.3",
76
+ "prosemirror-markdown": "^1.13.4",
77
+ "prosemirror-model": "^1.25.7",
78
+ "prosemirror-schema-list": "^1.5.1",
79
+ "prosemirror-state": "^1.4.4",
73
80
  "prosemirror-tables": "^1.8.5",
74
- "prosemirror-transform": "^1.10.0",
75
- "prosemirror-view": "^1.33.8",
76
- "react-dropzone": "^14.3.8",
81
+ "prosemirror-transform": "^1.12.0",
82
+ "prosemirror-view": "^1.41.8",
83
+ "react-compiler-runtime": "1.0.0",
84
+ "react-dropzone": "^14.4.1",
77
85
  "react-use-measure": "^2.1.7",
78
- "xlsx": "https://cdn.sheetjs.com/xlsx-0.20.2/xlsx-0.20.2.tgz",
79
- "zod": "^3.25.0",
80
- "@rebasepro/common": "0.1.2",
81
- "@rebasepro/core": "0.1.2",
82
- "@rebasepro/formex": "0.1.2",
83
- "@rebasepro/schema-inference": "0.1.2",
84
- "@rebasepro/types": "0.1.2",
85
- "@rebasepro/ui": "0.1.2",
86
- "@rebasepro/utils": "0.1.2"
86
+ "zod": "^3.25.76",
87
+ "@rebasepro/common": "0.2.3",
88
+ "@rebasepro/formex": "0.2.3",
89
+ "@rebasepro/core": "0.2.3",
90
+ "@rebasepro/schema-inference": "0.2.3",
91
+ "@rebasepro/ui": "0.2.3",
92
+ "@rebasepro/utils": "0.2.3",
93
+ "@rebasepro/types": "0.2.3"
87
94
  },
88
95
  "peerDependencies": {
89
96
  "react": ">=19.0.0",
@@ -92,21 +99,21 @@
92
99
  "react-router-dom": "^7.0.0"
93
100
  },
94
101
  "devDependencies": {
95
- "@jest/globals": "^30.2.0",
96
- "@testing-library/react": "^16.3.0",
102
+ "@jest/globals": "^30.4.1",
103
+ "@testing-library/react": "^16.3.2",
97
104
  "@types/jest": "^29.5.14",
98
- "@types/node": "^20.19.17",
99
- "@types/react": "^19.0.8",
100
- "@types/react-dom": "^19.0.3",
105
+ "@types/markdown-it": "^14.1.2",
106
+ "@types/node": "^20.19.41",
107
+ "@types/react": "^19.2.15",
108
+ "@types/react-dom": "^19.2.3",
101
109
  "@types/react-measure": "^2.0.12",
102
- "@vitejs/plugin-react": "^4.3.4",
103
- "eslint-plugin-react-compiler": "^19.1.0-rc.2",
110
+ "@vitejs/plugin-react": "^4.7.0",
104
111
  "jest": "^29.7.0",
105
- "react-router": "^7.0.0",
106
- "react-router-dom": "^7.0.0",
107
- "ts-jest": "^29.4.5",
112
+ "react-router": "^7.15.1",
113
+ "react-router-dom": "^7.15.1",
114
+ "ts-jest": "^29.4.10",
108
115
  "typescript": "^5.9.3",
109
- "vite": "^7.2.4"
116
+ "vite": "^7.3.3"
110
117
  },
111
118
  "files": [
112
119
  "dist",
@@ -6,7 +6,7 @@ import { deepEqual as equal } from "fast-equals";
6
6
  import { CollectionsConfigController } from "./types/config_controller";
7
7
  import { useCustomizationController, useRebaseContext, useAuthController, useSnackbarController } from "@rebasepro/core";
8
8
  import { getTableName } from "@rebasepro/common";
9
- import { useNavigate } from "react-router";
9
+ import { useNavigate } from "react-router-dom";
10
10
  import { CollectionEditorController } from "./types/collection_editor_controller";
11
11
  import { CollectionEditorPermissionsBuilder } from "./types/config_permissions";
12
12
  import { CollectionInference } from "./types/collection_inference";
@@ -8,8 +8,18 @@ import {
8
8
  import { getPropertyInPath } from "../_cms_internals";
9
9
  import { EntityCollection, EnumValueConfig, StringProperty } from "@rebasepro/types";
10
10
  import { resolveEnumValues } from "@rebasepro/common";
11
- import { Button, cls, defaultBorderMixin, Dialog, DialogActions, DialogContent, IconButton, TextField, Typography } from "@rebasepro/ui";
12
- import { PlusIcon } from "lucide-react";
11
+ import {
12
+ Button,
13
+ cls,
14
+ defaultBorderMixin,
15
+ Dialog,
16
+ DialogActions,
17
+ DialogContent,
18
+ IconButton,
19
+ PlusIcon,
20
+ TextField,
21
+ Typography
22
+ } from "@rebasepro/ui";
13
23
  import { useCollectionsConfigController } from "../useCollectionsConfigController";
14
24
  import { toSnakeCase } from "@rebasepro/utils";
15
25
 
@@ -1,7 +1,6 @@
1
1
  import { useTranslation } from "@rebasepro/core";
2
2
  import { EntityCollection, EntityTableController, Property } from "@rebasepro/types";
3
- import { IconButton, Tooltip } from "@rebasepro/ui";
4
- import { SettingsIcon } from "lucide-react";
3
+ import { IconButton, SettingsIcon, Tooltip } from "@rebasepro/ui";
5
4
  import React from "react";
6
5
  import { useCollectionEditorController } from "../useCollectionEditorController";
7
6
 
@@ -1,8 +1,7 @@
1
1
  import { useCollectionRegistryController } from "../_cms_internals";
2
2
  import { useAuthController, useTranslation } from "@rebasepro/core";
3
3
  import { EntityCollection, CollectionActionsProps } from "@rebasepro/types";
4
- import { IconButton, Tooltip } from "@rebasepro/ui";
5
- import { SettingsIcon } from "lucide-react";
4
+ import { IconButton, SettingsIcon, Tooltip } from "@rebasepro/ui";
6
5
 
7
6
  import { useCollectionEditorController } from "../useCollectionEditorController";
8
7
 
@@ -6,8 +6,7 @@ import {
6
6
  useTranslation
7
7
  } from "@rebasepro/core";
8
8
  import { EntityCollection, CollectionActionsProps } from "@rebasepro/types";
9
- import { Button, Tooltip } from "@rebasepro/ui";
10
- import { SaveIcon, UndoIcon } from "lucide-react";
9
+ import { Button, SaveIcon, Tooltip, UndoIcon } from "@rebasepro/ui";
11
10
 
12
11
  import { useCollectionEditorController } from "../useCollectionEditorController";
13
12
  import { useCollectionsConfigController } from "../useCollectionsConfigController";
@@ -1,8 +1,7 @@
1
1
  import { useCollectionRegistryController } from "../_cms_internals";
2
2
  import { useAuthController, useTranslation } from "@rebasepro/core";
3
3
  import { EntityCollection, PluginFormActionProps } from "@rebasepro/types";
4
- import { IconButton, Tooltip } from "@rebasepro/ui";
5
- import { SettingsIcon } from "lucide-react";
4
+ import { IconButton, SettingsIcon, Tooltip } from "@rebasepro/ui";
6
5
 
7
6
  import { useCollectionEditorController } from "../useCollectionEditorController";
8
7
 
@@ -5,8 +5,7 @@ import {
5
5
  useTranslation
6
6
  } from "@rebasepro/core";
7
7
  import { PluginHomePageActionsProps } from "@rebasepro/types";
8
- import { IconButton, Menu, MenuItem } from "@rebasepro/ui";
9
- import { CopyIcon, MoreVerticalIcon, SettingsIcon, Trash2Icon } from "lucide-react";
8
+ import { CopyIcon, IconButton, Menu, MenuItem, MoreVerticalIcon, SettingsIcon, Trash2Icon } from "@rebasepro/ui";
10
9
  import { useCollectionEditorController } from "../useCollectionEditorController";
11
10
  import { useState } from "react";
12
11
  import { useCollectionsConfigController } from "../useCollectionsConfigController";
@@ -1,5 +1,4 @@
1
- import { Button } from "@rebasepro/ui";
2
- import { PlusIcon } from "lucide-react";
1
+ import { Button, PlusIcon } from "@rebasepro/ui";
3
2
  import { useCollectionEditorController } from "../useCollectionEditorController";
4
3
  import { useAdminModeController, useTranslation } from "@rebasepro/core";
5
4
 
@@ -3,8 +3,7 @@ import {
3
3
  useTranslation
4
4
  } from "@rebasepro/core";
5
5
  import { PluginHomePageAdditionalCardsProps } from "@rebasepro/types";
6
- import { Card, cls, Typography } from "@rebasepro/ui";
7
- import { PlusIcon } from "lucide-react";
6
+ import { Card, cls, PlusIcon, Typography } from "@rebasepro/ui";
8
7
  import { useCollectionEditorController } from "../useCollectionEditorController";
9
8
 
10
9
  export function NewCollectionCard({
@@ -12,13 +11,12 @@ export function NewCollectionCard({
12
11
  context
13
12
  }: PluginHomePageAdditionalCardsProps) {
14
13
 
15
- if (!context.navigationStateController?.topLevelNavigation)
16
- return null;
17
-
18
14
  const authController = useAuthController();
19
-
20
15
  const collectionEditorController = useCollectionEditorController();
21
16
  const { t } = useTranslation();
17
+
18
+ if (!context.navigationStateController?.topLevelNavigation)
19
+ return null;
22
20
  const canCreateCollections = collectionEditorController.configPermissions
23
21
  ? collectionEditorController.configPermissions({
24
22
  user: authController.user
@@ -4,8 +4,7 @@ import {
4
4
  } from "@rebasepro/core";
5
5
  import { getDefaultPropertiesOrder } from "../_cms_internals";
6
6
  import { EntityCollection, EntityTableController } from "@rebasepro/types";
7
- import { Tooltip } from "@rebasepro/ui";
8
- import { PlusIcon } from "lucide-react";
7
+ import { PlusIcon, Tooltip } from "@rebasepro/ui";
9
8
  import { useCollectionEditorController } from "../useCollectionEditorController";
10
9
 
11
10
  export function PropertyAddColumnComponent({
@@ -4,8 +4,16 @@ import { useCollectionRegistryController } from "../../_cms_internals";
4
4
  import React, { useState } from "react";
5
5
  import { useSnackbarController } from "@rebasepro/core";
6
6
  import { EntityCollection } from "@rebasepro/types";
7
- import { Button, CircularProgress, IconButton, Menu, TextField, Tooltip, Typography } from "@rebasepro/ui";
8
- import { SendIcon } from "lucide-react";
7
+ import {
8
+ Button,
9
+ CircularProgress,
10
+ IconButton,
11
+ Menu,
12
+ SendIcon,
13
+ TextField,
14
+ Tooltip,
15
+ Typography
16
+ } from "@rebasepro/ui";
9
17
  import {
10
18
  CollectionGenerationCallback,
11
19
  CollectionGenerationApiError,
@@ -5,8 +5,24 @@ import React, { useMemo, useState } from "react";
5
5
  import { useAuthController, useCustomizationController } from "@rebasepro/core";
6
6
  import { getFieldConfig, PropertyConfigBadge, SearchIconsView } from "../../_cms_internals";
7
7
  import { EntityCollection, Property } from "@rebasepro/types";
8
- import { BooleanSwitchWithLabel, Chip, cls, Container, DebouncedTextField, Dialog, IconButton, Select, SelectItem, TextField, Tooltip, Typography, Button, iconSize } from "@rebasepro/ui";
9
- import { XIcon, HistoryIcon } from "lucide-react";
8
+ import {
9
+ BooleanSwitchWithLabel,
10
+ Button,
11
+ Chip,
12
+ cls,
13
+ Container,
14
+ DebouncedTextField,
15
+ Dialog,
16
+ HistoryIcon,
17
+ IconButton,
18
+ iconSize,
19
+ Select,
20
+ SelectItem,
21
+ TextField,
22
+ Tooltip,
23
+ Typography,
24
+ XIcon
25
+ } from "@rebasepro/ui";
10
26
 
11
27
  import { Field, getIn, useFormex } from "@rebasepro/formex";
12
28
  import { useCollectionEditorController } from "../../useCollectionEditorController";
@@ -5,16 +5,30 @@ import * as React from "react";
5
5
  import { useEffect, useRef, useState } from "react";
6
6
  import { ConfirmationDialog, ErrorView, useAuthController, useCustomizationController, useSnackbarController } from "@rebasepro/core";
7
7
  import { CircularProgressCenter } from "@rebasepro/ui";
8
- import { ArrowLeftIcon, CheckIcon } from "lucide-react";
8
+ import {
9
+ ArrowLeftIcon,
10
+ Button,
11
+ CheckIcon,
12
+ cls,
13
+ coolIconKeys,
14
+ defaultBorderMixin,
15
+ Dialog,
16
+ DialogActions,
17
+ DialogContent,
18
+ DialogTitle,
19
+ IconButton,
20
+ LoadingButton,
21
+ Tab,
22
+ Tabs,
23
+ Typography
24
+ } from "@rebasepro/ui";
9
25
  import { Entity, EntityCollection, MapProperty, Properties, Property, PropertyConfig, User, getDataSourceCapabilities } from "@rebasepro/types";
10
26
  import type { PostgresCollection } from "@rebasepro/types";
11
27
  import { getSubcollections, isPropertyBuilder, removeInitialAndTrailingSlashes, getTableName } from "@rebasepro/common";
12
- import { Button, cls, coolIconKeys, defaultBorderMixin, Dialog, DialogActions, DialogContent, DialogTitle, IconButton, LoadingButton, Tab, Tabs, Typography } from "@rebasepro/ui";
13
28
  import { CollectionEditorSchema } from "./CollectionYupValidation";
14
29
  import { GeneralSettingsForm } from "./GeneralSettingsForm";
15
30
  import { DisplaySettingsForm } from "./DisplaySettingsForm";
16
31
  import { CollectionPropertiesEditorForm } from "./CollectionPropertiesEditorForm";
17
- import { CollectionRelationsTab } from "./CollectionRelationsTab";
18
32
  import { CollectionsConfigController } from "../../types/config_controller";
19
33
  import { CollectionEditorWelcomeView } from "./CollectionEditorWelcomeView";
20
34
  import { CollectionInference } from "../../types/collection_inference";
@@ -148,7 +162,6 @@ type EditorView = "welcome"
148
162
  | "properties"
149
163
  | "loading"
150
164
  | "extra_view"
151
- | "relations"
152
165
  | "rls";
153
166
 
154
167
  export function CollectionEditor(props: CollectionEditorDialogProps & {
@@ -418,7 +431,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
418
431
  if (success) {
419
432
  aiModifiedPaths?.clearAllPaths();
420
433
  formexController.resetForm({ values: newCollectionState });
421
- handleClose(newCollectionState as unknown as EntityCollection);
434
+ handleClose(newCollectionState as EntityCollection);
422
435
  }
423
436
  return;
424
437
  }
@@ -456,7 +469,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
456
469
  if (success) {
457
470
  formexController.resetForm({ values: initialValues });
458
471
  setNextMode();
459
- handleClose(newCollectionState as unknown as EntityCollection);
472
+ handleClose(newCollectionState as EntityCollection);
460
473
  }
461
474
  } else {
462
475
  setNextMode();
@@ -475,7 +488,7 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
475
488
  const validation = (col: EntityCollection<M>) => {
476
489
 
477
490
  let errors: Record<string, string> = {};
478
- const schema = (currentView === "properties" || currentView === "relations" || currentView === "general") && CollectionEditorSchema;
491
+ const schema = (currentView === "properties" || currentView === "general") && CollectionEditorSchema;
479
492
  if (schema) {
480
493
  const result = schema.safeParse(col);
481
494
  if (!result.success) {
@@ -548,8 +561,8 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
548
561
  function onImportDataSet(data: object[], propertiesOrder?: string[]) {
549
562
  importConfig.setInUse(true);
550
563
  buildEntityPropertiesFromData(data, getInferenceType)
551
- .then((properties: Record<string, unknown>) => {
552
- const res = cleanPropertiesFromImport(properties as unknown as Properties);
564
+ .then((properties: any) => {
565
+ const res = cleanPropertiesFromImport(properties as Properties);
553
566
 
554
567
  importConfig.setIdColumn(res.idColumn);
555
568
  importConfig.setImportData(data);
@@ -629,9 +642,6 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
629
642
  {getDataSourceCapabilities(values.driver).supportsRLS && <Tab value={"rls"}>
630
643
  RLS
631
644
  </Tab>}
632
- {getDataSourceCapabilities(values.driver).supportsRelations && <Tab value={"relations"}>
633
- Relations
634
- </Tab>}
635
645
  </Tabs>
636
646
  </div>
637
647
  <div className="flex items-center gap-4">
@@ -737,10 +747,6 @@ function CollectionEditorInternal<M extends Record<string, unknown>>({
737
747
  <DisplaySettingsForm expandKanban={expandKanban}/>
738
748
  }
739
749
 
740
- {currentView === "relations" && getDataSourceCapabilities(values.driver).supportsRelations &&
741
- <CollectionRelationsTab/>
742
- }
743
-
744
750
  {currentView === "rls" && getDataSourceCapabilities(values.driver).supportsRLS &&
745
751
  <CollectionRLSTab/>
746
752
  }
@@ -914,7 +920,7 @@ function applyPropertiesConfig(property: Property, propertyConfigs: Record<strin
914
920
  if (propertyConfigs && internalProperty && typeof internalProperty === "object" && internalProperty.propertyConfig) {
915
921
  const propertyConfig = propertyConfigs[internalProperty.propertyConfig];
916
922
  if (propertyConfig && isPropertyBuilder(propertyConfig.property as Property)) {
917
- internalProperty = propertyConfig.property as unknown as Property;
923
+ internalProperty = propertyConfig.property as Property;
918
924
  } else {
919
925
 
920
926
  if (propertyConfig) {
@@ -3,8 +3,22 @@ import { AIIcon } from "@rebasepro/core";
3
3
  import React, { useState } from "react";
4
4
  ;
5
5
  import { EntityCollection } from "@rebasepro/types";
6
- import { Button, Card, Chip, cls, Container, Tooltip, Typography , iconSize } from "@rebasepro/ui";
7
- import { CodeIcon, TableIcon, ShoppingCartIcon, UserIcon, FileTextIcon, FileIcon } from "lucide-react";
6
+ import {
7
+ Button,
8
+ Card,
9
+ Chip,
10
+ cls,
11
+ CodeIcon,
12
+ Container,
13
+ FileIcon,
14
+ FileTextIcon,
15
+ iconSize,
16
+ ShoppingCartIcon,
17
+ TableIcon,
18
+ Tooltip,
19
+ Typography,
20
+ UserIcon
21
+ } from "@rebasepro/ui";
8
22
  import { CollectionJsonImportDialog } from "./CollectionJsonImportDialog";
9
23
 
10
24
  import { productsCollectionTemplate } from "./templates/products_template";
@@ -1,7 +1,17 @@
1
1
 
2
2
  import React, { useCallback, useState } from "react";
3
- import { Button, cls, Dialog, DialogActions, DialogContent, DialogTitle, Typography , iconSize } from "@rebasepro/ui";
4
- import { CodeIcon } from "lucide-react";
3
+ import {
4
+ Alert,
5
+ Button,
6
+ cls,
7
+ CodeIcon,
8
+ Dialog,
9
+ DialogActions,
10
+ DialogContent,
11
+ DialogTitle,
12
+ iconSize,
13
+ Typography
14
+ } from "@rebasepro/ui";
5
15
  import { EntityCollection } from "@rebasepro/types";
6
16
  import { validateCollectionJson, CollectionValidationError } from "../../validateCollectionJson";
7
17
 
@@ -112,13 +122,13 @@ export function CollectionJsonImportDialog({
112
122
  />
113
123
 
114
124
  {errors.length > 0 && touched && (
115
- <div className="p-3 bg-red-50 dark:bg-red-900/20 rounded-md border border-red-200 dark:border-red-800">
116
- <Typography variant="body2" className="font-medium text-red-700 dark:text-red-400 mb-2">
125
+ <Alert color="error">
126
+ <Typography variant="body2" className="font-medium mb-2">
117
127
  Validation errors:
118
128
  </Typography>
119
129
  <ul className="list-disc list-inside space-y-1">
120
130
  {errors.map((error, index) => (
121
- <li key={index} className="text-sm text-red-600 dark:text-red-400">
131
+ <li key={index} className="text-sm">
122
132
  {error.path ? (
123
133
  <>
124
134
  <code className="bg-red-100 dark:bg-red-900/40 px-1 rounded">
@@ -132,15 +142,15 @@ export function CollectionJsonImportDialog({
132
142
  </li>
133
143
  ))}
134
144
  </ul>
135
- </div>
145
+ </Alert>
136
146
  )}
137
147
 
138
148
  {isValid && (
139
- <div className="p-3 bg-green-50 dark:bg-green-900/20 rounded-md border border-green-200 dark:border-green-800">
140
- <Typography variant="body2" className="text-green-700 dark:text-green-400">
149
+ <Alert color="success">
150
+ <Typography variant="body2">
141
151
  ✓ JSON is valid and ready to import
142
152
  </Typography>
143
- </div>
153
+ </Alert>
144
154
  )}
145
155
  </DialogContent>
146
156
  <DialogActions>
@@ -7,10 +7,21 @@ import {
7
7
  useSnackbarController
8
8
  } from "@rebasepro/core";
9
9
  import { ErrorBoundary } from "@rebasepro/ui";
10
- import { PlusIcon, CodeIcon, FileSearchIcon } from "lucide-react";
10
+ import {
11
+ Button,
12
+ CircularProgress,
13
+ cls,
14
+ CodeIcon,
15
+ DebouncedTextField,
16
+ defaultBorderMixin,
17
+ FileSearchIcon,
18
+ IconButton,
19
+ PlusIcon,
20
+ Tooltip,
21
+ Typography
22
+ } from "@rebasepro/ui";
11
23
  import { EntityCollection, MapProperty, Properties, Property, PropertyConfig, User } from "@rebasepro/types";
12
24
  import { isPropertyBuilder } from "@rebasepro/common";
13
- import { Button, CircularProgress, cls, DebouncedTextField, defaultBorderMixin, IconButton, Tooltip, Typography } from "@rebasepro/ui";
14
25
 
15
26
  import { getFullId, idToPropertiesPath, namespaceToPropertiesOrderPath } from "./util";
16
27
  import { OnPropertyChangedParams, PropertyForm, PropertyFormDialog } from "./PropertyEditView";
@@ -13,8 +13,30 @@ function sanitizeSqlIdentifier(name: string): string {
13
13
  }
14
14
  return `"${name}"`;
15
15
  }
16
- import { Button, IconButton, Typography, cls, defaultBorderMixin, Chip, Paper, Container, Tooltip, CircularProgress, Dialog, DialogTitle, DialogContent, DialogActions, TextField, Select, SelectItem, MultiSelect, MultiSelectItem , iconSize } from "@rebasepro/ui";
17
- import { KeyIcon, Trash2Icon } from "lucide-react";
16
+ import {
17
+ Button,
18
+ Chip,
19
+ CircularProgress,
20
+ cls,
21
+ Container,
22
+ defaultBorderMixin,
23
+ Dialog,
24
+ DialogActions,
25
+ DialogContent,
26
+ DialogTitle,
27
+ IconButton,
28
+ iconSize,
29
+ KeyIcon,
30
+ MultiSelect,
31
+ MultiSelectItem,
32
+ Paper,
33
+ Select,
34
+ SelectItem,
35
+ TextField,
36
+ Tooltip,
37
+ Trash2Icon,
38
+ Typography
39
+ } from "@rebasepro/ui";
18
40
  import { useFormex } from "@rebasepro/formex";
19
41
  import { useRebaseContext } from "@rebasepro/core";
20
42
 
@@ -1,7 +1,26 @@
1
1
 
2
2
  import React, { useState } from "react";
3
- import { Button, IconButton, Typography, Table, TableHeader, TableCell, TableBody, TableRow, TextField, Select, SelectItem, Container, Dialog, DialogTitle, DialogContent, DialogActions, cls, defaultBorderMixin } from "@rebasepro/ui";
4
- import { Trash2Icon } from "lucide-react";
3
+ import {
4
+ Button,
5
+ cls,
6
+ Container,
7
+ defaultBorderMixin,
8
+ Dialog,
9
+ DialogActions,
10
+ DialogContent,
11
+ DialogTitle,
12
+ IconButton,
13
+ Select,
14
+ SelectItem,
15
+ Table,
16
+ TableBody,
17
+ TableCell,
18
+ TableHeader,
19
+ TableRow,
20
+ TextField,
21
+ Trash2Icon,
22
+ Typography
23
+ } from "@rebasepro/ui";
5
24
  import { useFormex } from "@rebasepro/formex";
6
25
  import { PostgresCollection, Relation } from "@rebasepro/types";
7
26
  import { useCollectionsConfigController } from "../../useCollectionsConfigController";
@@ -148,7 +167,7 @@ relationName: e.target.value } : null)}
148
167
  const targetFn = () => collections?.find(c => c.slug === val) || { slug: val };
149
168
  (targetFn as { slug?: string }).slug = val;
150
169
  return { ...prev,
151
- target: targetFn as unknown as Relation["target"] };
170
+ target: targetFn as Relation["target"] };
152
171
  });
153
172
  }}
154
173
  >
@@ -3,8 +3,7 @@ import { useUnsavedChangesDialog, UnsavedChangesDialog } from "@rebasepro/core";
3
3
  import { useUrlController } from "../../_cms_internals";
4
4
  import * as React from "react";
5
5
  import { useState, useMemo, useEffect } from "react";
6
- import { Typography, Button } from "@rebasepro/ui";
7
- import { PlusIcon } from "lucide-react";
6
+ import { Button, PlusIcon, Typography } from "@rebasepro/ui";
8
7
  import { useSnackbarController } from "@rebasepro/core";
9
8
  import { CollectionEditorDialogProps } from "./CollectionEditorDialog";
10
9
  import { AIModifiedPathsProvider } from "./AIModifiedPathsContext";
@@ -4,8 +4,17 @@ import { IconForView } from "@rebasepro/core";
4
4
  import { useUrlController } from "../../_cms_internals";
5
5
  import React, { useState, useEffect } from "react";
6
6
  import { useLocation, useNavigate } from "react-router-dom";
7
- import { cls, defaultBorderMixin, ResizablePanels, Typography, IconButton, Button , iconSize, Tooltip } from "@rebasepro/ui";
8
- import { PlusIcon } from "lucide-react";
7
+ import {
8
+ Button,
9
+ cls,
10
+ defaultBorderMixin,
11
+ IconButton,
12
+ iconSize,
13
+ PlusIcon,
14
+ ResizablePanels,
15
+ Tooltip,
16
+ Typography
17
+ } from "@rebasepro/ui";
9
18
  ;
10
19
  import { CollectionsConfigController } from "../../types/config_controller";
11
20
  import { CollectionStudioView } from "./CollectionStudioView";