silvery 0.16.0 → 0.16.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/ink.js CHANGED
@@ -135,4 +135,4 @@ ${freshText}`;throw new IncrementalRenderMismatchError(msg,{renderPhaseStats,mis
135
135
  `);while(lines.length>0&&lines[lines.length-1]==="")lines.pop();output=lines.join(`
136
136
  `)}if(stripAnsi3(output).trim()===""){if(staticStore.fullStaticOutput)return staticStore.fullStaticOutput.replace(/\n$/,"");return""}let dynamicOutput=restoreColonFormatSGR(output);if(colonSGRTracker.clear(),staticStore.fullStaticOutput)return staticStore.fullStaticOutput+dynamicOutput;return dynamicOutput}function needsLayoutRecalculation(node){let current=node;while(current){if(current.layoutDirty||isDirty(current.dirtyBits,current.dirtyEpoch,SUBTREE_BIT)||isDirty(current.dirtyBits,current.dirtyEpoch,CHILDREN_BIT))return!0;current=current.parent}return!1}function measureElement2(nodeOrHandle){let node=typeof nodeOrHandle?.getNode==="function"?nodeOrHandle.getNode():nodeOrHandle;if(!node)return{width:0,height:0};if(node.boxRect&&!needsLayoutRecalculation(node))return measureElement(node);let root=node;while(root.parent)root=root.parent;if(root.layoutNode){let termWidth=process.stdout?.columns||100,termHeight=process.stdout?.rows||24;try{calculateLayout(root,termWidth,termHeight)}catch{}}return measureElement(node)}init_ansi2();init_unicode();var cache=new Map;function measureText2(text){if(text.length===0)return{width:0,height:0};let cached=cache.get(text);if(cached)return cached;let result=measureText(text);return cache.set(text,result),result}export{useWindowSize,useStdout,useStdin,useStderr,usePaste,useIsScreenReaderEnabled,useInput,useFocusManager,useFocus,useCursor,useBoxMetrics,useApp,useAnimation,term,stripSilveryVS16,restoreColonFormatSGR,resolveFlags,renderToString,render3 as render,measureText2 as measureText,measureElement2 as measureElement,kittyModifiers,kittyFlags,initInkCompat,currentChalkLevel,createTerm,backgroundContext,Transform,Text3 as Text,Static2 as Static,Spacer,Newline,Box3 as Box};
137
137
 
