@flowsterix/react 0.14.0 → 0.14.1

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.
@@ -56,7 +56,13 @@ export interface TourPopoverPortalProps {
56
56
  * The backdrop will show but the popover content remains invisible.
57
57
  */
58
58
  isInGracePeriod?: boolean;
59
+ /**
60
+ * Callback reporting the popover's rendered height (plus margin).
61
+ * Use as `scrollLockBottomInset` so constrained scroll lets users
62
+ * reach all highlighted content above the popover.
63
+ */
64
+ onHeightChange?: (height: number) => void;
59
65
  }
60
- export declare const TourPopoverPortal: ({ target, children, offset, width, maxWidth, zIndex, placement, role, ariaLabel, ariaDescribedBy, ariaModal, descriptionId, descriptionText, onContainerChange, layoutId, containerComponent, contentComponent, transitionsOverride, isInGracePeriod, }: TourPopoverPortalProps) => import("react").ReactPortal | null;
66
+ export declare const TourPopoverPortal: ({ target, children, offset, width, maxWidth, zIndex, placement, role, ariaLabel, ariaDescribedBy, ariaModal, descriptionId, descriptionText, onContainerChange, layoutId, containerComponent, contentComponent, transitionsOverride, isInGracePeriod, onHeightChange, }: TourPopoverPortalProps) => import("react").ReactPortal | null;
61
67
  export {};
62
68
  //# sourceMappingURL=TourPopoverPortal.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"TourPopoverPortal.d.ts","sourceRoot":"","sources":["../../src/components/TourPopoverPortal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,cAAc,EACd,mBAAmB,EACnB,SAAS,EACT,WAAW,EACZ,MAAM,OAAO,CAAA;AAYd,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAA;AACrD,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAc,MAAM,cAAc,CAAA;AAExE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAA;AAE5D,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAA;AAuB7E,KAAK,kBAAkB,GAAG,WAAW,GACnC,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC,GAAG;IAC3C,KAAK,CAAC,EAAE,aAAa,GAAG,WAAW,CAAA;CACpC,CAAA;AAEH,KAAK,sBAAsB,GAAG,aAAa,CAAC,kBAAkB,CAAC,CAAA;AAoB/D,MAAM,MAAM,qBAAqB,GAAG,UAAU,GAAG,QAAQ,GAAG,QAAQ,GAAG,QAAQ,CAAA;AAE/E,MAAM,WAAW,4BAA4B;IAC3C,SAAS,EAAE,sBAAsB,CAAA;IACjC,OAAO,EAAE,sBAAsB,CAAA;IAC/B,cAAc,EAAE,kBAAkB,GAChC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QACxB,GAAG,EAAE,WAAW,CAAC,WAAW,CAAC,CAAA;QAC7B,KAAK,EAAE,aAAa,CAAA;KACrB,CAAA;IACH,YAAY,EAAE,kBAAkB,GAC9B,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG;QAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAA;IACnD,UAAU,EAAE,qBAAqB,CAAA;IACjC,UAAU,EAAE,OAAO,CAAA;IACnB,cAAc,EAAE,OAAO,CAAA;IACvB,eAAe,EAAE;QACf,IAAI,EAAE,QAAQ,CAAA;QACd,YAAY,EAAE,MAAM,CAAA;QACpB,KAAK,EAAE,aAAa,CAAA;QACpB,aAAa,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,CAAA;KACtD,CAAA;IACD,gBAAgB,EAAE;QAChB,EAAE,CAAC,EAAE,MAAM,CAAA;QACX,IAAI,CAAC,EAAE,MAAM,CAAA;KACd,CAAA;CACF;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,cAAc,CAAA;IACtB,QAAQ,EAAE,CAAC,KAAK,EAAE,4BAA4B,KAAK,SAAS,CAAA;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,KAAK,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IACvB,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAA;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI,KAAK,IAAI,CAAA;IACzD,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,kBAAkB,CAAC,EAAE,sBAAsB,CAAA;IAC3C,gBAAgB,CAAC,EAAE,sBAAsB,CAAA;IACzC,mBAAmB,CAAC,EAAE,OAAO,CAAC,2BAA2B,CAAC,CAAA;IAC1D;;;OAGG;IACH,eAAe,CAAC,EAAE,OAAO,CAAA;CAC1B;AAED,eAAO,MAAM,iBAAiB,GAAI,yPAoB/B,sBAAsB,uCAstBxB,CAAA"}
