@rebasepro/studio 0.0.1-canary.09e5ec5

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 (361) hide show
  1. package/LICENSE +114 -0
  2. package/README.md +159 -0
  3. package/dist/ApiExplorer-gMJt5JrS.js +1053 -0
  4. package/dist/ApiExplorer-gMJt5JrS.js.map +1 -0
  5. package/dist/AuthSimulationSelector-BF4rkRGp.js +118 -0
  6. package/dist/AuthSimulationSelector-BF4rkRGp.js.map +1 -0
  7. package/dist/BranchesView-DcHZtvXo.js +292 -0
  8. package/dist/BranchesView-DcHZtvXo.js.map +1 -0
  9. package/dist/CronJobsView-CijCToeK.js +456 -0
  10. package/dist/CronJobsView-CijCToeK.js.map +1 -0
  11. package/dist/JSEditor-D8nVp3Lp.js +1308 -0
  12. package/dist/JSEditor-D8nVp3Lp.js.map +1 -0
  13. package/dist/MonacoEditor-CMYEjiRf.js +161 -0
  14. package/dist/MonacoEditor-CMYEjiRf.js.map +1 -0
  15. package/dist/RLSEditor-DBH09u9v.js +1831 -0
  16. package/dist/RLSEditor-DBH09u9v.js.map +1 -0
  17. package/dist/SQLEditor-CkVx9vgr.js +1792 -0
  18. package/dist/SQLEditor-CkVx9vgr.js.map +1 -0
  19. package/dist/SchemaVisualizer-BgD5Zb77.js +1069 -0
  20. package/dist/SchemaVisualizer-BgD5Zb77.js.map +1 -0
  21. package/dist/StorageView-CTqGFhY9.js +907 -0
  22. package/dist/StorageView-CTqGFhY9.js.map +1 -0
  23. package/dist/common/src/collections/CollectionRegistry.d.ts +56 -0
  24. package/dist/common/src/collections/index.d.ts +1 -0
  25. package/dist/common/src/data/buildRebaseData.d.ts +14 -0
  26. package/dist/common/src/index.d.ts +3 -0
  27. package/dist/common/src/util/builders.d.ts +57 -0
  28. package/dist/common/src/util/callbacks.d.ts +6 -0
  29. package/dist/common/src/util/collections.d.ts +11 -0
  30. package/dist/common/src/util/common.d.ts +2 -0
  31. package/dist/common/src/util/conditions.d.ts +26 -0
  32. package/dist/common/src/util/entities.d.ts +58 -0
  33. package/dist/common/src/util/enums.d.ts +3 -0
  34. package/dist/common/src/util/index.d.ts +16 -0
  35. package/dist/common/src/util/navigation_from_path.d.ts +34 -0
  36. package/dist/common/src/util/navigation_utils.d.ts +20 -0
  37. package/dist/common/src/util/parent_references_from_path.d.ts +6 -0
  38. package/dist/common/src/util/paths.d.ts +14 -0
  39. package/dist/common/src/util/permissions.d.ts +5 -0
  40. package/dist/common/src/util/references.d.ts +2 -0
  41. package/dist/common/src/util/relations.d.ts +22 -0
  42. package/dist/common/src/util/resolutions.d.ts +72 -0
  43. package/dist/common/src/util/storage.d.ts +24 -0
  44. package/dist/core/src/components/AIIcon.d.ts +16 -0
  45. package/dist/core/src/components/ConfirmationDialog.d.ts +9 -0
  46. package/dist/core/src/components/Debug/UIReferenceView.d.ts +1 -0
  47. package/dist/core/src/components/Debug/UIStyleGuide.d.ts +1 -0
  48. package/dist/core/src/components/ErrorTooltip.d.ts +2 -0
  49. package/dist/core/src/components/ErrorView.d.ts +21 -0
  50. package/dist/core/src/components/LanguageToggle.d.ts +1 -0
  51. package/dist/core/src/components/LoginView/LoginView.d.ts +68 -0
  52. package/dist/core/src/components/LoginView/index.d.ts +2 -0
  53. package/dist/core/src/components/NotFoundPage.d.ts +1 -0
  54. package/dist/core/src/components/RebaseAuth.d.ts +10 -0
  55. package/dist/core/src/components/RebaseLogo.d.ts +7 -0
  56. package/dist/core/src/components/UnsavedChangesDialog.d.ts +9 -0
  57. package/dist/core/src/components/UserDisplay.d.ts +7 -0
  58. package/dist/core/src/components/UserSelectPopover.d.ts +62 -0
  59. package/dist/core/src/components/UserSettingsView.d.ts +1 -0
  60. package/dist/core/src/components/common/index.d.ts +6 -0
  61. package/dist/core/src/components/common/table_height.d.ts +5 -0
  62. package/dist/core/src/components/common/types.d.ts +63 -0
  63. package/dist/core/src/components/common/useColumnsIds.d.ts +9 -0
  64. package/dist/core/src/components/common/useDataTableController.d.ts +45 -0
  65. package/dist/core/src/components/common/useDebouncedData.d.ts +9 -0
  66. package/dist/core/src/components/common/useScrollRestoration.d.ts +14 -0
  67. package/dist/core/src/components/index.d.ts +16 -0
  68. package/dist/core/src/contexts/AdminModeController.d.ts +4 -0
  69. package/dist/core/src/contexts/AnalyticsContext.d.ts +3 -0
  70. package/dist/core/src/contexts/AuthControllerContext.d.ts +3 -0
  71. package/dist/core/src/contexts/CustomizationControllerContext.d.ts +3 -0
  72. package/dist/core/src/contexts/DataDriverContext.d.ts +3 -0
  73. package/dist/core/src/contexts/DatabaseAdminContext.d.ts +3 -0
  74. package/dist/core/src/contexts/DialogsProvider.d.ts +4 -0
  75. package/dist/core/src/contexts/EffectiveRoleController.d.ts +4 -0
  76. package/dist/core/src/contexts/InternalUserManagementContext.d.ts +3 -0
  77. package/dist/core/src/contexts/ModeController.d.ts +4 -0
  78. package/dist/core/src/contexts/RebaseClientInstanceContext.d.ts +6 -0
  79. package/dist/core/src/contexts/RebaseDataContext.d.ts +3 -0
  80. package/dist/core/src/contexts/SnackbarProvider.d.ts +2 -0
  81. package/dist/core/src/contexts/StorageSourceContext.d.ts +3 -0
  82. package/dist/core/src/contexts/UserConfigurationPersistenceContext.d.ts +3 -0
  83. package/dist/core/src/contexts/index.d.ts +13 -0
  84. package/dist/core/src/core/PluginLifecycleManager.d.ts +17 -0
  85. package/dist/core/src/core/PluginProviderStack.d.ts +21 -0
  86. package/dist/core/src/core/Rebase.d.ts +14 -0
  87. package/dist/core/src/core/RebaseProps.d.ts +136 -0
  88. package/dist/core/src/core/RebaseRouter.d.ts +4 -0
  89. package/dist/core/src/core/RebaseRoutes.d.ts +17 -0
  90. package/dist/core/src/core/index.d.ts +4 -0
  91. package/dist/core/src/hooks/ApiConfigContext.d.ts +24 -0
  92. package/dist/core/src/hooks/data/delete.d.ts +31 -0
  93. package/dist/core/src/hooks/data/save.d.ts +34 -0
  94. package/dist/core/src/hooks/data/useCollectionFetch.d.ts +51 -0
  95. package/dist/core/src/hooks/data/useData.d.ts +13 -0
  96. package/dist/core/src/hooks/data/useDataOrder.d.ts +12 -0
  97. package/dist/core/src/hooks/data/useEntityFetch.d.ts +38 -0
  98. package/dist/core/src/hooks/data/useRelationSelector.d.ts +52 -0
  99. package/dist/core/src/hooks/data/useUserSelector.d.ts +31 -0
  100. package/dist/core/src/hooks/index.d.ts +37 -0
  101. package/dist/core/src/hooks/useAdminModeController.d.ts +19 -0
  102. package/dist/core/src/hooks/useAnalyticsController.d.ts +5 -0
  103. package/dist/core/src/hooks/useAuthController.d.ts +11 -0
  104. package/dist/core/src/hooks/useAuthSubscription.d.ts +2 -0
  105. package/dist/core/src/hooks/useBackendStorageSource.d.ts +30 -0
  106. package/dist/core/src/hooks/useBridgeRegistration.d.ts +18 -0
  107. package/dist/core/src/hooks/useBrowserTitleAndIcon.d.ts +6 -0
  108. package/dist/core/src/hooks/useBuildAdminModeController.d.ts +6 -0
  109. package/dist/core/src/hooks/useBuildEffectiveRoleController.d.ts +8 -0
  110. package/dist/core/src/hooks/useBuildLocalConfigurationPersistence.d.ts +2 -0
  111. package/dist/core/src/hooks/useBuildModeController.d.ts +6 -0
  112. package/dist/core/src/hooks/useClipboard.d.ts +57 -0
  113. package/dist/core/src/hooks/useCollapsedGroups.d.ts +12 -0
  114. package/dist/core/src/hooks/useCustomizationController.d.ts +11 -0
  115. package/dist/core/src/hooks/useDialogsController.d.ts +11 -0
  116. package/dist/core/src/hooks/useEffectiveRoleController.d.ts +7 -0
  117. package/dist/core/src/hooks/useInternalUserManagementController.d.ts +12 -0
  118. package/dist/core/src/hooks/useLargeLayout.d.ts +1 -0
  119. package/dist/core/src/hooks/useModeController.d.ts +19 -0
  120. package/dist/core/src/hooks/usePermissions.d.ts +12 -0
  121. package/dist/core/src/hooks/useRebaseClient.d.ts +5 -0
  122. package/dist/core/src/hooks/useRebaseContext.d.ts +11 -0
  123. package/dist/core/src/hooks/useRebaseRegistry.d.ts +34 -0
  124. package/dist/core/src/hooks/useSlot.d.ts +18 -0
  125. package/dist/core/src/hooks/useSnackbarController.d.ts +20 -0
  126. package/dist/core/src/hooks/useStorageSource.d.ts +7 -0
  127. package/dist/core/src/hooks/useStudioBridge.d.ts +91 -0
  128. package/dist/core/src/hooks/useTranslation.d.ts +17 -0
  129. package/dist/core/src/hooks/useUnsavedChangesDialog.d.ts +12 -0
  130. package/dist/core/src/hooks/useUserConfigurationPersistence.d.ts +8 -0
  131. package/dist/core/src/hooks/useValidateAuthenticator.d.ts +21 -0
  132. package/dist/core/src/i18n/RebaseI18nProvider.d.ts +33 -0
  133. package/dist/core/src/index.d.ts +15 -0
  134. package/dist/core/src/internal/common.d.ts +3 -0
  135. package/dist/core/src/internal/useRestoreScroll.d.ts +6 -0
  136. package/dist/core/src/locales/de.d.ts +2 -0
  137. package/dist/core/src/locales/en.d.ts +10 -0
  138. package/dist/core/src/locales/es.d.ts +10 -0
  139. package/dist/core/src/locales/fr.d.ts +2 -0
  140. package/dist/core/src/locales/hi.d.ts +2 -0
  141. package/dist/core/src/locales/it.d.ts +2 -0
  142. package/dist/core/src/locales/pt.d.ts +7 -0
  143. package/dist/core/src/util/constants.d.ts +1 -0
  144. package/dist/core/src/util/createFormexStub.d.ts +2 -0
  145. package/dist/core/src/util/entity_cache.d.ts +27 -0
  146. package/dist/core/src/util/enums.d.ts +5 -0
  147. package/dist/core/src/util/icon_list.d.ts +5 -0
  148. package/dist/core/src/util/icon_synonyms.d.ts +1 -0
  149. package/dist/core/src/util/icons.d.ts +20 -0
  150. package/dist/core/src/util/index.d.ts +10 -0
  151. package/dist/core/src/util/previews.d.ts +4 -0
  152. package/dist/core/src/util/useStorageUploadController.d.ts +38 -0
  153. package/dist/core/src/util/useTraceUpdate.d.ts +2 -0
  154. package/dist/formex/src/Field.d.ts +52 -0
  155. package/dist/formex/src/Formex.d.ts +7 -0
  156. package/dist/formex/src/index.d.ts +5 -0
  157. package/dist/formex/src/types.d.ts +40 -0
  158. package/dist/formex/src/useCreateFormex.d.ts +14 -0
  159. package/dist/formex/src/utils.d.ts +16 -0
  160. package/dist/index.es.js +726 -0
  161. package/dist/index.es.js.map +1 -0
  162. package/dist/index.umd.js +9647 -0
  163. package/dist/index.umd.js.map +1 -0
  164. package/dist/studio/src/components/ApiExplorer/ApiExplorer.d.ts +9 -0
  165. package/dist/studio/src/components/ApiExplorer/EndpointDetail.d.ts +9 -0
  166. package/dist/studio/src/components/ApiExplorer/TryItPanel.d.ts +15 -0
  167. package/dist/studio/src/components/ApiExplorer/parseSpec.d.ts +16 -0
  168. package/dist/studio/src/components/ApiExplorer/types.d.ts +90 -0
  169. package/dist/studio/src/components/AuthSimulationSelector.d.ts +11 -0
  170. package/dist/studio/src/components/Branches/BranchesView.d.ts +1 -0
  171. package/dist/studio/src/components/CronJobs/CronJobsView.d.ts +1 -0
  172. package/dist/studio/src/components/JSEditor/JSEditor.d.ts +1 -0
  173. package/dist/studio/src/components/JSEditor/JSEditorSidebar.d.ts +21 -0
  174. package/dist/studio/src/components/JSEditor/JSMonacoEditor.d.ts +18 -0
  175. package/dist/studio/src/components/RLSEditor/PolicyEditor.d.ts +9 -0
  176. package/dist/studio/src/components/RLSEditor/RLSEditor.d.ts +19 -0
  177. package/dist/studio/src/components/RLSEditor/index.d.ts +1 -0
  178. package/dist/studio/src/components/RebaseStudio.d.ts +2 -0
  179. package/dist/studio/src/components/SQLEditor/ExplainVisualizer.d.ts +24 -0
  180. package/dist/studio/src/components/SQLEditor/MonacoEditor.d.ts +17 -0
  181. package/dist/studio/src/components/SQLEditor/SQLEditor.d.ts +11 -0
  182. package/dist/studio/src/components/SQLEditor/SQLEditorSidebar.d.ts +21 -0
  183. package/dist/studio/src/components/SQLEditor/SchemaBrowser.d.ts +8 -0
  184. package/dist/studio/src/components/SchemaVisualizer/RelationEdge.d.ts +3 -0
  185. package/dist/studio/src/components/SchemaVisualizer/SchemaVisualizer.d.ts +2 -0
  186. package/dist/studio/src/components/SchemaVisualizer/TableNode.d.ts +3 -0
  187. package/dist/studio/src/components/SchemaVisualizer/index.d.ts +5 -0
  188. package/dist/studio/src/components/SchemaVisualizer/schema-visualizer.utils.d.ts +42 -0
  189. package/dist/studio/src/components/SchemaVisualizer/useSchemaGraph.d.ts +37 -0
  190. package/dist/studio/src/components/StorageView/StorageView.d.ts +1 -0
  191. package/dist/studio/src/components/StudioHomePage.d.ts +9 -0
  192. package/dist/studio/src/index.d.ts +4 -0
  193. package/dist/studio/src/utils/entities.d.ts +0 -0
  194. package/dist/studio/src/utils/pgColumnToProperty.d.ts +6 -0
  195. package/dist/studio/src/utils/sql_utils.d.ts +52 -0
  196. package/dist/types/src/controllers/analytics_controller.d.ts +7 -0
  197. package/dist/types/src/controllers/auth.d.ts +119 -0
  198. package/dist/types/src/controllers/client.d.ts +170 -0
  199. package/dist/types/src/controllers/collection_registry.d.ts +45 -0
  200. package/dist/types/src/controllers/customization_controller.d.ts +60 -0
  201. package/dist/types/src/controllers/data.d.ts +168 -0
  202. package/dist/types/src/controllers/data_driver.d.ts +160 -0
  203. package/dist/types/src/controllers/database_admin.d.ts +11 -0
  204. package/dist/types/src/controllers/dialogs_controller.d.ts +36 -0
  205. package/dist/types/src/controllers/effective_role.d.ts +4 -0
  206. package/dist/types/src/controllers/email.d.ts +34 -0
  207. package/dist/types/src/controllers/index.d.ts +18 -0
  208. package/dist/types/src/controllers/local_config_persistence.d.ts +20 -0
  209. package/dist/types/src/controllers/navigation.d.ts +213 -0
  210. package/dist/types/src/controllers/registry.d.ts +54 -0
  211. package/dist/types/src/controllers/side_dialogs_controller.d.ts +67 -0
  212. package/dist/types/src/controllers/side_entity_controller.d.ts +90 -0
  213. package/dist/types/src/controllers/snackbar.d.ts +24 -0
  214. package/dist/types/src/controllers/storage.d.ts +171 -0
  215. package/dist/types/src/index.d.ts +4 -0
  216. package/dist/types/src/rebase_context.d.ts +105 -0
  217. package/dist/types/src/types/backend.d.ts +536 -0
  218. package/dist/types/src/types/builders.d.ts +15 -0
  219. package/dist/types/src/types/chips.d.ts +5 -0
  220. package/dist/types/src/types/collections.d.ts +856 -0
  221. package/dist/types/src/types/cron.d.ts +102 -0
  222. package/dist/types/src/types/data_source.d.ts +64 -0
  223. package/dist/types/src/types/entities.d.ts +145 -0
  224. package/dist/types/src/types/entity_actions.d.ts +98 -0
  225. package/dist/types/src/types/entity_callbacks.d.ts +173 -0
  226. package/dist/types/src/types/entity_link_builder.d.ts +7 -0
  227. package/dist/types/src/types/entity_overrides.d.ts +10 -0
  228. package/dist/types/src/types/entity_views.d.ts +61 -0
  229. package/dist/types/src/types/export_import.d.ts +21 -0
  230. package/dist/types/src/types/index.d.ts +23 -0
  231. package/dist/types/src/types/locales.d.ts +4 -0
  232. package/dist/types/src/types/modify_collections.d.ts +5 -0
  233. package/dist/types/src/types/plugins.d.ts +279 -0
  234. package/dist/types/src/types/properties.d.ts +1176 -0
  235. package/dist/types/src/types/property_config.d.ts +70 -0
  236. package/dist/types/src/types/relations.d.ts +336 -0
  237. package/dist/types/src/types/slots.d.ts +252 -0
  238. package/dist/types/src/types/translations.d.ts +870 -0
  239. package/dist/types/src/types/user_management_delegate.d.ts +121 -0
  240. package/dist/types/src/types/websockets.d.ts +78 -0
  241. package/dist/types/src/users/index.d.ts +2 -0
  242. package/dist/types/src/users/roles.d.ts +22 -0
  243. package/dist/types/src/users/user.d.ts +46 -0
  244. package/dist/ui/src/components/Alert.d.ts +12 -0
  245. package/dist/ui/src/components/Autocomplete.d.ts +21 -0
  246. package/dist/ui/src/components/Avatar.d.ts +11 -0
  247. package/dist/ui/src/components/Badge.d.ts +8 -0
  248. package/dist/ui/src/components/BooleanSwitch.d.ts +14 -0
  249. package/dist/ui/src/components/BooleanSwitchWithLabel.d.ts +17 -0
  250. package/dist/ui/src/components/Button.d.ts +14 -0
  251. package/dist/ui/src/components/Card.d.ts +9 -0
  252. package/dist/ui/src/components/CenteredView.d.ts +9 -0
  253. package/dist/ui/src/components/Checkbox.d.ts +13 -0
  254. package/dist/ui/src/components/Chip.d.ts +26 -0
  255. package/dist/ui/src/components/CircularProgress.d.ts +5 -0
  256. package/dist/ui/src/components/CircularProgressCenter.d.ts +11 -0
  257. package/dist/ui/src/components/Collapse.d.ts +9 -0
  258. package/dist/ui/src/components/ColorPicker.d.ts +30 -0
  259. package/dist/ui/src/components/Container.d.ts +8 -0
  260. package/dist/ui/src/components/DateTimeField.d.ts +24 -0
  261. package/dist/ui/src/components/DebouncedTextField.d.ts +2 -0
  262. package/dist/ui/src/components/Dialog.d.ts +39 -0
  263. package/dist/ui/src/components/DialogActions.d.ts +7 -0
  264. package/dist/ui/src/components/DialogContent.d.ts +7 -0
  265. package/dist/ui/src/components/DialogTitle.d.ts +10 -0
  266. package/dist/ui/src/components/ErrorBoundary.d.ts +11 -0
  267. package/dist/ui/src/components/ExpandablePanel.d.ts +12 -0
  268. package/dist/ui/src/components/FileUpload.d.ts +23 -0
  269. package/dist/ui/src/components/IconButton.d.ts +12 -0
  270. package/dist/ui/src/components/InfoLabel.d.ts +5 -0
  271. package/dist/ui/src/components/InputLabel.d.ts +11 -0
  272. package/dist/ui/src/components/Label.d.ts +7 -0
  273. package/dist/ui/src/components/LoadingButton.d.ts +7 -0
  274. package/dist/ui/src/components/Markdown.d.ts +10 -0
  275. package/dist/ui/src/components/Menu.d.ts +23 -0
  276. package/dist/ui/src/components/Menubar.d.ts +80 -0
  277. package/dist/ui/src/components/MultiSelect.d.ts +48 -0
  278. package/dist/ui/src/components/Paper.d.ts +6 -0
  279. package/dist/ui/src/components/Popover.d.ts +24 -0
  280. package/dist/ui/src/components/RadioGroup.d.ts +28 -0
  281. package/dist/ui/src/components/ResizablePanels.d.ts +18 -0
  282. package/dist/ui/src/components/SearchBar.d.ts +22 -0
  283. package/dist/ui/src/components/Select.d.ts +43 -0
  284. package/dist/ui/src/components/Separator.d.ts +5 -0
  285. package/dist/ui/src/components/Sheet.d.ts +22 -0
  286. package/dist/ui/src/components/Skeleton.d.ts +6 -0
  287. package/dist/ui/src/components/Slider.d.ts +21 -0
  288. package/dist/ui/src/components/Table.d.ts +34 -0
  289. package/dist/ui/src/components/Tabs.d.ts +19 -0
  290. package/dist/ui/src/components/TextField.d.ts +58 -0
  291. package/dist/ui/src/components/TextareaAutosize.d.ts +43 -0
  292. package/dist/ui/src/components/ToggleButtonGroup.d.ts +30 -0
  293. package/dist/ui/src/components/Tooltip.d.ts +19 -0
  294. package/dist/ui/src/components/Typography.d.ts +36 -0
  295. package/dist/ui/src/components/VirtualTable/VirtualTable.d.ts +11 -0
  296. package/dist/ui/src/components/VirtualTable/VirtualTableCell.d.ts +21 -0
  297. package/dist/ui/src/components/VirtualTable/VirtualTableHeader.d.ts +29 -0
  298. package/dist/ui/src/components/VirtualTable/VirtualTableHeaderRow.d.ts +2 -0
  299. package/dist/ui/src/components/VirtualTable/VirtualTableProps.d.ts +243 -0
  300. package/dist/ui/src/components/VirtualTable/VirtualTableRow.d.ts +3 -0
  301. package/dist/ui/src/components/VirtualTable/index.d.ts +3 -0
  302. package/dist/ui/src/components/VirtualTable/types.d.ts +38 -0
  303. package/dist/ui/src/components/common/SelectInputLabel.d.ts +5 -0
  304. package/dist/ui/src/components/index.d.ts +53 -0
  305. package/dist/ui/src/hooks/PortalContainerContext.d.ts +31 -0
  306. package/dist/ui/src/hooks/index.d.ts +6 -0
  307. package/dist/ui/src/hooks/useDebounceCallback.d.ts +1 -0
  308. package/dist/ui/src/hooks/useDebounceValue.d.ts +1 -0
  309. package/dist/ui/src/hooks/useDebouncedCallback.d.ts +1 -0
  310. package/dist/ui/src/hooks/useInjectStyles.d.ts +7 -0
  311. package/dist/ui/src/hooks/useOutsideAlerter.d.ts +5 -0
  312. package/dist/ui/src/icons/GitHubIcon.d.ts +2 -0
  313. package/dist/ui/src/icons/HandleIcon.d.ts +1 -0
  314. package/dist/ui/src/icons/Icon.d.ts +20 -0
  315. package/dist/ui/src/icons/cool_icon_keys.d.ts +1 -0
  316. package/dist/ui/src/icons/icon_keys.d.ts +1 -0
  317. package/dist/ui/src/icons/index.d.ts +6 -0
  318. package/dist/ui/src/index.d.ts +5 -0
  319. package/dist/ui/src/styles.d.ts +12 -0
  320. package/dist/ui/src/util/chip_colors.d.ts +4 -0
  321. package/dist/ui/src/util/cls.d.ts +2 -0
  322. package/dist/ui/src/util/debounce.d.ts +10 -0
  323. package/dist/ui/src/util/hash.d.ts +1 -0
  324. package/dist/ui/src/util/index.d.ts +4 -0
  325. package/dist/ui/src/util/key_to_icon_component.d.ts +1 -0
  326. package/package.json +84 -0
  327. package/src/components/ApiExplorer/ApiExplorer.tsx +290 -0
  328. package/src/components/ApiExplorer/EndpointDetail.tsx +271 -0
  329. package/src/components/ApiExplorer/TryItPanel.tsx +510 -0
  330. package/src/components/ApiExplorer/parseSpec.ts +104 -0
  331. package/src/components/ApiExplorer/types.ts +84 -0
  332. package/src/components/AuthSimulationSelector.tsx +77 -0
  333. package/src/components/Branches/BranchesView.tsx +370 -0
  334. package/src/components/CronJobs/CronJobsView.tsx +346 -0
  335. package/src/components/JSEditor/JSEditor.tsx +1033 -0
  336. package/src/components/JSEditor/JSEditorSidebar.tsx +340 -0
  337. package/src/components/JSEditor/JSMonacoEditor.tsx +390 -0
  338. package/src/components/RLSEditor/PolicyEditor.tsx +444 -0
  339. package/src/components/RLSEditor/RLSEditor.tsx +692 -0
  340. package/src/components/RLSEditor/index.ts +1 -0
  341. package/src/components/RebaseStudio.tsx +121 -0
  342. package/src/components/SQLEditor/ExplainVisualizer.tsx +128 -0
  343. package/src/components/SQLEditor/MonacoEditor.tsx +203 -0
  344. package/src/components/SQLEditor/SQLEditor.tsx +1419 -0
  345. package/src/components/SQLEditor/SQLEditorSidebar.tsx +174 -0
  346. package/src/components/SQLEditor/SchemaBrowser.tsx +158 -0
  347. package/src/components/SchemaVisualizer/RelationEdge.tsx +102 -0
  348. package/src/components/SchemaVisualizer/SchemaVisualizer.tsx +665 -0
  349. package/src/components/SchemaVisualizer/TableNode.tsx +257 -0
  350. package/src/components/SchemaVisualizer/index.ts +5 -0
  351. package/src/components/SchemaVisualizer/schema-visualizer.utils.ts +140 -0
  352. package/src/components/SchemaVisualizer/useSchemaGraph.ts +397 -0
  353. package/src/components/StorageView/StorageView.tsx +1035 -0
  354. package/src/components/StudioHomePage.tsx +357 -0
  355. package/src/index.ts +31 -0
  356. package/src/utils/entities.ts +2 -0
  357. package/src/utils/pgColumnToProperty.test.ts +401 -0
  358. package/src/utils/pgColumnToProperty.ts +275 -0
  359. package/src/utils/sql_utils.test.ts +265 -0
  360. package/src/utils/sql_utils.ts +291 -0
  361. package/src/vite-env.d.ts +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.es.js","sources":["../src/components/StudioHomePage.tsx","../src/components/RebaseStudio.tsx"],"sourcesContent":["import type { HomePageSection, PluginGenericProps } from \"@rebasepro/types\";\nimport React, { useEffect } from \"react\";\nimport { Card, cls, Container, Typography } from \"@rebasepro/ui\";\nimport { ArrowRightIcon } from \"lucide-react\";\nimport { iconSize } from \"@rebasepro/ui\";\nimport { IconForView, useRebaseContext, useRestoreScroll, useSlot } from \"@rebasepro/core\";\nimport { useNavigate } from \"react-router-dom\";\nimport { useStudioBreadcrumbs } from \"@rebasepro/core\";\n\n/* ═══════════════════════════════════════════════════════════════\n Static studio tool definitions\n ═══════════════════════════════════════════════════════════════ */\n\ninterface StudioTool {\n path: string;\n name: string;\n description: string;\n icon: string;\n}\n\ninterface StudioSection {\n label: string;\n dotColor: string;\n iconColor: string;\n tools: StudioTool[];\n}\n\nconst SECTIONS: StudioSection[] = [\n {\n label: \"Database\",\n dotColor: \"bg-emerald-400\",\n iconColor: \"text-emerald-400\",\n tools: [\n { path: \"/schema\", name: \"Collections\", description: \"Define and manage your data model and collection schemas\", icon: \"LayoutList\" },\n { path: \"/schema-visualizer\", name: \"Schema Visualizer\", description: \"Interactive ERD showing tables, columns, and relationships\", icon: \"Network\" },\n { path: \"/sql\", name: \"SQL Console\", description: \"Execute raw SQL queries directly against your database\", icon: \"terminal\" },\n { path: \"/branches\", name: \"Branches\", description: \"Create and manage isolated database copies for development\", icon: \"GitBranch\" },\n { path: \"/rls\", name: \"RLS Policies\", description: \"Configure Row Level Security for fine-grained data access\", icon: \"ShieldCheck\" }\n ]\n },\n {\n label: \"Compute\",\n dotColor: \"bg-blue-400\",\n iconColor: \"text-blue-400\",\n tools: [\n { path: \"/js\", name: \"JS Console\", description: \"Run JavaScript with the Rebase SDK in a live sandbox\", icon: \"code\" },\n { path: \"/cron\", name: \"Cron Jobs\", description: \"Monitor and manage scheduled background tasks\", icon: \"Clock\" }\n ]\n },\n {\n label: \"API\",\n dotColor: \"bg-violet-400\",\n iconColor: \"text-violet-400\",\n tools: [\n { path: \"/api\", name: \"API Explorer\", description: \"Interactive API documentation with live request testing\", icon: \"BookOpen\" }\n ]\n },\n {\n label: \"Storage\",\n dotColor: \"bg-amber-400\",\n iconColor: \"text-amber-400\",\n tools: [\n { path: \"/storage\", name: \"Storage\", description: \"Browse, upload, and manage files in your storage bucket\", icon: \"HardDrive\" }\n ]\n },\n {\n label: \"Access Control\",\n dotColor: \"bg-rose-400\",\n iconColor: \"text-rose-400\",\n tools: [\n { path: \"/users\", name: \"Users\", description: \"Manage developers and assign roles in your workspace\", icon: \"group\" },\n { path: \"/roles\", name: \"Roles\", description: \"Create and configure fine-grained access permissions\", icon: \"ShieldEllipsis\" }\n ]\n }\n];\n\n/* ═══════════════════════════════════════════════════════════════ */\n\nexport function StudioHomePage({\n additionalActions,\n additionalChildrenStart,\n additionalChildrenEnd,\n sections,\n hiddenGroups\n}: {\n additionalActions?: React.ReactNode;\n additionalChildrenStart?: React.ReactNode;\n additionalChildrenEnd?: React.ReactNode;\n sections?: HomePageSection[];\n hiddenGroups?: string[];\n}) {\n const context = useRebaseContext();\n const breadcrumbs = useStudioBreadcrumbs();\n const navigate = useNavigate();\n\n useEffect(() => {\n breadcrumbs.set({ breadcrumbs: [] });\n }, [breadcrumbs.set]);\n\n const { containerRef } = useRestoreScroll();\n\n const sectionProps: PluginGenericProps = { context };\n\n const pluginActions = useSlot(\"home.actions\", sectionProps);\n\n return (\n <div ref={containerRef} className=\"py-2 overflow-auto h-full w-full\">\n <Container maxWidth=\"6xl\">\n\n {(additionalActions || pluginActions) && (\n <div className=\"w-full sticky py-4 transition-all duration-400 ease-in-out top-0 z-10 flex flex-row gap-4 justify-end\">\n {additionalActions}\n {pluginActions}\n </div>\n )}\n\n {additionalChildrenStart}\n\n {/* ── Tool sections ── */}\n <div className=\"flex flex-col gap-8 pt-2\">\n {SECTIONS.map((section) => (\n <section key={section.label} aria-label={section.label}>\n {/* Section header */}\n <Typography\n variant=\"caption\"\n component=\"h2\"\n color=\"secondary\"\n className=\"py-2 font-medium uppercase text-sm text-surface-600 dark:text-surface-400\"\n >\n {section.label}\n </Typography>\n\n {/* Card grid */}\n <div className=\"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-3 mt-2\">\n {section.tools.map((tool) => (\n <Card\n key={tool.path}\n onClick={() => {\n navigate(tool.path);\n context.analyticsController?.onAnalyticsEvent?.(\n \"home_navigate_to_view\",\n { path: tool.path }\n );\n }}\n className={cls(\n \"h-full px-4 py-2.5 cursor-pointer transition-all duration-200 ease-in-out\",\n \"hover:-translate-y-0.5 hover:shadow-md hover:shadow-primary/5\"\n )}\n >\n <div className=\"flex flex-col items-start h-full\">\n <div className=\"grow w-full\">\n {/* Icon */}\n <div className={cls(\"h-6 flex items-center\", section.iconColor)}>\n <IconForView\n collectionOrView={{ slug: tool.path,\nname: tool.name,\nicon: tool.icon }}\n size=\"small\"\n />\n </div>\n\n {/* Title */}\n <Typography\n gutterBottom\n variant=\"subtitle1\"\n className=\"mt-1 font-semibold\"\n component=\"h2\"\n >\n {tool.name}\n </Typography>\n\n {/* Description */}\n <Typography variant=\"caption\" color=\"secondary\" component=\"div\">\n {tool.description}\n </Typography>\n </div>\n\n {/* Arrow */}\n <div style={{ alignSelf: \"flex-end\" }}>\n <div className=\"p-2\">\n <ArrowRightIcon className=\"text-primary\" size={iconSize.small}/>\n </div>\n </div>\n </div>\n </Card>\n ))}\n </div>\n </section>\n ))}\n </div>\n\n {/* ── SDK Quick Start ── */}\n <div className=\"mt-10 mb-6\">\n <div className=\"flex items-center mb-1\">\n <Typography\n variant=\"caption\"\n component=\"h2\"\n color=\"secondary\"\n className=\"py-2 font-medium uppercase text-sm text-surface-600 dark:text-surface-400\"\n >\n Quick Start\n </Typography>\n </div>\n\n <Typography variant=\"body2\" color=\"secondary\" className=\"mb-4 max-w-2xl\">\n Generate a fully-typed SDK from your collections with{\" \"}\n <code className=\"text-emerald-400 font-mono text-xs bg-emerald-400/10 px-1.5 py-0.5 rounded\">\n npx rebase generate-sdk\n </code>\n {\" \"}and start querying your data with full TypeScript autocompletion.\n </Typography>\n\n <div className=\"rounded-lg border border-surface-200/40 dark:border-surface-700/40 bg-white dark:bg-surface-950 overflow-hidden\">\n {/* Title bar */}\n <div className=\"flex items-center justify-between px-4 py-2.5 border-b border-surface-200/40 dark:border-surface-700/40 bg-surface-50 dark:bg-surface-900/80\">\n <div className=\"flex items-center gap-2.5\">\n <div className=\"flex gap-1.5\">\n <span className=\"w-2.5 h-2.5 rounded-full bg-red-400/60\"/>\n <span className=\"w-2.5 h-2.5 rounded-full bg-amber-400/60\"/>\n <span className=\"w-2.5 h-2.5 rounded-full bg-emerald-400/60\"/>\n </div>\n <span className=\"text-xs font-mono text-surface-400 dark:text-surface-500 ml-1\">\n app.ts\n </span>\n </div>\n <span className=\"text-xs font-mono text-surface-400 dark:text-surface-500\">\n TypeScript\n </span>\n </div>\n\n {/* Syntax-highlighted code */}\n <div className=\"px-5 py-4 overflow-x-auto text-[13px] leading-6 font-mono\">\n <SyntaxHighlightedSnippet/>\n </div>\n </div>\n </div>\n\n {/* ── Extra sections from props ── */}\n {sections?.map((s) => (\n <div key={s.key} className=\"my-10\">\n <Typography\n variant=\"caption\"\n component=\"h2\"\n color=\"secondary\"\n className=\"p-4 py-2 rounded font-medium uppercase text-sm text-surface-600 dark:text-surface-400\"\n >\n {s.title}\n </Typography>\n <div className=\"mt-4\">{s.children}</div>\n </div>\n ))}\n\n {additionalChildrenEnd}\n </Container>\n </div>\n );\n}\n\n/* ═══════════════════════════════════════════════════════════════\n Hand-crafted syntax-highlighted code snippet.\n Uses inline spans with Tailwind color classes to avoid\n pulling in a syntax highlighting library.\n ═══════════════════════════════════════════════════════════════ */\n\nfunction SyntaxHighlightedSnippet() {\n const kw = \"text-violet-600 dark:text-violet-400\"; // keywords\n const str = \"text-emerald-600 dark:text-emerald-400\"; // strings\n const typ = \"text-amber-600 dark:text-amber-300\"; // types\n const fn = \"text-blue-600 dark:text-blue-400\"; // functions\n const cm = \"text-surface-500 dark:text-surface-400 italic\"; // comments\n const op = \"text-surface-500 dark:text-surface-400\"; // operators / punctuation\n const tx = \"text-surface-950 dark:text-surface-200\"; // plain text\n\n return (\n <pre className=\"m-0 whitespace-pre\">\n <span className={kw}>import</span>\n <span className={tx}>{\" { \"}</span>\n <span className={fn}>createRebaseClient</span>\n <span className={tx}>{\" } \"}</span>\n <span className={kw}>from</span>\n <span className={tx}> </span>\n <span className={str}>&apos;@rebasepro/client&apos;</span>\n <span className={op}>;</span>\n {\"\\n\"}\n\n <span className={kw}>import</span>\n <span className={tx}> </span>\n <span className={kw}>type</span>\n <span className={tx}>{\" { \"}</span>\n <span className={typ}>Database</span>\n <span className={tx}>{\" } \"}</span>\n <span className={kw}>from</span>\n <span className={tx}> </span>\n <span className={str}>&apos;./database.types&apos;</span>\n <span className={op}>;</span>\n {\"\\n\\n\"}\n\n <span className={kw}>const</span>\n <span className={tx}> rebase </span>\n <span className={op}>= </span>\n <span className={fn}>createRebaseClient</span>\n <span className={op}>{\"<\"}</span>\n <span className={typ}>Database</span>\n <span className={op}>{\">(\"}</span>\n <span className={tx}>{\"{\"}</span>\n {\"\\n\"}\n <span className={tx}>{\" baseUrl\"}</span>\n <span className={op}>: </span>\n <span className={str}>&apos;http://localhost:3001&apos;</span>\n <span className={op}>,</span>\n {\"\\n\"}\n <span className={tx}>{\"}\"}</span>\n <span className={op}>);</span>\n {\"\\n\\n\"}\n\n <span className={cm}>{\"// Fully typed — autocompletion for tables and columns\"}</span>\n {\"\\n\"}\n <span className={kw}>const</span>\n <span className={tx}>{\" { \"}</span>\n <span className={tx}>data</span>\n <span className={op}>: </span>\n <span className={tx}>users</span>\n <span className={tx}>{\" } \"}</span>\n <span className={op}>= </span>\n <span className={kw}>await</span>\n <span className={tx}> rebase</span>\n <span className={op}>.</span>\n <span className={tx}>data</span>\n <span className={op}>.</span>\n <span className={tx}>users</span>\n <span className={op}>.</span>\n <span className={fn}>find</span>\n <span className={op}>();</span>\n {\"\\n\"}\n\n <span className={kw}>const</span>\n <span className={tx}>{\" { \"}</span>\n <span className={tx}>data</span>\n <span className={op}>: </span>\n <span className={tx}>posts</span>\n <span className={tx}>{\" } \"}</span>\n <span className={op}>= </span>\n <span className={kw}>await</span>\n <span className={tx}> rebase</span>\n <span className={op}>.</span>\n <span className={tx}>data</span>\n <span className={op}>.</span>\n <span className={fn}>collection</span>\n <span className={op}>(</span>\n <span className={str}>&apos;posts&apos;</span>\n <span className={op}>)</span>\n <span className={op}>.</span>\n <span className={fn}>find</span>\n <span className={op}>();</span>\n </pre>\n );\n}\n","import React, { lazy, Suspense, useLayoutEffect, useMemo } from \"react\";\nimport { useRebaseRegistryDispatch } from \"@rebasepro/core\";\nimport type { RebaseStudioConfig, AppView } from \"@rebasepro/types\";\nimport { CircularProgressCenter } from \"@rebasepro/ui\";\n\n// Lazy-loaded studio tools — each fetched only when its route is visited.\n// This keeps Monaco, @xyflow/react, dagre, pgsql-ast-parser etc. out of the initial bundle.\nconst SQLEditor = lazy(() => import(\"./SQLEditor/SQLEditor\").then(m => ({ default: m.SQLEditor })));\nconst JSEditor = lazy(() => import(\"./JSEditor/JSEditor\").then(m => ({ default: m.JSEditor })));\nconst RLSEditor = lazy(() => import(\"./RLSEditor/RLSEditor\").then(m => ({ default: m.RLSEditor })));\nconst StorageView = lazy(() => import(\"./StorageView/StorageView\").then(m => ({ default: m.StorageView })));\nconst CronJobsView = lazy(() => import(\"./CronJobs/CronJobsView\").then(m => ({ default: m.CronJobsView })));\nconst SchemaVisualizer = lazy(() => import(\"./SchemaVisualizer/SchemaVisualizer\").then(m => ({ default: m.SchemaVisualizer })));\nconst BranchesView = lazy(() => import(\"./Branches/BranchesView\").then(m => ({ default: m.BranchesView })));\nconst ApiExplorer = lazy(() => import(\"./ApiExplorer/ApiExplorer\").then(m => ({ default: m.ApiExplorer })));\n\nimport { StudioHomePage } from \"./StudioHomePage\";\n\n/**\n * Declarative component to configure the Studio in Rebase.\n * Renders nothing — purely registers config into the RebaseRegistry.\n *\n * The \"schema\" tool (collection editor view) is now a built-in CMS feature.\n * When `<RebaseCMS collectionEditor={...}>` is used, the schema view is\n * automatically injected into Studio — no manual wiring needed.\n */\nconst DEFAULT_HOME_PAGE = <StudioHomePage/>;\n\nexport function RebaseStudio({ tools, homePage }: RebaseStudioConfig) {\n const dispatch = useRebaseRegistryDispatch();\n\n const resolvedHomePage = homePage ?? DEFAULT_HOME_PAGE;\n\n const devViews: AppView[] = useMemo(() => {\n const views: AppView[] = [];\n const activeTools = tools ?? [\"sql\", \"js\", \"rls\", \"storage\", \"cron\", \"schema-visualizer\", \"branches\", \"api\"];\n const suspense = (el: React.ReactNode) => <Suspense fallback={<CircularProgressCenter/>}>{el}</Suspense>;\n\n if (activeTools.includes(\"sql\")) {\n views.push({ slug: \"sql\",\nname: \"SQL Console\",\ngroup: \"Database\",\nicon: \"terminal\",\ndescription: \"Execute SQL queries\",\nview: suspense(<SQLEditor/>) });\n }\n if (activeTools.includes(\"js\")) {\n views.push({ slug: \"js\",\nname: \"JS Console\",\ngroup: \"Compute\",\nicon: \"code\",\ndescription: \"Execute JavaScript\",\nview: suspense(<JSEditor/>) });\n }\n if (activeTools.includes(\"rls\")) {\n views.push({ slug: \"rls\",\nname: \"RLS Policies\",\ngroup: \"Database\",\nicon: \"ShieldCheck\",\ndescription: \"Row Level Security\",\nview: suspense(<RLSEditor/>) });\n }\n if (activeTools.includes(\"storage\")) {\n views.push({ slug: \"storage\",\nname: \"Storage\",\ngroup: \"Storage\",\nicon: \"HardDrive\",\ndescription: \"Manage storage files\",\nview: suspense(<StorageView/>) });\n }\n if (activeTools.includes(\"cron\")) {\n views.push({ slug: \"cron\",\nname: \"Cron Jobs\",\ngroup: \"Compute\",\nicon: \"Clock\",\ndescription: \"Manage scheduled tasks\",\nview: suspense(<CronJobsView/>) });\n }\n if (activeTools.includes(\"schema-visualizer\")) {\n views.push({ slug: \"schema-visualizer\",\nname: \"Schema Visualizer\",\ngroup: \"Database\",\nicon: \"Network\",\ndescription: \"Interactive database ERD\",\nview: suspense(<SchemaVisualizer/>) });\n }\n if (activeTools.includes(\"branches\")) {\n views.push({ slug: \"branches\",\nname: \"Branches\",\ngroup: \"Database\",\nicon: \"GitBranch\",\ndescription: \"Create and manage database branches\",\nview: suspense(<BranchesView/>) });\n }\n if (activeTools.includes(\"api\")) {\n views.push({ slug: \"api\",\nname: \"API Explorer\",\ngroup: \"API\",\nicon: \"BookOpen\",\ndescription: \"Interactive API documentation and testing\",\nview: suspense(<ApiExplorer/>) });\n }\n // Note: \"schema\" tool is auto-injected by RebaseShell when collectionEditor is enabled.\n // It is NOT registered here anymore.\n return views;\n }, [tools]);\n\n // Use a ref for homePage so it never destabilizes the effect.\n // homePage is a React element — its identity doesn't matter for registration.\n const homePageRef = React.useRef(resolvedHomePage);\n homePageRef.current = resolvedHomePage;\n\n useLayoutEffect(() => {\n dispatch.registerStudio({ tools,\nhomePage: homePageRef.current,\ndevViews });\n return () => dispatch.unregisterStudio();\n }, [dispatch, tools, devViews]);\n\n return null;\n}\n"],"names":["SECTIONS","label","dotColor","iconColor","tools","path","name","description","icon","StudioHomePage","t0","$","_c","additionalActions","additionalChildrenStart","additionalChildrenEnd","sections","context","useRebaseContext","breadcrumbs","useStudioBreadcrumbs","navigate","useNavigate","t1","set","t2","useEffect","containerRef","useRestoreScroll","t3","sectionProps","pluginActions","useSlot","t4","t5","map","section","tool","analyticsController","onAnalyticsEvent","cls","slug","alignSelf","iconSize","small","t6","t7","Symbol","for","t8","t9","t10","t11","_temp","t12","t13","s","title","children","key","SyntaxHighlightedSnippet","kw","tx","fn","str","op","t14","t15","t16","t17","typ","t18","t19","t20","t21","t22","t23","t24","t25","t26","t27","t28","t29","t30","t31","t32","cm","t33","t34","t35","t36","t37","t38","t39","t40","t41","t42","t43","t44","t45","t46","t47","t48","t49","SQLEditor","lazy","then","m","default","JSEditor","RLSEditor","StorageView","CronJobsView","SchemaVisualizer","BranchesView","ApiExplorer","DEFAULT_HOME_PAGE","RebaseStudio","homePage","dispatch","useRebaseRegistryDispatch","resolvedHomePage","devViews","useMemo","views","activeTools","suspense","el","includes","push","group","view","homePageRef","React","useRef","current","useLayoutEffect","registerStudio","unregisterStudio"],"mappings":"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"}