138
- //# debugId=A7A4C1D0E88B83A464756E2164756E21
138
+ //# debugId=32A9CA6C11AB99F364756E2164756E21
package/dist/runtime.js CHANGED
@@ -128,4 +128,4 @@ ${stack}
128
128
  `)}if(_perfSpan)checkBudget(events[0]?.type??"batch",performance.now()-_eventStart);return currentBuffer}catch(_catch){var _err=_catch,_hasErr=1}finally{__callDispose(__stack,_err,_hasErr)}}let eventQueue=[],eventQueueResolve=null;return(async()=>{let providerEventStreams=Object.entries(providers).map(([name,provider])=>createProviderEventStream(name,provider)),allEvents=merge(...providerEventStreams),pumpEvents=async()=>{try{for await(let event of takeUntil(allEvents,signal2)){if(eventQueue.push(event),eventQueueResolve){let resolve=eventQueueResolve;eventQueueResolve=null,resolve()}if(shouldExit)break}}finally{if(eventQueueResolve){let resolve=eventQueueResolve;eventQueueResolve=null,resolve()}}};if(needsProbe)try{let wasRaw=stdin.isRaw;if(stdin.isTTY&&!wasRaw)stdin.setRawMode(!0),stdin.resume(),stdin.setEncoding("utf8");let probeResult=await detectTextSizingSupport((data)=>outputGuard?outputGuard.writeStdout(data):stdout.write(data),()=>new Promise((resolve)=>{let onData=(data)=>{stdin.off("data",onData),resolve(data)};stdin.on("data",onData)}),500);if(probeResult.supported!==textSizingEnabled){if(textSizingEnabled=probeResult.supported,effectiveCaps)effectiveCaps={...effectiveCaps,textSizingSupported:textSizingEnabled},pipelineConfig=createPipeline({caps:effectiveCaps}),runtime.setOutputPhaseFn(pipelineConfig.outputPhaseFn);if(_ag=null,runtime.invalidate(),!isRendering){isRendering=!0;try{currentBuffer=doRender(),runtime.render(currentBuffer)}finally{isRendering=!1}}}if(stdin.isTTY&&!wasRaw)stdin.setRawMode(!1),stdin.pause()}catch{}if(needsWidthDetection)try{let wasRaw=stdin.isRaw;if(stdin.isTTY&&!wasRaw)stdin.setRawMode(!0),stdin.resume(),stdin.setEncoding("utf8");let stdinHandlers=[],stdinListener=(data)=>{for(let handler of stdinHandlers)handler(data)};stdin.on("data",stdinListener);let detector=createWidthDetector({write:(data)=>outputGuard?outputGuard.writeStdout(data):stdout.write(data),onData:(handler)=>{return stdinHandlers.push(handler),()=>{let idx=stdinHandlers.indexOf(handler);if(idx>=0)stdinHandlers.splice(idx,1)}},timeoutMs:200}),widthConfig=await detector.detect();if(detector.dispose(),stdin.off("data",stdinListener),effectiveCaps){let updatedCaps=applyWidthConfig(effectiveCaps,widthConfig);if(updatedCaps.textEmojiWide!==effectiveCaps.textEmojiWide||updatedCaps.textSizingSupported!==effectiveCaps.textSizingSupported){if(effectiveCaps=updatedCaps,pipelineConfig=createPipeline({caps:effectiveCaps}),runtime.setOutputPhaseFn(pipelineConfig.outputPhaseFn),_ag=null,runtime.invalidate(),!isRendering){isRendering=!0;try{currentBuffer=doRender(),runtime.render(currentBuffer)}finally{isRendering=!1}}}}if(stdin.isTTY&&!wasRaw)stdin.setRawMode(!1),stdin.pause()}catch{}if(pumpEvents().catch((err)=>log11.error?.(`pumpEvents failed: ${err}`)),focusReportingOption&&!focusReportingEnabled)enableFocusReporting((s)=>outputGuard?outputGuard.writeStdout(s):stdout.write(s)),focusReportingEnabled=!0;try{while(!shouldExit&&!signal2.aborted){if(eventQueue.length===0)await new Promise((resolve)=>{eventQueueResolve=resolve,signal2.addEventListener("abort",()=>resolve(),{once:!0})});if(shouldExit||signal2.aborted)break;if(eventQueue.length===0)continue;let maxDrainSpins=32,drainSpins=0,yieldToEventLoop=()=>new Promise((resolve)=>setImmediate(resolve));await yieldToEventLoop();let prevLen=eventQueue.length;while(drainSpins<maxDrainSpins){await yieldToEventLoop();let curLen=eventQueue.length;if(curLen===prevLen)break;prevLen=curLen,drainSpins++}if(_perfLog)__require("node:fs").appendFileSync("/tmp/silvery-perf.log",`DRAIN: spins=${drainSpins}, batch=${eventQueue.length}
