zard-cli 1.0.0-beta.84 → 1.1.0-alpha.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 (207) hide show
  1. package/README.md +60 -60
  2. package/commands/add/component-installer.d.ts +2 -0
  3. package/commands/add/component-installer.d.ts.map +1 -1
  4. package/commands/add/component-installer.js +9 -4
  5. package/commands/add/component-installer.js.map +1 -1
  6. package/commands/add/component-selector.d.ts +6 -0
  7. package/commands/add/component-selector.d.ts.map +1 -1
  8. package/commands/add/component-selector.js +9 -27
  9. package/commands/add/component-selector.js.map +1 -1
  10. package/commands/add/dark-mode-setup.d.ts.map +1 -1
  11. package/commands/add/dark-mode-setup.js +2 -11
  12. package/commands/add/dark-mode-setup.js.map +1 -1
  13. package/commands/add/index.d.ts.map +1 -1
  14. package/commands/add/index.js +106 -86
  15. package/commands/add/index.js.map +1 -1
  16. package/commands/add/wizard.d.ts +31 -0
  17. package/commands/add/wizard.d.ts.map +1 -0
  18. package/commands/add/wizard.js +289 -0
  19. package/commands/add/wizard.js.map +1 -0
  20. package/commands/init/config-prompter.d.ts +47 -3
  21. package/commands/init/config-prompter.d.ts.map +1 -1
  22. package/commands/init/config-prompter.js +76 -74
  23. package/commands/init/config-prompter.js.map +1 -1
  24. package/commands/init/dependencies.d.ts +1 -8
  25. package/commands/init/dependencies.d.ts.map +1 -1
  26. package/commands/init/dependencies.js +35 -17
  27. package/commands/init/dependencies.js.map +1 -1
  28. package/commands/init/index.d.ts.map +1 -1
  29. package/commands/init/index.js +129 -81
  30. package/commands/init/index.js.map +1 -1
  31. package/commands/init/project-kind.d.ts +82 -0
  32. package/commands/init/project-kind.d.ts.map +1 -0
  33. package/commands/init/project-kind.js +166 -0
  34. package/commands/init/project-kind.js.map +1 -0
  35. package/commands/init/steps.d.ts +16 -0
  36. package/commands/init/steps.d.ts.map +1 -0
  37. package/commands/init/steps.js +151 -0
  38. package/commands/init/steps.js.map +1 -0
  39. package/commands/init/tailwind-setup.d.ts +9 -2
  40. package/commands/init/tailwind-setup.d.ts.map +1 -1
  41. package/commands/init/tailwind-setup.js +33 -12
  42. package/commands/init/tailwind-setup.js.map +1 -1
  43. package/commands/init/tsconfig-updater.d.ts +8 -1
  44. package/commands/init/tsconfig-updater.d.ts.map +1 -1
  45. package/commands/init/tsconfig-updater.js +30 -11
  46. package/commands/init/tsconfig-updater.js.map +1 -1
  47. package/commands/init/update-angular-config.d.ts.map +1 -1
  48. package/commands/init/update-angular-config.js +28 -50
  49. package/commands/init/update-angular-config.js.map +1 -1
  50. package/commands/init/vite-setup.d.ts +10 -0
  51. package/commands/init/vite-setup.d.ts.map +1 -0
  52. package/commands/init/vite-setup.js +60 -0
  53. package/commands/init/vite-setup.js.map +1 -0
  54. package/commands/init/wizard.d.ts +30 -0
  55. package/commands/init/wizard.d.ts.map +1 -0
  56. package/commands/init/wizard.js +560 -0
  57. package/commands/init/wizard.js.map +1 -0
  58. package/core/registry/registry-data.d.ts.map +1 -1
  59. package/core/registry/registry-data.js +8 -45
  60. package/core/registry/registry-data.js.map +1 -1
  61. package/index.js +5 -3
  62. package/index.js.map +1 -1
  63. package/package.json +58 -61
  64. package/ui/blocks.d.ts +70 -0
  65. package/ui/blocks.d.ts.map +1 -0
  66. package/ui/blocks.js +116 -0
  67. package/ui/blocks.js.map +1 -0
  68. package/ui/brand.d.ts +14 -0
  69. package/ui/brand.d.ts.map +1 -0
  70. package/ui/brand.js +35 -0
  71. package/ui/brand.js.map +1 -0
  72. package/ui/engine/animation/index.d.ts +39 -0
  73. package/ui/engine/animation/index.d.ts.map +1 -0
  74. package/ui/engine/animation/index.js +103 -0
  75. package/ui/engine/animation/index.js.map +1 -0
  76. package/ui/engine/ansi/index.d.ts +52 -0
  77. package/ui/engine/ansi/index.d.ts.map +1 -0
  78. package/ui/engine/ansi/index.js +117 -0
  79. package/ui/engine/ansi/index.js.map +1 -0
  80. package/ui/engine/components/index.d.ts +211 -0
  81. package/ui/engine/components/index.d.ts.map +1 -0
  82. package/ui/engine/components/index.js +109 -0
  83. package/ui/engine/components/index.js.map +1 -0
  84. package/ui/engine/cursor/index.d.ts +17 -0
  85. package/ui/engine/cursor/index.d.ts.map +1 -0
  86. package/ui/engine/cursor/index.js +41 -0
  87. package/ui/engine/cursor/index.js.map +1 -0
  88. package/ui/engine/diff/index.d.ts +27 -0
  89. package/ui/engine/diff/index.d.ts.map +1 -0
  90. package/ui/engine/diff/index.js +57 -0
  91. package/ui/engine/diff/index.js.map +1 -0
  92. package/ui/engine/events/index.d.ts +24 -0
  93. package/ui/engine/events/index.d.ts.map +1 -0
  94. package/ui/engine/events/index.js +60 -0
  95. package/ui/engine/events/index.js.map +1 -0
  96. package/ui/engine/focus/index.d.ts +25 -0
  97. package/ui/engine/focus/index.d.ts.map +1 -0
  98. package/ui/engine/focus/index.js +77 -0
  99. package/ui/engine/focus/index.js.map +1 -0
  100. package/ui/engine/frame/index.d.ts +48 -0
  101. package/ui/engine/frame/index.d.ts.map +1 -0
  102. package/ui/engine/frame/index.js +0 -0
  103. package/ui/engine/frame/index.js.map +1 -0
  104. package/ui/engine/index.d.ts +28 -0
  105. package/ui/engine/index.d.ts.map +1 -0
  106. package/ui/engine/index.js +28 -0
  107. package/ui/engine/index.js.map +1 -0
  108. package/ui/engine/input/index.d.ts +36 -0
  109. package/ui/engine/input/index.d.ts.map +1 -0
  110. package/ui/engine/input/index.js +224 -0
  111. package/ui/engine/input/index.js.map +1 -0
  112. package/ui/engine/layout/index.d.ts +42 -0
  113. package/ui/engine/layout/index.d.ts.map +1 -0
  114. package/ui/engine/layout/index.js +241 -0
  115. package/ui/engine/layout/index.js.map +1 -0
  116. package/ui/engine/renderer/index.d.ts +43 -0
  117. package/ui/engine/renderer/index.d.ts.map +1 -0
  118. package/ui/engine/renderer/index.js +619 -0
  119. package/ui/engine/renderer/index.js.map +1 -0
  120. package/ui/engine/scheduler/index.d.ts +22 -0
  121. package/ui/engine/scheduler/index.d.ts.map +1 -0
  122. package/ui/engine/scheduler/index.js +77 -0
  123. package/ui/engine/scheduler/index.js.map +1 -0
  124. package/ui/engine/screen/index.d.ts +39 -0
  125. package/ui/engine/screen/index.d.ts.map +1 -0
  126. package/ui/engine/screen/index.js +255 -0
  127. package/ui/engine/screen/index.js.map +1 -0
  128. package/ui/engine/terminal/index.d.ts +38 -0
  129. package/ui/engine/terminal/index.d.ts.map +1 -0
  130. package/ui/engine/terminal/index.js +104 -0
  131. package/ui/engine/terminal/index.js.map +1 -0
  132. package/ui/engine/testing/index.d.ts +27 -0
  133. package/ui/engine/testing/index.d.ts.map +1 -0
  134. package/ui/engine/testing/index.js +63 -0
  135. package/ui/engine/testing/index.js.map +1 -0
  136. package/ui/engine/theme/index.d.ts +27 -0
  137. package/ui/engine/theme/index.d.ts.map +1 -0
  138. package/ui/engine/theme/index.js +129 -0
  139. package/ui/engine/theme/index.js.map +1 -0
  140. package/ui/engine/utils/index.d.ts +12 -0
  141. package/ui/engine/utils/index.d.ts.map +1 -0
  142. package/ui/engine/utils/index.js +143 -0
  143. package/ui/engine/utils/index.js.map +1 -0
  144. package/ui/gate.d.ts +19 -0
  145. package/ui/gate.d.ts.map +1 -0
  146. package/ui/gate.js +36 -0
  147. package/ui/gate.js.map +1 -0
  148. package/ui/index.d.ts +18 -0
  149. package/ui/index.d.ts.map +1 -0
  150. package/ui/index.js +18 -0
  151. package/ui/index.js.map +1 -0
  152. package/ui/log-sink.d.ts +24 -0
  153. package/ui/log-sink.d.ts.map +1 -0
  154. package/ui/log-sink.js +35 -0
  155. package/ui/log-sink.js.map +1 -0
  156. package/ui/output.d.ts +14 -0
  157. package/ui/output.d.ts.map +1 -0
  158. package/ui/output.js +28 -0
  159. package/ui/output.js.map +1 -0
  160. package/ui/report.d.ts +30 -0
  161. package/ui/report.d.ts.map +1 -0
  162. package/ui/report.js +45 -0
  163. package/ui/report.js.map +1 -0
  164. package/ui/runner.d.ts +57 -0
  165. package/ui/runner.d.ts.map +1 -0
  166. package/ui/runner.js +119 -0
  167. package/ui/runner.js.map +1 -0
  168. package/ui/style.d.ts +24 -0
  169. package/ui/style.d.ts.map +1 -0
  170. package/ui/style.js +44 -0
  171. package/ui/style.js.map +1 -0
  172. package/ui/testing/fake-tty.d.ts +26 -0
  173. package/ui/testing/fake-tty.d.ts.map +1 -0
  174. package/ui/testing/fake-tty.js +61 -0
  175. package/ui/testing/fake-tty.js.map +1 -0
  176. package/ui/text-input.d.ts +30 -0
  177. package/ui/text-input.d.ts.map +1 -0
  178. package/ui/text-input.js +87 -0
  179. package/ui/text-input.js.map +1 -0
  180. package/ui/theme.d.ts +10 -0
  181. package/ui/theme.d.ts.map +1 -0
  182. package/ui/theme.js +20 -0
  183. package/ui/theme.js.map +1 -0
  184. package/utils/config.d.ts +22 -0
  185. package/utils/config.d.ts.map +1 -1
  186. package/utils/config.js +26 -1
  187. package/utils/config.js.map +1 -1
  188. package/utils/get-project-info.d.ts +29 -0
  189. package/utils/get-project-info.d.ts.map +1 -1
  190. package/utils/get-project-info.js +176 -1
  191. package/utils/get-project-info.js.map +1 -1
  192. package/utils/logger.d.ts +13 -1
  193. package/utils/logger.d.ts.map +1 -1
  194. package/utils/logger.js +95 -15
  195. package/utils/logger.js.map +1 -1
  196. package/utils/package-manager.d.ts +42 -1
  197. package/utils/package-manager.d.ts.map +1 -1
  198. package/utils/package-manager.js +204 -11
  199. package/utils/package-manager.js.map +1 -1
  200. package/utils/registry.d.ts +12 -2
  201. package/utils/registry.d.ts.map +1 -1
  202. package/utils/registry.js +21 -6
  203. package/utils/registry.js.map +1 -1
  204. package/utils/source-file.d.ts +40 -0
  205. package/utils/source-file.d.ts.map +1 -0
  206. package/utils/source-file.js +104 -0
  207. package/utils/source-file.js.map +1 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/engine/animation/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,MAAM,MAAM,GAAG,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;AAI3C,eAAO,MAAM,MAAM,EAAE;IACnB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CAmBzB,CAAC;AAEF,MAAM,WAAW,YAAY;IAC3B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,GAAG,UAAU,CAAC;CACtC;AAED,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;IACvB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,KAAK,CAyClD;AAED,MAAM,WAAW,cAAc;IAC7B,QAAQ,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,IAAI,CAAC;IAC1C,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAC1B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,MAAM,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,IAAI,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;CAC1B;AAED,wBAAgB,oBAAoB,IAAI,cAAc,CAuBrD;AAED,mEAAmE;AACnE,eAAO,MAAM,aAAa,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC,CAMrE,CAAC"}
