@motionscript/code 0.1.0 → 0.1.1-alpha.0
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/CHANGELOG.md +19 -0
- package/README.md +2 -2
- package/dist/browser/index.js +8 -8
- package/dist/browser/index.js.map +3 -3
- package/dist/browser/manifest.json +1 -1
- package/dist/code-range.d.ts +7 -47
- package/dist/code-range.d.ts.map +1 -1
- package/dist/code-range.js +8 -45
- package/dist/code-range.js.map +1 -1
- package/dist/diff.d.ts +5 -44
- package/dist/diff.d.ts.map +1 -1
- package/dist/diff.js +22 -69
- package/dist/diff.js.map +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +3 -7
- package/dist/engine.js.map +1 -1
- package/dist/highlight.d.ts +13 -31
- package/dist/highlight.d.ts.map +1 -1
- package/dist/highlight.js +25 -87
- package/dist/highlight.js.map +1 -1
- package/dist/layout.d.ts +7 -26
- package/dist/layout.d.ts.map +1 -1
- package/dist/layout.js +5 -20
- package/dist/layout.js.map +1 -1
- package/dist/measure-cache.d.ts +5 -27
- package/dist/measure-cache.d.ts.map +1 -1
- package/dist/measure-cache.js +0 -0
- package/dist/measure-cache.js.map +1 -1
- package/dist/node.d.ts +4 -11
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +18 -41
- package/dist/node.js.map +1 -1
- package/dist/nodes.d.ts +0 -12
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +0 -12
- package/dist/nodes.js.map +1 -1
- package/dist/render.d.ts +5 -14
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js +13 -54
- package/dist/render.js.map +1 -1
- package/dist/style.d.ts +6 -61
- package/dist/style.d.ts.map +1 -1
- package/dist/style.js +4 -40
- package/dist/style.js.map +1 -1
- package/dist/tokens.d.ts +1 -10
- package/dist/tokens.d.ts.map +1 -1
- package/dist/tokens.js +3 -38
- package/dist/tokens.js.map +1 -1
- package/dist/transitions.d.ts +16 -68
- package/dist/transitions.d.ts.map +1 -1
- package/dist/transitions.js +5 -17
- package/dist/transitions.js.map +1 -1
- package/package.json +4 -4
- package/src/code-range.ts +9 -53
- package/src/diff.ts +26 -92
- package/src/engine.ts +3 -7
- package/src/highlight.ts +25 -98
- package/src/layout.ts +10 -35
- package/src/measure-cache.ts +0 -0
- package/src/node.ts +21 -57
- package/src/nodes.ts +0 -12
- package/src/render.ts +17 -61
- package/src/style.ts +9 -64
- package/src/tokens.ts +4 -46
- package/src/transitions.ts +16 -72
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# @motionscript/code
|
|
2
2
|
|
|
3
|
+
## 0.1.1-alpha.0
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- e279864: **Breaking:** the component kits drop exports nothing used.
|
|
8
|
+
|
|
9
|
+
- **math:** the hand-mirrored `*Props` interfaces of 24 components (`AngleMarkProps`, `CurlyBraceProps`, `EmphasisMarkProps`, `CurveAreaProps`, `DropLinesProps`, `PlotPointProps`, `RiemannSumProps`, `TangentLineProps`, `VectorArrowProps`, `PointsPlotProps`, `StreamLinesProps`, `TracedPathProps`, `VectorFieldProps`, `NetworkGraphProps`, `SampleSpaceProps`, `NumberLineProps`, `NumberPlaneProps`, `PolarPlaneProps`, `LatexMatrixProps`, `Axes3dProps`, `CurvePlot3dProps`, `PlotPoint3dProps`, `SurfacePlot3dProps`, `VectorArrow3dProps`), `FILL_PAINT`, `STROKE_PAINT`, `OUTLINE_TRIM` and `spaceOf` from `./kit`, and `LatexPathResult.commands`.
|
|
10
|
+
- **charts:** `LineChartProps`, `BarChartProps`, `PieChartProps`, `PieRingProps`, `PieLegendProps`, `ChartBarsProps`, `CategoryAxisProps`, `ChartBorderProps`, `ChartCanvasProps`, `ChartLegendProps`, `VerticalAxisProps`, and from `./kit` `axisTweenTarget`, `resolvePalettePaint`, `legendShows`, `MarkerLabel`, `clampUnit` (use the SDK's `clamp`). `niceStep` and `enterBudget` stay reachable from `@motionscript/sdk/component`.
|
|
11
|
+
- **audio:** `FullWaveformProps`, `LiveWaveformProps`, and `clamp01` from `./kit`.
|
|
12
|
+
- **patterns:** `DotGridPatternProps`, `GridPatternProps`, `LineGridPatternProps`.
|
|
13
|
+
- **code:** `DEFAULT_THEMES`, `splitTokensAt`, `LINE_ALIGN_CELLS`, `EDIT_ALIGN_CELLS`, and `phasesFor` (use `defaultCodePhases`). `ensureHighlighter`, `loadCodeLanguage`, `initSyntaxHighlighter` and `canHighlight` lose their ignored theme argument.
|
|
14
|
+
- **grids:** the `findNode2D` and `frameIn` re-exports (import them from `@motionscript/sdk`), `ArrangementKind`, `PathGridShape`, `RectangularGridProps`, `RadialGridProps`, `PathGridProps`, `SphereGridProps`.
|
|
15
|
+
- **geography:** `GeoBorderProps`.
|
|
16
|
+
|
|
17
|
+
Migration: no stored document is affected; only TypeScript imports change. Code that imported a removed `*Props` interface states the props it passes inline, and code that used a removed helper uses the replacement named beside it above.
|
|
18
|
+
|
|
19
|
+
- Updated dependencies [e279864]
|
|
20
|
+
- @motionscript/sdk@0.1.1-alpha.0
|
|
21
|
+
|
|
3
22
|
## 0.1.0
|
|
4
23
|
|
|
5
24
|
## 0.1.0-alpha.10
|
package/README.md
CHANGED
|
@@ -55,7 +55,7 @@ export default {
|
|
|
55
55
|
chainable `CodeRanges` build the ranges those commands take.
|
|
56
56
|
- **Themes**: `github-dark`, `github-light`, `vscode-dark`, `vscode-light`
|
|
57
57
|
and a default, plus `registerCodeTheme` for your own.
|
|
58
|
-
`initSyntaxHighlighter(
|
|
58
|
+
`initSyntaxHighlighter(langs)` preloads grammars so the first frame
|
|
59
59
|
renders fully highlighted.
|
|
60
60
|
|
|
61
61
|
Every token keeps a stable identity across edits, so concurrent animations at
|
|
@@ -84,7 +84,7 @@ scene, such as [`@motionscript/browser`](https://github.com/motionscript-dev/mot
|
|
|
84
84
|
ends of the listing and by lines that occur once on both sides, so an edit
|
|
85
85
|
to a long listing costs in proportion to what changed. Only a run of changed
|
|
86
86
|
lines between two such anchors is compared pairwise, up to
|
|
87
|
-
|
|
87
|
+
40,000 line pairs per run and 160,000 per edit; beyond
|
|
88
88
|
that its lines leave and enter as whole rows instead of morphing into each
|
|
89
89
|
other.
|
|
90
90
|
- **A command on a node that is not in a tree** runs its duration and writes
|
package/dist/browser/index.js
CHANGED
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
import{j as St,k as Nt,l as n}from"./chunks/chunk-SYZUZB3M.js";import{Graphics2D as gt,Paint as je,Types as M,component2d as Re,lerpNumber as Vt}from"@motionscript/sdk";function ue(t,e,o){if(o<=t[0])return e[0];if(o>=t[t.length-1])return e[e.length-1];for(let i=0;i<t.length-1;i++)if(o<=t[i+1]){let r=t[i+1]-t[i],s=r===0?0:(o-t[i])/r;return e[i]+(e[i+1]-e[i])*s}return e[e.length-1]}function R(t,e){if(!t)return 1;let[o,i]=t;return e<=o?0:e>=i||i===o?1:(e-o)/(i-o)}function ge(t){return t*t*(3-2*t)}function et(t,e){return{id:t,opacity:e.values,opacityKeys:e.keys}}function he(t,e){return t&&e?{out:[0,.38],move:[.1,.68],in:[.52,1]}:t?{out:[0,.45],move:[.22,1],in:null}:e?{out:null,move:[0,.55],in:[.38,1]}:{out:null,move:[0,1],in:null}}var It=he;function B(t){return t?ge(R(t.phases.move,t.progress)):1}function Lt(t,e,o,i){let r=new Map;if(o!==null){let s=o;for(let a of t)for(let c of a.tokens)r.set(c.id,{opacity:i.has(c.id)?1:s})}for(let s of e)if(s.kind==="dim")for(let a of s.tokens)r.set(a.id,{opacity:ue(a.opacityKeys,a.opacity,s.progress)});return r}function Ct(t){let e=t.padding;return[t.fontSize,t.fontFamily,t.lineHeight,t.letterSpacing,e.left,e.right,e.top,e.bottom,t.showLineNumbers?1:0,t.lineNumberGap].join("|")}function pe(t,e,o){return o.advance(t," ",e.fontSize,e.fontFamily,0)*e.lineNumberGap}function me(t,e,o,i,r){if(!e.showLineNumbers)return 0;let s=String(Math.max(1,i));return o.advance(t,s,e.fontSize,e.fontFamily,0)+r}function W(t,e,o,i){let r=e.fontSize*e.lineHeight,s=e.showLineNumbers?pe(i,e,o):0,a=me(i,e,o,t.length,s),c=new Array(t.length),l=0;for(let b=0;b<t.length;b++){let w=0;for(let x of t[b].tokens)w+=o.advance(i,x.content,e.fontSize,e.fontFamily,e.letterSpacing);c[b]=w,w>l&&(l=w)}let f=l+a,u=t.length*r,d=f+e.padding.left+e.padding.right,h=u+e.padding.top+e.padding.bottom,p=-d/2+e.padding.left+a,g=h/2-e.padding.top,m=new Map,y=new Array(t.length),k=new Map;for(let b=0;b<t.length;b++){let w=g-b*r-r/2;y[b]=w,k.set(t[b].id,b);let x=p;for(let S of t[b].tokens)m.set(S.id,{x,y:w}),x+=o.advance(i,S.content,e.fontSize,e.fontFamily,e.letterSpacing)}return{tokens:m,lineY:y,lineW:c,lineIndex:k,gutter:a,gutterGap:s,innerW:f,innerH:u,blockW:d,blockH:h,startX:p}}import{Graphics2D as rt,parseColor as ye,lerpNumber as L}from"@motionscript/sdk";var we=[.82,.84,.86,1],ke=[.45,.5,.55,1],vt=new Map;function nt(t){if(!t)return we;let e=vt.get(t);return e||(e=ye(t),vt.set(t,e)),e}function Tt(t,e,o){return o<=0?t:o>=1?e:[t[0]+(e[0]-t[0])*o,t[1]+(e[1]-t[1])*o,t[2]+(e[2]-t[2])*o,t[3]+(e[3]-t[3])*o]}function be(t,e,o){if(!o)return 1;let i=1;for(let r of t.tokens){if(r.content.length===0)continue;let s=e.get(r.id)?.opacity??1;s<i&&(i=s)}return i}function it(t,e){let{tokenLines:o,metrics:i,advanceCache:r,from:s,to:a,edit:c,tokenStates:l}=e,f=c?c.progress:1,u=c?R(c.phases.out,f):1,d=B(c),h=c?R(c.phases.in,f):1,p=c?L(s.blockW,a.blockW,d):a.blockW,g=c?L(s.gutter,a.gutter,d):a.gutter,m=a.gutterGap||s.gutterGap,y=-p/2+i.padding.left+g-m;xe(t,e,Math.max(p,e.boxW??0),d);let k=(w,x,S)=>{if(S<=0)return;let C=r.advance(t,w,i.fontSize,i.fontFamily,0);t.draw(new rt().text({text:w,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,x:y-C/2,y:x,textAlign:"left"}).fill([{type:"solid",color:ke,opacity:S}]))},b=(w,x,S,C,A)=>{if(A<=0||w.length===0)return;let v=r.advance(t,w,i.fontSize,i.fontFamily,i.letterSpacing);t.draw(new rt().text({text:w,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,x:x+v/2,y:S,textAlign:"left"}).fill([{type:"solid",color:C,opacity:A}]))};for(let w=0;w<o.length;w++){let x=o[w],S=a.lineIndex.get(x.id);if(S===void 0)continue;let C=a.lineY[S],A=c?.enteringLineIds.has(x.id)??!1,v=C,F=1;if(c&&A)F=h;else if(c){let I=s.lineIndex.get(x.id);I!==void 0&&(v=L(s.lineY[I],C,d))}for(let I of x.tokens){let Z=a.tokens.get(I.id);if(!Z)continue;let kt=Z.x,bt=F,tt=nt(I.color);if(c&&!A)if(c.addedIds.has(I.id))bt=h;else{let xt=s.tokens.get(I.id);xt&&(kt=L(xt.x,Z.x,d)),c.fromColorById.has(I.id)&&(tt=Tt(nt(c.fromColorById.get(I.id)),tt,d))}b(I.content,kt,v,tt,bt*(l.get(I.id)?.opacity??1))}}if(c&&u<1)for(let w=0;w<c.from.length;w++){let x=c.from[w],S=s.lineIndex.get(x.id);if(S===void 0)continue;let C=a.lineIndex.get(x.id),A=C===void 0?s.lineY[S]:L(s.lineY[S],a.lineY[C],d);for(let v of x.tokens){if(!c.removedIds.has(v.id))continue;let F=s.tokens.get(v.id);F&&b(v.content,F.x,A,nt(v.color),1-u)}}i.showLineNumbers&&Se(e,k,d,h,u)}function ot(t,e,o){let{from:i,to:r,metrics:s}=e,a=s.fontSize*s.lineHeight/2,c=u=>{let d=r.lineIndex.get(u),h=i.lineIndex.get(u);return d!==void 0&&h!==void 0?L(i.lineY[h],r.lineY[d],o):d!==void 0?r.lineY[d]:h===void 0?null:i.lineY[h]},l=c(t.startId),f=c(t.endId);return l===null&&f===null?null:{top:(l??f)+a,bottom:(f??l)-a}}function xe(t,e,o,i){let{rowBands:r=[],rowsEdit:s=null}=e,a=(l,f,u,d,h)=>{h<=0||l<=f||t.draw(new rt().rect({x:0,y:(l+f)/2,width:o,height:l-f,cornerRadius:d}).fill([{type:"solid",color:u,opacity:h}]))};if(!s){for(let l of r){let f=ot(l,e,i);f&&a(f.top,f.bottom,l.color,l.radius,1)}return}let c=s.progress;for(let l=0;l<Math.max(s.from.length,s.to.length);l++){let f=s.from[l],u=s.to[l],d=f?ot(f,e,i):null,h=u?ot(u,e,i):null;d&&h?a(L(d.top,h.top,c),L(d.bottom,h.bottom,c),Tt(f.color,u.color,c),L(f.radius,u.radius,c),1):d?a(d.top,d.bottom,f.color,f.radius,1-c):h&&a(h.top,h.bottom,u.color,u.radius,c)}}function Se(t,e,o,i,r){let{tokenLines:s,from:a,to:c,edit:l,tokenStates:f,highlightActive:u}=t,d=s.length,h=l?l.from.length:d;for(let p=0;p<Math.max(h,d);p++){let g=p<h,m=p<d,y=m?s[p]:l?.from[p],k=y?be(y,f,u):1;l?g&&m?e(String(p+1),L(a.lineY[p],c.lineY[p],o),k):m?e(String(p+1),c.lineY[p],i*k):e(String(p+1),a.lineY[p],(1-r)*k):e(String(p+1),c.lineY[p],k)}}function $(t){return t.content.trim().length}function Mt(t){let e=0;for(let o of t.tokens)e+=$(o);return e}function Ne(t,e){let o=Mt(t),i=Mt(e);if(o===0&&i===0)return 1;if(o===0||i===0)return 0;let r=new Map;for(let a of t.tokens)$(a)!==0&&r.set(a.content,(r.get(a.content)??0)+1);let s=0;for(let a of e.tokens){let c=$(a);if(c===0)continue;let l=r.get(a.content)??0;l>0&&(r.set(a.content,l-1),s+=c)}return 2*s/(o+i)}function At(t,e,o){let i=e+1,r=new Float64Array((t+1)*i),s=new Float64Array(t*e);for(let f=1;f<=t;f++)for(let u=1;u<=e;u++){let d=o(f-1,u-1);s[(f-1)*e+(u-1)]=d;let h=r[(f-1)*i+u],p=r[f*i+(u-1)],g=h>p?h:p;if(d>0){let m=r[(f-1)*i+(u-1)]+d;m>g&&(g=m)}r[f*i+u]=g}let a=[],c=t,l=e;for(;c>0&&l>0;){let f=s[(c-1)*e+(l-1)];f>0&&r[c*i+l]===r[(c-1)*i+(l-1)]+f?(a.push([c-1,l-1]),c--,l--):r[(c-1)*i+l]>=r[c*i+(l-1)]?c--:l--}return a.reverse(),a}function Ie(t,e){return At(t.length,e.length,(o,i)=>t[o].content!==e[i].content?0:$(e[i])||.25)}function Le(t,e){if(t.tokens.length!==e.tokens.length)return!1;for(let o=0;o<t.tokens.length;o++)if(t.tokens[o].content!==e.tokens[o].content)return!1;return!0}function Et(t){let e="";for(let o of t.tokens)e+=o.content+"";return e}function Ce(t,e){let o=t.map(Et),i=e.map(Et),r=[],s=0;for(;s<t.length&&s<e.length&&o[s]===i[s];)r.push([s,s]),s++;let a=0;for(;a<t.length-s&&a<e.length-s&&o[t.length-1-a]===i[e.length-1-a];)a++;let c=ve(o,i,s,t.length-a,s,e.length-a),l=16e4,f=s,u=s;for(let[d,h]of[...c,[t.length-a,e.length-a]]){let p=d-f,g=h-u,m=p*g;if(m>0&&m<=4e4&&m<=l){l-=m;for(let[y,k]of At(p,g,(b,w)=>Ne(t[f+b],e[u+w])-.45))r.push([f+y,u+k])}d<t.length-a&&r.push([d,h]),f=d+1,u=h+1}for(let d=a;d>0;d--)r.push([t.length-d,e.length-d]);return r}function ve(t,e,o,i,r,s){let a=new Map,c=new Set;for(let g=o;g<i;g++){let m=t[g];c.has(m)?a.delete(m):a.set(m,g),c.add(m)}let l=new Map,f=new Set;for(let g=r;g<s;g++){let m=e[g];f.has(m)?l.delete(m):l.set(m,g),f.add(m)}let u=[];for(let g=r;g<s;g++){let m=a.get(e[g]);m!==void 0&&l.get(e[g])===g&&e[g].replaceAll("","").trim()!==""&&u.push([m,g])}let d=[],h=new Array(u.length).fill(-1);for(let g=0;g<u.length;g++){let m=0,y=d.length;for(;m<y;){let k=m+y>>1;u[d[k]][0]<u[g][0]?m=k+1:y=k}m>0&&(h[g]=d[m-1]),d[m]=g}let p=[];for(let g=d.length>0?d[d.length-1]:-1;g>=0;g=h[g])p.push(u[g]);return p.reverse()}function st(t,e){let o=new Set,i=new Set,r=new Set,s=new Map,a=Ce(t,e),c=new Set,l=new Set;for(let[f,u]of a){l.add(f),c.add(u);let d=t[f],h=e[u];h.id=d.id;let p=Le(d,h)?d.tokens.map((y,k)=>[k,k]):Ie(d.tokens,h.tokens),g=new Set,m=new Set;for(let[y,k]of p){g.add(y),m.add(k);let b=d.tokens[y],w=h.tokens[k];w.id=b.id,b.color!==w.color&&s.set(b.id,b.color)}for(let y=0;y<d.tokens.length;y++)g.has(y)||o.add(d.tokens[y].id);for(let y=0;y<h.tokens.length;y++)m.has(y)||i.add(h.tokens[y].id)}for(let f=0;f<t.length;f++)if(!l.has(f))for(let u of t[f].tokens)o.add(u.id);for(let f=0;f<e.length;f++)if(!c.has(f)){r.add(e[f].id);for(let u of e[f].tokens)i.add(u.id)}return{lines:e,removedIds:o,addedIds:i,newLineIds:r,fromColorById:s}}var T={name:"motion-canvas-default",defaultColor:"#d8dee9",rules:[{tag:n.keyword,color:"#5e81ac"},{tag:[n.name,n.deleted,n.character,n.propertyName,n.macroName],color:"#88c0d0"},{tag:[n.variableName],color:"#8fbcbb"},{tag:[n.function(n.variableName)],color:"#8fbcbb"},{tag:[n.labelName],color:"#81a1c1"},{tag:[n.color,n.constant(n.name),n.standard(n.name)],color:"#5e81ac"},{tag:[n.definition(n.name),n.separator],color:"#a3be8c"},{tag:[n.brace],color:"#8fbcbb"},{tag:[n.annotation],color:"#d30102"},{tag:[n.number,n.changed,n.annotation,n.modifier,n.self,n.namespace],color:"#b48ead"},{tag:[n.typeName,n.className],color:"#ECEFF4"},{tag:[n.operator,n.operatorKeyword],color:"#a3be8c"},{tag:[n.tagName],color:"#b48ead"},{tag:[n.squareBracket],color:"#ECEFF4"},{tag:[n.angleBracket],color:"#ECEFF4"},{tag:[n.attributeName],color:"#eceff4"},{tag:[n.regexp],color:"#5e81ac"},{tag:[n.quote],color:"#b48ead"},{tag:[n.string],color:"#a3be8c"},{tag:n.link,color:"#a3be8c"},{tag:[n.url,n.escape,n.special(n.string)],color:"#8fbcbb"},{tag:[n.meta],color:"#88c0d0"},{tag:[n.monospace],color:"#d8dee9"},{tag:[n.comment],color:"#4c566a"},{tag:n.strong,color:"#5e81ac"},{tag:n.emphasis,color:"#5e81ac"},{tag:n.heading,color:"#5e81ac"},{tag:n.special(n.heading1),color:"#5e81ac"},{tag:n.heading1,color:"#5e81ac"},{tag:[n.heading2,n.heading3,n.heading4],color:"#5e81ac"},{tag:[n.heading5,n.heading6],color:"#5e81ac"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#d08770"},{tag:[n.processingInstruction,n.inserted],color:"#8fbcbb"},{tag:[n.contentSeparator],color:"#ebcb8b"},{tag:n.invalid,color:"#434c5e"}]},Ht={name:"github-dark",defaultColor:"#c9d1d9",rules:[{tag:[n.standard(n.tagName),n.tagName],color:"#7ee787"},{tag:[n.comment,n.bracket],color:"#8b949e"},{tag:[n.className,n.propertyName],color:"#d2a8ff"},{tag:[n.variableName,n.attributeName,n.number,n.operator],color:"#79c0ff"},{tag:[n.keyword,n.typeName,n.typeOperator],color:"#ff7b72"},{tag:[n.string,n.meta,n.regexp],color:"#a5d6ff"},{tag:[n.name,n.quote],color:"#7ee787"},{tag:[n.heading,n.strong],color:"#d2a8ff"},{tag:[n.emphasis],color:"#d2a8ff"},{tag:[n.deleted],color:"#ffdcd7"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#ffab70"},{tag:n.invalid,color:"#f97583"}]},Ft={name:"github-light",defaultColor:"#24292e",rules:[{tag:[n.standard(n.tagName),n.tagName],color:"#116329"},{tag:[n.comment,n.bracket],color:"#6a737d"},{tag:[n.className,n.propertyName],color:"#6f42c1"},{tag:[n.variableName,n.attributeName,n.number,n.operator],color:"#005cc5"},{tag:[n.keyword,n.typeName,n.typeOperator],color:"#d73a49"},{tag:[n.string,n.meta,n.regexp],color:"#032f62"},{tag:[n.name,n.quote],color:"#22863a"},{tag:[n.heading,n.strong],color:"#24292e"},{tag:[n.emphasis],color:"#24292e"},{tag:[n.deleted],color:"#b31d28"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#e36209"},{tag:[n.url,n.escape,n.regexp,n.link],color:"#032f62"},{tag:n.invalid,color:"#cb2431"}]},_t={name:"vscode-dark",defaultColor:"#9cdcfe",rules:[{tag:[n.keyword,n.operatorKeyword,n.modifier,n.color,n.constant(n.name),n.standard(n.name),n.standard(n.tagName),n.special(n.brace),n.atom,n.bool,n.special(n.variableName)],color:"#569cd6"},{tag:[n.controlKeyword,n.moduleKeyword],color:"#c586c0"},{tag:[n.name,n.deleted,n.character,n.macroName,n.propertyName,n.variableName,n.labelName,n.definition(n.name)],color:"#9cdcfe"},{tag:n.heading,color:"#9cdcfe"},{tag:[n.typeName,n.className,n.tagName,n.changed,n.annotation,n.self,n.namespace],color:"#4ec9b0"},{tag:[n.function(n.variableName),n.function(n.propertyName)],color:"#dcdcaa"},{tag:[n.number],color:"#b5cea8"},{tag:[n.operator,n.punctuation,n.separator,n.url,n.escape],color:"#d4d4d4"},{tag:[n.regexp],color:"#d16969"},{tag:[n.special(n.string),n.processingInstruction,n.string,n.inserted],color:"#ce9178"},{tag:[n.angleBracket],color:"#808080"},{tag:[n.meta,n.comment],color:"#6a9955"},{tag:n.link,color:"#6a9955"},{tag:n.invalid,color:"#ff0000"}]},Dt={name:"vscode-light",defaultColor:"#383a42",rules:[{tag:[n.keyword,n.operatorKeyword,n.modifier,n.color,n.constant(n.name),n.standard(n.name),n.standard(n.tagName),n.special(n.brace),n.atom,n.bool,n.special(n.variableName)],color:"#0000ff"},{tag:[n.moduleKeyword,n.controlKeyword],color:"#af00db"},{tag:[n.name,n.deleted,n.character,n.macroName,n.propertyName,n.variableName,n.labelName,n.definition(n.name)],color:"#0070c1"},{tag:n.heading,color:"#0070c1"},{tag:[n.typeName,n.className,n.tagName,n.changed,n.annotation,n.self,n.namespace],color:"#267f99"},{tag:[n.function(n.variableName),n.function(n.propertyName)],color:"#795e26"},{tag:[n.number],color:"#098658"},{tag:[n.operator,n.punctuation,n.separator,n.url,n.escape],color:"#383a42"},{tag:[n.regexp],color:"#af00db"},{tag:[n.special(n.string),n.processingInstruction,n.string,n.inserted],color:"#a31515"},{tag:[n.angleBracket],color:"#383a42"},{tag:[n.meta,n.comment],color:"#008000"},{tag:n.link,color:"#4078f2"},{tag:n.invalid,color:"#e45649"}]},Y={"motion-canvas-default":T,"github-dark":Ht,"github-light":Ft,"vscode-dark":_t,"vscode-light":Dt},Ot=new WeakMap;function at(t){let e=Ot.get(t);if(e)return e;let o=St(t.rules.map(i=>({tag:i.tag,class:i.color})));return Ot.set(t,o),o}var Gt={typescript:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"ts"}),tsx:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"ts jsx"}),javascript:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser,jsx:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"jsx"}),python:async()=>(await import("./chunks/dist-W5ZXIMV7.js")).parser,json:async()=>(await import("./chunks/dist-3F5TQHM6.js")).parser,html:async()=>(await import("./chunks/dist-OXJDTPQ6.js")).parser,css:async()=>(await import("./chunks/dist-N4CNBNHL.js")).parser,rust:async()=>(await import("./chunks/dist-GPNEVCJI.js")).parser,go:async()=>(await import("./chunks/dist-FQDUBZKU.js")).parser,java:async()=>(await import("./chunks/dist-AQRNACF3.js")).parser,cpp:async()=>(await import("./chunks/dist-3SIR23P4.js")).parser,php:async()=>(await import("./chunks/dist-LRSXSDHT.js")).parser,markdown:async()=>(await import("./chunks/dist-FH6BHJ6A.js")).parser,xml:async()=>(await import("./chunks/dist-SH7H4MRK.js")).parser,yaml:async()=>(await import("./chunks/dist-UG3NTKWL.js")).parser},jt={ts:"typescript",js:"javascript",py:"python","c++":"cpp",md:"markdown",yml:"yaml",shell:"javascript"},Te=new Set(["","text","plaintext"]),zt=new Set;function lt(t,e,o){let i=`${t}:${e}`;zt.has(i)||(zt.add(i),console.warn(`[Code] ${o}`))}function N(t){return t.indexOf("\r")===-1?t:t.replace(/\r\n?/g,`
|
|
2
|
-
`)}function P(t){let e=t.toLowerCase();return
|
|
3
|
-
`).map(l=>[{content:l,color:i.defaultColor}]);let c=0;for(let l of
|
|
4
|
-
`,
|
|
5
|
-
`).map(i=>
|
|
6
|
-
`).map(a=>a.length),s=0;for(;;){let a=i.indexOf(e,s);if(a===-1)break;o.push(
|
|
1
|
+
import{j as xt,k as St,l as n}from"./chunks/chunk-SYZUZB3M.js";import{Graphics2D as ut,Paint as Ge,Types as M,component2d as ze,lerpNumber as Ut}from"@motionscript/sdk";function fe(t,e,o){if(o<=t[0])return e[0];if(o>=t[t.length-1])return e[e.length-1];for(let i=0;i<t.length-1;i++)if(o<=t[i+1]){let r=t[i+1]-t[i],s=r===0?0:(o-t[i])/r;return e[i]+(e[i+1]-e[i])*s}return e[e.length-1]}function R(t,e){if(!t)return 1;let[o,i]=t;return e<=o?0:e>=i||i===o?1:(e-o)/(i-o)}function ue(t){return t*t*(3-2*t)}function et(t,e){return{id:t,opacity:e.values,opacityKeys:e.keys}}function Nt(t,e){return t&&e?{out:[0,.38],move:[.1,.68],in:[.52,1]}:t?{out:[0,.45],move:[.22,1],in:null}:e?{out:null,move:[0,.55],in:[.38,1]}:{out:null,move:[0,1],in:null}}function B(t){return t?ue(R(t.phases.move,t.progress)):1}function It(t,e,o,i){let r=new Map;if(o!==null){let s=o;for(let a of t)for(let c of a.tokens)r.set(c.id,{opacity:i.has(c.id)?1:s})}for(let s of e)if(s.kind==="dim")for(let a of s.tokens)r.set(a.id,{opacity:fe(a.opacityKeys,a.opacity,s.progress)});return r}function Lt(t){let e=t.padding;return[t.fontSize,t.fontFamily,t.lineHeight,t.letterSpacing,e.left,e.right,e.top,e.bottom,t.showLineNumbers?1:0,t.lineNumberGap].join("|")}function ge(t,e,o){return o.advance(t," ",e.fontSize,e.fontFamily,0)*e.lineNumberGap}function he(t,e,o,i,r){if(!e.showLineNumbers)return 0;let s=String(Math.max(1,i));return o.advance(t,s,e.fontSize,e.fontFamily,0)+r}function W(t,e,o,i){let r=e.fontSize*e.lineHeight,s=e.showLineNumbers?ge(i,e,o):0,a=he(i,e,o,t.length,s),c=new Array(t.length),l=0;for(let b=0;b<t.length;b++){let w=0;for(let x of t[b].tokens)w+=o.advance(i,x.content,e.fontSize,e.fontFamily,e.letterSpacing);c[b]=w,w>l&&(l=w)}let d=l+a,u=t.length*r,f=d+e.padding.left+e.padding.right,h=u+e.padding.top+e.padding.bottom,p=-f/2+e.padding.left+a,g=h/2-e.padding.top,m=new Map,y=new Array(t.length),k=new Map;for(let b=0;b<t.length;b++){let w=g-b*r-r/2;y[b]=w,k.set(t[b].id,b);let x=p;for(let S of t[b].tokens)m.set(S.id,{x,y:w}),x+=o.advance(i,S.content,e.fontSize,e.fontFamily,e.letterSpacing)}return{tokens:m,lineY:y,lineW:c,lineIndex:k,gutter:a,gutterGap:s,innerW:d,innerH:u,blockW:f,blockH:h,startX:p}}import{Graphics2D as rt,parseColor as pe,lerpNumber as L}from"@motionscript/sdk";var me=[.82,.84,.86,1],ye=[.45,.5,.55,1],Ct=new Map;function nt(t){if(!t)return me;let e=Ct.get(t);return e||(e=pe(t),Ct.set(t,e)),e}function vt(t,e,o){return o<=0?t:o>=1?e:[t[0]+(e[0]-t[0])*o,t[1]+(e[1]-t[1])*o,t[2]+(e[2]-t[2])*o,t[3]+(e[3]-t[3])*o]}function we(t,e,o){if(!o)return 1;let i=1;for(let r of t.tokens){if(r.content.length===0)continue;let s=e.get(r.id)?.opacity??1;s<i&&(i=s)}return i}function it(t,e){let{tokenLines:o,metrics:i,advanceCache:r,from:s,to:a,edit:c,tokenStates:l}=e,d=c?c.progress:1,u=c?R(c.phases.out,d):1,f=B(c),h=c?R(c.phases.in,d):1,p=c?L(s.blockW,a.blockW,f):a.blockW,g=c?L(s.gutter,a.gutter,f):a.gutter,m=a.gutterGap||s.gutterGap,y=-p/2+i.padding.left+g-m;ke(t,e,Math.max(p,e.boxW??0),f);let k=(w,x,S)=>{if(S<=0)return;let C=r.advance(t,w,i.fontSize,i.fontFamily,0);t.draw(new rt().text({text:w,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,x:y-C/2,y:x,textAlign:"left"}).fill([{type:"solid",color:ye,opacity:S}]))},b=(w,x,S,C,A)=>{if(A<=0||w.length===0)return;let v=r.advance(t,w,i.fontSize,i.fontFamily,i.letterSpacing);t.draw(new rt().text({text:w,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,x:x+v/2,y:S,textAlign:"left"}).fill([{type:"solid",color:C,opacity:A}]))};for(let w=0;w<o.length;w++){let x=o[w],S=a.lineIndex.get(x.id);if(S===void 0)continue;let C=a.lineY[S],A=c?.enteringLineIds.has(x.id)??!1,v=C,F=1;if(c&&A)F=h;else if(c){let I=s.lineIndex.get(x.id);I!==void 0&&(v=L(s.lineY[I],C,f))}for(let I of x.tokens){let Z=a.tokens.get(I.id);if(!Z)continue;let wt=Z.x,kt=F,tt=nt(I.color);if(c&&!A)if(c.addedIds.has(I.id))kt=h;else{let bt=s.tokens.get(I.id);bt&&(wt=L(bt.x,Z.x,f)),c.fromColorById.has(I.id)&&(tt=vt(nt(c.fromColorById.get(I.id)),tt,f))}b(I.content,wt,v,tt,kt*(l.get(I.id)?.opacity??1))}}if(c&&u<1)for(let w=0;w<c.from.length;w++){let x=c.from[w],S=s.lineIndex.get(x.id);if(S===void 0)continue;let C=a.lineIndex.get(x.id),A=C===void 0?s.lineY[S]:L(s.lineY[S],a.lineY[C],f);for(let v of x.tokens){if(!c.removedIds.has(v.id))continue;let F=s.tokens.get(v.id);F&&b(v.content,F.x,A,nt(v.color),1-u)}}i.showLineNumbers&&be(e,k,f,h,u)}function ot(t,e,o){let{from:i,to:r,metrics:s}=e,a=s.fontSize*s.lineHeight/2,c=u=>{let f=r.lineIndex.get(u),h=i.lineIndex.get(u);return f!==void 0&&h!==void 0?L(i.lineY[h],r.lineY[f],o):f!==void 0?r.lineY[f]:h===void 0?null:i.lineY[h]},l=c(t.startId),d=c(t.endId);return l===null&&d===null?null:{top:(l??d)+a,bottom:(d??l)-a}}function ke(t,e,o,i){let{rowBands:r=[],rowsEdit:s=null}=e,a=(l,d,u,f,h)=>{h<=0||l<=d||t.draw(new rt().rect({x:0,y:(l+d)/2,width:o,height:l-d,cornerRadius:f}).fill([{type:"solid",color:u,opacity:h}]))};if(!s){for(let l of r){let d=ot(l,e,i);d&&a(d.top,d.bottom,l.color,l.radius,1)}return}let c=s.progress;for(let l=0;l<Math.max(s.from.length,s.to.length);l++){let d=s.from[l],u=s.to[l],f=d?ot(d,e,i):null,h=u?ot(u,e,i):null;f&&h?a(L(f.top,h.top,c),L(f.bottom,h.bottom,c),vt(d.color,u.color,c),L(d.radius,u.radius,c),1):f?a(f.top,f.bottom,d.color,d.radius,1-c):h&&a(h.top,h.bottom,u.color,u.radius,c)}}function be(t,e,o,i,r){let{tokenLines:s,from:a,to:c,edit:l,tokenStates:d,highlightActive:u}=t,f=s.length,h=l?l.from.length:f;for(let p=0;p<Math.max(h,f);p++){let g=p<h,m=p<f,y=m?s[p]:l?.from[p],k=y?we(y,d,u):1;l?g&&m?e(String(p+1),L(a.lineY[p],c.lineY[p],o),k):m?e(String(p+1),c.lineY[p],i*k):e(String(p+1),a.lineY[p],(1-r)*k):e(String(p+1),c.lineY[p],k)}}function $(t){return t.content.trim().length}function Mt(t){let e=0;for(let o of t.tokens)e+=$(o);return e}function xe(t,e){let o=Mt(t),i=Mt(e);if(o===0&&i===0)return 1;if(o===0||i===0)return 0;let r=new Map;for(let a of t.tokens)$(a)!==0&&r.set(a.content,(r.get(a.content)??0)+1);let s=0;for(let a of e.tokens){let c=$(a);if(c===0)continue;let l=r.get(a.content)??0;l>0&&(r.set(a.content,l-1),s+=c)}return 2*s/(o+i)}function Ot(t,e,o){let i=e+1,r=new Float64Array((t+1)*i),s=new Float64Array(t*e);for(let d=1;d<=t;d++)for(let u=1;u<=e;u++){let f=o(d-1,u-1);s[(d-1)*e+(u-1)]=f;let h=r[(d-1)*i+u],p=r[d*i+(u-1)],g=h>p?h:p;if(f>0){let m=r[(d-1)*i+(u-1)]+f;m>g&&(g=m)}r[d*i+u]=g}let a=[],c=t,l=e;for(;c>0&&l>0;){let d=s[(c-1)*e+(l-1)];d>0&&r[c*i+l]===r[(c-1)*i+(l-1)]+d?(a.push([c-1,l-1]),c--,l--):r[(c-1)*i+l]>=r[c*i+(l-1)]?c--:l--}return a.reverse(),a}function Se(t,e){return Ot(t.length,e.length,(o,i)=>t[o].content!==e[i].content?0:$(e[i])||.25)}function Ne(t,e){if(t.tokens.length!==e.tokens.length)return!1;for(let o=0;o<t.tokens.length;o++)if(t.tokens[o].content!==e.tokens[o].content)return!1;return!0}function Tt(t){let e="";for(let o of t.tokens)e+=o.content+"";return e}function Ie(t,e){let o=t.map(Tt),i=e.map(Tt),r=[],s=0;for(;s<t.length&&s<e.length&&o[s]===i[s];)r.push([s,s]),s++;let a=0;for(;a<t.length-s&&a<e.length-s&&o[t.length-1-a]===i[e.length-1-a];)a++;let c=Le(o,i,s,t.length-a,s,e.length-a),l=16e4,d=s,u=s;for(let[f,h]of[...c,[t.length-a,e.length-a]]){let p=f-d,g=h-u,m=p*g;if(m>0&&m<=4e4&&m<=l){l-=m;for(let[y,k]of Ot(p,g,(b,w)=>xe(t[d+b],e[u+w])-.45))r.push([d+y,u+k])}f<t.length-a&&r.push([f,h]),d=f+1,u=h+1}for(let f=a;f>0;f--)r.push([t.length-f,e.length-f]);return r}function Le(t,e,o,i,r,s){let a=new Map,c=new Set;for(let g=o;g<i;g++){let m=t[g];c.has(m)?a.delete(m):a.set(m,g),c.add(m)}let l=new Map,d=new Set;for(let g=r;g<s;g++){let m=e[g];d.has(m)?l.delete(m):l.set(m,g),d.add(m)}let u=[];for(let g=r;g<s;g++){let m=a.get(e[g]);m!==void 0&&l.get(e[g])===g&&e[g].replaceAll("","").trim()!==""&&u.push([m,g])}let f=[],h=new Array(u.length).fill(-1);for(let g=0;g<u.length;g++){let m=0,y=f.length;for(;m<y;){let k=m+y>>1;u[f[k]][0]<u[g][0]?m=k+1:y=k}m>0&&(h[g]=f[m-1]),f[m]=g}let p=[];for(let g=f.length>0?f[f.length-1]:-1;g>=0;g=h[g])p.push(u[g]);return p.reverse()}function st(t,e){let o=new Set,i=new Set,r=new Set,s=new Map,a=Ie(t,e),c=new Set,l=new Set;for(let[d,u]of a){l.add(d),c.add(u);let f=t[d],h=e[u];h.id=f.id;let p=Ne(f,h)?f.tokens.map((y,k)=>[k,k]):Se(f.tokens,h.tokens),g=new Set,m=new Set;for(let[y,k]of p){g.add(y),m.add(k);let b=f.tokens[y],w=h.tokens[k];w.id=b.id,b.color!==w.color&&s.set(b.id,b.color)}for(let y=0;y<f.tokens.length;y++)g.has(y)||o.add(f.tokens[y].id);for(let y=0;y<h.tokens.length;y++)m.has(y)||i.add(h.tokens[y].id)}for(let d=0;d<t.length;d++)if(!l.has(d))for(let u of t[d].tokens)o.add(u.id);for(let d=0;d<e.length;d++)if(!c.has(d)){r.add(e[d].id);for(let u of e[d].tokens)i.add(u.id)}return{lines:e,removedIds:o,addedIds:i,newLineIds:r,fromColorById:s}}var O={name:"motion-canvas-default",defaultColor:"#d8dee9",rules:[{tag:n.keyword,color:"#5e81ac"},{tag:[n.name,n.deleted,n.character,n.propertyName,n.macroName],color:"#88c0d0"},{tag:[n.variableName],color:"#8fbcbb"},{tag:[n.function(n.variableName)],color:"#8fbcbb"},{tag:[n.labelName],color:"#81a1c1"},{tag:[n.color,n.constant(n.name),n.standard(n.name)],color:"#5e81ac"},{tag:[n.definition(n.name),n.separator],color:"#a3be8c"},{tag:[n.brace],color:"#8fbcbb"},{tag:[n.annotation],color:"#d30102"},{tag:[n.number,n.changed,n.annotation,n.modifier,n.self,n.namespace],color:"#b48ead"},{tag:[n.typeName,n.className],color:"#ECEFF4"},{tag:[n.operator,n.operatorKeyword],color:"#a3be8c"},{tag:[n.tagName],color:"#b48ead"},{tag:[n.squareBracket],color:"#ECEFF4"},{tag:[n.angleBracket],color:"#ECEFF4"},{tag:[n.attributeName],color:"#eceff4"},{tag:[n.regexp],color:"#5e81ac"},{tag:[n.quote],color:"#b48ead"},{tag:[n.string],color:"#a3be8c"},{tag:n.link,color:"#a3be8c"},{tag:[n.url,n.escape,n.special(n.string)],color:"#8fbcbb"},{tag:[n.meta],color:"#88c0d0"},{tag:[n.monospace],color:"#d8dee9"},{tag:[n.comment],color:"#4c566a"},{tag:n.strong,color:"#5e81ac"},{tag:n.emphasis,color:"#5e81ac"},{tag:n.heading,color:"#5e81ac"},{tag:n.special(n.heading1),color:"#5e81ac"},{tag:n.heading1,color:"#5e81ac"},{tag:[n.heading2,n.heading3,n.heading4],color:"#5e81ac"},{tag:[n.heading5,n.heading6],color:"#5e81ac"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#d08770"},{tag:[n.processingInstruction,n.inserted],color:"#8fbcbb"},{tag:[n.contentSeparator],color:"#ebcb8b"},{tag:n.invalid,color:"#434c5e"}]},Et={name:"github-dark",defaultColor:"#c9d1d9",rules:[{tag:[n.standard(n.tagName),n.tagName],color:"#7ee787"},{tag:[n.comment,n.bracket],color:"#8b949e"},{tag:[n.className,n.propertyName],color:"#d2a8ff"},{tag:[n.variableName,n.attributeName,n.number,n.operator],color:"#79c0ff"},{tag:[n.keyword,n.typeName,n.typeOperator],color:"#ff7b72"},{tag:[n.string,n.meta,n.regexp],color:"#a5d6ff"},{tag:[n.name,n.quote],color:"#7ee787"},{tag:[n.heading,n.strong],color:"#d2a8ff"},{tag:[n.emphasis],color:"#d2a8ff"},{tag:[n.deleted],color:"#ffdcd7"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#ffab70"},{tag:n.invalid,color:"#f97583"}]},Ht={name:"github-light",defaultColor:"#24292e",rules:[{tag:[n.standard(n.tagName),n.tagName],color:"#116329"},{tag:[n.comment,n.bracket],color:"#6a737d"},{tag:[n.className,n.propertyName],color:"#6f42c1"},{tag:[n.variableName,n.attributeName,n.number,n.operator],color:"#005cc5"},{tag:[n.keyword,n.typeName,n.typeOperator],color:"#d73a49"},{tag:[n.string,n.meta,n.regexp],color:"#032f62"},{tag:[n.name,n.quote],color:"#22863a"},{tag:[n.heading,n.strong],color:"#24292e"},{tag:[n.emphasis],color:"#24292e"},{tag:[n.deleted],color:"#b31d28"},{tag:[n.atom,n.bool,n.special(n.variableName)],color:"#e36209"},{tag:[n.url,n.escape,n.regexp,n.link],color:"#032f62"},{tag:n.invalid,color:"#cb2431"}]},Ft={name:"vscode-dark",defaultColor:"#9cdcfe",rules:[{tag:[n.keyword,n.operatorKeyword,n.modifier,n.color,n.constant(n.name),n.standard(n.name),n.standard(n.tagName),n.special(n.brace),n.atom,n.bool,n.special(n.variableName)],color:"#569cd6"},{tag:[n.controlKeyword,n.moduleKeyword],color:"#c586c0"},{tag:[n.name,n.deleted,n.character,n.macroName,n.propertyName,n.variableName,n.labelName,n.definition(n.name)],color:"#9cdcfe"},{tag:n.heading,color:"#9cdcfe"},{tag:[n.typeName,n.className,n.tagName,n.changed,n.annotation,n.self,n.namespace],color:"#4ec9b0"},{tag:[n.function(n.variableName),n.function(n.propertyName)],color:"#dcdcaa"},{tag:[n.number],color:"#b5cea8"},{tag:[n.operator,n.punctuation,n.separator,n.url,n.escape],color:"#d4d4d4"},{tag:[n.regexp],color:"#d16969"},{tag:[n.special(n.string),n.processingInstruction,n.string,n.inserted],color:"#ce9178"},{tag:[n.angleBracket],color:"#808080"},{tag:[n.meta,n.comment],color:"#6a9955"},{tag:n.link,color:"#6a9955"},{tag:n.invalid,color:"#ff0000"}]},_t={name:"vscode-light",defaultColor:"#383a42",rules:[{tag:[n.keyword,n.operatorKeyword,n.modifier,n.color,n.constant(n.name),n.standard(n.name),n.standard(n.tagName),n.special(n.brace),n.atom,n.bool,n.special(n.variableName)],color:"#0000ff"},{tag:[n.moduleKeyword,n.controlKeyword],color:"#af00db"},{tag:[n.name,n.deleted,n.character,n.macroName,n.propertyName,n.variableName,n.labelName,n.definition(n.name)],color:"#0070c1"},{tag:n.heading,color:"#0070c1"},{tag:[n.typeName,n.className,n.tagName,n.changed,n.annotation,n.self,n.namespace],color:"#267f99"},{tag:[n.function(n.variableName),n.function(n.propertyName)],color:"#795e26"},{tag:[n.number],color:"#098658"},{tag:[n.operator,n.punctuation,n.separator,n.url,n.escape],color:"#383a42"},{tag:[n.regexp],color:"#af00db"},{tag:[n.special(n.string),n.processingInstruction,n.string,n.inserted],color:"#a31515"},{tag:[n.angleBracket],color:"#383a42"},{tag:[n.meta,n.comment],color:"#008000"},{tag:n.link,color:"#4078f2"},{tag:n.invalid,color:"#e45649"}]},Y={"motion-canvas-default":O,"github-dark":Et,"github-light":Ht,"vscode-dark":Ft,"vscode-light":_t},At=new WeakMap;function at(t){let e=At.get(t);if(e)return e;let o=xt(t.rules.map(i=>({tag:i.tag,class:i.color})));return At.set(t,o),o}var Gt={typescript:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"ts"}),tsx:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"ts jsx"}),javascript:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser,jsx:async()=>(await import("./chunks/dist-B46VH2YP.js")).parser.configure({dialect:"jsx"}),python:async()=>(await import("./chunks/dist-W5ZXIMV7.js")).parser,json:async()=>(await import("./chunks/dist-3F5TQHM6.js")).parser,html:async()=>(await import("./chunks/dist-OXJDTPQ6.js")).parser,css:async()=>(await import("./chunks/dist-N4CNBNHL.js")).parser,rust:async()=>(await import("./chunks/dist-GPNEVCJI.js")).parser,go:async()=>(await import("./chunks/dist-FQDUBZKU.js")).parser,java:async()=>(await import("./chunks/dist-AQRNACF3.js")).parser,cpp:async()=>(await import("./chunks/dist-3SIR23P4.js")).parser,php:async()=>(await import("./chunks/dist-LRSXSDHT.js")).parser,markdown:async()=>(await import("./chunks/dist-FH6BHJ6A.js")).parser,xml:async()=>(await import("./chunks/dist-SH7H4MRK.js")).parser,yaml:async()=>(await import("./chunks/dist-UG3NTKWL.js")).parser},Dt={ts:"typescript",js:"javascript",py:"python","c++":"cpp",md:"markdown",yml:"yaml",shell:"javascript"},Ce=new Set(["","text","plaintext"]),zt=new Set;function lt(t,e,o){let i=`${t}:${e}`;zt.has(i)||(zt.add(i),console.warn(`[Code] ${o}`))}function N(t){return t.indexOf("\r")===-1?t:t.replace(/\r\n?/g,`
|
|
2
|
+
`)}function P(t){let e=t.toLowerCase();return Dt[e]??e}var _=new Map,ct=new Map,jt=["typescript","javascript","json","python"],Rt=new Map(Object.entries(Y));function ve(t){Rt.set(t.name,t)}function K(t){if(typeof t!="string")return t;let e=Rt.get(t);return e||(lt("theme",t,`unknown theme "${t}"; using "${O.name}". Built-in themes: ${Object.keys(Y).join(", ")}; register others with registerCodeTheme.`),O)}function H(t=jt){let e=[];for(let o of t){let i=P(o);if(_.has(i))continue;let r=Gt[i];if(!r){Ce.has(i)||lt("language",i,`no grammar for language "${o}"; drawing it as plain text. Supported: ${Object.keys(Gt).join(", ")} (aliases: ${Object.keys(Dt).join(", ")}).`);continue}let s=ct.get(i);s||(s=r().then(a=>(_.set(i,a),a)).catch(a=>(lt("load",i,`could not load the "${o}" grammar; drawing it as plain text: ${a instanceof Error?a.message:String(a)}`),null)).finally(()=>ct.delete(i)),ct.set(i,s)),e.push(s)}return e.length===0?Promise.resolve():Promise.all(e).then(()=>{})}async function Me(t){await H([t])}async function Te(t=jt){await H(t)}function G(t){return _.has(P(t))}function Bt(t,e){return`${t}:${e}`}function Oe(t,e,o){let i=_.get(P(e));if(!i)return null;let r=i.parse(t),s=at(o),a=new Map;return St(r,s,(c,l,d)=>{let u=d;if(!u)return;let f=r.cursorAt(c,1);do a.set(Bt(f.from,f.to),u);while(f.next()&&f.to<=l)}),{tree:r,colorLookup:a}}function Ae(t,e){let o=e.tree.resolveInner(t,1),i=e.colorLookup.get(Bt(o.from,o.to));return i?{color:i,skipAhead:o.to-t}:{color:null,skipAhead:o.firstChild?0:o.to-t}}function Ee(t,e){let o=_.get(P(e));if(!o)return[t];let r=o.parse(t).cursor(),s=[],a=0;do r.node.firstChild||(r.from>a&&s.push(t.slice(a,r.from)),r.from<r.to&&s.push(t.slice(r.from,r.to)),a=r.to);while(r.next());return a<t.length&&s.push(t.slice(a)),s}function Wt(t,e,o=O){t=N(t);let i=K(o),r=Oe(t,e,i),s=[[]],a=()=>s.push([]);if(!r)return t.split(`
|
|
3
|
+
`).map(l=>[{content:l,color:i.defaultColor}]);let c=0;for(let l of Ee(t,e)){let d=0;for(;d<l.length;){let{color:u,skipAhead:f}=Ae(c+d,r),h=d+Math.max(f,1);h>l.length&&(h=l.length);let p=l.indexOf(`
|
|
4
|
+
`,d);p!==-1&&p<h&&(h=p);let g=l.slice(d,h);g.length>0&&s[s.length-1].push({content:g,color:u??i.defaultColor}),p===h&&(a(),h+=1),d=h}c+=l.length}return s}var He=1,Fe=1;function $t(t,e){return{id:He++,content:t,color:e}}function Yt(t){return{id:Fe++,tokens:t}}function dt(t,e,o){return t=N(t),G(e)?Wt(t,e,o).map(i=>Yt(i.map(r=>$t(r.content,r.color)))):(K(o),t.split(`
|
|
5
|
+
`).map(i=>Yt([$t(i,"#d1d5db")])))}var z=class{cache=new Map;sig="";signature(e,o){return`${e}|${o}`}sync(e){e!==this.sig&&(this.cache.clear(),this.sig=e)}advance(e,o,i,r,s){if(o.length===0)return 0;let a=`${o}\0${s}`,c=this.cache.get(a);if(c!==void 0)return c;let{width:l}=e.measureText(o,i,r,void 0,s);return this.cache.set(a,l),l}};function Pt(t,e,o){return{startLine:t,startCol:e,endLine:t,endCol:o===void 0?1/0:e+o}}function Kt(t,e){return{startLine:t,startCol:1,endLine:e??t,endCol:1/0}}var U=class t{list;constructor(e=[]){this.list=e}lines(e,o){return new t([...this.list,Kt(e,o)])}word(e,o,i){return new t([...this.list,Pt(e,o,i)])}*[Symbol.iterator](){yield*this.list}toJSON(){return this.list}},_e=new U;function D(t,e){if(e.length===0)return{start:0,end:0};let o=new Array(e.length),i=0;for(let y=0;y<e.length;y++)o[y]=i,i+=e[y]+1;let r=i>0?i-1:0,s=y=>Math.max(0,Math.min(e.length-1,y-1)),a=t.endLine??1/0,c=t.endCol??1/0,l=s(t.startLine),d=s(a),u=e[l],f=e[d],h=Math.max(0,Math.min(u,t.startCol-1)),p=c===1/0?f:Math.max(0,Math.min(f,c-1)),g=Math.min(r,o[l]+h),m=Math.min(r,o[d]+p);return{start:Math.min(g,m),end:Math.max(g,m)}}function ft(t,e,o){let i=0,r=1,s=1,a=1,c=1,l=!1;for(let d=0;d<o.length;d++){let u=i,f=i+o[d];if(!l&&t>=u&&t<=f&&(r=d+1,s=t-u+1,l=!0),e>=u&&e<=f){a=d+1,c=e-u+1;break}i=f+1}return{startLine:r,startCol:s,endLine:a,endCol:c}}var De="rgba(255, 255, 255, 0.12)",Vt=6,ee=new WeakMap,ne={dim:null,ids:new Set,fade:null},je={bands:[],fade:null};function V(t){return M.custom(t,{private:!0})}var q=M.custom(void 0,{kind:"selector"}),X=M.text("",{multiline:!0});function Re(t={}){let e={diff:t.diffStrategy??st,phases:t.phaseStrategy??Nt,edits:new WeakMap},o=(r,s)=>s?r.animate(s):r.wait(0),i=ze({key:"code",state:{code:M.custom("",{lerp:Ye}),language:"typescript",fontFamily:"Fira Mono",theme:M.custom(O.name),fontSize:16,lineHeight:1.6,letterSpacing:1.1,showLineNumbers:!1,lineNumberGap:2,listing:V(null),edit:V(null),focus:V(ne),banding:V(je)},defaults:{width:"hug",height:"hug"},allowedChildren:[],load:(r,s)=>{r.font(s.fontFamily),r.task(`shiki:lang:${s.language}`,nn(s.language),{before:"layout"})},commands:{append:{args:{code:X},run:(r,s)=>{let a=T(s,e);return o(r,j(e,a,a.source+r.args.code,E(s)))}},prepend:{args:{code:X},run:(r,s)=>{let a=T(s,e);return o(r,j(e,a,r.args.code+a.source,E(s)))}},insert:{args:{position:M.custom(void 0,{kind:"point",properties:{line:{kind:"number",default:1,min:1,step:1},col:{kind:"number",default:1,min:1,step:1}}}),code:X},run:(r,s)=>{let a=T(s,e),c=Ze(a.lines,r.args.position),l=a.source.slice(0,c)+r.args.code+a.source.slice(c);return o(r,j(e,a,l,E(s)))}},remove:{args:{target:q},run:(r,s)=>o(r,Xe(e,s,r.args.target))},replace:{args:{target:q,replacement:X},run:(r,s)=>{let a=T(s,e),{start:c,end:l}=D(r.args.target,Q(a.lines)),d=a.source.slice(0,c)+r.args.replacement+a.source.slice(l);return o(r,j(e,a,d,E(s)))}},highlight:{args:{target:q,dim:M.number(.4,{min:0,max:1,step:.01,scale:100,unit:"%"})},run:(r,s)=>o(r,Je(e,s,r.args.target,r.args.dim))},resetHighlight:(r,s)=>o(r,Qe(e,s)),highlightRows:{args:{target:q,color:M.color(De),radius:M.number(Vt,{min:0,step:1})},run:(r,s)=>{let a=T(s,e),c=en(a.lines,ae(r.args.target),r.args.color,Math.max(0,r.args.radius??Vt));return o(r,Qt(a,s.banding.bands,c))}},resetRowHighlight:(r,s)=>o(r,Qt(T(s,e),s.banding.bands,[]))},measure:(r,s)=>on(r,s,e),render:(r,s)=>r.textStyle(null,()=>an(r,s,e))});return ee.set(i.node,e),i}var oe=Re();function zn(t){let e=ee.get(t.constructor);if(!e)throw new TypeError("listingOf takes a node a `Code` component built.");let o=ht(t,e);return{source:o.source,lines:o.lines,edit:re(o)}}function Be(t,e){let o=[];if(!e)return o;let i=N(J(t)),r=i.split(`
|
|
6
|
+
`).map(a=>a.length),s=0;for(;;){let a=i.indexOf(e,s);if(a===-1)break;o.push(ft(a,a+e.length,r)),s=a+Math.max(1,e.length)}return o}function We(t,e,o){return Be(t,e)[o]??null}function Dn(t,e){return We(t,e,0)}function ht(t,e){let o=t.code;if(typeof o!="string"){let{transition:r}=ie(gt(t,o.from,e),o.to,E(t),e);return{source:o.to,lines:r.to,transition:r,progress:o.t}}if(t.edit)return{source:N(o),lines:t.edit.transition.to,transition:t.edit.transition,progress:t.edit.progress};let i=gt(t,N(o),e);return{source:i.source,lines:i.lines,transition:null,progress:1}}function re(t){return t.transition?{...t.transition,progress:t.progress}:null}function T(t,e){return gt(t,N(J(t.code)),e)}function gt(t,e,o){let i=E(t),r=t.listing;return r?r.source!==e?ie(r,e,i,o).listing:$e(r.basis,i)?r:r.basis.language===i.language&&r.basis.highlighted===i.highlighted?Ue(r,i):qt(e,i):qt(e,i)}function E(t){return{language:t.language,theme:t.theme,highlighted:G(t.language)}}function $e(t,e){return t.language===e.language&&t.theme===e.theme&&t.highlighted===e.highlighted}function J(t){return typeof t=="string"?t:t.to}function Ye(t,e,o){let i=J(t),r=J(e),s=N(i),a=N(r);return s===a?o>=1?r:i:o<=0?s:o>=1?a:{from:s,to:a,t:o}}var Pe=new Map,Ke=256;function qt(t,e){return yt(Pe,mt(e),t,Ke,()=>({source:t,lines:pt(t,e),basis:e}))}var Xt=new WeakMap;function Ue(t,e){let o=Xt.get(t.lines);return o||Xt.set(t.lines,o=new Map),yt(o,mt(e),t.source,4,()=>{let i=pt(t.source,e);return qe(t.lines,i),{source:t.source,lines:i,basis:e}})}function ie(t,e,o,i){let r=i.edits.get(t.lines);return r||i.edits.set(t.lines,r=new Map),yt(r,mt(o),e,16,()=>se(i,t.lines,e,o))}function se(t,e,o,i){let r=t.diff(e,pt(o,i));return{transition:{kind:"structural",from:e,to:r.lines,removedIds:r.removedIds,addedIds:r.addedIds,enteringLineIds:r.newLineIds,fromColorById:r.fromColorById,phases:t.phases(r.removedIds.size>0,r.addedIds.size>0),progress:0,layoutKey:null,fromLayout:null,toLayout:null},listing:{source:o,lines:r.lines,basis:i}}}function pt(t,e){return e.highlighted||H([e.language]).catch(()=>{}),dt(t,e.language,e.theme)}var Jt=new WeakMap,Ve=1;function mt(t){let e;if(typeof t.theme=="string")e=`name:${t.theme}`;else{let o=Jt.get(t.theme);o===void 0&&Jt.set(t.theme,o=Ve++),e=`style:${o}`}return`${t.language}
|
|
7
7
|
${t.highlighted?1:0}
|
|
8
|
-
${e}`}function
|
|
8
|
+
${e}`}function yt(t,e,o,i,r){let s=t.get(e);s||t.set(e,s=new Map);let a=s.get(o);if(a!==void 0)return s.delete(o),s.set(o,a),a;let c=r();return s.set(o,c),s.size>i&&s.delete(s.keys().next().value),c}function qe(t,e){if(t.length===e.length){for(let o=0;o<t.length;o++){let i=t[o].tokens,r=e[o].tokens;if(i.length!==r.length)return;for(let s=0;s<i.length;s++)if(i[s].content!==r[s].content)return}for(let o=0;o<t.length;o++){e[o].id=t[o].id;for(let i=0;i<t[o].tokens.length;i++)e[o].tokens[i].id=t[o].tokens[i].id}}}function j(t,e,o,i){let r=N(o);if(r===e.source)return null;let{transition:s,listing:a}=se(t,e.lines,r,i);return c=>c<=0?{code:e.source,listing:e,edit:null}:c>=1?{code:r,listing:a,edit:null}:{code:r,listing:a,edit:{transition:s,progress:c}}}function Xe(t,e,o){let i=T(e,t),r=i.source,{start:s,end:a}=D(o,Q(i.lines)),c=s===0||r[s-1]===`
|
|
9
9
|
`,l=a===r.length||r[a]===`
|
|
10
|
-
`;if(c&&l)a<r.length?a+=1:s>0&&(s-=1);else if(a<=s)return null;return a<=s?null:j(t,i,r.slice(0,s)+r.slice(a),
|
|
10
|
+
`;if(c&&l)a<r.length?a+=1:s>0&&(s-=1);else if(a<=s)return null;return a<=s?null:j(t,i,r.slice(0,s)+r.slice(a),E(e))}function Je(t,e,o,i){let r=T(e,t),s=i??.4,a=tn(r.lines,ae(o));if(a.size===0)return null;let c=e.focus,l=c.dim??1,d=c.ids.size>0,u=[];for(let p of r.lines)for(let g of p.tokens){let m=!d||c.ids.has(g.id)?1:l,y=a.has(g.id)?1:s;m!==y&&u.push(et(g.id,{keys:[0,1],values:[m,y]}))}let f={dim:d?l:null,ids:c.ids,fade:null},h={dim:s,ids:a,fade:null};return p=>({listing:r,focus:p<=0?f:p>=1?h:{...f,fade:{kind:"dim",tokens:u,progress:p}}})}function Qe(t,e){let o=e.focus;if(o.dim===null)return null;let i=T(e,t),r=o.dim,s=[];for(let c of i.lines)for(let l of c.tokens){let d=o.ids.has(l.id)?1:r;d!==1&&s.push(et(l.id,{keys:[0,1],values:[d,1]}))}let a={dim:r,ids:o.ids,fade:null};return c=>({listing:i,focus:c>=1?ne:c<=0?a:{...a,fade:{kind:"dim",tokens:s,progress:c}}})}function Qt(t,e,o){return e.length===0&&o.length===0?null:i=>({listing:t,banding:i>=1?{bands:o,fade:null}:i<=0?{bands:e,fade:null}:{bands:e,fade:{kind:"rows",from:e,to:o,progress:i}}})}function Q(t){return t.map(e=>e.tokens.reduce((o,i)=>o+i.content.length,0))}function Ze(t,e){let o=Q(t);if(o.length===0)return 0;let[i,r]=e,s=Math.max(0,Math.min(o.length-1,i-1)),a=0;for(let c=0;c<s;c++)a+=o[c]+1;return a+Math.max(0,Math.min(o[s],r-1))}function tn(t,e){let o=new Set,i=Q(t);if(i.length===0)return o;let r=e.map(a=>D(a,i)).filter(({start:a,end:c})=>c>a);if(r.length===0)return o;let s=0;for(let a=0;a<t.length;a++){for(let c of t[a].tokens){let l=s,d=s+c.content.length;r.some(({start:u,end:f})=>d>u&&l<f)&&o.add(c.id),s=d}a<t.length-1&&(s+=1)}return o}function en(t,e,o,i){let r=t.length,s=[];for(let a of e){let c=Math.max(1,Math.round(a.startLine??1)),l=Math.min(r,a.endLine==null||a.endLine===1/0?r:Math.round(a.endLine));c>l||s.push({startId:t[c-1].id,endId:t[l-1].id,color:o,radius:i})}return s}function ae(t){if(typeof t[Symbol.iterator]=="function")return[...t];let o=t.list;return Array.isArray(o)?[...o]:[t]}var Zt=new Map;function nn(t){let e=Zt.get(t);return e===void 0&&(e=()=>H([t]),Zt.set(t,e)),e}var te=new WeakMap;function ce(t){let e=te.get(t);return e||te.set(t,e={advances:new z,measurer:null,scope:null,settled:null,edit:null}),e}function le(t){return{fontSize:t.fontSize,fontFamily:t.fontFamily,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,padding:t.padding,showLineNumbers:t.showLineNumbers,lineNumberGap:t.lineNumberGap}}function de(t,e,o){let i=t.advances.signature(o.fontSize,o.fontFamily);t.advances.sync(i);let r=`${Lt(o)}|${i}`,s=t.scope;if(!e.transition){let l=t.settled;if(l&&l.lines===e.lines&&l.key===r)return{from:l.layout,to:l.layout};if(!s)return null;let d=W(e.lines,o,t.advances,s);return t.settled={lines:e.lines,key:r,layout:d},{from:d,to:d}}let a=t.edit;if(a&&a.transition===e.transition&&a.key===r)return a;if(!s)return null;let c={transition:e.transition,key:r,from:W(e.transition.from,o,t.advances,s),to:W(e.transition.to,o,t.advances,s)};return t.edit=c,c}function on(t,e,o){let i=ce(e);i.measurer!==t&&(i.measurer=t,i.scope={measureText:(u,f,h,p,g)=>t.text(u,{fontFamily:h,fontSize:f,fontWeight:p,letterSpacing:g})});let r=ht(e,o),s=le(e),a=de(i,r,s);if(!a)return{width:0,height:0};let c=B(r.transition?{phases:r.transition.phases,progress:r.progress}:null),l=r.transition?Ut(a.from.innerW,a.to.innerW,c):a.to.innerW,d=r.transition?Ut(a.from.innerH,a.to.innerH,c):a.to.innerH;return{width:l+s.padding.left+s.padding.right,height:d+s.padding.top+s.padding.bottom}}var rn={fill:[],stroke:[],shadow:[],overlay:[],start:0,end:1,clip:!1},sn=()=>{};function an(t,e,o){let i=ce(e),r=ht(e,o),s=le(e),a=de(i,r,s);Ge.draw(t,rn,null,{clipShape:cn(r,a,s,t.size),children:sn});let c=i.scope;if(!a||!c)return;let{focus:l,banding:d}=e;it({draw:u=>t.draw(u),measureText:c.measureText},{tokenLines:r.lines,metrics:s,advanceCache:i.advances,from:a.from,to:a.to,edit:re(r),tokenStates:It(r.lines,l.fade?[l.fade]:[],l.dim,l.ids),highlightActive:l.dim!==null||l.fade!==null,rowBands:d.bands,rowsEdit:d.fade,boxW:t.size.width})}function cn(t,e,o,i){let r={x:0,y:0,width:i.width,height:i.height};if(t.transition||!e)return new ut().rect(r);let s=e.to,a=o.fontSize*o.lineHeight/2,c=o.showLineNumbers?s.gutter:0,l=Math.max(s.startX-c,-i.width/2),d=new ut,u=0;for(let f=0;f<s.lineY.length;f++){let h=s.lineW[f]??0;if(h+c<=0)continue;let p=Math.min(s.startX+h,i.width/2),g=s.lineY[f],m=Math.min(g+a,i.height/2),y=Math.max(g-a,-i.height/2);if(p<l||m<y)continue;let k=m===g+a&&y===g-a;d.rect({x:(l+p)/2,y:k?g:(m+y)/2,width:p-l,height:k?2*a:m-y}),u++}return u>0?d:new ut().rect(r).rect(r).cut()}var ln=[oe];export{Y as BUILTIN_THEMES,oe as Code,U as CodeRangeChain,_e as CodeRanges,O as DefaultHighlightStyle,Et as GithubDarkStyle,Ht as GithubLightStyle,ln as NODES,z as TokenAdvanceCache,Ft as VscodeDarkStyle,_t as VscodeLightStyle,G as canHighlight,ft as charOffsetsToRange,at as compileStyle,st as defaultCodeDiff,Nt as defaultCodePhases,Re as defineCode,it as drawCode,H as ensureHighlighter,Be as findAllRanges,Dn as findFirstRange,We as findRangeAt,Te as initSyntaxHighlighter,W as layoutCode,Kt as lines,zn as listingOf,Me as loadCodeLanguage,et as makeAnim,Lt as metricsSignature,B as moveProgress,N as normalizeSource,D as rangeToCharOffsets,ve as registerCodeTheme,K as resolveTheme,It as resolveTokenStates,fe as sampleCurve,ue as smoothstep,dt as tokenizeCodeToIdLines,R as windowProgress,Pt as word};
|
|
11
11
|
//# sourceMappingURL=index.js.map
|