vue3-fullpage
Version:
<a href="https://southcoastweb.co.uk" target="_blank" alt="Link to southcoastweb's website"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://southcoastweb.co.uk/app/logo-dark.svg"> <source media="(prefers-color-schem
2 lines (1 loc) • 10.8 kB
JavaScript
(function(d,r){typeof exports=="object"&&typeof module<"u"?r(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],r):(d=typeof globalThis<"u"?globalThis:d||self,r(d.Vue3Fullpage={},d.Vue))})(this,function(d,r){"use strict";const uu="";function ue(e){return r.getCurrentScope()?(r.onScopeDispose(e),!0):!1}function O(e){return typeof e=="function"?e():r.unref(e)}const ae=typeof window<"u",re=e=>e!=null,y=()=>{};function m(e){var t;const u=O(e);return(t=u==null?void 0:u.$el)!=null?t:u}const ne=ae?window:void 0;function oe(){const e=r.ref(!1);return r.getCurrentInstance()&&r.onMounted(()=>{e.value=!0}),e}function ie(e){const t=oe();return r.computed(()=>(t.value,!!e()))}function se(e,t,u={}){const{root:n,rootMargin:a="0px",threshold:i=.1,window:f=ne,immediate:c=!0}=u,o=ie(()=>f&&"IntersectionObserver"in f),s=r.computed(()=>{const v=O(e);return(Array.isArray(v)?v:[v]).map(m).filter(re)});let l=y;const b=r.ref(c),eu=o.value?r.watch(()=>[s.value,m(n),b.value],([v,tu])=>{if(l(),!b.value||!v.length)return;const ee=new IntersectionObserver(t,{root:m(tu),rootMargin:a,threshold:i});v.forEach(te=>te&&ee.observe(te)),l=()=>{ee.disconnect(),l=y}},{immediate:c,flush:"post"}):y,X=()=>{l(),eu(),b.value=!1};return ue(X),{isSupported:o,isActive:b,pause(){l(),b.value=!1},resume(){b.value=!0},stop:X}}const fe=r.defineComponent({emit:["update:active"],props:{active:{type:Number,default:null},id:{type:String,required:!0},index:{type:Number,required:!0},updateHistory:{type:Boolean,default:!1}},setup(e,{slots:t,emit:u}){const n=r.ref(null),a=r.ref(!1);return se(n,([{isIntersecting:i}])=>{a.value=i,i&&(u("update:active",e.index),e.updateHistory&&window.history.replaceState({},"",`#${e.id}`))}),()=>r.h(t.default()[0],{id:e.id,ref:n,class:{"is-active":a.value}})}});var le=typeof global=="object"&&global&&global.Object===Object&&global;const de=le;var ce=typeof self=="object"&&self&&self.Object===Object&&self,ge=de||ce||Function("return this")(),pe=ge.Symbol;const g=pe;var $=Object.prototype,be=$.hasOwnProperty,ve=$.toString,x=g?g.toStringTag:void 0;function xe(e){var t=be.call(e,x),u=e[x];try{e[x]=void 0;var n=!0}catch{}var a=ve.call(e);return n&&(t?e[x]=u:delete e[x]),a}var ye=Object.prototype,me=ye.toString;function Se(e){return me.call(e)}var Ce="[object Null]",he="[object Undefined]",A=g?g.toStringTag:void 0;function Oe(e){return e==null?e===void 0?he:Ce:A&&A in Object(e)?xe(e):Se(e)}function $e(e){return e!=null&&typeof e=="object"}var Ae="[object Symbol]";function Re(e){return typeof e=="symbol"||$e(e)&&Oe(e)==Ae}function je(e,t){for(var u=-1,n=e==null?0:e.length,a=Array(n);++u<n;)a[u]=t(e[u],u,e);return a}var Te=Array.isArray;const we=Te;var Ne=1/0,R=g?g.prototype:void 0,j=R?R.toString:void 0;function T(e){if(typeof e=="string")return e;if(we(e))return je(e,T)+"";if(Re(e))return j?j.call(e):"";var t=e+"";return t=="0"&&1/e==-Ne?"-0":t}function S(e){return e==null?"":T(e)}function Me(e,t,u){var n=-1,a=e.length;t<0&&(t=-t>a?0:a+t),u=u>a?a:u,u<0&&(u+=a),a=t>u?0:u-t>>>0,t>>>=0;for(var i=Array(a);++n<a;)i[n]=e[n+t];return i}function Ue(e,t,u){var n=e.length;return u=u===void 0?n:u,!t&&u>=n?e:Me(e,t,u)}var Ie="\\ud800-\\udfff",ke="\\u0300-\\u036f",ze="\\ufe20-\\ufe2f",Ee="\\u20d0-\\u20ff",_e=ke+ze+Ee,Le="\\ufe0e\\ufe0f",De="\\u200d",He=RegExp("["+De+Ie+_e+Le+"]");function w(e){return He.test(e)}function Ve(e){return e.split("")}var N="\\ud800-\\udfff",Pe="\\u0300-\\u036f",Ze="\\ufe20-\\ufe2f",We="\\u20d0-\\u20ff",Ge=Pe+Ze+We,Fe="\\ufe0e\\ufe0f",qe="["+N+"]",C="["+Ge+"]",h="\\ud83c[\\udffb-\\udfff]",Be="(?:"+C+"|"+h+")",M="[^"+N+"]",U="(?:\\ud83c[\\udde6-\\uddff]){2}",I="[\\ud800-\\udbff][\\udc00-\\udfff]",Je="\\u200d",k=Be+"?",z="["+Fe+"]?",Ke="(?:"+Je+"(?:"+[M,U,I].join("|")+")"+z+k+")*",Ye=z+k+Ke,Qe="(?:"+[M+C+"?",C,U,I,qe].join("|")+")",Xe=RegExp(h+"(?="+h+")|"+Qe+Ye,"g");function et(e){return e.match(Xe)||[]}function tt(e){return w(e)?et(e):Ve(e)}function ut(e){return function(t){t=S(t);var u=w(t)?tt(t):void 0,n=u?u[0]:t.charAt(0),a=u?Ue(u,1).join(""):t.slice(1);return n[e]()+a}}var at=ut("toUpperCase");const rt=at;function nt(e,t,u,n){var a=-1,i=e==null?0:e.length;for(n&&i&&(u=e[++a]);++a<i;)u=t(u,e[a],a,e);return u}function ot(e){return function(t){return e==null?void 0:e[t]}}var it={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},st=ot(it);const ft=st;var lt=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,dt="\\u0300-\\u036f",ct="\\ufe20-\\ufe2f",gt="\\u20d0-\\u20ff",pt=dt+ct+gt,bt="["+pt+"]",vt=RegExp(bt,"g");function xt(e){return e=S(e),e&&e.replace(lt,ft).replace(vt,"")}var yt=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g;function mt(e){return e.match(yt)||[]}var St=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;function Ct(e){return St.test(e)}var E="\\ud800-\\udfff",ht="\\u0300-\\u036f",Ot="\\ufe20-\\ufe2f",$t="\\u20d0-\\u20ff",At=ht+Ot+$t,_="\\u2700-\\u27bf",L="a-z\\xdf-\\xf6\\xf8-\\xff",Rt="\\xac\\xb1\\xd7\\xf7",jt="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Tt="\\u2000-\\u206f",wt=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",D="A-Z\\xc0-\\xd6\\xd8-\\xde",Nt="\\ufe0e\\ufe0f",H=Rt+jt+Tt+wt,V="['’]",P="["+H+"]",Mt="["+At+"]",Z="\\d+",Ut="["+_+"]",W="["+L+"]",G="[^"+E+H+Z+_+L+D+"]",It="\\ud83c[\\udffb-\\udfff]",kt="(?:"+Mt+"|"+It+")",zt="[^"+E+"]",F="(?:\\ud83c[\\udde6-\\uddff]){2}",q="[\\ud800-\\udbff][\\udc00-\\udfff]",p="["+D+"]",Et="\\u200d",B="(?:"+W+"|"+G+")",_t="(?:"+p+"|"+G+")",J="(?:"+V+"(?:d|ll|m|re|s|t|ve))?",K="(?:"+V+"(?:D|LL|M|RE|S|T|VE))?",Y=kt+"?",Q="["+Nt+"]?",Lt="(?:"+Et+"(?:"+[zt,F,q].join("|")+")"+Q+Y+")*",Dt="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Ht="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",Vt=Q+Y+Lt,Pt="(?:"+[Ut,F,q].join("|")+")"+Vt,Zt=RegExp([p+"?"+W+"+"+J+"(?="+[P,p,"$"].join("|")+")",_t+"+"+K+"(?="+[P,p+B,"$"].join("|")+")",p+"?"+B+"+"+J,p+"+"+K,Ht,Dt,Z,Pt].join("|"),"g");function Wt(e){return e.match(Zt)||[]}function Gt(e,t,u){return e=S(e),t=u?void 0:t,t===void 0?Ct(e)?Wt(e):mt(e):e.match(t)||[]}var Ft="['’]",qt=RegExp(Ft,"g");function Bt(e){return function(t){return nt(Gt(xt(t).replace(qt,"")),e,"")}}var Jt=Bt(function(e,t,u){return e+(u?" ":"")+rt(t)});const Kt=Jt,Yt=r.defineComponent({props:{active:{type:Number,required:!0},dotClass:{type:String,default:""},dotInnerClass:{type:String,default:""},pages:{type:Number,default:0},pageKeys:{type:Array,required:!0},disableClasses:{type:Boolean,default:!1}},emit:["update:active"],setup(e,{emit:t}){const u=r.computed(()=>Array.from(Array(e.pages)).map((n,a)=>r.h("a",{"aria-label":"Go to "+Kt(e.pageKeys[a]),class:[e.dotClass,{"vue3-fullpage__navigation-dot":!e.disableClasses,"is-active":e.active===a}],onClick:()=>t("update:active",a)},[r.h("div",{class:[{"vue3-fullpage__navigation-dot-inner":!e.disableClasses},e.dotInnerClass]})])));return()=>r.h("div",{class:{"vue3-fullpage__navigation":!e.disableClasses}},u.value)}}),Qt=(e,t,{active:u})=>{const n=e(),a=[];return{pages:n.map((f,c)=>{var s;const o=((s=f==null?void 0:f.props)==null?void 0:s.id)??`${t.prefix}${c+1}`;return a.push(o),r.h(fe,{id:o,class:[!t.disableClasses&&"vue3-fullpage__page",t.pageClass],key:o,index:c,active:u.value,updateHistory:t.updateHistory,"onUpdate:active":l=>u.value=l},{default:()=>f})}),keys:a}},Xt=r.defineComponent({props:{disableClasses:{type:Boolean,default:!1},navigationSize:{type:[String,Number],default:"1rem"},navigationGap:{type:String,default:"0.5rem"},navigationColour:{type:String,default:"currentColor"},navigationOpacityOuter:{type:[Number,String],default:.2},navigationOpacityOuterHover:{type:[Number,String],default:.3},navigationOpacityOuterActive:{type:[Number,String],default:.4},activeColour:{type:String,default:"crimson"},updateHistory:{type:Boolean,default:!1},prefix:{type:String,default:"page-"},hideNavigation:{type:Boolean,default:!1},tag:{type:String,default:"div"},pageClass:{type:String,default:""},navigationClass:{type:String,default:""},navigationDotClass:{type:String,default:""},navigationDotInnerClass:{type:String,default:""},modelValue:{type:Number,default:0}},emits:["update:modelValue","page-enter","page-leave"],setup(e,{slots:t,emit:u}){const n=r.ref(e.modelValue?e.modelValue-1:0),{pages:a,keys:i}=Qt(t.default,e,{active:n});r.watch(()=>e.modelValue,o=>n.value=o?o-1:0),r.watch(n,(o,s)=>{u("update:modelValue",o+1),(s||s===0)&&u("page-leave",s+1),u("page-enter",o+1)});const f=o=>{n.value=o;const s=a[o].key;document.querySelector(`#${s}`).scrollIntoView({behavior:"smooth"})},c=r.computed(()=>typeof e.navigationSize=="number"||/\D/.test(e.navigationSize)===!1?`${e.navigationSize}px`:e.navigationSize);return()=>r.h(e.tag,{class:[!e.disableClasses&&"vue3-fullpage__wrapper"],style:{"--v3fp-total-pages":a.length,"--v3fp-active-page":n.value+1,"--v3fp-navigation-gap":e.navigationGap,"--v3fp-navigation-colour":e.navigationColour,"--v3fp-navigation-size":c.value,"--v3fp-navigation-colour--active":e.activeColour,"--v3fp-navigation-opacity--outer":e.navigationOpacityOuter,"--v3fp-navigation-opacity--outer__hover":e.navigationOpacityOuterHover,"--v3fp-navigation-opacity--outer__active":e.navigationOpacityOuterActive}},[...a,!e.hideNavigation&&r.h(Yt,{class:e.navigationClass,dotClass:e.navigationDotClass,dotInnerClass:e.navigationDotInnerClass,disableClasses:e.disableClasses,pages:a.length,pageKeys:i,active:n.value,"onUpdate:active":f})])}});d.Vue3Fullpage=Xt,Object.defineProperty(d,Symbol.toStringTag,{value:"Module"})});