silvery 0.18.2 → 0.19.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (156) hide show
  1. package/dist/{animation-DhINOJk8.mjs → animation-Cn64yepo.mjs} +1 -1
  2. package/dist/{animation-DhINOJk8.mjs.map → animation-Cn64yepo.mjs.map} +1 -1
  3. package/dist/{ansi-C6Qs1Wn2.mjs → ansi-CLOitHKx.mjs} +1 -1
  4. package/dist/ansi-CLOitHKx.mjs.map +1 -0
  5. package/dist/{ansi-CsjnZtAw.d.mts → ansi-Cc33mW54.d.mts} +1 -1
  6. package/dist/{ansi-CsjnZtAw.d.mts.map → ansi-Cc33mW54.d.mts.map} +1 -1
  7. package/dist/{chunk-BSw8zbkd.mjs → chunk-Vs_PY4HZ.mjs} +1 -1
  8. package/dist/cli-BKp0YtBD.mjs +4 -0
  9. package/dist/{context-BjWgrikx.mjs → context-BU5LkkIy.mjs} +8 -7
  10. package/dist/context-BU5LkkIy.mjs.map +1 -0
  11. package/dist/devtools-9QY4teqI.mjs +2 -0
  12. package/dist/{devtools-CeO9X_uv.mjs → devtools-DxkSLXDA.mjs} +4 -5
  13. package/dist/devtools-DxkSLXDA.mjs.map +1 -0
  14. package/dist/{eta-BnQSZcWf.mjs → eta-Bb3RH3wh.mjs} +1 -1
  15. package/dist/{eta-BnQSZcWf.mjs.map → eta-Bb3RH3wh.mjs.map} +1 -1
  16. package/dist/{flexily-zero-adapter-BOM0cl8R.mjs → flexily-zero-adapter-BlQa46nr.mjs} +21 -64
  17. package/dist/flexily-zero-adapter-BlQa46nr.mjs.map +1 -0
  18. package/dist/{flexily-zero-adapter-V8R3HQtK.mjs → flexily-zero-adapter-CMxXhdOL.mjs} +1 -1
  19. package/dist/{image-B0zMbVUr.mjs → image-CTII5QWI.mjs} +3 -3
  20. package/dist/image-CTII5QWI.mjs.map +1 -0
  21. package/dist/{index-Bh3U1K09.d.mts → index-BXslOebb.d.mts} +547 -137
  22. package/dist/index-BXslOebb.d.mts.map +1 -0
  23. package/dist/{index-C4vrhbud.d.mts → index-BnA7mNpo.d.mts} +1 -1
  24. package/dist/{index-C4vrhbud.d.mts.map → index-BnA7mNpo.d.mts.map} +1 -1
  25. package/dist/index-D3saHouR.d.mts +1392 -0
  26. package/dist/index-D3saHouR.d.mts.map +1 -0
  27. package/dist/index.d.mts +5 -33
  28. package/dist/index.d.mts.map +1 -1
  29. package/dist/index.mjs +13 -13
  30. package/dist/{layout-engine--drvrWjD.mjs → layout-engine-B6Cdz1yZ.mjs} +1 -1
  31. package/dist/{layout-engine-Dr3cY5U4.mjs → layout-engine-ClUgv6jB.mjs} +3 -3
  32. package/dist/{layout-engine-Dr3cY5U4.mjs.map → layout-engine-ClUgv6jB.mjs.map} +1 -1
  33. package/dist/{multi-progress-CcdqJFlf.mjs → multi-progress-Bq9Oi_WI.mjs} +3 -3
  34. package/dist/{multi-progress-CcdqJFlf.mjs.map → multi-progress-Bq9Oi_WI.mjs.map} +1 -1
  35. package/dist/{multi-progress-DQ-uUzLf.d.mts → multi-progress-DAQC7eap.d.mts} +2 -2
  36. package/dist/{multi-progress-DQ-uUzLf.d.mts.map → multi-progress-DAQC7eap.d.mts.map} +1 -1
  37. package/dist/{node-CP5WChgr.mjs → node-BeWlnCPY.mjs} +4 -4
  38. package/dist/node-BeWlnCPY.mjs.map +1 -0
  39. package/dist/{progress-bar-IrUjkLfU.mjs → progress-bar-CXE5Qfkd.mjs} +4 -4
  40. package/dist/progress-bar-CXE5Qfkd.mjs.map +1 -0
  41. package/dist/reconciler-Cwgm8hRR.mjs +8459 -0
  42. package/dist/reconciler-Cwgm8hRR.mjs.map +1 -0
  43. package/dist/{render-string-DVfgc8xr.mjs → render-string-Cbuf63Ya.mjs} +936 -136
  44. package/dist/render-string-Cbuf63Ya.mjs.map +1 -0
  45. package/dist/{render-string-BwLG7rIX.mjs → render-string-Tv-jqM16.mjs} +1 -1
  46. package/dist/runtime.d.mts +2 -2
  47. package/dist/runtime.mjs +3 -3
  48. package/dist/{spinner-BRkaJI0N.d.mts → spinner-CGo34vyR.d.mts} +2 -2
  49. package/dist/{spinner-BRkaJI0N.d.mts.map → spinner-CGo34vyR.d.mts.map} +1 -1
  50. package/dist/{spinner-BmldKx0M.mjs → spinner-CeOmcuw_.mjs} +3 -3
  51. package/dist/spinner-CeOmcuw_.mjs.map +1 -0
  52. package/dist/src-B5GjfG7g.mjs +4305 -0
  53. package/dist/src-B5GjfG7g.mjs.map +1 -0
  54. package/dist/{src-CJPXf3fC.mjs → src-C2uvC-r0.mjs} +7535 -6467
  55. package/dist/src-C2uvC-r0.mjs.map +1 -0
  56. package/dist/{src-D8kLrQBT.mjs → src-CChwjk0Z.mjs} +8 -86
  57. package/dist/src-CChwjk0Z.mjs.map +1 -0
  58. package/dist/{src-D_BS-as7.mjs → src-NCKb8kE5.mjs} +777 -776
  59. package/dist/src-NCKb8kE5.mjs.map +1 -0
  60. package/dist/theme.d.mts +2 -130
  61. package/dist/theme.mjs +3 -8
  62. package/dist/{types-B4A8Ebba.d.mts → types-BH_v3iMT.d.mts} +1 -1
  63. package/dist/{types-B4A8Ebba.d.mts.map → types-BH_v3iMT.d.mts.map} +1 -1
  64. package/dist/{types-e4dpfbSa.mjs → types-Bk2yw9Qj.mjs} +3 -3
  65. package/dist/types-Bk2yw9Qj.mjs.map +1 -0
  66. package/dist/ui/animation.d.mts +1 -1
  67. package/dist/ui/animation.mjs +1 -1
  68. package/dist/ui/ansi.d.mts +1 -1
  69. package/dist/ui/ansi.mjs +1 -1
  70. package/dist/ui/cli.d.mts +3 -3
  71. package/dist/ui/cli.mjs +5 -5
  72. package/dist/ui/display.d.mts +1 -1
  73. package/dist/ui/display.mjs.map +1 -1
  74. package/dist/ui/image.d.mts +1 -1
  75. package/dist/ui/image.mjs +1 -1
  76. package/dist/ui/input.d.mts +1 -1
  77. package/dist/ui/input.d.mts.map +1 -1
  78. package/dist/ui/input.mjs +2 -4
  79. package/dist/ui/input.mjs.map +1 -1
  80. package/dist/ui/progress.d.mts +3 -3
  81. package/dist/ui/progress.d.mts.map +1 -1
  82. package/dist/ui/progress.mjs +3 -3
  83. package/dist/ui/progress.mjs.map +1 -1
  84. package/dist/ui/react.d.mts +1 -1
  85. package/dist/ui/react.d.mts.map +1 -1
  86. package/dist/ui/react.mjs +2 -2
  87. package/dist/ui/react.mjs.map +1 -1
  88. package/dist/ui/utils.mjs +1 -1
  89. package/dist/ui/wrappers.d.mts +2 -2
  90. package/dist/ui/wrappers.mjs +1 -1
  91. package/dist/ui.d.mts +5 -5
  92. package/dist/ui.mjs +6 -6
  93. package/dist/{useLatest-6xqnGIU6.d.mts → useLatest-Bg2x4bfP.d.mts} +1 -1
  94. package/dist/{useLatest-6xqnGIU6.d.mts.map → useLatest-Bg2x4bfP.d.mts.map} +1 -1
  95. package/dist/{with-text-input-lUh9gYAG.d.mts → with-text-input-CRfoiFFG.d.mts} +3 -3
  96. package/dist/with-text-input-CRfoiFFG.d.mts.map +1 -0
  97. package/dist/{wrappers-JrEYTuKA.mjs → wrappers-UTADQkSY.mjs} +4 -4
  98. package/dist/wrappers-UTADQkSY.mjs.map +1 -0
  99. package/dist/{yoga-adapter-Bc8XT9cN.mjs → yoga-adapter-8oRGRw8V.mjs} +2 -2
  100. package/dist/{yoga-adapter-Bc8XT9cN.mjs.map → yoga-adapter-8oRGRw8V.mjs.map} +1 -1
  101. package/dist/yoga-adapter-D_CcxSt5.mjs +2 -0
  102. package/package.json +54 -45
  103. package/dist/UPNG-DvKjM6wE.mjs +0 -5076
  104. package/dist/UPNG-DvKjM6wE.mjs.map +0 -1
  105. package/dist/__vite-browser-external-2447137e-DPKHHqQK.mjs +0 -6
  106. package/dist/__vite-browser-external-2447137e-DPKHHqQK.mjs.map +0 -1
  107. package/dist/ansi-C6Qs1Wn2.mjs.map +0 -1
  108. package/dist/apng-CvSlLBtc.mjs +0 -3
  109. package/dist/apng-DFFVOItr.mjs +0 -70
  110. package/dist/apng-DFFVOItr.mjs.map +0 -1
  111. package/dist/assets/resvgjs.darwin-arm64-BtufyGW1.node +0 -0
  112. package/dist/backend-DU0Y938U.mjs +0 -13396
  113. package/dist/backend-DU0Y938U.mjs.map +0 -1
  114. package/dist/backends-BihMKFY_.mjs +0 -1181
  115. package/dist/backends-BihMKFY_.mjs.map +0 -1
  116. package/dist/backends-Dk_5G_gC.mjs +0 -3
  117. package/dist/cli-GwJ0S2In.mjs +0 -4
  118. package/dist/context-BjWgrikx.mjs.map +0 -1
  119. package/dist/derive-O_Kb1Bk_.d.mts +0 -28
  120. package/dist/derive-O_Kb1Bk_.d.mts.map +0 -1
  121. package/dist/devtools-CeO9X_uv.mjs.map +0 -1
  122. package/dist/devtools-nX4tj6OH.mjs +0 -2
  123. package/dist/flexily-zero-adapter-BOM0cl8R.mjs.map +0 -1
  124. package/dist/gif-B9Uq4qZA.mjs +0 -73
  125. package/dist/gif-B9Uq4qZA.mjs.map +0 -1
  126. package/dist/gif-BdrLRBmM.mjs +0 -3
  127. package/dist/gifenc-DfhOb4xr.mjs +0 -730
  128. package/dist/gifenc-DfhOb4xr.mjs.map +0 -1
  129. package/dist/image-B0zMbVUr.mjs.map +0 -1
  130. package/dist/index-Bh3U1K09.d.mts.map +0 -1
  131. package/dist/index-dehZ18K-.d.mts +0 -679
  132. package/dist/index-dehZ18K-.d.mts.map +0 -1
  133. package/dist/key-mapping-7k2ufK2b.mjs +0 -3
  134. package/dist/key-mapping-WLUmxjx1.mjs +0 -132
  135. package/dist/key-mapping-WLUmxjx1.mjs.map +0 -1
  136. package/dist/node-CP5WChgr.mjs.map +0 -1
  137. package/dist/progress-bar-IrUjkLfU.mjs.map +0 -1
  138. package/dist/reconciler-B8uxQxaU.mjs +0 -16482
  139. package/dist/reconciler-B8uxQxaU.mjs.map +0 -1
  140. package/dist/render-string-DVfgc8xr.mjs.map +0 -1
  141. package/dist/resvg-js-Cwipz-_J.mjs +0 -203
  142. package/dist/resvg-js-Cwipz-_J.mjs.map +0 -1
  143. package/dist/spinner-BmldKx0M.mjs.map +0 -1
  144. package/dist/src-C0sOQW-t.mjs +0 -3866
  145. package/dist/src-C0sOQW-t.mjs.map +0 -1
  146. package/dist/src-CJPXf3fC.mjs.map +0 -1
  147. package/dist/src-D8kLrQBT.mjs.map +0 -1
  148. package/dist/src-D_BS-as7.mjs.map +0 -1
  149. package/dist/theme.d.mts.map +0 -1
  150. package/dist/theme.mjs.map +0 -1
  151. package/dist/types-e4dpfbSa.mjs.map +0 -1
  152. package/dist/with-text-input-lUh9gYAG.d.mts.map +0 -1
  153. package/dist/wrapper-CE6GQ27z.mjs +0 -3527
  154. package/dist/wrapper-CE6GQ27z.mjs.map +0 -1
  155. package/dist/wrappers-JrEYTuKA.mjs.map +0 -1
  156. package/dist/yoga-adapter-B8LZpQcE.mjs +0 -2
