1
|
import{k as x}from"../monaco/bundled-types-B0l6HWZX.js";import{d as k,O as C,Q as z,o as B,c as I,F as V,aB as $,v as a,aE as f,aF as w,l as M,ae as D}from"../modules/vue-DPv8DyWv.js";import{a3 as E,a4 as F}from"../index-Da-oe7Cw.js";import{u as G}from"./context-DlCOjm-I.js";const L=k({__name:"VClickGap",props:{size:{type:[String,Number],default:1}},setup(d){const s=d,{$clicksContext:i}=G(),p=E();let o=+s.size;return Number.isNaN(o)&&(console.warn(`[slidev] Invalid size for VClickGap: ${s.size}`),o=1),C(()=>{const l=i.currentOffset+o-1;i.register(p,{max:l,delta:o})}),z(()=>{i.unregister(p)}),(l,r)=>(B(),I(V))}}),b=["ul","ol"],U=k({props:{depth:{type:[Number,String],default:1},every:{type:[Number,String],default:1},at:{type:[Number,String],default:"+1"},hide:{type:Boolean,default:!1},fade:{type:Boolean,default:!1},handleSpecialElements:{type:Boolean,default:!0}},render(){var A,g;const d=+this.every,s=F(this.at),i=typeof s=="string";if(!s){console.warn("[slidev] Invalid at prop for v-clicks component:",s);return}const p=$("click"),o=(n,e)=>D(n,[[p,e,"",{hide:this.hide,fade:this.fade}]]),l=n=>n.flatMap(e=>f(e)&&typeof e.type=="symbol"&&Array.isArray(e.children)?l(e.children):[e]);let r=(g=(A=this.$slots).default)==null?void 0:g.call(A);if(!r)return;r=l(x(r));const S=(n,e=1)=>l(n).map(t=>{if(!f(t))return t;if(b.includes(t.type)&&Array.isArray(t.children)){const c=u(t.children,e+1);return a(t,{},c)}return a(t)});let N=1,h=0;const u=(n,e=1)=>l(n).map(t=>{if(!f(t)||t.type===w)return t;const c=+s+Math.ceil(N++/d)-1;let y;e<+this.depth&&Array.isArray(t.children)?y=a(t,{},S(t.children,e)):y=a(t);const v=c-h;return h=c,o(y,i?v>=0?`+${v}`:`${v}`:c)}),m=()=>M(L,{size:+s+Math.ceil((N-1)/d)-1-h});if(this.handleSpecialElements){if(r.length===1&&b.includes(r[0].type)&&Array.isArray(r[0].children))return a(r[0],{},[...u(r[0].children),m()]);if(r.length===1&&r[0].type==="table"){const n=r[0];if(Array.isArray(n.children))return a(n,{},n.children.map(e=>f(e)?e.type==="tbody"&&Array.isArray(e.children)?a(e,{},[...u(e.children),m()]):a(e):e))}}return[...u(r),m()]}});export{U as _};
|