@cmmd-center/forge 0.14.0 → 0.14.2
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/dist/bin.cjs +1891 -214
- package/dist/bin.mjs +1885 -208
- package/dist/client/assets/{CanvasPanel-BeSvnc85.js → CanvasPanel-Bk1rL0LG.js} +3 -3
- package/dist/client/assets/CompositeItem-D1GrQhpu.js +2 -0
- package/dist/client/assets/CompositeList-CEBk8sf_.js +2 -0
- package/dist/client/assets/DiffPanel-jC25MVg8.js +64 -0
- package/dist/client/assets/{DiffPanel.logic-42kqO7mO.js → DiffPanel.logic-DHo4jHZM.js} +6 -6
- package/dist/client/assets/{DiffWorkerPoolProvider-BO6WD83s.js → DiffWorkerPoolProvider-r1DUfA1d.js} +10 -10
- package/dist/client/assets/Effect-CyyMOw4X.js +15 -0
- package/dist/client/assets/PullRequestCodePanel-BWuWxI6X.js +5 -0
- package/dist/client/assets/Schema-8EGdYSms.js +3 -0
- package/dist/client/assets/Stream-Bvl2Z6qI.js +2 -0
- package/dist/client/assets/ThemeEditorPanel-BOkxNR3t.js +2 -0
- package/dist/client/assets/Virtualizer-DOL71mrP.js +2 -0
- package/dist/client/assets/WorkerPoolContext-gI2-7Koc.js +2538 -0
- package/dist/client/assets/activeOrganizationId-CySrJzMX.js +2 -0
- package/dist/client/assets/atomRegistry-CzI2zp7d.js +3 -0
- package/dist/client/assets/{canvasStateStore-DYt9MgFu.js → canvasStateStore-dUmp5NFj.js} +2 -2
- package/dist/client/assets/chevron-left-BXpfeqsT.js +2 -0
- package/dist/client/assets/chevron-right-B103tjaJ.js +2 -0
- package/dist/client/assets/cmmdAuthRedirect-CHlAAdAc.js +3 -0
- package/dist/client/assets/cmmdEmbedMode-DhVvltxi.js +2 -0
- package/dist/client/assets/currentForgeWorkspaceStore-eKCBxKgv.js +2 -0
- package/dist/client/assets/dialog-BfhVD7Kq.js +2 -0
- package/dist/client/assets/getPseudoElementBounds-DBf0dPO9.js +2 -0
- package/dist/client/assets/index-BS4FABiE.js +301 -0
- package/dist/client/assets/minus-CbEeUDFT.js +2 -0
- package/dist/client/assets/popover-D8qvi5AD.js +2 -0
- package/dist/client/assets/{react-D4GEJ3ir.js → react-A0DLYjwn.js} +2 -2
- package/dist/client/assets/scroll-area-BDuz0PnB.js +2 -0
- package/dist/client/assets/sidebarV2CustomSnoozeDialog-pxOuwuY2.js +2 -0
- package/dist/client/assets/src-7C4X1Oy2.js +2 -0
- package/dist/client/assets/switch-BeaQwtm7.js +2 -0
- package/dist/client/assets/{themePalette-BWvBK22X.js → themePalette-D4rx0k29.js} +2 -2
- package/dist/client/assets/toggle--uJ9LmDV.js +2 -0
- package/dist/client/assets/toggle-group-6UcL78FY.js +2 -0
- package/dist/client/assets/tooltip-C_eHCky0.js +2 -0
- package/dist/client/assets/useOpenInteractionType-BFjAYgzR.js +2 -0
- package/dist/client/assets/{workspaceReadinessAtom-D6bgTvKb.js → workspaceReadinessAtom-BIm13kLJ.js} +2 -2
- package/dist/client/index.html +33 -31
- package/dist/forge-build.json +1 -1
- package/package.json +1 -1
- package/dist/client/assets/CompositeItem-DTyKsv13.js +0 -2
- package/dist/client/assets/CompositeList-Bc8TYCyy.js +0 -2
- package/dist/client/assets/DiffPanel-WIR0Wi_H.js +0 -64
- package/dist/client/assets/PullRequestCodePanel-DtsLauMx.js +0 -5
- package/dist/client/assets/Stream-mUTFnSY9.js +0 -15
- package/dist/client/assets/ThemeEditorPanel-BCJuZ6ai.js +0 -2
- package/dist/client/assets/Virtualizer-BF0vG-Vw.js +0 -2
- package/dist/client/assets/WorkerPoolContext-D0Pi4ZUA.js +0 -1533
- package/dist/client/assets/atomRegistry-C1yW8tyM.js +0 -3
- package/dist/client/assets/chevron-left-1XbEOuXj.js +0 -2
- package/dist/client/assets/chevron-right-DAF000Jz.js +0 -2
- package/dist/client/assets/cmmdAuthRedirect-DRkKjx0G.js +0 -3
- package/dist/client/assets/cmmdForgeRuntimeListResource-TAp5gIIZ.js +0 -1008
- package/dist/client/assets/currentForgeWorkspaceStore-qwmFCpp4.js +0 -2
- package/dist/client/assets/dialog-C0bK23D8.js +0 -2
- package/dist/client/assets/getPseudoElementBounds-DJTX-eyW.js +0 -2
- package/dist/client/assets/index-BltXa50b.js +0 -301
- package/dist/client/assets/minus-_j91i8bf.js +0 -2
- package/dist/client/assets/popover-ClRgm7hB.js +0 -2
- package/dist/client/assets/scroll-area-BHqISEYq.js +0 -2
- package/dist/client/assets/sidebarV2CustomSnoozeDialog-lbAJoff_.js +0 -2
- package/dist/client/assets/src-B_wrKHuq.js +0 -3
- package/dist/client/assets/switch-BWQHMJkU.js +0 -2
- package/dist/client/assets/toggle-CORC1vE9.js +0 -2
- package/dist/client/assets/toggle-group-C9nAr6VB.js +0 -2
- package/dist/client/assets/tooltip-CrS-TEbN.js +0 -2
- package/dist/client/assets/useOpenInteractionType-KsRrk6uH.js +0 -2
- package/dist/client/assets/utils-xQJ3ak-X.js +0 -2
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t}from"./Effect-CyyMOw4X.js";import{R as n,z as r}from"./Stream-Bvl2Z6qI.js";import{s as i}from"./scroll-area-BDuz0PnB.js";import{C as a,a as o,c as s,i as c,s as l,t as u}from"./dialog-BfhVD7Kq.js";import{t as d}from"./switch-BeaQwtm7.js";import{n as f,t as p}from"./toggle-group-6UcL78FY.js";import{d as m,i as h,l as g,m as _,p as v,t as y}from"./themePalette-D4rx0k29.js";var b=e(t(),1);function x(e){let t=_(e);if(t===null)return null;let n=/^oklch\(([\d.]+) ([\d.]+) ([\d.]+)(?:\s*\/\s*[\d.]+)?\)$/.exec(t);return n===null?null:{L:Number(n[1]),C:Number(n[2]),h:Number(n[3])}}function S(e){let t={L:Math.min(1,Math.max(0,e.L)),C:Math.max(0,e.C),h:(e.h%360+360)%360};return v(`oklch(${t.L} ${t.C} ${t.h})`)}function C(e){let[t=0,n=0,r=0]=[1,3,5].map(t=>Number.parseInt(e.slice(t,t+2),16)/255).map(e=>e<=.04045?e/12.92:((e+.055)/1.055)**2.4);return .2126*t+.7152*n+.0722*r}function w(e,t){let[n,r]=[C(e),C(t)],[i,a]=n>=r?[n,r]:[r,n];return(i+.05)/(a+.05)}var T=4.6;function E(e){let t=x(e);if(t===null)return null;let n=n=>{let r=S({L:n,C:.008,h:t.h});return r===null?0:w(r,e)},r=n(1)>=n(0),i=r?-.005:.005;for(let n=+!!r;n>=0&&n<=1;n+=i){let r=S({L:n,C:.008,h:t.h});if(r!==null&&w(r,e)>=T)return r}return null}function D(e,t){let n=x(e);return n===null?null:S({...n,L:n.L+t})}var O=.035,k=.02;function A(e){let{backgroundHex:t,accentHex:n,appearance:r}=e,i=r===`dark`,a=i?O:k,o=E(t),s=D(t,a),c=D(t,a*1.6),l=D(t,i?-.015:-.035),u=D(t,i?.09:-.09),d=D(n,i?.08:-.04),f={},p=(e,t)=>{t!==null&&(f[e]=t)};return p(`background`,_(t)),p(`foreground`,o),p(`card`,s),p(`cardForeground`,o),p(`popover`,c),p(`popoverForeground`,o),p(`sidebar`,l),p(`sidebarForeground`,o),p(`sidebarBorder`,u),p(`primary`,_(n)),p(`primaryForeground`,E(n)),p(`secondary`,D(t,a*.8)),p(`secondaryForeground`,o),p(`muted`,D(t,i?.05:-.045)),p(`mutedForeground`,o),p(`accent`,d??_(n)),p(`accentForeground`,E(d??n)),p(`border`,u),p(`input`,D(t,i?.12:-.12)),f}var j=[{id:`surfaces`,title:`Surfaces`,roles:[`background`,`card`,`cardForeground`,`popover`,`popoverForeground`]},{id:`sidebar`,title:`Sidebar`,roles:[`sidebar`,`sidebarForeground`,`sidebarBorder`]},{id:`text`,title:`Text`,roles:[`foreground`,`muted`,`mutedForeground`]},{id:`interaction`,title:`Interaction`,roles:[`primary`,`primaryForeground`,`secondary`,`secondaryForeground`,`accent`,`accentForeground`,`border`,`input`]},{id:`status`,title:`Status`,roles:[`destructive`,`destructiveForeground`,`warning`,`warningForeground`,`success`,`successForeground`,`info`,`infoForeground`]}];function M(e){return e.replace(/([A-Z])/g,` $1`).replace(/^./,e=>e.toUpperCase())}function N(e){return M(e)}function P(e){let t=e.editing??e.seed;return{editingId:e.editing?.id??null,name:e.editing?.name??e.seedName??e.seed?.name??``,description:t?.description??``,...t?.collection?{collection:t.collection}:{},appearance:e.initialAppearance,colors:{light:t?.light??{},dark:t?.dark??{}}}}function F(e){let t=e.name.trim();if(t.length===0)return{error:`Name your theme first.`};let n=e.colors[e.appearance],r=e.appearance===`light`?`dark`:`light`,i=e.colors[r];try{return{theme:m({version:1,...e.editingId===null?{}:{id:e.editingId},name:t,appearance:e.appearance,colors:n,...Object.keys(i).length>0?{variants:{[r]:i}}:{},description:e.description,...e.collection?{collection:e.collection}:{}})}}catch(e){return{error:e instanceof Error?e.message:`The theme could not be saved.`}}}function I(e,t){let n=e[t];return n===void 0?null:v(n)}var L=n(),R=r();function z(e){let t=(0,L.c)(24),[n,r]=(0,b.useState)(null),[i,a]=(0,b.useState)(e.hex);i!==e.hex&&(a(e.hex),n!==null&&n.trim().toLowerCase()!==(e.hex??``).toLowerCase()&&r(null));let o=e.hex??`#000000`,s;t[0]===e?s=t[1]:(s=t=>{r(t),/^#(?:[\da-fA-F]{3}|[\da-fA-F]{6})$/.test(t.trim())&&e.onHexChange(t.trim())},t[0]=e,t[1]=s);let c=s,l;t[2]===e.label?l=t[3]:(l=(0,R.jsx)(`span`,{className:`min-w-0 flex-1 truncate text-[13px] text-foreground`,children:e.label}),t[2]=e.label,t[3]=l);let u=`${e.label} color`,d;t[4]===e?d=t[5]:(d=t=>{let n=t.currentTarget.value;r(n),e.onHexChange(_(n)===null?null:n)},t[4]=e,t[5]=d);let f;t[6]!==o||t[7]!==u||t[8]!==d?(f=(0,R.jsx)(`input`,{"aria-label":u,className:`h-7 w-9 shrink-0 cursor-pointer rounded-md border border-border bg-transparent p-0.5`,onChange:d,type:`color`,value:o}),t[6]=o,t[7]=u,t[8]=d,t[9]=f):f=t[9];let p=`${e.label} hex value`,m;t[10]===c?m=t[11]:(m=e=>c(e.currentTarget.value),t[10]=c,t[11]=m);let h=`${e.label}:${e.hex??``}`,g=n??e.hex??``,v;t[12]!==p||t[13]!==m||t[14]!==h||t[15]!==g?(v=(0,R.jsx)(`input`,{"aria-label":p,className:`h-7 w-24 shrink-0 rounded-md border border-border bg-transparent px-2 font-mono text-xs text-foreground`,onChange:m,value:g},h),t[12]=p,t[13]=m,t[14]=h,t[15]=g,t[16]=v):v=t[16];let y;t[17]===e?y=t[18]:(y=e.allowClear===!1||e.hex===null?null:(0,R.jsx)(`button`,{"aria-label":`Clear ${e.label} override`,className:`h-7 shrink-0 rounded-md px-2 text-xs text-muted-foreground hover:bg-accent hover:text-foreground`,onClick:()=>{r(null),e.onHexChange(null)},type:`button`,children:`Reset`}),t[17]=e,t[18]=y);let x;return t[19]!==l||t[20]!==y||t[21]!==f||t[22]!==v?(x=(0,R.jsxs)(`div`,{className:`flex items-center gap-2 py-1`,children:[l,f,v,y]}),t[19]=l,t[20]=y,t[21]=f,t[22]=v,t[23]=x):x=t[23],x}var B=`#fcfcfc`,V=`#171717`;function H(e,t){if(typeof window>`u`)return t;let n=getComputedStyle(document.documentElement).getPropertyValue(e).trim();return v(n)??t}function U(e){let t=e.editingTheme??e.seedTheme,n=e=>{let n=e===`light`?`dark`:`light`;return v(t?.[e].primary??t?.[n].primary??``)??H(`--primary`,`#c2410c`)};return{light:{backgroundHex:v(t?.light.background??``)??B,accentHex:n(`light`)},dark:{backgroundHex:v(t?.dark.background??``)??V,accentHex:n(`dark`)}}}var W=`__theme-editor-preview`;function G(e){return P({editing:e.editingTheme,seed:e.seedTheme,seedName:e.seedName??null,initialAppearance:e.initialAppearance})}function K(e){let[t,n]=(0,b.useState)(()=>G(e)),[r,m]=(0,b.useState)(()=>U({editingTheme:e.editingTheme,seedTheme:e.seedTheme,initialAppearance:e.initialAppearance})),[_,v]=(0,b.useState)(!1),[x,S]=(0,b.useState)(null),C=(0,b.useRef)(!1),w=(0,b.useRef)(e.restorePreview);w.current=e.restorePreview,(0,b.useEffect)(()=>{if(e.open)return y({id:W,name:t.name.trim()===``?`Theme preview`:t.name,description:``,light:t.colors.light,dark:t.colors.dark},t.appearance),()=>{C.current||w.current()}},[t.appearance,t.colors.dark,t.colors.light,t.name,e.open]);let T=(e,t)=>{n(n=>{let r=n.colors[n.appearance],i=t===null?Object.fromEntries(Object.entries(r).filter(([t])=>t!==e)):{...r,[e]:t};return{...n,colors:{...n.colors,[n.appearance]:i}}})},E=()=>{n(e=>({...e,colors:{...e.colors,[e.appearance]:A({backgroundHex:r[e.appearance].backgroundHex,accentHex:r[e.appearance].accentHex,appearance:e.appearance})}})),S(null)},D=()=>{let n=F(t);if(`error`in n){S(n.error);return}try{let r=t.editingId===null,i=r===!0?h(n.theme):g(n.theme);C.current=!0,e.onSaved(i,{created:r}),e.onOpenChange(!1)}catch(e){S(e instanceof Error?e.message:`Could not save the theme.`)}},O=r[t.appearance];return(0,R.jsx)(u,{onOpenChange:t=>{t||e.onOpenChange(!1)},open:e.open,children:(0,R.jsxs)(l,{className:`flex max-h-[min(46rem,calc(100dvh-2rem))] w-[34rem] max-w-[calc(100vw-2rem)] flex-col gap-4`,children:[(0,R.jsx)(o,{children:(0,R.jsx)(s,{children:t.editingId===null?`New theme`:`Edit theme`})}),(0,R.jsxs)(`div`,{className:`flex min-h-0 flex-1 flex-col gap-4 overflow-y-auto pr-1`,children:[(0,R.jsxs)(`label`,{className:`grid grid-cols-[minmax(0,9rem)_minmax(0,1fr)] items-center gap-3`,children:[(0,R.jsx)(`span`,{className:`text-sm font-medium`,children:`Theme name`}),(0,R.jsx)(a,{maxLength:48,onChange:e=>{let t=e.currentTarget.value;n(e=>({...e,name:t})),S(null)},placeholder:`e.g. Aurora`,value:t.name})]}),(0,R.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,R.jsx)(`span`,{className:`text-sm font-medium`,children:`Editing`}),(0,R.jsxs)(f,{"aria-label":`Appearance being edited`,onValueChange:e=>{let t=e[0];(t===`light`||t===`dark`)&&n(e=>({...e,appearance:t}))},value:[t.appearance],variant:`segmented`,children:[(0,R.jsx)(p,{value:`light`,children:`Light`}),(0,R.jsx)(p,{value:`dark`,children:`Dark`})]}),(0,R.jsxs)(`span`,{className:`ml-auto flex items-center gap-2 text-muted-foreground text-xs`,children:[(0,R.jsx)(d,{"aria-label":`Advanced role editing`,checked:_,onCheckedChange:e=>v(!!e)}),`Advanced`]})]}),(0,R.jsx)(`p`,{className:`text-muted-foreground text-xs`,children:`The preview is live across the app. Browse with the dialog open to judge it.`}),_?null:(0,R.jsxs)(`div`,{className:`flex flex-col gap-2 rounded-xl border border-border p-3`,children:[(0,R.jsx)(`p`,{className:`text-[13px] font-medium text-foreground`,children:`Start from two colors`}),(0,R.jsx)(z,{allowClear:!1,label:`Canvas`,hex:O.backgroundHex,onHexChange:e=>{e!==null&&m(n=>({...n,[t.appearance]:{...n[t.appearance],backgroundHex:e}}))}}),(0,R.jsx)(z,{allowClear:!1,label:`Accent`,hex:O.accentHex,onHexChange:e=>{e!==null&&m(n=>({...n,[t.appearance]:{...n[t.appearance],accentHex:e}}))}}),(0,R.jsx)(i,{className:`self-start`,onClick:E,size:`sm`,variant:`outline`,children:`Derive palette`})]}),_?(0,R.jsx)(`div`,{className:`flex flex-col gap-4`,children:j.map(e=>(0,R.jsxs)(`section`,{children:[(0,R.jsx)(`h3`,{className:`mb-1 text-[13px] font-medium text-muted-foreground`,children:e.title}),e.roles.map(e=>(0,R.jsx)(z,{label:N(e),hex:I(t.colors[t.appearance],e),onHexChange:t=>T(e,t)},e))]},e.id))}):null,x===null?null:(0,R.jsx)(`p`,{className:`text-destructive text-sm`,role:`alert`,children:x})]}),(0,R.jsxs)(c,{children:[(0,R.jsx)(i,{onClick:()=>{e.onOpenChange(!1)},size:`sm`,variant:`outline`,children:`Cancel`}),(0,R.jsx)(i,{onClick:D,size:`sm`,children:`Save theme`})]})]})})}export{K as ThemeEditorPanel};
|
|
2
|
+
//# sourceMappingURL=ThemeEditorPanel-BOkxNR3t.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{Ha as t}from"./Effect-CyyMOw4X.js";import{Bl as n,Gt as r,Xt as i,Yn as a,Zt as o,gr as s}from"./WorkerPoolContext-gI2-7Koc.js";import{R as c,z as l}from"./Stream-Bvl2Z6qI.js";import{dn as u}from"./CompositeItem-D1GrQhpu.js";import{Nt as d}from"./src-7C4X1Oy2.js";function f(e){return n({from:e.from,strict:e.strict,shouldThrow:e.shouldThrow,structuralSharing:e.structuralSharing,select:t=>e.select?e.select(t.search):t.search})}var p=u(`file-diff`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M9 10h6`,key:`9gxzsh`}],[`path`,{d:`M12 13V7`,key:`h0r20n`}],[`path`,{d:`M9 17h6`,key:`r8uit2`}]]);function m(e){return e.threadWorktreePath??e.projectCwd??void 0}function h(e){return e?.isRepo??!0}var g=l(),_=c();function v(e,t){return e==null||t==null?e===t:e.top===t.top&&e.bottom===t.bottom}var y=1e3,b=y*4,x=[0,1e-6,.99999,1],S={overscrollSize:y,intersectionObserverMargin:b,resizeDebugging:!1},C=0,w=-1,T=class e{static __STOP=!1;static __lastScrollPosition=0;__id=`virtualizer-${++w}`;config;type=`simple`;intersectionObserver;scrollTop=0;height=0;scrollHeight=0;windowSpecs={top:0,bottom:0};root;contentContainer;resizeObserver;observers=new Map;visibleInstances=new Map;visibleInstancesDirty=!1;instancesChanged=new Set;reconcileQueue=new Set;scrollDirty=!0;heightDirty=!0;scrollHeightDirty=!0;renderedObservers=0;connectQueue=new Map;constructor(e){this.config={...S,...e}}setup(t,n){if(this.root==null){this.root=t,this.resizeObserver=new ResizeObserver(this.handleContainerResize),this.intersectionObserver=new IntersectionObserver(this.handleIntersectionChange,{root:this.root,threshold:x,rootMargin:`${this.config.intersectionObserverMargin}px 0px ${this.config.intersectionObserverMargin}px 0px`}),t instanceof Document?this.setupWindow():this.setupElement(n),window.__INSTANCE=this,window.__TOGGLE=()=>{e.__STOP?(e.__STOP=!1,(this.getScrollContainerElement()??window).scrollTo({top:e.__lastScrollPosition}),o(this.computeRenderRangeAndEmit)):(e.__lastScrollPosition=this.getScrollTop(),e.__STOP=!0)};for(let[e,t]of this.connectQueue.entries())this.connect(e,t);this.connectQueue.clear(),this.markDOMDirty(),o(this.computeRenderRangeAndEmit)}}instanceChanged(e,t){this.instancesChanged.add(e),t&&this.markDOMDirty(),o(this.computeRenderRangeAndEmit)}requestHeightReconcile(e){this.reconcileQueue.add(e),o(this.computeRenderRangeAndEmit)}getWindowSpecs(){return this.windowSpecs.top===0&&this.windowSpecs.bottom===0&&(this.windowSpecs=r({scrollTop:this.getScrollTop(),height:this.getHeight(),scrollHeight:this.getScrollHeight(),overscrollSize:this.config.overscrollSize})),this.windowSpecs}getRoot(){return this.root}isInstanceVisible(e,t){let n=this.getScrollTop(),r=this.getHeight(),i=this.config.intersectionObserverMargin,a=n-i,o=n+r+i;return!(e<a-t||e>o)}handleContainerResize=e=>{if(this.root==null)return;let t=!1;for(let n of e){let e=n.borderBoxSize[0].blockSize;this.root instanceof Document?e!==this.scrollHeight&&(this.scrollHeightDirty=!0,t=!0,this.config.resizeDebugging&&(console.log(`Virtualizer: content size change`,this.__id,{sizeChange:e-C,newSize:e}),C=e)):n.target===this.root?e!==this.height&&(this.heightDirty=!0,t=!0):n.target===this.contentContainer&&(this.scrollHeightDirty=!0,t=!0,this.config.resizeDebugging&&(console.log(`Virtualizer: scroller size change`,this.__id,{sizeChange:e-C,newSize:e}),C=e))}t&&o(this.computeRenderRangeAndEmit)};setupWindow(){if(this.root==null||!(this.root instanceof Document))throw Error(`Virtualizer.setupWindow: Invalid setup method`);window.addEventListener(`scroll`,this.handleWindowScroll,{passive:!0}),window.addEventListener(`resize`,this.handleWindowResize,{passive:!0}),this.resizeObserver?.observe(this.root.documentElement)}setupElement(e){if(this.root==null||this.root instanceof Document)throw Error(`Virtualizer.setupElement: Invalid setup method`);this.root.addEventListener(`scroll`,this.handleElementScroll,{passive:!0}),this.resizeObserver?.observe(this.root),e??=this.root.firstElementChild??void 0,e instanceof HTMLElement&&(this.contentContainer=e,this.resizeObserver?.observe(e))}cleanUp(){i(this.computeRenderRangeAndEmit),this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.intersectionObserver?.disconnect(),this.intersectionObserver=void 0,this.root?.removeEventListener(`scroll`,this.handleElementScroll),window.removeEventListener(`scroll`,this.handleWindowScroll),window.removeEventListener(`resize`,this.handleWindowResize),this.root=void 0,this.contentContainer=void 0,this.observers.clear(),this.visibleInstances.clear(),this.instancesChanged.clear(),this.reconcileQueue.clear(),this.connectQueue.clear(),this.visibleInstancesDirty=!1,this.windowSpecs={top:0,bottom:0},this.scrollTop=0,this.height=0,this.scrollHeight=0,this.scrollDirty=!0,this.heightDirty=!0,this.scrollHeightDirty=!0}getOffsetInScrollContainer(e){return this.getScrollTop()+E(e,this.getScrollContainerElement())}connect(e,t){if(this.observers.has(e))throw Error(`Virtualizer.connect: instance is already connected...`);return this.intersectionObserver==null?this.connectQueue.set(e,t):(this.intersectionObserver.observe(e),this.observers.set(e,t),this.instancesChanged.add(t),this.markDOMDirty(),o(this.computeRenderRangeAndEmit)),()=>this.disconnect(e)}disconnect(e){let t=this.observers.get(e);this.connectQueue.delete(e),t!=null&&(this.intersectionObserver?.unobserve(e),this.observers.delete(e),this.instancesChanged.delete(t),this.reconcileQueue.delete(t),this.visibleInstances.delete(e)&&(this.visibleInstancesDirty=!0),this.markDOMDirty(),o(this.computeRenderRangeAndEmit))}handleWindowResize=()=>{e.__STOP||window.innerHeight===this.height||(this.heightDirty=!0,o(this.computeRenderRangeAndEmit))};handleWindowScroll=()=>{e.__STOP||this.root==null||!(this.root instanceof Document)||(this.scrollDirty=!0,o(this.computeRenderRangeAndEmit))};handleElementScroll=()=>{e.__STOP||this.root==null||this.root instanceof Document||(this.scrollDirty=!0,o(this.computeRenderRangeAndEmit))};computeRenderRangeAndEmit=()=>{if(e.__STOP)return;let t=this.heightDirty||this.scrollHeightDirty,n=this.instancesChanged.size>0;if(this.instancesChanged.size===0){let e=r({scrollTop:this.getScrollTop(),height:this.getHeight(),scrollHeight:this.getScrollHeight(),overscrollSize:this.config.overscrollSize});if(!t&&v(this.windowSpecs,e)&&this.renderedObservers===this.observers.size&&!this.visibleInstancesDirty&&this.reconcileQueue.size===0)return;this.windowSpecs=e}this.visibleInstancesDirty=!1,this.renderedObservers=this.observers.size;let i=this.getScrollAnchor(this.height),a=new Set;for(let e of t?this.observers.values():this.visibleInstances.values())e.onRender(t)&&a.add(e);for(let e of this.instancesChanged)a.has(e)||e.onRender(t)&&a.add(e);this.scrollFix(i);for(let e of a)this.reconcileQueue.delete(e),e.reconcileHeights();for(let e of this.reconcileQueue)e.reconcileHeights()&&(n=!0);this.reconcileQueue.clear(),n||=this.instancesChanged.size>0,n&&this.markDOMDirty(),(n||t)&&o(this.computeRenderRangeAndEmit),a.clear(),this.instancesChanged.clear()};scrollFix(e){if(e==null)return;let t=this.getScrollContainerElement(),{lineIndex:n,lineOffset:r,fileElement:i,fileOffset:a,fileTypeOffset:o}=e;if(n!=null&&r!=null){let e=i.shadowRoot?.querySelector(`[data-line][data-line-index="${n}"]`);if(e instanceof HTMLElement){let n=E(e,t);if(n!==r){let e=n-r;this.applyScrollFix(e)}return}}let s=E(i,t);if(o===`top`)s!==a&&this.applyScrollFix(s-a);else{let e=s+i.getBoundingClientRect().height;e!==a&&this.applyScrollFix(e-a)}}applyScrollFix(e){this.root==null||this.root instanceof Document?window.scrollTo({top:window.scrollY+e,behavior:`instant`}):this.root.scrollTo({top:this.root.scrollTop+e,behavior:`instant`}),this.markDOMDirty()}getScrollAnchor(e){let t=this.getScrollContainerElement(),n;for(let[r]of this.visibleInstances.entries()){let i=E(r,t),a=i+r.offsetHeight,o,s;a<=0?(o=a,s=`bottom`):(o=i,s=`top`);let c,l;if(a>0&&i<e)for(let e of r.shadowRoot?.querySelectorAll(`[data-line][data-line-index]`)??[]){if(!(e instanceof HTMLElement))continue;let n=e.dataset.lineIndex;if(n==null)continue;let r=E(e,t);if(!(r<0)){c=n,l=r;break}}if(n?.lineOffset!=null&&l==null)continue;let u=!1;(n==null||l!=null&&(n.lineOffset==null||l<n.lineOffset)||l==null&&n.lineOffset==null&&(o>=0&&(n.fileOffset<0||o<n.fileOffset)||o<0&&n.fileOffset<0&&o>n.fileOffset))&&(u=!0),u&&(n={fileElement:r,fileTypeOffset:s,fileOffset:o,lineIndex:c,lineOffset:l})}return n}handleIntersectionChange=e=>{this.scrollDirty=!0;for(let{target:t,isIntersecting:n}of e){if(!(t instanceof HTMLElement))throw Error(`Virtualizer.handleIntersectionChange: target not an HTMLElement`);let e=this.observers.get(t);e!=null&&(n&&!this.visibleInstances.has(t)?(e.setVisibility(!0),this.visibleInstances.set(t,e),this.visibleInstancesDirty=!0):!n&&this.visibleInstances.has(t)&&(e.setVisibility(!1),this.visibleInstances.delete(t),this.visibleInstancesDirty=!0))}this.visibleInstancesDirty&&o(this.computeRenderRangeAndEmit)};getScrollTop(){if(!this.scrollDirty)return this.scrollTop;this.scrollDirty=!1;let e=this.root==null?0:this.root instanceof Document?window.scrollY:this.root.scrollTop;return e=this.clampScrollTop(e),this.scrollTop=e,e}scrollTo({top:e,behavior:t=`auto`}){let{root:n}=this;if(n==null)return;let r=this.clampScrollTop(e);n instanceof Document?window.scrollTo({top:r,behavior:t}):n.scrollTo({top:r,behavior:t}),this.scrollDirty=!0,o(this.computeRenderRangeAndEmit)}clampScrollTop(e){return Math.max(0,Math.min(e,this.getScrollHeight()-this.getHeight()))}getScrollHeight(){return this.scrollHeightDirty?(this.scrollHeightDirty=!1,this.scrollHeight=this.root==null?0:this.root instanceof Document?this.root.documentElement.scrollHeight:this.root.scrollHeight,this.scrollHeight):this.scrollHeight}getHeight(){return this.heightDirty?(this.heightDirty=!1,this.height=this.root==null?0:this.root instanceof Document?globalThis.innerHeight:this.root.getBoundingClientRect().height,this.height):this.height}markDOMDirty(){this.scrollDirty=!0,this.scrollHeightDirty=!0,this.heightDirty=!0}getScrollContainerElement(){return this.root==null||this.root instanceof Document?void 0:this.root}};function E(e,t){let n=e.getBoundingClientRect(),r=t?.getBoundingClientRect().top??0;return n.top-r}var D=a.filter(e=>e!==`file`&&e!==`pull-request`);function O(e){return e===`1`||e===1||e===!0}function k(e){return e===`0`||e===0||e===!1}function A(e){if(typeof e!=`string`)return;let t=e.trim();return t.length>0?t:void 0}function j(e){return typeof e==`string`&&D.includes(e)}function M(e){let t=new Set,n=[];for(let r of e)t.has(r)||(t.add(r),n.push(r));return n}function N(e){if(Array.isArray(e))return M(e.filter(j));if(typeof e!=`string`)return[];let t=e.trim();if(t.startsWith(`[`)&&t.endsWith(`]`))try{let e=JSON.parse(t);return Array.isArray(e)?M(e.filter(j)):[]}catch{return[]}return M(t.split(`,`).map(e=>e.trim()).filter(j))}function P(e){if(O(e.canvas))return`canvas`;if(O(e.preview))return`preview`;if(O(e.diff))return`diff`}function F(e,t){let n=N(e.rightPanelTabs),r=M(t&&!n.includes(t)?[...n,t]:n),i=A(e.rightPanelTabs)!==void 0,a=O(e.rightPanelOpen),o=k(e.rightPanelOpen);return{rightPanelOpen:a?!0:!o&&i,rightPanelTabs:r,stated:a||o||i,hasExplicitTabs:i}}function I(e,t){if(t===`preview`){let t=A(e.previewTabId);return t?{previewTabId:t}:{}}if(t!==`diff`)return{};let n=A(e.diffTurnId);if(!n)return{};let r=d.make(n),i=A(e.diffFilePath);return i?{diffTurnId:r,diffFilePath:i}:{diffTurnId:r}}function L(e){let t=(j(e.rightPanel)?e.rightPanel:void 0)??P(e),n=F(e,t);return{...n.stated?{rightPanelOpen:n.rightPanelOpen}:{},...t?{rightPanel:t}:{},...n.hasExplicitTabs&&n.rightPanelTabs.length>0?{rightPanelTabs:n.rightPanelTabs}:{},...I(e,t)}}function R(e){let t=(0,_.c)(6),n;bb0:{if(!e){let e;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=[],t[0]=e):e=t[0],n=e;break bb0}n=e.turnDiffSummaries}let r=n,i,a;t[1]===r?a=t[2]:(a=s(r),t[1]=r,t[2]=a),i=a;let o=i,c;return t[3]!==o||t[4]!==r?(c={turnDiffSummaries:r,inferredCheckpointTurnCountByTurnId:o},t[3]=o,t[4]=r,t[5]=c):c=t[5],c}function z(e,t){return typeof window>`u`&&t!=null?(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(`template`,{shadowrootmode:`open`,dangerouslySetInnerHTML:{__html:t}}),e]}):(0,g.jsx)(g.Fragment,{children:e})}var B=e(t(),1),V=(0,B.createContext)(void 0);function H({children:e,config:t,className:n,style:r,contentClassName:i,contentStyle:a}){let[o]=(0,B.useState)(()=>typeof window<`u`?new T(t):void 0),s=(0,B.useCallback)(e=>{e==null?o?.cleanUp():o?.setup(e)},[o]);return(0,g.jsx)(V.Provider,{value:o,children:(0,g.jsx)(`div`,{className:n,style:r,ref:s,children:(0,g.jsx)(`div`,{className:i,style:a,children:e})})})}function U(){return(0,B.useContext)(V)}export{L as a,p as c,R as i,f as l,U as n,m as o,z as r,h as s,H as t};
|
|
2
|
+
//# sourceMappingURL=Virtualizer-DOL71mrP.js.map
|