feat: full screen onboarding with a plugin picker and per step versions

This commit is contained in:
LukeGus committed 2026-10-06 17:44:25 -05:00
1 parent 1e74ce4827
commit b9dd3488a5
59 files changed
+5413 -643

No files matched your search

+15
View File
@@ -2139,6 +2139,8 @@ export interface RenderedPluginApp {
paletteGroups: () => string[];
keybindingActions: () => string[];
keybindingDefaults: () => string[];
/** Onboarding step ids, without the plugin prefix. */
onboardingSteps: () => string[];
};
/** A registered palette group's items, as the palette loads them on open. */
loadPaletteGroup: (
@@ -2160,6 +2162,19 @@ export interface RenderedPluginApp {
renderTab: (type: string, props?: Record<string, unknown>) => HTMLElement;
renderPanel: (id: string, props?: Record<string, unknown>) => HTMLElement;
renderDashboardCard: (id: string) => HTMLElement;
/**
* Renders an onboarding step with OnboardingStepProps for a first run,
* overridable. Read what the step set with the returned `canContinue()`
* and `next()` (runs its beforeNext, true when it has none).
*/
renderOnboardingStep: (
id: string,
props?: Record<string, unknown>,
) => {
element: HTMLElement;
canContinue: () => boolean;
next: () => Promise<boolean>;
};
/** Renders one component of a contributed extension, "view" by default. */
renderExtension: (
pointId: string,