@prismicio/editor-fields 0.4.49-alpha.feat-onboarding-guide.6 → 0.4.49-alpha.feat-onboarding-guide.9

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.
@@ -6,7 +6,7 @@ export type EditorConfig = {
6
6
  unsplashApiBaseUrl: URL;
7
7
  authStrategy: AuthStrategy;
8
8
  } & OptionalConfigs;
9
- type OptionalConfigs = SearchDocuments & MediaLibrary & UIDField & Analytics & ErrorTracking & IntegrationFields & LayoutConfig;
9
+ type OptionalConfigs = SearchDocuments & MediaLibrary & UIDField & Analytics & ErrorTracking & IntegrationFields & LayoutConfig & RepositoryConfig;
10
10
  type MediaLibrary = {
11
11
  mediaLibrary?: never;
12
12
  } | {
@@ -52,6 +52,12 @@ interface LayoutConfig {
52
52
  */
53
53
  scrollOffsetTop?: number;
54
54
  }
55
+ type RepositoryConfig = {
56
+ repositoryBaseUrl?: never;
57
+ } | {
58
+ repository: string;
59
+ repositoryBaseUrl: URL;
60
+ };
55
61
  interface OnAnalyticsEvent {
56
62
  (event: "Media Library Search", args: {
57
63
  assetType: MediaAssetType;
@@ -1,8 +1,11 @@
1
1
  /// <reference types="react" />
2
2
  import { type ConfettiConfig } from "dom-confetti";
3
- import type { OnboardingTracking } from "./types";
3
+ import type { OnboardingState, OnboardingStepId, OnboardingToggleResult, OnboardingToggleStepResult, OnboardingTracking } from "./types";
4
4
  interface OnboardingGuideProps {
5
5
  tracking: OnboardingTracking;
6
+ fetchOnboarding: () => Promise<OnboardingState>;
7
+ toggleOnboardingStep: (stepId: OnboardingStepId) => Promise<OnboardingToggleStepResult>;
8
+ toggleOnboardingGuide: () => Promise<OnboardingToggleResult>;
6
9
  }
7
10
  export declare function OnboardingGuide(props: OnboardingGuideProps): JSX.Element;
8
11
  export declare function useConfetti(confettiConfig: ConfettiConfig): {
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { OnboardingTracking } from "../types";
2
+ import type { OnboardingState, OnboardingStepId, OnboardingToggleStepResult, OnboardingTracking } from "../types";
3
3
  interface OnboardingCardProps {
4
4
  tracking: OnboardingTracking;
5
+ fetchOnboarding: () => Promise<OnboardingState>;
6
+ toggleOnboardingStep: (stepId: OnboardingStepId) => Promise<OnboardingToggleStepResult>;
5
7
  onClose?: () => void;
6
8
  }
7
9
  export declare function OnboardingCard(props: OnboardingCardProps): JSX.Element;
@@ -1,7 +1,9 @@
1
1
  /// <reference types="react" />
2
- import type { OnboardingTracking } from "../types";
2
+ import type { OnboardingState, OnboardingStepId, OnboardingToggleStepResult, OnboardingTracking } from "../types";
3
3
  interface OnboardingProgressStepperProps {
4
4
  tracking: OnboardingTracking;
5
+ fetchOnboarding: () => Promise<OnboardingState>;
6
+ toggleOnboardingStep: (stepId: OnboardingStepId) => Promise<OnboardingToggleStepResult>;
5
7
  }
6
8
  export declare function OnboardingProgressStepper(props: OnboardingProgressStepperProps): JSX.Element | null;
7
9
  export {};
@@ -1,6 +1,6 @@
1
1
  import type { OnboardingFramework, OnboardingStep } from "./types";
2
- export declare function getOnboardingContent(framework?: OnboardingFramework): {
2
+ export declare function getOnboardingContent(framework?: OnboardingFramework, starter?: string): {
3
3
  steps: OnboardingStep[];
4
- defaultCompletedStepIds: ("createProject" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
4
+ defaultCompletedStepIds: ("createPrismicProject" | "chooseLocale" | "createProject" | "setupSliceMachine" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
5
5
  tutorialLink: string;
6
6
  };
@@ -1,2 +1,2 @@
1
1
  export { OnboardingGuide } from "./OnboardingGuide";
2
- export type { OnboardingStepId, OnboardingTracking } from "./types";
2
+ export type { OnboardingState, OnboardingStepId, OnboardingTracking } from "./types";
@@ -1,7 +1,7 @@
1
1
  /// <reference types="react" />
2
2
  import { z } from "zod";
3
- declare const onboardingStepIds: readonly ["createProject", "createPageType", "codePage", "createSlice", "reviewAndPush", "createContent", "renderPage"];
4
- export declare const onboardingStepIdSchema: z.ZodEnum<["createProject", "createPageType", "codePage", "createSlice", "reviewAndPush", "createContent", "renderPage"]>;
3
+ declare const onboardingStepIds: readonly ["createPrismicProject", "chooseLocale", "createProject", "setupSliceMachine", "createPageType", "codePage", "createSlice", "reviewAndPush", "createContent", "renderPage"];
4
+ export declare const onboardingStepIdSchema: z.ZodEnum<["createPrismicProject", "chooseLocale", "createProject", "setupSliceMachine", "createPageType", "codePage", "createSlice", "reviewAndPush", "createContent", "renderPage"]>;
5
5
  export type OnboardingStepId = typeof onboardingStepIds[number];
6
6
  export interface OnboardingStep {
7
7
  id: OnboardingStepId;
@@ -9,46 +9,54 @@ export interface OnboardingStep {
9
9
  description: string;
10
10
  content?: JSX.Element;
11
11
  videoUrl?: string;
12
- defaultCompleted?: boolean;
13
12
  }
14
- export type OnboardingState = {
15
- completedSteps: OnboardingStepId[];
16
- isDismissed: boolean;
17
- context?: {
18
- framework: OnboardingFramework;
19
- starterId?: string;
20
- };
21
- };
22
13
  declare const onboardingFrameworks: readonly ["next", "nuxt", "sveltekit", "other"];
23
14
  export type OnboardingFramework = typeof onboardingFrameworks[number];
24
15
  export declare const onboardingStateSchema: z.ZodObject<{
25
- completedSteps: z.ZodArray<z.ZodEnum<["createProject", "createPageType", "codePage", "createSlice", "reviewAndPush", "createContent", "renderPage"]>, "many">;
16
+ completedSteps: z.ZodArray<z.ZodEnum<["createPrismicProject", "chooseLocale", "createProject", "setupSliceMachine", "createPageType", "codePage", "createSlice", "reviewAndPush", "createContent", "renderPage"]>, "many">;
26
17
  isDismissed: z.ZodBoolean;
27
- context: z.ZodOptional<z.ZodObject<{
18
+ context: z.ZodObject<{
28
19
  framework: z.ZodEnum<["next", "nuxt", "sveltekit", "other"]>;
29
- starterId: z.ZodOptional<z.ZodString>;
20
+ starterId: z.ZodNullable<z.ZodString>;
30
21
  }, "strip", z.ZodTypeAny, {
31
22
  framework: "next" | "nuxt" | "sveltekit" | "other";
32
- starterId?: string | undefined;
23
+ starterId: string | null;
33
24
  }, {
34
25
  framework: "next" | "nuxt" | "sveltekit" | "other";
35
- starterId?: string | undefined;
36
- }>>;
26
+ starterId: string | null;
27
+ }>;
37
28
  }, "strip", z.ZodTypeAny, {
38
- completedSteps: ("createProject" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
29
+ completedSteps: ("createPrismicProject" | "chooseLocale" | "createProject" | "setupSliceMachine" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
39
30
  isDismissed: boolean;
40
- context?: {
31
+ context: {
41
32
  framework: "next" | "nuxt" | "sveltekit" | "other";
42
- starterId?: string | undefined;
43
- } | undefined;
33
+ starterId: string | null;
34
+ };
44
35
  }, {
45
- completedSteps: ("createProject" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
36
+ completedSteps: ("createPrismicProject" | "chooseLocale" | "createProject" | "setupSliceMachine" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
46
37
  isDismissed: boolean;
47
- context?: {
38
+ context: {
48
39
  framework: "next" | "nuxt" | "sveltekit" | "other";
49
- starterId?: string | undefined;
50
- } | undefined;
40
+ starterId: string | null;
41
+ };
42
+ }>;
43
+ export type OnboardingState = z.infer<typeof onboardingStateSchema>;
44
+ export declare const onboardingToggleStepResultSchema: z.ZodObject<{
45
+ completedSteps: z.ZodArray<z.ZodEnum<["createPrismicProject", "chooseLocale", "createProject", "setupSliceMachine", "createPageType", "codePage", "createSlice", "reviewAndPush", "createContent", "renderPage"]>, "many">;
46
+ }, "strip", z.ZodTypeAny, {
47
+ completedSteps: ("createPrismicProject" | "chooseLocale" | "createProject" | "setupSliceMachine" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
48
+ }, {
49
+ completedSteps: ("createPrismicProject" | "chooseLocale" | "createProject" | "setupSliceMachine" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
50
+ }>;
51
+ export type OnboardingToggleStepResult = z.infer<typeof onboardingToggleStepResultSchema>;
52
+ export declare const onboardingToggleResultSchema: z.ZodObject<{
53
+ isDismissed: z.ZodBoolean;
54
+ }, "strip", z.ZodTypeAny, {
55
+ isDismissed: boolean;
56
+ }, {
57
+ isDismissed: boolean;
51
58
  }>;
59
+ export type OnboardingToggleResult = z.infer<typeof onboardingToggleResultSchema>;
52
60
  export type OnboardingTrackSource = "PageBuilder" | "SliceMachine";
53
61
  export type OnboardingTrackEvent = {
54
62
  event: "onboarding:step-completed";
@@ -1,14 +1,18 @@
1
- import { type OnboardingStepId, type OnboardingTracking } from "../OnboardingGuide/types";
2
- export declare function useOnboarding(): {
1
+ import { type AuthStrategy } from "../../EditorConfig";
2
+ import { type OnboardingState, type OnboardingStepId, type OnboardingToggleResult, type OnboardingToggleStepResult, type OnboardingTracking } from "../OnboardingGuide/types";
3
+ export declare function useOnboarding(fetcher: () => Promise<OnboardingState>): {
3
4
  steps: import("../OnboardingGuide/types").OnboardingStep[];
4
5
  context: {
5
6
  framework: "next" | "nuxt" | "sveltekit" | "other";
6
- starterId?: string | undefined;
7
- } | undefined;
8
- completedSteps: ("createProject" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
7
+ starterId: string | null;
8
+ };
9
+ completedSteps: ("createPrismicProject" | "chooseLocale" | "createProject" | "setupSliceMachine" | "createPageType" | "codePage" | "createSlice" | "reviewAndPush" | "createContent" | "renderPage")[];
9
10
  completedStepsCount: number;
10
11
  isOnboardingCompleted: boolean;
11
12
  isDismissed: boolean;
12
13
  };
13
- export declare function useToggleStep(): (stepId: OnboardingStepId, tracking: OnboardingTracking) => Promise<void>;
14
- export declare function useToggleOnboarding(): () => Promise<void>;
14
+ export declare function useToggleOnboardingStep(fetcher: () => Promise<OnboardingState>, stepToggler: (stepId: OnboardingStepId) => Promise<OnboardingToggleStepResult>): (stepId: OnboardingStepId, tracking: OnboardingTracking) => Promise<void>;
15
+ export declare function useToggleOnboarding(fetcher: () => Promise<OnboardingState>, guideToggler: () => Promise<OnboardingToggleResult>): () => Promise<void>;
16
+ export declare function getOnboarding(baseUrl: URL, repository: string, authStrategy: AuthStrategy): Promise<OnboardingState>;
17
+ export declare function toggleOnboardingStep(stepId: OnboardingStepId, baseUrl: URL, repository: string, authStrategy: AuthStrategy): Promise<OnboardingToggleStepResult>;
18
+ export declare function toggleOnboarding(baseUrl: URL, repository: string, authStrategy: AuthStrategy): Promise<OnboardingToggleResult>;