129
129
  `);let _g=globalThis;_g.__silvery_last_drain_spins=drainSpins,_g.__silvery_last_batch_size=eventQueue.length,_g.__silvery_batch_count=(_g.__silvery_batch_count??0)+1;let buf=await processEventBatch(eventQueue.splice(0));if(buf)emitFrame(buf)}}finally{if(framesDone=!0,frameResolve){let resolve=frameResolve;frameResolve=null,resolve(null)}if(shouldExit&&!cleanedUp&&!headless&&stdin.isTTY)try{stdin.removeAllListeners("data"),stdin.resume(),await new Promise((resolve)=>setTimeout(resolve,15));while(stdin.read()!==null);stdin.pause()}catch{}cleanup(),exitResolve()}})().catch((err)=>log11.error?.(`eventLoop failed: ${err}`)),{get text(){return currentBuffer.text},get root(){return getContainerRoot(container)},get buffer(){return currentBuffer?._buffer??null},get store(){return store},waitUntilExit(){return exitPromise},unmount(){exit()},[Symbol.dispose](){exit()},async press(rawKey){let __stack=[];try{let pressStart=performance.now();let ansiKey=useKittyMode?keyToKittyAnsi(rawKey):keyToAnsi(rawKey);let[input,parsedKey]=parseKey(ansiKey);const _perfSpan=__using(__stack,perfLog.span?.("keypress",(()=>{return startTracking(),{key:input||rawKey}})()),0);if(input==="c"&&parsedKey.ctrl&&exitOnCtrlCOption){if(onInterruptHook?.()!==!1){exit();return}}for(let listener of runtimeInputListeners)listener(input,parsedKey);inEventHandler=!0;isRendering=!0;let focusResult=handleFocusNavigation(input,parsedKey,focusManager,container);if(focusResult==="consumed"){if(pendingRerender=!1,isRendering=!1,inEventHandler=!1,doRender(),await Promise.resolve(),_perfSpan)checkBudget(input||rawKey,performance.now()-pressStart);return}let handlerCtx=createHandlerContext(store,focusManager,container);if(dispatchKeyToHandlers(input,parsedKey,handlers,handlerCtx)==="exit"){isRendering=!1,inEventHandler=!1,exit();return}pendingRerender=!1;try{currentBuffer=doRender()}finally{isRendering=!1}let flushCount=0;let maxFlushes=5;while(flushCount<maxFlushes){if(await Promise.resolve(),!pendingRerender)break;pendingRerender=!1,isRendering=!0;try{currentBuffer=doRender()}finally{isRendering=!1}flushCount++}if(flushCount>0)currentBuffer._buffer.markAllRowsDirty();inEventHandler=!1;runtime.render(currentBuffer);if(_perfSpan)checkBudget(input||rawKey,performance.now()-pressStart)}catch(_catch){var _err=_catch,_hasErr=1}finally{__callDispose(__stack,_err,_hasErr)}},[Symbol.asyncIterator](){return{async next(){if(framesDone||shouldExit)return{done:!0,value:void 0};let buf=await new Promise((resolve)=>{if(framesDone||shouldExit){resolve(null);return}frameResolve=resolve});if(!buf)return{done:!0,value:void 0};return{done:!1,value:buf}},async return(){return exit(),{done:!0,value:void 0}}}}}}init_derive2();init_src2();init_nord();init_catppuccin();async function detectTheme2(opts={}){let colorLevel=opts.caps?.colorLevel;if(colorLevel==="none"||colorLevel==="basic")return opts.caps?.darkBackground??!0?ansi16DarkTheme:ansi16LightTheme;let detected=await detectTerminalPalette(opts.timeoutMs),isDark=detected?.dark??opts.caps?.darkBackground??!0,fallback=opts.fallback??(isDark?nord:catppuccinLatte);if(!detected)return deriveTheme(fallback);let merged={...fallback,...stripNulls(detected.palette)};return deriveTheme(merged)}function stripNulls(partial){let result={};for(let[k,v]of Object.entries(partial))if(v!=null)result[k]=v;return result}init_state();init_palettes();import React6,{createContext as createContext5,useContext as useContext4}from"react";var ThemeContext=createContext5(defaultDarkTheme);function ThemeProvider({theme,children}){return setActiveTheme(theme),React6.createElement(ThemeContext.Provider,{value:theme},children)}import{useContext as useContext5,useEffect as useEffect3,useRef as useRef4}from"react";init_keys();function useInput(inputHandler,options={}){let rt=useContext5(RuntimeContext),{isActive=!0,onPaste,onRelease}=options,handlerRef=useRef4(inputHandler);handlerRef.current=inputHandler;let onPasteRef=useRef4(onPaste);onPasteRef.current=onPaste;let onReleaseRef=useRef4(onRelease);onReleaseRef.current=onRelease,useEffect3(()=>{if(!isActive||!rt)return;return rt.on("input",(input,key)=>{if(isModifierOnlyEvent(input,key))return;if(key.eventType==="release"){onReleaseRef.current?.(input,key);return}if(handlerRef.current(input,key)==="exit")rt.exit()})},[isActive,rt]),useEffect3(()=>{if(!isActive||!rt)return;return rt.on("paste",(text)=>{onPasteRef.current?.(text)})},[isActive,rt])}import{useContext as useContext6}from"react";function useExit(){let rt=useContext6(RuntimeContext);if(!rt)throw Error("useExit must be used within run() or createApp()");return rt.exit}import{useContext as useContext7,useEffect as useEffect4,useRef as useRef5}from"react";function usePasteCallback(handler){let rt=useContext7(RuntimeContext),handlerRef=useRef5(handler);handlerRef.current=handler,useEffect4(()=>{if(!rt)return;return rt.on("paste",(text)=>{handlerRef.current(text)})},[rt])}import{jsxDEV as jsxDEV2}from"react/jsx-dev-runtime";async function run2(element,optionsOrTerm={},termOptions){if(isTerm2(optionsOrTerm)){let term2=optionsOrTerm;if(term2._emulator){let{EventEmitter}=await import("node:events"),stdinEmitter=new EventEmitter,mockStdin=Object.assign(stdinEmitter,{isTTY:!0,isRaw:!1,fd:0,setRawMode(_mode){return mockStdin.isRaw=_mode,mockStdin},read(){return null},resume(){return mockStdin},pause(){return mockStdin},ref(){return mockStdin},unref(){return mockStdin},setEncoding(){return mockStdin}});if(term2.sendInput)term2.sendInput=(data)=>{stdinEmitter.emit("data",data)};let altScreen=termOptions?.mode==="inline"?!1:!0,handle3=await createApp(()=>()=>({})).run(element,{alternateScreen:altScreen,...termOptions,stdin:mockStdin,stdout:term2.stdout,guardOutput:!1,cols:term2.cols??80,rows:term2.rows??24});return wrapHandle(handle3)}let caps2=term2.caps??detectTerminalCaps(),theme=await detectTheme2(),themed2=jsxDEV2(ThemeProvider,{theme,children:element},void 0,!1,void 0,this),handle2=await createApp(()=>()=>({})).run(themed2,{term:term2,stdout:term2.stdout,stdin:term2.stdin,cols:term2.cols??void 0,rows:term2.rows??void 0,caps:caps2,alternateScreen:!0,kitty:caps2.kittyKeyboard,mouse:!0,focusReporting:!0,textSizing:"auto",widthDetection:"auto"});return wrapHandle(handle2)}let{mode,...rest}=optionsOrTerm,caps=rest.caps??detectTerminalCaps(),themed=rest.writable!=null||rest.cols!=null&&rest.rows!=null&&!rest.stdout?element:await detectTheme2().then((theme)=>jsxDEV2(ThemeProvider,{theme,children:element},void 0,!1,void 0,this)),handle=await createApp(()=>()=>({})).run(themed,{...rest,caps,alternateScreen:mode!=="inline",virtualInline:mode==="virtualInline",kitty:rest.kitty??caps.kittyKeyboard,mouse:rest.mouse??mode!=="inline",focusReporting:rest.focusReporting??mode!=="inline",textSizing:rest.textSizing??"auto",widthDetection:rest.widthDetection??"auto"});return wrapHandle(handle)}function isTerm2(obj){if(obj==null)return!1;if(typeof obj!=="object"&&typeof obj!=="function")return!1;let o=obj;return typeof o.getState==="function"&&typeof o.events==="function"}function wrapHandle(handle){return{get text(){return handle.text},get root(){return handle.root},get buffer(){return handle.buffer},waitUntilExit:()=>handle.waitUntilExit(),unmount:()=>handle.unmount(),[Symbol.dispose]:()=>handle[Symbol.dispose](),press:(key)=>handle.press(key)}}init_keys2();var none={type:"none"};function withFocusManagement(){return(innerUpdate)=>(msg,model)=>{switch(msg.type){case"focus":{let focusMsg=msg;return[{...model,focus:{...model.focus,previousId:model.focus.activeId,activeId:focusMsg.nodeId,origin:focusMsg.origin??"programmatic",scopeMemory:model.focus.scopeStack.length>0?{...model.focus.scopeMemory,[model.focus.scopeStack[model.focus.scopeStack.length-1]]:focusMsg.nodeId}:model.focus.scopeMemory}},[none]]}case"blur":return[{...model,focus:{...model.focus,previousId:model.focus.activeId,activeId:null,origin:null}},[none]];case"scope-enter":{let scopeMsg=msg;return[{...model,focus:{...model.focus,scopeStack:[...model.focus.scopeStack,scopeMsg.scopeId]}},[none]]}case"scope-exit":return[{...model,focus:{...model.focus,scopeStack:model.focus.scopeStack.slice(0,-1)}},[none]];default:return innerUpdate(msg,model)}}}function silveryUpdate(_msg,model){return[model,[none]]}function defaultInit(){return[{focus:{activeId:null,previousId:null,origin:null,scopeStack:[],scopeMemory:{}}},[none]]}function createStore2(config){let[initialModel,initialEffects]=config.init(),model=initialModel,listeners=new Set;function notify2(){for(let listener of listeners)listener()}let isDispatching=!1,dispatchQueue=[];function executeEffects(effects){for(let effect2 of effects)executeEffect(effect2)}function executeEffect(effect2){switch(effect2.type){case"none":break;case"batch":executeEffects(effect2.effects);break;case"dispatch":dispatchQueue.push(effect2.msg);break}}function dispatch(msg){if(isDispatching){dispatchQueue.push(msg);return}isDispatching=!0;try{let[newModel,effects]=config.update(msg,model),changed=newModel!==model;if(model=newModel,executeEffects(effects),changed)notify2();while(dispatchQueue.length>0){let queued2=dispatchQueue.shift(),[nextModel,nextEffects]=config.update(queued2,model),nextChanged=nextModel!==model;if(model=nextModel,executeEffects(nextEffects),nextChanged)notify2()}}finally{isDispatching=!1}}function getModel(){return model}function subscribe(listener){return listeners.add(listener),()=>{listeners.delete(listener)}}function getSnapshot(selector){return selector(model)}executeEffects(initialEffects);while(dispatchQueue.length>0){let queued2=dispatchQueue.shift(),[nextModel,nextEffects]=config.update(queued2,model);model=nextModel,executeEffects(nextEffects)}return{dispatch,getModel,subscribe,getSnapshot}}function createTick(intervalMs,signal2){return{[Symbol.asyncIterator]:()=>createTickIterator(intervalMs,signal2)}}function createTickIterator(intervalMs,signal2){let count=0,timer,pendingResolve,done=!1,onAbort=()=>{if(done=!0,timer)clearTimeout(timer),timer=void 0;if(pendingResolve)pendingResolve({done:!0,value:void 0}),pendingResolve=void 0};if(signal2)if(signal2.aborted)done=!0;else signal2.addEventListener("abort",onAbort,{once:!0});return{async next(){if(done)return{done:!0,value:void 0};return new Promise((resolve,_reject)=>{pendingResolve=resolve,timer=setTimeout(()=>{if(!done){let value=count++;pendingResolve=void 0,resolve({done:!1,value})}},intervalMs)})},async return(){if(done=!0,timer)clearTimeout(timer),timer=void 0;if(signal2)signal2.removeEventListener("abort",onAbort);if(pendingResolve)pendingResolve({done:!0,value:void 0}),pendingResolve=void 0;return{done:!0,value:void 0}}}}function createFrameTick(signal2){return createTick(16,signal2)}function createSecondTick(signal2){return createTick(1000,signal2)}function createAdaptiveTick(targetFps=60,signal2){let targetMs=1000/targetFps,lastTime=Date.now(),tick=0;return{[Symbol.asyncIterator]:()=>{let done=!1,timer,pendingResolve,onAbort=()=>{if(done=!0,timer)clearTimeout(timer),timer=void 0;if(pendingResolve)pendingResolve({done:!0,value:void 0}),pendingResolve=void 0};if(signal2)if(signal2.aborted)done=!0;else signal2.addEventListener("abort",onAbort,{once:!0});return{async next(){if(done)return{done:!0,value:void 0};return new Promise((resolve)=>{pendingResolve=resolve;let elapsed=Date.now()-lastTime,delay=Math.max(0,targetMs-elapsed);timer=setTimeout(()=>{if(!done){let currentTime=Date.now(),delta=currentTime-lastTime;lastTime=currentTime,pendingResolve=void 0,resolve({done:!1,value:{tick:tick++,elapsed:currentTime,delta}})}},delay)})},async return(){if(done=!0,timer)clearTimeout(timer),timer=void 0;if(signal2)signal2.removeEventListener("abort",onAbort);if(pendingResolve)pendingResolve({done:!0,value:void 0}),pendingResolve=void 0;return{done:!0,value:void 0}}}}}}export{zip,withFocusManagement,usePasteCallback as usePaste,useInput,useExit,useAppShallow,useApp,throttle,takeUntil,take,silveryUpdate,run2 as run,resumeTerminalState,restoreTerminalState,render,performSuspend,parseKey,merge,map,layoutSync,layout,fromArrayWithDelay,fromArray,filterMap,filter,ensureLayoutEngine,emptyKey,diff,defaultInit,debounce,createTick,createTermProvider,createStore2 as createStore,createSecondTick,createRuntime,createFrameTick,createBuffer2 as createBuffer,createApp,createAdaptiveTick,concat,captureTerminalState,batch,StoreContext,CTRL_Z,CTRL_C};
130
130
 
131
- //# debugId=45914BBD5FF91C0464756E2164756E21
131
+ //# debugId=116FA97688F28A9964756E2164756E21
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "silvery",
3
- "version": "0.16.0",
4
- "description": "React for modern terminal apps powerful apps, polished UIs, proudly terminal",
3
+ "version": "0.16.2",
4
+ "description": "React for modern terminal apps \u2014 powerful apps, polished UIs, proudly terminal",
5
5
  "keywords": [
6
6
  "ansi",
7
7
  "chalk",
@@ -25,13 +25,13 @@
25
25
  "url": "https://github.com/beorn/silvery/issues"
26
26
  },
27
27
  "license": "MIT",
28
- "author": "Bjørn Stabell <bjorn@stabell.org>",
28
+ "author": "Bj\u00f8rn Stabell <bjorn@stabell.org>",
29
29
  "repository": {
30
30
  "type": "git",
31
31
  "url": "https://github.com/beorn/silvery.git"
32
32
  },
33
33
  "bin": {
34
- "silvery": "./bin/silvery.ts"
34
+ "silvery": "./bin/silvery.js"
35
35
  },
36
36
  "workspaces": [
37
37
  "packages/*",
@@ -49,88 +49,74 @@
49
49
  "type": "module",
50
50
  "exports": {
51
51
  ".": {
52
- "bun": "./src/index.ts",
53
- "import": "./src/index.ts",
54
52
  "types": "./src/index.ts",
55
- "default": "./dist/index.js"
53
+ "bun": "./src/index.ts",
54
+ "import": "./dist/index.js"
56
55
  },
57
56
  "./runtime": {
58
- "bun": "./src/runtime.ts",
59
- "import": "./src/runtime.ts",
60
57
  "types": "./src/runtime.ts",
61
- "default": "./dist/runtime.js"
58
+ "bun": "./src/runtime.ts",
59
+ "import": "./dist/runtime.js"
62
60
  },
63
61
  "./theme": {
64
- "bun": "./src/theme.ts",
65
- "import": "./src/theme.ts",
66
62
  "types": "./src/theme.ts",
67
- "default": "./dist/theme.js"
63
+ "bun": "./src/theme.ts",
64
+ "import": "./dist/theme.js"
68
65
  },
69
66
  "./ui": {
70
- "bun": "./src/ui.ts",
71
- "import": "./src/ui.ts",
72
67
  "types": "./src/ui.ts",
73
- "default": "./dist/ui.js"
68
+ "bun": "./src/ui.ts",
69
+ "import": "./dist/ui.js"
74
70
  },
75
71
  "./ui/cli": {
76
- "bun": "./src/ui/cli.ts",
77
- "import": "./src/ui/cli.ts",
78
72
  "types": "./src/ui/cli.ts",
79
- "default": "./dist/ui/cli.js"
73
+ "bun": "./src/ui/cli.ts",
74
+ "import": "./dist/ui/cli.js"
80
75
  },
81
76
  "./ui/react": {
82
- "bun": "./src/ui/react.ts",
83
- "import": "./src/ui/react.ts",
84
77
  "types": "./src/ui/react.ts",
85
- "default": "./dist/ui/react.js"
78
+ "bun": "./src/ui/react.ts",
79
+ "import": "./dist/ui/react.js"
86
80
  },
87
81
  "./ui/progress": {
88
- "bun": "./src/ui/progress.ts",
89
- "import": "./src/ui/progress.ts",
90
82
  "types": "./src/ui/progress.ts",
91
- "default": "./dist/ui/progress.js"
83
+ "bun": "./src/ui/progress.ts",
84
+ "import": "./dist/ui/progress.js"
92
85
  },
93
86
  "./ui/wrappers": {
94
- "bun": "./src/ui/wrappers.ts",
95
- "import": "./src/ui/wrappers.ts",
96
87
  "types": "./src/ui/wrappers.ts",
97
- "default": "./dist/ui/wrappers.js"
88
+ "bun": "./src/ui/wrappers.ts",
89
+ "import": "./dist/ui/wrappers.js"
98
90
  },
99
91
  "./ui/ansi": {
100
- "bun": "./src/ui/ansi.ts",
101
- "import": "./src/ui/ansi.ts",
102
92
  "types": "./src/ui/ansi.ts",
103
- "default": "./dist/ui/ansi.js"
93
+ "bun": "./src/ui/ansi.ts",
94
+ "import": "./dist/ui/ansi.js"
104
95
  },
105
96
  "./ui/display": {
106
- "bun": "./src/ui/display.ts",
107
- "import": "./src/ui/display.ts",
108
97
  "types": "./src/ui/display.ts",
109
- "default": "./dist/ui/display.js"
98
+ "bun": "./src/ui/display.ts",
99
+ "import": "./dist/ui/display.js"
110
100
  },
111
101
  "./ui/input": {
112
- "bun": "./src/ui/input.ts",
113
- "import": "./src/ui/input.ts",
114
102
  "types": "./src/ui/input.ts",
115
- "default": "./dist/ui/input.js"
103
+ "bun": "./src/ui/input.ts",
104
+ "import": "./dist/ui/input.js"
116
105
  },
117
106
  "./ui/animation": {
118
- "bun": "./src/ui/animation.ts",
119
- "import": "./src/ui/animation.ts",
120
107
  "types": "./src/ui/animation.ts",
121
- "default": "./dist/ui/animation.js"
108
+ "bun": "./src/ui/animation.ts",
109
+ "import": "./dist/ui/animation.js"
122
110
  },
123
111
  "./ui/image": {
124
- "bun": "./src/ui/image.ts",
125
- "import": "./src/ui/image.ts",
126
112
  "types": "./src/ui/image.ts",
127
- "default": "./dist/ui/image.js"
113
+ "bun": "./src/ui/image.ts",
114
+ "import": "./dist/ui/image.js"
128
115
  },
129
116
  "./ui/utils": {
130
- "bun": "./src/ui/utils.ts",
131
- "import": "./src/ui/utils.ts",
132
117
  "types": "./src/ui/utils.ts",
133
- "default": "./dist/ui/utils.js"
118
+ "bun": "./src/ui/utils.ts",
119
+ "import": "./dist/ui/utils.js"
134
120
  },
135
121
  "./ink": "@silvery/ink",
136
122
  "./chalk": "@silvery/ink/chalk"