@motionscript/code 0.1.0-alpha.5 → 0.1.0-alpha.7
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 +24 -0
- package/README.md +24 -9
- package/dist/browser/index.js +10 -7
- package/dist/browser/index.js.map +3 -3
- package/dist/browser/manifest.json +1 -1
- package/dist/engine.d.ts +1 -1
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js.map +1 -1
- package/dist/node.d.ts +275 -336
- package/dist/node.d.ts.map +1 -1
- package/dist/node.js +616 -864
- package/dist/node.js.map +1 -1
- package/dist/nodes.d.ts +6 -9
- package/dist/nodes.d.ts.map +1 -1
- package/dist/nodes.js +7 -9
- package/dist/nodes.js.map +1 -1
- package/dist/render.d.ts +3 -1
- package/dist/render.d.ts.map +1 -1
- package/dist/render.js.map +1 -1
- package/package.json +4 -4
- package/src/engine.ts +1 -1
- package/src/node.ts +744 -928
- package/src/nodes.ts +8 -10
- package/src/render.ts +5 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,29 @@
|
|
|
1
1
|
# @motionscript/code
|
|
2
2
|
|
|
3
|
+
## 0.1.0-alpha.7
|
|
4
|
+
|
|
5
|
+
## 0.1.0-alpha.6
|
|
6
|
+
|
|
7
|
+
### Minor Changes
|
|
8
|
+
|
|
9
|
+
- 163b708: Node types are components: one spec object handed to `component2d`, `component3d` or `componentAudio`, with no classes, decorators or JSX.
|
|
10
|
+
|
|
11
|
+
- **Writing a node type.** A component is one object literal: `key`, `state` (literals and `Types`), `defaults`, `commands`, `children`, `allowedChildren`/`allowedParents`, `provide`, `load`, and its tree's own fields (`measure`, `layout`, `render` for 2D). Behaviour comes from modules you spread in and call: `Paint`, `Flow`, `Shapes`, `Typeface`, `TextLayout`, `Aim`, `Material`, `View3D`. ADR 0007 and the custom-node docs cover it.
|
|
12
|
+
- **Building nodes in code** uses calls: `Rect({ fill: 'tomato', children: [Text({ text: 'Hi' })] })`, or `new Rect({...})` for the node itself.
|
|
13
|
+
- **Every built-in and every kit node is a component**, under the same document key. Code that tested `instanceof` a class now uses the component's `.is`, or `instanceof X.node`. Changed members:
|
|
14
|
+
- `SurfacePlot3d.valueAt` and `FunctionPlot.valueAt` are now the functions `surfaceValueAt` and `curveValue`.
|
|
15
|
+
- A system's `coordinates` is replaced by `planeMap`/`axesMap`/`systemMap`.
|
|
16
|
+
- `PieChart.isSelected` is replaced by `isSliceSelected`.
|
|
17
|
+
- `ItemGrid` is a kit module (`ItemGrid.isGrid`, `ItemGrid.define`), not a base class.
|
|
18
|
+
- **The sdk no longer exports the class surface:**
|
|
19
|
+
- the decorators: `node`, `property` and every `*Property`, `command`, `withdraw`, `driveCommand`;
|
|
20
|
+
- the authoring bases: `PaintNode`, `ShapeNode`, `TextBase`, `Mesh3DBase`, `Canvas3DBase` and the `*Base` geometry classes;
|
|
21
|
+
- `asCommand`, `compose`, `drive` and `declarePaints` from `@motionscript/sdk/component`;
|
|
22
|
+
- the `jsx-runtime` and `jsx-dev-runtime` subpaths.
|
|
23
|
+
- `Node`, `Node2D`, `Node3D` and `NodeAudio` remain as types.
|
|
24
|
+
- **Editor metadata leaves the engine.** The kits no longer declare `parentKey`, `forkable`, `layout`, `seed`, `within`, `beside` or `closed`; a host keeps those in its own configs. `describe()` now reports `holds`, the trees a type takes children from, and the placement checks use it, so a 2D viewport of your own that takes 3D children places them.
|
|
25
|
+
- A command called from code with no argument runs, and a refused child is told what its parent takes (`allowedChildren`) or where it goes (`allowedParents`).
|
|
26
|
+
|
|
3
27
|
## 0.1.0-alpha.5
|
|
4
28
|
|
|
5
29
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -38,8 +38,9 @@ export default {
|
|
|
38
38
|
|
|
39
39
|
## What's in here
|
|
40
40
|
|
|
41
|
-
- **`Code
|
|
42
|
-
`
|
|
41
|
+
- **`Code`**, a hugging block of highlighted source, written with
|
|
42
|
+
`component2d`: call it (`Code({ ... })`) or construct it (`new Code({ ... })`).
|
|
43
|
+
Set `code`, `language` and `theme` to choose what is shown; tune `fontSize`,
|
|
43
44
|
`fontFamily`, `lineHeight`, `letterSpacing`, `showLineNumbers`,
|
|
44
45
|
`lineNumberGap` and `padding` for layout.
|
|
45
46
|
- **Token-level commands**: `append`/`prepend` (lines at the end or start),
|
|
@@ -47,7 +48,9 @@ export default {
|
|
|
47
48
|
`highlight`/`resetHighlight` (dim everything outside a range, then restore
|
|
48
49
|
it), and `highlightRows`/`resetRowHighlight` (a coloured band behind whole
|
|
49
50
|
lines, which slides onto the next rows it is given and follows its lines
|
|
50
|
-
through an edit). A `to` command on `code` diffs the whole listing the same way
|
|
51
|
+
through an edit). A `to` command on `code` diffs the whole listing the same way;
|
|
52
|
+
while it runs, `code` holds a `CodeBlend` (`{ from, to, t }`) rather than a
|
|
53
|
+
string, and a source again at either end.
|
|
51
54
|
- **Range helpers**: `word(line, col, length)`, `lines(from, to)` and the
|
|
52
55
|
chainable `CodeRanges` build the ranges those commands take.
|
|
53
56
|
- **Themes**: `github-dark`, `github-light`, `vscode-dark`, `vscode-light`
|
|
@@ -95,17 +98,29 @@ scene, such as [`@motionscript/browser`](https://github.com/motionscript-dev/mot
|
|
|
95
98
|
JSON holds `null` there and reads the same. Positions clamp, so no command
|
|
96
99
|
throws for a bad range, and a `CodeRanges` chain serialises as its array of
|
|
97
100
|
ranges.
|
|
98
|
-
- **`findAllRanges(text)`, `findRangeAt(text, index)` and
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
101
|
+
- **`findAllRanges(source, text)`, `findRangeAt(source, text, index)` and
|
|
102
|
+
`findFirstRange(source, text)`** return the literal matches in a source as
|
|
103
|
+
ranges: pass a listing's `code`. `listingOf(node)` is what a listing shows now:
|
|
104
|
+
its source, its token rows and the edit in flight.
|
|
105
|
+
- **`remove` is the command's key, and a node has no method of that name for it**:
|
|
106
|
+
`Node.remove` already takes a child out of the tree, so the command is
|
|
107
|
+
dispatched by key (a document, a host's registry) and reaches the node's
|
|
108
|
+
`_command_remove`.
|
|
102
109
|
- **A `Code` takes no children and has no `fill`, `stroke` or `shadow`**; a panel
|
|
103
110
|
behind it is a parent `Rect`. It also refuses the ambient text style
|
|
104
111
|
(`<DefaultTextStyle>`): its columns are measured against its own face, so an
|
|
105
112
|
inherited family or weight would shape glyphs the geometry never measured.
|
|
106
113
|
- **`diffStrategy` and `phaseStrategy`** (`CodeStrategies`) replace how an edit is
|
|
107
|
-
paired and how its out/move/in windows are timed. They are
|
|
108
|
-
|
|
114
|
+
paired and how its out/move/in windows are timed. They are arguments of
|
|
115
|
+
`defineCode({ diffStrategy, phaseStrategy })`, which returns a `code` component
|
|
116
|
+
using them: hand that to the engine in place of `Code`. A strategy is a
|
|
117
|
+
function, which a prop would read as a binding, so a document cannot set one.
|
|
118
|
+
- **Each listing command writes the listing it acted on**, so the token ids a
|
|
119
|
+
highlight or a band captured are the ones drawn. Two commands of one kind
|
|
120
|
+
that overlap (two edits, two highlights) hand over from the later one's first
|
|
121
|
+
frame: the later command's state replaces the earlier's while both run.
|
|
122
|
+
- **A `Code` is drawn from what its last measure laid out**, which its parent
|
|
123
|
+
asks for before every frame; one that was never measured draws nothing.
|
|
109
124
|
- **Highlighter state is per process.** Loaded grammars, registered themes and
|
|
110
125
|
token ids are shared by every `Code` in it.
|
|
111
126
|
- **`ms add code` copies only `node.ts`** (`registry.json`). The highlighter,
|
package/dist/browser/index.js
CHANGED
|
@@ -1,8 +1,11 @@
|
|
|
1
|
-
import{j as ft,k as gt,l as e}from"./chunks/chunk-SYZUZB3M.js";import{node as me,Clip as ye,Node2D as ke,property as O,insetsProperty as we,lerpNumber as Bt,colorOps as be,command as E,driveCommand as _}from"@motionscript/sdk";function Wt(o,t,n){if(n<=o[0])return t[0];if(n>=o[o.length-1])return t[t.length-1];for(let i=0;i<o.length-1;i++)if(n<=o[i+1]){let s=o[i+1]-o[i],r=s===0?0:(n-o[i])/s;return t[i]+(t[i+1]-t[i])*r}return t[t.length-1]}function G(o,t){if(!o)return 1;let[n,i]=o;return t<=n?0:t>=i||i===n?1:(t-n)/(i-n)}function Pt(o){return o*o*(3-2*o)}function Z(o,t){return{id:o,opacity:t.values,opacityKeys:t.keys}}function Yt(o,t){return o&&t?{out:[0,.38],move:[.1,.68],in:[.52,1]}:o?{out:[0,.45],move:[.22,1],in:null}:t?{out:null,move:[0,.55],in:[.38,1]}:{out:null,move:[0,1],in:null}}var pt=Yt;function $(o){return o?Pt(G(o.phases.move,o.progress)):1}function mt(o,t,n,i){let s=new Map;if(n!==null){let r=n;for(let a of o)for(let l of a.tokens)s.set(l.id,{opacity:i.has(l.id)?1:r})}for(let r of t)if(r.kind==="dim")for(let a of r.tokens)s.set(a.id,{opacity:Wt(a.opacityKeys,a.opacity,r.progress)});return s}function W(o){let t=o.padding;return[o.fontSize,o.fontFamily,o.lineHeight,o.letterSpacing,t.left,t.right,t.top,t.bottom,o.showLineNumbers?1:0,o.lineNumberGap].join("|")}function Kt(o,t,n){return n.advance(o," ",t.fontSize,t.fontFamily,0)*t.lineNumberGap}function Ut(o,t,n,i,s){if(!t.showLineNumbers)return 0;let r=String(Math.max(1,i));return n.advance(o,r,t.fontSize,t.fontFamily,0)+s}function P(o,t,n,i){let s=t.fontSize*t.lineHeight,r=t.showLineNumbers?Kt(i,t,n):0,a=Ut(i,t,n,o.length,r),l=new Array(o.length),c=0;for(let S=0;S<o.length;S++){let k=0;for(let L of o[S].tokens)k+=n.advance(i,L.content,t.fontSize,t.fontFamily,t.letterSpacing);l[S]=k,k>c&&(c=k)}let h=c+a,u=o.length*s,d=h+t.padding.left+t.padding.right,f=u+t.padding.top+t.padding.bottom,m=-d/2+t.padding.left+a,g=f/2-t.padding.top,p=new Map,y=new Array(o.length),w=new Map;for(let S=0;S<o.length;S++){let k=g-S*s-s/2;y[S]=k,w.set(o[S].id,S);let L=m;for(let C of o[S].tokens)p.set(C.id,{x:L,y:k}),L+=n.advance(i,C.content,t.fontSize,t.fontFamily,t.letterSpacing)}return{tokens:p,lineY:y,lineW:l,lineIndex:w,gutter:a,gutterGap:r,innerW:h,innerH:u,blockW:d,blockH:f,startX:m}}import{Graphics2D as nt,parseColor as Vt,lerpNumber as I}from"@motionscript/sdk";var qt=[.82,.84,.86,1],Xt=[.45,.5,.55,1],yt=new Map;function tt(o){if(!o)return qt;let t=yt.get(o);return t||(t=Vt(o),yt.set(o,t)),t}function kt(o,t,n){return n<=0?o:n>=1?t:[o[0]+(t[0]-o[0])*n,o[1]+(t[1]-o[1])*n,o[2]+(t[2]-o[2])*n,o[3]+(t[3]-o[3])*n]}function Jt(o,t,n){if(!n)return 1;let i=1;for(let s of o.tokens){if(s.content.length===0)continue;let r=t.get(s.id)?.opacity??1;r<i&&(i=r)}return i}function ot(o,t){let{tokenLines:n,metrics:i,advanceCache:s,from:r,to:a,edit:l,tokenStates:c}=t,h=l?l.progress:1,u=l?G(l.phases.out,h):1,d=$(l),f=l?G(l.phases.in,h):1,m=l?I(r.blockW,a.blockW,d):a.blockW,g=l?I(r.gutter,a.gutter,d):a.gutter,p=a.gutterGap||r.gutterGap,y=-m/2+i.padding.left+g-p;Qt(o,t,Math.max(m,t.boxW??0),d);let w=(k,L,C)=>{if(C<=0)return;let N=s.advance(o,k,i.fontSize,i.fontFamily,0);o.draw(new nt().text({text:k,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,x:y-N/2,y:L,textAlign:"left"}).fill([{type:"solid",color:Xt,opacity:C}]))},S=(k,L,C,N,H)=>{if(H<=0||k.length===0)return;let T=s.advance(o,k,i.fontSize,i.fontFamily,i.letterSpacing);o.draw(new nt().text({text:k,fontSize:i.fontSize,fontFamily:i.fontFamily,lineHeight:i.lineHeight,letterSpacing:i.letterSpacing,x:L+T/2,y:C,textAlign:"left"}).fill([{type:"solid",color:N,opacity:H}]))};for(let k=0;k<n.length;k++){let L=n[k],C=a.lineIndex.get(L.id);if(C===void 0)continue;let N=a.lineY[C],H=l?.enteringLineIds.has(L.id)??!1,T=N,D=1;if(l&&H)D=f;else if(l){let v=r.lineIndex.get(L.id);v!==void 0&&(T=I(r.lineY[v],N,d))}for(let v of L.tokens){let J=a.tokens.get(v.id);if(!J)continue;let ht=J.x,dt=D,Q=tt(v.color);if(l&&!H)if(l.addedIds.has(v.id))dt=f;else{let ut=r.tokens.get(v.id);ut&&(ht=I(ut.x,J.x,d)),l.fromColorById.has(v.id)&&(Q=kt(tt(l.fromColorById.get(v.id)),Q,d))}S(v.content,ht,T,Q,dt*(c.get(v.id)?.opacity??1))}}if(l&&u<1)for(let k=0;k<l.from.length;k++){let L=l.from[k],C=r.lineIndex.get(L.id);if(C===void 0)continue;let N=a.lineIndex.get(L.id),H=N===void 0?r.lineY[C]:I(r.lineY[C],a.lineY[N],d);for(let T of L.tokens){if(!l.removedIds.has(T.id))continue;let D=r.tokens.get(T.id);D&&S(T.content,D.x,H,tt(T.color),1-u)}}i.showLineNumbers&&Zt(t,w,d,f,u)}function et(o,t,n){let{from:i,to:s,metrics:r}=t,a=r.fontSize*r.lineHeight/2,l=u=>{let d=s.lineIndex.get(u),f=i.lineIndex.get(u);return d!==void 0&&f!==void 0?I(i.lineY[f],s.lineY[d],n):d!==void 0?s.lineY[d]:f===void 0?null:i.lineY[f]},c=l(o.startId),h=l(o.endId);return c===null&&h===null?null:{top:(c??h)+a,bottom:(h??c)-a}}function Qt(o,t,n,i){let{rowBands:s=[],rowsEdit:r=null}=t,a=(c,h,u,d,f)=>{f<=0||c<=h||o.draw(new nt().rect({x:0,y:(c+h)/2,width:n,height:c-h,cornerRadius:d}).fill([{type:"solid",color:u,opacity:f}]))};if(!r){for(let c of s){let h=et(c,t,i);h&&a(h.top,h.bottom,c.color,c.radius,1)}return}let l=r.progress;for(let c=0;c<Math.max(r.from.length,r.to.length);c++){let h=r.from[c],u=r.to[c],d=h?et(h,t,i):null,f=u?et(u,t,i):null;d&&f?a(I(d.top,f.top,l),I(d.bottom,f.bottom,l),kt(h.color,u.color,l),I(h.radius,u.radius,l),1):d?a(d.top,d.bottom,h.color,h.radius,1-l):f&&a(f.top,f.bottom,u.color,u.radius,l)}}function Zt(o,t,n,i,s){let{tokenLines:r,from:a,to:l,edit:c,tokenStates:h,highlightActive:u}=o,d=r.length,f=c?c.from.length:d;for(let m=0;m<Math.max(f,d);m++){let g=m<f,p=m<d,y=p?r[m]:c?.from[m],w=y?Jt(y,h,u):1;c?g&&p?t(String(m+1),I(a.lineY[m],l.lineY[m],n),w):p?t(String(m+1),l.lineY[m],i*w):t(String(m+1),a.lineY[m],(1-s)*w):t(String(m+1),l.lineY[m],w)}}function Y(o){return o.content.trim().length}function wt(o){let t=0;for(let n of o.tokens)t+=Y(n);return t}function te(o,t){let n=wt(o),i=wt(t);if(n===0&&i===0)return 1;if(n===0||i===0)return 0;let s=new Map;for(let a of o.tokens)Y(a)!==0&&s.set(a.content,(s.get(a.content)??0)+1);let r=0;for(let a of t.tokens){let l=Y(a);if(l===0)continue;let c=s.get(a.content)??0;c>0&&(s.set(a.content,c-1),r+=l)}return 2*r/(n+i)}function St(o,t,n){let i=t+1,s=new Float64Array((o+1)*i),r=new Float64Array(o*t);for(let h=1;h<=o;h++)for(let u=1;u<=t;u++){let d=n(h-1,u-1);r[(h-1)*t+(u-1)]=d;let f=s[(h-1)*i+u],m=s[h*i+(u-1)],g=f>m?f:m;if(d>0){let p=s[(h-1)*i+(u-1)]+d;p>g&&(g=p)}s[h*i+u]=g}let a=[],l=o,c=t;for(;l>0&&c>0;){let h=r[(l-1)*t+(c-1)];h>0&&s[l*i+c]===s[(l-1)*i+(c-1)]+h?(a.push([l-1,c-1]),l--,c--):s[(l-1)*i+c]>=s[l*i+(c-1)]?l--:c--}return a.reverse(),a}function ee(o,t){return St(o.length,t.length,(n,i)=>o[n].content!==t[i].content?0:Y(t[i])||.25)}function ne(o,t){if(o.tokens.length!==t.tokens.length)return!1;for(let n=0;n<o.tokens.length;n++)if(o.tokens[n].content!==t.tokens[n].content)return!1;return!0}function bt(o){let t="";for(let n of o.tokens)t+=n.content+"";return t}function oe(o,t){let n=o.map(bt),i=t.map(bt),s=[],r=0;for(;r<o.length&&r<t.length&&n[r]===i[r];)s.push([r,r]),r++;let a=0;for(;a<o.length-r&&a<t.length-r&&n[o.length-1-a]===i[t.length-1-a];)a++;let l=ie(n,i,r,o.length-a,r,t.length-a),c=16e4,h=r,u=r;for(let[d,f]of[...l,[o.length-a,t.length-a]]){let m=d-h,g=f-u,p=m*g;if(p>0&&p<=4e4&&p<=c){c-=p;for(let[y,w]of St(m,g,(S,k)=>te(o[h+S],t[u+k])-.45))s.push([h+y,u+w])}d<o.length-a&&s.push([d,f]),h=d+1,u=f+1}for(let d=a;d>0;d--)s.push([o.length-d,t.length-d]);return s}function ie(o,t,n,i,s,r){let a=new Map,l=new Set;for(let g=n;g<i;g++){let p=o[g];l.has(p)?a.delete(p):a.set(p,g),l.add(p)}let c=new Map,h=new Set;for(let g=s;g<r;g++){let p=t[g];h.has(p)?c.delete(p):c.set(p,g),h.add(p)}let u=[];for(let g=s;g<r;g++){let p=a.get(t[g]);p!==void 0&&c.get(t[g])===g&&t[g].replaceAll("","").trim()!==""&&u.push([p,g])}let d=[],f=new Array(u.length).fill(-1);for(let g=0;g<u.length;g++){let p=0,y=d.length;for(;p<y;){let w=p+y>>1;u[d[w]][0]<u[g][0]?p=w+1:y=w}p>0&&(f[g]=d[p-1]),d[p]=g}let m=[];for(let g=d.length>0?d[d.length-1]:-1;g>=0;g=f[g])m.push(u[g]);return m.reverse()}function it(o,t){let n=new Set,i=new Set,s=new Set,r=new Map,a=oe(o,t),l=new Set,c=new Set;for(let[h,u]of a){c.add(h),l.add(u);let d=o[h],f=t[u];f.id=d.id;let m=ne(d,f)?d.tokens.map((y,w)=>[w,w]):ee(d.tokens,f.tokens),g=new Set,p=new Set;for(let[y,w]of m){g.add(y),p.add(w);let S=d.tokens[y],k=f.tokens[w];k.id=S.id,S.color!==k.color&&r.set(S.id,S.color)}for(let y=0;y<d.tokens.length;y++)g.has(y)||n.add(d.tokens[y].id);for(let y=0;y<f.tokens.length;y++)p.has(y)||i.add(f.tokens[y].id)}for(let h=0;h<o.length;h++)if(!c.has(h))for(let u of o[h].tokens)n.add(u.id);for(let h=0;h<t.length;h++)if(!l.has(h)){s.add(t[h].id);for(let u of t[h].tokens)i.add(u.id)}return{lines:t,removedIds:n,addedIds:i,newLineIds:s,fromColorById:r}}var A={name:"motion-canvas-default",defaultColor:"#d8dee9",rules:[{tag:e.keyword,color:"#5e81ac"},{tag:[e.name,e.deleted,e.character,e.propertyName,e.macroName],color:"#88c0d0"},{tag:[e.variableName],color:"#8fbcbb"},{tag:[e.function(e.variableName)],color:"#8fbcbb"},{tag:[e.labelName],color:"#81a1c1"},{tag:[e.color,e.constant(e.name),e.standard(e.name)],color:"#5e81ac"},{tag:[e.definition(e.name),e.separator],color:"#a3be8c"},{tag:[e.brace],color:"#8fbcbb"},{tag:[e.annotation],color:"#d30102"},{tag:[e.number,e.changed,e.annotation,e.modifier,e.self,e.namespace],color:"#b48ead"},{tag:[e.typeName,e.className],color:"#ECEFF4"},{tag:[e.operator,e.operatorKeyword],color:"#a3be8c"},{tag:[e.tagName],color:"#b48ead"},{tag:[e.squareBracket],color:"#ECEFF4"},{tag:[e.angleBracket],color:"#ECEFF4"},{tag:[e.attributeName],color:"#eceff4"},{tag:[e.regexp],color:"#5e81ac"},{tag:[e.quote],color:"#b48ead"},{tag:[e.string],color:"#a3be8c"},{tag:e.link,color:"#a3be8c"},{tag:[e.url,e.escape,e.special(e.string)],color:"#8fbcbb"},{tag:[e.meta],color:"#88c0d0"},{tag:[e.monospace],color:"#d8dee9"},{tag:[e.comment],color:"#4c566a"},{tag:e.strong,color:"#5e81ac"},{tag:e.emphasis,color:"#5e81ac"},{tag:e.heading,color:"#5e81ac"},{tag:e.special(e.heading1),color:"#5e81ac"},{tag:e.heading1,color:"#5e81ac"},{tag:[e.heading2,e.heading3,e.heading4],color:"#5e81ac"},{tag:[e.heading5,e.heading6],color:"#5e81ac"},{tag:[e.atom,e.bool,e.special(e.variableName)],color:"#d08770"},{tag:[e.processingInstruction,e.inserted],color:"#8fbcbb"},{tag:[e.contentSeparator],color:"#ebcb8b"},{tag:e.invalid,color:"#434c5e"}]},Lt={name:"github-dark",defaultColor:"#c9d1d9",rules:[{tag:[e.standard(e.tagName),e.tagName],color:"#7ee787"},{tag:[e.comment,e.bracket],color:"#8b949e"},{tag:[e.className,e.propertyName],color:"#d2a8ff"},{tag:[e.variableName,e.attributeName,e.number,e.operator],color:"#79c0ff"},{tag:[e.keyword,e.typeName,e.typeOperator],color:"#ff7b72"},{tag:[e.string,e.meta,e.regexp],color:"#a5d6ff"},{tag:[e.name,e.quote],color:"#7ee787"},{tag:[e.heading,e.strong],color:"#d2a8ff"},{tag:[e.emphasis],color:"#d2a8ff"},{tag:[e.deleted],color:"#ffdcd7"},{tag:[e.atom,e.bool,e.special(e.variableName)],color:"#ffab70"},{tag:e.invalid,color:"#f97583"}]},Ct={name:"github-light",defaultColor:"#24292e",rules:[{tag:[e.standard(e.tagName),e.tagName],color:"#116329"},{tag:[e.comment,e.bracket],color:"#6a737d"},{tag:[e.className,e.propertyName],color:"#6f42c1"},{tag:[e.variableName,e.attributeName,e.number,e.operator],color:"#005cc5"},{tag:[e.keyword,e.typeName,e.typeOperator],color:"#d73a49"},{tag:[e.string,e.meta,e.regexp],color:"#032f62"},{tag:[e.name,e.quote],color:"#22863a"},{tag:[e.heading,e.strong],color:"#24292e"},{tag:[e.emphasis],color:"#24292e"},{tag:[e.deleted],color:"#b31d28"},{tag:[e.atom,e.bool,e.special(e.variableName)],color:"#e36209"},{tag:[e.url,e.escape,e.regexp,e.link],color:"#032f62"},{tag:e.invalid,color:"#cb2431"}]},vt={name:"vscode-dark",defaultColor:"#9cdcfe",rules:[{tag:[e.keyword,e.operatorKeyword,e.modifier,e.color,e.constant(e.name),e.standard(e.name),e.standard(e.tagName),e.special(e.brace),e.atom,e.bool,e.special(e.variableName)],color:"#569cd6"},{tag:[e.controlKeyword,e.moduleKeyword],color:"#c586c0"},{tag:[e.name,e.deleted,e.character,e.macroName,e.propertyName,e.variableName,e.labelName,e.definition(e.name)],color:"#9cdcfe"},{tag:e.heading,color:"#9cdcfe"},{tag:[e.typeName,e.className,e.tagName,e.changed,e.annotation,e.self,e.namespace],color:"#4ec9b0"},{tag:[e.function(e.variableName),e.function(e.propertyName)],color:"#dcdcaa"},{tag:[e.number],color:"#b5cea8"},{tag:[e.operator,e.punctuation,e.separator,e.url,e.escape],color:"#d4d4d4"},{tag:[e.regexp],color:"#d16969"},{tag:[e.special(e.string),e.processingInstruction,e.string,e.inserted],color:"#ce9178"},{tag:[e.angleBracket],color:"#808080"},{tag:[e.meta,e.comment],color:"#6a9955"},{tag:e.link,color:"#6a9955"},{tag:e.invalid,color:"#ff0000"}]},_t={name:"vscode-light",defaultColor:"#383a42",rules:[{tag:[e.keyword,e.operatorKeyword,e.modifier,e.color,e.constant(e.name),e.standard(e.name),e.standard(e.tagName),e.special(e.brace),e.atom,e.bool,e.special(e.variableName)],color:"#0000ff"},{tag:[e.moduleKeyword,e.controlKeyword],color:"#af00db"},{tag:[e.name,e.deleted,e.character,e.macroName,e.propertyName,e.variableName,e.labelName,e.definition(e.name)],color:"#0070c1"},{tag:e.heading,color:"#0070c1"},{tag:[e.typeName,e.className,e.tagName,e.changed,e.annotation,e.self,e.namespace],color:"#267f99"},{tag:[e.function(e.variableName),e.function(e.propertyName)],color:"#795e26"},{tag:[e.number],color:"#098658"},{tag:[e.operator,e.punctuation,e.separator,e.url,e.escape],color:"#383a42"},{tag:[e.regexp],color:"#af00db"},{tag:[e.special(e.string),e.processingInstruction,e.string,e.inserted],color:"#a31515"},{tag:[e.angleBracket],color:"#383a42"},{tag:[e.meta,e.comment],color:"#008000"},{tag:e.link,color:"#4078f2"},{tag:e.invalid,color:"#e45649"}]},K={"motion-canvas-default":A,"github-dark":Lt,"github-light":Ct,"vscode-dark":vt,"vscode-light":_t},xt=new WeakMap;function rt(o){let t=xt.get(o);if(t)return t;let n=ft(o.rules.map(i=>({tag:i.tag,class:i.color})));return xt.set(o,n),n}var It={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},Tt={ts:"typescript",js:"javascript",py:"python","c++":"cpp",md:"markdown",yml:"yaml",shell:"javascript"},re=new Set(["","text","plaintext"]),Nt=new Set;function at(o,t,n){let i=`${o}:${t}`;Nt.has(i)||(Nt.add(i),console.warn(`[Code] ${n}`))}function M(o){return o.indexOf("\r")===-1?o:o.replace(/\r\n?/g,`
|
|
2
|
-
`)}function
|
|
3
|
-
`).map(
|
|
4
|
-
`,
|
|
5
|
-
`).map(i=>
|
|
6
|
-
|
|
7
|
-
|
|
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 jt[e]??e}var _=new Map,ct=new Map,ft=[T.name],Rt=["typescript","javascript","json","python"],Bt=new Map(Object.entries(Y));function Me(t){Bt.set(t.name,t)}function K(t){if(typeof t!="string")return t;let e=Bt.get(t);return e||(lt("theme",t,`unknown theme "${t}"; using "${T.name}". Built-in themes: ${Object.keys(Y).join(", ")}; register others with registerCodeTheme.`),T)}function Ee(t){return _.has(P(t))}function H(t=ft,e=Rt){let o=[];for(let i of e){let r=P(i);if(_.has(r))continue;let s=Gt[r];if(!s){Te.has(r)||lt("language",r,`no grammar for language "${i}"; drawing it as plain text. Supported: ${Object.keys(Gt).join(", ")} (aliases: ${Object.keys(jt).join(", ")}).`);continue}let a=ct.get(r);a||(a=s().then(c=>(_.set(r,c),c)).catch(c=>(lt("load",r,`could not load the "${i}" grammar; drawing it as plain text: ${c instanceof Error?c.message:String(c)}`),null)).finally(()=>ct.delete(r)),ct.set(r,a)),o.push(a)}return o.length===0?Promise.resolve():Promise.all(o).then(()=>{})}async function Ae(t,e){await H(ft,[t])}async function Oe(t=ft,e=Rt){await H(t,e)}function D(t,e){return Ee(t)}function Wt(t,e){return`${t}:${e}`}function He(t,e,o){let i=_.get(P(e));if(!i)return null;let r=i.parse(t),s=at(o),a=new Map;return Nt(r,s,(c,l,f)=>{let u=f;if(!u)return;let d=r.cursorAt(c,1);do a.set(Wt(d.from,d.to),u);while(d.next()&&d.to<=l)}),{tree:r,code:t,colorLookup:a}}function Fe(t,e){let o=e.tree.resolveInner(t,1),i=e.colorLookup.get(Wt(o.from,o.to));return i?{color:i,skipAhead:o.to-t}:{color:null,skipAhead:o.firstChild?0:o.to-t}}function _e(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 $t(t,e,o=T){t=N(t);let i=K(o),r=He(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 _e(t,e)){let f=0;for(;f<l.length;){let{color:u,skipAhead:d}=Fe(c+f,r),h=f+Math.max(d,1);h>l.length&&(h=l.length);let p=l.indexOf(`
|
|
4
|
+
`,f);p!==-1&&p<h&&(h=p);let g=l.slice(f,h);g.length>0&&s[s.length-1].push({content:g,color:u??i.defaultColor}),p===h&&(a(),h+=1),f=h}c+=l.length}return s}var De=1,Ge=1;function Yt(t,e){return{id:De++,content:t,color:e}}function Pt(t){return{id:Ge++,tokens:t}}function dt(t,e,o){return t=N(t),D(e,o)?$t(t,e,o).map(i=>Pt(i.map(r=>Yt(r.content,r.color)))):(K(o),t.split(`
|
|
5
|
+
`).map(i=>Pt([Yt(i,"#d1d5db")])))}var G=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 Kt(t,e,o){return{startLine:t,startCol:e,endLine:t,endCol:o===void 0?1/0:e+o}}function Ut(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,Ut(e,o)])}word(e,o,i){return new t([...this.list,Kt(e,o,i)])}*[Symbol.iterator](){yield*this.list}toJSON(){return this.list}},ze=new U;function z(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),f=s(a),u=e[l],d=e[f],h=Math.max(0,Math.min(u,t.startCol-1)),p=c===1/0?d:Math.max(0,Math.min(d,c-1)),g=Math.min(r,o[l]+h),m=Math.min(r,o[f]+p);return{start:Math.min(g,m),end:Math.max(g,m)}}function ut(t,e,o){let i=0,r=1,s=1,a=1,c=1,l=!1;for(let f=0;f<o.length;f++){let u=i,d=i+o[f];if(!l&&t>=u&&t<=d&&(r=f+1,s=t-u+1,l=!0),e>=u&&e<=d){a=f+1,c=e-u+1;break}i=d+1}return{startLine:r,startCol:s,endLine:a,endCol:c}}var Be="rgba(255, 255, 255, 0.12)",qt=6,ne=new WeakMap,oe={dim:null,ids:new Set,fade:null},We={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 $e(t={}){let e={diff:t.diffStrategy??st,phases:t.phaseStrategy??It,edits:new WeakMap},o=(r,s)=>s?r.animate(s):r.wait(0),i=Re({key:"code",state:{code:M.custom("",{lerp:Ue}),language:"typescript",fontFamily:"Fira Mono",theme:M.custom(T.name),fontSize:16,lineHeight:1.6,letterSpacing:1.1,showLineNumbers:!1,lineNumberGap:2,listing:V(null),edit:V(null),focus:V(oe),banding:V(We)},defaults:{width:"hug",height:"hug"},allowedChildren:[],load:(r,s)=>{r.font(s.fontFamily),r.task(`shiki:lang:${s.language}`,sn(s.language),{before:"layout"})},commands:{append:{args:{code:X},run:(r,s)=>{let a=E(s,e);return o(r,j(e,a,a.source+r.args.code,O(s)))}},prepend:{args:{code:X},run:(r,s)=>{let a=E(s,e);return o(r,j(e,a,r.args.code+a.source,O(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=E(s,e),c=nn(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,O(s)))}},remove:{args:{target:q},run:(r,s)=>o(r,Ze(e,s,r.args.target))},replace:{args:{target:q,replacement:X},run:(r,s)=>{let a=E(s,e),{start:c,end:l}=z(r.args.target,Q(a.lines)),f=a.source.slice(0,c)+r.args.replacement+a.source.slice(l);return o(r,j(e,a,f,O(s)))}},highlight:{args:{target:q,dim:M.number(.4,{min:0,max:1,step:.01,scale:100,unit:"%"})},run:(r,s)=>o(r,tn(e,s,r.args.target,r.args.dim))},resetHighlight:(r,s)=>o(r,en(e,s)),highlightRows:{args:{target:q,color:M.color(Be),radius:M.number(qt,{min:0,step:1})},run:(r,s)=>{let a=E(s,e),c=rn(a.lines,ce(r.args.target),r.args.color,Math.max(0,r.args.radius??qt));return o(r,Zt(a,s.banding.bands,c))}},resetRowHighlight:(r,s)=>o(r,Zt(E(s,e),s.banding.bands,[]))},measure:(r,s)=>an(r,s,e),render:(r,s)=>r.textStyle(null,()=>fn(r,s,e))});return ne.set(i.node,e),i}var re=$e();function Rn(t){let e=ne.get(t.constructor);if(!e)throw new TypeError("listingOf takes a node a `Code` component built.");let o=pt(t,e);return{source:o.source,lines:o.lines,edit:ie(o)}}function Ye(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(ut(a,a+e.length,r)),s=a+Math.max(1,e.length)}return o}function Pe(t,e,o){return Ye(t,e)[o]??null}function Bn(t,e){return Pe(t,e,0)}function pt(t,e){let o=t.code;if(typeof o!="string"){let{transition:r}=se(ht(t,o.from,e),o.to,O(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=ht(t,N(o),e);return{source:i.source,lines:i.lines,transition:null,progress:1}}function ie(t){return t.transition?{...t.transition,progress:t.progress}:null}function E(t,e){return ht(t,N(J(t.code)),e)}function ht(t,e,o){let i=O(t),r=t.listing;return r?r.source!==e?se(r,e,i,o).listing:Ke(r.basis,i)?r:r.basis.language===i.language&&r.basis.highlighted===i.highlighted?Xe(r,i):Xt(e,i):Xt(e,i)}function O(t){return{language:t.language,theme:t.theme,highlighted:D(t.language,t.theme)}}function Ke(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 Ue(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 Ve=new Map,qe=256;function Xt(t,e){return wt(Ve,yt(e),t,qe,()=>({source:t,lines:mt(t,e),basis:e}))}var Jt=new WeakMap;function Xe(t,e){let o=Jt.get(t.lines);return o||Jt.set(t.lines,o=new Map),wt(o,yt(e),t.source,4,()=>{let i=mt(t.source,e);return Qe(t.lines,i),{source:t.source,lines:i,basis:e}})}function se(t,e,o,i){let r=i.edits.get(t.lines);return r||i.edits.set(t.lines,r=new Map),wt(r,yt(o),e,16,()=>ae(i,t.lines,e,o))}function ae(t,e,o,i){let r=t.diff(e,mt(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 mt(t,e){return e.highlighted||H(void 0,[e.language]).catch(()=>{}),dt(t,e.language,e.theme)}var Qt=new WeakMap,Je=1;function yt(t){let e;if(typeof t.theme=="string")e=`name:${t.theme}`;else{let o=Qt.get(t.theme);o===void 0&&Qt.set(t.theme,o=Je++),e=`style:${o}`}return`${t.language}
|
|
7
|
+
${t.highlighted?1:0}
|
|
8
|
+
${e}`}function wt(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}=ae(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 Ze(t,e,o){let i=E(e,t),r=i.source,{start:s,end:a}=z(o,Q(i.lines)),c=s===0||r[s-1]===`
|
|
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),O(e))}function tn(t,e,o,i){let r=E(e,t),s=i??.4,a=on(r.lines,ce(o));if(a.size===0)return null;let c=e.focus,l=c.dim??1,f=c.ids.size>0,u=[];for(let p of r.lines)for(let g of p.tokens){let m=!f||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 d={dim:f?l:null,ids:c.ids,fade:null},h={dim:s,ids:a,fade:null};return p=>({listing:r,focus:p<=0?d:p>=1?h:{...d,fade:{kind:"dim",tokens:u,progress:p}}})}function en(t,e){let o=e.focus;if(o.dim===null)return null;let i=E(e,t),r=o.dim,s=[];for(let c of i.lines)for(let l of c.tokens){let f=o.ids.has(l.id)?1:r;f!==1&&s.push(et(l.id,{keys:[0,1],values:[f,1]}))}let a={dim:r,ids:o.ids,fade:null};return c=>({listing:i,focus:c>=1?oe:c<=0?a:{...a,fade:{kind:"dim",tokens:s,progress:c}}})}function Zt(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 nn(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 on(t,e){let o=new Set,i=Q(t);if(i.length===0)return o;let r=e.map(a=>z(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,f=s+c.content.length;r.some(({start:u,end:d})=>f>u&&l<d)&&o.add(c.id),s=f}a<t.length-1&&(s+=1)}return o}function rn(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 ce(t){if(typeof t[Symbol.iterator]=="function")return[...t];let o=t.list;return Array.isArray(o)?[...o]:[t]}var te=new Map;function sn(t){let e=te.get(t);return e===void 0&&(e=()=>H(void 0,[t]),te.set(t,e)),e}var ee=new WeakMap;function le(t){let e=ee.get(t);return e||ee.set(t,e={advances:new G,measurer:null,scope:null,settled:null,edit:null}),e}function fe(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=`${Ct(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 f=W(e.lines,o,t.advances,s);return t.settled={lines:e.lines,key:r,layout:f},{from:f,to:f}}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 an(t,e,o){let i=le(e);i.measurer!==t&&(i.measurer=t,i.scope={measureText:(u,d,h,p,g)=>t.text(u,{fontFamily:h,fontSize:d,fontWeight:p,letterSpacing:g})});let r=pt(e,o),s=fe(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?Vt(a.from.innerW,a.to.innerW,c):a.to.innerW,f=r.transition?Vt(a.from.innerH,a.to.innerH,c):a.to.innerH;return{width:l+s.padding.left+s.padding.right,height:f+s.padding.top+s.padding.bottom}}var cn={fill:[],stroke:[],shadow:[],overlay:[],start:0,end:1,clip:!1},ln=()=>{};function fn(t,e,o){let i=le(e),r=pt(e,o),s=fe(e),a=de(i,r,s);je.draw(t,cn,null,{clipShape:dn(r,a,s,t.size),children:ln});let c=i.scope;if(!a||!c)return;let{focus:l,banding:f}=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:ie(r),tokenStates:Lt(r.lines,l.fade?[l.fade]:[],l.dim,l.ids),highlightActive:l.dim!==null||l.fade!==null,rowBands:f.bands,rowsEdit:f.fade,boxW:t.size.width})}function dn(t,e,o,i){let r={x:0,y:0,width:i.width,height:i.height};if(t.transition||!e)return new gt().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),f=new gt,u=0;for(let d=0;d<s.lineY.length;d++){let h=s.lineW[d]??0;if(h+c<=0)continue;let p=Math.min(s.startX+h,i.width/2),g=s.lineY[d],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;f.rect({x:(l+p)/2,y:k?g:(m+y)/2,width:p-l,height:k?2*a:m-y}),u++}return u>0?f:new gt().rect(r).rect(r).cut()}var un=[re];export{Y as BUILTIN_THEMES,re as Code,U as CodeRangeChain,ze as CodeRanges,T as DefaultHighlightStyle,Ht as GithubDarkStyle,Ft as GithubLightStyle,un as NODES,G as TokenAdvanceCache,_t as VscodeDarkStyle,Dt as VscodeLightStyle,D as canHighlight,ut as charOffsetsToRange,at as compileStyle,st as defaultCodeDiff,It as defaultCodePhases,$e as defineCode,it as drawCode,H as ensureHighlighter,Ye as findAllRanges,Bn as findFirstRange,Pe as findRangeAt,Oe as initSyntaxHighlighter,W as layoutCode,Ut as lines,Rn as listingOf,Ae as loadCodeLanguage,et as makeAnim,Ct as metricsSignature,B as moveProgress,N as normalizeSource,he as phasesFor,z as rangeToCharOffsets,Me as registerCodeTheme,K as resolveTheme,Lt as resolveTokenStates,ue as sampleCurve,ge as smoothstep,dt as tokenizeCodeToIdLines,R as windowProgress,Kt as word};
|
|
8
11
|
//# sourceMappingURL=index.js.map
|