@@ -1,73 +0,0 @@
1
- import { n as __esmMin, o as __toESM } from "./chunk-BSw8zbkd.mjs";
2
- //#region ../termless/src/animation/gif.ts
3
- async function loadGifenc() {
4
- if (gifencModule) return gifencModule;
5
- try {
6
- gifencModule = await import("./gifenc-DfhOb4xr.mjs").then((m) => /* @__PURE__ */ __toESM(m.default, 1));
7
- return gifencModule;
8
- } catch {
9
- throw new Error("createGif() requires gifenc. Install it:\n bun add gifenc");
10
- }
11
- }
12
- async function loadResvg() {
13
- if (resvgModule) return resvgModule;
14
- try {
15
- resvgModule = await import("./resvg-js-Cwipz-_J.mjs").then((m) => /* @__PURE__ */ __toESM(m.default, 1));
16
- return resvgModule;
17
- } catch {
18
- throw new Error("createGif() requires @resvg/resvg-js. Install it:\n bun add @resvg/resvg-js");
19
- }
20
- }
21
- /**
22
- * Encode animation frames as an animated GIF.
23
- *
24
- * Each SVG frame is rasterized to RGBA pixels via @resvg/resvg-js,
25
- * then quantized to 256 colors and written to a GIF stream via gifenc.
26
- *
27
- * @param frames - SVG frames with durations
28
- * @param options - Animation options plus optional `scale` for rasterization
29
- * @returns GIF file as Uint8Array
30
- */
31
- async function createGif(frames, options) {
32
- if (frames.length === 0) throw new Error("createGif requires at least one frame");
33
- const [{ GIFEncoder, quantize, applyPalette }, { Resvg }] = await Promise.all([loadGifenc(), loadResvg()]);
34
- const defaultDuration = options?.defaultDuration ?? 100;
35
- const loop = options?.loop ?? 0;
36
- const scale = options?.scale ?? 2;
37
- const gif = GIFEncoder();
38
- for (let i = 0; i < frames.length; i++) {
39
- const frame = frames[i];
40
- const duration = frame.duration || defaultDuration;
41
- const rendered = new Resvg(frame.svg, {
42
- fitTo: {
43
- mode: "zoom",
44
- value: scale
45
- },
46
- font: {
47
- loadSystemFonts: true,
48
- defaultFontFamily: "Menlo"
49
- }
50
- }).render();
51
- const rgba = new Uint8Array(rendered.pixels);
52
- const width = rendered.width;
53
- const height = rendered.height;
54
- const palette = quantize(rgba, 256);
55
- const indexed = applyPalette(rgba, palette);
56
- gif.writeFrame(indexed, width, height, {
57
- palette,
58
- delay: duration,
59
- repeat: i === 0 ? loop === 0 ? 0 : loop : void 0
60
- });
61
- }
62
- gif.finish();
63
- return gif.bytesView();
64
- }
65
- var gifencModule, resvgModule;
66
- var init_gif = __esmMin((() => {
67
- gifencModule = null;
68
- resvgModule = null;
69
- }));
70
- //#endregion
71
- export { init_gif as n, createGif as t };
72
-
73
- //# sourceMappingURL=gif-B9Uq4qZA.mjs.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"gif-B9Uq4qZA.mjs","names":[],"sources":["../../termless/src/animation/gif.ts"],"sourcesContent":["/**\n * Animated GIF encoder for termless.\n *\n * Converts SVG frames to an animated GIF using gifenc (pure JS, no binary deps)\n * for GIF encoding and @resvg/resvg-js for SVG→pixel rasterization.\n *\n * Both are optional/lazy-loaded dependencies — throws clear errors if missing.\n */\n\nimport type { AnimationFrame, AnimationOptions } from \"./types.ts\"\n\n// Lazy-cached imports\nlet gifencModule: typeof import(\"gifenc\") | null = null\nlet resvgModule: { Resvg: any } | null = null\n\nasync function loadGifenc() {\n if (gifencModule) return gifencModule\n try {\n gifencModule = await import(\"gifenc\")\n return gifencModule\n } catch {\n throw new Error(\"createGif() requires gifenc. Install it:\\n bun add gifenc\")\n }\n}\n\nasync function loadResvg() {\n if (resvgModule) return resvgModule\n try {\n resvgModule = await import(\"@resvg/resvg-js\")\n return resvgModule\n } catch {\n throw new Error(\"createGif() requires @resvg/resvg-js. Install it:\\n bun add @resvg/resvg-js\")\n }\n}\n\n/**\n * Encode animation frames as an animated GIF.\n *\n * Each SVG frame is rasterized to RGBA pixels via @resvg/resvg-js,\n * then quantized to 256 colors and written to a GIF stream via gifenc.\n *\n * @param frames - SVG frames with durations\n * @param options - Animation options plus optional `scale` for rasterization\n * @returns GIF file as Uint8Array\n */\nexport async function createGif(\n frames: AnimationFrame[],\n options?: AnimationOptions & { scale?: number },\n): Promise<Uint8Array> {\n if (frames.length === 0) {\n throw new Error(\"createGif requires at least one frame\")\n }\n\n const [{ GIFEncoder, quantize, applyPalette }, { Resvg }] = await Promise.all([loadGifenc(), loadResvg()])\n\n const defaultDuration = options?.defaultDuration ?? 100\n const loop = options?.loop ?? 0\n const scale = options?.scale ?? 2\n\n const gif = GIFEncoder()\n\n for (let i = 0; i < frames.length; i++) {\n const frame = frames[i]!\n const duration = frame.duration || defaultDuration\n\n const resvg = new Resvg(frame.svg, {\n fitTo: { mode: \"zoom\" as const, value: scale },\n font: { loadSystemFonts: true, defaultFontFamily: \"Menlo\" },\n })\n const rendered = resvg.render()\n const rgba = new Uint8Array(rendered.pixels)\n const width = rendered.width\n const height = rendered.height\n\n const palette = quantize(rgba, 256)\n const indexed = applyPalette(rgba, palette)\n\n gif.writeFrame(indexed, width, height, {\n palette,\n delay: duration,\n repeat: i === 0 ? (loop === 0 ? 0 : loop) : undefined,\n })\n }\n\n gif.finish()\n return gif.bytesView()\n}\n"],"mappings":";;AAeA,eAAe,aAAa;AAC1B,KAAI,aAAc,QAAO;AACzB,KAAI;AACF,iBAAe,MAAM,OAAO,yBAAA,MAAA,MAAA,wBAAA,EAAA,SAAA,EAAA,CAAA;AAC5B,SAAO;SACD;AACN,QAAM,IAAI,MAAM,6DAA6D;;;AAIjF,eAAe,YAAY;AACzB,KAAI,YAAa,QAAO;AACxB,KAAI;AACF,gBAAc,MAAM,OAAO,2BAAA,MAAA,MAAA,wBAAA,EAAA,SAAA,EAAA,CAAA;AAC3B,SAAO;SACD;AACN,QAAM,IAAI,MAAM,+EAA+E;;;;;;;;;;;;;AAcnG,eAAsB,UACpB,QACA,SACqB;AACrB,KAAI,OAAO,WAAW,EACpB,OAAM,IAAI,MAAM,wCAAwC;CAG1D,MAAM,CAAC,EAAE,YAAY,UAAU,gBAAgB,EAAE,WAAW,MAAM,QAAQ,IAAI,CAAC,YAAY,EAAE,WAAW,CAAC,CAAC;CAE1G,MAAM,kBAAkB,SAAS,mBAAmB;CACpD,MAAM,OAAO,SAAS,QAAQ;CAC9B,MAAM,QAAQ,SAAS,SAAS;CAEhC,MAAM,MAAM,YAAY;AAExB,MAAK,IAAI,IAAI,GAAG,IAAI,OAAO,QAAQ,KAAK;EACtC,MAAM,QAAQ,OAAO;EACrB,MAAM,WAAW,MAAM,YAAY;EAMnC,MAAM,WAJQ,IAAI,MAAM,MAAM,KAAK;GACjC,OAAO;IAAE,MAAM;IAAiB,OAAO;IAAO;GAC9C,MAAM;IAAE,iBAAiB;IAAM,mBAAmB;IAAS;GAC5D,CAAC,CACqB,QAAQ;EAC/B,MAAM,OAAO,IAAI,WAAW,SAAS,OAAO;EAC5C,MAAM,QAAQ,SAAS;EACvB,MAAM,SAAS,SAAS;EAExB,MAAM,UAAU,SAAS,MAAM,IAAI;EACnC,MAAM,UAAU,aAAa,MAAM,QAAQ;AAE3C,MAAI,WAAW,SAAS,OAAO,QAAQ;GACrC;GACA,OAAO;GACP,QAAQ,MAAM,IAAK,SAAS,IAAI,IAAI,OAAQ,KAAA;GAC7C,CAAC;;AAGJ,KAAI,QAAQ;AACZ,QAAO,IAAI,WAAW;;;;AAzEpB,gBAA+C;AAC/C,eAAqC"}
@@ -1,3 +0,0 @@
1
- import { n as init_gif, t as createGif } from "./gif-B9Uq4qZA.mjs";
2
- init_gif();
3
- export { createGif };