1
+ {"version":3,"file":"TourPopoverPortal.d.ts","sourceRoot":"","sources":["../../src/components/TourPopoverPortal.tsx"],"names":[],"mappings":"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"}
package/dist/index.cjs CHANGED
@@ -3599,7 +3599,8 @@ var TourPopoverPortal = ({
3599
3599
  containerComponent,
3600
3600
  contentComponent,
3601
3601
  transitionsOverride,
3602
- isInGracePeriod = false
3602
+ isInGracePeriod = false,
3603
+ onHeightChange
3603
3604
  }) => {
3604
3605
  if (!_chunk7SAJNRGZcjs.isBrowser) return null;
3605
3606
  const host = _chunk7SAJNRGZcjs.portalHost.call(void 0, );
@@ -3713,14 +3714,20 @@ var TourPopoverPortal = ({
3713
3714
  floatingPositionCache.set(cacheKey, floatingPosition);
3714
3715
  }
3715
3716
  }, [floatingPosition, target.isScreen, target.stepId]);
3716
- const dockedPosition = _react.useMemo.call(void 0,
3717
- () => ({
3717
+ const dockedPosition = _react.useMemo.call(void 0, () => {
3718
+ if (floatingSize) {
3719
+ return {
3720
+ top: viewport.height - DOCKED_MARGIN - floatingSize.height,
3721
+ left: viewport.width - DOCKED_MARGIN - floatingSize.width,
3722
+ transform: "translate3d(0px, 0px, 0px)"
3723
+ };
3724
+ }
3725
+ return {
3718
3726
  top: viewport.height - DOCKED_MARGIN,
3719
3727
  left: viewport.width - DOCKED_MARGIN,
3720
3728
  transform: "translate3d(-100%, -100%, 0px)"
3721
- }),
3722
- [viewport.height, viewport.width]
3723
- );
3729
+ };
3730
+ }, [viewport.height, viewport.width, floatingSize]);
3724
3731
  const mobilePosition = _react.useMemo.call(void 0,
3725
3732
  () => ({
3726
3733
  top: viewport.height - MOBILE_HORIZONTAL_GUTTER,
@@ -3734,6 +3741,10 @@ var TourPopoverPortal = ({
3734
3741
  setFloatingPosition(dockedPosition);
3735
3742
  }
3736
3743
  }, [dockedPosition, layoutMode]);
3744
+ _react.useEffect.call(void 0, () => {
3745
+ if (!onHeightChange) return;
3746
+ onHeightChange(floatingSize ? floatingSize.height + DOCKED_MARGIN : 0);
3747
+ }, [floatingSize, onHeightChange]);
3737
3748
  _react.useEffect.call(void 0, () => {
3738
3749
  if (layoutMode === "mobile") {
3739
3750
  setFloatingPosition(mobilePosition);
package/dist/index.mjs CHANGED
@@ -3599,7 +3599,8 @@ var TourPopoverPortal = ({
3599
3599
  containerComponent,
3600
3600
  contentComponent,
3601
3601
  transitionsOverride,
3602
- isInGracePeriod = false
3602
+ isInGracePeriod = false,
3603
+ onHeightChange
3603
3604
  }) => {
3604
3605
  if (!isBrowser) return null;
3605
3606
  const host = portalHost();
@@ -3713,14 +3714,20 @@ var TourPopoverPortal = ({
3713
3714
  floatingPositionCache.set(cacheKey, floatingPosition);
3714
3715
  }
3715
3716
  }, [floatingPosition, target.isScreen, target.stepId]);
3716
- const dockedPosition = useMemo13(
3717
- () => ({
3717
+ const dockedPosition = useMemo13(() => {
3718
+ if (floatingSize) {
3719
+ return {
3720
+ top: viewport.height - DOCKED_MARGIN - floatingSize.height,
3721
+ left: viewport.width - DOCKED_MARGIN - floatingSize.width,
3722
+ transform: "translate3d(0px, 0px, 0px)"
3723
+ };
3724
+ }
3725
+ return {
3718
3726
  top: viewport.height - DOCKED_MARGIN,
3719
3727
  left: viewport.width - DOCKED_MARGIN,
3720
3728
  transform: "translate3d(-100%, -100%, 0px)"
3721
- }),
3722
- [viewport.height, viewport.width]
3723
- );
3729
+ };
3730
+ }, [viewport.height, viewport.width, floatingSize]);
3724
3731
  const mobilePosition = useMemo13(
3725
3732
  () => ({
3726
3733
  top: viewport.height - MOBILE_HORIZONTAL_GUTTER,
@@ -3734,6 +3741,10 @@ var TourPopoverPortal = ({
3734
3741
  setFloatingPosition(dockedPosition);
3735
3742
  }
3736
3743
  }, [dockedPosition, layoutMode]);
3744
+ useEffect17(() => {
3745
+ if (!onHeightChange) return;
3746
+ onHeightChange(floatingSize ? floatingSize.height + DOCKED_MARGIN : 0);
3747
+ }, [floatingSize, onHeightChange]);
3737
3748
  useEffect17(() => {
3738
3749
  if (layoutMode === "mobile") {
3739
3750
  setFloatingPosition(mobilePosition);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@flowsterix/react",
3
- "version": "0.14.0",
3
+ "version": "0.14.1",
4
4
  "description": "React bindings for Flowsterix - guided tours and onboarding flows",
5
5
  "license": "MIT",
6
6
  "repository": {