@storybook/addon-onboarding 10.2.0-alpha.8 → 10.2.0-beta.0

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.
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  IntentSurvey
3
- } from "./chunk-BTSM33XX.js";
3
+ } from "./chunk-IQU35HZW.js";
4
4
  import {
5
5
  ADDON_CONTROLS_ID,
6
6
  ADDON_ONBOARDING_CHANNEL
@@ -6154,9 +6154,7 @@ function Onboarding({
6154
6154
  dismissedStep,
6155
6155
  type: "dismiss",
6156
6156
  userAgent
6157
- });
6158
- let url = new URL(window.location.href);
6159
- url.searchParams.set("onboarding", "false"), history.replaceState({}, "", url.href), api.setQueryParams({ onboarding: "false" }), setEnabled(!1);
6157
+ }), api.applyQueryParams({ onboarding: void 0 }, { replace: !0 }), setEnabled(!1);
6160
6158
  },
6161
6159
  [api, setEnabled, userAgent]
6162
6160
  ), completeSurvey = useCallback3(
@@ -6170,7 +6168,13 @@ function Onboarding({
6170
6168
  [api, selectStory, userAgent]
6171
6169
  );
6172
6170
  if (useEffect5(() => {
6173
- api.setQueryParams({ onboarding: "true" }), selectStory("example-button--primary"), api.togglePanel(!0), api.togglePanelPosition("bottom"), api.setSelectedPanel(ADDON_CONTROLS_ID);
6171
+ step === "6:IntentSurvey" && !hasCompletedSurvey && api.emit(ADDON_ONBOARDING_CHANNEL, {
6172
+ from: "onboarding",
6173
+ type: "openSurvey",
6174
+ userAgent
6175
+ });
6176
+ }, [api, hasCompletedSurvey, step, userAgent]), useEffect5(() => {
6177
+ api.setQueryParams({ onboarding: "true" }), selectStory("example-button--primary"), api.togglePanel(!0), api.togglePanelPosition("bottom"), api.setSelectedPanel(ADDON_CONTROLS_ID), api.setSizes({ bottomPanelHeight: 300 });
6174
6178
  }, [api, selectStory]), useEffect5(() => {
6175
6179
  let observer = new MutationObserver(() => {
6176
6180
  setPrimaryControl(document.getElementById("control-primary")), setSaveFromControls(document.getElementById("save-from-controls")), setCreateNewStoryForm(document.getElementById("create-new-story-form"));
@@ -6265,6 +6269,7 @@ function Onboarding({
6265
6269
  return React14.createElement(ThemeProvider2, { theme }, showConfetti && React14.createElement(Confetti, null), step === "1:Intro" ? React14.createElement(SplashScreen, { onDismiss: () => setStep("2:Controls") }) : step === "6:IntentSurvey" ? React14.createElement(
6266
6270
  IntentSurvey,
6267
6271
  {
6272
+ isOpen: enabled,
6268
6273
  onComplete: completeSurvey,
6269
6274
  onDismiss: () => disableOnboarding("6:IntentSurvey")
6270
6275
  }
@@ -1,19 +1,26 @@
1
1
  import {
2
2
  IntentSurvey
3
- } from "./chunk-BTSM33XX.js";
3
+ } from "./chunk-IQU35HZW.js";
4
4
  import {
5
5
  ADDON_ONBOARDING_CHANNEL
6
6
  } from "./chunk-VFOIHBP2.js";
7
7
  import "./chunk-ZYVL3X5E.js";
8
8
 
9
9
  // src/Survey.tsx
10
- import React, { useCallback } from "react";
10
+ import React, { useCallback, useEffect, useState } from "react";
11
11
  import { ThemeProvider, convert } from "storybook/theming";
12
12
  var theme = convert();
13
13
  function Survey({ api }) {
14
- let userAgent = globalThis?.navigator?.userAgent, disableOnboarding = useCallback(() => {
15
- let url = new URL(window.location.href);
16
- url.searchParams.set("onboarding", "false"), history.replaceState({}, "", url.href), api.setQueryParams({ onboarding: "false" });
14
+ let userAgent = globalThis?.navigator?.userAgent, [isOpen, setIsOpen] = useState(!0);
15
+ useEffect(() => {
16
+ api.emit(ADDON_ONBOARDING_CHANNEL, {
17
+ from: "guide",
18
+ type: "openSurvey",
19
+ userAgent
20
+ });
21
+ }, [api, userAgent]);
22
+ let disableOnboarding = useCallback(() => {
23
+ setIsOpen(!1), api.applyQueryParams({ onboarding: void 0 }, { replace: !0 });
17
24
  }, [api]), complete = useCallback(
18
25
  (answers) => {
19
26
  api.emit(ADDON_ONBOARDING_CHANNEL, {
@@ -28,7 +35,7 @@ function Survey({ api }) {
28
35
  type: "dismissSurvey"
29
36
  }), disableOnboarding();
30
37
  }, [api, disableOnboarding]);
31
- return React.createElement(ThemeProvider, { theme }, React.createElement(IntentSurvey, { onComplete: complete, onDismiss: dismiss }));
38
+ return React.createElement(ThemeProvider, { theme }, React.createElement(IntentSurvey, { isOpen, onComplete: complete, onDismiss: dismiss }));
32
39
  }
33
40
  export {
34
41
  Survey as default
@@ -34,6 +34,7 @@ var Content = styled(Modal.Content)(({ theme }) => ({
34
34
  }), Checkbox = styled(Form.Checkbox)({
35
35
  margin: 2
36
36
  }), IntentSurvey = ({
37
+ isOpen,
37
38
  onComplete,
38
39
  onDismiss
39
40
  }) => {
@@ -115,10 +116,10 @@ var Content = styled(Modal.Content)(({ theme }) => ({
115
116
  Modal,
116
117
  {
117
118
  ariaLabel: "Storybook user survey",
118
- defaultOpen: !0,
119
+ open: isOpen,
119
120
  width: 420,
120
- onOpenChange: (isOpen) => {
121
- isOpen || onDismiss();
121
+ onOpenChange: (isOpen2) => {
122
+ isOpen2 || onDismiss();
122
123
  }
123
124
  },
124
125
  React.createElement(Form, { onSubmit: (e) => {
package/dist/manager.js CHANGED
@@ -9,7 +9,7 @@ import React, { Suspense, lazy } from "react";
9
9
  import { createRoot } from "react-dom/client";
10
10
  import { STORY_SPECIFIED } from "storybook/internal/core-events";
11
11
  import { addons, internal_universalChecklistStore as checklistStore } from "storybook/manager-api";
12
- var Onboarding = lazy(() => import("./_browser-chunks/Onboarding-V6NNE74C.js")), Survey = lazy(() => import("./_browser-chunks/Survey-RTIK67MQ.js")), root = null, render = (node) => {
12
+ var Onboarding = lazy(() => import("./_browser-chunks/Onboarding-CWNXQYTK.js")), Survey = lazy(() => import("./_browser-chunks/Survey-DWFAZIJS.js")), root = null, render = (node) => {
13
13
  let container = document.getElementById("storybook-addon-onboarding");
14
14
  container || (container = document.createElement("div"), container.id = "storybook-addon-onboarding", document.body.appendChild(container)), root = root ?? createRoot(container), root.render(React.createElement(Suspense, { fallback: React.createElement("div", null) }, node));
15
15
  };
package/dist/preset.js CHANGED
@@ -1,10 +1,10 @@
1
- import CJS_COMPAT_NODE_URL_9ny4zu38wcf from 'node:url';
2
- import CJS_COMPAT_NODE_PATH_9ny4zu38wcf from 'node:path';
3
- import CJS_COMPAT_NODE_MODULE_9ny4zu38wcf from "node:module";
1
+ import CJS_COMPAT_NODE_URL_eesly6djha4 from 'node:url';
2
+ import CJS_COMPAT_NODE_PATH_eesly6djha4 from 'node:path';
3
+ import CJS_COMPAT_NODE_MODULE_eesly6djha4 from "node:module";
4
4
 
5
- var __filename = CJS_COMPAT_NODE_URL_9ny4zu38wcf.fileURLToPath(import.meta.url);
6
- var __dirname = CJS_COMPAT_NODE_PATH_9ny4zu38wcf.dirname(__filename);
7
- var require = CJS_COMPAT_NODE_MODULE_9ny4zu38wcf.createRequire(import.meta.url);
5
+ var __filename = CJS_COMPAT_NODE_URL_eesly6djha4.fileURLToPath(import.meta.url);
6
+ var __dirname = CJS_COMPAT_NODE_PATH_eesly6djha4.dirname(__filename);
7
+ var require = CJS_COMPAT_NODE_MODULE_eesly6djha4.createRequire(import.meta.url);
8
8
 
9
9
  // ------------------------------------------------------------
10
10
  // end of CJS compatibility banner, injected by Storybook's esbuild configuration
@@ -14,7 +14,7 @@ var require = CJS_COMPAT_NODE_MODULE_9ny4zu38wcf.createRequire(import.meta.url);
14
14
  import { telemetry } from "storybook/internal/telemetry";
15
15
 
16
16
  // package.json
17
- var version = "10.2.0-alpha.8";
17
+ var version = "10.2.0-beta.0";
18
18
 
19
19
  // src/constants.ts
20
20
  var ADDON_ID = "storybook/onboarding", ADDON_ONBOARDING_CHANNEL = `${ADDON_ID}/channel`;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@storybook/addon-onboarding",
3
- "version": "10.2.0-alpha.8",
3
+ "version": "10.2.0-beta.0",
4
4
  "description": "Storybook Onboarding: Help new users learn how to write stories",
5
5
  "keywords": [
6
6
  "storybook",
@@ -48,14 +48,14 @@
48
48
  ],
49
49
  "devDependencies": {
50
50
  "@neoconfetti/react": "^1.0.0",
51
- "@storybook/icons": "^2.0.0",
51
+ "@storybook/icons": "^2.0.1",
52
52
  "react": "^18.2.0",
53
53
  "react-dom": "^18.2.0",
54
54
  "react-joyride": "^2.8.2",
55
- "typescript": "^5.8.3"
55
+ "typescript": "^5.9.3"
56
56
  },
57
57
  "peerDependencies": {
58
- "storybook": "^10.2.0-alpha.8"
58
+ "storybook": "^10.2.0-beta.0"
59
59
  },
60
60
  "publishConfig": {
61
61
  "access": "public"