@silvery/examples 0.5.6 → 0.17.4

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 (112) hide show
  1. package/dist/UPNG-Cy7ViL8f.mjs +5074 -0
  2. package/dist/__vite-browser-external-2447137e-BML7CYau.mjs +4 -0
  3. package/dist/_banner-DLPxCqVy.mjs +44 -0
  4. package/dist/ansi-CCE2pVS0.mjs +16397 -0
  5. package/dist/apng-HhhBjRGt.mjs +68 -0
  6. package/dist/apng-mwUQbTTF.mjs +3 -0
  7. package/dist/apps/aichat/index.mjs +1299 -0
  8. package/dist/apps/app-todo.mjs +139 -0
  9. package/dist/apps/async-data.mjs +204 -0
  10. package/dist/apps/cli-wizard.mjs +339 -0
  11. package/dist/apps/clipboard.mjs +198 -0
  12. package/dist/apps/components.mjs +864 -0
  13. package/dist/apps/data-explorer.mjs +483 -0
  14. package/dist/apps/dev-tools.mjs +397 -0
  15. package/dist/apps/explorer.mjs +698 -0
  16. package/dist/apps/gallery.mjs +766 -0
  17. package/dist/apps/inline-bench.mjs +115 -0
  18. package/dist/apps/kanban.mjs +280 -0
  19. package/dist/apps/layout-ref.mjs +187 -0
  20. package/dist/apps/outline.mjs +203 -0
  21. package/dist/apps/paste-demo.mjs +189 -0
  22. package/dist/apps/scroll.mjs +86 -0
  23. package/dist/apps/search-filter.mjs +287 -0
  24. package/dist/apps/selection.mjs +355 -0
  25. package/dist/apps/spatial-focus-demo.mjs +388 -0
  26. package/dist/apps/task-list.mjs +258 -0
  27. package/dist/apps/terminal-caps-demo.mjs +315 -0
  28. package/dist/apps/terminal.mjs +872 -0
  29. package/dist/apps/text-selection-demo.mjs +254 -0
  30. package/dist/apps/textarea.mjs +178 -0
  31. package/dist/apps/theme.mjs +661 -0
  32. package/dist/apps/transform.mjs +215 -0
  33. package/dist/apps/virtual-10k.mjs +422 -0
  34. package/dist/assets/resvgjs.darwin-arm64-BtufyGW1.node +0 -0
  35. package/dist/backends-Bahh9mKN.mjs +1179 -0
  36. package/dist/backends-CCtCDQ94.mjs +3 -0
  37. package/dist/{cli.mjs → bin/cli.mjs} +21 -25
  38. package/dist/chunk-BSw8zbkd.mjs +37 -0
  39. package/dist/components/counter.mjs +48 -0
  40. package/dist/components/hello.mjs +31 -0
  41. package/dist/components/progress-bar.mjs +59 -0
  42. package/dist/components/select-list.mjs +85 -0
  43. package/dist/components/spinner.mjs +57 -0
  44. package/dist/components/text-input.mjs +62 -0
  45. package/dist/components/virtual-list.mjs +51 -0
  46. package/dist/flexily-zero-adapter-UB-ra8fR.mjs +3374 -0
  47. package/dist/gif-BZaqPPVX.mjs +3 -0
  48. package/dist/gif-BtnXuxLF.mjs +71 -0
  49. package/dist/gifenc-CLRW41dk.mjs +728 -0
  50. package/dist/jsx-runtime-dMs_8fNu.mjs +241 -0
  51. package/dist/key-mapping-5oYQdAQE.mjs +3 -0
  52. package/dist/key-mapping-D4LR1go6.mjs +130 -0
  53. package/dist/layout/dashboard.mjs +1204 -0
  54. package/dist/layout/live-resize.mjs +303 -0
  55. package/dist/layout/overflow.mjs +70 -0
  56. package/dist/layout/text-layout.mjs +335 -0
  57. package/dist/node-NuJ94BWl.mjs +1083 -0
  58. package/dist/plugins-D1KtkT4a.mjs +3057 -0
  59. package/dist/resvg-js-C_8Wps1F.mjs +201 -0
  60. package/dist/src-BTEVGpd9.mjs +23538 -0
  61. package/dist/src-CUUOuRH6.mjs +5322 -0
  62. package/dist/src-CzfRafCQ.mjs +814 -0
  63. package/dist/usingCtx-CsEf0xO3.mjs +57 -0
  64. package/dist/yoga-adapter-BVtQ5OJR.mjs +237 -0
  65. package/package.json +19 -14
  66. package/_banner.tsx +0 -60
  67. package/apps/aichat/components.tsx +0 -469
  68. package/apps/aichat/index.tsx +0 -220
  69. package/apps/aichat/script.ts +0 -460
  70. package/apps/aichat/state.ts +0 -325
  71. package/apps/aichat/types.ts +0 -19
  72. package/apps/app-todo.tsx +0 -201
  73. package/apps/async-data.tsx +0 -196
  74. package/apps/cli-wizard.tsx +0 -332
  75. package/apps/clipboard.tsx +0 -183
  76. package/apps/components.tsx +0 -658
  77. package/apps/data-explorer.tsx +0 -490
  78. package/apps/dev-tools.tsx +0 -395
  79. package/apps/explorer.tsx +0 -731
  80. package/apps/gallery.tsx +0 -653
  81. package/apps/inline-bench.tsx +0 -138
  82. package/apps/kanban.tsx +0 -265
  83. package/apps/layout-ref.tsx +0 -173
  84. package/apps/outline.tsx +0 -160
  85. package/apps/panes/index.tsx +0 -203
  86. package/apps/paste-demo.tsx +0 -185
  87. package/apps/scroll.tsx +0 -77
  88. package/apps/search-filter.tsx +0 -240
  89. package/apps/selection.tsx +0 -342
  90. package/apps/spatial-focus-demo.tsx +0 -368
  91. package/apps/task-list.tsx +0 -271
  92. package/apps/terminal-caps-demo.tsx +0 -334
  93. package/apps/terminal.tsx +0 -800
  94. package/apps/text-selection-demo.tsx +0 -189
  95. package/apps/textarea.tsx +0 -155
  96. package/apps/theme.tsx +0 -515
  97. package/apps/transform.tsx +0 -229
  98. package/apps/virtual-10k.tsx +0 -405
  99. package/apps/vterm-demo/index.tsx +0 -216
  100. package/components/counter.tsx +0 -45
  101. package/components/hello.tsx +0 -34
  102. package/components/progress-bar.tsx +0 -48
  103. package/components/select-list.tsx +0 -50
  104. package/components/spinner.tsx +0 -40
  105. package/components/text-input.tsx +0 -57
  106. package/components/virtual-list.tsx +0 -52
  107. package/dist/cli.d.mts +0 -1
  108. package/dist/cli.mjs.map +0 -1
  109. package/layout/dashboard.tsx +0 -953
  110. package/layout/live-resize.tsx +0 -282
  111. package/layout/overflow.tsx +0 -51
  112. package/layout/text-layout.tsx +0 -283
@@ -0,0 +1,3 @@
1
+ import { n as init_gif, t as createGif } from "./gif-BtnXuxLF.mjs";
2
+ init_gif();
3
+ export { createGif };
@@ -0,0 +1,71 @@
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-CLRW41dk.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-C_8Wps1F.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 };