@nuxtjs/prismic 3.4.8 → 4.0.0-rc.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (34) hide show
  1. package/README.md +3 -3
  2. package/dist/client/200.html +1 -13
  3. package/dist/client/404.html +1 -13
  4. package/dist/client/_nuxt/ByLTtnHp.js +25 -0
  5. package/dist/client/_nuxt/{DDnTEJT-.js → CLsYcwBR.js} +1 -1
  6. package/dist/client/_nuxt/{B0l9158o.js → CttLvMQv.js} +1 -1
  7. package/dist/client/_nuxt/{qFNLh8PE.js → DVneGoC6.js} +1 -1
  8. package/dist/client/_nuxt/DWMwN7uC.js +1 -0
  9. package/dist/client/_nuxt/{Cqan8ox2.js → VREfgDfD.js} +1 -1
  10. package/dist/client/_nuxt/builds/latest.json +1 -1
  11. package/dist/client/_nuxt/builds/meta/5c01957e-0749-4107-95ef-276396288aa0.json +1 -0
  12. package/dist/client/_nuxt/entry.BC9BDAld.css +1 -0
  13. package/dist/client/_nuxt/error-404.5Ijuoi_n.css +1 -0
  14. package/dist/client/_nuxt/error-500.CZBrr-m_.css +1 -0
  15. package/dist/client/_nuxt/index.C4BggqQh.css +1 -0
  16. package/dist/client/index.html +1 -13
  17. package/dist/module.d.mts +32 -3
  18. package/dist/module.d.ts +32 -3
  19. package/dist/module.json +1 -1
  20. package/dist/module.mjs +22 -9
  21. package/dist/runtime/plugin.js +80 -70
  22. package/package.json +15 -15
  23. package/src/devtools/index.ts +4 -3
  24. package/src/lib/logger.ts +2 -2
  25. package/src/module.ts +19 -3
  26. package/src/runtime/plugin.ts +97 -84
  27. package/src/types.ts +43 -4
  28. package/dist/client/_nuxt/DSXwHa7K.js +0 -2
  29. package/dist/client/_nuxt/builds/meta/00ebe673-227d-488e-b689-9bf2ff2def42.json +0 -1
  30. package/dist/client/_nuxt/entry.CKuaGynx.css +0 -1
  31. package/dist/client/_nuxt/error-404.CK4zpOhH.css +0 -1
  32. package/dist/client/_nuxt/error-500.Bj55eCUK.css +0 -1
  33. package/dist/client/_nuxt/gctvBxZX.js +0 -25
  34. package/dist/client/_nuxt/index.z_5cflQA.css +0 -1
