@openpawlabs/diy-guides-ui 1.6.0 → 1.7.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.
Files changed (38) hide show
  1. package/dist/components/GuideLayout/GuideLayout.d.ts +7 -1
  2. package/dist/components/GuideLayout/GuideLayout.d.ts.map +1 -1
  3. package/dist/components/GuideLayout/GuideLayout.stories.d.ts +1 -1
  4. package/dist/components/GuideLayout/GuideLayout.stories.d.ts.map +1 -1
  5. package/dist/components/GuideStep/GuideStep.d.ts +5 -2
  6. package/dist/components/GuideStep/GuideStep.d.ts.map +1 -1
  7. package/dist/components/GuideStep/GuideStep.stories.d.ts +1 -1
  8. package/dist/components/GuideStep/GuideStep.stories.d.ts.map +1 -1
  9. package/dist/components/GuideStepList/GuideStepList.d.ts +26 -1
  10. package/dist/components/GuideStepList/GuideStepList.d.ts.map +1 -1
  11. package/dist/components/GuideStepList/GuideStepList.stories.d.ts.map +1 -1
  12. package/dist/components/GuideStepList/index.d.ts +1 -0
  13. package/dist/components/GuideStepList/index.d.ts.map +1 -1
  14. package/dist/components/LinkButton/LinkButton.d.ts.map +1 -1
  15. package/dist/context/guideScrollMargin.d.ts +14 -0
  16. package/dist/context/guideScrollMargin.d.ts.map +1 -0
  17. package/dist/context/guideScrollMargin.test.d.ts +2 -0
  18. package/dist/context/guideScrollMargin.test.d.ts.map +1 -0
  19. package/dist/diy-guides-ui.cjs +6 -6
  20. package/dist/diy-guides-ui.cjs.map +1 -1
  21. package/dist/diy-guides-ui.js +2917 -2676
  22. package/dist/diy-guides-ui.js.map +1 -1
  23. package/dist/hooks/useGuideStepUrlSync.d.ts +24 -0
  24. package/dist/hooks/useGuideStepUrlSync.d.ts.map +1 -0
  25. package/dist/hooks/useGuideStepUrlSync.test.d.ts +2 -0
  26. package/dist/hooks/useGuideStepUrlSync.test.d.ts.map +1 -0
  27. package/dist/index.d.ts +2 -0
  28. package/dist/index.d.ts.map +1 -1
  29. package/dist/style.css +1 -1
  30. package/dist/utils/guideStepUrl.d.ts +11 -0
  31. package/dist/utils/guideStepUrl.d.ts.map +1 -0
  32. package/dist/utils/guideStepUrl.test.d.ts +2 -0
  33. package/dist/utils/guideStepUrl.test.d.ts.map +1 -0
  34. package/dist/utils/pickActiveGuideStep.d.ts +9 -0
  35. package/dist/utils/pickActiveGuideStep.d.ts.map +1 -0
  36. package/dist/utils/pickActiveGuideStep.test.d.ts +2 -0
  37. package/dist/utils/pickActiveGuideStep.test.d.ts.map +1 -0
  38. package/package.json +1 -1
@@ -3,6 +3,12 @@ import { type Difficulty } from "../DifficultyBadge";
3
3
  export interface GuideLayoutProps {
4
4
  /** `GuideLayout.Header`, `GuideLayout.Intro`, `GuideLayout.Sidebar`, and `GuideLayout.Content`. */
5
5
  children: ReactNode;
6
+ /**
7
+ * Extra top scroll margin (px) for fixed site chrome above the guide — passed
8
+ * to nested `GuideStepList`s so deep links land below the header.
9
+ * @default 0
10
+ */
11
+ stepScrollMarginTop?: number;
6
12
  className?: string;
7
13
  }