@@ -0,0 +1,103 @@
1
+ /**
2
+ * animation — tweens independentes de FPS (usam dt real), easing e um clock
3
+ * keyed que sobrevive ao re-render. Base de spinner/progress/fade/typing/pulse.
4
+ * (Implementação real.)
5
+ */
6
+ const clamp01 = (t) => (t < 0 ? 0 : t > 1 ? 1 : t);
7
+ export const Easing = {
8
+ linear: t => clamp01(t),
9
+ easeIn: t => {
10
+ t = clamp01(t);
11
+ return t * t;
12
+ },
13
+ easeOut: t => {
14
+ t = clamp01(t);
15
+ return 1 - (1 - t) * (1 - t);
16
+ },
17
+ easeInOut: t => {
18
+ t = clamp01(t);
19
+ return t < 0.5 ? 2 * t * t : 1 - (-2 * t + 2) ** 2 / 2;
20
+ },
21
+ spring: t => {
22
+ t = clamp01(t);
23
+ return 1 - Math.cos(t * Math.PI * 1.5) * (1 - t);
24
+ },
25
+ };
26
+ export function tween(options) {
27
+ const easing = options.easing ?? Easing.linear;
28
+ const dur = Math.max(1, options.duration);
29
+ let elapsed = 0;
30
+ let dir = 1;
31
+ const compute = () => {
32
+ let t = elapsed / dur;
33
+ let done = false;
34
+ if (options.loop === 'pingpong') {
35
+ t = clamp01(t);
36
+ }
37
+ else if (options.loop) {
38
+ t = t % 1;
39
+ }
40
+ else if (t >= 1) {
41
+ t = 1;
42
+ done = true;
43
+ }
44
+ const eased = easing(t);
45
+ const value = options.from + (options.to - options.from) * (dir < 0 ? 1 - eased : eased);
46
+ return { value, done };
47
+ };
48
+ return {
49
+ get value() {
50
+ return compute().value;
51
+ },
52
+ get done() {
53
+ return compute().done;
54
+ },
55
+ update(dtMs) {
56
+ elapsed += dtMs;
57
+ if (options.loop === 'pingpong' && elapsed >= dur) {
58
+ elapsed = elapsed % dur;
59
+ dir *= -1;
60
+ }
61
+ },
62
+ reset() {
63
+ elapsed = 0;
64
+ dir = 1;
65
+ },
66
+ };
67
+ }
68
+ export function createAnimationClock() {
69
+ const tweens = new Map();
70
+ return {
71
+ register(key, t) {
72
+ tweens.set(key, t);
73
+ },
74
+ has(key) {
75
+ return tweens.has(key);
76
+ },
77
+ phase(key) {
78
+ return tweens.get(key)?.value ?? 0;
79
+ },
80
+ remove(key) {
81
+ tweens.delete(key);
82
+ },
83
+ tick(dtMs) {
84
+ for (const t of tweens.values())
85
+ t.update(dtMs);
86
+ },
87
+ get active() {
88
+ for (const t of tweens.values())
89
+ if (!t.done)
90
+ return true;
91
+ return false;
92
+ },
93
+ };
94
+ }
95
+ /** Frames de spinner nomeados (dots, line, arc, bounce, pulse). */
96
+ export const spinnerFrames = {
97
+ dots: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],
98
+ line: ['-', '\\', '|', '/'],
99
+ arc: ['◜', '◠', '◝', '◞', '◡', '◟'],
100
+ bounce: ['⠁', '⠂', '⠄', '⠂'],
101
+ pulse: ['•', '●', '◉', '●'],
102
+ };
103
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/engine/animation/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,52 @@
1
+ /**
2
+ * ansi — geração de sequências de escape (CSI/SGR) e o vocabulário de cor.
3
+ * Nível mais baixo que "conhece" o protocolo do terminal. Sem I/O.
4
+ * (Fatia vertical / PoC: implementação real.)
5
+ */
6
+ /** Nível de cor que o terminal suporta (ver TerminalCapabilities). */
7
+ export type ColorLevel = 'truecolor' | 'ansi256' | 'ansi16' | 'none';
8
+ /** Cor concreta já resolvida para um nível — pronta para virar bytes SGR. */
9
+ export type AnsiColor = {
10
+ readonly kind: 'rgb';
11
+ readonly r: number;
12
+ readonly g: number;
13
+ readonly b: number;
14
+ } | {
15
+ readonly kind: 'ansi256';
16
+ readonly index: number;
17
+ } | {
18
+ readonly kind: 'ansi16';
19
+ readonly index: number;
20
+ } | {
21
+ readonly kind: 'default';
22
+ };
23
+ /**
24
+ * Atributos de texto como bitmask (comparável por valor, barato de diffar).
25
+ * Objeto const (não `const enum`) para ser compatível com `isolatedModules`.
26
+ */
27
+ export declare const Attr: {
28
+ readonly None: 0;
29
+ readonly Bold: number;
30
+ readonly Dim: number;
31
+ readonly Italic: number;
32
+ readonly Underline: number;
33
+ readonly Inverse: number;
34
+ readonly Strike: number;
35
+ readonly Blink: number;
36
+ };
37
+ /** Valor de bitmask de atributos (combinável com OR bit-a-bit). */
38
+ export type Attr = number;
39
+ export declare const ESC = "\u001B";
40
+ /** Monta uma sequência CSI (`ESC [ … `). Ex.: csi("2J"), csi(`${y};${x}H`). */
41
+ export declare function csi(body: string): string;
42
+ /**
43
+ * Builder incremental de SGR que emite APENAS o delta em relação ao estado
44
+ * corrente — chave para minimizar bytes no encoder (ARCHITECTURE §17).
45
+ */
46
+ export interface SgrBuilder {
47
+ transition(fg: AnsiColor, bg: AnsiColor, attrs: Attr): string;
48
+ reset(): string;
49
+ clear(): void;
50
+ }
51
+ export declare function createSgrBuilder(): SgrBuilder;
52
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/engine/ansi/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,sEAAsE;AACtE,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;AAErE,6EAA6E;AAC7E,MAAM,MAAM,SAAS,GACjB;IAAE,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAA;CAAE,GACpF;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACpD;IAAE,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GACnD;IAAE,QAAQ,CAAC,IAAI,EAAE,SAAS,CAAA;CAAE,CAAC;AAEjC;;;GAGG;AACH,eAAO,MAAM,IAAI;;;;;;;;;CASP,CAAC;AACX,mEAAmE;AACnE,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC;AAE1B,eAAO,MAAM,GAAG,WAAS,CAAC;AAE1B,+EAA+E;AAC/E,wBAAgB,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAExC;AAsCD;;;GAGG;AACH,MAAM,WAAW,UAAU;IACzB,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,IAAI,GAAG,MAAM,CAAC;IAC9D,KAAK,IAAI,MAAM,CAAC;IAChB,KAAK,IAAI,IAAI,CAAC;CACf;AAED,wBAAgB,gBAAgB,IAAI,UAAU,CA8C7C"}
@@ -0,0 +1,117 @@
1
+ /**
2
+ * ansi — geração de sequências de escape (CSI/SGR) e o vocabulário de cor.
3
+ * Nível mais baixo que "conhece" o protocolo do terminal. Sem I/O.
4
+ * (Fatia vertical / PoC: implementação real.)
5
+ */
6
+ /**
7
+ * Atributos de texto como bitmask (comparável por valor, barato de diffar).
8
+ * Objeto const (não `const enum`) para ser compatível com `isolatedModules`.
9
+ */
10
+ export const Attr = {
11
+ None: 0,
12
+ Bold: 1 << 0,
13
+ Dim: 1 << 1,
14
+ Italic: 1 << 2,
15
+ Underline: 1 << 3,
16
+ Inverse: 1 << 4,
17
+ Strike: 1 << 5,
18
+ Blink: 1 << 6,
19
+ };
20
+ export const ESC = '\x1b';
21
+ /** Monta uma sequência CSI (`ESC [ … `). Ex.: csi("2J"), csi(`${y};${x}H`). */
22
+ export function csi(body) {
23
+ return ESC + '[' + body;
24
+ }
25
+ const DEFAULT_COLOR = { kind: 'default' };
26
+ function sameColor(a, b) {
27
+ if (a.kind !== b.kind)
28
+ return false;
29
+ if (a.kind === 'rgb' && b.kind === 'rgb')
30
+ return a.r === b.r && a.g === b.g && a.b === b.b;
31
+ if (a.kind === 'ansi256' && b.kind === 'ansi256')
32
+ return a.index === b.index;
33
+ if (a.kind === 'ansi16' && b.kind === 'ansi16')
34
+ return a.index === b.index;
35
+ return a.kind === b.kind; // default
36
+ }
37
+ function colorCodes(c, fg) {
38
+ const base = fg ? 38 : 48;
39
+ switch (c.kind) {
40
+ case 'rgb':
41
+ return [base, 2, c.r, c.g, c.b];
42
+ case 'ansi256':
43
+ return [base, 5, c.index];
44
+ case 'ansi16':
45
+ return c.index < 8 ? [(fg ? 30 : 40) + c.index] : [(fg ? 90 : 100) + (c.index - 8)];
46
+ case 'default':
47
+ return [fg ? 39 : 49];
48
+ }
49
+ }
50
+ function attrCodes(mask) {
51
+ const out = [];
52
+ if (mask & Attr.Bold)
53
+ out.push(1);
54
+ if (mask & Attr.Dim)
55
+ out.push(2);
56
+ if (mask & Attr.Italic)
57
+ out.push(3);
58
+ if (mask & Attr.Underline)
59
+ out.push(4);
60
+ if (mask & Attr.Blink)
61
+ out.push(5);
62
+ if (mask & Attr.Inverse)
63
+ out.push(7);
64
+ if (mask & Attr.Strike)
65
+ out.push(9);
66
+ return out;
67
+ }
68
+ export function createSgrBuilder() {
69
+ let curFg = DEFAULT_COLOR;
70
+ let curBg = DEFAULT_COLOR;
71
+ let curAttrs = 0;
72
+ return {
73
+ transition(fg, bg, attrs) {
74
+ const removingAttr = (curAttrs & ~attrs) !== 0;
75
+ const fgToDefault = fg.kind === 'default' && curFg.kind !== 'default';
76
+ const bgToDefault = bg.kind === 'default' && curBg.kind !== 'default';
77
+ if (removingAttr || fgToDefault || bgToDefault) {
78
+ // Não dá para "desligar" seletivamente de forma barata → reset e reconstrói.
79
+ const codes = [0, ...attrCodes(attrs)];
80
+ if (fg.kind !== 'default')
81
+ codes.push(...colorCodes(fg, true));
82
+ if (bg.kind !== 'default')
83
+ codes.push(...colorCodes(bg, false));
84
+ curFg = fg;
85
+ curBg = bg;
86
+ curAttrs = attrs;
87
+ return csi(codes.join(';') + 'm');
88
+ }
89
+ const codes = [];
90
+ const addedAttrs = attrs & ~curAttrs;
91
+ if (addedAttrs)
92
+ codes.push(...attrCodes(addedAttrs));
93
+ if (!sameColor(fg, curFg))
94
+ codes.push(...colorCodes(fg, true));
95
+ if (!sameColor(bg, curBg))
96
+ codes.push(...colorCodes(bg, false));
97
+ curFg = fg;
98
+ curBg = bg;
99
+ curAttrs = attrs;
100
+ if (codes.length === 0)
101
+ return '';
102
+ return csi(codes.join(';') + 'm');
103
+ },
104
+ reset() {
105
+ curFg = DEFAULT_COLOR;
106
+ curBg = DEFAULT_COLOR;
107
+ curAttrs = 0;
108
+ return csi('0m');
109
+ },
110
+ clear() {
111
+ curFg = DEFAULT_COLOR;
112
+ curBg = DEFAULT_COLOR;
113
+ curAttrs = 0;
114
+ },
115
+ };
116
+ }
117
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/engine/ansi/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * components — fábricas puras que retornam `Node` imutável (immediate-mode
3
+ * declarativo, ADR-0002). Sem JSX, sem classes, sem estado oculto.
4
+ * (Fatia vertical / PoC: fábricas reais. A pintura de cada tipo vive no renderer.)
5
+ */
6
+ import type { Attr } from '../ansi/index.js';
7
+ import type { ColorRef } from '../frame/index.js';
8
+ import type { LayoutProps } from '../layout/index.js';
9
+ export interface Node {
10
+ readonly type: string;
11
+ readonly props: Readonly<Record<string, unknown>>;
12
+ readonly children: readonly Node[];
13
+ readonly key?: string;
14
+ }
15
+ export interface TextStyle {
16
+ readonly color?: ColorRef;
17
+ readonly background?: ColorRef;
18
+ readonly attrs?: Attr;
19
+ readonly bold?: boolean;
20
+ readonly dim?: boolean;
21
+ readonly italic?: boolean;
22
+ readonly underline?: boolean;
23
+ readonly inverse?: boolean;
24
+ readonly wrap?: boolean;
25
+ readonly align?: 'left' | 'center' | 'right';
26
+ }
27
+ export type BorderStyle = 'none' | 'single' | 'double' | 'round' | 'bold' | 'ascii';
28
+ export interface BoxProps extends LayoutProps {
29
+ readonly border?: BorderStyle;
30
+ readonly borderColor?: ColorRef;
31
+ readonly title?: string;
32
+ readonly background?: ColorRef;
33
+ }
34
+ export interface PanelProps extends BoxProps {
35
+ readonly footer?: string;
36
+ }
37
+ export interface CardProps extends BoxProps {
38
+ readonly subtitle?: string;
39
+ }
40
+ export interface SeparatorProps {
41
+ readonly orientation?: 'horizontal' | 'vertical';
42
+ readonly char?: string;
43
+ readonly color?: ColorRef;
44
+ readonly label?: string;
45
+ }
46
+ export interface HeaderProps {
47
+ readonly title: string;
48
+ readonly subtitle?: string;
49
+ readonly badge?: string;
50
+ readonly align?: 'left' | 'center' | 'right';
51
+ }
52
+ export interface FooterProps {
53
+ readonly items: readonly string[];
54
+ readonly color?: ColorRef;
55
+ }
56
+ export interface EmptyStateProps {
57
+ readonly icon?: string;
58
+ readonly title: string;
59
+ readonly description?: string;
60
+ readonly hint?: string;
61
+ }
62
+ export interface BannerProps {
63
+ readonly lines: readonly string[];
64
+ readonly colors?: readonly string[];
65
+ readonly align?: 'left' | 'center';
66
+ }
67
+ export interface GradientTextProps {
68
+ readonly content: string;
69
+ readonly colors?: readonly string[];
70
+ readonly align?: 'left' | 'center' | 'right';
71
+ readonly bold?: boolean;
72
+ }
73
+ export interface SpinnerProps {
74
+ readonly variant?: 'dots' | 'line' | 'arc' | 'bounce';
75
+ readonly label?: string;
76
+ readonly color?: ColorRef;
77
+ readonly frame?: number;
78
+ readonly glyph?: string;
79
+ readonly key?: string;
80
+ }
81
+ export interface ProgressProps {
82
+ readonly value: number;
83
+ readonly width?: number;
84
+ readonly label?: string;
85
+ readonly showPercent?: boolean;
86
+ readonly color?: ColorRef;
87
+ }
88
+ export type StatusKind = 'ok' | 'warn' | 'error' | 'info' | 'pending';
89
+ export interface BadgeProps {
90
+ readonly text: string;
91
+ readonly kind?: StatusKind;
92
+ readonly color?: ColorRef;
93
+ }
94
+ export interface StatusProps {
95
+ readonly kind: StatusKind;
96
+ readonly label: string;
97
+ }
98
+ export interface LogEntry {
99
+ readonly level?: 'debug' | 'info' | 'warn' | 'error';
100
+ readonly text: string;
101
+ }
102
+ export interface LogsProps {
103
+ readonly source: readonly LogEntry[] | readonly string[];
104
+ readonly max?: number;
105
+ readonly follow?: boolean;
106
+ }
107
+ export interface TreeNodeData {
108
+ readonly label: string;
109
+ readonly children?: readonly TreeNodeData[];
110
+ readonly expanded?: boolean;
111
+ }
112
+ export interface TreeProps {
113
+ readonly root: TreeNodeData;
114
+ readonly indent?: number;
115
+ }
116
+ export interface TableColumn {
117
+ readonly header: string;
118
+ readonly width?: number;
119
+ readonly align?: 'left' | 'center' | 'right';
120
+ }
121
+ export interface TableProps {
122
+ readonly columns: readonly TableColumn[];
123
+ readonly rows: readonly (readonly string[])[];
124
+ readonly border?: BorderStyle;
125
+ }
126
+ export interface ListProps {
127
+ readonly items: readonly string[];
128
+ readonly bullet?: string;
129
+ readonly ordered?: boolean;
130
+ }
131
+ export interface InputProps {
132
+ readonly key: string;
133
+ readonly value: string;
134
+ readonly placeholder?: string;
135
+ readonly label?: string;
136
+ readonly onChange?: (value: string) => void;
137
+ readonly onSubmit?: (value: string) => void;
138
+ }
139
+ export interface PasswordProps extends InputProps {
140
+ readonly mask?: string;
141
+ }
142
+ export interface SelectOption {
143
+ readonly label: string;
144
+ readonly value: string;
145
+ readonly disabled?: boolean;
146
+ }
147
+ export interface SelectProps {
148
+ readonly key: string;
149
+ readonly options: readonly SelectOption[];
150
+ readonly value?: string;
151
+ readonly label?: string;
152
+ readonly onChange?: (value: string) => void;
153
+ }
154
+ export interface ConfirmProps {
155
+ readonly key: string;
156
+ readonly message: string;
157
+ readonly value?: boolean;
158
+ readonly onChange?: (value: boolean) => void;
159
+ }
160
+ export interface CheckboxProps {
161
+ readonly key: string;
162
+ readonly label: string;
163
+ readonly checked: boolean;
164
+ readonly onChange?: (checked: boolean) => void;
165
+ }
166
+ export interface TextareaProps {
167
+ readonly key: string;
168
+ readonly value: string;
169
+ readonly rows?: number;
170
+ readonly placeholder?: string;
171
+ readonly onChange?: (value: string) => void;
172
+ }
173
+ export declare function text(content: string, style?: TextStyle): Node;
174
+ export declare function box(props?: BoxProps, ...children: Node[]): Node;
175
+ export declare function panel(props?: PanelProps, ...children: Node[]): Node;
176
+ export declare function card(props?: CardProps, ...children: Node[]): Node;
177
+ export declare function separator(props?: SeparatorProps): Node;
178
+ export declare function header(props: HeaderProps): Node;
179
+ export declare function footer(props: FooterProps): Node;
180
+ export declare function emptyState(props: EmptyStateProps): Node;
181
+ export declare function banner(props: BannerProps): Node;
182
+ export declare function gradientText(content: string, colors?: readonly string[], opts?: {
183
+ align?: 'left' | 'center' | 'right';
184
+ bold?: boolean;
185
+ }): Node;
186
+ export declare function stack(props?: LayoutProps, ...children: Node[]): Node;
187
+ export declare function row(props?: LayoutProps, ...children: Node[]): Node;
188
+ export declare function column(props?: LayoutProps, ...children: Node[]): Node;
189
+ export declare function center(props?: LayoutProps, ...children: Node[]): Node;
190
+ export declare function spacer(props?: {
191
+ readonly flexGrow?: number;
192
+ }): Node;
193
+ export declare function grid(props?: LayoutProps & {
194
+ readonly columns: number;
195
+ }, ...children: Node[]): Node;
196
+ export declare function spinner(props?: SpinnerProps): Node;
197
+ export declare function progressBar(props: ProgressProps): Node;
198
+ export declare function badge(props: BadgeProps): Node;
199
+ export declare function status(props: StatusProps): Node;
200
+ export declare function logs(props: LogsProps): Node;
201
+ export declare function tree(props: TreeProps): Node;
202
+ export declare function table(props: TableProps): Node;
203
+ export declare function list(props: ListProps): Node;
204
+ export declare function input(props: InputProps): Node;
205
+ export declare function password(props: PasswordProps): Node;
206
+ export declare function select(props: SelectProps): Node;
207
+ export declare function confirm(props: ConfirmProps): Node;
208
+ export declare function checkbox(props: CheckboxProps): Node;
209
+ export declare function textarea(props: TextareaProps): Node;
210
+ export declare function screen(...children: Node[]): Node;
211
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/engine/components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ /**
2
+ * components — fábricas puras que retornam `Node` imutável (immediate-mode
3
+ * declarativo, ADR-0002). Sem JSX, sem classes, sem estado oculto.
4
+ * (Fatia vertical / PoC: fábricas reais. A pintura de cada tipo vive no renderer.)
5
+ */
6
+ function node(type, props = {}, children = [], key) {
7
+ const p = props;
8
+ return key === undefined ? { type, props: p, children } : { type, props: p, children, key };
9
+ }
10
+ // texto e contêineres
11
+ export function text(content, style = {}) {
12
+ return node('text', { content, ...style });
13
+ }
14
+ export function box(props = {}, ...children) {
15
+ return node('box', props, children);
16
+ }
17
+ export function panel(props = {}, ...children) {
18
+ return node('panel', props, children);
19
+ }
20
+ export function card(props = {}, ...children) {
21
+ return node('card', props, children);
22
+ }
23
+ export function separator(props = {}) {
24
+ return node('separator', props);
25
+ }
26
+ export function header(props) {
27
+ return node('header', props);
28
+ }
29
+ export function footer(props) {
30
+ return node('footer', props);
31
+ }
32
+ export function emptyState(props) {
33
+ return node('emptyState', props);
34
+ }
35
+ export function banner(props) {
36
+ return node('banner', props);
37
+ }
38
+ export function gradientText(content, colors, opts = {}) {
39
+ return node('gradientText', { content, colors, ...opts });
40
+ }
41
+ // layout
42
+ export function stack(props = {}, ...children) {
43
+ return node('stack', props, children);
44
+ }
45
+ export function row(props = {}, ...children) {
46
+ return node('row', props, children);
47
+ }
48
+ export function column(props = {}, ...children) {
49
+ return node('column', props, children);
50
+ }
51
+ export function center(props = {}, ...children) {
52
+ return node('center', props, children);
53
+ }
54
+ export function spacer(props = {}) {
55
+ return node('spacer', props);
56
+ }
57
+ export function grid(props = { columns: 1 }, ...children) {
58
+ return node('grid', props, children);
59
+ }
60
+ // feedback / status
61
+ export function spinner(props = {}) {
62
+ return node('spinner', props, [], props.key);
63
+ }
64
+ export function progressBar(props) {
65
+ return node('progressBar', props);
66
+ }
67
+ export function badge(props) {
68
+ return node('badge', props);
69
+ }
70
+ export function status(props) {
71
+ return node('status', props);
72
+ }
73
+ export function logs(props) {
74
+ return node('logs', props);
75
+ }
76
+ // dados
77
+ export function tree(props) {
78
+ return node('tree', props);
79
+ }
80
+ export function table(props) {
81
+ return node('table', props);
82
+ }
83
+ export function list(props) {
84
+ return node('list', props);
85
+ }
86
+ // interativos
87
+ export function input(props) {
88
+ return node('input', props, [], props.key);
89
+ }
90
+ export function password(props) {
91
+ return node('password', props, [], props.key);
92
+ }
93
+ export function select(props) {
94
+ return node('select', props, [], props.key);
95
+ }
96
+ export function confirm(props) {
97
+ return node('confirm', props, [], props.key);
98
+ }
99
+ export function checkbox(props) {
100
+ return node('checkbox', props, [], props.key);
101
+ }
102
+ export function textarea(props) {
103
+ return node('textarea', props, [], props.key);
104
+ }
105
+ // raiz
106
+ export function screen(...children) {
107
+ return node('screen', {}, children);
108
+ }
109
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/ui/engine/components/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * cursor — geração de sequências de posicionamento/visibilidade do cursor.
3
+ * Funções puras (retornam bytes); quem escreve é o `terminal`.
4
+ * (Fatia vertical / PoC: implementação real.)
5
+ */
6
+ /** Fábrica de sequências de cursor. Coordenadas base 0 na API; 1-based no CSI. */
7
+ export interface Cursor {
8
+ moveTo(x: number, y: number): string;
9
+ moveBy(dx: number, dy: number): string;
10
+ hide(): string;
11
+ show(): string;
12
+ save(): string;
13
+ restore(): string;
14
+ toColumnStart(): string;
15
+ }
16
+ export declare function createCursor(): Cursor;
17
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/ui/engine/cursor/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,kFAAkF;AAClF,MAAM,WAAW,MAAM;IACrB,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACrC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,MAAM,CAAC;IACvC,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,MAAM,CAAC;IACf,IAAI,IAAI,MAAM,CAAC;IACf,OAAO,IAAI,MAAM,CAAC;IAClB,aAAa,IAAI,MAAM,CAAC;CACzB;AAED,wBAAgB,YAAY,IAAI,MAAM,CA6BrC"}