@@ -1 +1 @@
1
- import{H as C,m as T,r as w,I as _,J as U,K as B,L as E,g as I,M as H,N as A,O as L,P as V,Q as F,u as x,R as N,S as O,T as D,U as M,V as W,W as z,X as Q}from"./gctvBxZX.js";async function j(t,a=C()){const{path:v,matched:p}=a.resolve(t);if(!p.length||(a._routePreloaded||(a._routePreloaded=new Set),a._routePreloaded.has(v)))return;const g=a._preloadPromises=a._preloadPromises||[];if(g.length>4)return Promise.all(g).then(()=>j(t,a));a._routePreloaded.add(v);const e=p.map(n=>{var s;return(s=n.components)==null?void 0:s.default}).filter(n=>typeof n=="function");for(const n of e){const s=Promise.resolve(n()).catch(()=>{}).finally(()=>g.splice(g.indexOf(s)));g.push(s)}await Promise.all(g)}const $=(...t)=>t.find(a=>a!==void 0);function G(t){const a=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function p(e,n){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return k(e,t.trailingSlash);const s="path"in e&&e.path!==void 0?e.path:n(e).path;return{...e,name:void 0,path:k(s,t.trailingSlash)}}function g(e){const n=C(),s=W(),u=x(()=>!!e.target&&e.target!=="_self"),d=x(()=>{const f=e.to||e.href||"";return typeof f=="string"&&N(f,{acceptRelative:!0})}),P=L("RouterLink"),y=P&&typeof P!="string"?P.useLink:void 0,m=x(()=>{if(e.external)return!0;const f=e.to||e.href||"";return typeof f=="object"?!1:f===""||d.value}),r=x(()=>{const f=e.to||e.href||"";return m.value?f:p(f,n.resolve)}),c=m.value||y==null?void 0:y({...e,to:r}),b=x(()=>{var f;if(!r.value||d.value||v(r.value))return r.value;if(m.value){const R=typeof r.value=="object"&&"path"in r.value?O(r.value):r.value,S=typeof R=="object"?n.resolve(R).href:R;return p(S,n.resolve)}return typeof r.value=="object"?((f=n.resolve(r.value))==null?void 0:f.href)??null:p(D(s.app.baseURL,r.value),n.resolve)});return{to:r,hasTarget:u,isAbsoluteUrl:d,isExternal:m,href:b,isActive:(c==null?void 0:c.isActive)??x(()=>r.value===n.currentRoute.value.path),isExactActive:(c==null?void 0:c.isExactActive)??x(()=>r.value===n.currentRoute.value.path),route:(c==null?void 0:c.route)??x(()=>n.resolve(r.value)),async navigate(){await M(b.value,{replace:e.replace,external:m.value||u.value})}}}return T({name:a,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:g,setup(e,{slots:n}){const s=C(),{to:u,href:d,navigate:P,isExternal:y,hasTarget:m,isAbsoluteUrl:r}=g(e),c=w(!1),b=w(null),f=l=>{var o;b.value=e.custom?(o=l==null?void 0:l.$el)==null?void 0:o.nextElementSibling:l==null?void 0:l.$el};function R(l){var o,i;return!c.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===l:((o=e.prefetchOn)==null?void 0:o[l])??((i=t.prefetchOn)==null?void 0:i[l]))&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function S(l=_()){if(c.value)return;c.value=!0;const o=typeof u.value=="string"?u.value:y.value?O(u.value):s.resolve(u.value).fullPath,i=y.value?new URL(o,window.location.href).href:o;await Promise.all([l.hooks.callHook("link:prefetch",i).catch(()=>{}),!y.value&&!m.value&&j(u.value,s).catch(()=>{})])}if(R("visibility")){const l=_();let o,i=null;U(()=>{const h=J();B(()=>{o=E(()=>{var q;(q=b==null?void 0:b.value)!=null&&q.tagName&&(i=h.observe(b.value,async()=>{i==null||i(),i=null,await S(l)}))})})}),I(()=>{o&&H(o),i==null||i(),i=null})}return()=>{var i;if(!y.value&&!m.value&&!v(u.value)){const h={ref:f,to:u.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(R("interaction")&&(h.onPointerenter=S.bind(null,void 0),h.onFocus=S.bind(null,void 0)),c.value&&(h.class=e.prefetchedClass||t.prefetchedClass),h.rel=e.rel||void 0),A(L("RouterLink"),h,n.default)}const l=e.target||null,o=$(e.noRel?"":e.rel,t.externalRelAttribute,r.value||m.value?"noopener noreferrer":"")||null;return e.custom?n.default?n.default({href:d.value,navigate:P,prefetch:S,get route(){if(!d.value)return;const h=new URL(d.value,window.location.href);return{path:h.pathname,fullPath:h.pathname,get query(){return V(h.search)},hash:h.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:d.value}},rel:o,target:l,isExternal:y.value||m.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:b,href:d.value||null,rel:o,target:l},(i=n.default)==null?void 0:i.call(n))}}})}const Z=G(F);function k(t,a){const v=a==="append"?z:Q;return N(t)&&!t.startsWith("http")?t:v(t,!0)}function J(){const t=_();if(t._observer)return t._observer;let a=null;const v=new Map,p=(e,n)=>(a||(a=new IntersectionObserver(s=>{for(const u of s){const d=v.get(u.target);(u.isIntersecting||u.intersectionRatio>0)&&d&&d()}})),v.set(e,n),a.observe(e),()=>{v.delete(e),a==null||a.unobserve(e),v.size===0&&(a==null||a.disconnect(),a=null)});return t._observer={observe:p}}const K=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||K.test(t.effectiveType)))}export{Z as _};
1
+ import{B as S,m as B,r as w,C as _,D as E,E as T,F as U,g as I,G as F,H as A,I as L,J as H,K as D,u as x,L as N,M as O,N as V,O as M,P as z,Q as W,R as G}from"./ByLTtnHp.js";async function j(t,a=S()){const{path:v,matched:p}=a.resolve(t);if(!p.length||(a._routePreloaded||(a._routePreloaded=new Set),a._routePreloaded.has(v)))return;const g=a._preloadPromises=a._preloadPromises||[];if(g.length>4)return Promise.all(g).then(()=>j(t,a));a._routePreloaded.add(v);const e=p.map(n=>{var s;return(s=n.components)==null?void 0:s.default}).filter(n=>typeof n=="function");for(const n of e){const s=Promise.resolve(n()).catch(()=>{}).finally(()=>g.splice(g.indexOf(s)));g.push(s)}await Promise.all(g)}const Q=(...t)=>t.find(a=>a!==void 0);function $(t){const a=t.componentName||"NuxtLink";function v(e){return typeof e=="string"&&e.startsWith("#")}function p(e,n){if(!e||t.trailingSlash!=="append"&&t.trailingSlash!=="remove")return e;if(typeof e=="string")return k(e,t.trailingSlash);const s="path"in e&&e.path!==void 0?e.path:n(e).path;return{...e,name:void 0,path:k(s,t.trailingSlash)}}function g(e){const n=S(),s=z(),u=x(()=>!!e.target&&e.target!=="_self"),d=x(()=>{const f=e.to||e.href||"";return typeof f=="string"&&N(f,{acceptRelative:!0})}),P=L("RouterLink"),y=P&&typeof P!="string"?P.useLink:void 0,m=x(()=>{if(e.external)return!0;const f=e.to||e.href||"";return typeof f=="object"?!1:f===""||d.value}),r=x(()=>{const f=e.to||e.href||"";return m.value?f:p(f,n.resolve)}),c=m.value||y==null?void 0:y({...e,to:r}),b=x(()=>{var f;if(!r.value||d.value||v(r.value))return r.value;if(m.value){const C=typeof r.value=="object"&&"path"in r.value?O(r.value):r.value,R=typeof C=="object"?n.resolve(C).href:C;return p(R,n.resolve)}return typeof r.value=="object"?((f=n.resolve(r.value))==null?void 0:f.href)??null:p(V(s.app.baseURL,r.value),n.resolve)});return{to:r,hasTarget:u,isAbsoluteUrl:d,isExternal:m,href:b,isActive:(c==null?void 0:c.isActive)??x(()=>r.value===n.currentRoute.value.path),isExactActive:(c==null?void 0:c.isExactActive)??x(()=>r.value===n.currentRoute.value.path),route:(c==null?void 0:c.route)??x(()=>n.resolve(r.value)),async navigate(){await M(b.value,{replace:e.replace,external:m.value||u.value})}}}return B({name:a,props:{to:{type:[String,Object],default:void 0,required:!1},href:{type:[String,Object],default:void 0,required:!1},target:{type:String,default:void 0,required:!1},rel:{type:String,default:void 0,required:!1},noRel:{type:Boolean,default:void 0,required:!1},prefetch:{type:Boolean,default:void 0,required:!1},prefetchOn:{type:[String,Object],default:void 0,required:!1},noPrefetch:{type:Boolean,default:void 0,required:!1},activeClass:{type:String,default:void 0,required:!1},exactActiveClass:{type:String,default:void 0,required:!1},prefetchedClass:{type:String,default:void 0,required:!1},replace:{type:Boolean,default:void 0,required:!1},ariaCurrentValue:{type:String,default:void 0,required:!1},external:{type:Boolean,default:void 0,required:!1},custom:{type:Boolean,default:void 0,required:!1}},useLink:g,setup(e,{slots:n}){const s=S(),{to:u,href:d,navigate:P,isExternal:y,hasTarget:m,isAbsoluteUrl:r}=g(e),c=w(!1),b=w(null),f=l=>{var o;b.value=e.custom?(o=l==null?void 0:l.$el)==null?void 0:o.nextElementSibling:l==null?void 0:l.$el};function C(l){var o,i;return!c.value&&(typeof e.prefetchOn=="string"?e.prefetchOn===l:((o=e.prefetchOn)==null?void 0:o[l])??((i=t.prefetchOn)==null?void 0:i[l]))&&(e.prefetch??t.prefetch)!==!1&&e.noPrefetch!==!0&&e.target!=="_blank"&&!X()}async function R(l=_()){if(c.value)return;c.value=!0;const o=typeof u.value=="string"?u.value:y.value?O(u.value):s.resolve(u.value).fullPath,i=y.value?new URL(o,window.location.href).href:o;await Promise.all([l.hooks.callHook("link:prefetch",i).catch(()=>{}),!y.value&&!m.value&&j(u.value,s).catch(()=>{})])}if(C("visibility")){const l=_();let o,i=null;E(()=>{const h=J();T(()=>{o=U(()=>{var q;(q=b==null?void 0:b.value)!=null&&q.tagName&&(i=h.observe(b.value,async()=>{i==null||i(),i=null,await R(l)}))})})}),I(()=>{o&&F(o),i==null||i(),i=null})}return()=>{var i;if(!y.value&&!m.value&&!v(u.value)){const h={ref:f,to:u.value,activeClass:e.activeClass||t.activeClass,exactActiveClass:e.exactActiveClass||t.exactActiveClass,replace:e.replace,ariaCurrentValue:e.ariaCurrentValue,custom:e.custom};return e.custom||(C("interaction")&&(h.onPointerenter=R.bind(null,void 0),h.onFocus=R.bind(null,void 0)),c.value&&(h.class=e.prefetchedClass||t.prefetchedClass),h.rel=e.rel||void 0),A(L("RouterLink"),h,n.default)}const l=e.target||null,o=Q(e.noRel?"":e.rel,t.externalRelAttribute,r.value||m.value?"noopener noreferrer":"")||null;return e.custom?n.default?n.default({href:d.value,navigate:P,prefetch:R,get route(){if(!d.value)return;const h=new URL(d.value,window.location.href);return{path:h.pathname,fullPath:h.pathname,get query(){return H(h.search)},hash:h.hash,params:{},name:void 0,matched:[],redirectedFrom:void 0,meta:{},href:d.value}},rel:o,target:l,isExternal:y.value||m.value,isActive:!1,isExactActive:!1}):null:A("a",{ref:b,href:d.value||null,rel:o,target:l},(i=n.default)==null?void 0:i.call(n))}}})}const Z=$(D);function k(t,a){const v=a==="append"?W:G;return N(t)&&!t.startsWith("http")?t:v(t,!0)}function J(){const t=_();if(t._observer)return t._observer;let a=null;const v=new Map,p=(e,n)=>(a||(a=new IntersectionObserver(s=>{for(const u of s){const d=v.get(u.target);(u.isIntersecting||u.intersectionRatio>0)&&d&&d()}})),v.set(e,n),a.observe(e),()=>{v.delete(e),a==null||a.unobserve(e),v.size===0&&(a==null||a.disconnect(),a=null)});return t._observer={observe:p}}const K=/2g/;function X(){const t=navigator.connection;return!!(t&&(t.saveData||K.test(t.effectiveType)))}export{Z as _};
@@ -0,0 +1 @@
1
+ import{m as b,c as f,n as $,o as l,p as m,a as o,q as _,s as y,u as C,w as e,d as s,t as N,v as a,x as B,y as j,z as T,b as i,A as D}from"./ByLTtnHp.js";import{_ as I}from"./DVneGoC6.js";import{_ as x}from"./DlAUqK2U.js";const O=b({__name:"NIcon",props:{icon:{}},setup(c){return(n,u)=>(l(),f("div",{class:$(["n-icon",n.icon])},null,2))}}),v=Object.assign(O,{__name:"NIcon"}),z={class:"n-tip n-tip-base"},V=b({__name:"NTip",props:{icon:{}},setup(c){return(n,u)=>{const p=v;return l(),f("div",z,[m(n.$slots,"icon",{},()=>[n.icon?(l(),_(p,{key:0,icon:n.icon,class:"n-tip-icon"},null,8,["icon"])):y("",!0)]),o("div",null,[m(n.$slots,"default")])])}}}),A=Object.assign(V,{__name:"NTip"}),M={key:0,target:"_blank",href:"http://localhost:9999"},P=b({__name:"SlicemachineStatusTip",props:{running:{type:Boolean}},setup(c){const n=c,u=C(()=>n.running?"Slicemachine has been started and available at":"Slicemachine has not been started yet");return(p,g)=>{const h=A;return l(),_(h,{n:p.running?"green":"yellow"},{default:e(()=>[s(N(a(u))+" ",1),p.running?(l(),f("a",M,"http://localhost:9999")):y("",!0)]),_:1},8,["n"])}}}),R=Object.assign(P,{__name:"SlicemachineStatusTip"}),q=b({__name:"NButton",props:{to:{},icon:{},border:{type:Boolean,default:!0},disabled:{type:Boolean},type:{default:"button"}},setup(c){return(n,u)=>{const p=v;return l(),_(j(n.to?a(I):"button"),B({to:n.to},{...n.$attrs,...!n.to&&{type:n.type},...n.disabled?{disabled:!0}:{tabindex:0}},{class:[[{"n-button-base active:n-button-active focus-visible:n-focus-base hover:n-button-hover":n.border},{"n-icon-button":!n.$slots.default}],"n-button n-transition n-disabled:n-disabled"]}),{default:e(()=>[m(n.$slots,"icon",{},()=>[n.icon?(l(),_(p,{key:0,icon:n.icon,class:$({"n-button-icon":n.$slots.default})},null,8,["icon","class"])):y("",!0)]),m(n.$slots,"default")]),_:3},16,["to","class"])}}}),E=Object.assign(q,{__name:"NButton"}),F={},L={class:"n-card n-card-base"};function G(c,n){return l(),f("div",L,[m(c.$slots,"default")])}const H=Object.assign(x(F,[["render",G]]),{__name:"NCard"}),J={class:"relative p-4 n-bg-base space-y-4"},K={class:"grid grid-cols-2 grid-auto-flow gap-4"},Q={class:"flex gap-2"},U={class:"flex gap-2 flex-wrap"},W={class:"flex gap-2 flex-wrap"},X={class:"flex gap-2 flex-wrap"},Y=b({__name:"index",props:{rpc:{}},async setup(c){let n,u;const p=c,{status:g,start:h,stop:S,config:d}=([n,u]=T(()=>D(p.rpc)),n=await n,u(),n);return(Z,t)=>{const w=R,r=E,k=H;return l(),f("div",J,[t[16]||(t[16]=o("header",null,[o("h1",{class:"inline-block rounded border border-zinc-600 bg-zinc-900 p-1.5 heading text-m"},[o("span",{class:"i-simple-icons:prismic align-sub"}),s(" @nuxtjs/prismic ")])],-1)),o("main",K,[i(k,{class:"col-span-2 p-4 space-y-4"},{default:e(()=>[t[1]||(t[1]=o("h2",{class:"text-m heading"},[o("span",{class:"i-carbon:tools-alt align-sub"}),s(" Slicemachine ")],-1)),o("section",Q,[i(w,{running:a(g).running,class:"flex-1"},null,8,["running"]),i(r,{onClick:t[0]||(t[0]=tt=>a(g).running?a(S)():a(h)())},{default:e(()=>[s(N(a(g).running?"Stop":"Start")+" Slicemachine ",1)]),_:1})])]),_:1}),i(k,{class:"p-4 space-y-4"},{default:e(()=>[t[9]||(t[9]=o("h2",{class:"text-m heading"},[o("span",{class:"i-carbon:notebook-reference align-sub"}),s(" Documentation ")],-1)),t[10]||(t[10]=o("h3",null,"Nuxt",-1)),o("p",U,[i(r,{to:"https://prismic.io/docs/content-modeling",icon:"i-carbon-ruler-alt",target:"_blank"},{default:e(()=>t[2]||(t[2]=[s(" Model Content ")])),_:1}),i(r,{to:"https://prismic.io/docs/nuxt-3-define-routes",icon:"i-carbon-3d-curve-manual",target:"_blank"},{default:e(()=>t[3]||(t[3]=[s(" Define Routes ")])),_:1}),i(r,{to:"https://prismic.io/docs/nuxt-3-fetch-data",icon:"i-carbon-download",target:"_blank"},{default:e(()=>t[4]||(t[4]=[s(" Fetch Data ")])),_:1}),i(r,{to:"https://prismic.io/docs/nuxt-3-template-content",icon:"i-carbon-paint-brush",target:"_blank"},{default:e(()=>t[5]||(t[5]=[s(" Template Content ")])),_:1})]),t[11]||(t[11]=o("h3",null,"APIs",-1)),o("p",W,[i(r,{to:"https://prismic.io/docs/technical-reference/prismicio-client",icon:"i-carbon-satellite-radar",target:"_blank"},{default:e(()=>t[6]||(t[6]=[s(" @prismicio/client ")])),_:1}),i(r,{to:"https://prismic.io/docs/technical-reference/prismicio-vue",icon:"i-carbon-logo-vue",target:"_blank"},{default:e(()=>t[7]||(t[7]=[s(" @prismicio/vue ")])),_:1}),i(r,{to:"https://prismic.nuxtjs.org/",icon:"i-simple-icons-nuxtdotjs",target:"_blank"},{default:e(()=>t[8]||(t[8]=[s(" @nuxtjs/prismic ")])),_:1})])]),_:1}),a(d)&&"repositoryName"in a(d)&&a(d).repositoryName?(l(),_(k,{key:0,class:"p-4 space-y-4"},{default:e(()=>[t[15]||(t[15]=o("h2",{class:"text-m heading"},[o("span",{class:"i-carbon:tools-alt align-sub"}),s(" Repository ")],-1)),o("p",X,[i(r,{to:`https://${a(d).repositoryName}.prismic.io/builder/working`,icon:"i-carbon-book",target:"_blank"},{default:e(()=>t[12]||(t[12]=[s(" Documents ")])),_:1},8,["to"]),i(r,{to:`https://${a(d).repositoryName}.prismic.io/builder/medias`,icon:"i-carbon-image",target:"_blank"},{default:e(()=>t[13]||(t[13]=[s(" Media Library ")])),_:1},8,["to"]),i(r,{to:`https://${a(d).repositoryName}.prismic.io/settings/repository`,icon:"i-carbon-settings",target:"_blank"},{default:e(()=>t[14]||(t[14]=[s(" Settings ")])),_:1},8,["to"])])]),_:1})):y("",!0)])])}}}),et=x(Y,[["__scopeId","data-v-469b968a"]]);export{et as default};
@@ -1 +1 @@
1
- import{i as f,r as u,e as o,f as d,g as v,h as l,j as i,k as h,l as m}from"./gctvBxZX.js";function U(t,a={}){const e=a.head||f();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});o(()=>{n.value=s.value?{}:h(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),m()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u};
1
+ import{i as f,r as u,e as o,f as d,g as v,h as l,j as i,k as h,l as m}from"./ByLTtnHp.js";function U(t,a={}){const e=a.head||f();if(e)return e.ssr?e.push(t,a):p(e,t,a)}function p(t,a,e={}){const s=u(!1),n=u({});o(()=>{n.value=s.value?{}:h(a)});const r=t.push(n.value,e);return d(n,c=>{r.patch(c)}),m()&&(v(()=>{r.dispose()}),l(()=>{s.value=!0}),i(()=>{s.value=!1})),r}export{U as u};
@@ -1 +1 @@
1
- {"id":"00ebe673-227d-488e-b689-9bf2ff2def42","timestamp":1736174703849}
1
+ {"id":"5c01957e-0749-4107-95ef-276396288aa0","timestamp":1736852152519}
@@ -0,0 +1 @@
1
+ {"id":"5c01957e-0749-4107-95ef-276396288aa0","timestamp":1736852152519,"matcher":{"static":{},"wildcard":{},"dynamic":{}},"prerendered":[]}
@@ -0,0 +1 @@
1
+ :root{--nui-c-context:125,125,125}html{background-color:#fff}html.dark{background-color:#151515;color:#fff;color-scheme:dark}::-moz-selection{background:#8884}::selection{background:#8884}.shiki .line{display:inline-block;position:relative;width:100%}.shiki.diff .line>span{filter:saturate(.75);opacity:.75}.shiki.diff .line-added,.shiki.diff .line-removed{scroll-margin:5em}.shiki.diff .line-added>span,.shiki.diff .line-removed>span{opacity:1!important;position:inherit;scroll-margin:20px;z-index:100}.shiki.diff .line-added>span{color:#218c3b!important}.shiki.diff .line-removed>span{color:#d15547!important}.shiki .line-added:after{background-color:#43885420}.shiki .line-added:after,.shiki .line-removed:after{bottom:0;content:"";display:block;left:0;position:absolute;right:0;top:0}.shiki .line-removed:after{background-color:#8f4c3926}::view-transition-new(root),::view-transition-old(root){animation:none;mix-blend-mode:normal}::view-transition-old(root){z-index:1}::view-transition-new(root){z-index:2147483646}.dark::view-transition-old(root){z-index:2147483646}.dark::view-transition-new(root){z-index:1}*,:after,:before{border-color:var(--un-default-border-color, #e5e7eb);border-style:solid;border-width:0;box-sizing:border-box}:after,:before{--un-content: ""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-size:1em;font-variation-settings:normal}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{color:inherit;font-family:inherit;font-feature-settings:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]:where(:not([hidden=until-found])){display:none}*,:after,:before{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }::backdrop{--un-rotate:0;--un-rotate-x:0;--un-rotate-y:0;--un-rotate-z:0;--un-scale-x:1;--un-scale-y:1;--un-scale-z:1;--un-skew-x:0;--un-skew-y:0;--un-translate-x:0;--un-translate-y:0;--un-translate-z:0;--un-pan-x: ;--un-pan-y: ;--un-pinch-zoom: ;--un-scroll-snap-strictness:proximity;--un-ordinal: ;--un-slashed-zero: ;--un-numeric-figure: ;--un-numeric-spacing: ;--un-numeric-fraction: ;--un-border-spacing-x:0;--un-border-spacing-y:0;--un-ring-offset-shadow:0 0 transparent;--un-ring-shadow:0 0 transparent;--un-shadow-inset: ;--un-shadow:0 0 transparent;--un-ring-inset: ;--un-ring-offset-width:0px;--un-ring-offset-color:#fff;--un-ring-width:0px;--un-ring-color:rgba(147,197,253,.5);--un-blur: ;--un-brightness: ;--un-contrast: ;--un-drop-shadow: ;--un-grayscale: ;--un-hue-rotate: ;--un-invert: ;--un-saturate: ;--un-sepia: ;--un-backdrop-blur: ;--un-backdrop-brightness: ;--un-backdrop-contrast: ;--un-backdrop-grayscale: ;--un-backdrop-hue-rotate: ;--un-backdrop-invert: ;--un-backdrop-opacity: ;--un-backdrop-saturate: ;--un-backdrop-sepia: }@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmmono/v14/aFTU7PB1QTsUX8KYthSQBK6PYK3EXw.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Mono;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmmono/v14/aFTU7PB1QTsUX8KYthqQBK6PYK0.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmsans/v15/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxRR232RmYJp8I5zzw.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:DM Sans;font-style:normal;font-weight:400;src:url(https://fonts.gstatic.com/s/dmsans/v15/rP2tp2ywxg089UriI5-g4vlH9VoD8CmcqZG40F9JadbnoEwAopxRSW32RmYJp8I5.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.i-carbon-3d-curve-manual{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath d='M15 21a3 3 0 0 1-3 3h-.1a5 5 0 1 0 0 2h.1a5 5 0 0 0 5-5zm-8 7a3 3 0 1 1 3-3a3 3 0 0 1-3 3z' fill='currentColor'/%3E%3Cpath d='M15 13h2v6h-2z' fill='currentColor'/%3E%3Cpath d='M25 2a5 5 0 0 0-4.9 4H20a5 5 0 0 0-5 5h2a3 3 0 0 1 3-3h.1A5 5 0 1 0 25 2zm0 8a3 3 0 1 1 3-3a3 3 0 0 1-3 3z' fill='currentColor'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-book{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 10h7v2h-7zm0 5h7v2h-7zm0 5h7v2h-7zM6 10h7v2H6zm0 5h7v2H6zm0 5h7v2H6z'/%3E%3Cpath fill='currentColor' d='M28 5H4a2 2 0 0 0-2 2v18a2 2 0 0 0 2 2h24a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2M4 7h11v18H4Zm13 18V7h11v18Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-download{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M26 24v4H6v-4H4v4a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2v-4zm0-10l-1.41-1.41L17 20.17V2h-2v18.17l-7.59-7.58L6 14l10 10z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-image{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M19 14a3 3 0 1 0-3-3a3 3 0 0 0 3 3m0-4a1 1 0 1 1-1 1a1 1 0 0 1 1-1'/%3E%3Cpath fill='currentColor' d='M26 4H6a2 2 0 0 0-2 2v20a2 2 0 0 0 2 2h20a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 22H6v-6l5-5l5.59 5.59a2 2 0 0 0 2.82 0L21 19l5 5Zm0-4.83l-3.59-3.59a2 2 0 0 0-2.82 0L18 19.17l-5.59-5.59a2 2 0 0 0-2.82 0L6 17.17V6h20Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-logo-vue{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M24.9 3.9L16 19.4L7.1 3.9H2l14 24.3L30 3.9z'/%3E%3Cpath fill='currentColor' d='m16 9.5l-3.2-5.6H8.1L16 17.5l7.9-13.6h-4.6z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-paint-brush{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M28.83 23.17L23 17.33V13a1 1 0 0 0-.29-.71l-10-10a1 1 0 0 0-1.42 0l-9 9a1 1 0 0 0 0 1.42l10 10A1 1 0 0 0 13 23h4.34l5.83 5.84a4 4 0 0 0 5.66-5.66ZM6 10.41l2.29 2.3l1.42-1.42L7.41 9L9 7.41l4.29 4.3l1.42-1.42L10.41 6L12 4.41L18.59 11L11 18.59L4.41 12Zm21.41 17a2 2 0 0 1-2.82 0l-6.13-6.12a1.8 1.8 0 0 0-.71-.29h-4.34l-1-1L20 12.41l1 1v4.34a1 1 0 0 0 .29.7l6.12 6.14a2 2 0 0 1 0 2.82'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-ruler-alt{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M29.41 21.67L10.34 2.58a2 2 0 0 0-2.83 0L2.59 7.51a2 2 0 0 0 0 2.82l19.07 19.09a2 2 0 0 0 1.42.58a2 2 0 0 0 1.41-.58l4.92-4.93a2 2 0 0 0 0-2.82M23.08 28L4 8.92L8.92 4l3.79 3.79L10.46 10l1.41 1.41l2.25-2.21l4.13 4.13L16 15.58L17.42 17l2.25-2.25l4.13 4.13l-2.25 2.25L23 22.54l2.25-2.25L28 23.08Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-satellite-radar{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M30 14h-2A10.01 10.01 0 0 0 18 4V2a12.014 12.014 0 0 1 12 12'/%3E%3Cpath fill='currentColor' d='M26 14h-2a6.007 6.007 0 0 0-6-6V6a8.01 8.01 0 0 1 8 8M16 28v-3.04a9.9 9.9 0 0 0 7.318-2.208a1.85 1.85 0 0 0 .678-1.334a1.8 1.8 0 0 0-.524-1.36L18.414 15L21 12.414L19.586 11L17 13.586l-5.058-5.059a1.82 1.82 0 0 0-1.36-.523a1.85 1.85 0 0 0-1.334.679a9.96 9.96 0 0 0-.513 11.95L6.28 28H2v2h28v-2zm-5.32-17.906L21.906 21.32A8.001 8.001 0 0 1 10.68 10.094M14 28H8.387l1.876-5.627A10 10 0 0 0 14 24.543z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon-settings{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M27 16.76v-1.53l1.92-1.68A2 2 0 0 0 29.3 11l-2.36-4a2 2 0 0 0-1.73-1a2 2 0 0 0-.64.1l-2.43.82a11 11 0 0 0-1.31-.75l-.51-2.52a2 2 0 0 0-2-1.61h-4.68a2 2 0 0 0-2 1.61l-.51 2.52a11.5 11.5 0 0 0-1.32.75l-2.38-.86A2 2 0 0 0 6.79 6a2 2 0 0 0-1.73 1L2.7 11a2 2 0 0 0 .41 2.51L5 15.24v1.53l-1.89 1.68A2 2 0 0 0 2.7 21l2.36 4a2 2 0 0 0 1.73 1a2 2 0 0 0 .64-.1l2.43-.82a11 11 0 0 0 1.31.75l.51 2.52a2 2 0 0 0 2 1.61h4.72a2 2 0 0 0 2-1.61l.51-2.52a11.5 11.5 0 0 0 1.32-.75l2.42.82a2 2 0 0 0 .64.1a2 2 0 0 0 1.73-1l2.28-4a2 2 0 0 0-.41-2.51ZM25.21 24l-3.43-1.16a8.9 8.9 0 0 1-2.71 1.57L18.36 28h-4.72l-.71-3.55a9.4 9.4 0 0 1-2.7-1.57L6.79 24l-2.36-4l2.72-2.4a8.9 8.9 0 0 1 0-3.13L4.43 12l2.36-4l3.43 1.16a8.9 8.9 0 0 1 2.71-1.57L13.64 4h4.72l.71 3.55a9.4 9.4 0 0 1 2.7 1.57L25.21 8l2.36 4l-2.72 2.4a8.9 8.9 0 0 1 0 3.13L27.57 20Z'/%3E%3Cpath fill='currentColor' d='M16 22a6 6 0 1 1 6-6a5.94 5.94 0 0 1-6 6m0-10a3.91 3.91 0 0 0-4 4a3.91 3.91 0 0 0 4 4a3.91 3.91 0 0 0 4-4a3.91 3.91 0 0 0-4-4'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon\:notebook-reference{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M4 20v2h3.586L2 27.586L3.414 29L9 23.414V27h2v-7zm15-10h7v2h-7zm0 5h7v2h-7zm0 5h7v2h-7z'/%3E%3Cpath fill='currentColor' d='M28 5H4a2 2 0 0 0-2 2v10h2V7h11v20h13a2 2 0 0 0 2-2V7a2 2 0 0 0-2-2M17 25V7h11l.002 18Z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-carbon\:tools-alt{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 32 32' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='m23.1 16l6.3-6.3c.8-.8.8-2 0-2.8l-4.2-4.2c-.8-.8-2-.8-2.8 0L16 8.9L9.7 2.6c-.8-.8-2-.8-2.8 0L2.6 6.8c-.8.8-.8 2 0 2.8L8.9 16L2 22.9V30h7.1l6.9-6.9l6.3 6.3c.8.8 2 .8 2.8 0l4.2-4.2c.8-.8.8-2 0-2.8zm.7-12L28 8.2l-6.3 6.3l-4.2-4.2zM8.2 28H4v-4.2l6.3-6.3l4.2 4.2zm15.6 0L4 8.2L8.2 4l3.5 3.5l-2.1 2.1L11 11l2.1-2.1l4.2 4.2l-2.1 2.1l1.4 1.4l2.1-2.1l4.2 4.2l-1.9 2.2l1.4 1.4l2.1-2.1l3.5 3.5z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-simple-icons-nuxtdotjs{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M13.464 19.83h8.922c.283 0 .562-.073.807-.21a1.6 1.6 0 0 0 .591-.574a1.53 1.53 0 0 0 .216-.783a1.53 1.53 0 0 0-.217-.782L17.792 7.414a1.6 1.6 0 0 0-.591-.573a1.65 1.65 0 0 0-.807-.21c-.283 0-.562.073-.807.21a1.6 1.6 0 0 0-.59.573L13.463 9.99L10.47 4.953a1.6 1.6 0 0 0-.591-.573a1.65 1.65 0 0 0-.807-.21c-.284 0-.562.073-.807.21a1.6 1.6 0 0 0-.591.573L.216 17.481a1.53 1.53 0 0 0-.217.782c0 .275.074.545.216.783a1.6 1.6 0 0 0 .59.574c.246.137.525.21.808.21h5.6c2.22 0 3.856-.946 4.982-2.79l2.733-4.593l1.464-2.457l4.395 7.382h-5.859Zm-6.341-2.46l-3.908-.002l5.858-9.842l2.923 4.921l-1.957 3.29c-.748 1.196-1.597 1.632-2.916 1.632'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.i-simple-icons\:prismic{--un-icon:url("data:image/svg+xml;utf8,%3Csvg viewBox='0 0 24 24' display='inline-block' vertical-align='middle' width='1.2em' height='1.2em' xmlns='http://www.w3.org/2000/svg' %3E%3Cpath fill='currentColor' d='M7.7 0C5.033 0 4.066.278 3.09.8A5.45 5.45 0 0 0 .825 3.07c-.522.977-.8 1.947-.8 4.622v.998c0 .199.078.388.218.529l1.77 1.774a.15.15 0 0 0 .257-.106V8.019c0-2.006.208-2.733.6-3.467A4.1 4.1 0 0 1 4.568 2.85c.731-.392 1.457-.6 3.459-.6h2.164c.199 0 .39-.08.53-.221l1.77-1.772A.15.15 0 0 0 12.387 0zm7.605 0c-.2 0-.392.08-.532.22l-1.769 1.775a.15.15 0 0 0-.044.104c0 .083.068.15.15.15h2.862c2.002 0 2.728.21 3.46.601a4.1 4.1 0 0 1 1.698 1.702c.39.734.599 1.461.599 3.467v2.17c0 .198.078.39.218.53l1.77 1.774a.15.15 0 0 0 .257-.106V7.692c0-2.675-.278-3.645-.8-4.623A5.45 5.45 0 0 0 20.91.801C19.935.278 18.968 0 16.3 0zM6.761 3.75a2.995 2.995 0 0 0-2.993 2.999v5.691a.75.75 0 0 0 .219.529l1.77 1.776a.149.149 0 0 0 .255-.106v-7.14a1.5 1.5 0 0 1 .097-.53c.072-.2.188-.385.348-.545l2.308-2.421a.15.15 0 0 0-.11-.253zm4.802 0c-.2 0-.39.08-.53.22L9.26 5.744A.151.151 0 0 0 9.366 6h7.124q.28.001.528.097c.2.072.386.188.546.347l2.413 2.313a.15.15 0 0 0 .255-.108v-1.9a2.995 2.995 0 0 0-2.993-3zm6.573 5.463a.15.15 0 0 0-.15.15v7.139a1.5 1.5 0 0 1-.095.53a1.5 1.5 0 0 1-.348.546l-2.308 2.42a.15.15 0 0 0 .108.255h1.896a2.997 2.997 0 0 0 2.993-3.002v-5.69a.75.75 0 0 0-.219-.53l-1.77-1.774a.15.15 0 0 0-.107-.044m-17.96 2.25a.15.15 0 0 0-.15.15v4.695c0 2.674.278 3.645.8 4.623a5.44 5.44 0 0 0 2.263 2.267c.976.522 1.943.802 4.612.802h.994c.2 0 .39-.08.53-.22l1.771-1.775a.149.149 0 0 0-.106-.255H8.027c-2.002 0-2.728-.208-3.46-.6a4.1 4.1 0 0 1-1.698-1.702c-.39-.734-.599-1.461-.599-3.467v-2.172a.75.75 0 0 0-.22-.528L.282 11.507a.15.15 0 0 0-.106-.044m21.703 1.5a.15.15 0 0 0-.15.15v2.868c0 2.006-.208 2.733-.6 3.467a4.1 4.1 0 0 1-1.698 1.702c-.731.392-1.457.6-3.459.6h-2.164a.75.75 0 0 0-.532.22l-1.769 1.773a.15.15 0 0 0-.043.107c0 .083.065.15.148.15H16.3c2.67 0 3.636-.28 4.612-.802a5.44 5.44 0 0 0 2.263-2.267c.522-.978.8-1.948.8-4.623v-.998a.75.75 0 0 0-.22-.529l-1.769-1.774a.15.15 0 0 0-.106-.044zm-17.96 2.238a.15.15 0 0 0-.151.15v1.898a2.997 2.997 0 0 0 2.993 3.001h5.676c.2 0 .39-.08.53-.22l1.773-1.775a.15.15 0 0 0 .044-.104a.15.15 0 0 0-.15-.15H7.51a1.5 1.5 0 0 1-.53-.098a1.5 1.5 0 0 1-.546-.347l-2.413-2.313a.15.15 0 0 0-.103-.042z'/%3E%3C/svg%3E");background-color:currentColor;color:inherit;display:inline-block;height:1.2em;-webkit-mask:var(--un-icon) no-repeat;mask:var(--un-icon) no-repeat;-webkit-mask-size:100% 100%;mask-size:100% 100%;vertical-align:middle;width:1.2em}.n-button-icon{font-size:1.1em;margin-left:-.2em;margin-right:.2em}.n-icon-button{align-items:center;aspect-ratio:1/1;border-radius:.25rem;display:flex;height:1.6em;justify-content:center;opacity:.5;width:1.6em}.n-tip-base{align-items:center;background-color:rgba(var(--nui-c-context),.04);border-radius:.25rem;display:flex;gap:.5rem;padding:.4em 1em;--un-text-opacity:1;color:rgba(var(--nui-c-context),var(--un-text-opacity))}.n-button-base{align-items:center;border-color:#9ca3af33;border-radius:.25rem;border-width:1px;display:inline-flex;gap:.25rem;opacity:.8;padding:.25em 1em;touch-action:manipulation;--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);outline:2px solid transparent!important;outline-offset:2px!important}.n-icon{flex:none}.n-card-base{border-color:#9ca3af33;border-radius:.25rem;border-width:1px;--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity));--un-shadow:var(--un-shadow-inset) 0 1px 2px 0 var(--un-shadow-color, rgba(0,0,0,.05));box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow)}.hover\:n-button-hover:hover{--un-border-opacity:1 !important;border-color:rgba(var(--nui-c-context),var(--un-border-opacity))!important;--un-text-opacity:1;color:rgba(var(--nui-c-context),var(--un-text-opacity));opacity:1}.dark .n-bg-base,.dark .n-card-base{--un-bg-opacity:1;background-color:rgb(21 21 21 / var(--un-bg-opacity))}.n-bg-base{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.dark .n-tip-base{background-color:rgba(var(--nui-c-context),.12)}.n-icon-button:hover{background-color:#9ca3af0d;opacity:1}.active\:n-button-active:active{background-color:rgba(var(--nui-c-context),.05);--un-ring-width:3px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);--un-ring-color:rgba(var(--nui-c-context),.1) }.focus-visible\:n-focus-base:focus-visible{--un-ring-width:2px;--un-ring-offset-shadow:var(--un-ring-inset) 0 0 0 var(--un-ring-offset-width) var(--un-ring-offset-color);--un-ring-shadow:var(--un-ring-inset) 0 0 0 calc(var(--un-ring-width) + var(--un-ring-offset-width)) var(--un-ring-color);box-shadow:var(--un-ring-offset-shadow),var(--un-ring-shadow),var(--un-shadow);--un-ring-color:rgba(var(--nui-c-context),.5) }.n-transition{transition-duration:.15s;transition-duration:.2s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.fixed{position:fixed}.relative{position:relative}.-bottom-1\/2{bottom:-50%}.left-0{left:0}.right-0{right:0}.z-10{z-index:10}.z-20{z-index:20}.grid{display:grid}.col-span-2{grid-column:span 2 / span 2}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.mb-16{margin-bottom:4rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.inline-block{display:inline-block}.h-1\/2{height:50%}.h-auto{height:auto}.h1{height:.25rem}.h2{height:.5rem}.h3{height:.75rem}.max-w-520px{max-width:520px}.min-h-screen{min-height:100vh}.w-full{width:100%}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.cursor-pointer{cursor:pointer}.place-content-center{place-content:center}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:.5rem}.gap-4{gap:1rem}.space-y-4>:not([hidden])~:not([hidden]){--un-space-y-reverse:0;margin-bottom:calc(1rem*var(--un-space-y-reverse));margin-top:calc(1rem*(1 - var(--un-space-y-reverse)))}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.border,[border=""]{border-width:1px}.border-zinc-600{--un-border-opacity:1;border-color:rgb(82 82 91 / var(--un-border-opacity))}.rounded{border-radius:.25rem}.rounded-t-md{border-top-left-radius:.375rem;border-top-right-radius:.375rem}.bg-black\/5{background-color:#0000000d}.bg-white{--un-bg-opacity:1;background-color:rgb(255 255 255 / var(--un-bg-opacity))}.bg-zinc-900{--un-bg-opacity:1;background-color:rgb(24 24 27 / var(--un-bg-opacity))}.dark .dark\:bg-black{--un-bg-opacity:1;background-color:rgb(0 0 0 / var(--un-bg-opacity))}.dark .dark\:bg-white\/10{background-color:#ffffff1a}.p-1\.5{padding:.375rem}.p-4{padding:1rem}.p-8{padding:2rem}.px-10{padding-left:2.5rem;padding-right:2.5rem}.px-4{padding-left:1rem;padding-right:1rem}.px-8{padding-left:2rem;padding-right:2rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.pt-14{padding-top:3.5rem}.text-center{text-align:center}.align-sub{vertical-align:sub}.text-6xl{font-size:3.75rem;line-height:1}.text-8xl{font-size:6rem;line-height:1}.text-xl{font-size:1.25rem;line-height:1.75rem}.dark .dark\:text-white{--un-text-opacity:1;color:rgb(255 255 255 / var(--un-text-opacity))}.text-black{--un-text-opacity:1;color:rgb(0 0 0 / var(--un-text-opacity))}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.leading-tight{line-height:1.25}.tracking-wider{letter-spacing:.05em}.font-mono{font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.font-sans{font-family:DM Sans,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.uppercase{text-transform:uppercase}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}[n~=green]{--nui-c-context:74,222,128}[n~=yellow]{--nui-c-context:250,204,21}.n-disabled\:n-disabled[disabled],[disabled] .n-disabled\:n-disabled{filter:saturate(0);opacity:.6;pointer-events:none}@media (min-width:640px){.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-2xl{font-size:1.5rem;line-height:2rem}.sm\:text-4xl{font-size:2.25rem;line-height:2.5rem}.sm\:text-8xl{font-size:6rem;line-height:1}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}
@@ -0,0 +1 @@
1
+ .spotlight[data-v-6a48f41f]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);bottom:-30vh;filter:blur(20vh);height:40vh}.gradient-border[data-v-6a48f41f]{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:.5rem;position:relative}@media (prefers-color-scheme:light){.gradient-border[data-v-6a48f41f]{background-color:#ffffff4d}.gradient-border[data-v-6a48f41f]:before{background:linear-gradient(90deg,#e2e2e2,#e2e2e2 25%,#00dc82,#36e4da 75%,#0047e1)}}@media (prefers-color-scheme:dark){.gradient-border[data-v-6a48f41f]{background-color:#1414144d}.gradient-border[data-v-6a48f41f]:before{background:linear-gradient(90deg,#303030,#303030 25%,#00dc82,#36e4da 75%,#0047e1)}}.gradient-border[data-v-6a48f41f]:before{background-size:400% auto;border-radius:.5rem;bottom:0;content:"";left:0;-webkit-mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);mask:linear-gradient(#fff 0 0) content-box,linear-gradient(#fff 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.5;padding:2px;position:absolute;right:0;top:0;transition:background-position .3s ease-in-out,opacity .2s ease-in-out;width:100%}.gradient-border[data-v-6a48f41f]:hover:before{background-position:-50% 0;opacity:1}.fixed[data-v-6a48f41f]{position:fixed}.left-0[data-v-6a48f41f]{left:0}.right-0[data-v-6a48f41f]{right:0}.z-10[data-v-6a48f41f]{z-index:10}.z-20[data-v-6a48f41f]{z-index:20}.grid[data-v-6a48f41f]{display:grid}.mb-16[data-v-6a48f41f]{margin-bottom:4rem}.mb-8[data-v-6a48f41f]{margin-bottom:2rem}.max-w-520px[data-v-6a48f41f]{max-width:520px}.min-h-screen[data-v-6a48f41f]{min-height:100vh}.w-full[data-v-6a48f41f]{width:100%}.flex[data-v-6a48f41f]{display:flex}.cursor-pointer[data-v-6a48f41f]{cursor:pointer}.place-content-center[data-v-6a48f41f]{place-content:center}.items-center[data-v-6a48f41f]{align-items:center}.justify-center[data-v-6a48f41f]{justify-content:center}.overflow-hidden[data-v-6a48f41f]{overflow:hidden}.bg-white[data-v-6a48f41f]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-4[data-v-6a48f41f]{padding-left:1rem;padding-right:1rem}.px-8[data-v-6a48f41f]{padding-left:2rem;padding-right:2rem}.py-2[data-v-6a48f41f]{padding-bottom:.5rem;padding-top:.5rem}.text-center[data-v-6a48f41f]{text-align:center}.text-8xl[data-v-6a48f41f]{font-size:6rem;line-height:1}.text-xl[data-v-6a48f41f]{font-size:1.25rem;line-height:1.75rem}.text-black[data-v-6a48f41f]{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.font-light[data-v-6a48f41f]{font-weight:300}.font-medium[data-v-6a48f41f]{font-weight:500}.leading-tight[data-v-6a48f41f]{line-height:1.25}.font-sans[data-v-6a48f41f]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.antialiased[data-v-6a48f41f]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-6a48f41f]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity))}.dark\:text-white[data-v-6a48f41f]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\:px-0[data-v-6a48f41f]{padding-left:0;padding-right:0}.sm\:px-6[data-v-6a48f41f]{padding-left:1.5rem;padding-right:1.5rem}.sm\:py-3[data-v-6a48f41f]{padding-bottom:.75rem;padding-top:.75rem}.sm\:text-4xl[data-v-6a48f41f]{font-size:2.25rem;line-height:2.5rem}.sm\:text-xl[data-v-6a48f41f]{font-size:1.25rem;line-height:1.75rem}}
@@ -0,0 +1 @@
1
+ .spotlight[data-v-22c080c5]{background:linear-gradient(45deg,#00dc82,#36e4da 50%,#0047e1);filter:blur(20vh)}.fixed[data-v-22c080c5]{position:fixed}.-bottom-1\/2[data-v-22c080c5]{bottom:-50%}.left-0[data-v-22c080c5]{left:0}.right-0[data-v-22c080c5]{right:0}.grid[data-v-22c080c5]{display:grid}.mb-16[data-v-22c080c5]{margin-bottom:4rem}.mb-8[data-v-22c080c5]{margin-bottom:2rem}.h-1\/2[data-v-22c080c5]{height:50%}.max-w-520px[data-v-22c080c5]{max-width:520px}.min-h-screen[data-v-22c080c5]{min-height:100vh}.place-content-center[data-v-22c080c5]{place-content:center}.overflow-hidden[data-v-22c080c5]{overflow:hidden}.bg-white[data-v-22c080c5]{--un-bg-opacity:1;background-color:rgb(255 255 255/var(--un-bg-opacity))}.px-8[data-v-22c080c5]{padding-left:2rem;padding-right:2rem}.text-center[data-v-22c080c5]{text-align:center}.text-8xl[data-v-22c080c5]{font-size:6rem;line-height:1}.text-xl[data-v-22c080c5]{font-size:1.25rem;line-height:1.75rem}.text-black[data-v-22c080c5]{--un-text-opacity:1;color:rgb(0 0 0/var(--un-text-opacity))}.font-light[data-v-22c080c5]{font-weight:300}.font-medium[data-v-22c080c5]{font-weight:500}.leading-tight[data-v-22c080c5]{line-height:1.25}.font-sans[data-v-22c080c5]{font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.antialiased[data-v-22c080c5]{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){.dark\:bg-black[data-v-22c080c5]{--un-bg-opacity:1;background-color:rgb(0 0 0/var(--un-bg-opacity))}.dark\:text-white[data-v-22c080c5]{--un-text-opacity:1;color:rgb(255 255 255/var(--un-text-opacity))}}@media (min-width:640px){.sm\:px-0[data-v-22c080c5]{padding-left:0;padding-right:0}.sm\:text-4xl[data-v-22c080c5]{font-size:2.25rem;line-height:2.5rem}}
@@ -0,0 +1 @@
1
+ .heading[data-v-469b968a]{font-weight:700;letter-spacing:.05em;font-family:DM Mono,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;text-transform:uppercase}
@@ -1,13 +1 @@
1
- <!DOCTYPE html><html data-capo=""><head><meta charset="utf-8">
2
- <meta name="viewport" content="width=device-width, initial-scale=1">
3
- <link rel="stylesheet" href="/__prismic-client/_nuxt/entry.CKuaGynx.css" crossorigin>
4
- <link rel="modulepreload" as="script" crossorigin href="/__prismic-client/_nuxt/gctvBxZX.js">
5
- <link rel="prefetch" as="style" crossorigin href="/__prismic-client/_nuxt/error-404.CK4zpOhH.css">
6
- <link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/B0l9158o.js">
7
- <link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/qFNLh8PE.js">
8
- <link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/DlAUqK2U.js">
9
- <link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/Cqan8ox2.js">
10
- <link rel="prefetch" as="style" crossorigin href="/__prismic-client/_nuxt/error-500.Bj55eCUK.css">
11
- <link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/DDnTEJT-.js">
12
- <script type="module" src="/__prismic-client/_nuxt/gctvBxZX.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1736174707573,false]</script>
13
- <script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__prismic-client",buildId:"00ebe673-227d-488e-b689-9bf2ff2def42",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
1
+ <!DOCTYPE html><html data-capo=""><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><link rel="stylesheet" href="/__prismic-client/_nuxt/entry.BC9BDAld.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/__prismic-client/_nuxt/ByLTtnHp.js"><link rel="prefetch" as="style" crossorigin href="/__prismic-client/_nuxt/error-404.5Ijuoi_n.css"><link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/CttLvMQv.js"><link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/DVneGoC6.js"><link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/DlAUqK2U.js"><link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/VREfgDfD.js"><link rel="prefetch" as="style" crossorigin href="/__prismic-client/_nuxt/error-500.CZBrr-m_.css"><link rel="prefetch" as="script" crossorigin href="/__prismic-client/_nuxt/CLsYcwBR.js"><script type="module" src="/__prismic-client/_nuxt/ByLTtnHp.js" crossorigin></script></head><body><div id="__nuxt"></div><div id="teleports"></div><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1736852156127,false]</script><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/__prismic-client",buildId:"5c01957e-0749-4107-95ef-276396288aa0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script></body></html>
package/dist/module.d.mts CHANGED
@@ -7,7 +7,7 @@ import { PrismicPluginOptions } from '@prismicio/vue';
7
7
  * @see Module documentation: {@link https://prismic.nuxtjs.org}
8
8
  * @see Prismic documentation: {@link https://prismic.io/docs/nuxt-3-setup}
9
9
  */
10
- type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | 'linkResolver' | 'htmlSerializer' | 'richTextSerializer'> & {
10
+ type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | 'linkResolver' | 'richTextSerializer' | 'components'> & {
11
11
  /**
12
12
  * A Prismic repository endpoint to init the module's `@prismicio/client`
13
13
  * instance used to fetch content from a Prismic repository with.
@@ -73,7 +73,7 @@ type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | '
73
73
  */
74
74
  preview?: string | false;
75
75
  /**
76
- * Whether or not to inject Prismic toolbar script.
76
+ * Whether to inject Prismic toolbar script.
77
77
  *
78
78
  * @remarks
79
79
  * The toolbar script is required for previews to work.
@@ -82,11 +82,40 @@ type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | '
82
82
  */
83
83
  toolbar?: boolean;
84
84
  /**
85
- * Whether or not to enable the devtools UI.
85
+ * Whether to enable Prismic Nuxt DevTools integration.
86
86
  *
87
87
  * @defaultValue `true`
88
88
  */
89
89
  devtools?: boolean;
90
+ /**
91
+ * Options used by Prismic Vue components.
92
+ */
93
+ components?: Omit<Required<PrismicPluginOptions>['components'], 'richTextComponents' | 'linkRel' | 'sliceZoneDefaultComponent' | 'linkInternalComponent' | 'linkExternalComponent'> & {
94
+ /**
95
+ * An optional path to a file exporting the `rel` attribute to apply on links.
96
+ * It can export a function to use the link's metadata to determine the `rel` value.
97
+ *
98
+ * @defaultValue `"noreferrer"` for external links.
99
+ */
100
+ linkRel?: string;
101
+ /**
102
+ * An optional path to a file exporting a map of Rich Text block types to Vue Components.
103
+ * It is used to render Rich Text or title fields.
104
+ *
105
+ * @see Templating Rich Text and title fields from Prismic {@link https://prismic.io/docs/rich-text}
106
+ */
107
+ richTextComponents?: string;
108
+ /**
109
+ * An optional path to a file exporting a component or a functional component rendered
110
+ * if a component mapping from the `components` prop cannot be found.
111
+ *
112
+ * @remarks
113
+ * Components will be rendered using the {@link SliceComponentProps} interface.
114
+ *
115
+ * @defaultValue `null` when `process.env.NODE_ENV === "production"` else {@link TODOSliceComponent}
116
+ */
117
+ sliceZoneDefaultComponent?: string;
118
+ };
90
119
  };
91
120
 
92
121
  declare module '@nuxt/schema' {
package/dist/module.d.ts CHANGED
@@ -7,7 +7,7 @@ import { PrismicPluginOptions } from '@prismicio/vue';
7
7
  * @see Module documentation: {@link https://prismic.nuxtjs.org}
8
8
  * @see Prismic documentation: {@link https://prismic.io/docs/nuxt-3-setup}
9
9
  */
10
- type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | 'linkResolver' | 'htmlSerializer' | 'richTextSerializer'> & {
10
+ type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | 'linkResolver' | 'richTextSerializer' | 'components'> & {
11
11
  /**
12
12
  * A Prismic repository endpoint to init the module's `@prismicio/client`
13
13
  * instance used to fetch content from a Prismic repository with.
@@ -73,7 +73,7 @@ type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | '
73
73
  */
74
74
  preview?: string | false;
75
75
  /**
76
- * Whether or not to inject Prismic toolbar script.
76
+ * Whether to inject Prismic toolbar script.
77
77
  *
78
78
  * @remarks
79
79
  * The toolbar script is required for previews to work.
@@ -82,11 +82,40 @@ type PrismicModuleOptions = Omit<PrismicPluginOptions, 'endpoint' | 'client' | '
82
82
  */
83
83
  toolbar?: boolean;
84
84
  /**
85
- * Whether or not to enable the devtools UI.
85
+ * Whether to enable Prismic Nuxt DevTools integration.
86
86
  *
87
87
  * @defaultValue `true`
88
88
  */
89
89
  devtools?: boolean;
90
+ /**
91
+ * Options used by Prismic Vue components.
92
+ */
93
+ components?: Omit<Required<PrismicPluginOptions>['components'], 'richTextComponents' | 'linkRel' | 'sliceZoneDefaultComponent' | 'linkInternalComponent' | 'linkExternalComponent'> & {
94
+ /**
95
+ * An optional path to a file exporting the `rel` attribute to apply on links.
96
+ * It can export a function to use the link's metadata to determine the `rel` value.
97
+ *
98
+ * @defaultValue `"noreferrer"` for external links.
99
+ */
100
+ linkRel?: string;
101
+ /**
102
+ * An optional path to a file exporting a map of Rich Text block types to Vue Components.
103
+ * It is used to render Rich Text or title fields.
104
+ *
105
+ * @see Templating Rich Text and title fields from Prismic {@link https://prismic.io/docs/rich-text}
106
+ */
107
+ richTextComponents?: string;
108
+ /**
109
+ * An optional path to a file exporting a component or a functional component rendered
110
+ * if a component mapping from the `components` prop cannot be found.
111
+ *
112
+ * @remarks
113
+ * Components will be rendered using the {@link SliceComponentProps} interface.
114
+ *
115
+ * @defaultValue `null` when `process.env.NODE_ENV === "production"` else {@link TODOSliceComponent}
116
+ */
117
+ sliceZoneDefaultComponent?: string;
118
+ };
90
119
  };
91
120
 
92
121
  declare module '@nuxt/schema' {
package/dist/module.json CHANGED
@@ -4,7 +4,7 @@
4
4
  "compatibility": {
5
5
  "nuxt": ">=3.7.0"
6
6
  },
7
- "version": "3.4.8",
7
+ "version": "4.0.0-rc.1",
8
8
  "builder": {
9
9
  "@nuxt/module-builder": "0.8.4",
10
10
  "unbuild": "2.0.0"
package/dist/module.mjs CHANGED
@@ -2,12 +2,11 @@ import { join } from 'node:path';
2
2
  import { readFile } from 'node:fs/promises';
3
3
  import { existsSync } from 'node:fs';
4
4
  import { defu } from 'defu';
5
- import { defineNuxtModule, getNuxtVersion, createResolver, addPlugin, addComponent, addImports, extendPages, addTemplate } from '@nuxt/kit';
5
+ import { useLogger, defineNuxtModule, getNuxtVersion, createResolver, addPlugin, addComponent, addImports, extendPages, addTemplate } from '@nuxt/kit';
6
6
  import * as prismicVue from '@prismicio/vue';
7
7
  import { onDevToolsInitialized, extendServerRpc, startSubprocess } from '@nuxt/devtools-kit';
8
8
  import { resolve } from 'pathe';
9
9
  import terminate from 'terminate';
10
- import { consola } from 'consola';
11
10
 
12
11
  const RPC_NAMESPACE = "prismic-slicemachine-rpc";
13
12
  var SliceMachineStatus = /* @__PURE__ */ ((SliceMachineStatus2) => {
@@ -17,7 +16,7 @@ var SliceMachineStatus = /* @__PURE__ */ ((SliceMachineStatus2) => {
17
16
  })(SliceMachineStatus || {});
18
17
 
19
18
  const DEVTOOLS_UI_ROUTE = "/__prismic-client";
20
- const DEVTOOLS_UI_LOCAL_PORT = 3300;
19
+ const DEVTOOLS_UI_LOCAL_PORT = 5173;
21
20
  let subProcess = null;
22
21
  const stopSubprocess = () => {
23
22
  if (subProcess) {
@@ -48,6 +47,7 @@ const setupDevToolsUI = (nuxt, resolver) => {
48
47
  target: `http://localhost:${DEVTOOLS_UI_LOCAL_PORT}${DEVTOOLS_UI_ROUTE}`,
49
48
  changeOrigin: true,
50
49
  followRedirects: true,
50
+ ws: true,
51
51
  rewrite: (path) => path.replace(DEVTOOLS_UI_ROUTE, "")
52
52
  };
53
53
  });
@@ -81,7 +81,7 @@ const setupDevToolsUI = (nuxt, resolver) => {
81
81
  }, {
82
82
  id: "slicemachine",
83
83
  name: "SliceMachine",
84
- icon: "cib:prismic"
84
+ icon: "i-simple-icons-prismic"
85
85
  }, nuxt);
86
86
  rpc.broadcast.updateStatus(SliceMachineStatus.STARTED);
87
87
  return SliceMachineStatus.STARTED;
@@ -101,7 +101,7 @@ const setupDevToolsUI = (nuxt, resolver) => {
101
101
  // title to display in the tab
102
102
  title: "Prismic",
103
103
  // any icon from Iconify, or a URL to an image
104
- icon: "logos:prismic-icon",
104
+ icon: "i-simple-icons-prismic",
105
105
  // iframe view
106
106
  view: {
107
107
  type: "iframe",
@@ -111,7 +111,7 @@ const setupDevToolsUI = (nuxt, resolver) => {
111
111
  });
112
112
  };
113
113
 
114
- const logger = consola.withTag("nuxt:prismic");
114
+ const logger = useLogger("nuxt:prismic");
115
115
 
116
116
  const fileExists = (path, extensions = ["js", "ts"]) => {
117
117
  if (!path) {
@@ -135,12 +135,22 @@ const module = defineNuxtModule({
135
135
  linkResolver: "~/app/prismic/linkResolver",
136
136
  richTextSerializer: "~/app/prismic/richTextSerializer"
137
137
  };
138
+ let prismicComponentsFiles = {
139
+ linkRel: "~/app/prismic/linkRel",
140
+ richTextComponents: "~/app/prismic/richTextComponents",
141
+ sliceZoneDefaultComponent: "~/app/prismic/sliceZoneDefaultComponent"
142
+ };
138
143
  if (nuxt.options?.future?.compatibilityVersion === 4 || getNuxtVersion(nuxt).startsWith("4")) {
139
144
  prismicFiles = {
140
145
  client: "~/prismic/client",
141
146
  linkResolver: "~/prismic/linkResolver",
142
147
  richTextSerializer: "~/prismic/richTextSerializer"
143
148
  };
149
+ prismicComponentsFiles = {
150
+ linkRel: "~/prismic/linkRel",
151
+ richTextComponents: "~/prismic/richTextComponents",
152
+ sliceZoneDefaultComponent: "~/prismic/sliceZoneDefaultComponent"
153
+ };
144
154
  }
145
155
  return {
146
156
  endpoint: "",
@@ -148,7 +158,7 @@ const module = defineNuxtModule({
148
158
  clientConfig: {},
149
159
  ...prismicFiles,
150
160
  injectComponents: true,
151
- components: {},
161
+ components: prismicComponentsFiles,
152
162
  preview: "/preview",
153
163
  toolbar: true,
154
164
  devtools: true
@@ -163,7 +173,7 @@ const module = defineNuxtModule({
163
173
  if (nuxt.options.devtools && options.devtools) {
164
174
  setupDevToolsUI(nuxt, resolver);
165
175
  }
166
- const proxyUserFileWithUndefinedFallback = (filename, path, extensions = ["js", "mjs", "ts"]) => {
176
+ const proxyUserFileWithUndefinedFallback = (filename, path, extensions = ["js", "mjs", "ts", "vue"]) => {
167
177
  const resolvedFilename = `prismic/proxy/${filename}.ts`;
168
178
  const resolvedPath = path.replace(/^(~~|@@)/, nuxt.options.rootDir).replace(/^(~|@)/, nuxt.options.srcDir);
169
179
  const maybeUserFile = fileExists(resolvedPath, extensions);
@@ -189,6 +199,9 @@ const module = defineNuxtModule({
189
199
  }
190
200
  proxyUserFileWithUndefinedFallback("linkResolver", moduleOptions.linkResolver);
191
201
  proxyUserFileWithUndefinedFallback("richTextSerializer", moduleOptions.richTextSerializer);
202
+ proxyUserFileWithUndefinedFallback("linkRel", moduleOptions.components.linkRel);
203
+ proxyUserFileWithUndefinedFallback("richTextComponents", moduleOptions.components.richTextComponents);
204
+ proxyUserFileWithUndefinedFallback("sliceZoneDefaultComponent", moduleOptions.components.sliceZoneDefaultComponent);
192
205
  nuxt.options.build.transpile.push(resolver.resolve("runtime"), "@nuxtjs/prismic", "@prismicio/vue");
193
206
  nuxt.options.vite.optimizeDeps ||= {};
194
207
  nuxt.options.vite.optimizeDeps.exclude ||= [];
@@ -211,7 +224,7 @@ const module = defineNuxtModule({
211
224
  });
212
225
  });
213
226
  }
214
- const prismicVueAutoImports = Object.keys(prismicVue).filter((key) => key.startsWith("use")).concat("getSliceComponentProps", "defineSliceZoneComponents").map((key) => {
227
+ const prismicVueAutoImports = Object.keys(prismicVue).filter((key) => key.startsWith("use")).concat("getSliceComponentProps", "defineSliceZoneComponents", "getRichTextComponentProps").map((key) => {
215
228
  return {
216
229
  name: key,
217
230
  as: key,
@@ -6,81 +6,91 @@ import { useCookie, useRequestEvent, onNuxtReady, refreshNuxtData, useHead, useR
6
6
  import _client from "#build/prismic/proxy/client";
7
7
  import linkResolver from "#build/prismic/proxy/linkResolver";
8
8
  import richTextSerializer from "#build/prismic/proxy/richTextSerializer";
9
- export default defineNuxtPlugin(async (nuxtApp) => {
10
- const options = useRuntimeConfig().public.prismic;
11
- let client;
12
- if (typeof _client === "function") {
13
- try {
14
- client = await nuxtApp.runWithContext(() => _client());
15
- } catch (error) {
16
- console.error("[@nuxtjs/prismic] An error happened while resolving your Prismic custom client, disabling Prismic module gracefully...", error);
17
- client = createClient(
18
- "error-resolving-custom-client",
19
- { ...options, documentAPIEndpoint: void 0 }
20
- );
21
- }
22
- } else {
23
- client = _client;
24
- }
25
- const endpoint = options.environment || options.endpoint || client?.documentAPIEndpoint || "";
26
- const prismicPlugin = createPrismic({
27
- ...options,
28
- endpoint,
29
- // TypeScript expects either an endpoint of a client, not both
30
- client,
31
- linkResolver,
32
- richTextSerializer,
33
- injectComponents: false,
34
- // Handled at module level
35
- components: {
36
- linkInternalComponent: NuxtLink,
37
- linkExternalComponent: NuxtLink,
38
- ...options.components
39
- }
40
- });
41
- nuxtApp.vueApp.use(prismicPlugin);
42
- if (options.preview) {
43
- const previewCookie = useCookie("io.prismic.preview").value;
44
- if (import.meta.server) {
45
- const req = useRequestEvent()?.node.req;
46
- if (req) {
47
- prismicPlugin.client.enableAutoPreviewsFromReq(req);
9
+ import linkRel from "#build/prismic/proxy/linkRel";
10
+ import richTextComponents from "#build/prismic/proxy/richTextComponents";
11
+ import sliceZoneDefaultComponent from "#build/prismic/proxy/sliceZoneDefaultComponent";
12
+ export default defineNuxtPlugin({
13
+ name: "prismic:setup",
14
+ parallel: true,
15
+ async setup(nuxtApp) {
16
+ const options = useRuntimeConfig().public.prismic;
17
+ let client;
18
+ if (typeof _client === "function") {
19
+ try {
20
+ client = await nuxtApp.runWithContext(() => _client());
21
+ } catch (error) {
22
+ console.error("[@nuxtjs/prismic] An error happened while resolving your Prismic custom client, disabling Prismic module gracefully...", error);
23
+ client = createClient(
24
+ "error-resolving-custom-client",
25
+ { ...options, documentAPIEndpoint: void 0 }
26
+ );
48
27
  }
28
+ } else {
29
+ client = _client;
49
30
  }
50
- if (previewCookie) {
51
- try {
52
- const session = typeof previewCookie === "string" ? JSON.parse(decodeURIComponent(previewCookie)) : previewCookie;
53
- if (Object.keys(session).some((key) => key in session && typeof session[key] === "object" && session[key] !== null && "preview" in session[key] && session[key].preview)) {
54
- let afterEachCalled = false;
55
- onNuxtReady(() => {
56
- if (!afterEachCalled) {
31
+ const endpoint = options.environment || options.endpoint || client?.documentAPIEndpoint || "";
32
+ const prismicPlugin = createPrismic({
33
+ ...options,
34
+ endpoint,
35
+ // TypeScript expects either an endpoint of a client, not both
36
+ client,
37
+ linkResolver,
38
+ richTextSerializer,
39
+ injectComponents: false,
40
+ // Handled at module level
41
+ components: {
42
+ linkInternalComponent: NuxtLink,
43
+ linkExternalComponent: NuxtLink,
44
+ ...options.components,
45
+ linkRel,
46
+ richTextComponents,
47
+ sliceZoneDefaultComponent
48
+ }
49
+ });
50
+ nuxtApp.vueApp.use(prismicPlugin);
51
+ if (options.preview) {
52
+ const previewCookie = useCookie("io.prismic.preview").value;
53
+ if (import.meta.server) {
54
+ const req = useRequestEvent()?.node.req;
55
+ if (req) {
56
+ prismicPlugin.client.enableAutoPreviewsFromReq(req);
57
+ }
58
+ }
59
+ if (previewCookie) {
60
+ try {
61
+ const session = typeof previewCookie === "string" ? JSON.parse(decodeURIComponent(previewCookie)) : previewCookie;
62
+ if (Object.keys(session).some((key) => key in session && typeof session[key] === "object" && session[key] !== null && "preview" in session[key] && session[key].preview)) {
63
+ let afterEachCalled = false;
64
+ onNuxtReady(() => {
65
+ if (!afterEachCalled) {
66
+ refreshNuxtData();
67
+ }
68
+ });
69
+ useRouter().afterEach(() => {
70
+ afterEachCalled = true;
57
71
  refreshNuxtData();
58
- }
59
- });
60
- useRouter().afterEach(() => {
61
- afterEachCalled = true;
62
- refreshNuxtData();
63
- });
72
+ });
73
+ }
74
+ } catch (error) {
75
+ console.warn("Failed to parse Prismic preview cookie", error);
64
76
  }
65
- } catch (error) {
66
- console.warn("Failed to parse Prismic preview cookie", error);
67
77
  }
68
78
  }
79
+ if (options.toolbar && prismicPlugin.client?.repositoryName) {
80
+ useHead({
81
+ script: [{
82
+ key: "prismic-preview",
83
+ src: `https://static.cdn.prismic.io/prismic.min.js?repo=${prismicPlugin.client.repositoryName}&new=true`,
84
+ async: true,
85
+ defer: true,
86
+ crossorigin: "anonymous"
87
+ }]
88
+ });
89
+ } else {
90
+ useCookie("io.prismic.preview").value = null;
91
+ }
92
+ return {
93
+ provide: { prismic: prismicPlugin }
94
+ };
69
95
  }
70
- if (options.toolbar && prismicPlugin.client?.repositoryName) {
71
- useHead({
72
- script: [{
73
- key: "prismic-preview",
74
- src: `https://static.cdn.prismic.io/prismic.min.js?repo=${prismicPlugin.client.repositoryName}&new=true`,
75
- async: true,
76
- defer: true,
77
- crossorigin: "anonymous"
78
- }]
79
- });
80
- } else {
81
- useCookie("io.prismic.preview").value = null;
82
- }
83
- return {
84
- provide: { prismic: prismicPlugin }
85
- };
86
96
  });