8
14
  export interface GuideLayoutHeaderProps {
@@ -44,7 +50,7 @@ declare function GuideLayoutContent({ children, className, }: {
44
50
  * beside `Sidebar` (tools/parts), then full-width `Content` (steps). On mobile
45
51
  * the intro row stacks with intro first, then sidebar.
46
52
  */
47
- export declare const GuideLayout: (({ children, className }: GuideLayoutProps) => import("react").JSX.Element) & {
53
+ export declare const GuideLayout: (({ children, stepScrollMarginTop, className, }: GuideLayoutProps) => import("react").JSX.Element) & {
48
54
  Header: typeof GuideLayoutHeader;
49
55
  Intro: typeof GuideLayoutIntro;
50
56
  Sidebar: typeof GuideLayoutSidebar;
@@ -1 +1 @@
1
- {"version":3,"file":"GuideLayout.d.ts","sourceRoot":"","sources":["../../../src/components/GuideLayout/GuideLayout.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvC,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,mGAAmG;IACnG,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,mBAAmB;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,EAAE,sBAAsB,+BA2CxB;AAED,+DAA+D;AAC/D,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,+BAMvE;AAED,iEAAiE;AACjE,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAMA;AAED,kEAAkE;AAClE,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAMA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,6BAC4B,gBAAgB;;;;;CAkBnE,CAAC"}
1
+ {"version":3,"file":"GuideLayout.d.ts","sourceRoot":"","sources":["../../../src/components/GuideLayout/GuideLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAGvC,OAAO,EAEL,KAAK,UAAU,EAChB,MAAM,oBAAoB,CAAC;AAE5B,MAAM,WAAW,gBAAgB;IAC/B,mGAAmG;IACnG,QAAQ,EAAE,SAAS,CAAC;IACpB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,sBAAsB;IACrC,mBAAmB;IACnB,KAAK,EAAE,SAAS,CAAC;IACjB,uFAAuF;IACvF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+DAA+D;IAC/D,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,kDAAkD;IAClD,YAAY,CAAC,EAAE,SAAS,CAAC;IACzB,8DAA8D;IAC9D,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,qBAAqB;IACpC,6DAA6D;IAC7D,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,iBAAS,iBAAiB,CAAC,EACzB,KAAK,EACL,SAAS,EACT,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,IAAI,EACJ,SAAS,GACV,EAAE,sBAAsB,+BA2CxB;AAED,+DAA+D;AAC/D,iBAAS,gBAAgB,CAAC,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,qBAAqB,+BAMvE;AAED,iEAAiE;AACjE,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAMA;AAED,kEAAkE;AAClE,iBAAS,kBAAkB,CAAC,EAC1B,QAAQ,EACR,SAAS,GACV,EAAE;IACD,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,+BAMA;AAED;;;;;GAKG;AACH,eAAO,MAAM,WAAW,mDAKnB,gBAAgB;;;;;CAoBpB,CAAC"}
@@ -1,7 +1,7 @@
1
1
  import type { StoryObj } from "@storybook/react-vite";
2
2
  declare const meta: {
3
3
  title: string;
4
- component: (({ children, className }: import("./GuideLayout").GuideLayoutProps) => import("react").JSX.Element) & {
4
+ component: (({ children, stepScrollMarginTop, className, }: import("./GuideLayout").GuideLayoutProps) => import("react").JSX.Element) & {
5
5
  Header: ({ title, heroImage, heroImageAlt, difficulty, timeEstimate, meta, className, }: import("./GuideLayout").GuideLayoutHeaderProps) => import("react").JSX.Element;
6
6
  Intro: ({ children, className }: import("./GuideLayout").GuideLayoutIntroProps) => import("react").JSX.Element;
7
7
  Sidebar: ({ children, className, }: {
@@ -1 +1 @@
1
- {"version":3,"file":"GuideLayout.stories.d.ts","sourceRoot":"","sources":["../../../src/components/GuideLayout/GuideLayout.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AA8B5D,QAAA,MAAM,IAAI;;;;;;;qBAoDA,CAAC;;;;qBAUS,CAAC;;;;;;;;;;;;;;;CArDe,CAAC;AAErC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAKnC,eAAO,MAAM,SAAS,EAAE,KAwGvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA2B3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAsD5B,CAAC"}
1
+ {"version":3,"file":"GuideLayout.stories.d.ts","sourceRoot":"","sources":["../../../src/components/GuideLayout/GuideLayout.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAoC5D,QAAA,MAAM,IAAI;;;;;;;qBAqDgB,CAAC;;;;qBAS+B,CAAC;;;;;;;;;;;;;;;CArDvB,CAAC;AAErC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAKnC,eAAO,MAAM,SAAS,EAAE,KAwGvB,CAAC;AAEF,eAAO,MAAM,aAAa,EAAE,KA2B3B,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAsD5B,CAAC"}
@@ -52,6 +52,10 @@ export interface GuideStepProps {
52
52
  mediaEditing?: GuideStepMediaEditing;
53
53
  /** Step body — requires `GuideStep.Media` (≥1 image) and `GuideStep.Bullets` (≥1 bullet). */
54
54
  children?: ReactNode;
55
+ /** DOM id for the step section — set automatically by `GuideStepList` when URL sync is on. */
56
+ id?: string;
57
+ /** Extra top offset when scrolling this step into view (px). */
58
+ scrollMarginTop?: number;
55
59
  className?: string;
56
60
  }
57
61
  /**
@@ -111,14 +115,13 @@ declare function GuideStepBullets({ children, className, editing, }: {
111
115
  }): import("react").JSX.Element;
112
116
  /** A single instruction line — dot bullets or semantic caution / reminder / note bullets. */
113
117
  declare function GuideStepBullet(props: GuideStepBulletProps): import("react").JSX.Element;
114
- declare function GuideStepRoot({ number, title, isCompleted, defaultCompleted, onCompletedChange, completable, mediaEditing, children, className, }: GuideStepProps): import("react").JSX.Element;
115
118
  /**
116
119
  * A single numbered guide step: header with number badge and optional completion
117
120
  * checkbox, plus a two-column body (main image left, thumbnails + bullets right).
118
121
  * Requires at least one `MediaFigure` in `GuideStep.Media` and one `GuideStep.Bullet`
119
122
  * in `GuideStep.Bullets`. Up to three images share a hover thumbnail gallery.
120
123
  */
121
- export declare const GuideStep: typeof GuideStepRoot & {
124
+ export declare const GuideStep: import("react").ForwardRefExoticComponent<GuideStepProps & import("react").RefAttributes<HTMLElement>> & {
122
125
  Media: typeof GuideStepMedia;
123
126
  Bullets: typeof GuideStepBullets;
124
127
  Bullet: typeof GuideStepBullet;
@@ -1 +1 @@
1
- {"version":3,"file":"GuideStep.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStep/GuideStep.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"GuideStep.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStep/GuideStep.tsx"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  import type { StoryObj } from "@storybook/react-vite";
2
2
  declare const meta: {
3
3
  title: string;
4
- component: (({ number, title, isCompleted, defaultCompleted, onCompletedChange, completable, mediaEditing, children, className, }: import("./GuideStep").GuideStepProps) => import("react").JSX.Element) & {
4
+ component: import("react").ForwardRefExoticComponent<import("./GuideStep").GuideStepProps & import("react").RefAttributes<HTMLElement>> & {
5
5
  Media: (_props: {
6
6
  children?: import("react").ReactNode;
7
7
  }) => null;
@@ -1 +1 @@
1
- {"version":3,"file":"GuideStep.stories.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStep/GuideStep.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyE5D,QAAA,MAAM,IAAI;;;;oBAqQF,CAAC;;;;qBAIL,CAAC;mBAKY,CAAC;;;;;;;;;;;;;;;;;CAlQgB,CAAC;AAEnC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAgCrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAmC5B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAiDxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAsCxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAoC7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAsC1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAwBvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAyHhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA0B/B,CAAC"}
1
+ {"version":3,"file":"GuideStep.stories.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStep/GuideStep.stories.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAyE5D,QAAA,MAAM,IAAI;;;;oBA2QQ,CAAC;;;;qBAMgC,CAAC;mBAI7B,CAAC;;;;;;;;;;;;;;;;;CAzQU,CAAC;AAEnC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAgCrB,CAAC;AAEF,eAAO,MAAM,cAAc,EAAE,KAmC5B,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAiDxB,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,KAsCxB,CAAC;AAEF,eAAO,MAAM,eAAe,EAAE,KAoC7B,CAAC;AAEF,eAAO,MAAM,YAAY,EAAE,KAsC1B,CAAC;AAEF,eAAO,MAAM,SAAS,EAAE,KAwBvB,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAyHhC,CAAC;AAEF,eAAO,MAAM,iBAAiB,EAAE,KA0B/B,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import { type ReactNode } from "react";
2
+ import { type GuideStepUrlMode } from "../../utils/guideStepUrl";
2
3
  export interface GuideProgress {
3
4
  completed: number;
4
5
  total: number;
@@ -10,6 +11,30 @@ export interface GuideStepListProps {
10
11
  showProgress?: boolean;
11
12
  /** Fires whenever the number of completed steps changes. */
12
13
  onProgressChange?: (progress: GuideProgress) => void;
14
+ /**
15
+ * Keep the page URL in sync with the step in view (`#step-N` by default).
16
+ * Smooth-scrolls on load and when the URL changes; clears the step from the
17
+ * URL when the reader is at the top of the guide.
18
+ * @default true
19
+ */
20
+ syncStepUrl?: boolean;
21
+ /** Where to store the active step in the URL. @default "hash" */
22
+ stepUrlMode?: GuideStepUrlMode;
23
+ /** Query parameter name when `stepUrlMode` is `"search"`. @default "step" */
24
+ stepUrlKey?: string;
25
+ /** Fires when the visible step changes (from scroll or URL). */
26
+ onActiveStepChange?: (step: number | null) => void;
27
+ /**
28
+ * Extra top scroll margin (px) beyond `GuideLayout.stepScrollMarginTop` and
29
+ * the measured sticky progress bar — e.g. additional fixed chrome in embedders.
30
+ * @default 0
31
+ */
32
+ scrollMarginTop?: number;
33
+ /**
34
+ * Fraction of a step's height that must remain visible in the viewport for it
35
+ * to stay the active step while scrolling. @default 0.2
36
+ */
37
+ activeStepMinVisibleRatio?: number;
13
38
  className?: string;
14
39
  }
15
40
  /**
@@ -17,5 +42,5 @@ export interface GuideStepListProps {
17
42
  * completion state, and renders a derived progress bar — so a guide author only
18
43
  * has to drop in steps. Listen to overall progress via `onProgressChange`.
19
44
  */
20
- export declare function GuideStepList({ children, showProgress, onProgressChange, className, }: GuideStepListProps): import("react").JSX.Element;
45
+ export declare function GuideStepList({ children, showProgress, onProgressChange, syncStepUrl, stepUrlMode, stepUrlKey, onActiveStepChange, scrollMarginTop: additionalScrollMarginTop, activeStepMinVisibleRatio, className, }: GuideStepListProps): import("react").JSX.Element;
21
46
  //# sourceMappingURL=GuideStepList.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"GuideStepList.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStepList/GuideStepList.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAIf,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,EAAE,SAAS,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAmB,EACnB,gBAAgB,EAChB,SAAS,GACV,EAAE,kBAAkB,+BAmEpB"}
1
+ {"version":3,"file":"GuideStepList.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStepList/GuideStepList.tsx"],"names":[],"mappings":"AAEA,OAAO,EASL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AAQf,OAAO,EAAkB,KAAK,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGjF,MAAM,WAAW,aAAa;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,kBAAkB;IACjC,8DAA8D;IAC9D,QAAQ,EAAE,SAAS,CAAC;IACpB,qDAAqD;IACrD,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,4DAA4D;IAC5D,gBAAgB,CAAC,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,CAAC;IACrD;;;;;OAKG;IACH,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iEAAiE;IACjE,WAAW,CAAC,EAAE,gBAAgB,CAAC;IAC/B,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,gEAAgE;IAChE,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;IACnD;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;OAGG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAMD;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,EAC5B,QAAQ,EACR,YAAmB,EACnB,gBAAgB,EAChB,WAAkB,EAClB,WAAoB,EACpB,UAAmB,EACnB,kBAAkB,EAClB,eAAe,EAAE,yBAA6B,EAC9C,yBAA+B,EAC/B,SAAS,GACV,EAAE,kBAAkB,+BA8GpB"}
@@ -1 +1 @@
1
- {"version":3,"file":"GuideStepList.stories.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStepList/GuideStepList.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAkBhD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;CAQ4B,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAyDrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAmClC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAmChC,CAAC"}
1
+ {"version":3,"file":"GuideStepList.stories.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStepList/GuideStepList.stories.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAQ,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AA0BhD,QAAA,MAAM,IAAI;;;;;;;;;;;;;;CAQ4B,CAAC;AAEvC,eAAe,IAAI,CAAC;AAEpB,KAAK,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,CAAC,CAAC;AAEnC,eAAO,MAAM,OAAO,EAAE,KAyDrB,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,KAmClC,CAAC;AAEF,eAAO,MAAM,kBAAkB,EAAE,KAmChC,CAAC"}
@@ -1,3 +1,4 @@
1
1
  export { GuideStepList } from "./GuideStepList";
2
2
  export type { GuideStepListProps, GuideProgress } from "./GuideStepList";
3
+ export type { GuideStepUrlMode } from "../../utils/guideStepUrl";
3
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStepList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/components/GuideStepList/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,YAAY,EAAE,kBAAkB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AACzE,YAAY,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"LinkButton.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/LinkButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,kFAAkF;IAClF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,iBAAS,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAEzD;AA8HD,iBAAS,cAAc,CAAC,EACtB,OAAmB,EACnB,IAAW,EACX,IAAI,EACJ,SAAmC,EACnC,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,eAAe,sCA8CjB;AAmRD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;CAA0D,CAAC"}
1
+ {"version":3,"file":"LinkButton.d.ts","sourceRoot":"","sources":["../../../src/components/LinkButton/LinkButton.tsx"],"names":[],"mappings":"AAEA,OAAO,EAOL,KAAK,SAAS,EACf,MAAM,OAAO,CAAC;AACf,OAAO,EAML,KAAK,cAAc,EACpB,MAAM,eAAe,CAAC;AAEvB,mEAAmE;AACnE,MAAM,MAAM,iBAAiB,GAAG,WAAW,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,CAAC;AACvE,wCAAwC;AACxC,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC,CAAC;AAEjE,MAAM,WAAW,mBAAmB;IAClC,iFAAiF;IACjF,IAAI,EAAE,MAAM,CAAC;IACb,qFAAqF;IACrF,QAAQ,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC5B,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,2EAA2E;IAC3E,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC,qFAAqF;IACrF,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;IACvB,oCAAoC;IACpC,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,2EAA2E;IAC3E,aAAa,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IACnD,kFAAkF;IAClF,YAAY,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CACxC;AAED,MAAM,WAAW,eAAe;IAC9B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,wCAAwC;IACxC,IAAI,CAAC,EAAE,cAAc,CAAC;IACtB,mDAAmD;IACnD,IAAI,CAAC,EAAE,SAAS,CAAC;IACjB,kFAAkF;IAClF,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+EAA+E;IAC/E,OAAO,CAAC,EAAE,iBAAiB,CAAC;IAC5B,4FAA4F;IAC5F,QAAQ,EAAE,SAAS,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,mFAAmF;AACnF,iBAAS,cAAc,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAEzD;AA+JD,iBAAS,cAAc,CAAC,EACtB,OAAmB,EACnB,IAAW,EACX,IAAI,EACJ,SAAmC,EACnC,OAAO,EACP,QAAQ,EACR,SAAS,GACV,EAAE,eAAe,sCA8CjB;AAmRD;;;;;;GAMG;AACH,eAAO,MAAM,UAAU;;CAA0D,CAAC"}
@@ -0,0 +1,14 @@
1
+ /** Extra top scroll margin (px) supplied by a page shell such as `GuideLayout`. */
2
+ export declare const GuideScrollMarginContext: import("react").Context<number>;
3
+ export declare function useGuideScrollMargin(): number;
4
+ /** Tailwind `scroll-mt-4` — baseline breathing room below the scroll anchor. */
5
+ export declare const GUIDE_STEP_BASE_SCROLL_MARGIN = 16;
6
+ /** Sticky progress bar `top-2` offset in px. */
7
+ export declare const GUIDE_STEP_PROGRESS_STICKY_TOP = 8;
8
+ export declare function computeGuideStepScrollMarginTop({ siteScrollMarginTop, progressBarHeight, includeProgressBar, additionalScrollMarginTop, }: {
9
+ siteScrollMarginTop?: number;
10
+ progressBarHeight?: number;
11
+ includeProgressBar?: boolean;
12
+ additionalScrollMarginTop?: number;
13
+ }): number;
14
+ //# sourceMappingURL=guideScrollMargin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guideScrollMargin.d.ts","sourceRoot":"","sources":["../../src/context/guideScrollMargin.tsx"],"names":[],"mappings":"AAIA,mFAAmF;AACnF,eAAO,MAAM,wBAAwB,iCAAmB,CAAC;AAEzD,wBAAgB,oBAAoB,IAAI,MAAM,CAE7C;AAED,gFAAgF;AAChF,eAAO,MAAM,6BAA6B,KAAK,CAAC;AAEhD,gDAAgD;AAChD,eAAO,MAAM,8BAA8B,IAAI,CAAC;AAEhD,wBAAgB,+BAA+B,CAAC,EAC9C,mBAAuB,EACvB,iBAAqB,EACrB,kBAA0B,EAC1B,yBAA6B,GAC9B,EAAE;IACD,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,yBAAyB,CAAC,EAAE,MAAM,CAAC;CACpC,GAAG,MAAM,CAWT"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=guideScrollMargin.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guideScrollMargin.test.d.ts","sourceRoot":"","sources":["../../src/context/guideScrollMargin.test.ts"],"names":[],"mappings":""}