New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

next-tour

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

next-tour - npm Package Compare versions

Comparing version 0.3.1 to 0.4.0

13

dist/index.d.ts

@@ -79,2 +79,6 @@ import React$1 from 'react';

}
type TourProviderProps = React$1.PropsWithChildren<unknown>;
type TourProps = Tour$1;
interface TourControls {

@@ -101,3 +105,5 @@ /** Add a new tour programmatically. */

activeTour: Tour$1 | null;
/** The index of the currently active step in the tour. */
/** The currently active step. */
activeStep: TourStep | null;
/** The index of the currently active step. */
activeStepIndex: number;

@@ -108,7 +114,4 @@ /** The total number of steps in the currently active tour. */

type TourProviderProps = React$1.PropsWithChildren<unknown>;
type TourProps = Tour$1;
declare const TourProvider: (props: TourProviderProps) => React$1.JSX.Element;
declare const TourProvider: ({ children }: TourProviderProps) => React$1.JSX.Element;
declare const Tour: React$1.MemoExoticComponent<({ id, ...restProps }: TourProps) => React$1.JSX.Element | null>;

@@ -115,0 +118,0 @@

@@ -1,3 +0,3 @@

"use strict";var at=Object.create;var E=Object.defineProperty;var lt=Object.getOwnPropertyDescriptor;var ut=Object.getOwnPropertyNames;var ct=Object.getPrototypeOf,dt=Object.prototype.hasOwnProperty;var pt=(t,o)=>{for(var e in o)E(t,e,{get:o[e],enumerable:!0})},q=(t,o,e,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ut(o))!dt.call(t,n)&&n!==e&&E(t,n,{get:()=>o[n],enumerable:!(r=lt(o,n))||r.enumerable});return t};var f=(t,o,e)=>(e=t!=null?at(ct(t)):{},q(o||!t||!t.__esModule?E(e,"default",{value:t,enumerable:!0}):e,t)),mt=t=>q(E({},"__esModule",{value:!0}),t);var Ft={};pt(Ft,{Tour:()=>j,TourProvider:()=>L,useTourControls:()=>g,useTourState:()=>b});module.exports=mt(Ft);var p=f(require("react")),P=p.default.createContext(null),ft=({children:t})=>{var w;let[o,e]=p.default.useState(!1),[r,n]=p.default.useState(null),[i,s]=p.default.useState(0),a=p.default.useRef([]),l=(w=r==null?void 0:r.steps.length)!=null?w:0,h=d=>{a.current.push(d)},v=d=>{let D=a.current.find(st=>st.id===d);D&&(n(D),e(!0),s(0))},u=()=>{e(!1),n(null),s(0)},c=p.default.useCallback(()=>{s(d=>Math.min(l-1,d+1))},[l]),x=p.default.useCallback(()=>{s(d=>Math.max(0,d-1))},[]),C=p.default.useCallback(d=>{d<1||d>=l||s(d-1)},[l]),A=p.default.useMemo(()=>({isTourOpen:o,activeTour:r,activeStepIndex:i,totalSteps:l,tours:a.current,addTour:h,startTour:v,endTour:u,goToStep:C,nextStep:c,prevStep:x}),[o,r,i,l,h,v,u,C,c,x]);return p.default.createElement(P.Provider,{value:A},t)},L=ft;function B(t,{insertAt:o}={}){if(!t||typeof document=="undefined")return;let e=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",o==="top"&&e.firstChild?e.insertBefore(r,e.firstChild):e.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t))}B(`:root{--gray1: #fcfcfc;--gray2: #f9f9f9;--gray3: #f0f0f0;--gray4: #e8e8e8;--gray5: #e0e0e0;--gray6: #d9d9d9;--gray7: #cecece;--gray8: #bbbbbb;--gray9: #8d8d8d;--gray10: #838383;--gray11: #646464;--gray12: #202020;--color-bg: #fff;--color-fg: var(--gray12);--color-secondary: var(--gray6);--color-secondary-fg: var(--gray9);--color-muted: var(--gray3);--color-muted-fg: var(--gray8);--color-border: var(--gray7);--color-border-hover: var(--gray6);--color-border-muted: var(--gray4);--color-border-muted-hover: var(--gray5);--shadow-border: 0 0 0 1px rgba(0, 0, 0, .08);--transition: cubic-bezier(.4, 0, .2, 1);--duration: .3s;--duration-long: .4s;--sc-1: .25rem;--sc-2: .5rem;--sc-3: .75rem;--sc-4: 1rem;--sc-5: 1.25rem;--sc-6: 1.5rem;--rd-1: .25rem;--rd-2: .5rem;--rd-3: .75rem;--rd-4: 1rem}.nt-popover{position:fixed;z-index:10010;top:0;left:0}.nt-popover.enable-transition{transition:top var(--duration) var(--transition),left var(--duration) var(--transition)}.nt-popover-overlay{position:fixed;z-index:10000;top:0;left:0;width:100%;height:100%;animation:NtFadeIn var(--duration) var(--transition)}.nt-popover-overlay.active{background-color:#00000080}@keyframes NtFadeIn{0%{opacity:0}to{opacity:1}}.nt-step-container{min-width:350px;background-color:var(--color-bg);color:var(--color-fg);box-shadow:var(--shadow-border),0 1px 1px #00000005,0 4px 8px -4px #0000000a,0 16px 24px -8px #0000000f;border-radius:var(--rd-3);animation:ntScaleUp var(--duration) var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nt-step-container[data-target-highlight=true]{box-shadow:none}.nt-button{border:none;padding:var(--sc-3) var(--sc-5);width:auto;overflow:visible;outline:none;background:var(--gray12);cursor:pointer;color:var(--gray1);font:inherit;font-weight:500;text-align:center;font-size:.875rem;border-radius:var(--rd-2);opacity:1;line-height:normal;transition:all .15s var(--transition)}.nt-button:hover{opacity:.8}.nt-button[data-variant=outline]{background-color:transparent;color:var(--color-fg);border:1px solid var(--color-border)}.nt-button[data-variant=outline]:hover{background-color:var(--color-muted);border:1px solid var(--color-border-hover);opacity:1}.nt-step-footer{width:100%;padding:var(--sc-3) var(--sc-4);display:flex;flex-direction:column;justify-content:center;align-items:center;border-top:1px solid var(--color-border-muted);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.nt-step-footer-actions{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--sc-1)}.nt-step-content{padding:var(--sc-4);display:flex;flex-direction:column;justify-content:center;align-items:start;text-align:start;gap:var(--sc-2);max-width:300px;text-wrap:pretty}.nt-step-title{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}@keyframes ntScaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}
`);var S=f(require("react"));var z=f(require("react"));var ht=()=>{let t=z.default.useContext(P);if(!t)throw new Error("useTourControls must be used within a <TourProvider> component");let{startTour:o,endTour:e,goToStep:r,nextStep:n,prevStep:i,addTour:s}=t;return{startTour:o,endTour:e,goToStep:r,nextStep:n,prevStep:i,addTour:s}},g=ht;var W=f(require("react"));var vt=()=>{let t=W.default.useContext(P);if(!t)throw new Error("useTourState must be used within a <TourProvider> component");let{tours:o,activeStepIndex:e,activeTour:r,isTourOpen:n,totalSteps:i}=t;return{tours:o,activeStepIndex:e,activeTour:r,isTourOpen:n,totalSteps:i}},b=vt;var Y=f(require("react"));var K=`
"use strict";var ft=Object.create;var k=Object.defineProperty;var vt=Object.getOwnPropertyDescriptor;var ht=Object.getOwnPropertyNames;var gt=Object.getPrototypeOf,bt=Object.prototype.hasOwnProperty;var xt=(t,o)=>{for(var e in o)k(t,e,{get:o[e],enumerable:!0})},W=(t,o,e,r)=>{if(o&&typeof o=="object"||typeof o=="function")for(let n of ht(o))!bt.call(t,n)&&n!==e&&k(t,n,{get:()=>o[n],enumerable:!(r=vt(o,n))||r.enumerable});return t};var d=(t,o,e)=>(e=t!=null?ft(gt(t)):{},W(o||!t||!t.__esModule?k(e,"default",{value:t,enumerable:!0}):e,t)),yt=t=>W(k({},"__esModule",{value:!0}),t);var Vt={};xt(Vt,{Tour:()=>q,TourProvider:()=>B,useTourControls:()=>h,useTourState:()=>p});module.exports=yt(Vt);var Y=d(require("react"));var f=d(require("react")),w=f.default.createContext(null),Tt=({children:t})=>{var T;let[o,e]=f.default.useState(!1),[r,n]=f.default.useState(null),[i,s]=f.default.useState(0),a=f.default.useRef([]),u=(T=r==null?void 0:r.steps.length)!=null?T:0,c=l=>{a.current.push(l)},m=l=>{let z=a.current.find(mt=>mt.id===l);z&&(n(z),e(!0),s(0))},g=()=>{e(!1),n(null),s(0)},b=f.default.useCallback(()=>{s(l=>Math.min(u-1,l+1))},[u]),P=f.default.useCallback(()=>{s(l=>Math.max(0,l-1))},[]),C=f.default.useCallback(l=>{l<1||l>=u||s(l-1)},[u]),E=f.default.useMemo(()=>{var l;return(l=r==null?void 0:r.steps[i])!=null?l:null},[r,i]),L=f.default.useMemo(()=>({isTourOpen:o,activeStep:E,activeTour:r,activeStepIndex:i,totalSteps:u,tours:a.current,addTour:c,startTour:m,endTour:g,goToStep:C,nextStep:b,prevStep:P}),[o,r,E,i,u,C,b,P]);return f.default.createElement(w.Provider,{value:L},t)},K=Tt;var wt=t=>Y.default.createElement(K,{...t}),B=wt;function H(t,{insertAt:o}={}){if(!t||typeof document=="undefined")return;let e=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css",o==="top"&&e.firstChild?e.insertBefore(r,e.firstChild):e.appendChild(r),r.styleSheet?r.styleSheet.cssText=t:r.appendChild(document.createTextNode(t))}H(`:root{--gray1: #fcfcfc;--gray2: #f9f9f9;--gray3: #f0f0f0;--gray4: #e8e8e8;--gray5: #e0e0e0;--gray6: #d9d9d9;--gray7: #cecece;--gray8: #bbbbbb;--gray9: #8d8d8d;--gray10: #838383;--gray11: #646464;--gray12: #202020;--color-bg: #fff;--color-fg: var(--gray12);--color-secondary: var(--gray6);--color-secondary-fg: var(--gray9);--color-muted: var(--gray3);--color-muted-fg: var(--gray8);--color-border: var(--gray7);--color-border-hover: var(--gray6);--color-border-muted: var(--gray4);--color-border-muted-hover: var(--gray5);--shadow-border: 0 0 0 1px rgba(0, 0, 0, .08);--transition: cubic-bezier(.4, 0, .2, 1);--duration: .4s;--sc-1: .25rem;--sc-2: .5rem;--sc-3: .75rem;--sc-4: 1rem;--sc-5: 1.25rem;--sc-6: 1.5rem;--rd-1: .25rem;--rd-2: .5rem;--rd-3: .75rem;--rd-4: 1rem}.nt-popover{position:fixed;z-index:10010;top:0;left:0}.nt-popover.enable-transition{transition:top var(--duration) var(--transition),left var(--duration) var(--transition)}.nt-popover-overlay{position:fixed;z-index:10000;top:0;left:0;width:100%;height:100%;animation:NtFadeIn var(--duration) var(--transition)}.nt-popover-overlay.active{background-color:#00000080}@keyframes NtFadeIn{0%{opacity:0}to{opacity:1}}.nt-step-container{min-width:350px;background-color:var(--color-bg);color:var(--color-fg);box-shadow:var(--shadow-border),0 1px 1px #00000005,0 4px 8px -4px #0000000a,0 16px 24px -8px #0000000f;border-radius:var(--rd-3);animation:ntScaleUp var(--duration) var(--transition);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.nt-step-container[data-target-highlight=true]{box-shadow:none}.nt-button{border:none;padding:var(--sc-3) var(--sc-5);width:auto;overflow:visible;outline:none;background:var(--gray12);cursor:pointer;color:var(--gray1);font:inherit;font-weight:500;text-align:center;font-size:.875rem;border-radius:var(--rd-2);opacity:1;line-height:normal;transition:all .15s var(--transition)}.nt-button:hover{opacity:.8}.nt-button[data-variant=outline]{background-color:transparent;color:var(--color-fg);border:1px solid var(--color-border)}.nt-button[data-variant=outline]:hover{background-color:var(--color-muted);border:1px solid var(--color-border-hover);opacity:1}.nt-step-footer{width:100%;padding:var(--sc-4);display:flex;flex-direction:column;justify-content:center;align-items:center;border-top:1px solid var(--color-border-muted);border-bottom-left-radius:inherit;border-bottom-right-radius:inherit;gap:var(--sc-4)}.nt-step-actions{width:100%;display:flex;justify-content:space-between;align-items:center;gap:var(--sc-1)}.nt-step-content{padding:var(--sc-4);display:flex;flex-direction:column;justify-content:center;align-items:start;text-align:start;gap:var(--sc-2);max-width:340px;text-wrap:pretty}.nt-step-title{font-size:1.25rem;font-weight:600;letter-spacing:-.02em}@keyframes ntScaleUp{0%{transform:scale(.95);opacity:0}to{transform:scale(1);opacity:1}}.nt-step-progress{height:4px;width:100%;background-color:var(--color-muted);border-radius:999px;position:relative;overflow:hidden}.nt-step-progress-bar{height:100%;width:0;background-color:var(--color-secondary-fg);transition:width .3s var(--transition);border-radius:inherit}
`);var S=d(require("react"));var $=d(require("react"));var St=()=>{let t=$.default.useContext(w);if(!t)throw new Error("useTourControls must be used within a <TourProvider> component");let{startTour:o,endTour:e,goToStep:r,nextStep:n,prevStep:i,addTour:s}=t;return{startTour:o,endTour:e,goToStep:r,nextStep:n,prevStep:i,addTour:s}},h=St;var J=d(require("react"));var Pt=()=>{let t=J.default.useContext(w);if(!t)throw new Error("useTourState must be used within a <TourProvider> component");let{tours:o,activeStepIndex:e,activeTour:r,activeStep:n,isTourOpen:i,totalSteps:s}=t;return{tours:o,activeStepIndex:e,activeTour:r,isTourOpen:i,totalSteps:s,activeStep:n}},p=Pt;var X=d(require("react"));var Q=`
a[href]:not([tabindex^="-"]),

@@ -17,2 +17,2 @@ area[href]:not([tabindex^="-"]),

object[usemap]:not([tabindex^="-"])
`,k="bottom-center";var gt=(t,o=!0)=>{Y.default.useEffect(()=>{var s;if(!o)return;let e=t.current;if(!e)return;let r=()=>Array.from(e.querySelectorAll(K)).filter(a=>!a.hasAttribute("disabled")),n=r();(s=n[0])==null||s.focus();let i=a=>{if(a.key!=="Tab"||n.length===0)return;let l=n[0],h=n[n.length-1],v=document.activeElement,u=!a.shiftKey&&v===h,c=a.shiftKey&&v===l;(u||c)&&((a.shiftKey?l:h).focus(),a.preventDefault()),n=r()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[t,o])},O=gt;var bt=t=>{var i,s,a,l;let o=(i=t==null?void 0:t.highlightTarget)!=null?i:!0,e=(s=t==null?void 0:t.preventCloseOnClickOutside)!=null?s:!1,r=(a=t==null?void 0:t.showNavigation)!=null?a:!0,n=(l=t==null?void 0:t.showProgress)!=null?l:!0;return{highlightTarget:o,preventCloseOnClickOutside:e,showNavigation:r,showProgress:n}},_=bt;var M=require("react");var $=t=>{if(!t||!window.visualViewport)return!1;let o=t.getBoundingClientRect();return o.top>=0&&o.left>=0&&o.bottom<=window.visualViewport.height-40&&o.right<=window.visualViewport.width},F=(t,o,e)=>{let r=t.style[o];return t.style[o]=e,()=>{t.style[o]=r}},N=(...t)=>{let o=[];for(let e of t)if(e){if(typeof e=="string")o.push(e);else if(Array.isArray(e))o.push(N(...e));else if(typeof e=="object")for(let[r,n]of Object.entries(e))n&&o.push(r)}return o.join(" ")},J=(t,o=100)=>{let e;return()=>{e&&clearTimeout(e),e=window.setTimeout(()=>{t()},o)}},Q=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),G=typeof window!="undefined";var yt=G?M.useLayoutEffect:M.useEffect,xt=t=>{yt(()=>{if(!t)return;let o=Q?wt():Tt();return()=>{o()}},[t])},Tt=()=>{let t=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=t}},wt=()=>{let t={overflow:document.body.style.overflow,position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,right:document.body.style.right},o=window.scrollY;return document.body.style.position="fixed",document.body.style.top=`-${o}px`,document.body.style.overflow="hidden",()=>{document.body.style.overflow=t.overflow,document.body.style.position=t.position,document.body.style.top=t.top,document.body.style.left=t.left,document.body.style.right=t.right,window.scrollTo(0,o)}},V=xt;var y=f(require("react"));var X=(t,o,e)=>{let i=0,s=0;switch(e){case"top-center":i=t.top-o.height-10,s=t.left+t.width/2-o.width/2;break;case"bottom-center":i=t.top+t.height+10,s=t.left+t.width/2-o.width/2;break;case"left-center":i=t.top+t.height/2-o.height/2,s=t.left-o.width-10;break;case"right-center":i=t.top+t.height/2-o.height/2,s=t.left+t.width+10;break;case"window-center":i=window.innerHeight/2-o.height/2,s=window.innerWidth/2-o.width/2;break}return i=Math.max(10,Math.min(i,window.innerHeight-o.height-10)),s=Math.max(10,Math.min(s,window.innerWidth-o.width-10)),{top:i,left:s}},Z=(t,o)=>{if(!t){o();return}t.scrollIntoView({behavior:"smooth",block:"center"});let e=null,r=!1,n=()=>{r=!1;let a=t.getBoundingClientRect().top;if(a===e){o();return}e=a,i()},i=()=>{r||(requestAnimationFrame(n),r=!0)};J(i,100)()};var m=f(require("react")),R=f(require("react-dom"));var tt=m.default.createContext(null),Pt=()=>{let t=m.default.useContext(tt);if(!t)throw new Error("usePopover must be used within a Popover component");return t},ot=({children:t,open:o,preferredPosition:e=k,target:r,onClickOutside:n,shouldHighlightTarget:i=!0})=>o?m.default.createElement(tt.Provider,{value:{open:o,preferredPosition:e,target:r,onClickOutside:n,shouldHighlightTarget:i}},t):null,St=({children:t,className:o,...e})=>{let{open:r,target:n,preferredPosition:i,onClickOutside:s,shouldHighlightTarget:a}=Pt(),l=m.default.useRef(null),[h,v]=m.default.useState(!1);return m.default.useEffect(()=>{let{current:u}=l;if(!r||!n||!u)return;(()=>{let C=n.getBoundingClientRect(),A=u.getBoundingClientRect(),w=X(C,A,i);F(u,"top",`${w.top}px`),F(u,"left",`${w.left}px`),v(!0)})();let x;return a&&(x=F(n,"zIndex","10001")),()=>{x&&x()}},[r,n,i,a]),O(l,r),V(r),R.default.createPortal(m.default.createElement(m.default.Fragment,null,m.default.createElement("div",{className:N("nt-popover-overlay",{active:r&&!!a}),onClick:s}),m.default.createElement("div",{...e,ref:l,className:N("nt-popover",{"enable-transition":h},o)},t)),document.body)};ot.Content=St;var I=ot;var H=f(require("react")),et=({children:t})=>H.default.createElement("div",{className:"nt-step-content"},t),Ct=({children:t})=>H.default.createElement("h3",{className:"nt-step-title"},t);et.Title=Ct;var U=et;var T=f(require("react"));var Et=()=>{let{nextStep:t,prevStep:o,endTour:e}=g(),{totalSteps:r,activeStepIndex:n}=b(),i=r>1&&n>0,s=n<r-1,a=n===r-1;return T.default.createElement("footer",{className:"nt-step-footer"},T.default.createElement("div",{className:"nt-step-footer-actions"},i&&T.default.createElement("button",{onClick:()=>o(),className:"nt-button","data-variant":"outline"},"Back"),T.default.createElement("button",{onClick:()=>e(),className:"nt-button","data-variant":"outline"},"Skip"),T.default.createElement("div",{style:{flex:1}}),s&&T.default.createElement("button",{onClick:()=>t(),className:"nt-button","data-variant":"primary"},"Next"),a&&T.default.createElement("button",{onClick:()=>e(),className:"nt-button","data-variant":"primary"},"Finish")))},rt=Et;var kt=({activeStep:t,tourOptions:o})=>{let{endTour:e}=g(),{isTourOpen:r}=b(),[n,i]=y.default.useState(k),[s,a]=y.default.useState(null),{highlightTarget:l,preventCloseOnClickOutside:h}=_(o);return y.default.useEffect(()=>{if(!t){a(null);return}let v=t.target?t.position:"window-center";i(v);let u=t.target;if(!u){a(null);return}let c=document.querySelector(u);if(!c){console.warn(`Step target not found: ${u}`),a(null);return}(()=>{$(c)?a(c):(a(null),Z(c,()=>a(c)))})()},[t,r]),!t||!r?null:y.default.createElement(I,{open:r,target:s,preferredPosition:n,shouldHighlightTarget:l,onClickOutside:()=>!h&&e()},y.default.createElement(I.Content,{className:"nt-step-container","data-target-highlight":l},y.default.createElement(U,null,y.default.createElement(U.Title,null,t.title),t.content),y.default.createElement(rt,null)))},nt=kt;var it=S.default.memo(({id:t,...o})=>{let{addTour:e}=g(),{activeTour:r,activeStepIndex:n}=b(),i=S.default.useMemo(()=>({id:t,...o}),[t,o]);S.default.useEffect(()=>{e(i)},[e,i]);let s=(r==null?void 0:r.id)===t,a=s?r.steps[n]:null;return s?S.default.createElement(nt,{activeStep:a,tourOptions:r.options}):null});it.displayName="Next Tour";var j=it;0&&(module.exports={Tour,TourProvider,useTourControls,useTourState});
`,G="bottom-center";var Ct=(t,o=!0)=>{X.default.useEffect(()=>{var s;if(!o)return;let e=t.current;if(!e)return;let r=()=>Array.from(e.querySelectorAll(Q)).filter(a=>!a.hasAttribute("disabled")),n=r();(s=n[0])==null||s.focus();let i=a=>{if(a.key!=="Tab"||n.length===0)return;let u=n[0],c=n[n.length-1],m=document.activeElement,g=!a.shiftKey&&m===c,b=a.shiftKey&&m===u;(g||b)&&((a.shiftKey?u:c).focus(),a.preventDefault()),n=r()};return document.addEventListener("keydown",i),()=>document.removeEventListener("keydown",i)},[t,o])},_=Ct;var Et=()=>{var s,a,u,c;let{activeTour:t}=p(),o=t==null?void 0:t.options,e=(s=o==null?void 0:o.highlightTarget)!=null?s:!0,r=(a=o==null?void 0:o.preventCloseOnClickOutside)!=null?a:!1,n=(u=o==null?void 0:o.showNavigation)!=null?u:!0,i=(c=o==null?void 0:o.showProgress)!=null?c:!0;return{highlightTarget:e,preventCloseOnClickOutside:r,showNavigation:n,showProgress:i}},V=Et;var N=require("react");var Z=t=>{if(!t||!window.visualViewport)return!1;let o=t.getBoundingClientRect();return o.top>=0&&o.left>=0&&o.bottom<=window.visualViewport.height-40&&o.right<=window.visualViewport.width},F=(t,o,e)=>{let r=t.style[o];return t.style[o]=e,()=>{t.style[o]=r}},M=(...t)=>{let o=[];for(let e of t)if(e){if(typeof e=="string")o.push(e);else if(Array.isArray(e))o.push(M(...e));else if(typeof e=="object")for(let[r,n]of Object.entries(e))n&&o.push(r)}return o.join(" ")},R=(t,o=100)=>{let e;return()=>{e&&clearTimeout(e),e=window.setTimeout(()=>{t()},o)}},tt=/^((?!chrome|android).)*safari/i.test(navigator.userAgent),ot=typeof window!="undefined";var kt=ot?N.useLayoutEffect:N.useEffect,Ft=t=>{kt(()=>{if(!t)return;let o=tt?Nt():Mt();return()=>{o()}},[t])},Mt=()=>{let t=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=t}},Nt=()=>{let t={overflow:document.body.style.overflow,position:document.body.style.position,top:document.body.style.top,left:document.body.style.left,right:document.body.style.right},o=window.scrollY;return document.body.style.position="fixed",document.body.style.top=`-${o}px`,document.body.style.overflow="hidden",()=>{document.body.style.overflow=t.overflow,document.body.style.position=t.position,document.body.style.top=t.top,document.body.style.left=t.left,document.body.style.right=t.right,window.scrollTo(0,o)}},j=Ft;var x=d(require("react"));var et=(t,o,e)=>{let i=0,s=0;if(!e||o==="window-center")i=window.innerHeight/2-t.height/2,s=window.innerWidth/2-t.width/2;else switch(o){case"top-center":i=e.top-t.height-10,s=e.left+e.width/2-t.width/2;break;case"bottom-center":i=e.top+e.height+10,s=e.left+e.width/2-t.width/2;break;case"left-center":i=e.top+e.height/2-t.height/2,s=e.left-t.width-10;break;case"right-center":i=e.top+e.height/2-t.height/2,s=e.left+e.width+10;break}return i=Math.max(10,Math.min(i,window.innerHeight-t.height-10)),s=Math.max(10,Math.min(s,window.innerWidth-t.width-10)),{top:i,left:s}},rt=(t,o)=>{if(!t){o();return}t.scrollIntoView({behavior:"smooth",block:"center"});let e=null,r=!1,n=()=>{r=!1;let a=t.getBoundingClientRect().top;if(a===e){o();return}e=a,i()},i=()=>{r||(requestAnimationFrame(n),r=!0)};R(i,100)()};var v=d(require("react")),nt=d(require("react-dom"));var it=v.default.createContext(null),Ot=()=>{let t=v.default.useContext(it);if(!t)throw new Error("usePopover must be used within a Popover component");return t},st=({children:t,open:o,preferredPosition:e=G,target:r,onClickOutside:n,shouldHighlightTarget:i=!0})=>o?v.default.createElement(it.Provider,{value:{open:o,preferredPosition:e,target:r,onClickOutside:n,shouldHighlightTarget:i}},t):null,At=({children:t,className:o,...e})=>{let{open:r,target:n,preferredPosition:i,onClickOutside:s,shouldHighlightTarget:a}=Ot(),u=v.default.useRef(null),[c,m]=v.default.useState(!1);return v.default.useEffect(()=>{let{current:g}=u;if(!r||!g)return;let b;(()=>{let E=n==null?void 0:n.getBoundingClientRect(),L=g.getBoundingClientRect(),T=et(L,i,E);F(g,"top",`${T.top}px`),F(g,"left",`${T.left}px`)})();let C=setTimeout(()=>{m(!0)},20);return a&&n&&(b=F(n,"zIndex","10001")),()=>{b&&b(),clearTimeout(C)}},[r,n,i,a]),_(u,r),j(r),nt.default.createPortal(v.default.createElement(v.default.Fragment,null,v.default.createElement("div",{className:M("nt-popover-overlay",{active:r&&!!a}),onClick:s}),v.default.createElement("div",{...e,ref:u,className:M("nt-popover",{"enable-transition":c},o)},t)),document.body)};st.Content=At;var O=st;var U=d(require("react")),at=({children:t})=>U.default.createElement("div",{className:"nt-step-content"},t),It=({children:t})=>U.default.createElement("h3",{className:"nt-step-title"},t);at.Title=It;var D=at;var I=d(require("react"));var y=d(require("react"));var Lt=()=>{let{totalSteps:t,activeStepIndex:o}=p(),{nextStep:e,prevStep:r,endTour:n}=h(),i=t>1&&o>0,s=o<t-1,a=o===t-1;return y.default.createElement("div",{className:"nt-step-actions"},i&&y.default.createElement("button",{onClick:()=>r(),className:"nt-button","data-variant":"outline"},"Back"),y.default.createElement("button",{onClick:()=>n(),className:"nt-button","data-variant":"outline"},"Close"),y.default.createElement("div",{style:{flex:1}}),s&&y.default.createElement("button",{onClick:()=>e(),className:"nt-button","data-variant":"primary"},"Next"),a&&y.default.createElement("button",{onClick:()=>n(),className:"nt-button","data-variant":"primary"},"Finish"))},ut=Lt;var A=d(require("react"));var Bt=()=>{let{activeStepIndex:t,totalSteps:o}=p(),e=A.default.useMemo(()=>o===0?0:t===o-1?100:t/o*100,[t,o]);return A.default.createElement("div",{className:"nt-step-progress"},A.default.createElement("div",{className:"nt-step-progress-bar",style:{width:`${e}%`}}))},lt=Bt;var Ht=()=>I.default.createElement("footer",{className:"nt-step-footer"},I.default.createElement(lt,null),I.default.createElement(ut,null)),ct=Ht;var _t=({step:t})=>{let{endTour:o}=h(),{isTourOpen:e}=p(),{highlightTarget:r,preventCloseOnClickOutside:n}=V(),[i,s]=x.default.useState(null);return x.default.useEffect(()=>{if(!t){s(null);return}let{target:a}=t;if(!a){s(null);return}let u=()=>{let m=document.querySelector(a);return m?Z(m)?(s(m),!0):(rt(m,()=>s(m)),!0):!1};if(u())return;let c=new MutationObserver(()=>{u()&&c.disconnect()});return c.observe(document.body,{childList:!0,subtree:!0}),()=>{c.disconnect(),s(null)}},[t,e]),!t||!e?null:x.default.createElement(O,{open:e,target:i,preferredPosition:t.position,shouldHighlightTarget:r,onClickOutside:()=>{n||o()}},x.default.createElement(O.Content,{className:"nt-step-container","data-target-highlight":r},x.default.createElement(D,null,x.default.createElement(D.Title,null,t.title),t.content),x.default.createElement(ct,null)))},dt=_t;var pt=S.default.memo(({id:t,...o})=>{let{activeTour:e,activeStep:r}=p(),{addTour:n}=h(),i=S.default.useMemo(()=>({id:t,...o}),[t,o]);return S.default.useEffect(()=>{n(i)},[n,i]),(e==null?void 0:e.id)===t?S.default.createElement(dt,{step:r}):null});pt.displayName="Next Tour";var q=pt;0&&(module.exports={Tour,TourProvider,useTourControls,useTourState});
{
"name": "next-tour",
"version": "0.3.1",
"version": "0.4.0",
"description": "Guided tours and walkthroughs for Next.js",

@@ -5,0 +5,0 @@ "main": "./dist/index.js",

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc