@stackshift-ui/app-promo 6.0.2 → 6.0.3

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/dist/app-promo.js CHANGED
@@ -1 +1 @@
1
- "use strict";var ut=Object.create;var f=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var dt=Object.getOwnPropertyNames;var xt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var d=(t,r)=>()=>(t&&(r=t(t=0)),r);var x=(t,r)=>{for(var e in r)f(t,e,{get:r[e],enumerable:!0})},B=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of dt(r))!wt.call(t,n)&&n!==e&&f(t,n,{get:()=>r[n],enumerable:!(i=ft(r,n))||i.enumerable});return t};var H=(t,r,e)=>(e=t!=null?ut(xt(t)):{},B(r||!t||!t.__esModule?f(e,"default",{value:t,enumerable:!0}):e,t)),ht=t=>B(f({},"__esModule",{value:!0}),t);var w,j=d(()=>{"use strict";w=t=>{var r,e,i;return t!=null&&t.internalLink&&(t==null?void 0:t.type)==="linkInternal"?(e=(r=t==null?void 0:t.internalLink)==null?void 0:r.toLowerCase())!=null&&e.includes("home")?"/":`/${t.internalLink}`:t!=null&&t.externalLink&&(t==null?void 0:t.type)==="linkExternal"&&(i=t==null?void 0:t.externalLink)!=null?i:"/"}});var K={};x(K,{AppPromo_A:()=>J,default:()=>J});function J({logo:t,subtitle:r,title:e,images:i=[]}){var s;let[n,m]=(0,h.useState)(0),c=()=>{i!=null&&i.length&&(n!==i.length-1?m(n+1):m(n=0))},u=()=>{i!=null&&i.length&&m(n!==0?n-1:n=i.length-1)};return(0,a.jsx)(E.Section,{className:"o-16 overflow-hidden bg-background",children:(0,a.jsxs)(V.Container,{className:"relative text-center",maxWidth:448,children:[(0,a.jsx)(bt,{logo:t}),(0,a.jsx)(vt,{subtitle:r,title:e}),(0,a.jsx)(kt,{images:i}),(0,a.jsx)(Ct,{image:i[n].image,alt:(s=i[n].alt)!=null?s:`appPromo-variantA-image-${n}`}),(0,a.jsx)(gt,{arrowLeftClick:u,arrowRightClick:c})]})})}function bt({logo:t}){var r;return t!=null&&t.image?(0,a.jsx)(M.Link,{"aria-label":`Go to ${w(t)==="/"?"home page":w(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:w(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:(0,a.jsx)(G.Image,{src:t==null?void 0:t.image,width:50,height:56,alt:(r=t==null?void 0:t.alt)!=null?r:"appPromo-logo"})}):null}function vt({subtitle:t,title:r}){return(0,a.jsxs)(h.default.Fragment,{children:[t?(0,a.jsx)(q.Text,{className:"mb-3 text-secondary",children:t}):null,r?(0,a.jsx)(W.Heading,{type:"h1",fontSize:"3xl",className:"mb-8",children:r}):null]})}function g({src:t,alt:r,positionClass:e}){return t?(0,a.jsx)("img",{className:`absolute object-contain h-80 rounded-t-2xl ${e}`,src:t,sizes:"218px",width:218,height:320,alt:r}):null}function kt({images:t}){var r,e,i,n,m,c;return(0,a.jsxs)("div",{className:"hidden h-72 sm:block",children:[(r=t==null?void 0:t[0])!=null&&r.image?(0,a.jsx)(g,{src:(e=t==null?void 0:t[0])==null?void 0:e.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(i=t==null?void 0:t[1])!=null&&i.image?(0,a.jsx)(g,{src:(n=t==null?void 0:t[1])==null?void 0:n.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(m=t==null?void 0:t[2])!=null&&m.image?(0,a.jsx)(g,{src:(c=t==null?void 0:t[2])==null?void 0:c.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function Ct({image:t,alt:r}){return t?(0,a.jsx)("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:(0,a.jsx)("img",{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:r})}):null}function gt({arrowLeftClick:t,arrowRightClick:r}){return(0,a.jsxs)(D.Flex,{justify:"between",className:"mb-16 sm:hidden",children:[(0,a.jsx)(P.SwiperButton,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),(0,a.jsx)(P.SwiperButton,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:r})]})}var V,D,W,G,M,E,P,q,h,a,O=d(()=>{"use strict";V=require("@stackshift-ui/container"),D=require("@stackshift-ui/flex"),W=require("@stackshift-ui/heading"),G=require("@stackshift-ui/image"),M=require("@stackshift-ui/link"),E=require("@stackshift-ui/section"),P=require("@stackshift-ui/swiper-button"),q=require("@stackshift-ui/text"),h=H(require("react"));j();a=require("react/jsx-runtime")});var rt={};x(rt,{AppPromo_B:()=>tt,default:()=>tt});function tt({subtitle:t,title:r,description:e,statistics:i,images:n}){let[m,c]=p.default.useState(0);return(0,o.jsx)(E.Section,{className:"o-16 overflow-hidden bg-background",children:(0,o.jsxs)(U.Container,{className:"relative text-center",maxWidth:1280,children:[(0,o.jsxs)("div",{className:"w-full mt-8 lg:w-1/2",children:[(0,o.jsx)(Pt,{subtitle:t,title:r,description:e}),(0,o.jsx)(Nt,{statistics:i})]}),(0,o.jsx)(D.Flex,{align:"center",justify:"center",gap:8,className:"w-full 2xl:w-1/2",children:(0,o.jsx)(Lt,{images:n,currentPosition:m,arrowLeftClick:()=>{n!=null&&n.length&&c(m!==0?m-1:m=n.length-1)},arrowRightClick:()=>{n!=null&&n.length&&(m!==n.length-1?c(m+1):c(m=0))}})})]})})}function Pt({subtitle:t,title:r,description:e}){return(0,o.jsxs)(p.default.Fragment,{children:[t?(0,o.jsx)(q.Text,{weight:"bold",className:"text-center md:text-left text-secondary",children:t}):null,r?(0,o.jsx)(W.Heading,{type:"h1",fontSize:"3xl",className:"mt-3 text-center md:text-left",children:r}):null,e?(0,o.jsx)(q.Text,{className:"mt-3 mb-10 leading-loose text-center break-words md:text-left",muted:!0,children:e}):null]})}function Nt({statistics:t}){return!t||(t==null?void 0:t.length)<=0?null:(0,o.jsx)(p.default.Fragment,{children:(0,o.jsx)(D.Flex,{wrap:!0,children:t==null?void 0:t.map((r,e)=>(0,o.jsxs)("div",{className:"w-full mb-8 text-center md:text-left lg:w-1/2",children:[(0,o.jsx)(q.Text,{muted:!0,className:"mb-3",children:r==null?void 0:r.label}),(0,o.jsx)("span",{className:"text-xl text-gray-500 font-bold",children:r==null?void 0:r.value})]},e))})})}function Lt({images:t,currentPosition:r,arrowLeftClick:e,arrowRightClick:i}){return t?(0,o.jsx)(p.default.Fragment,{children:t.length>1?(0,o.jsx)(yt,{arrowLeftClick:e,arrowRightClick:i,children:(0,o.jsx)(Q,{images:t,currentPosition:r})}):(0,o.jsx)(Q,{images:t,currentPosition:r})}):null}function yt({children:t,arrowLeftClick:r,arrowRightClick:e}){return(0,o.jsxs)(p.default.Fragment,{children:[(0,o.jsx)(P.SwiperButton,{variant:"variant_a",type:"left",ariaLabel:"Left Arrow button",onClick:r}),t,(0,o.jsx)(P.SwiperButton,{variant:"variant_a",type:"right",ariaLabel:"Right Arrow button",onClick:e})]})}function Q({images:t,currentPosition:r}){var e,i,n;return(e=t==null?void 0:t[r])!=null&&e.image?(0,o.jsx)("div",{className:"object-contain w-1/2 mr-2",children:(0,o.jsx)(G.Image,{className:"object-cover w-full h-full mx-auto mb-8 xl:mb-0",src:`${t[r].image}`,sizes:"100vw",width:500,height:850,alt:(n=(i=t[r])==null?void 0:i.alt)!=null?n:`appPromo-variantB-image-${r}`})}):null}var U,D,W,G,E,P,q,p,o,et=d(()=>{"use strict";U=require("@stackshift-ui/container"),p=H(require("react")),o=require("react/jsx-runtime")});var mt={};x(mt,{AppPromo_C:()=>at,default:()=>at});function at({subtitle:t,title:r,description:e,features:i,images:n}){return(0,o.jsx)(E.Section,{className:"py-20 bg-background",children:(0,o.jsx)(lt.Container,{maxWidth:1280,children:(0,o.jsxs)(D.Flex,{align:"center",wrap:!0,gap:8,children:[(0,o.jsx)(It,{subtitle:t,title:r,description:e,features:i}),(0,o.jsx)(Rt,{images:n})]})})})}function It({subtitle:t,title:r,description:e,features:i}){return(0,o.jsxs)("div",{className:"max-w-xl space-y-5",children:[t?(0,o.jsx)(q.Text,{weight:"bold",className:"text-sm md:text-lg lg:text-xl text-secondary",children:t}):null,r?(0,o.jsx)(nt.Heading,{type:"h1",fontSize:"3xl",children:r}):null,e?(0,o.jsx)(q.Text,{muted:!0,className:"text-sm md:text-lg lg:text-xl",children:e}):null,(0,o.jsx)(St,{features:i})]})}function St({features:t}){return t?(0,o.jsx)("ul",{className:"mb-8",children:t.map((r,e)=>(0,o.jsxs)(D.Flex,{as:"li",align:"center",className:"mb-3",children:[(0,o.jsx)(At,{}),(0,o.jsx)(q.Text,{className:"text-sm md:text-lg lg:text-xl",weight:"bold",muted:!0,children:r})]},e))}):null}function Rt({images:t}){return t?(0,o.jsxs)(D.Flex,{align:"center",className:"w-full transform -rotate-12 lg:w-1/2",children:[(0,o.jsx)(y,{images:t,start:0,end:1}),(0,o.jsx)("div",{className:"w-full",children:t==null?void 0:t.slice(1,3).map((r,e)=>(0,o.jsx)(y,{images:[r],start:0,end:1},e))}),(0,o.jsx)(y,{images:t,start:3,end:4})]}):null}function y({images:t,start:r,end:e}){var i;return(i=t==null?void 0:t[r])!=null&&i.image?(0,o.jsx)("div",{className:"w-full",children:t.slice(r,e).map((n,m)=>{var c;return(0,o.jsx)(G.Image,{className:"object-cover",src:`${n.image}`,sizes:"100vw",width:500,height:850,alt:(c=n.alt)!=null?c:`appPromo-variantC-image-${m}`},m)})}):null}function At(){return(0,o.jsx)("svg",{className:"w-5 h-5 mr-2 text-primary-foreground",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})}var nt,q,G,E,lt,D,o,ct=d(()=>{"use strict";nt=require("@stackshift-ui/heading"),lt=require("@stackshift-ui/container")});var zt={};x(zt,{AppPromo:()=>st});module.exports=ht(zt);var C=require("react"),Ft={variant_a:(0,C.lazy)(()=>Promise.resolve().then(()=>(O(),K))),variant_b:(0,C.lazy)(()=>Promise.resolve().then(()=>(et(),rt))),variant_c:(0,C.lazy)(()=>Promise.resolve().then(()=>(ct(),mt)))},Tt="AppPromo",st=({data:t})=>{var n,m,c,u,s,I,S,R,A,F,T,z,_,$;let r=t==null?void 0:t.variant,e=r&&Ft[r],i={logo:(m=(n=t==null?void 0:t.variants)==null?void 0:n.logo)!=null?m:void 0,subtitle:(u=(c=t==null?void 0:t.variants)==null?void 0:c.subtitle)!=null?u:void 0,title:(I=(s=t==null?void 0:t.variants)==null?void 0:s.title)!=null?I:void 0,description:(R=(S=t==null?void 0:t.variants)==null?void 0:S.description)!=null?R:void 0,statistics:(F=(A=t==null?void 0:t.variants)==null?void 0:A.stats)!=null?F:void 0,features:(z=(T=t==null?void 0:t.variants)==null?void 0:T.tags)!=null?z:void 0,images:($=(_=t==null?void 0:t.variants)==null?void 0:_.images)!=null?$:void 0};return e?(0,o.jsx)(e,{...i}):null};st.displayName=Tt;0&&(module.exports={AppPromo});
1
+ "use strict";var ut=Object.create;var f=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var dt=Object.getOwnPropertyNames;var xt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var d=(t,r)=>()=>(t&&(r=t(t=0)),r);var x=(t,r)=>{for(var e in r)f(t,e,{get:r[e],enumerable:!0})},H=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of dt(r))!wt.call(t,n)&&n!==e&&f(t,n,{get:()=>r[n],enumerable:!(i=ft(r,n))||i.enumerable});return t};var j=(t,r,e)=>(e=t!=null?ut(xt(t)):{},H(r||!t||!t.__esModule?f(e,"default",{value:t,enumerable:!0}):e,t)),ht=t=>H(f({},"__esModule",{value:!0}),t);var w,V=d(()=>{"use strict";w=t=>{var r,e,i;return t!=null&&t.internalLink&&(t==null?void 0:t.type)==="linkInternal"?(e=(r=t==null?void 0:t.internalLink)==null?void 0:r.toLowerCase())!=null&&e.includes("home")?"/":`/${t.internalLink}`:t!=null&&t.externalLink&&(t==null?void 0:t.type)==="linkExternal"&&(i=t==null?void 0:t.externalLink)!=null?i:"/"}});var K={};x(K,{AppPromo_A:()=>J,default:()=>J});function J({logo:t,subtitle:r,title:e,images:i=[]}){var s;let[n,m]=(0,b.useState)(0),c=()=>{i!=null&&i.length&&(n!==i.length-1?m(n+1):m(n=0))},u=()=>{i!=null&&i.length&&m(n!==0?n-1:n=i.length-1)};return(0,a.jsx)(E.Section,{className:"o-16 overflow-hidden bg-background",children:(0,a.jsxs)(D.Container,{className:"relative text-center",maxWidth:448,children:[(0,a.jsx)(bt,{logo:t}),(0,a.jsx)(vt,{subtitle:r,title:e}),(0,a.jsx)(kt,{images:i}),(0,a.jsx)(Ct,{image:i[n].image,alt:(s=i[n].alt)!=null?s:`appPromo-variantA-image-${n}`}),(0,a.jsx)(gt,{arrowLeftClick:u,arrowRightClick:c})]})})}function bt({logo:t}){var r;return t!=null&&t.image?(0,a.jsx)(M.Link,{"aria-label":`Go to ${w(t)==="/"?"home page":w(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:w(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:(0,a.jsx)(h.Image,{src:t==null?void 0:t.image,width:50,height:56,alt:(r=t==null?void 0:t.alt)!=null?r:"appPromo-logo"})}):null}function vt({subtitle:t,title:r}){return(0,a.jsxs)(b.default.Fragment,{children:[t?(0,a.jsx)(q.Text,{className:"mb-3 text-secondary",children:t}):null,r?(0,a.jsx)(G.Heading,{type:"h1",fontSize:"3xl",className:"mb-8",children:r}):null]})}function P({src:t,alt:r,positionClass:e}){return t?(0,a.jsx)(h.Image,{className:`absolute object-contain h-80 rounded-t-2xl ${e}`,src:t,sizes:"218px",width:218,height:320,alt:r}):null}function kt({images:t}){var r,e,i,n,m,c;return(0,a.jsxs)("div",{className:"hidden h-72 sm:block",children:[(r=t==null?void 0:t[0])!=null&&r.image?(0,a.jsx)(P,{src:(e=t==null?void 0:t[0])==null?void 0:e.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(i=t==null?void 0:t[1])!=null&&i.image?(0,a.jsx)(P,{src:(n=t==null?void 0:t[1])==null?void 0:n.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(m=t==null?void 0:t[2])!=null&&m.image?(0,a.jsx)(P,{src:(c=t==null?void 0:t[2])==null?void 0:c.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function Ct({image:t,alt:r}){return t?(0,a.jsx)("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:(0,a.jsx)(h.Image,{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:r})}):null}function gt({arrowLeftClick:t,arrowRightClick:r}){return(0,a.jsxs)(W.Flex,{justify:"between",className:"mb-16 sm:hidden",children:[(0,a.jsx)(N.SwiperButton,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),(0,a.jsx)(N.SwiperButton,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:r})]})}var D,W,G,h,M,E,N,q,b,a,O=d(()=>{"use strict";D=require("@stackshift-ui/container"),W=require("@stackshift-ui/flex"),G=require("@stackshift-ui/heading"),h=require("@stackshift-ui/image"),M=require("@stackshift-ui/link"),E=require("@stackshift-ui/section"),N=require("@stackshift-ui/swiper-button"),q=require("@stackshift-ui/text"),b=j(require("react"));V();a=require("react/jsx-runtime")});var rt={};x(rt,{AppPromo_B:()=>tt,default:()=>tt});function tt({subtitle:t,title:r,description:e,statistics:i,images:n}){let[m,c]=p.default.useState(0);return(0,o.jsx)(E.Section,{className:"o-16 overflow-hidden bg-background",children:(0,o.jsxs)(U.Container,{className:"relative text-center",maxWidth:1280,children:[(0,o.jsxs)("div",{className:"w-full mt-8 lg:w-1/2",children:[(0,o.jsx)(Pt,{subtitle:t,title:r,description:e}),(0,o.jsx)(Nt,{statistics:i})]}),(0,o.jsx)(W.Flex,{align:"center",justify:"center",gap:8,className:"w-full 2xl:w-1/2",children:(0,o.jsx)(Lt,{images:n,currentPosition:m,arrowLeftClick:()=>{n!=null&&n.length&&c(m!==0?m-1:m=n.length-1)},arrowRightClick:()=>{n!=null&&n.length&&(m!==n.length-1?c(m+1):c(m=0))}})})]})})}function Pt({subtitle:t,title:r,description:e}){return(0,o.jsxs)(p.default.Fragment,{children:[t?(0,o.jsx)(q.Text,{weight:"bold",className:"text-center md:text-left text-secondary",children:t}):null,r?(0,o.jsx)(G.Heading,{type:"h1",fontSize:"3xl",className:"mt-3 text-center md:text-left",children:r}):null,e?(0,o.jsx)(q.Text,{className:"mt-3 mb-10 leading-loose text-center break-words md:text-left",muted:!0,children:e}):null]})}function Nt({statistics:t}){return!t||(t==null?void 0:t.length)<=0?null:(0,o.jsx)(p.default.Fragment,{children:(0,o.jsx)(W.Flex,{wrap:!0,children:t==null?void 0:t.map((r,e)=>(0,o.jsxs)("div",{className:"w-full mb-8 text-center md:text-left lg:w-1/2",children:[(0,o.jsx)(q.Text,{muted:!0,className:"mb-3",children:r==null?void 0:r.label}),(0,o.jsx)("span",{className:"text-xl text-gray-500 font-bold",children:r==null?void 0:r.value})]},e))})})}function Lt({images:t,currentPosition:r,arrowLeftClick:e,arrowRightClick:i}){return t?(0,o.jsx)(p.default.Fragment,{children:t.length>1?(0,o.jsx)(yt,{arrowLeftClick:e,arrowRightClick:i,children:(0,o.jsx)(Q,{images:t,currentPosition:r})}):(0,o.jsx)(Q,{images:t,currentPosition:r})}):null}function yt({children:t,arrowLeftClick:r,arrowRightClick:e}){return(0,o.jsxs)(p.default.Fragment,{children:[(0,o.jsx)(N.SwiperButton,{variant:"variant_a",type:"left",ariaLabel:"Left Arrow button",onClick:r}),t,(0,o.jsx)(N.SwiperButton,{variant:"variant_a",type:"right",ariaLabel:"Right Arrow button",onClick:e})]})}function Q({images:t,currentPosition:r}){var e,i,n;return(e=t==null?void 0:t[r])!=null&&e.image?(0,o.jsx)("div",{className:"object-contain w-1/2 mr-2",children:(0,o.jsx)(h.Image,{className:"object-cover w-full h-full mx-auto mb-8 xl:mb-0",src:`${t[r].image}`,sizes:"100vw",width:500,height:850,alt:(n=(i=t[r])==null?void 0:i.alt)!=null?n:`appPromo-variantB-image-${r}`})}):null}var U,W,G,h,E,N,q,p,o,et=d(()=>{"use strict";U=require("@stackshift-ui/container"),p=j(require("react")),o=require("react/jsx-runtime")});var mt={};x(mt,{AppPromo_C:()=>at,default:()=>at});function at({subtitle:t,title:r,description:e,features:i,images:n}){return(0,o.jsx)(E.Section,{className:"py-20 bg-background",children:(0,o.jsx)(lt.Container,{maxWidth:1280,children:(0,o.jsxs)(W.Flex,{align:"center",wrap:!0,gap:8,children:[(0,o.jsx)(It,{subtitle:t,title:r,description:e,features:i}),(0,o.jsx)(Rt,{images:n})]})})})}function It({subtitle:t,title:r,description:e,features:i}){return(0,o.jsxs)("div",{className:"max-w-xl space-W-5",children:[t?(0,o.jsx)(q.Text,{weight:"bold",className:"text-sm md:text-lg lg:text-xl text-secondary",children:t}):null,r?(0,o.jsx)(nt.Heading,{type:"h1",fontSize:"3xl",children:r}):null,e?(0,o.jsx)(q.Text,{muted:!0,className:"text-sm md:text-lg lg:text-xl",children:e}):null,(0,o.jsx)(St,{features:i})]})}function St({features:t}){return t?(0,o.jsx)("ul",{className:"mb-8",children:t.map((r,e)=>(0,o.jsxs)(W.Flex,{as:"li",align:"center",className:"mb-3",children:[(0,o.jsx)(At,{}),(0,o.jsx)(q.Text,{className:"text-sm md:text-lg lg:text-xl",weight:"bold",muted:!0,children:r})]},e))}):null}function Rt({images:t}){return t?(0,o.jsxs)(W.Flex,{align:"center",className:"w-full transform -rotate-12 lg:w-1/2",children:[(0,o.jsx)(I,{images:t,start:0,end:1}),(0,o.jsx)("div",{className:"w-full",children:t==null?void 0:t.slice(1,3).map((r,e)=>(0,o.jsx)(I,{images:[r],start:0,end:1},e))}),(0,o.jsx)(I,{images:t,start:3,end:4})]}):null}function I({images:t,start:r,end:e}){var i;return(i=t==null?void 0:t[r])!=null&&i.image?(0,o.jsx)("div",{className:"w-full",children:t.slice(r,e).map((n,m)=>{var c;return(0,o.jsx)(h.Image,{className:"object-cover",src:`${n.image}`,sizes:"100vw",width:500,height:850,alt:(c=n.alt)!=null?c:`appPromo-variantC-image-${m}`},m)})}):null}function At(){return(0,o.jsx)("svg",{className:"w-5 h-5 mr-2 text-primary-foreground",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})}var nt,q,h,E,lt,W,o,ct=d(()=>{"use strict";nt=require("@stackshift-ui/heading"),lt=require("@stackshift-ui/container")});var zt={};x(zt,{AppPromo:()=>st});module.exports=ht(zt);var g=require("react"),Ft={variant_a:(0,g.lazy)(()=>Promise.resolve().then(()=>(O(),K))),variant_b:(0,g.lazy)(()=>Promise.resolve().then(()=>(et(),rt))),variant_c:(0,g.lazy)(()=>Promise.resolve().then(()=>(ct(),mt)))},Tt="AppPromo",st=({data:t})=>{var n,m,c,u,s,S,R,A,F,T,z,_,$,B;let r=t==null?void 0:t.variant,e=r&&Ft[r],i={logo:(m=(n=t==null?void 0:t.variants)==null?void 0:n.logo)!=null?m:void 0,subtitle:(u=(c=t==null?void 0:t.variants)==null?void 0:c.subtitle)!=null?u:void 0,title:(S=(s=t==null?void 0:t.variants)==null?void 0:s.title)!=null?S:void 0,description:(A=(R=t==null?void 0:t.variants)==null?void 0:R.description)!=null?A:void 0,statistics:(T=(F=t==null?void 0:t.variants)==null?void 0:F.stats)!=null?T:void 0,features:(_=(z=t==null?void 0:t.variants)==null?void 0:z.tags)!=null?_:void 0,images:(B=($=t==null?void 0:t.variants)==null?void 0:$.images)!=null?B:void 0};return e?(0,o.jsx)(e,{...i}):null};st.displayName=Tt;0&&(module.exports={AppPromo});
@@ -1 +1 @@
1
- import{a}from"./chunk-G2VBXDZJ.mjs";export{a as AppPromo};
1
+ import{a}from"./chunk-3QSNPWRF.mjs";export{a as AppPromo};
@@ -1 +1 @@
1
- "use strict";var N=Object.create;var m=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var R=(t,r)=>{for(var i in r)m(t,i,{get:r[i],enumerable:!0})},s=(t,r,i,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of y(r))!S.call(t,a)&&a!==i&&m(t,a,{get:()=>r[a],enumerable:!(e=A(r,a))||e.enumerable});return t};var T=(t,r,i)=>(i=t!=null?N(I(t)):{},s(r||!t||!t.__esModule?m(i,"default",{value:t,enumerable:!0}):i,t)),z=t=>s(m({},"__esModule",{value:!0}),t);var H={};R(H,{AppPromo_A:()=>C,default:()=>C});module.exports=z(H);var h=require("@stackshift-ui/container"),b=require("@stackshift-ui/flex"),k=require("@stackshift-ui/heading"),w=require("@stackshift-ui/image"),x=require("@stackshift-ui/link"),L=require("@stackshift-ui/section"),f=require("@stackshift-ui/swiper-button"),P=require("@stackshift-ui/text"),u=T(require("react"));var l=t=>{var r,i,e;return t!=null&&t.internalLink&&(t==null?void 0:t.type)==="linkInternal"?(i=(r=t==null?void 0:t.internalLink)==null?void 0:r.toLowerCase())!=null&&i.includes("home")?"/":`/${t.internalLink}`:t!=null&&t.externalLink&&(t==null?void 0:t.type)==="linkExternal"&&(e=t==null?void 0:t.externalLink)!=null?e:"/"};var n=require("react/jsx-runtime");function C({logo:t,subtitle:r,title:i,images:e=[]}){var d;let[a,p]=(0,u.useState)(0),c=()=>{e!=null&&e.length&&(a!==e.length-1?p(a+1):p(a=0))},v=()=>{e!=null&&e.length&&p(a!==0?a-1:a=e.length-1)};return(0,n.jsx)(L.Section,{className:"pt-16 overflow-hidden bg-background",children:(0,n.jsxs)(h.Container,{className:"relative text-center",maxWidth:448,children:[(0,n.jsx)(F,{logo:t}),(0,n.jsx)($,{subtitle:r,title:i}),(0,n.jsx)(j,{images:e}),(0,n.jsx)(B,{image:e[a].image,alt:(d=e[a].alt)!=null?d:`appPromo-variantA-image-${a}`}),(0,n.jsx)(G,{arrowLeftClick:v,arrowRightClick:c})]})})}function F({logo:t}){var r;return t!=null&&t.image?(0,n.jsx)(x.Link,{"aria-label":`Go to ${l(t)==="/"?"home page":l(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:l(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:(0,n.jsx)(w.Image,{src:t==null?void 0:t.image,width:50,height:56,alt:(r=t==null?void 0:t.alt)!=null?r:"appPromo-logo"})}):null}function $({subtitle:t,title:r}){return(0,n.jsxs)(u.default.Fragment,{children:[t?(0,n.jsx)(P.Text,{className:"mb-3 text-secondary",children:t}):null,r?(0,n.jsx)(k.Heading,{type:"h1",fontSize:"3xl",className:"mb-8",children:r}):null]})}function o({src:t,alt:r,positionClass:i}){return t?(0,n.jsx)("img",{className:`absolute object-contain h-80 rounded-t-2xl ${i}`,src:t,sizes:"218px",width:218,height:320,alt:r}):null}function j({images:t}){var r,i,e,a,p,c;return(0,n.jsxs)("div",{className:"hidden h-72 sm:block",children:[(r=t==null?void 0:t[0])!=null&&r.image?(0,n.jsx)(o,{src:(i=t==null?void 0:t[0])==null?void 0:i.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(e=t==null?void 0:t[1])!=null&&e.image?(0,n.jsx)(o,{src:(a=t==null?void 0:t[1])==null?void 0:a.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(p=t==null?void 0:t[2])!=null&&p.image?(0,n.jsx)(o,{src:(c=t==null?void 0:t[2])==null?void 0:c.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function B({image:t,alt:r}){return t?(0,n.jsx)("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:(0,n.jsx)("img",{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:r})}):null}function G({arrowLeftClick:t,arrowRightClick:r}){return(0,n.jsxs)(b.Flex,{justify:"between",className:"mb-16 sm:hidden",children:[(0,n.jsx)(f.SwiperButton,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),(0,n.jsx)(f.SwiperButton,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:r})]})}0&&(module.exports={AppPromo_A});
1
+ "use strict";var N=Object.create;var l=Object.defineProperty;var A=Object.getOwnPropertyDescriptor;var y=Object.getOwnPropertyNames;var I=Object.getPrototypeOf,S=Object.prototype.hasOwnProperty;var R=(t,r)=>{for(var i in r)l(t,i,{get:r[i],enumerable:!0})},h=(t,r,i,e)=>{if(r&&typeof r=="object"||typeof r=="function")for(let a of y(r))!S.call(t,a)&&a!==i&&l(t,a,{get:()=>r[a],enumerable:!(e=A(r,a))||e.enumerable});return t};var T=(t,r,i)=>(i=t!=null?N(I(t)):{},h(r||!t||!t.__esModule?l(i,"default",{value:t,enumerable:!0}):i,t)),z=t=>h(l({},"__esModule",{value:!0}),t);var H={};R(H,{AppPromo_A:()=>C,default:()=>C});module.exports=z(H);var b=require("@stackshift-ui/container"),k=require("@stackshift-ui/flex"),w=require("@stackshift-ui/heading"),u=require("@stackshift-ui/image"),x=require("@stackshift-ui/link"),L=require("@stackshift-ui/section"),d=require("@stackshift-ui/swiper-button"),P=require("@stackshift-ui/text"),o=T(require("react"));var m=t=>{var r,i,e;return t!=null&&t.internalLink&&(t==null?void 0:t.type)==="linkInternal"?(i=(r=t==null?void 0:t.internalLink)==null?void 0:r.toLowerCase())!=null&&i.includes("home")?"/":`/${t.internalLink}`:t!=null&&t.externalLink&&(t==null?void 0:t.type)==="linkExternal"&&(e=t==null?void 0:t.externalLink)!=null?e:"/"};var n=require("react/jsx-runtime");function C({logo:t,subtitle:r,title:i,images:e=[]}){var s;let[a,p]=(0,o.useState)(0),c=()=>{e!=null&&e.length&&(a!==e.length-1?p(a+1):p(a=0))},v=()=>{e!=null&&e.length&&p(a!==0?a-1:a=e.length-1)};return(0,n.jsx)(L.Section,{className:"pt-16 overflow-hidden bg-background",children:(0,n.jsxs)(b.Container,{className:"relative text-center",maxWidth:448,children:[(0,n.jsx)(F,{logo:t}),(0,n.jsx)($,{subtitle:r,title:i}),(0,n.jsx)(j,{images:e}),(0,n.jsx)(B,{image:e[a].image,alt:(s=e[a].alt)!=null?s:`appPromo-variantA-image-${a}`}),(0,n.jsx)(G,{arrowLeftClick:v,arrowRightClick:c})]})})}function F({logo:t}){var r;return t!=null&&t.image?(0,n.jsx)(x.Link,{"aria-label":`Go to ${m(t)==="/"?"home page":m(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:m(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:(0,n.jsx)(u.Image,{src:t==null?void 0:t.image,width:50,height:56,alt:(r=t==null?void 0:t.alt)!=null?r:"appPromo-logo"})}):null}function $({subtitle:t,title:r}){return(0,n.jsxs)(o.default.Fragment,{children:[t?(0,n.jsx)(P.Text,{className:"mb-3 text-secondary",children:t}):null,r?(0,n.jsx)(w.Heading,{type:"h1",fontSize:"3xl",className:"mb-8",children:r}):null]})}function f({src:t,alt:r,positionClass:i}){return t?(0,n.jsx)(u.Image,{className:`absolute object-contain h-80 rounded-t-2xl ${i}`,src:t,sizes:"218px",width:218,height:320,alt:r}):null}function j({images:t}){var r,i,e,a,p,c;return(0,n.jsxs)("div",{className:"hidden h-72 sm:block",children:[(r=t==null?void 0:t[0])!=null&&r.image?(0,n.jsx)(f,{src:(i=t==null?void 0:t[0])==null?void 0:i.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(e=t==null?void 0:t[1])!=null&&e.image?(0,n.jsx)(f,{src:(a=t==null?void 0:t[1])==null?void 0:a.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(p=t==null?void 0:t[2])!=null&&p.image?(0,n.jsx)(f,{src:(c=t==null?void 0:t[2])==null?void 0:c.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function B({image:t,alt:r}){return t?(0,n.jsx)("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:(0,n.jsx)(u.Image,{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:r})}):null}function G({arrowLeftClick:t,arrowRightClick:r}){return(0,n.jsxs)(k.Flex,{justify:"between",className:"mb-16 sm:hidden",children:[(0,n.jsx)(d.SwiperButton,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),(0,n.jsx)(d.SwiperButton,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:r})]})}0&&(module.exports={AppPromo_A});
@@ -1 +1 @@
1
- import{a}from"./chunk-HEASXD32.mjs";import"./chunk-KQFO7OZP.mjs";export{a as AppPromo_A,a as default};
1
+ import{a}from"./chunk-KBEJLTRE.mjs";import"./chunk-KQFO7OZP.mjs";export{a as AppPromo_A,a as default};
@@ -0,0 +1 @@
1
+ import{a as c}from"./chunk-KQFO7OZP.mjs";import{Container as s}from"@stackshift-ui/container";import{Flex as b}from"@stackshift-ui/flex";import{Heading as w}from"@stackshift-ui/heading";import{Image as u}from"@stackshift-ui/image";import{Link as x}from"@stackshift-ui/link";import{Section as P}from"@stackshift-ui/section";import{SwiperButton as d}from"@stackshift-ui/swiper-button";import{Text as k}from"@stackshift-ui/text";import C,{useState as v}from"react";import{jsx as r,jsxs as p}from"react/jsx-runtime";function L({logo:t,subtitle:n,title:a,images:e=[]}){var f;let[o,i]=v(0),l=()=>{e!=null&&e.length&&(o!==e.length-1?i(o+1):i(o=0))},h=()=>{e!=null&&e.length&&i(o!==0?o-1:o=e.length-1)};return r(P,{className:"pt-16 overflow-hidden bg-background",children:p(s,{className:"relative text-center",maxWidth:448,children:[r(N,{logo:t}),r(A,{subtitle:n,title:a}),r(I,{images:e}),r(S,{image:e[o].image,alt:(f=e[o].alt)!=null?f:`appPromo-variantA-image-${o}`}),r(y,{arrowLeftClick:h,arrowRightClick:l})]})})}function N({logo:t}){var n;return t!=null&&t.image?r(x,{"aria-label":`Go to ${c(t)==="/"?"home page":c(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:c(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:r(u,{src:t==null?void 0:t.image,width:50,height:56,alt:(n=t==null?void 0:t.alt)!=null?n:"appPromo-logo"})}):null}function A({subtitle:t,title:n}){return p(C.Fragment,{children:[t?r(k,{className:"mb-3 text-secondary",children:t}):null,n?r(w,{type:"h1",fontSize:"3xl",className:"mb-8",children:n}):null]})}function m({src:t,alt:n,positionClass:a}){return t?r(u,{className:`absolute object-contain h-80 rounded-t-2xl ${a}`,src:t,sizes:"218px",width:218,height:320,alt:n}):null}function I({images:t}){var n,a,e,o,i,l;return p("div",{className:"hidden h-72 sm:block",children:[(n=t==null?void 0:t[0])!=null&&n.image?r(m,{src:(a=t==null?void 0:t[0])==null?void 0:a.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(e=t==null?void 0:t[1])!=null&&e.image?r(m,{src:(o=t==null?void 0:t[1])==null?void 0:o.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(i=t==null?void 0:t[2])!=null&&i.image?r(m,{src:(l=t==null?void 0:t[2])==null?void 0:l.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function S({image:t,alt:n}){return t?r("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:r(u,{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:n})}):null}function y({arrowLeftClick:t,arrowRightClick:n}){return p(b,{justify:"between",className:"mb-16 sm:hidden",children:[r(d,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),r(d,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:n})]})}export{L as a};
package/dist/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";var ut=Object.create;var f=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var dt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var x=(t,r)=>()=>(t&&(r=t(t=0)),r);var d=(t,r)=>{for(var e in r)f(t,e,{get:r[e],enumerable:!0})},G=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of xt(r))!wt.call(t,n)&&n!==e&&f(t,n,{get:()=>r[n],enumerable:!(i=ft(r,n))||i.enumerable});return t};var M=(t,r,e)=>(e=t!=null?ut(dt(t)):{},G(r||!t||!t.__esModule?f(e,"default",{value:t,enumerable:!0}):e,t)),ht=t=>G(f({},"__esModule",{value:!0}),t);var w,E=x(()=>{"use strict";w=t=>{var r,e,i;return t!=null&&t.internalLink&&(t==null?void 0:t.type)==="linkInternal"?(e=(r=t==null?void 0:t.internalLink)==null?void 0:r.toLowerCase())!=null&&e.includes("home")?"/":`/${t.internalLink}`:t!=null&&t.externalLink&&(t==null?void 0:t.type)==="linkExternal"&&(i=t==null?void 0:t.externalLink)!=null?i:"/"}});var Y={};d(Y,{AppPromo_A:()=>N,default:()=>N});function N({logo:t,subtitle:r,title:e,images:i=[]}){var p;let[n,m]=(0,h.useState)(0),c=()=>{i!=null&&i.length&&(n!==i.length-1?m(n+1):m(n=0))},u=()=>{i!=null&&i.length&&m(n!==0?n-1:n=i.length-1)};return(0,a.jsx)(U.Section,{className:"pt-16 overflow-hidden bg-background",children:(0,a.jsxs)(q.Container,{className:"relative text-center",maxWidth:448,children:[(0,a.jsx)(bt,{logo:t}),(0,a.jsx)(vt,{subtitle:r,title:e}),(0,a.jsx)(kt,{images:i}),(0,a.jsx)(Ct,{image:i[n].image,alt:(p=i[n].alt)!=null?p:`appPromo-variantA-image-${n}`}),(0,a.jsx)(gt,{arrowLeftClick:u,arrowRightClick:c})]})})}function bt({logo:t}){var r;return t!=null&&t.image?(0,a.jsx)(Q.Link,{"aria-label":`Go to ${w(t)==="/"?"home page":w(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:w(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:(0,a.jsx)(O.Image,{src:t==null?void 0:t.image,width:50,height:56,alt:(r=t==null?void 0:t.alt)!=null?r:"appPromo-logo"})}):null}function vt({subtitle:t,title:r}){return(0,a.jsxs)(h.default.Fragment,{children:[t?(0,a.jsx)(X.Text,{className:"mb-3 text-secondary",children:t}):null,r?(0,a.jsx)(K.Heading,{type:"h1",fontSize:"3xl",className:"mb-8",children:r}):null]})}function g({src:t,alt:r,positionClass:e}){return t?(0,a.jsx)("img",{className:`absolute object-contain h-80 rounded-t-2xl ${e}`,src:t,sizes:"218px",width:218,height:320,alt:r}):null}function kt({images:t}){var r,e,i,n,m,c;return(0,a.jsxs)("div",{className:"hidden h-72 sm:block",children:[(r=t==null?void 0:t[0])!=null&&r.image?(0,a.jsx)(g,{src:(e=t==null?void 0:t[0])==null?void 0:e.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(i=t==null?void 0:t[1])!=null&&i.image?(0,a.jsx)(g,{src:(n=t==null?void 0:t[1])==null?void 0:n.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(m=t==null?void 0:t[2])!=null&&m.image?(0,a.jsx)(g,{src:(c=t==null?void 0:t[2])==null?void 0:c.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function Ct({image:t,alt:r}){return t?(0,a.jsx)("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:(0,a.jsx)("img",{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:r})}):null}function gt({arrowLeftClick:t,arrowRightClick:r}){return(0,a.jsxs)(J.Flex,{justify:"between",className:"mb-16 sm:hidden",children:[(0,a.jsx)(P.SwiperButton,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),(0,a.jsx)(P.SwiperButton,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:r})]})}var q,J,K,O,Q,U,P,X,h,a,L=x(()=>{"use strict";q=require("@stackshift-ui/container"),J=require("@stackshift-ui/flex"),K=require("@stackshift-ui/heading"),O=require("@stackshift-ui/image"),Q=require("@stackshift-ui/link"),U=require("@stackshift-ui/section"),P=require("@stackshift-ui/swiper-button"),X=require("@stackshift-ui/text"),h=M(require("react"));E();a=require("react/jsx-runtime")});var it={};d(it,{AppPromo_B:()=>S,default:()=>S});function S({subtitle:t,title:r,description:e,statistics:i,images:n}){let[m,c]=s.default.useState(0);return(0,o.jsx)(U.Section,{className:"pt-16 overflow-hidden bg-background",children:(0,o.jsxs)(tt.Container,{className:"relative text-center",maxWidth:1280,children:[(0,o.jsxs)("div",{className:"w-full mt-8 lg:w-1/2",children:[(0,o.jsx)(Pt,{subtitle:t,title:r,description:e}),(0,o.jsx)(Nt,{statistics:i})]}),(0,o.jsx)(J.Flex,{align:"center",justify:"center",gap:8,className:"w-full 2xl:w-1/2",children:(0,o.jsx)(Lt,{images:n,currentPosition:m,arrowLeftClick:()=>{n!=null&&n.length&&c(m!==0?m-1:m=n.length-1)},arrowRightClick:()=>{n!=null&&n.length&&(m!==n.length-1?c(m+1):c(m=0))}})})]})})}function Pt({subtitle:t,title:r,description:e}){return(0,o.jsxs)(s.default.Fragment,{children:[t?(0,o.jsx)(X.Text,{weight:"bold",className:"text-center md:text-left text-secondary",children:t}):null,r?(0,o.jsx)(K.Heading,{type:"h1",fontSize:"3xl",className:"mt-3 text-center md:text-left",children:r}):null,e?(0,o.jsx)(X.Text,{className:"mt-3 mb-10 leading-loose text-center break-words md:text-left",muted:!0,children:e}):null]})}function Nt({statistics:t}){return!t||(t==null?void 0:t.length)<=0?null:(0,o.jsx)(s.default.Fragment,{children:(0,o.jsx)(J.Flex,{wrap:!0,children:t==null?void 0:t.map((r,e)=>(0,o.jsxs)("div",{className:"w-full mb-8 text-center md:text-left lg:w-1/2",children:[(0,o.jsx)(X.Text,{muted:!0,className:"mb-3",children:r==null?void 0:r.label}),(0,o.jsx)("span",{className:"text-xl text-gray-500 font-bold",children:r==null?void 0:r.value})]},e))})})}function Lt({images:t,currentPosition:r,arrowLeftClick:e,arrowRightClick:i}){return t?(0,o.jsx)(s.default.Fragment,{children:t.length>1?(0,o.jsx)(yt,{arrowLeftClick:e,arrowRightClick:i,children:(0,o.jsx)(Z,{images:t,currentPosition:r})}):(0,o.jsx)(Z,{images:t,currentPosition:r})}):null}function yt({children:t,arrowLeftClick:r,arrowRightClick:e}){return(0,o.jsxs)(s.default.Fragment,{children:[(0,o.jsx)(P.SwiperButton,{variant:"variant_a",type:"left",ariaLabel:"Left Arrow button",onClick:r}),t,(0,o.jsx)(P.SwiperButton,{variant:"variant_a",type:"right",ariaLabel:"Right Arrow button",onClick:e})]})}function Z({images:t,currentPosition:r}){var e,i,n;return(e=t==null?void 0:t[r])!=null&&e.image?(0,o.jsx)("div",{className:"object-contain w-1/2 mr-2",children:(0,o.jsx)(O.Image,{className:"object-cover w-full h-full mx-auto mb-8 xl:mb-0",src:`${t[r].image}`,sizes:"100vw",width:500,height:850,alt:(n=(i=t[r])==null?void 0:i.alt)!=null?n:`appPromo-variantB-image-${r}`})}):null}var tt,J,K,O,U,P,X,s,o,R=x(()=>{"use strict";tt=require("@stackshift-ui/container"),s=M(require("react")),o=require("react/jsx-runtime")});var ct={};d(ct,{AppPromo_C:()=>F,default:()=>F});function F({subtitle:t,title:r,description:e,features:i,images:n}){return(0,o.jsx)(U.Section,{className:"py-20 bg-background",children:(0,o.jsx)(mt.Container,{maxWidth:1280,children:(0,o.jsxs)(J.Flex,{align:"center",wrap:!0,gap:8,children:[(0,o.jsx)(It,{subtitle:t,title:r,description:e,features:i}),(0,o.jsx)(Rt,{images:n})]})})})}function It({subtitle:t,title:r,description:e,features:i}){return(0,o.jsxs)("div",{className:"max-w-xl space-P-5",children:[t?(0,o.jsx)(X.Text,{weight:"bold",className:"text-sm md:text-lg lg:text-xl text-secondary",children:t}):null,r?(0,o.jsx)(ot.Heading,{type:"h1",fontSize:"3xl",children:r}):null,e?(0,o.jsx)(X.Text,{muted:!0,className:"text-sm md:text-lg lg:text-xl",children:e}):null,(0,o.jsx)(St,{features:i})]})}function St({features:t}){return t?(0,o.jsx)("ul",{className:"mb-8",children:t.map((r,e)=>(0,o.jsxs)(J.Flex,{as:"li",align:"center",className:"mb-3",children:[(0,o.jsx)(At,{}),(0,o.jsx)(X.Text,{className:"text-sm md:text-lg lg:text-xl",weight:"bold",muted:!0,children:r})]},e))}):null}function Rt({images:t}){return t?(0,o.jsxs)(J.Flex,{align:"center",className:"w-full transform -rotate-12 lg:w-1/2",children:[(0,o.jsx)(A,{images:t,start:0,end:1}),(0,o.jsx)("div",{className:"w-full",children:t==null?void 0:t.slice(1,3).map((r,e)=>(0,o.jsx)(A,{images:[r],start:0,end:1},e))}),(0,o.jsx)(A,{images:t,start:3,end:4})]}):null}function A({images:t,start:r,end:e}){var i;return(i=t==null?void 0:t[r])!=null&&i.image?(0,o.jsx)("div",{className:"w-full",children:t.slice(r,e).map((n,m)=>{var c;return(0,o.jsx)(O.Image,{className:"object-cover",src:`${n.image}`,sizes:"100vw",width:500,height:850,alt:(c=n.alt)!=null?c:`appPromo-variantC-image-${m}`},m)})}):null}function At(){return(0,o.jsx)("svg",{className:"w-5 h-5 mr-2 text-primary-foreground",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})}var ot,X,O,U,mt,J,o,T=x(()=>{"use strict";ot=require("@stackshift-ui/heading"),mt=require("@stackshift-ui/container")});var zt={};d(zt,{AppPromo:()=>pt,AppPromo_A:()=>N,AppPromo_B:()=>S,AppPromo_C:()=>F});module.exports=ht(zt);var C=require("react"),Ft={variant_a:(0,C.lazy)(()=>Promise.resolve().then(()=>(L(),Y))),variant_b:(0,C.lazy)(()=>Promise.resolve().then(()=>(R(),it))),variant_c:(0,C.lazy)(()=>Promise.resolve().then(()=>(T(),ct)))},Tt="AppPromo",pt=({data:t})=>{var n,m,c,u,p,z,_,$,B,H,j,V,D,W;let r=t==null?void 0:t.variant,e=r&&Ft[r],i={logo:(m=(n=t==null?void 0:t.variants)==null?void 0:n.logo)!=null?m:void 0,subtitle:(u=(c=t==null?void 0:t.variants)==null?void 0:c.subtitle)!=null?u:void 0,title:(z=(p=t==null?void 0:t.variants)==null?void 0:p.title)!=null?z:void 0,description:($=(_=t==null?void 0:t.variants)==null?void 0:_.description)!=null?$:void 0,statistics:(H=(B=t==null?void 0:t.variants)==null?void 0:B.stats)!=null?H:void 0,features:(V=(j=t==null?void 0:t.variants)==null?void 0:j.tags)!=null?V:void 0,images:(W=(D=t==null?void 0:t.variants)==null?void 0:D.images)!=null?W:void 0};return e?(0,o.jsx)(e,{...i}):null};pt.displayName=Tt;L();R();T();0&&(module.exports={AppPromo,AppPromo_A,AppPromo_B,AppPromo_C});
2
+ "use strict";var ut=Object.create;var f=Object.defineProperty;var ft=Object.getOwnPropertyDescriptor;var xt=Object.getOwnPropertyNames;var dt=Object.getPrototypeOf,wt=Object.prototype.hasOwnProperty;var x=(t,r)=>()=>(t&&(r=t(t=0)),r);var d=(t,r)=>{for(var e in r)f(t,e,{get:r[e],enumerable:!0})},M=(t,r,e,i)=>{if(r&&typeof r=="object"||typeof r=="function")for(let n of xt(r))!wt.call(t,n)&&n!==e&&f(t,n,{get:()=>r[n],enumerable:!(i=ft(r,n))||i.enumerable});return t};var E=(t,r,e)=>(e=t!=null?ut(dt(t)):{},M(r||!t||!t.__esModule?f(e,"default",{value:t,enumerable:!0}):e,t)),ht=t=>M(f({},"__esModule",{value:!0}),t);var w,q=x(()=>{"use strict";w=t=>{var r,e,i;return t!=null&&t.internalLink&&(t==null?void 0:t.type)==="linkInternal"?(e=(r=t==null?void 0:t.internalLink)==null?void 0:r.toLowerCase())!=null&&e.includes("home")?"/":`/${t.internalLink}`:t!=null&&t.externalLink&&(t==null?void 0:t.type)==="linkExternal"&&(i=t==null?void 0:t.externalLink)!=null?i:"/"}});var Y={};d(Y,{AppPromo_A:()=>L,default:()=>L});function L({logo:t,subtitle:r,title:e,images:i=[]}){var p;let[n,m]=(0,b.useState)(0),c=()=>{i!=null&&i.length&&(n!==i.length-1?m(n+1):m(n=0))},u=()=>{i!=null&&i.length&&m(n!==0?n-1:n=i.length-1)};return(0,a.jsx)(U.Section,{className:"pt-16 overflow-hidden bg-background",children:(0,a.jsxs)(J.Container,{className:"relative text-center",maxWidth:448,children:[(0,a.jsx)(bt,{logo:t}),(0,a.jsx)(vt,{subtitle:r,title:e}),(0,a.jsx)(kt,{images:i}),(0,a.jsx)(Ct,{image:i[n].image,alt:(p=i[n].alt)!=null?p:`appPromo-variantA-image-${n}`}),(0,a.jsx)(gt,{arrowLeftClick:u,arrowRightClick:c})]})})}function bt({logo:t}){var r;return t!=null&&t.image?(0,a.jsx)(Q.Link,{"aria-label":`Go to ${w(t)==="/"?"home page":w(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:w(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:(0,a.jsx)(h.Image,{src:t==null?void 0:t.image,width:50,height:56,alt:(r=t==null?void 0:t.alt)!=null?r:"appPromo-logo"})}):null}function vt({subtitle:t,title:r}){return(0,a.jsxs)(b.default.Fragment,{children:[t?(0,a.jsx)(X.Text,{className:"mb-3 text-secondary",children:t}):null,r?(0,a.jsx)(O.Heading,{type:"h1",fontSize:"3xl",className:"mb-8",children:r}):null]})}function P({src:t,alt:r,positionClass:e}){return t?(0,a.jsx)(h.Image,{className:`absolute object-contain h-80 rounded-t-2xl ${e}`,src:t,sizes:"218px",width:218,height:320,alt:r}):null}function kt({images:t}){var r,e,i,n,m,c;return(0,a.jsxs)("div",{className:"hidden h-72 sm:block",children:[(r=t==null?void 0:t[0])!=null&&r.image?(0,a.jsx)(P,{src:(e=t==null?void 0:t[0])==null?void 0:e.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(i=t==null?void 0:t[1])!=null&&i.image?(0,a.jsx)(P,{src:(n=t==null?void 0:t[1])==null?void 0:n.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(m=t==null?void 0:t[2])!=null&&m.image?(0,a.jsx)(P,{src:(c=t==null?void 0:t[2])==null?void 0:c.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function Ct({image:t,alt:r}){return t?(0,a.jsx)("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:(0,a.jsx)(h.Image,{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:r})}):null}function gt({arrowLeftClick:t,arrowRightClick:r}){return(0,a.jsxs)(K.Flex,{justify:"between",className:"mb-16 sm:hidden",children:[(0,a.jsx)(N.SwiperButton,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),(0,a.jsx)(N.SwiperButton,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:r})]})}var J,K,O,h,Q,U,N,X,b,a,y=x(()=>{"use strict";J=require("@stackshift-ui/container"),K=require("@stackshift-ui/flex"),O=require("@stackshift-ui/heading"),h=require("@stackshift-ui/image"),Q=require("@stackshift-ui/link"),U=require("@stackshift-ui/section"),N=require("@stackshift-ui/swiper-button"),X=require("@stackshift-ui/text"),b=E(require("react"));q();a=require("react/jsx-runtime")});var it={};d(it,{AppPromo_B:()=>R,default:()=>R});function R({subtitle:t,title:r,description:e,statistics:i,images:n}){let[m,c]=s.default.useState(0);return(0,o.jsx)(U.Section,{className:"pt-16 overflow-hidden bg-background",children:(0,o.jsxs)(tt.Container,{className:"relative text-center",maxWidth:1280,children:[(0,o.jsxs)("div",{className:"w-full mt-8 lg:w-1/2",children:[(0,o.jsx)(Pt,{subtitle:t,title:r,description:e}),(0,o.jsx)(Nt,{statistics:i})]}),(0,o.jsx)(K.Flex,{align:"center",justify:"center",gap:8,className:"w-full 2xl:w-1/2",children:(0,o.jsx)(Lt,{images:n,currentPosition:m,arrowLeftClick:()=>{n!=null&&n.length&&c(m!==0?m-1:m=n.length-1)},arrowRightClick:()=>{n!=null&&n.length&&(m!==n.length-1?c(m+1):c(m=0))}})})]})})}function Pt({subtitle:t,title:r,description:e}){return(0,o.jsxs)(s.default.Fragment,{children:[t?(0,o.jsx)(X.Text,{weight:"bold",className:"text-center md:text-left text-secondary",children:t}):null,r?(0,o.jsx)(O.Heading,{type:"h1",fontSize:"3xl",className:"mt-3 text-center md:text-left",children:r}):null,e?(0,o.jsx)(X.Text,{className:"mt-3 mb-10 leading-loose text-center break-words md:text-left",muted:!0,children:e}):null]})}function Nt({statistics:t}){return!t||(t==null?void 0:t.length)<=0?null:(0,o.jsx)(s.default.Fragment,{children:(0,o.jsx)(K.Flex,{wrap:!0,children:t==null?void 0:t.map((r,e)=>(0,o.jsxs)("div",{className:"w-full mb-8 text-center md:text-left lg:w-1/2",children:[(0,o.jsx)(X.Text,{muted:!0,className:"mb-3",children:r==null?void 0:r.label}),(0,o.jsx)("span",{className:"text-xl text-gray-500 font-bold",children:r==null?void 0:r.value})]},e))})})}function Lt({images:t,currentPosition:r,arrowLeftClick:e,arrowRightClick:i}){return t?(0,o.jsx)(s.default.Fragment,{children:t.length>1?(0,o.jsx)(yt,{arrowLeftClick:e,arrowRightClick:i,children:(0,o.jsx)(Z,{images:t,currentPosition:r})}):(0,o.jsx)(Z,{images:t,currentPosition:r})}):null}function yt({children:t,arrowLeftClick:r,arrowRightClick:e}){return(0,o.jsxs)(s.default.Fragment,{children:[(0,o.jsx)(N.SwiperButton,{variant:"variant_a",type:"left",ariaLabel:"Left Arrow button",onClick:r}),t,(0,o.jsx)(N.SwiperButton,{variant:"variant_a",type:"right",ariaLabel:"Right Arrow button",onClick:e})]})}function Z({images:t,currentPosition:r}){var e,i,n;return(e=t==null?void 0:t[r])!=null&&e.image?(0,o.jsx)("div",{className:"object-contain w-1/2 mr-2",children:(0,o.jsx)(h.Image,{className:"object-cover w-full h-full mx-auto mb-8 xl:mb-0",src:`${t[r].image}`,sizes:"100vw",width:500,height:850,alt:(n=(i=t[r])==null?void 0:i.alt)!=null?n:`appPromo-variantB-image-${r}`})}):null}var tt,K,O,h,U,N,X,s,o,A=x(()=>{"use strict";tt=require("@stackshift-ui/container"),s=E(require("react")),o=require("react/jsx-runtime")});var ct={};d(ct,{AppPromo_C:()=>T,default:()=>T});function T({subtitle:t,title:r,description:e,features:i,images:n}){return(0,o.jsx)(U.Section,{className:"py-20 bg-background",children:(0,o.jsx)(mt.Container,{maxWidth:1280,children:(0,o.jsxs)(K.Flex,{align:"center",wrap:!0,gap:8,children:[(0,o.jsx)(It,{subtitle:t,title:r,description:e,features:i}),(0,o.jsx)(Rt,{images:n})]})})})}function It({subtitle:t,title:r,description:e,features:i}){return(0,o.jsxs)("div",{className:"max-w-xl space-y-5",children:[t?(0,o.jsx)(X.Text,{weight:"bold",className:"text-sm md:text-lg lg:text-xl text-secondary",children:t}):null,r?(0,o.jsx)(ot.Heading,{type:"h1",fontSize:"3xl",children:r}):null,e?(0,o.jsx)(X.Text,{muted:!0,className:"text-sm md:text-lg lg:text-xl",children:e}):null,(0,o.jsx)(St,{features:i})]})}function St({features:t}){return t?(0,o.jsx)("ul",{className:"mb-8",children:t.map((r,e)=>(0,o.jsxs)(K.Flex,{as:"li",align:"center",className:"mb-3",children:[(0,o.jsx)(At,{}),(0,o.jsx)(X.Text,{className:"text-sm md:text-lg lg:text-xl",weight:"bold",muted:!0,children:r})]},e))}):null}function Rt({images:t}){return t?(0,o.jsxs)(K.Flex,{align:"center",className:"w-full transform -rotate-12 lg:w-1/2",children:[(0,o.jsx)(F,{images:t,start:0,end:1}),(0,o.jsx)("div",{className:"w-full",children:t==null?void 0:t.slice(1,3).map((r,e)=>(0,o.jsx)(F,{images:[r],start:0,end:1},e))}),(0,o.jsx)(F,{images:t,start:3,end:4})]}):null}function F({images:t,start:r,end:e}){var i;return(i=t==null?void 0:t[r])!=null&&i.image?(0,o.jsx)("div",{className:"w-full",children:t.slice(r,e).map((n,m)=>{var c;return(0,o.jsx)(h.Image,{className:"object-cover",src:`${n.image}`,sizes:"100vw",width:500,height:850,alt:(c=n.alt)!=null?c:`appPromo-variantC-image-${m}`},m)})}):null}function At(){return(0,o.jsx)("svg",{className:"w-5 h-5 mr-2 text-primary-foreground",xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",children:(0,o.jsx)("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z",clipRule:"evenodd"})})}var ot,X,h,U,mt,K,o,z=x(()=>{"use strict";ot=require("@stackshift-ui/heading"),mt=require("@stackshift-ui/container")});var zt={};d(zt,{AppPromo:()=>pt,AppPromo_A:()=>L,AppPromo_B:()=>R,AppPromo_C:()=>T});module.exports=ht(zt);var g=require("react"),Ft={variant_a:(0,g.lazy)(()=>Promise.resolve().then(()=>(y(),Y))),variant_b:(0,g.lazy)(()=>Promise.resolve().then(()=>(A(),it))),variant_c:(0,g.lazy)(()=>Promise.resolve().then(()=>(z(),ct)))},Tt="AppPromo",pt=({data:t})=>{var n,m,c,u,p,_,$,B,H,j,V,D,W,G;let r=t==null?void 0:t.variant,e=r&&Ft[r],i={logo:(m=(n=t==null?void 0:t.variants)==null?void 0:n.logo)!=null?m:void 0,subtitle:(u=(c=t==null?void 0:t.variants)==null?void 0:c.subtitle)!=null?u:void 0,title:(_=(p=t==null?void 0:t.variants)==null?void 0:p.title)!=null?_:void 0,description:(B=($=t==null?void 0:t.variants)==null?void 0:$.description)!=null?B:void 0,statistics:(j=(H=t==null?void 0:t.variants)==null?void 0:H.stats)!=null?j:void 0,features:(D=(V=t==null?void 0:t.variants)==null?void 0:V.tags)!=null?D:void 0,images:(G=(W=t==null?void 0:t.variants)==null?void 0:W.images)!=null?G:void 0};return e?(0,o.jsx)(e,{...i}):null};pt.displayName=Tt;y();A();z();0&&(module.exports={AppPromo,AppPromo_A,AppPromo_B,AppPromo_C});
package/dist/index.mjs CHANGED
@@ -1,2 +1,2 @@
1
1
  "use client";
2
- "use strict";import{a as t}from"./chunk-G2VBXDZJ.mjs";import{a as o}from"./chunk-HEASXD32.mjs";import{a as r}from"./chunk-UHCXH5CS.mjs";import{a as e}from"./chunk-DOIJ5GHV.mjs";import"./chunk-KQFO7OZP.mjs";export{t as AppPromo,o as AppPromo_A,r as AppPromo_B,e as AppPromo_C};
2
+ "use strict";import{a as t}from"./chunk-3QSNPWRF.mjs";import{a as o}from"./chunk-KBEJLTRE.mjs";import{a as r}from"./chunk-UHCXH5CS.mjs";import{a as e}from"./chunk-DOIJ5GHV.mjs";import"./chunk-KQFO7OZP.mjs";export{t as AppPromo,o as AppPromo_A,r as AppPromo_B,e as AppPromo_C};
package/package.json CHANGED
@@ -1,14 +1,15 @@
1
1
  {
2
2
  "name": "@stackshift-ui/app-promo",
3
3
  "description": "",
4
- "version": "6.0.2",
4
+ "version": "6.0.3",
5
5
  "private": false,
6
6
  "sideEffects": false,
7
7
  "main": "./dist/index.js",
8
8
  "module": "./dist/index.mjs",
9
9
  "types": "./dist/index.d.ts",
10
10
  "files": [
11
- "dist/**"
11
+ "dist/**",
12
+ "src"
12
13
  ],
13
14
  "author": "WebriQ <info@webriq.com>",
14
15
  "devDependencies": {
@@ -28,20 +29,20 @@
28
29
  "typescript": "^5.6.2",
29
30
  "vite-tsconfig-paths": "^5.0.1",
30
31
  "vitest": "^2.1.1",
31
- "@stackshift-ui/typescript-config": "6.0.2",
32
- "@stackshift-ui/eslint-config": "6.0.2"
32
+ "@stackshift-ui/eslint-config": "6.0.2",
33
+ "@stackshift-ui/typescript-config": "6.0.2"
33
34
  },
34
35
  "dependencies": {
36
+ "@stackshift-ui/swiper-button": "6.0.3",
37
+ "@stackshift-ui/system": "6.0.3",
38
+ "@stackshift-ui/image": "6.0.3",
35
39
  "@stackshift-ui/scripts": "6.0.2",
36
- "@stackshift-ui/swiper-button": "6.0.2",
37
- "@stackshift-ui/system": "6.0.2",
38
- "@stackshift-ui/text": "6.0.2",
39
- "@stackshift-ui/heading": "6.0.2",
40
- "@stackshift-ui/image": "6.0.2",
41
- "@stackshift-ui/link": "6.0.2",
42
- "@stackshift-ui/flex": "6.0.2",
43
- "@stackshift-ui/container": "6.0.2",
44
- "@stackshift-ui/section": "6.0.2"
40
+ "@stackshift-ui/text": "6.0.3",
41
+ "@stackshift-ui/link": "6.0.3",
42
+ "@stackshift-ui/section": "6.0.3",
43
+ "@stackshift-ui/flex": "6.0.3",
44
+ "@stackshift-ui/container": "6.0.3",
45
+ "@stackshift-ui/heading": "6.0.3"
45
46
  },
46
47
  "peerDependencies": {
47
48
  "@types/react": "16.8 - 19",
@@ -0,0 +1,13 @@
1
+ import { cleanup, render, screen } from "@testing-library/react";
2
+ import { afterEach, describe, test } from "vitest";
3
+ import { AppPromo } from "./app-promo";
4
+
5
+ describe.concurrent("app-promo", () => {
6
+ afterEach(cleanup);
7
+
8
+ test.skip("Dummy test - test if renders without errors", ({ expect }) => {
9
+ const clx = "my-class";
10
+ render(<AppPromo />);
11
+ expect(screen.getByTestId("{ kebabCase name }}").classList).toContain(clx);
12
+ });
13
+ });
@@ -0,0 +1,39 @@
1
+ import { lazy } from "react";
2
+ import { SectionsProps, Logo, StatItems, Images } from "./types";
3
+
4
+ const Variants = {
5
+ variant_a: lazy(() => import("./app-promo_a")),
6
+ variant_b: lazy(() => import("./app-promo_b")),
7
+ variant_c: lazy(() => import("./app-promo_c")),
8
+ };
9
+
10
+ export interface AppPromoProps {
11
+ logo?: Logo;
12
+ subtitle?: string;
13
+ title?: string;
14
+ description?: string;
15
+ statistics?: StatItems[];
16
+ features?: string[];
17
+ images?: Images[];
18
+ }
19
+
20
+ const displayName = "AppPromo";
21
+
22
+ export const AppPromo: React.FC<SectionsProps> = ({ data }) => {
23
+ const variant = data?.variant;
24
+ const Variant = variant && Variants[variant as keyof typeof Variants];
25
+
26
+ const props = {
27
+ logo: data?.variants?.logo ?? undefined,
28
+ subtitle: data?.variants?.subtitle ?? undefined,
29
+ title: data?.variants?.title ?? undefined,
30
+ description: data?.variants?.description ?? undefined,
31
+ statistics: data?.variants?.stats ?? undefined,
32
+ features: data?.variants?.tags ?? undefined,
33
+ images: data?.variants?.images ?? undefined,
34
+ };
35
+
36
+ return Variant ? <Variant {...props} /> : null;
37
+ };
38
+
39
+ AppPromo.displayName = displayName;
@@ -0,0 +1,172 @@
1
+ import { Container } from "@stackshift-ui/container";
2
+ import { Flex } from "@stackshift-ui/flex";
3
+ import { Heading } from "@stackshift-ui/heading";
4
+ import { Image } from "@stackshift-ui/image";
5
+ import { Link } from "@stackshift-ui/link";
6
+ import { Section } from "@stackshift-ui/section";
7
+ import { SwiperButton } from "@stackshift-ui/swiper-button";
8
+ import { Text } from "@stackshift-ui/text";
9
+ import React, { useState } from "react";
10
+ import { AppPromoProps } from ".";
11
+ import { logoLink } from "./helper";
12
+ import { Images, Logo } from "./types";
13
+
14
+ export default function AppPromo_A({ logo, subtitle, title, images = [] }: AppPromoProps) {
15
+ //for image carousel
16
+ let [currentPosition, setCurrentPosition] = useState(0); // Initial image index value
17
+
18
+ const arrowRightClick = () => {
19
+ if (images?.length) {
20
+ currentPosition !== images.length - 1 // Check index length
21
+ ? setCurrentPosition(currentPosition + 1)
22
+ : setCurrentPosition((currentPosition = 0));
23
+ }
24
+ };
25
+
26
+ const arrowLeftClick = () => {
27
+ if (images?.length) {
28
+ currentPosition !== 0 // Check index length
29
+ ? setCurrentPosition(currentPosition - 1)
30
+ : setCurrentPosition((currentPosition = images.length - 1));
31
+ }
32
+ };
33
+
34
+ return (
35
+ <Section className="pt-16 overflow-hidden bg-background">
36
+ <Container className="relative text-center" maxWidth={448}>
37
+ <LogoSection logo={logo} />
38
+ <SubtitleAndTitleText subtitle={subtitle} title={title} />
39
+ <PromoImagesGroup images={images} />
40
+
41
+ {/* mobile image view less than 640px */}
42
+ <MobileImageView
43
+ image={images[currentPosition].image}
44
+ alt={images[currentPosition].alt ?? `appPromo-variantA-image-${currentPosition}`}
45
+ />
46
+ <SwiperButtons arrowLeftClick={arrowLeftClick} arrowRightClick={arrowRightClick} />
47
+ </Container>
48
+ </Section>
49
+ );
50
+ }
51
+
52
+ function LogoSection({ logo }: { logo?: Logo }) {
53
+ if (!logo?.image) return null;
54
+
55
+ return (
56
+ <Link
57
+ aria-label={`Go to ${logoLink(logo) === "/" ? "home page" : logoLink(logo)}`}
58
+ className="inline-block p-5 mb-8 bg-white rounded-lg"
59
+ href={logoLink(logo)}
60
+ target={logo?.linkTarget}
61
+ rel={logo?.linkTarget === "_blank" ? "noopener noreferrer" : ""}>
62
+ <Image src={logo?.image} width={50} height={56} alt={logo?.alt ?? "appPromo-logo"} />
63
+ </Link>
64
+ );
65
+ }
66
+
67
+ function SubtitleAndTitleText({ subtitle, title }: { subtitle?: string; title?: string }) {
68
+ return (
69
+ <React.Fragment>
70
+ {subtitle ? <Text className="mb-3 text-secondary">{subtitle}</Text> : null}
71
+ {title ? (
72
+ <Heading type="h1" fontSize="3xl" className="mb-8">
73
+ {title}
74
+ </Heading>
75
+ ) : null}
76
+ </React.Fragment>
77
+ );
78
+ }
79
+
80
+ interface PromoImageProps {
81
+ src: any;
82
+ alt: string;
83
+ positionClass: string;
84
+ }
85
+
86
+ function PromoImage({ src, alt, positionClass }: PromoImageProps) {
87
+ if (!src) return null;
88
+
89
+ return (
90
+ <Image
91
+ className={`absolute object-contain h-80 rounded-t-2xl ${positionClass}`}
92
+ src={src}
93
+ sizes="218px"
94
+ width={218}
95
+ height={320}
96
+ alt={alt}
97
+ />
98
+ );
99
+ }
100
+
101
+ function PromoImagesGroup({ images }: { images: Images[] }) {
102
+ return (
103
+ <div className="hidden h-72 sm:block">
104
+ {images?.[0]?.image ? (
105
+ <PromoImage
106
+ src={images?.[0]?.image}
107
+ alt="appPromo-variantA-image-1"
108
+ positionClass="bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"
109
+ />
110
+ ) : null}
111
+ {images?.[1]?.image ? (
112
+ <PromoImage
113
+ src={images?.[1]?.image}
114
+ alt="appPromo-variantA-image-2"
115
+ positionClass="bottom-0 left-0 -mb-24"
116
+ />
117
+ ) : null}
118
+ {images?.[2]?.image ? (
119
+ <PromoImage
120
+ src={images?.[2]?.image}
121
+ alt="appPromo-variantA-image-3"
122
+ positionClass="bottom-0 right-0 -mb-24"
123
+ />
124
+ ) : null}
125
+ </div>
126
+ );
127
+ }
128
+
129
+ function MobileImageView({ image, alt }: { image: any; alt: string }) {
130
+ if (!image) return null;
131
+
132
+ return (
133
+ <div className="object-contain w-1/2 mx-auto sm:hidden">
134
+ <Image
135
+ className="object-contain w-full h-full"
136
+ src={image}
137
+ sizes="(min-width: 520px) 224px, 45vw"
138
+ width={500}
139
+ height={850}
140
+ alt={alt}
141
+ />
142
+ </div>
143
+ );
144
+ }
145
+
146
+ function SwiperButtons({
147
+ arrowLeftClick,
148
+ arrowRightClick,
149
+ }: {
150
+ arrowLeftClick: () => void;
151
+ arrowRightClick: () => void;
152
+ }) {
153
+ return (
154
+ <Flex justify="between" className="mb-16 sm:hidden">
155
+ <SwiperButton
156
+ type="left"
157
+ ariaLabel="Left Arrow button"
158
+ className="order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1"
159
+ onClick={arrowLeftClick}
160
+ />
161
+
162
+ <SwiperButton
163
+ type="right"
164
+ ariaLabel="Right Arrow button"
165
+ className="order-2"
166
+ onClick={arrowRightClick}
167
+ />
168
+ </Flex>
169
+ );
170
+ }
171
+
172
+ export { AppPromo_A };
@@ -0,0 +1,189 @@
1
+ import { Container } from "@stackshift-ui/container";
2
+ import { Flex } from "@stackshift-ui/flex";
3
+ import { Heading } from "@stackshift-ui/heading";
4
+ import { Image } from "@stackshift-ui/image";
5
+ import { Section } from "@stackshift-ui/section";
6
+ import { SwiperButton } from "@stackshift-ui/swiper-button";
7
+ import { Text } from "@stackshift-ui/text";
8
+ import React from "react";
9
+ import { AppPromoProps } from ".";
10
+ import { Images, StatItems } from "./types";
11
+
12
+ export default function AppPromo_B({
13
+ subtitle,
14
+ title,
15
+ description,
16
+ statistics,
17
+ images,
18
+ }: AppPromoProps) {
19
+ //for image carousel
20
+ let [currentPosition, setCurrentPosition] = React.useState(0); // Initial image index value
21
+
22
+ const arrowRightClick = () => {
23
+ if (images?.length) {
24
+ currentPosition !== images.length - 1 // Check index length
25
+ ? setCurrentPosition(currentPosition + 1)
26
+ : setCurrentPosition((currentPosition = 0));
27
+ }
28
+ };
29
+
30
+ const arrowLeftClick = () => {
31
+ if (images?.length) {
32
+ currentPosition !== 0 // Check index length
33
+ ? setCurrentPosition(currentPosition - 1)
34
+ : setCurrentPosition((currentPosition = images.length - 1));
35
+ }
36
+ };
37
+
38
+ return (
39
+ <Section className="pt-16 overflow-hidden bg-background">
40
+ <Container className="relative text-center" maxWidth={1280}>
41
+ <div className="w-full mt-8 lg:w-1/2">
42
+ <SubtitleTitleDescriptionText
43
+ subtitle={subtitle}
44
+ title={title}
45
+ description={description}
46
+ />
47
+ <StatisticsData statistics={statistics} />
48
+ </div>
49
+ <Flex align="center" justify="center" gap={8} className="w-full 2xl:w-1/2">
50
+ <ImageCarousel
51
+ images={images}
52
+ currentPosition={currentPosition}
53
+ arrowLeftClick={arrowLeftClick}
54
+ arrowRightClick={arrowRightClick}
55
+ />
56
+ </Flex>
57
+ </Container>
58
+ </Section>
59
+ );
60
+ }
61
+
62
+ function SubtitleTitleDescriptionText({
63
+ subtitle,
64
+ title,
65
+ description,
66
+ }: {
67
+ subtitle?: string;
68
+ title?: string;
69
+ description?: string;
70
+ }) {
71
+ return (
72
+ <React.Fragment>
73
+ {subtitle ? (
74
+ <Text weight="bold" className="text-center md:text-left text-secondary">
75
+ {subtitle}
76
+ </Text>
77
+ ) : null}
78
+ {title ? (
79
+ <Heading type="h1" fontSize="3xl" className="mt-3 text-center md:text-left">
80
+ {title}
81
+ </Heading>
82
+ ) : null}
83
+ {description ? (
84
+ <Text className="mt-3 mb-10 leading-loose text-center break-words md:text-left" muted>
85
+ {description}
86
+ </Text>
87
+ ) : null}
88
+ </React.Fragment>
89
+ );
90
+ }
91
+
92
+ function StatisticsData({ statistics }: { statistics?: StatItems[] }) {
93
+ if (!statistics || statistics?.length <= 0) return null;
94
+
95
+ return (
96
+ <React.Fragment>
97
+ <Flex wrap>
98
+ {statistics?.map((items, index) => (
99
+ <div className="w-full mb-8 text-center md:text-left lg:w-1/2" key={index}>
100
+ <Text muted className="mb-3">
101
+ {items?.label}
102
+ </Text>
103
+ <span className="text-xl text-gray-500 font-bold">{items?.value}</span>
104
+ </div>
105
+ ))}
106
+ </Flex>
107
+ </React.Fragment>
108
+ );
109
+ }
110
+
111
+ interface ImageCarouselProps {
112
+ images?: Images[];
113
+ currentPosition: number;
114
+ arrowLeftClick: () => void;
115
+ arrowRightClick: () => void;
116
+ }
117
+
118
+ function ImageCarousel({
119
+ images,
120
+ currentPosition,
121
+ arrowLeftClick,
122
+ arrowRightClick,
123
+ }: ImageCarouselProps) {
124
+ if (!images) return null;
125
+ return (
126
+ <React.Fragment>
127
+ {images.length > 1 ? (
128
+ <SwiperControls arrowLeftClick={arrowLeftClick} arrowRightClick={arrowRightClick}>
129
+ <ImagesSection images={images} currentPosition={currentPosition} />
130
+ </SwiperControls>
131
+ ) : (
132
+ <ImagesSection images={images} currentPosition={currentPosition} />
133
+ )}
134
+ </React.Fragment>
135
+ );
136
+ }
137
+
138
+ function SwiperControls({
139
+ children,
140
+ arrowLeftClick,
141
+ arrowRightClick,
142
+ }: {
143
+ children: React.ReactNode;
144
+ arrowLeftClick: () => void;
145
+ arrowRightClick: () => void;
146
+ }) {
147
+ return (
148
+ <React.Fragment>
149
+ <SwiperButton
150
+ variant="variant_a"
151
+ type="left"
152
+ ariaLabel="Left Arrow button"
153
+ onClick={arrowLeftClick}
154
+ />
155
+ {children}
156
+ <SwiperButton
157
+ variant="variant_a"
158
+ type="right"
159
+ ariaLabel="Right Arrow button"
160
+ onClick={arrowRightClick}
161
+ />
162
+ </React.Fragment>
163
+ );
164
+ }
165
+
166
+ function ImagesSection({
167
+ images,
168
+ currentPosition,
169
+ }: {
170
+ images?: Images[];
171
+ currentPosition: number;
172
+ }) {
173
+ if (!images?.[currentPosition]?.image) return null;
174
+
175
+ return (
176
+ <div className="object-contain w-1/2 mr-2">
177
+ <Image
178
+ className="object-cover w-full h-full mx-auto mb-8 xl:mb-0"
179
+ src={`${images[currentPosition].image}`}
180
+ sizes="100vw"
181
+ width={500}
182
+ height={850}
183
+ alt={images[currentPosition]?.alt ?? `appPromo-variantB-image-${currentPosition}`}
184
+ />
185
+ </div>
186
+ );
187
+ }
188
+
189
+ export { AppPromo_B };
@@ -0,0 +1,137 @@
1
+ import { Heading } from "@stackshift-ui/heading";
2
+ import { Text } from "@stackshift-ui/text";
3
+ import { Image } from "@stackshift-ui/image";
4
+ import { Section } from "@stackshift-ui/section";
5
+ import { Container } from "@stackshift-ui/container";
6
+ import { Flex } from "@stackshift-ui/flex";
7
+ import { Images } from "./types";
8
+ import { AppPromoProps } from ".";
9
+
10
+ export default function AppPromo_C({
11
+ subtitle,
12
+ title,
13
+ description,
14
+ features,
15
+ images,
16
+ }: AppPromoProps) {
17
+ return (
18
+ <Section className="py-20 bg-background">
19
+ <Container maxWidth={1280}>
20
+ <Flex align="center" wrap gap={8}>
21
+ <TextSection
22
+ subtitle={subtitle}
23
+ title={title}
24
+ description={description}
25
+ features={features}
26
+ />
27
+ <ImageSection images={images} />
28
+ </Flex>
29
+ </Container>
30
+ </Section>
31
+ );
32
+ }
33
+
34
+ function TextSection({
35
+ subtitle,
36
+ title,
37
+ description,
38
+ features,
39
+ }: {
40
+ subtitle?: string;
41
+ title?: string;
42
+ description?: string;
43
+ features?: string[];
44
+ }) {
45
+ return (
46
+ <div className="max-w-xl space-y-5">
47
+ {subtitle ? (
48
+ <Text weight="bold" className="text-sm md:text-lg lg:text-xl text-secondary">
49
+ {subtitle}
50
+ </Text>
51
+ ) : null}
52
+ {title ? (
53
+ <Heading type="h1" fontSize="3xl">
54
+ {title}
55
+ </Heading>
56
+ ) : null}
57
+ {description ? (
58
+ <Text muted className="text-sm md:text-lg lg:text-xl">
59
+ {description}
60
+ </Text>
61
+ ) : null}
62
+ <FeatureList features={features} />
63
+ </div>
64
+ );
65
+ }
66
+
67
+ function FeatureList({ features }: { features?: string[] }) {
68
+ if (!features) return null;
69
+
70
+ return (
71
+ <ul className="mb-8">
72
+ {features.map((feature, index) => (
73
+ <Flex as="li" align="center" className="mb-3" key={index}>
74
+ <CheckIcon />
75
+ <Text className="text-sm md:text-lg lg:text-xl" weight="bold" muted>
76
+ {feature}
77
+ </Text>
78
+ </Flex>
79
+ ))}
80
+ </ul>
81
+ );
82
+ }
83
+
84
+ function ImageSection({ images }: { images?: Images[] }) {
85
+ if (!images) return null;
86
+
87
+ return (
88
+ <Flex align="center" className="w-full transform -rotate-12 lg:w-1/2">
89
+ <ImageDisplay images={images} start={0} end={1} />
90
+ <div className="w-full">
91
+ {images
92
+ ?.slice(1, 3)
93
+ .map((img, index) => <ImageDisplay images={[img]} start={0} end={1} key={index} />)}
94
+ </div>
95
+ <ImageDisplay images={images} start={3} end={4} />
96
+ </Flex>
97
+ );
98
+ }
99
+
100
+ function ImageDisplay({ images, start, end }: { images?: Images[]; start: number; end: number }) {
101
+ if (!images?.[start]?.image) return null;
102
+
103
+ return (
104
+ <div className="w-full">
105
+ {images.slice(start, end).map((image, index) => (
106
+ <Image
107
+ key={index}
108
+ className="object-cover"
109
+ src={`${image.image}`}
110
+ sizes="100vw"
111
+ width={500}
112
+ height={850}
113
+ alt={image.alt ?? `appPromo-variantC-image-${index}`}
114
+ />
115
+ ))}
116
+ </div>
117
+ );
118
+ }
119
+
120
+ // Check Icon Component
121
+ function CheckIcon() {
122
+ return (
123
+ <svg
124
+ className="w-5 h-5 mr-2 text-primary-foreground"
125
+ xmlns="http://www.w3.org/2000/svg"
126
+ viewBox="0 0 20 20"
127
+ fill="currentColor">
128
+ <path
129
+ fillRule="evenodd"
130
+ d="M10 18a8 8 0 100-16 8 8 0 000 16zm3.707-9.293a1 1 0 00-1.414-1.414L9 10.586 7.707 9.293a1 1 0 00-1.414 1.414l2 2a1 1 0 001.414 0l4-4z"
131
+ clipRule="evenodd"
132
+ />
133
+ </svg>
134
+ );
135
+ }
136
+
137
+ export { AppPromo_C };
@@ -0,0 +1,14 @@
1
+ import { Logo } from "../types";
2
+
3
+ export const logoLink = (logo: Logo) => {
4
+ if (logo?.internalLink && logo?.type === "linkInternal") {
5
+ if (logo?.internalLink?.toLowerCase()?.includes("home")) {
6
+ return "/";
7
+ }
8
+ return `/${logo.internalLink}`;
9
+ } else if (logo?.externalLink && logo?.type === "linkExternal") {
10
+ return logo?.externalLink ?? "/";
11
+ } else {
12
+ return "/";
13
+ }
14
+ };
package/src/index.ts ADDED
@@ -0,0 +1,7 @@
1
+ "use client";
2
+
3
+ // component exports
4
+ export * from "./app-promo";
5
+ export * from "./app-promo_a";
6
+ export * from "./app-promo_b";
7
+ export * from "./app-promo_c";
package/src/types.ts ADDED
@@ -0,0 +1,412 @@
1
+ export type StyleVariants<T extends string> = Record<T, string>;
2
+
3
+ export type Socials = "facebook" | "instagram" | "youtube" | "linkedin" | "twitter";
4
+ export interface MainImage {
5
+ image: string;
6
+ alt?: string;
7
+ }
8
+
9
+ export interface LabeledRoute extends ConditionalLink {
10
+ ariaLabel?: string;
11
+ label?: string;
12
+ linkTarget?: string;
13
+ linkType?: string;
14
+ _type?: string;
15
+ linkInternal?: any;
16
+ }
17
+ export interface ConditionalLink {
18
+ type?: string;
19
+ internalLink?: string | null;
20
+ externalLink?: string | null;
21
+ }
22
+
23
+ export interface StatItems {
24
+ label?: string;
25
+ mainImage?: MainImage;
26
+ value?: string;
27
+ _key?: string;
28
+ _type?: string;
29
+ }
30
+
31
+ export interface Logo extends ConditionalLink {
32
+ alt?: string;
33
+ linkTarget?: string;
34
+ image?: string;
35
+ }
36
+
37
+ export interface Images {
38
+ image?: string;
39
+ _key?: string;
40
+ _type?: string;
41
+ alt?: string;
42
+ }
43
+
44
+ export interface ContactDetails {
45
+ addressInfo?: string;
46
+ contactInfo?: string;
47
+ emailInfo?: string;
48
+ _key?: string;
49
+ }
50
+
51
+ export interface SocialLink {
52
+ socialMedia?: string | null;
53
+ socialMediaLink?: string | null;
54
+ _key?: string | null;
55
+ _type?: string | null;
56
+ socialMediaIcon?: {
57
+ alt?: string;
58
+ image?: string;
59
+ } | null;
60
+ socialMediaPlatform?: string | null;
61
+ }
62
+
63
+ export interface LabeledRouteWithKey extends LabeledRoute {
64
+ _key?: string;
65
+ }
66
+
67
+ export interface ArrayOfImageTitleAndText {
68
+ mainImage?: {
69
+ alt?: string;
70
+ image?: string;
71
+ };
72
+ plainText?: string;
73
+ title?: string;
74
+ _key?: string;
75
+ _type?: string;
76
+ }
77
+
78
+ export interface FeaturedItem {
79
+ description?: string;
80
+ mainImage?: MainImage;
81
+ title?: string;
82
+ subtitle?: string;
83
+ _key?: string;
84
+ _type?: string;
85
+ }
86
+
87
+ export interface ArrayOfTitleAndText {
88
+ _key?: string;
89
+ plainText?: string;
90
+ title?: string;
91
+ }
92
+
93
+ export interface BlogPost extends SanityBody {
94
+ authors?: Author[] | null;
95
+ body?: any;
96
+ categories?: Category[] | null;
97
+ excerpt?: string | null;
98
+ link?: string | null;
99
+ mainImage?: string | null;
100
+ publishedAt?: string;
101
+ seo?: Seo | null;
102
+ slug?: SanitySlug | null;
103
+ title?: string;
104
+ }
105
+
106
+ export interface Seo {
107
+ _type?: string;
108
+ seoTitle?: string;
109
+ seoDescription?: string;
110
+ seoImage?: string;
111
+ seoKeywords?: string;
112
+ seoSynonyms?: string;
113
+ }
114
+
115
+ export interface SanitySlug {
116
+ current?: string;
117
+ _type?: "slug";
118
+ }
119
+
120
+ export interface SanityBody {
121
+ _createdAt?: string;
122
+ _id?: string;
123
+ _rev?: string;
124
+ _type?: string;
125
+ _updatedAt?: string;
126
+ }
127
+
128
+ export interface Author extends SanityBody {
129
+ link?: string | null;
130
+ bio?: string | null;
131
+ name?: string | null;
132
+ slug?: SanitySlug | null;
133
+ image?: string | null;
134
+ profile?: {
135
+ alt: string;
136
+ image: string;
137
+ } | null;
138
+ }
139
+
140
+ export interface Category extends SanityBody {
141
+ title?: string;
142
+ }
143
+
144
+ export interface Form {
145
+ id?: string | null;
146
+ buttonLabel?: string | null;
147
+ name?: string | null;
148
+ subtitle?: string | null;
149
+ fields?: FormFields[] | null;
150
+ thankYouPage?: ThankYouPage | null;
151
+ }
152
+
153
+ export interface FormFields {
154
+ name?: string;
155
+ placeholder?: string;
156
+ pricingType?: string;
157
+ type?: FormTypes;
158
+ _key?: string;
159
+ _type?: string;
160
+ isRequired?: boolean;
161
+ label?: string;
162
+ items?: string[];
163
+ }
164
+
165
+ export type FormTypes =
166
+ | "inputText"
167
+ | "inputEmail"
168
+ | "inputPassword"
169
+ | "inputNumber"
170
+ | "textarea"
171
+ | "inputFile"
172
+ | "inputRadio"
173
+ | "inputCheckbox"
174
+ | "inputSelect";
175
+
176
+ export interface ThankYouPage {
177
+ externalLink?: string | null;
178
+ internalLink?: string | null;
179
+ linkInternal?: any;
180
+ linkTarget?: string;
181
+ linkType?: string;
182
+ type?: string;
183
+ }
184
+
185
+ //Used on different sections
186
+ export interface SectionsProps {
187
+ template?: Template;
188
+ data?: Sections;
189
+ variant?: string | null | undefined;
190
+ schema?: Variants;
191
+ }
192
+
193
+ export interface Sections extends SanityBody {
194
+ label?: string;
195
+ variant?: string;
196
+ variants?: Variants;
197
+ _key?: string;
198
+ }
199
+
200
+ //*EDIT THIS SECTION WHEN CREATING/UPDATING SCHEMAS ON STUDIO */
201
+ export interface Variants {
202
+ template?: Template;
203
+ multipleMenus?: any;
204
+ arrayOfTitleAndText?: ArrayOfTitleAndText[] | null;
205
+ logo?: Logo | null;
206
+ primaryButton?: LabeledRoute | null;
207
+ secondaryButton?: LabeledRoute | null;
208
+ routes?: LabeledRouteWithKey[] | null;
209
+ menu?: LabeledRouteWithKey[] | null;
210
+ plans?: Plans[] | null;
211
+ formLinks?: LabeledRouteWithKey[] | null;
212
+ portfolios?: Portfolios[] | null;
213
+ portfoliosWithCategories?: PortfoliosWithCategories[] | null;
214
+ length?: number;
215
+ signInLink?: LabeledRoute | null;
216
+ signinLink?: LabeledRoute | null;
217
+ tags?: string[] | null;
218
+ posts?: BlogPost[] | null;
219
+ blogsPerPage?: number | null;
220
+ form?: Form | null;
221
+ collections?: Collection | null;
222
+ products?: CollectionProduct | null;
223
+ allProducts?: Collection[];
224
+ subtitle?: string | null;
225
+ caption?: string | null;
226
+ title?: string | null;
227
+ plainText?: string | null;
228
+ contactDescription?: string | null;
229
+ officeInformation?: string | null;
230
+ contactEmail?: string | null;
231
+ contactNumber?: string | null;
232
+ socialLinks?: SocialLink[] | null;
233
+ block?: any;
234
+ heading?: string | null;
235
+ acceptButtonLabel?: string | null;
236
+ declineButtonLabel?: string | null;
237
+ faqsWithCategories?: FaqsWithCategory[] | null;
238
+ faqs?: AskedQuestion[] | null;
239
+ arrayOfImageTitleAndText?: ArrayOfImageTitleAndText[] | null;
240
+ description?: string | null;
241
+ featuredItems?: FeaturedItem[] | null;
242
+ images?: Images[] | null;
243
+ contactDetails?: ContactDetails[] | null;
244
+ copyright?: string | null;
245
+ mainImage?: MainImage | null;
246
+ youtubeLink?: string | null;
247
+ banner?: any;
248
+ stats?: StatItems[] | null;
249
+ teams?: Team[] | null;
250
+ testimonials?: Testimonial[] | null;
251
+ selectStripeAccount?: string;
252
+ annualBilling?: string;
253
+ monthlyBilling?: string;
254
+ productDetails?: ProductDetail[];
255
+ btnLabel?: string;
256
+ selectAccount?: string;
257
+ hashtags?: string[];
258
+ numberOfPosts?: number;
259
+ text?: string;
260
+ button?: LabeledRoute;
261
+ features?: string[];
262
+ config?: {
263
+ enableAnalytics: boolean;
264
+ cookiePolicy?: {
265
+ siteName: string;
266
+ cookiePolicyPage: Reference;
267
+ };
268
+ consentModalPosition?: string;
269
+ };
270
+ contactLink?: LabeledRoute;
271
+ }
272
+
273
+ export interface Template {
274
+ bg?: string;
275
+ color?: string;
276
+ }
277
+
278
+ export type Plans = {
279
+ _key?: string | null;
280
+ _type?: "planItems" | null;
281
+ checkoutButtonName?: string | null;
282
+ description?: string | null;
283
+ monthlyPrice?: string | null;
284
+ planType?: string | null;
285
+ yearlyPrice?: string | null;
286
+ planIncludes?: string[] | null;
287
+ primaryButton?: LabeledRoute | null;
288
+ } & Record<string, string>;
289
+
290
+ export interface Portfolios {
291
+ dateAdded?: string | null;
292
+ mainImage?: {
293
+ image?: string | null;
294
+ alt?: string | null;
295
+ } | null;
296
+ primaryButton?: LabeledRoute | null;
297
+ title?: string | null;
298
+ _key?: string | null;
299
+ _type?: string | null;
300
+ }
301
+
302
+ export interface PortfoliosWithCategories {
303
+ category?: string | null;
304
+ content?: Content[] | null;
305
+ primaryButton?: LabeledRoute | null;
306
+ _key?: string | null;
307
+ _type?: string | null;
308
+ }
309
+
310
+ export interface Content extends Portfolios {
311
+ description?: string | null;
312
+ subtitle?: string | null;
313
+ }
314
+
315
+ export interface Collection extends SanityBody {
316
+ collectionInfoVariant?: {
317
+ variant?: string;
318
+ } | null;
319
+ name?: string | null;
320
+ products?: CollectionProduct[] | null;
321
+ sections?: any; //todo
322
+ seo?: Seo | null;
323
+ slug?: SanitySlug | null;
324
+ }
325
+
326
+ export interface CollectionProduct extends SanityBody {
327
+ compareToPrice?: number | null;
328
+ description?: string | null;
329
+ ecwidProductId?: number | null;
330
+ name?: string | null;
331
+ price?: number | null;
332
+ productInfo?: ProductInfo | null;
333
+ productInfoVariant?: {
334
+ variant?: string;
335
+ } | null;
336
+ sections?: any; //todo
337
+ seo?: Seo | null;
338
+ slug?: SanitySlug | null;
339
+ }
340
+
341
+ //TODO, RECHECK PRODUCT INFO DATA FROM SANITY
342
+ interface ProductInfo {
343
+ btnLabel?: string | null;
344
+ images?: ProductInfoImage[] | null;
345
+ productDetails?: ProductDetail[] | null;
346
+ socialLinks?: SocialLink[] | null;
347
+ subtitle?: string | null;
348
+ }
349
+
350
+ //TODO, RECHECK PRODUCT INFO DATA FROM SANITY
351
+ export interface ProductDetail {
352
+ blockContent?: any;
353
+ contentType?: string;
354
+ tabName?: string;
355
+ _key?: string;
356
+ [key: string]: any;
357
+ }
358
+ interface ProductInfoImage {
359
+ alt?: string | null;
360
+ _key: string;
361
+ _type: string;
362
+ image?: string | null;
363
+ }
364
+
365
+ export interface FaqsWithCategory {
366
+ askedQuestions?: AskedQuestion[] | null;
367
+ category?: string | null;
368
+ _key?: string;
369
+ _type?: string;
370
+ }
371
+
372
+ export interface AskedQuestion {
373
+ answer?: string | null;
374
+ question?: string | null;
375
+ hidden?: boolean;
376
+ _key?: string;
377
+ _type?: string;
378
+ }
379
+
380
+ export interface Team {
381
+ jobTitle?: string;
382
+ mainImage?: MainImage;
383
+ name?: string;
384
+ plainText?: string;
385
+ _key?: string;
386
+ _type?: string;
387
+ }
388
+
389
+ export interface Testimonial {
390
+ jobTitle?: string;
391
+ mainImage?: MainImage;
392
+ name?: string;
393
+ rating?: string;
394
+ testimony?: string;
395
+ _key?: string;
396
+ _type?: string;
397
+ }
398
+
399
+ export declare interface Reference {
400
+ _type: string;
401
+ _ref: string;
402
+ _key?: string;
403
+ _weak?: boolean;
404
+ _strengthenOnPublish?: {
405
+ type: string;
406
+ weak?: boolean;
407
+ template?: {
408
+ id: string;
409
+ params: Record<string, string | number | boolean>;
410
+ };
411
+ };
412
+ }
@@ -1 +0,0 @@
1
- import{a as c}from"./chunk-KQFO7OZP.mjs";import{Container as h}from"@stackshift-ui/container";import{Flex as s}from"@stackshift-ui/flex";import{Heading as b}from"@stackshift-ui/heading";import{Image as w}from"@stackshift-ui/image";import{Link as x}from"@stackshift-ui/link";import{Section as P}from"@stackshift-ui/section";import{SwiperButton as f}from"@stackshift-ui/swiper-button";import{Text as k}from"@stackshift-ui/text";import C,{useState as v}from"react";import{jsx as r,jsxs as m}from"react/jsx-runtime";function L({logo:t,subtitle:n,title:a,images:e=[]}){var u;let[o,i]=v(0),l=()=>{e!=null&&e.length&&(o!==e.length-1?i(o+1):i(o=0))},d=()=>{e!=null&&e.length&&i(o!==0?o-1:o=e.length-1)};return r(P,{className:"pt-16 overflow-hidden bg-background",children:m(h,{className:"relative text-center",maxWidth:448,children:[r(N,{logo:t}),r(A,{subtitle:n,title:a}),r(I,{images:e}),r(S,{image:e[o].image,alt:(u=e[o].alt)!=null?u:`appPromo-variantA-image-${o}`}),r(y,{arrowLeftClick:d,arrowRightClick:l})]})})}function N({logo:t}){var n;return t!=null&&t.image?r(x,{"aria-label":`Go to ${c(t)==="/"?"home page":c(t)}`,className:"inline-block p-5 mb-8 bg-white rounded-lg",href:c(t),target:t==null?void 0:t.linkTarget,rel:(t==null?void 0:t.linkTarget)==="_blank"?"noopener noreferrer":"",children:r(w,{src:t==null?void 0:t.image,width:50,height:56,alt:(n=t==null?void 0:t.alt)!=null?n:"appPromo-logo"})}):null}function A({subtitle:t,title:n}){return m(C.Fragment,{children:[t?r(k,{className:"mb-3 text-secondary",children:t}):null,n?r(b,{type:"h1",fontSize:"3xl",className:"mb-8",children:n}):null]})}function p({src:t,alt:n,positionClass:a}){return t?r("img",{className:`absolute object-contain h-80 rounded-t-2xl ${a}`,src:t,sizes:"218px",width:218,height:320,alt:n}):null}function I({images:t}){var n,a,e,o,i,l;return m("div",{className:"hidden h-72 sm:block",children:[(n=t==null?void 0:t[0])!=null&&n.image?r(p,{src:(a=t==null?void 0:t[0])==null?void 0:a.image,alt:"appPromo-variantA-image-1",positionClass:"bottom-0 z-20 -mb-10 transform -translate-x-1/2 left-1/2"}):null,(e=t==null?void 0:t[1])!=null&&e.image?r(p,{src:(o=t==null?void 0:t[1])==null?void 0:o.image,alt:"appPromo-variantA-image-2",positionClass:"bottom-0 left-0 -mb-24"}):null,(i=t==null?void 0:t[2])!=null&&i.image?r(p,{src:(l=t==null?void 0:t[2])==null?void 0:l.image,alt:"appPromo-variantA-image-3",positionClass:"bottom-0 right-0 -mb-24"}):null]})}function S({image:t,alt:n}){return t?r("div",{className:"object-contain w-1/2 mx-auto sm:hidden",children:r("img",{className:"object-contain w-full h-full",src:t,sizes:"(min-width: 520px) 224px, 45vw",width:500,height:850,alt:n})}):null}function y({arrowLeftClick:t,arrowRightClick:n}){return m(s,{justify:"between",className:"mb-16 sm:hidden",children:[r(f,{type:"left",ariaLabel:"Left Arrow button",className:"order-0 md:order-0 lg:order-0 xl:order-1 2xl:order-1",onClick:t}),r(f,{type:"right",ariaLabel:"Right Arrow button",className:"order-2",onClick:n})]})}export{L as a};
File without changes