@openpawlabs/diy-guides-ui 1.7.1 → 1.7.2

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.
@@ -3,6 +3,8 @@ import { type GuideStepUrlMode } from "../utils/guideStepUrl";
3
3
  export interface UseGuideStepUrlSyncOptions {
4
4
  enabled: boolean;
5
5
  rootRef: RefObject<HTMLElement | null>;
6
+ /** Overview anchor from `GuideLayout` — used when the URL has no step. */
7
+ guideTopRef?: RefObject<HTMLElement | null> | null;
6
8
  stepNumbers: number[];
7
9
  mode?: GuideStepUrlMode;
8
10
  stepUrlKey?: string;
@@ -20,5 +22,5 @@ export interface UseGuideStepUrlSyncOptions {
20
22
  * Keeps the page URL in sync with the guide step in view and smooth-scrolls when
21
23
  * the URL names a step (including on load and `hashchange`).
22
24
  */
23
- export declare function useGuideStepUrlSync({ enabled, rootRef, stepNumbers, mode, stepUrlKey, scrollMarginTop, activeStepMinVisibleRatio, onActiveStepChange, }: UseGuideStepUrlSyncOptions): void;
25
+ export declare function useGuideStepUrlSync({ enabled, rootRef, guideTopRef, stepNumbers, mode, stepUrlKey, scrollMarginTop, activeStepMinVisibleRatio, onActiveStepChange, }: UseGuideStepUrlSyncOptions): void;
24
26
  //# sourceMappingURL=useGuideStepUrlSync.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useGuideStepUrlSync.d.ts","sourceRoot":"","sources":["../../src/hooks/useGuideStepUrlSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAEvE,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAqBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,WAAW,EACX,IAAa,EACb,UAAmB,EACnB,eAAmB,EACnB,yBAA+B,EAC/B,kBAAkB,GACnB,EAAE,0BAA0B,QA6K5B"}
1
+ {"version":3,"file":"useGuideStepUrlSync.d.ts","sourceRoot":"","sources":["../../src/hooks/useGuideStepUrlSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkC,KAAK,SAAS,EAAE,MAAM,OAAO,CAAC;AAKvE,OAAO,EAIL,KAAK,gBAAgB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,CAAC;IACvC,0EAA0E;IAC1E,WAAW,CAAC,EAAE,SAAS,CAAC,WAAW,GAAG,IAAI,CAAC,GAAG,IAAI,CAAC;IACnD,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,IAAI,CAAC,EAAE,gBAAgB,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,sFAAsF;IACtF,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB;;;;OAIG;IACH,yBAAyB,CAAC,EAAE,MAAM,CAAC;IACnC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,CAAC;CACpD;AAqBD;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,EAClC,OAAO,EACP,OAAO,EACP,WAAkB,EAClB,WAAW,EACX,IAAa,EACb,UAAmB,EACnB,eAAmB,EACnB,yBAA+B,EAC/B,kBAAkB,GACnB,EAAE,0BAA0B,QAmM5B"}
@@ -6,4 +6,14 @@ export declare function getStepVisibleRatio(rect: DOMRect, innerHeight?: number)
6
6
  * not take over until every earlier step has fallen below that threshold.
7
7
  */
8
8
  export declare function pickActiveGuideStep(stepNumbers: number[], activeStepMinVisibleRatio: number, getRect: (step: number) => DOMRect | null, innerHeight?: number): number | null;
9
+ /** Whether the guide overview anchor is aligned with the top of the viewport. */
10
+ export declare function isGuideOverviewVisible(anchorRect: DOMRect | null, scrollMarginTop: number): boolean;
11
+ /** True when the reader is back at the guide overview — no step should be in the URL. */
12
+ export declare function shouldClearGuideStepFromUrl({ guideTopRect, firstStepRect, scrollMarginTop, activeStepMinVisibleRatio, innerHeight, }: {
13
+ guideTopRect: DOMRect | null;
14
+ firstStepRect: DOMRect | null;
15
+ scrollMarginTop: number;
16
+ activeStepMinVisibleRatio: number;
17
+ innerHeight?: number;
18
+ }): boolean;
9
19
  //# sourceMappingURL=pickActiveGuideStep.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"pickActiveGuideStep.d.ts","sourceRoot":"","sources":["../../src/utils/pickActiveGuideStep.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,EACb,WAAW,GAAE,MAA2B,GACvC,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EAAE,EACrB,yBAAyB,EAAE,MAAM,EACjC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,EACzC,WAAW,GAAE,MAA2B,GACvC,MAAM,GAAG,IAAI,CAiCf"}
1
+ {"version":3,"file":"pickActiveGuideStep.d.ts","sourceRoot":"","sources":["../../src/utils/pickActiveGuideStep.ts"],"names":[],"mappings":"AAAA,mEAAmE;AACnE,wBAAgB,mBAAmB,CACjC,IAAI,EAAE,OAAO,EACb,WAAW,GAAE,MAA2B,GACvC,MAAM,CAUR;AAED;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EAAE,EACrB,yBAAyB,EAAE,MAAM,EACjC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,GAAG,IAAI,EACzC,WAAW,GAAE,MAA2B,GACvC,MAAM,GAAG,IAAI,CAiCf;AAED,iFAAiF;AACjF,wBAAgB,sBAAsB,CACpC,UAAU,EAAE,OAAO,GAAG,IAAI,EAC1B,eAAe,EAAE,MAAM,GACtB,OAAO,CAMT;AAED,yFAAyF;AACzF,wBAAgB,2BAA2B,CAAC,EAC1C,YAAY,EACZ,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,WAAgC,GACjC,EAAE;IACD,YAAY,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,aAAa,EAAE,OAAO,GAAG,IAAI,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,yBAAyB,EAAE,MAAM,CAAC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GAAG,OAAO,CAYV"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openpawlabs/diy-guides-ui",
3
- "version": "1.7.1",
3
+ "version": "1.7.2",
4
4
  "description": "React UI library for building open-source, iFixit-style step-by-step diy guides",
5
5
  "license": "MIT",
6
6
  "type": "module",