@robertlinde/react-tour-kit 0.8.9 → 1.0.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.
- package/CHANGELOG.md +48 -0
- package/MIGRATION.md +205 -0
- package/README.md +401 -850
- package/dist/react-native-platform/hooks/use-tour-scroll-view.hook.d.ts +14 -0
- package/dist/react-native-platform/hooks/use-tour-scroll-view.hook.d.ts.map +1 -0
- package/dist/react-native-platform/hooks/use-tour-scroll-view.hook.js +21 -0
- package/dist/react-native-platform/hooks/use-tour-scroll-view.hook.js.map +1 -0
- package/dist/react-native-platform/hooks/use-tour-target.hook.d.ts +15 -0
- package/dist/react-native-platform/hooks/use-tour-target.hook.d.ts.map +1 -0
- package/dist/react-native-platform/hooks/use-tour-target.hook.js +28 -0
- package/dist/react-native-platform/hooks/use-tour-target.hook.js.map +1 -0
- package/dist/react-native-platform/host-store.d.ts +24 -0
- package/dist/react-native-platform/host-store.d.ts.map +1 -0
- package/dist/react-native-platform/host-store.js +63 -0
- package/dist/react-native-platform/host-store.js.map +1 -0
- package/dist/react-native-platform/insets.util.d.ts +11 -0
- package/dist/react-native-platform/insets.util.d.ts.map +1 -0
- package/dist/react-native-platform/insets.util.js +31 -0
- package/dist/react-native-platform/insets.util.js.map +1 -0
- package/dist/react-native-platform/layer/native-renderer.d.ts +7 -0
- package/dist/react-native-platform/layer/native-renderer.d.ts.map +1 -0
- package/dist/react-native-platform/layer/native-renderer.js +496 -0
- package/dist/react-native-platform/layer/native-renderer.js.map +1 -0
- package/dist/react-native-platform/layer/tour-host.d.ts +13 -0
- package/dist/react-native-platform/layer/tour-host.d.ts.map +1 -0
- package/dist/react-native-platform/layer/tour-host.js +70 -0
- package/dist/react-native-platform/layer/tour-host.js.map +1 -0
- package/dist/react-native-platform/measure.util.d.ts +20 -0
- package/dist/react-native-platform/measure.util.d.ts.map +1 -0
- package/dist/react-native-platform/measure.util.js +100 -0
- package/dist/react-native-platform/measure.util.js.map +1 -0
- package/dist/react-native-platform/native-context.d.ts +12 -0
- package/dist/react-native-platform/native-context.d.ts.map +1 -0
- package/dist/react-native-platform/native-context.js +4 -0
- package/dist/react-native-platform/native-context.js.map +1 -0
- package/dist/react-native-platform/native-environment.d.ts +14 -0
- package/dist/react-native-platform/native-environment.d.ts.map +1 -0
- package/dist/react-native-platform/native-environment.js +20 -0
- package/dist/react-native-platform/native-environment.js.map +1 -0
- package/dist/react-native-platform/native-platform.d.ts +19 -0
- package/dist/react-native-platform/native-platform.d.ts.map +1 -0
- package/dist/react-native-platform/native-platform.js +265 -0
- package/dist/react-native-platform/native-platform.js.map +1 -0
- package/dist/react-native-platform/reduced-motion.d.ts +4 -0
- package/dist/react-native-platform/reduced-motion.d.ts.map +1 -0
- package/dist/react-native-platform/reduced-motion.js +44 -0
- package/dist/react-native-platform/reduced-motion.js.map +1 -0
- package/dist/react-native-platform/registry.d.ts +18 -0
- package/dist/react-native-platform/registry.d.ts.map +1 -0
- package/dist/react-native-platform/registry.js +51 -0
- package/dist/react-native-platform/registry.js.map +1 -0
- package/dist/react-native-platform/tour-provider.d.ts +16 -3
- package/dist/react-native-platform/tour-provider.d.ts.map +1 -0
- package/dist/react-native-platform/tour-provider.js +92 -211
- package/dist/react-native-platform/tour-provider.js.map +1 -1
- package/dist/react-native.d.ts +14 -10
- package/dist/react-native.d.ts.map +1 -0
- package/dist/react-native.js +7 -7
- package/dist/react-native.js.map +1 -1
- package/dist/react-platform/dom/elements.util.d.ts +35 -0
- package/dist/react-platform/dom/elements.util.d.ts.map +1 -0
- package/dist/react-platform/dom/elements.util.js +155 -0
- package/dist/react-platform/dom/elements.util.js.map +1 -0
- package/dist/react-platform/dom/occluders.util.d.ts +13 -0
- package/dist/react-platform/dom/occluders.util.d.ts.map +1 -0
- package/dist/react-platform/dom/occluders.util.js +75 -0
- package/dist/react-platform/dom/occluders.util.js.map +1 -0
- package/dist/react-platform/dom/scroll-lock.util.d.ts +13 -0
- package/dist/react-platform/dom/scroll-lock.util.d.ts.map +1 -0
- package/dist/react-platform/dom/scroll-lock.util.js +219 -0
- package/dist/react-platform/dom/scroll-lock.util.js.map +1 -0
- package/dist/react-platform/dom/scroll.util.d.ts +44 -0
- package/dist/react-platform/dom/scroll.util.d.ts.map +1 -0
- package/dist/react-platform/dom/scroll.util.js +250 -0
- package/dist/react-platform/dom/scroll.util.js.map +1 -0
- package/dist/react-platform/dom/viewport.util.d.ts +16 -0
- package/dist/react-platform/dom/viewport.util.d.ts.map +1 -0
- package/dist/react-platform/dom/viewport.util.js +65 -0
- package/dist/react-platform/dom/viewport.util.js.map +1 -0
- package/dist/react-platform/dom/web-platform.d.ts +15 -0
- package/dist/react-platform/dom/web-platform.d.ts.map +1 -0
- package/dist/react-platform/dom/web-platform.js +169 -0
- package/dist/react-platform/dom/web-platform.js.map +1 -0
- package/dist/react-platform/layer/styles.d.ts +12 -0
- package/dist/react-platform/layer/styles.d.ts.map +1 -0
- package/dist/react-platform/layer/styles.js +285 -0
- package/dist/react-platform/layer/styles.js.map +1 -0
- package/dist/react-platform/layer/web-renderer.d.ts +4 -0
- package/dist/react-platform/layer/web-renderer.d.ts.map +1 -0
- package/dist/react-platform/layer/web-renderer.js +390 -0
- package/dist/react-platform/layer/web-renderer.js.map +1 -0
- package/dist/react-platform/tour-provider.d.ts +9 -3
- package/dist/react-platform/tour-provider.d.ts.map +1 -0
- package/dist/react-platform/tour-provider.js +28 -218
- package/dist/react-platform/tour-provider.js.map +1 -1
- package/dist/react.d.ts +10 -10
- package/dist/react.d.ts.map +1 -0
- package/dist/react.js +5 -7
- package/dist/react.js.map +1 -1
- package/dist/shared/engine/abort.util.d.ts +17 -0
- package/dist/shared/engine/abort.util.d.ts.map +1 -0
- package/dist/shared/engine/abort.util.js +72 -0
- package/dist/shared/engine/abort.util.js.map +1 -0
- package/dist/shared/engine/report.util.d.ts +12 -0
- package/dist/shared/engine/report.util.d.ts.map +1 -0
- package/dist/shared/engine/report.util.js +51 -0
- package/dist/shared/engine/report.util.js.map +1 -0
- package/dist/shared/engine/tour-adapter.type.d.ts +67 -0
- package/dist/shared/engine/tour-adapter.type.d.ts.map +1 -0
- package/dist/shared/engine/tour-adapter.type.js +2 -0
- package/dist/shared/engine/tour-adapter.type.js.map +1 -0
- package/dist/shared/engine/tour-engine.d.ts +101 -0
- package/dist/shared/engine/tour-engine.d.ts.map +1 -0
- package/dist/shared/engine/tour-engine.js +835 -0
- package/dist/shared/engine/tour-engine.js.map +1 -0
- package/dist/shared/geometry/box.util.d.ts +39 -0
- package/dist/shared/geometry/box.util.d.ts.map +1 -0
- package/dist/shared/geometry/box.util.js +146 -0
- package/dist/shared/geometry/box.util.js.map +1 -0
- package/dist/shared/geometry/compute-tooltip-layout.util.d.ts +60 -0
- package/dist/shared/geometry/compute-tooltip-layout.util.d.ts.map +1 -0
- package/dist/shared/geometry/compute-tooltip-layout.util.js +148 -0
- package/dist/shared/geometry/compute-tooltip-layout.util.js.map +1 -0
- package/dist/shared/geometry/geometry.type.d.ts +34 -0
- package/dist/shared/geometry/geometry.type.d.ts.map +1 -0
- package/dist/shared/geometry/geometry.type.js +2 -0
- package/dist/shared/geometry/geometry.type.js.map +1 -0
- package/dist/shared/geometry/reveal.util.d.ts +38 -0
- package/dist/shared/geometry/reveal.util.d.ts.map +1 -0
- package/dist/shared/geometry/reveal.util.js +135 -0
- package/dist/shared/geometry/reveal.util.js.map +1 -0
- package/dist/shared/geometry/target-visibility.util.d.ts +10 -0
- package/dist/shared/geometry/target-visibility.util.d.ts.map +1 -0
- package/dist/shared/geometry/target-visibility.util.js +29 -0
- package/dist/shared/geometry/target-visibility.util.js.map +1 -0
- package/dist/shared/platform/create-tour-adapter.d.ts +9 -0
- package/dist/shared/platform/create-tour-adapter.d.ts.map +1 -0
- package/dist/shared/platform/create-tour-adapter.js +145 -0
- package/dist/shared/platform/create-tour-adapter.js.map +1 -0
- package/dist/shared/platform/platform.type.d.ts +77 -0
- package/dist/shared/platform/platform.type.d.ts.map +1 -0
- package/dist/shared/platform/platform.type.js +2 -0
- package/dist/shared/platform/platform.type.js.map +1 -0
- package/dist/shared/platform/reveal-in-scroll-containers.d.ts +27 -0
- package/dist/shared/platform/reveal-in-scroll-containers.d.ts.map +1 -0
- package/dist/shared/platform/reveal-in-scroll-containers.js +49 -0
- package/dist/shared/platform/reveal-in-scroll-containers.js.map +1 -0
- package/dist/shared/react/tour-context.d.ts +7 -0
- package/dist/shared/react/tour-context.d.ts.map +1 -0
- package/dist/shared/react/tour-context.js +23 -0
- package/dist/shared/react/tour-context.js.map +1 -0
- package/dist/shared/react/tour-provider-core.d.ts +41 -0
- package/dist/shared/react/tour-provider-core.d.ts.map +1 -0
- package/dist/shared/react/tour-provider-core.js +24 -0
- package/dist/shared/react/tour-provider-core.js.map +1 -0
- package/dist/shared/react/tour-root.d.ts +14 -0
- package/dist/shared/react/tour-root.d.ts.map +1 -0
- package/dist/shared/react/tour-root.js +22 -0
- package/dist/shared/react/tour-root.js.map +1 -0
- package/dist/shared/react/use-isomorphic-layout-effect.hook.d.ts +4 -0
- package/dist/shared/react/use-isomorphic-layout-effect.hook.d.ts.map +1 -0
- package/dist/shared/react/use-isomorphic-layout-effect.hook.js +5 -0
- package/dist/shared/react/use-isomorphic-layout-effect.hook.js.map +1 -0
- package/dist/shared/react/use-tour-view.hook.d.ts +5 -0
- package/dist/shared/react/use-tour-view.hook.d.ts.map +1 -0
- package/dist/shared/react/use-tour-view.hook.js +14 -0
- package/dist/shared/react/use-tour-view.hook.js.map +1 -0
- package/dist/shared/react/use-tour.hook.d.ts +7 -0
- package/dist/shared/react/use-tour.hook.d.ts.map +1 -0
- package/dist/shared/react/use-tour.hook.js +10 -0
- package/dist/shared/react/use-tour.hook.js.map +1 -0
- package/dist/shared/renderer/default-tooltip.d.ts +5 -0
- package/dist/shared/renderer/default-tooltip.d.ts.map +1 -0
- package/dist/shared/renderer/default-tooltip.js +13 -0
- package/dist/shared/renderer/default-tooltip.js.map +1 -0
- package/dist/shared/renderer/motion.d.ts +29 -0
- package/dist/shared/renderer/motion.d.ts.map +1 -0
- package/dist/shared/renderer/motion.js +49 -0
- package/dist/shared/renderer/motion.js.map +1 -0
- package/dist/shared/renderer/renderer-context.d.ts +17 -0
- package/dist/shared/renderer/renderer-context.d.ts.map +1 -0
- package/dist/shared/renderer/renderer-context.js +16 -0
- package/dist/shared/renderer/renderer-context.js.map +1 -0
- package/dist/shared/renderer/renderer.type.d.ts +164 -0
- package/dist/shared/renderer/renderer.type.d.ts.map +1 -0
- package/dist/shared/renderer/renderer.type.js +2 -0
- package/dist/shared/renderer/renderer.type.js.map +1 -0
- package/dist/shared/renderer/tooltip-model.d.ts +32 -0
- package/dist/shared/renderer/tooltip-model.d.ts.map +1 -0
- package/dist/shared/renderer/tooltip-model.js +24 -0
- package/dist/shared/renderer/tooltip-model.js.map +1 -0
- package/dist/shared/renderer/tour-overlay.d.ts +24 -0
- package/dist/shared/renderer/tour-overlay.d.ts.map +1 -0
- package/dist/shared/renderer/tour-overlay.js +228 -0
- package/dist/shared/renderer/tour-overlay.js.map +1 -0
- package/dist/shared/types/tour-context.type.d.ts +21 -11
- package/dist/shared/types/tour-context.type.d.ts.map +1 -0
- package/dist/shared/types/tour-end-info.type.d.ts +19 -2
- package/dist/shared/types/tour-end-info.type.d.ts.map +1 -0
- package/dist/shared/types/tour-i18n.type.d.ts +8 -0
- package/dist/shared/types/tour-i18n.type.d.ts.map +1 -0
- package/dist/shared/types/tour-step.type.d.ts +35 -6
- package/dist/shared/types/tour-step.type.d.ts.map +1 -0
- package/dist/shared/types/tour-theme.type.d.ts +22 -2
- package/dist/shared/types/tour-theme.type.d.ts.map +1 -0
- package/dist/shared/types/tour-theme.type.js +1 -16
- package/dist/shared/types/tour-theme.type.js.map +1 -1
- package/dist/shared/types/tour-tooltip-props.type.d.ts +21 -17
- package/dist/shared/types/tour-tooltip-props.type.d.ts.map +1 -0
- package/dist/shared/utils/frame.util.d.ts +6 -0
- package/dist/shared/utils/frame.util.d.ts.map +1 -0
- package/dist/shared/utils/frame.util.js +20 -0
- package/dist/shared/utils/frame.util.js.map +1 -0
- package/dist/shared/utils/get-truncated-dots.util.d.ts +13 -7
- package/dist/shared/utils/get-truncated-dots.util.d.ts.map +1 -0
- package/dist/shared/utils/get-truncated-dots.util.js +30 -30
- package/dist/shared/utils/get-truncated-dots.util.js.map +1 -1
- package/dist/shared/utils/i18n.util.d.ts +7 -0
- package/dist/shared/utils/i18n.util.d.ts.map +1 -0
- package/dist/shared/utils/i18n.util.js +34 -0
- package/dist/shared/utils/i18n.util.js.map +1 -0
- package/dist/shared/utils/theme.util.d.ts +6 -0
- package/dist/shared/utils/theme.util.d.ts.map +1 -0
- package/dist/shared/utils/theme.util.js +31 -0
- package/dist/shared/utils/theme.util.js.map +1 -0
- package/package.json +72 -55
- package/src/react-native-platform/hooks/use-tour-scroll-view.hook.ts +24 -0
- package/src/react-native-platform/hooks/use-tour-target.hook.ts +30 -0
- package/src/react-native-platform/host-store.ts +92 -0
- package/src/react-native-platform/insets.util.ts +39 -0
- package/src/react-native-platform/layer/native-renderer.tsx +776 -0
- package/src/react-native-platform/layer/tour-host.tsx +105 -0
- package/src/react-native-platform/measure.util.ts +140 -0
- package/src/react-native-platform/native-context.ts +15 -0
- package/src/react-native-platform/native-environment.ts +33 -0
- package/src/react-native-platform/native-platform.ts +368 -0
- package/src/react-native-platform/reduced-motion.ts +47 -0
- package/src/react-native-platform/registry.ts +70 -0
- package/src/react-native-platform/tour-provider.tsx +148 -0
- package/src/react-native.ts +15 -0
- package/src/react-platform/dom/elements.util.ts +191 -0
- package/src/react-platform/dom/occluders.util.ts +88 -0
- package/src/react-platform/dom/scroll-lock.util.ts +261 -0
- package/src/react-platform/dom/scroll.util.ts +310 -0
- package/src/react-platform/dom/viewport.util.ts +74 -0
- package/src/react-platform/dom/web-platform.ts +208 -0
- package/src/react-platform/layer/styles.ts +286 -0
- package/src/react-platform/layer/web-renderer.tsx +594 -0
- package/src/react-platform/tour-provider.tsx +44 -0
- package/src/react.ts +13 -0
- package/src/shared/engine/abort.util.ts +84 -0
- package/src/shared/engine/report.util.ts +58 -0
- package/src/shared/engine/tour-adapter.type.ts +73 -0
- package/src/shared/engine/tour-engine.ts +1147 -0
- package/src/shared/geometry/box.util.ts +185 -0
- package/src/shared/geometry/compute-tooltip-layout.util.ts +238 -0
- package/src/shared/geometry/geometry.type.ts +38 -0
- package/src/shared/geometry/reveal.util.ts +190 -0
- package/src/shared/geometry/target-visibility.util.ts +44 -0
- package/src/shared/platform/create-tour-adapter.ts +169 -0
- package/src/shared/platform/platform.type.ts +81 -0
- package/src/shared/platform/reveal-in-scroll-containers.ts +78 -0
- package/src/shared/react/tour-context.ts +28 -0
- package/src/shared/react/tour-provider-core.ts +67 -0
- package/src/shared/react/tour-root.tsx +34 -0
- package/src/shared/react/use-isomorphic-layout-effect.hook.ts +7 -0
- package/src/shared/react/use-tour-view.hook.ts +17 -0
- package/src/shared/react/use-tour.hook.ts +11 -0
- package/src/shared/renderer/default-tooltip.tsx +52 -0
- package/src/shared/renderer/motion.ts +59 -0
- package/src/shared/renderer/renderer-context.ts +33 -0
- package/src/shared/renderer/renderer.type.ts +183 -0
- package/src/shared/renderer/tooltip-model.ts +44 -0
- package/src/shared/renderer/tour-overlay.tsx +453 -0
- package/src/shared/types/tour-context.type.ts +23 -0
- package/src/shared/types/tour-end-info.type.ts +32 -0
- package/src/shared/types/tour-i18n.type.ts +15 -0
- package/src/shared/types/tour-step.type.ts +40 -0
- package/src/shared/types/tour-theme.type.ts +28 -0
- package/src/shared/types/tour-tooltip-props.type.ts +27 -0
- package/src/shared/utils/frame.util.ts +21 -0
- package/src/shared/utils/get-truncated-dots.util.ts +46 -0
- package/src/shared/utils/i18n.util.ts +44 -0
- package/src/shared/utils/theme.util.ts +38 -0
- package/dist/react-native-platform/components/index.d.ts +0 -2
- package/dist/react-native-platform/components/index.js +0 -3
- package/dist/react-native-platform/components/index.js.map +0 -1
- package/dist/react-native-platform/components/tour-overlay.d.ts +0 -3
- package/dist/react-native-platform/components/tour-overlay.js +0 -26
- package/dist/react-native-platform/components/tour-overlay.js.map +0 -1
- package/dist/react-native-platform/components/tour-tooltip.d.ts +0 -3
- package/dist/react-native-platform/components/tour-tooltip.js +0 -167
- package/dist/react-native-platform/components/tour-tooltip.js.map +0 -1
- package/dist/react-native-platform/hooks/index.d.ts +0 -1
- package/dist/react-native-platform/hooks/index.js +0 -2
- package/dist/react-native-platform/hooks/index.js.map +0 -1
- package/dist/react-native-platform/hooks/use-tour-target.d.ts +0 -2
- package/dist/react-native-platform/hooks/use-tour-target.js +0 -13
- package/dist/react-native-platform/hooks/use-tour-target.js.map +0 -1
- package/dist/react-native-platform/index.d.ts +0 -7
- package/dist/react-native-platform/index.js +0 -7
- package/dist/react-native-platform/index.js.map +0 -1
- package/dist/react-native-platform/platform-adapter.d.ts +0 -2
- package/dist/react-native-platform/platform-adapter.js +0 -84
- package/dist/react-native-platform/platform-adapter.js.map +0 -1
- package/dist/react-native-platform/target-registry.d.ts +0 -10
- package/dist/react-native-platform/target-registry.js +0 -17
- package/dist/react-native-platform/target-registry.js.map +0 -1
- package/dist/react-native-platform/types/tour-provider.props.type.d.ts +0 -12
- package/dist/react-native-platform/types/tour-provider.props.type.js +0 -2
- package/dist/react-native-platform/types/tour-provider.props.type.js.map +0 -1
- package/dist/react-platform/components/index.d.ts +0 -2
- package/dist/react-platform/components/index.js +0 -3
- package/dist/react-platform/components/index.js.map +0 -1
- package/dist/react-platform/components/tour-overlay.d.ts +0 -3
- package/dist/react-platform/components/tour-overlay.js +0 -29
- package/dist/react-platform/components/tour-overlay.js.map +0 -1
- package/dist/react-platform/components/tour-tooltip.d.ts +0 -2
- package/dist/react-platform/components/tour-tooltip.js +0 -155
- package/dist/react-platform/components/tour-tooltip.js.map +0 -1
- package/dist/react-platform/index.d.ts +0 -6
- package/dist/react-platform/index.js +0 -6
- package/dist/react-platform/index.js.map +0 -1
- package/dist/react-platform/platform-adapter.d.ts +0 -2
- package/dist/react-platform/platform-adapter.js +0 -101
- package/dist/react-platform/platform-adapter.js.map +0 -1
- package/dist/react-platform/types/tour-provider.props.type.d.ts +0 -12
- package/dist/react-platform/types/tour-provider.props.type.js +0 -2
- package/dist/react-platform/types/tour-provider.props.type.js.map +0 -1
- package/dist/react-platform/utils/find-visible-element.util.d.ts +0 -1
- package/dist/react-platform/utils/find-visible-element.util.js +0 -11
- package/dist/react-platform/utils/find-visible-element.util.js.map +0 -1
- package/dist/react-platform/utils/index.d.ts +0 -1
- package/dist/react-platform/utils/index.js +0 -2
- package/dist/react-platform/utils/index.js.map +0 -1
- package/dist/shared/context/index.d.ts +0 -1
- package/dist/shared/context/index.js +0 -2
- package/dist/shared/context/index.js.map +0 -1
- package/dist/shared/context/tour-context.d.ts +0 -3
- package/dist/shared/context/tour-context.js +0 -14
- package/dist/shared/context/tour-context.js.map +0 -1
- package/dist/shared/hooks/index.d.ts +0 -1
- package/dist/shared/hooks/index.js +0 -2
- package/dist/shared/hooks/index.js.map +0 -1
- package/dist/shared/hooks/use-tour.hook.d.ts +0 -2
- package/dist/shared/hooks/use-tour.hook.js +0 -7
- package/dist/shared/hooks/use-tour.hook.js.map +0 -1
- package/dist/shared/index.d.ts +0 -7
- package/dist/shared/index.js +0 -6
- package/dist/shared/index.js.map +0 -1
- package/dist/shared/types/index.d.ts +0 -10
- package/dist/shared/types/index.js +0 -2
- package/dist/shared/types/index.js.map +0 -1
- package/dist/shared/types/platform-adapter.type.d.ts +0 -24
- package/dist/shared/types/platform-adapter.type.js +0 -2
- package/dist/shared/types/platform-adapter.type.js.map +0 -1
- package/dist/shared/types/rect.type.d.ts +0 -11
- package/dist/shared/types/rect.type.js +0 -2
- package/dist/shared/types/rect.type.js.map +0 -1
- package/dist/shared/types/tour-overlay-props.type.d.ts +0 -8
- package/dist/shared/types/tour-overlay-props.type.js +0 -2
- package/dist/shared/types/tour-overlay-props.type.js.map +0 -1
- package/dist/shared/utils/calculate-tooltip-position.util.d.ts +0 -14
- package/dist/shared/utils/calculate-tooltip-position.util.js +0 -49
- package/dist/shared/utils/calculate-tooltip-position.util.js.map +0 -1
- package/dist/shared/utils/index.d.ts +0 -3
- package/dist/shared/utils/index.js +0 -3
- package/dist/shared/utils/index.js.map +0 -1
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type ComponentRef, type RefObject } from 'react';
|
|
2
|
+
import type { ScrollView } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Lets the tour scroll a `ScrollView`, `FlatList` or `SectionList` so that targets inside it are
|
|
5
|
+
* brought into view. Attach the returned ref to the list, or pass the ref the list already has.
|
|
6
|
+
*
|
|
7
|
+
* @example
|
|
8
|
+
* ```tsx
|
|
9
|
+
* const listRef = useTourScrollView();
|
|
10
|
+
* return <ScrollView ref={listRef}>…</ScrollView>;
|
|
11
|
+
* ```
|
|
12
|
+
*/
|
|
13
|
+
export declare function useTourScrollView<T = ComponentRef<typeof ScrollView>>(existingRef?: RefObject<T | null>): RefObject<T | null>;
|
|
14
|
+
//# sourceMappingURL=use-tour-scroll-view.hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tour-scroll-view.hook.d.ts","sourceRoot":"","sources":["../../../src/react-native-platform/hooks/use-tour-scroll-view.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAC5E,OAAO,KAAK,EAAC,UAAU,EAAC,MAAM,cAAc,CAAC;AAI7C;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,UAAU,CAAC,EACnE,WAAW,CAAC,EAAE,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,GAChC,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAMrB"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { useContext, useRef } from 'react';
|
|
2
|
+
import { useIsomorphicLayoutEffect } from '../../shared/react/use-isomorphic-layout-effect.hook.js';
|
|
3
|
+
import { NativeTourContext } from '../native-context.js';
|
|
4
|
+
/**
|
|
5
|
+
* Lets the tour scroll a `ScrollView`, `FlatList` or `SectionList` so that targets inside it are
|
|
6
|
+
* brought into view. Attach the returned ref to the list, or pass the ref the list already has.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const listRef = useTourScrollView();
|
|
11
|
+
* return <ScrollView ref={listRef}>…</ScrollView>;
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export function useTourScrollView(existingRef) {
|
|
15
|
+
const ownRef = useRef(null);
|
|
16
|
+
const ref = existingRef ?? ownRef;
|
|
17
|
+
const context = useContext(NativeTourContext);
|
|
18
|
+
useIsomorphicLayoutEffect(() => context?.registry.registerScrollView(ref), [context, ref]);
|
|
19
|
+
return ref;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=use-tour-scroll-view.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tour-scroll-view.hook.js","sourceRoot":"","sources":["../../../src/react-native-platform/hooks/use-tour-scroll-view.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,UAAU,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAC,yBAAyB,EAAC,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;GASG;AACH,MAAM,UAAU,iBAAiB,CAC/B,WAAiC;IAEjC,MAAM,MAAM,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IACtC,MAAM,GAAG,GAAG,WAAW,IAAI,MAAM,CAAC;IAClC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,yBAAyB,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,kBAAkB,CAAC,GAAG,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;IAC3F,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { type ComponentRef, type RefObject } from 'react';
|
|
2
|
+
import type { View } from 'react-native';
|
|
3
|
+
/**
|
|
4
|
+
* Registers a view as a tour target. Attach the returned ref to the view and use `id` as the
|
|
5
|
+
* step's `target`. The ref is typed for `View` (and components that forward to it, such as
|
|
6
|
+
* `Pressable`); pass a type argument for other components.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```tsx
|
|
10
|
+
* const ref = useTourTarget('profile-button');
|
|
11
|
+
* return <Pressable ref={ref}>…</Pressable>;
|
|
12
|
+
* ```
|
|
13
|
+
*/
|
|
14
|
+
export declare function useTourTarget<T = ComponentRef<typeof View>>(id: string): RefObject<T | null>;
|
|
15
|
+
//# sourceMappingURL=use-tour-target.hook.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tour-target.hook.d.ts","sourceRoot":"","sources":["../../../src/react-native-platform/hooks/use-tour-target.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,YAAY,EAAE,KAAK,SAAS,EAAqB,MAAM,OAAO,CAAC;AAC5E,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,cAAc,CAAC;AAKvC;;;;;;;;;;GAUG;AACH,wBAAgB,aAAa,CAAC,CAAC,GAAG,YAAY,CAAC,OAAO,IAAI,CAAC,EAAE,EAAE,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC,GAAG,IAAI,CAAC,CAY5F"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { useContext, useRef } from 'react';
|
|
2
|
+
import { devWarn } from '../../shared/engine/report.util.js';
|
|
3
|
+
import { useIsomorphicLayoutEffect } from '../../shared/react/use-isomorphic-layout-effect.hook.js';
|
|
4
|
+
import { NativeTourContext } from '../native-context.js';
|
|
5
|
+
/**
|
|
6
|
+
* Registers a view as a tour target. Attach the returned ref to the view and use `id` as the
|
|
7
|
+
* step's `target`. The ref is typed for `View` (and components that forward to it, such as
|
|
8
|
+
* `Pressable`); pass a type argument for other components.
|
|
9
|
+
*
|
|
10
|
+
* @example
|
|
11
|
+
* ```tsx
|
|
12
|
+
* const ref = useTourTarget('profile-button');
|
|
13
|
+
* return <Pressable ref={ref}>…</Pressable>;
|
|
14
|
+
* ```
|
|
15
|
+
*/
|
|
16
|
+
export function useTourTarget(id) {
|
|
17
|
+
const ref = useRef(null);
|
|
18
|
+
const context = useContext(NativeTourContext);
|
|
19
|
+
useIsomorphicLayoutEffect(() => {
|
|
20
|
+
if (!context) {
|
|
21
|
+
devWarn(`useTourTarget('${id}') was called outside of <TourProvider>; the target cannot be found.`);
|
|
22
|
+
return undefined;
|
|
23
|
+
}
|
|
24
|
+
return context.registry.registerTarget(id, ref);
|
|
25
|
+
}, [context, id]);
|
|
26
|
+
return ref;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=use-tour-target.hook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-tour-target.hook.js","sourceRoot":"","sources":["../../../src/react-native-platform/hooks/use-tour-target.hook.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoC,UAAU,EAAE,MAAM,EAAC,MAAM,OAAO,CAAC;AAE5E,OAAO,EAAC,OAAO,EAAC,MAAM,oCAAoC,CAAC;AAC3D,OAAO,EAAC,yBAAyB,EAAC,MAAM,yDAAyD,CAAC;AAClG,OAAO,EAAC,iBAAiB,EAAC,MAAM,sBAAsB,CAAC;AAEvD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,aAAa,CAAgC,EAAU;IACrE,MAAM,GAAG,GAAG,MAAM,CAAW,IAAI,CAAC,CAAC;IACnC,MAAM,OAAO,GAAG,UAAU,CAAC,iBAAiB,CAAC,CAAC;IAC9C,yBAAyB,CAAC,GAAG,EAAE;QAC7B,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,OAAO,CAAC,kBAAkB,EAAE,sEAAsE,CAAC,CAAC;YACpG,OAAO,SAAS,CAAC;QACnB,CAAC;QAED,OAAO,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IAClD,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAClB,OAAO,GAAG,CAAC;AACb,CAAC"}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import type { Size } from '../shared/geometry/geometry.type.js';
|
|
2
|
+
/**
|
|
3
|
+
* The views the tour can be drawn in: the provider's own full-window layer, plus any `TourHost`
|
|
4
|
+
* mounted inside native modal screens. The most recently mounted host is used.
|
|
5
|
+
*/
|
|
6
|
+
export type HostStore = {
|
|
7
|
+
readonly register: (key: number, getInstance: () => unknown, root: boolean) => () => void;
|
|
8
|
+
readonly setSize: (key: number, size: Size) => void;
|
|
9
|
+
/** Key of the host the tour is drawn in. */
|
|
10
|
+
readonly activeKey: () => number | undefined;
|
|
11
|
+
/** True while the tour is drawn in the provider's own host (no `TourHost` is mounted). */
|
|
12
|
+
readonly isRootActive: () => boolean;
|
|
13
|
+
readonly activeHost: () => {
|
|
14
|
+
readonly instance: unknown;
|
|
15
|
+
readonly size: Size;
|
|
16
|
+
} | undefined;
|
|
17
|
+
/** Host list changes (which host is active). */
|
|
18
|
+
readonly subscribe: (listener: () => void) => () => void;
|
|
19
|
+
/** Anything that can move targets relative to the layer: host changes and sizes, keyboard. */
|
|
20
|
+
readonly subscribeLayout: (listener: () => void) => () => void;
|
|
21
|
+
readonly notifyLayout: () => void;
|
|
22
|
+
};
|
|
23
|
+
export declare function createHostStore(): HostStore;
|
|
24
|
+
//# sourceMappingURL=host-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-store.d.ts","sourceRoot":"","sources":["../../src/react-native-platform/host-store.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAC,MAAM,qCAAqC,CAAC;AAU9D;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,QAAQ,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,OAAO,EAAE,IAAI,EAAE,OAAO,KAAK,MAAM,IAAI,CAAC;IAC1F,QAAQ,CAAC,OAAO,EAAE,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,CAAC;IACpD,4CAA4C;IAC5C,QAAQ,CAAC,SAAS,EAAE,MAAM,MAAM,GAAG,SAAS,CAAC;IAC7C,0FAA0F;IAC1F,QAAQ,CAAC,YAAY,EAAE,MAAM,OAAO,CAAC;IACrC,QAAQ,CAAC,UAAU,EAAE,MAAM;QAAC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;QAAC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAA;KAAC,GAAG,SAAS,CAAC;IACzF,gDAAgD;IAChD,QAAQ,CAAC,SAAS,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IACzD,8FAA8F;IAC9F,QAAQ,CAAC,eAAe,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC/D,QAAQ,CAAC,YAAY,EAAE,MAAM,IAAI,CAAC;CACnC,CAAC;AAEF,wBAAgB,eAAe,IAAI,SAAS,CA8D3C"}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export function createHostStore() {
|
|
2
|
+
const hosts = [];
|
|
3
|
+
const listeners = new Set();
|
|
4
|
+
const layoutListeners = new Set();
|
|
5
|
+
const emit = (set) => {
|
|
6
|
+
// Snapshot: listeners may unsubscribe while being notified.
|
|
7
|
+
const snapshot = [...set];
|
|
8
|
+
for (const listener of snapshot) {
|
|
9
|
+
listener();
|
|
10
|
+
}
|
|
11
|
+
};
|
|
12
|
+
const store = {
|
|
13
|
+
register(key, getInstance, root) {
|
|
14
|
+
const record = { key, root, getInstance, size: { width: 0, height: 0 } };
|
|
15
|
+
if (root) {
|
|
16
|
+
hosts.unshift(record);
|
|
17
|
+
}
|
|
18
|
+
else {
|
|
19
|
+
hosts.push(record);
|
|
20
|
+
}
|
|
21
|
+
emit(listeners);
|
|
22
|
+
emit(layoutListeners);
|
|
23
|
+
return () => {
|
|
24
|
+
const index = hosts.findIndex((host) => host.key === key);
|
|
25
|
+
if (index !== -1) {
|
|
26
|
+
hosts.splice(index, 1);
|
|
27
|
+
emit(listeners);
|
|
28
|
+
emit(layoutListeners);
|
|
29
|
+
}
|
|
30
|
+
};
|
|
31
|
+
},
|
|
32
|
+
setSize(key, size) {
|
|
33
|
+
const host = hosts.find((candidate) => candidate.key === key);
|
|
34
|
+
if (host && (host.size.width !== size.width || host.size.height !== size.height)) {
|
|
35
|
+
host.size = size;
|
|
36
|
+
emit(layoutListeners);
|
|
37
|
+
}
|
|
38
|
+
},
|
|
39
|
+
activeKey: () => hosts.at(-1)?.key,
|
|
40
|
+
isRootActive: () => hosts.at(-1)?.root ?? true,
|
|
41
|
+
activeHost() {
|
|
42
|
+
const host = hosts.at(-1);
|
|
43
|
+
return host ? { instance: host.getInstance(), size: host.size } : undefined;
|
|
44
|
+
},
|
|
45
|
+
subscribe(listener) {
|
|
46
|
+
listeners.add(listener);
|
|
47
|
+
return () => {
|
|
48
|
+
listeners.delete(listener);
|
|
49
|
+
};
|
|
50
|
+
},
|
|
51
|
+
subscribeLayout(listener) {
|
|
52
|
+
layoutListeners.add(listener);
|
|
53
|
+
return () => {
|
|
54
|
+
layoutListeners.delete(listener);
|
|
55
|
+
};
|
|
56
|
+
},
|
|
57
|
+
notifyLayout() {
|
|
58
|
+
emit(layoutListeners);
|
|
59
|
+
},
|
|
60
|
+
};
|
|
61
|
+
return store;
|
|
62
|
+
}
|
|
63
|
+
//# sourceMappingURL=host-store.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"host-store.js","sourceRoot":"","sources":["../../src/react-native-platform/host-store.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { Insets, Size } from '../shared/geometry/geometry.type.js';
|
|
2
|
+
/** Insets the app can pass in (for example from `useSafeAreaInsets()`); missing sides use the defaults. */
|
|
3
|
+
export type TourInsets = Partial<Insets>;
|
|
4
|
+
/**
|
|
5
|
+
* Conservative safe-area defaults for when the app does not pass `insets`: large enough that the
|
|
6
|
+
* notch, Dynamic Island, home indicator and system bars of current devices are never covered.
|
|
7
|
+
*/
|
|
8
|
+
export declare function defaultInsets(layer: Size): Insets;
|
|
9
|
+
/** `keyboardOverlap`: how much of the layer the on-screen keyboard covers. */
|
|
10
|
+
export declare function resolveInsets(provided: TourInsets | undefined, layer: Size, keyboardOverlap: number): Insets;
|
|
11
|
+
//# sourceMappingURL=insets.util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insets.util.d.ts","sourceRoot":"","sources":["../../src/react-native-platform/insets.util.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAC,MAAM,EAAE,IAAI,EAAC,MAAM,qCAAqC,CAAC;AAEtE,2GAA2G;AAC3G,MAAM,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;AAEzC;;;GAGG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,IAAI,GAAG,MAAM,CAoBjD;AAED,8EAA8E;AAC9E,wBAAgB,aAAa,CAAC,QAAQ,EAAE,UAAU,GAAG,SAAS,EAAE,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,GAAG,MAAM,CAK5G"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Platform, StatusBar } from 'react-native';
|
|
2
|
+
/**
|
|
3
|
+
* Conservative safe-area defaults for when the app does not pass `insets`: large enough that the
|
|
4
|
+
* notch, Dynamic Island, home indicator and system bars of current devices are never covered.
|
|
5
|
+
*/
|
|
6
|
+
export function defaultInsets(layer) {
|
|
7
|
+
const landscape = layer.width > layer.height;
|
|
8
|
+
if (Platform.OS === 'ios') {
|
|
9
|
+
if (Platform.isPad) {
|
|
10
|
+
return { top: 24, right: 0, bottom: 20, left: 0 };
|
|
11
|
+
}
|
|
12
|
+
return landscape ? { top: 0, right: 62, bottom: 21, left: 62 } : { top: 62, right: 0, bottom: 34, left: 0 };
|
|
13
|
+
}
|
|
14
|
+
if (Platform.OS === 'android') {
|
|
15
|
+
const statusBar = Math.max(StatusBar.currentHeight ?? 0, 24);
|
|
16
|
+
// In landscape the camera cutout and the 3-button bar can be on either side (the device can
|
|
17
|
+
// be turned either way), and the gesture handle stays at the bottom.
|
|
18
|
+
return landscape
|
|
19
|
+
? { top: statusBar, right: 48, bottom: 24, left: 48 }
|
|
20
|
+
: { top: statusBar, right: 0, bottom: 48, left: 0 };
|
|
21
|
+
}
|
|
22
|
+
return { top: 0, right: 0, bottom: 0, left: 0 };
|
|
23
|
+
}
|
|
24
|
+
/** `keyboardOverlap`: how much of the layer the on-screen keyboard covers. */
|
|
25
|
+
export function resolveInsets(provided, layer, keyboardOverlap) {
|
|
26
|
+
const base = provided
|
|
27
|
+
? { top: provided.top ?? 0, right: provided.right ?? 0, bottom: provided.bottom ?? 0, left: provided.left ?? 0 }
|
|
28
|
+
: defaultInsets(layer);
|
|
29
|
+
return { ...base, bottom: Math.max(base.bottom, keyboardOverlap) };
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=insets.util.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"insets.util.js","sourceRoot":"","sources":["../../src/react-native-platform/insets.util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,QAAQ,EAAE,SAAS,EAAC,MAAM,cAAc,CAAC;AAMjD;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,KAAW;IACvC,MAAM,SAAS,GAAG,KAAK,CAAC,KAAK,GAAG,KAAK,CAAC,MAAM,CAAC;IAC7C,IAAI,QAAQ,CAAC,EAAE,KAAK,KAAK,EAAE,CAAC;QAC1B,IAAK,QAA8B,CAAC,KAAK,EAAE,CAAC;YAC1C,OAAO,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;QAClD,CAAC;QAED,OAAO,SAAS,CAAC,CAAC,CAAC,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAC,CAAC,CAAC,CAAC,EAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;IAC1G,CAAC;IAED,IAAI,QAAQ,CAAC,EAAE,KAAK,SAAS,EAAE,CAAC;QAC9B,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,aAAa,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QAC7D,4FAA4F;QAC5F,qEAAqE;QACrE,OAAO,SAAS;YACd,CAAC,CAAC,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAC;YACnD,CAAC,CAAC,EAAC,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;IACtD,CAAC;IAED,OAAO,EAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,IAAI,EAAE,CAAC,EAAC,CAAC;AAChD,CAAC;AAED,8EAA8E;AAC9E,MAAM,UAAU,aAAa,CAAC,QAAgC,EAAE,KAAW,EAAE,eAAuB;IAClG,MAAM,IAAI,GAAG,QAAQ;QACnB,CAAC,CAAC,EAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,IAAI,CAAC,EAAE,KAAK,EAAE,QAAQ,CAAC,KAAK,IAAI,CAAC,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,IAAI,CAAC,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,IAAI,CAAC,EAAC;QAC9G,CAAC,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,EAAC,GAAG,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,EAAE,eAAe,CAAC,EAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { Size } from '../../shared/geometry/geometry.type.js';
|
|
2
|
+
import type { TourRenderer } from '../../shared/renderer/renderer.type.js';
|
|
3
|
+
/** Size of the host view the tour is drawn in. Internal. */
|
|
4
|
+
export declare const LayerSizeContext: import("react").Context<Size>;
|
|
5
|
+
/** How React Native draws the tour. */
|
|
6
|
+
export declare const nativeRenderer: TourRenderer;
|
|
7
|
+
//# sourceMappingURL=native-renderer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"native-renderer.d.ts","sourceRoot":"","sources":["../../../src/react-native-platform/layer/native-renderer.tsx"],"names":[],"mappings":"AA0BA,OAAO,KAAK,EAAa,IAAI,EAAC,MAAM,wCAAwC,CAAC;AAI7E,OAAO,KAAK,EAiBV,YAAY,EACb,MAAM,wCAAwC,CAAC;AAIhD,4DAA4D;AAC5D,eAAO,MAAM,gBAAgB,+BAA2B,CAAC;AAspBzD,uCAAuC;AACvC,eAAO,MAAM,cAAc,EAAE,YAA6E,CAAC"}
|