silvery 0.21.1 → 0.23.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 (171) hide show
  1. package/dist/{Text-BRf-59j2.mjs → Text-Ci6UCSTL.mjs} +46 -46
  2. package/dist/Text-Ci6UCSTL.mjs.map +1 -0
  3. package/dist/{ag-BeFC4S2N.mjs → ag-q9lRlKlt.mjs} +42 -19
  4. package/dist/ag-q9lRlKlt.mjs.map +1 -0
  5. package/dist/{animation-N8MFybTk.mjs → animation-CZ4x2R7C.mjs} +1 -1
  6. package/dist/{animation-N8MFybTk.mjs.map → animation-CZ4x2R7C.mjs.map} +1 -1
  7. package/dist/{ansi-C6Qs1Wn2.mjs → ansi-CLmIMnop.mjs} +1 -1
  8. package/dist/{ansi-C6Qs1Wn2.mjs.map → ansi-CLmIMnop.mjs.map} +1 -1
  9. package/dist/{ansi-CBkam1ty.d.mts → ansi-zmNzgkPB.d.mts} +1 -1
  10. package/dist/{ansi-CBkam1ty.d.mts.map → ansi-zmNzgkPB.d.mts.map} +1 -1
  11. package/dist/backend-DSiSIc-h.mjs +13396 -0
  12. package/dist/backend-DSiSIc-h.mjs.map +1 -0
  13. package/dist/chain-bridge-CkYcMxlq.mjs +4149 -0
  14. package/dist/chain-bridge-CkYcMxlq.mjs.map +1 -0
  15. package/dist/{chunk-hT5z_Zn9.mjs → chunk-BEJ448es.mjs} +1 -1
  16. package/dist/cli-VNqUKlXw.mjs +4 -0
  17. package/dist/{context-BU5LkkIy.mjs → context-CEhuD1R_.mjs} +1 -1
  18. package/dist/{context-BU5LkkIy.mjs.map → context-CEhuD1R_.mjs.map} +1 -1
  19. package/dist/devtools-BF4IMumr.mjs +2 -0
  20. package/dist/{devtools-9zfhpFyG.mjs → devtools-td2AjFwc.mjs} +5 -4
  21. package/dist/{devtools-9zfhpFyG.mjs.map → devtools-td2AjFwc.mjs.map} +1 -1
  22. package/dist/{easing-B0oZKDki.d.mts → easing-C5MrdO7V.d.mts} +1 -1
  23. package/dist/{easing-B0oZKDki.d.mts.map → easing-C5MrdO7V.d.mts.map} +1 -1
  24. package/dist/{eta-DGOuC8yU.mjs → eta-BwYWEjfS.mjs} +1 -5
  25. package/dist/{eta-DGOuC8yU.mjs.map → eta-BwYWEjfS.mjs.map} +1 -1
  26. package/dist/{flexily-zero-adapter-D6hcFgrH.mjs → flexily-zero-adapter-DktX3HsX.mjs} +1 -1
  27. package/dist/{flexily-zero-adapter-CEJOcbNp.mjs → flexily-zero-adapter-VoBGHG14.mjs} +1 -1
  28. package/dist/{flexily-zero-adapter-CEJOcbNp.mjs.map → flexily-zero-adapter-VoBGHG14.mjs.map} +1 -1
  29. package/dist/hit-registry-D_nxOivS.d.mts +71 -0
  30. package/dist/hit-registry-D_nxOivS.d.mts.map +1 -0
  31. package/dist/{image-1nRyKa60.mjs → image-CIF75xMr.mjs} +24 -24
  32. package/dist/image-CIF75xMr.mjs.map +1 -0
  33. package/dist/{index-2E1jYgak.d.mts → index-377zdPLP.d.mts} +35 -12
  34. package/dist/index-377zdPLP.d.mts.map +1 -0
  35. package/dist/{index-DnuadDNL.d.mts → index-BcSr0RAQ.d.mts} +8590 -11173
  36. package/dist/index-BcSr0RAQ.d.mts.map +1 -0
  37. package/dist/{index-Dg1YaeJb.d.mts → index-DLnpxDAm.d.mts} +2 -2
  38. package/dist/{index-Dg1YaeJb.d.mts.map → index-DLnpxDAm.d.mts.map} +1 -1
  39. package/dist/{index-Bi4Jdz5g.d.mts → index-DlNmckTq.d.mts} +2 -2
  40. package/dist/{index-Bi4Jdz5g.d.mts.map → index-DlNmckTq.d.mts.map} +1 -1
  41. package/dist/index.d.mts +12 -8
  42. package/dist/index.d.mts.map +1 -1
  43. package/dist/index.mjs +18 -17
  44. package/dist/index.mjs.map +1 -1
  45. package/dist/{layout-engine-Ca_nbtfL.mjs → layout-engine-BgR58vL0.mjs} +3 -3
  46. package/dist/{layout-engine-Ca_nbtfL.mjs.map → layout-engine-BgR58vL0.mjs.map} +1 -1
  47. package/dist/{layout-engine-CgsoBRIn.mjs → layout-engine-DNjTha8f.mjs} +1 -1
  48. package/dist/{layout-signals-Dch2EiCy.mjs → layout-signals-CGYbHmxy.mjs} +2 -2
  49. package/dist/layout-signals-CGYbHmxy.mjs.map +1 -0
  50. package/dist/{bound-term-BumfuXXW.d.mts → mouse-events-B2z5tbsL.d.mts} +540 -401
  51. package/dist/mouse-events-B2z5tbsL.d.mts.map +1 -0
  52. package/dist/{mouse-events-hnbJZRwK.mjs → mouse-events-WQ2h-uqG.mjs} +14 -6
  53. package/dist/mouse-events-WQ2h-uqG.mjs.map +1 -0
  54. package/dist/{multi-progress-Bg4ngK80.d.mts → multi-progress-BaEFfHKP.d.mts} +2 -2
  55. package/dist/{multi-progress-Bg4ngK80.d.mts.map → multi-progress-BaEFfHKP.d.mts.map} +1 -1
  56. package/dist/{multi-progress-CaXTuL9G.mjs → multi-progress-zCWHEm9P.mjs} +3 -3
  57. package/dist/{multi-progress-CaXTuL9G.mjs.map → multi-progress-zCWHEm9P.mjs.map} +1 -1
  58. package/dist/{node-BiFu8I9Y.mjs → node-CJ3J_rW-.mjs} +4 -4
  59. package/dist/node-CJ3J_rW-.mjs.map +1 -0
  60. package/dist/{progress-B_UPy6zk.mjs → progress-6vJ7nxUg.mjs} +4 -4
  61. package/dist/{progress-B_UPy6zk.mjs.map → progress-6vJ7nxUg.mjs.map} +1 -1
  62. package/dist/{progress-bar-DmIMPdL0.mjs → progress-bar-BlFNsZL8.mjs} +4 -4
  63. package/dist/{progress-bar-DmIMPdL0.mjs.map → progress-bar-BlFNsZL8.mjs.map} +1 -1
  64. package/dist/{reconciler-NBDSEm8k.mjs → reconciler--_-biN23.mjs} +111 -150
  65. package/dist/reconciler--_-biN23.mjs.map +1 -0
  66. package/dist/{render-string-BntLj7Xq.mjs → render-string-DaghHpLN.mjs} +1 -1
  67. package/dist/{render-string-B4h4SmK7.mjs → render-string-DtHZP0cU.mjs} +15 -11
  68. package/dist/render-string-DtHZP0cU.mjs.map +1 -0
  69. package/dist/runtime.d.mts +3 -2
  70. package/dist/runtime.mjs +3 -2
  71. package/dist/{schemes-DYt2ushj.mjs → schemes-DWQPxXAi.mjs} +2 -2
  72. package/dist/{schemes-DYt2ushj.mjs.map → schemes-DWQPxXAi.mjs.map} +1 -1
  73. package/dist/{spinner-Py8_-hn9.mjs → spinner-B50hILqx.mjs} +3 -3
  74. package/dist/{spinner-Py8_-hn9.mjs.map → spinner-B50hILqx.mjs.map} +1 -1
  75. package/dist/{spinner-CLgzJ_QF.d.mts → spinner-DN10UfF0.d.mts} +2 -2
  76. package/dist/{spinner-CLgzJ_QF.d.mts.map → spinner-DN10UfF0.d.mts.map} +1 -1
  77. package/dist/{src-Oe6x5PrS.mjs → src-B8lf1kiR.mjs} +190 -83
  78. package/dist/src-B8lf1kiR.mjs.map +1 -0
  79. package/dist/{src-Dvq-s8iD.mjs → src-BOLdi3WG.mjs} +3 -3
  80. package/dist/{src-Dvq-s8iD.mjs.map → src-BOLdi3WG.mjs.map} +1 -1
  81. package/dist/{src-B9S_woYc.mjs → src-BXeTHHlL.mjs} +20289 -23262
  82. package/dist/src-BXeTHHlL.mjs.map +1 -0
  83. package/dist/{src-WeA_J4BV.mjs → src-BqeBFB3X.mjs} +90 -47
  84. package/dist/src-BqeBFB3X.mjs.map +1 -0
  85. package/dist/{src-CbhWmUnF.mjs → src-DbqcSrhy.mjs} +1400 -1427
  86. package/dist/src-DbqcSrhy.mjs.map +1 -0
  87. package/dist/{steps-DYrzCUCK.d.mts → steps-B2kBmFpb.d.mts} +1 -1
  88. package/dist/{steps-DYrzCUCK.d.mts.map → steps-B2kBmFpb.d.mts.map} +1 -1
  89. package/dist/{svg-DhxQkz-O.mjs → svg-NmV9dgB9.mjs} +1 -1
  90. package/dist/{svg-DhxQkz-O.mjs.map → svg-NmV9dgB9.mjs.map} +1 -1
  91. package/dist/{svg-Hk7lIl4F.d.mts → svg-VUr78l5d.d.mts} +1 -1
  92. package/dist/{svg-Hk7lIl4F.d.mts.map → svg-VUr78l5d.d.mts.map} +1 -1
  93. package/dist/term.d.mts +2 -2
  94. package/dist/term.mjs +3 -3
  95. package/dist/test.d.mts +673 -0
  96. package/dist/test.d.mts.map +1 -0
  97. package/dist/test.mjs +2829 -0
  98. package/dist/test.mjs.map +1 -0
  99. package/dist/theme.d.mts +2 -2
  100. package/dist/theme.d.mts.map +1 -1
  101. package/dist/theme.mjs +3 -3
  102. package/dist/{types-Bx-XZNbE.d.mts → types-D_E0FbqA.d.mts} +1 -1
  103. package/dist/{types-Bx-XZNbE.d.mts.map → types-D_E0FbqA.d.mts.map} +1 -1
  104. package/dist/ui/animation.d.mts +2 -2
  105. package/dist/ui/animation.mjs +1 -1
  106. package/dist/ui/ansi.d.mts +1 -1
  107. package/dist/ui/ansi.mjs +1 -1
  108. package/dist/ui/cli.d.mts +3 -3
  109. package/dist/ui/cli.mjs +5 -5
  110. package/dist/ui/image.d.mts +1 -1
  111. package/dist/ui/image.mjs +1 -1
  112. package/dist/ui/progress.d.mts +4 -4
  113. package/dist/ui/progress.mjs +4 -4
  114. package/dist/ui/react.d.mts +1 -1
  115. package/dist/ui/react.mjs +2 -2
  116. package/dist/ui/react.mjs.map +1 -1
  117. package/dist/ui/recording-chrome-react.d.mts +1 -1
  118. package/dist/ui/recording-chrome-react.mjs +2 -2
  119. package/dist/ui/recording-chrome.d.mts +1 -1
  120. package/dist/ui/recording-chrome.mjs +1 -1
  121. package/dist/ui/utils.mjs +1 -1
  122. package/dist/ui/wrappers.d.mts +2 -2
  123. package/dist/ui/wrappers.mjs +1 -1
  124. package/dist/ui.d.mts +6 -6
  125. package/dist/ui.mjs +7 -7
  126. package/dist/{ansi-OYRLxxZQ.mjs → unicode-CxyxVGmB.mjs} +7317 -6909
  127. package/dist/unicode-CxyxVGmB.mjs.map +1 -0
  128. package/dist/{useLatest-DC8i7guK.d.mts → useLatest-UOvWy0ZW.d.mts} +2 -2
  129. package/dist/{useLatest-DC8i7guK.d.mts.map → useLatest-UOvWy0ZW.d.mts.map} +1 -1
  130. package/dist/{useLayout-BKsQl2Or.mjs → useLayout-D5cE8OCI.mjs} +4 -4
  131. package/dist/{useLayout-BKsQl2Or.mjs.map → useLayout-D5cE8OCI.mjs.map} +1 -1
  132. package/dist/{with-text-input-DG4f7JII.d.mts → with-text-input-DLoSCBrm.d.mts} +3 -3
  133. package/dist/{with-text-input-DG4f7JII.d.mts.map → with-text-input-DLoSCBrm.d.mts.map} +1 -1
  134. package/dist/wrap-measurer-registration-IV2HtcCd.d.mts +3106 -0
  135. package/dist/wrap-measurer-registration-IV2HtcCd.d.mts.map +1 -0
  136. package/dist/{wrapper-D7gNSsgf.mjs → wrapper-CD29afOs.mjs} +17 -37
  137. package/dist/wrapper-CD29afOs.mjs.map +1 -0
  138. package/dist/{wrappers-CypAzrMO.mjs → wrappers-CInBJm44.mjs} +6 -6
  139. package/dist/{wrappers-CypAzrMO.mjs.map → wrappers-CInBJm44.mjs.map} +1 -1
  140. package/dist/{yoga-adapter-SsEIqMc1.mjs → yoga-adapter-9uab5Qn-.mjs} +2 -2
  141. package/dist/{yoga-adapter-SsEIqMc1.mjs.map → yoga-adapter-9uab5Qn-.mjs.map} +1 -1
  142. package/dist/yoga-adapter-yqTl1aXK.mjs +2 -0
  143. package/package.json +20 -15
  144. package/dist/Text-BRf-59j2.mjs.map +0 -1
  145. package/dist/ag-BeFC4S2N.mjs.map +0 -1
  146. package/dist/ansi-OYRLxxZQ.mjs.map +0 -1
  147. package/dist/bound-term-BumfuXXW.d.mts.map +0 -1
  148. package/dist/cli-DG6zsfsS.mjs +0 -4
  149. package/dist/devtools-nmPUmYU_.mjs +0 -2
  150. package/dist/image-1nRyKa60.mjs.map +0 -1
  151. package/dist/index-2E1jYgak.d.mts.map +0 -1
  152. package/dist/index-DnuadDNL.d.mts.map +0 -1
  153. package/dist/layout-signals-Dch2EiCy.mjs.map +0 -1
  154. package/dist/mouse-events-hnbJZRwK.mjs.map +0 -1
  155. package/dist/node-BiFu8I9Y.mjs.map +0 -1
  156. package/dist/reconciler-NBDSEm8k.mjs.map +0 -1
  157. package/dist/render-string-B4h4SmK7.mjs.map +0 -1
  158. package/dist/src-B9S_woYc.mjs.map +0 -1
  159. package/dist/src-CbhWmUnF.mjs.map +0 -1
  160. package/dist/src-Oe6x5PrS.mjs.map +0 -1
  161. package/dist/src-WeA_J4BV.mjs.map +0 -1
  162. package/dist/ui/display.d.mts +0 -35
  163. package/dist/ui/display.d.mts.map +0 -1
  164. package/dist/ui/display.mjs +0 -123
  165. package/dist/ui/display.mjs.map +0 -1
  166. package/dist/ui/input.d.mts +0 -184
  167. package/dist/ui/input.d.mts.map +0 -1
  168. package/dist/ui/input.mjs +0 -283
  169. package/dist/ui/input.mjs.map +0 -1
  170. package/dist/wrapper-D7gNSsgf.mjs.map +0 -1
  171. package/dist/yoga-adapter-1ex8r0ws.mjs +0 -2
package/dist/theme.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { $ as BorderRole, G as detectTheme, H as DetectThemeOptions, K as probeColors, Q as AccentRole, S as detectSchemeTheme, U as DetectedScheme, W as detectTerminalScheme, X as ColorScheme, Y as COLOR_SCHEME_FIELDS, _ as DetectSchemeOptions, _t as bakeFlat, at as DeriveOptions, b as SlotSource, ct as FlatTokens, dt as Roles, et as ContrastMode, ft as StatePair, gt as FlattenRule, ht as ThemeShape, it as DerivationTrace, lt as InteractiveRole, mt as Theme, nt as DeepPartial, ot as DesignSystem, pt as SurfaceRole, rt as DerivationStep, st as FlatToken, tt as CursorRole, ut as MutedRole, v as DetectSchemeResult, vt as defaultFlattenRule, x as detectScheme, y as DetectSource } from "./index-2E1jYgak.mjs";
2
- import { $ as importBase16, A as everforestDark, B as oneDark, C as ayuMirage, D as snazzy, E as materialLight, F as rosePine, G as solarizedLight, H as tokyoNightDay, I as rosePineDawn, J as catppuccinFrappe, K as dracula, L as rosePineMoon, M as kanagawaDragon, N as kanagawaLotus, O as monokai, P as kanagawaWave, Q as exportBase16, R as gruvboxDark, S as ayuLight, T as materialDark, U as tokyoNightStorm, V as tokyoNight, W as solarizedDark, X as catppuccinMacchiato, Y as catppuccinLatte, Z as catppuccinMocha, _ as moonfly, _t as generateTheme, a as defaultDarkTheme, at as ThemeValidationResult, b as nightfox, c as getThemeByName, ct as validateColorScheme, d as edgeDark, dt as presetTheme, et as Base16Scheme, f as edgeLight, ft as quickTheme, g as nightfly, gt as fromPreset, h as oxocarbonLight, ht as fromColors, i as builtinThemes, it as THEME_TOKEN_KEYS, j as everforestLight, k as monokaiPro, l as modusOperandi, lt as autoGenerateTheme, m as oxocarbonDark, mt as fromBase16, n as ansi16LightTheme, nt as resolveAliases, o as defaultLightTheme, ot as validateTheme, p as sonokai, pt as assignPrimaryToSlot, q as nord, r as builtinPalettes, rt as resolveTokenAlias, s as getSchemeByName, st as ValidationResult, t as ansi16DarkTheme, tt as themeToCSSVars, u as modusVivendi, ut as createTheme, v as horizon, w as palenight, x as ayuDark, y as dawnfox, z as gruvboxLight } from "./index-Bi4Jdz5g.mjs";
1
+ import { $ as AccentRole, G as detectTerminalScheme, K as detectTheme, S as detectSchemeTheme, U as DetectThemeOptions, W as DetectedScheme, X as COLOR_SCHEME_FIELDS, Z as ColorScheme, _ as DetectSchemeOptions, _t as FlattenRule, at as DerivationTrace, b as SlotSource, ct as FlatToken, dt as MutedRole, et as BorderRole, ft as Roles, gt as ThemeShape, ht as Theme, it as DerivationStep, lt as FlatTokens, mt as SurfaceRole, nt as CursorRole, ot as DeriveOptions, pt as StatePair, q as probeColors, rt as DeepPartial, st as DesignSystem, tt as ContrastMode, ut as InteractiveRole, v as DetectSchemeResult, vt as bakeFlat, x as detectScheme, y as DetectSource, yt as defaultFlattenRule } from "./index-377zdPLP.mjs";
2
+ import { $ as importBase16, A as everforestDark, B as oneDark, C as ayuMirage, D as snazzy, E as materialLight, F as rosePine, G as solarizedLight, H as tokyoNightDay, I as rosePineDawn, J as catppuccinFrappe, K as dracula, L as rosePineMoon, M as kanagawaDragon, N as kanagawaLotus, O as monokai, P as kanagawaWave, Q as exportBase16, R as gruvboxDark, S as ayuLight, T as materialDark, U as tokyoNightStorm, V as tokyoNight, W as solarizedDark, X as catppuccinMacchiato, Y as catppuccinLatte, Z as catppuccinMocha, _ as moonfly, _t as generateTheme, a as defaultDarkTheme, at as ThemeValidationResult, b as nightfox, c as getThemeByName, ct as validateColorScheme, d as edgeDark, dt as presetTheme, et as Base16Scheme, f as edgeLight, ft as quickTheme, g as nightfly, gt as fromPreset, h as oxocarbonLight, ht as fromColors, i as builtinThemes, it as THEME_TOKEN_KEYS, j as everforestLight, k as monokaiPro, l as modusOperandi, lt as autoGenerateTheme, m as oxocarbonDark, mt as fromBase16, n as ansi16LightTheme, nt as resolveAliases, o as defaultLightTheme, ot as validateTheme, p as sonokai, pt as assignPrimaryToSlot, q as nord, r as builtinPalettes, rt as resolveTokenAlias, s as getSchemeByName, st as ValidationResult, t as ansi16DarkTheme, tt as themeToCSSVars, u as modusVivendi, ut as createTheme, v as horizon, w as palenight, x as ayuDark, y as dawnfox, z as gruvboxLight } from "./index-DlNmckTq.mjs";
3
3
 
4
4
  //#region packages/ansi/src/sterling/sterling.d.ts
5
5
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"theme.d.mts","names":[],"sources":["../packages/ansi/src/sterling/sterling.ts","../packages/ansi/src/sterling/define.ts","../packages/ansi/src/sterling/contrast.ts","../packages/ansi/src/sterling/derive.ts","../packages/ansi/src/sterling/flat-tokens.ts","../packages/ansi/src/sterling/defaults.ts"],"mappings":";;;;;;;;AEkBA;cFgJa,QAAA,EAAU,YAAA;;;;;;;;;iBC1GP,kBAAA,CAAmB,GAAA,EAAK,YAAA,GAAe,YAAA;;;;;;;AD0GvD;;;;;;;;AC1GA;;;cCtCa,OAAA;AAAA,UAYI,iBAAA;EAAA,SACN,KAAA;EAAA,SACA,EAAA;EAAA,SACA,EAAA;EAAA,SACA,KAAA;EAAA,SACA,MAAA;AAAA;AAAA,cAGE,aAAA,SAAsB,KAAA;EAAA,SACxB,UAAA,WAAqB,iBAAA;cAClB,UAAA,WAAqB,iBAAA;AAAA;;;;;iBAgBnB,OAAA,CACd,KAAA,UACA,EAAA,UACA,EAAA,UACA,MAAA,YACC,iBAAA;;;;;;;;;;;iBAiBa,QAAA,CACd,EAAA,UACA,EAAA,UACA,MAAA;EACG,KAAA;EAAe,MAAA;AAAA;;;;;AA5CpB;iBCiRgB,WAAA,CACd,MAAA,EAAQ,WAAA,EACR,IAAA,EAAM,aAAA;EAEN,KAAA,EAAO,KAAA;EACP,IAAA;EACA,KAAA,EAAO,cAAA;EACP,UAAA,EAAY,iBAAA;AAAA;;;;;;;;iBAmlBE,WAAA,CACd,MAAA,EAAQ,WAAA,EACR,IAAA,GAAM,aAAA,GACL,IAAA,CAAK,KAAA,QAAK,UAAA;;;cCv4BA,oBAAA,WAA+B,SAAA;;;iBCwD5B,aAAA,CAAc,IAAA,sBAAkC,WAAA"}
1
+ {"version":3,"file":"theme.d.mts","names":[],"sources":["../packages/ansi/src/sterling/sterling.ts","../packages/ansi/src/sterling/define.ts","../packages/ansi/src/sterling/contrast.ts","../packages/ansi/src/sterling/derive.ts","../packages/ansi/src/sterling/flat-tokens.ts","../packages/ansi/src/sterling/defaults.ts"],"mappings":";;;;;;;;AEkBA;cFiJa,QAAA,EAAU,YAAA;;;;;;;;;iBC3GP,kBAAA,CAAmB,GAAA,EAAK,YAAA,GAAe,YAAA;;;;;;;AD2GvD;;;;;;;;AC3GA;;;cCtCa,OAAA;AAAA,UAYI,iBAAA;EAAA,SACN,KAAA;EAAA,SACA,EAAA;EAAA,SACA,EAAA;EAAA,SACA,KAAA;EAAA,SACA,MAAA;AAAA;AAAA,cAGE,aAAA,SAAsB,KAAA;EAAA,SACxB,UAAA,WAAqB,iBAAA;cAClB,UAAA,WAAqB,iBAAA;AAAA;;;;;iBAgBnB,OAAA,CACd,KAAA,UACA,EAAA,UACA,EAAA,UACA,MAAA,YACC,iBAAA;;;;;;;;;;;iBAiBa,QAAA,CACd,EAAA,UACA,EAAA,UACA,MAAA;EACG,KAAA;EAAe,MAAA;AAAA;;;;;AA5CpB;iBC6TgB,WAAA,CACd,MAAA,EAAQ,WAAA,EACR,IAAA,EAAM,aAAA;EAEN,KAAA,EAAO,KAAA;EACP,IAAA;EACA,KAAA,EAAO,cAAA;EACP,UAAA,EAAY,iBAAA;AAAA;;;;;;;;iBAwoBE,WAAA,CACd,MAAA,EAAQ,WAAA,EACR,IAAA,GAAM,aAAA,GACL,IAAA,CAAK,KAAA,QAAK,UAAA;;;cCx+BA,oBAAA,WAA+B,SAAA;;;iBCwD5B,aAAA,CAAc,IAAA,sBAAkC,WAAA"}
package/dist/theme.mjs CHANGED
@@ -1,4 +1,4 @@
1
- import { D as defaultFlattenRule, E as bakeFlat, L as detectTerminalScheme, R as detectTheme, at as deriveRoles, c as detectSchemeTheme, ct as WCAG_AA, i as STERLING_FLAT_TOKENS, l as COLOR_SCHEME_FIELDS, lt as autoLift, n as defineDesignSystem, ot as deriveTheme, r as defaultScheme, s as detectScheme, st as ContrastError, t as sterling, ut as checkAA, z as probeColors } from "./src-Oe6x5PrS.mjs";
2
- import { A as everforestDark, B as oneDark, C as ayuMirage, D as snazzy, E as materialLight, F as rosePine, G as solarizedLight, H as tokyoNightDay, I as rosePineDawn, J as catppuccinFrappe, K as dracula, L as rosePineMoon, M as kanagawaDragon, N as kanagawaLotus, O as monokai, P as kanagawaWave, R as gruvboxDark, S as ayuLight, T as materialDark, U as tokyoNightStorm, V as tokyoNight, W as solarizedDark, X as catppuccinMacchiato, Y as catppuccinLatte, Z as catppuccinMocha, _ as moonfly, a as defaultDarkTheme, b as nightfox, c as getThemeByName, d as edgeDark, f as edgeLight, g as nightfly, h as oxocarbonLight, i as builtinThemes, j as everforestLight, k as monokaiPro, l as modusOperandi, m as oxocarbonDark, n as ansi16LightTheme, o as defaultLightTheme, p as sonokai, q as nord, r as builtinPalettes, s as getSchemeByName, t as ansi16DarkTheme, u as modusVivendi, v as horizon, w as palenight, x as ayuDark, y as dawnfox, z as gruvboxLight } from "./schemes-DYt2ushj.mjs";
3
- import { _ as generateTheme, a as THEME_TOKEN_KEYS, c as autoGenerateTheme, d as quickTheme, f as assignPrimaryToSlot, g as importBase16, h as fromPreset, i as resolveTokenAlias, l as createTheme, m as fromColors, n as themeToCSSVars, o as validateTheme, p as fromBase16, r as resolveAliases, s as validateColorScheme, t as exportBase16, u as presetTheme } from "./src-Dvq-s8iD.mjs";
1
+ import { D as defaultFlattenRule, E as bakeFlat, H as detectTheme, U as probeColors, V as detectTerminalScheme, c as detectSchemeTheme, dt as ContrastError, ft as WCAG_AA, l as COLOR_SCHEME_FIELDS, lt as deriveRoles, mt as checkAA, n as defineDesignSystem, o as STERLING_FLAT_TOKENS, pt as autoLift, r as defaultScheme, s as detectScheme, t as sterling, ut as deriveTheme } from "./src-B8lf1kiR.mjs";
2
+ import { _ as generateTheme, a as THEME_TOKEN_KEYS, c as autoGenerateTheme, d as quickTheme, f as assignPrimaryToSlot, g as importBase16, h as fromPreset, i as resolveTokenAlias, l as createTheme, m as fromColors, n as themeToCSSVars, o as validateTheme, p as fromBase16, r as resolveAliases, s as validateColorScheme, t as exportBase16, u as presetTheme } from "./src-BOLdi3WG.mjs";
3
+ import { A as everforestDark, B as oneDark, C as ayuMirage, D as snazzy, E as materialLight, F as rosePine, G as solarizedLight, H as tokyoNightDay, I as rosePineDawn, J as catppuccinFrappe, K as dracula, L as rosePineMoon, M as kanagawaDragon, N as kanagawaLotus, O as monokai, P as kanagawaWave, R as gruvboxDark, S as ayuLight, T as materialDark, U as tokyoNightStorm, V as tokyoNight, W as solarizedDark, X as catppuccinMacchiato, Y as catppuccinLatte, Z as catppuccinMocha, _ as moonfly, a as defaultDarkTheme, b as nightfox, c as getThemeByName, d as edgeDark, f as edgeLight, g as nightfly, h as oxocarbonLight, i as builtinThemes, j as everforestLight, k as monokaiPro, l as modusOperandi, m as oxocarbonDark, n as ansi16LightTheme, o as defaultLightTheme, p as sonokai, q as nord, r as builtinPalettes, s as getSchemeByName, t as ansi16DarkTheme, u as modusVivendi, v as horizon, w as palenight, x as ayuDark, y as dawnfox, z as gruvboxLight } from "./schemes-DWQPxXAi.mjs";
4
4
  export { COLOR_SCHEME_FIELDS, STERLING_FLAT_TOKENS, ContrastError as SterlingContrastError, THEME_TOKEN_KEYS, WCAG_AA, ansi16DarkTheme, ansi16LightTheme, assignPrimaryToSlot, autoGenerateTheme, ayuDark, ayuLight, ayuMirage, bakeFlat, builtinPalettes, builtinThemes, catppuccinFrappe, catppuccinLatte, catppuccinMacchiato, catppuccinMocha, createTheme, dawnfox, defaultDarkTheme, defaultFlattenRule, defaultLightTheme, defineDesignSystem, detectScheme, detectSchemeTheme, detectTerminalScheme, detectTheme, dracula, edgeDark, edgeLight, everforestDark, everforestLight, exportBase16, fromBase16, fromColors, fromPreset, generateTheme, getSchemeByName, getThemeByName, gruvboxDark, gruvboxLight, horizon, importBase16, kanagawaDragon, kanagawaLotus, kanagawaWave, materialDark, materialLight, modusOperandi, modusVivendi, monokai, monokaiPro, moonfly, nightfly, nightfox, nord, oneDark, oxocarbonDark, oxocarbonLight, palenight, presetTheme, probeColors, quickTheme, resolveAliases, resolveTokenAlias, rosePine, rosePineDawn, rosePineMoon, snazzy, solarizedDark, solarizedLight, sonokai, sterling, autoLift as sterlingAutoLift, checkAA as sterlingCheckAA, defaultScheme as sterlingDefaultScheme, deriveRoles as sterlingDeriveRoles, deriveTheme as sterlingDeriveTheme, themeToCSSVars, tokyoNight, tokyoNightDay, tokyoNightStorm, validateColorScheme, validateTheme };
@@ -225,4 +225,4 @@ interface WithSelectOptions {
225
225
  }
226
226
  //#endregion
227
227
  export { TextInputOptions as _, ProgressInfo as a, WithSpinnerOptions as b, SpinnerOptions as c, StepProgress as d, TableColumn as f, TaskStatus as g, TaskState as h, ProgressGenerator as i, SpinnerProps as l, TaskProps as m, ProgressBarProps as n, SelectOption as o, TableProps as p, ProgressCallback as r, SelectProps as s, ProgressBarOptions as t, SpinnerStyle as u, TextInputProps as v, WithSelectOptions as y };
228
- //# sourceMappingURL=types-Bx-XZNbE.d.mts.map
228
+ //# sourceMappingURL=types-D_E0FbqA.d.mts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types-Bx-XZNbE.d.mts","names":[],"sources":["../packages/ag-react/src/ui/types.ts"],"mappings":";;AAKA;;;UAAiB,YAAA;EACf,KAAA;EACA,OAAA;EACA,KAAA;EACA,MAAA;AAAA;;AAiBF;;;;;;;;;AAUA;;;;UAViB,YAAA;EAaL;EAXV,KAAA;EAW2B;EAT3B,OAAA;EAS4B;EAP5B,KAAA;AAAA;;KAIU,gBAAA,IAAoB,IAAA,EAAM,YAAA;;KAG1B,iBAAA,aAA8B,SAAA;EAAY,OAAA;EAAiB,KAAA;AAAA,GAAiB,CAAA;;KAG5E,YAAA;AAGZ;AAAA,KAAY,UAAA;;UAGK,cAAA;EAHK;EAKpB,IAAA;EAF6B;EAI7B,KAAA,GAAQ,YAAA;EAImB;EAF3B,KAAA;EAFA;EAIA,MAAA,GAAS,MAAA,CAAO,WAAA;EAFhB;EAIA,UAAA;EAFS;EAIT,QAAA;AAAA;;UAIe,kBAAA;EAJP;EAMR,KAAA;EAFiC;EAIjC,MAAA;EAgBe;EAdf,KAAA;EAFA;EAIA,QAAA;EAAA;EAEA,UAAA;EAEA;EAAA,cAAA;EAIA;EAFA,OAAA;EAEgB;EAAhB,MAAA,GAAS,MAAA,CAAO,WAAA;EAIhB;EAFA,UAAA;EAEe;EAAf,MAAA,GAAS,MAAA;AAAA;;UAIM,kBAAA;EAEK;EAApB,KAAA,GAAQ,YAAA;EAAA;EAER,eAAA;EAEA;EAAA,KAAA;AAAA;AAIF;AAAA,UAAiB,SAAA;EACf,EAAA;EACA,KAAA;EACA,MAAA,EAAQ,UAAA;EACR,QAAA;IAAa,OAAA;IAAiB,KAAA;EAAA;EAC9B,KAAA,GAAQ,KAAA;EACR,QAAA,GAAW,SAAA;AAAA;;UAII,YAAA;EANe;EAQ9B,KAAA;EAPQ;EASR,KAAA,GAAQ,YAAA;EARG;EAUX,KAAA;AAAA;AANF;AAAA,UAUiB,gBAAA;;EAEf,KAAA;EAVA;EAYA,KAAA;EAVQ;EAYR,KAAA;EAVK;EAYL,cAAA;EARe;EAUf,OAAA;;EAEA,KAAA;EAVA;EAYA,KAAA;AAAA;;UAIe,SAAA;EANf;EAQA,KAAA;EANK;EAQL,MAAA,EAAQ,UAAA;EAJO;EAMf,QAAA,GAAW,KAAA,CAAM,SAAA;AAAA;;UAIF,cAAA;EANf;EAQA,KAAA;EANA;EAQA,QAAA,GAAW,KAAA;EARM;EAUjB,WAAA;EAV0B;EAY1B,IAAA;EAR6B;EAU7B,YAAA;EAV6B;EAY7B,cAAA,IAAkB,UAAA;EARlB;EAUA,QAAA,IAAY,KAAA;EARZ;EAUA,cAAA;EANA;EAQA,OAAA;AAAA;;UAIe,gBAAA;EANf;EAQA,WAAA;EANO;EAQP,IAAA;EAJe;EAMf,QAAA,IAAY,KAAA;;EAEZ,YAAA;EANA;EAQA,YAAA;EAJA;EAMA,MAAA,GAAS,MAAA,CAAO,WAAA;EAJhB;EAMA,WAAA,GAAc,MAAA,CAAO,UAAA;AAAA;;UAIN,WAAA;EAJf;EAMA,GAAA;EANqB;EAQrB,MAAA;EAR+B;EAU/B,KAAA;EAN0B;EAQ1B,KAAA;AAAA;;UAIe,UAAA;EANf;EAQA,OAAA,EAAS,WAAA;EANJ;EAQL,IAAA,EAAM,KAAA,CAAM,MAAA;EAJG;EAMf,MAAA;AAAA;;UAIe,YAAA;EANT;EAQN,KAAA;EARW;EAUX,KAAA,EAAO,CAAA;AAAA;;UAIQ,WAAA;EAdH;EAgBZ,OAAA,EAAS,YAAA,CAAa,CAAA;EAdhB;EAgBN,KAAA,GAAQ,CAAA;EAZO;EAcf,QAAA,IAAY,KAAA,EAAO,CAAA;EAdQ;EAgB3B,UAAA;EAhB4B;EAkB5B,cAAA;EAdA;EAgBA,iBAAA,IAAqB,KAAA;AAAA;;UAIN,iBAAA;EAhBW;EAkB1B,OAAA;EAhBsB;EAkBtB,UAAA;AAAA"}
1
+ {"version":3,"file":"types-D_E0FbqA.d.mts","names":[],"sources":["../packages/ag-react/src/ui/types.ts"],"mappings":";;AAKA;;;UAAiB,YAAA;EACf,KAAA;EACA,OAAA;EACA,KAAA;EACA,MAAA;AAAA;;AAiBF;;;;;;;;;AAUA;;;;UAViB,YAAA;EAaL;EAXV,KAAA;EAW2B;EAT3B,OAAA;EAS4B;EAP5B,KAAA;AAAA;;KAIU,gBAAA,IAAoB,IAAA,EAAM,YAAA;;KAG1B,iBAAA,aAA8B,SAAA;EAAY,OAAA;EAAiB,KAAA;AAAA,GAAiB,CAAA;;KAG5E,YAAA;AAGZ;AAAA,KAAY,UAAA;;UAGK,cAAA;EAHK;EAKpB,IAAA;EAF6B;EAI7B,KAAA,GAAQ,YAAA;EAImB;EAF3B,KAAA;EAFA;EAIA,MAAA,GAAS,MAAA,CAAO,WAAA;EAFhB;EAIA,UAAA;EAFS;EAIT,QAAA;AAAA;;UAIe,kBAAA;EAJP;EAMR,KAAA;EAFiC;EAIjC,MAAA;EAgBe;EAdf,KAAA;EAFA;EAIA,QAAA;EAAA;EAEA,UAAA;EAEA;EAAA,cAAA;EAIA;EAFA,OAAA;EAEgB;EAAhB,MAAA,GAAS,MAAA,CAAO,WAAA;EAIhB;EAFA,UAAA;EAEe;EAAf,MAAA,GAAS,MAAA;AAAA;;UAIM,kBAAA;EAEK;EAApB,KAAA,GAAQ,YAAA;EAAA;EAER,eAAA;EAEA;EAAA,KAAA;AAAA;AAIF;AAAA,UAAiB,SAAA;EACf,EAAA;EACA,KAAA;EACA,MAAA,EAAQ,UAAA;EACR,QAAA;IAAa,OAAA;IAAiB,KAAA;EAAA;EAC9B,KAAA,GAAQ,KAAA;EACR,QAAA,GAAW,SAAA;AAAA;;UAII,YAAA;EANe;EAQ9B,KAAA;EAPQ;EASR,KAAA,GAAQ,YAAA;EARG;EAUX,KAAA;AAAA;AANF;AAAA,UAUiB,gBAAA;;EAEf,KAAA;EAVA;EAYA,KAAA;EAVQ;EAYR,KAAA;EAVK;EAYL,cAAA;EARe;EAUf,OAAA;;EAEA,KAAA;EAVA;EAYA,KAAA;AAAA;;UAIe,SAAA;EANf;EAQA,KAAA;EANK;EAQL,MAAA,EAAQ,UAAA;EAJO;EAMf,QAAA,GAAW,KAAA,CAAM,SAAA;AAAA;;UAIF,cAAA;EANf;EAQA,KAAA;EANA;EAQA,QAAA,GAAW,KAAA;EARM;EAUjB,WAAA;EAV0B;EAY1B,IAAA;EAR6B;EAU7B,YAAA;EAV6B;EAY7B,cAAA,IAAkB,UAAA;EARlB;EAUA,QAAA,IAAY,KAAA;EARZ;EAUA,cAAA;EANA;EAQA,OAAA;AAAA;;UAIe,gBAAA;EANf;EAQA,WAAA;EANO;EAQP,IAAA;EAJe;EAMf,QAAA,IAAY,KAAA;;EAEZ,YAAA;EANA;EAQA,YAAA;EAJA;EAMA,MAAA,GAAS,MAAA,CAAO,WAAA;EAJhB;EAMA,WAAA,GAAc,MAAA,CAAO,UAAA;AAAA;;UAIN,WAAA;EAJf;EAMA,GAAA;EANqB;EAQrB,MAAA;EAR+B;EAU/B,KAAA;EAN0B;EAQ1B,KAAA;AAAA;;UAIe,UAAA;EANf;EAQA,OAAA,EAAS,WAAA;EANJ;EAQL,IAAA,EAAM,KAAA,CAAM,MAAA;EAJG;EAMf,MAAA;AAAA;;UAIe,YAAA;EANT;EAQN,KAAA;EARW;EAUX,KAAA,EAAO,CAAA;AAAA;;UAIQ,WAAA;EAdH;EAgBZ,OAAA,EAAS,YAAA,CAAa,CAAA;EAdhB;EAgBN,KAAA,GAAQ,CAAA;EAZO;EAcf,QAAA,IAAY,KAAA,EAAO,CAAA;EAdQ;EAgB3B,UAAA;EAhB4B;EAkB5B,cAAA;EAdA;EAgBA,iBAAA,IAAqB,KAAA;AAAA;;UAIN,iBAAA;EAhBW;EAkB1B,OAAA;EAhBsB;EAkBtB,UAAA;AAAA"}
@@ -1,3 +1,3 @@
1
- import { i as resolveEasing, n as EasingName, r as easings, t as EasingFn } from "../easing-B0oZKDki.mjs";
2
- import { a as useTransition, c as useAnimation, i as UseTransitionOptions, n as useTimeout, o as UseAnimationOptions, r as useInterval, s as UseAnimationResult, t as useLatest } from "../useLatest-DC8i7guK.mjs";
1
+ import { i as resolveEasing, n as EasingName, r as easings, t as EasingFn } from "../easing-C5MrdO7V.mjs";
2
+ import { a as useTransition, c as useAnimation, i as UseTransitionOptions, n as useTimeout, o as UseAnimationOptions, r as useInterval, s as UseAnimationResult, t as useLatest } from "../useLatest-UOvWy0ZW.mjs";
3
3
  export { EasingFn, EasingName, UseAnimationOptions, UseAnimationResult, UseTransitionOptions, easings, resolveEasing, useTransition as useAnimatedTransition, useAnimation, useInterval, useLatest, useTimeout };
@@ -1,2 +1,2 @@
1
- import { a as useAnimation, i as useTransition, n as useTimeout, o as easings, r as useInterval, s as resolveEasing, t as useLatest } from "../animation-N8MFybTk.mjs";
1
+ import { a as useAnimation, i as useTransition, n as useTimeout, o as easings, r as useInterval, s as resolveEasing, t as useLatest } from "../animation-CZ4x2R7C.mjs";
2
2
  export { easings, resolveEasing, useTransition as useAnimatedTransition, useAnimation, useInterval, useLatest, useTimeout };
@@ -1,2 +1,2 @@
1
- import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-CBkam1ty.mjs";
1
+ import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-zmNzgkPB.mjs";
2
2
  export { CLEAR_LINE, CLEAR_LINE_END, CLEAR_SCREEN, CURSOR_HIDE, CURSOR_RESTORE, CURSOR_SAVE, CURSOR_SHOW, CURSOR_TO_START, cursorDown, cursorUp, getTerminalWidth, isTTY, withCursor, write, writeLine };
package/dist/ui/ansi.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-C6Qs1Wn2.mjs";
1
+ import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-CLmIMnop.mjs";
2
2
  export { CLEAR_LINE, CLEAR_LINE_END, CLEAR_SCREEN, CURSOR_HIDE, CURSOR_RESTORE, CURSOR_SAVE, CURSOR_SHOW, CURSOR_TO_START, cursorDown, cursorUp, getTerminalWidth, isTTY, withCursor, write, writeLine };
package/dist/ui/cli.d.mts CHANGED
@@ -1,5 +1,5 @@
1
- import { i as createSpinner, n as SPINNER_FRAMES, r as Spinner, t as CallableSpinner } from "../spinner-CLgzJ_QF.mjs";
2
- import { n as TaskHandle, r as ProgressBar, t as MultiProgress } from "../multi-progress-Bg4ngK80.mjs";
3
- import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-CBkam1ty.mjs";
1
+ import { i as createSpinner, n as SPINNER_FRAMES, r as Spinner, t as CallableSpinner } from "../spinner-DN10UfF0.mjs";
2
+ import { n as TaskHandle, r as ProgressBar, t as MultiProgress } from "../multi-progress-BaEFfHKP.mjs";
3
+ import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-zmNzgkPB.mjs";
4
4
  import { ColorizeHelpOptions, colorizeHelp } from "@silvery/commander";
5
5
  export { CLEAR_LINE, CLEAR_LINE_END, CLEAR_SCREEN, CURSOR_HIDE, CURSOR_RESTORE, CURSOR_SAVE, CURSOR_SHOW, CURSOR_TO_START, CallableSpinner, type ColorizeHelpOptions, MultiProgress, ProgressBar, SPINNER_FRAMES, Spinner, TaskHandle, colorizeHelp, createSpinner, cursorDown, cursorUp, getTerminalWidth, isTTY, withCursor, write, writeLine };
package/dist/ui/cli.mjs CHANGED
@@ -1,7 +1,7 @@
1
- import { i as createSpinner, r as Spinner, t as SPINNER_FRAMES } from "../spinner-Py8_-hn9.mjs";
2
- import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-C6Qs1Wn2.mjs";
3
- import { t as ProgressBar } from "../progress-bar-DmIMPdL0.mjs";
4
- import { t as MultiProgress } from "../multi-progress-CaXTuL9G.mjs";
5
- import "../cli-DG6zsfsS.mjs";
1
+ import { i as createSpinner, r as Spinner, t as SPINNER_FRAMES } from "../spinner-B50hILqx.mjs";
2
+ import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "../ansi-CLmIMnop.mjs";
3
+ import { t as ProgressBar } from "../progress-bar-BlFNsZL8.mjs";
4
+ import { t as MultiProgress } from "../multi-progress-zCWHEm9P.mjs";
5
+ import "../cli-VNqUKlXw.mjs";
6
6
  import { colorizeHelp } from "@silvery/commander";
7
7
  export { CLEAR_LINE, CLEAR_LINE_END, CLEAR_SCREEN, CURSOR_HIDE, CURSOR_RESTORE, CURSOR_SAVE, CURSOR_SHOW, CURSOR_TO_START, MultiProgress, ProgressBar, SPINNER_FRAMES, Spinner, colorizeHelp, createSpinner, cursorDown, cursorUp, getTerminalWidth, isTTY, withCursor, write, writeLine };
@@ -1,2 +1,2 @@
1
- import { a as encodeSixel, c as KittyPlaceOptions, d as encodeKittyImage, f as isKittyGraphicsSupported, i as decodePngToRgba, l as deleteKittyImage, n as ImageProps, o as isSixelSupported, p as placeKittyImage, r as SixelImageData, s as KittyImageOptions, t as Image, u as deleteKittyPlacement } from "../index-Dg1YaeJb.mjs";
1
+ import { a as encodeSixel, c as KittyPlaceOptions, d as encodeKittyImage, f as isKittyGraphicsSupported, i as decodePngToRgba, l as deleteKittyImage, n as ImageProps, o as isSixelSupported, p as placeKittyImage, r as SixelImageData, s as KittyImageOptions, t as Image, u as deleteKittyPlacement } from "../index-DLnpxDAm.mjs";
2
2
  export { Image, ImageProps, KittyImageOptions, KittyPlaceOptions, SixelImageData, decodePngToRgba, deleteKittyImage, deleteKittyPlacement, encodeKittyImage, encodeSixel, isKittyGraphicsSupported, isSixelSupported, placeKittyImage };
package/dist/ui/image.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as deleteKittyImage, c as isKittyGraphicsSupported, i as isSixelSupported, l as placeKittyImage, n as decodePngToRgba, o as deleteKittyPlacement, r as encodeSixel, s as encodeKittyImage, t as Image } from "../image-1nRyKa60.mjs";
1
+ import { a as deleteKittyImage, c as isKittyGraphicsSupported, i as isSixelSupported, l as placeKittyImage, n as decodePngToRgba, o as deleteKittyPlacement, r as encodeSixel, s as encodeKittyImage, t as Image } from "../image-CIF75xMr.mjs";
2
2
  export { Image, decodePngToRgba, deleteKittyImage, deleteKittyPlacement, encodeKittyImage, encodeSixel, isKittyGraphicsSupported, isSixelSupported, placeKittyImage };
@@ -1,5 +1,5 @@
1
- import { a as ProgressInfo, d as StepProgress } from "../types-Bx-XZNbE.mjs";
2
- import { i as createSpinner, r as Spinner, t as CallableSpinner } from "../spinner-CLgzJ_QF.mjs";
3
- import { n as TaskHandle, r as ProgressBar, t as MultiProgress } from "../multi-progress-Bg4ngK80.mjs";
4
- import { a as StepContext, c as StepsDef, i as StepsRunner, n as StepBuilder, o as step, r as steps, s as StepNode, t as ExecuteOptions } from "../steps-DYrzCUCK.mjs";
1
+ import { a as ProgressInfo, d as StepProgress } from "../types-D_E0FbqA.mjs";
2
+ import { i as createSpinner, r as Spinner, t as CallableSpinner } from "../spinner-DN10UfF0.mjs";
3
+ import { n as TaskHandle, r as ProgressBar, t as MultiProgress } from "../multi-progress-BaEFfHKP.mjs";
4
+ import { a as StepContext, c as StepsDef, i as StepsRunner, n as StepBuilder, o as step, r as steps, s as StepNode, t as ExecuteOptions } from "../steps-B2kBmFpb.mjs";
5
5
  export { CallableSpinner, ExecuteOptions, MultiProgress, ProgressBar, ProgressInfo, Spinner, StepBuilder, StepContext, StepNode, StepProgress, StepsDef, StepsRunner, TaskHandle, createSpinner, step, steps };
@@ -1,5 +1,5 @@
1
- import { i as createSpinner, r as Spinner } from "../spinner-Py8_-hn9.mjs";
2
- import { t as ProgressBar } from "../progress-bar-DmIMPdL0.mjs";
3
- import { t as MultiProgress } from "../multi-progress-CaXTuL9G.mjs";
4
- import { n as step, t as steps } from "../progress-B_UPy6zk.mjs";
1
+ import { i as createSpinner, r as Spinner } from "../spinner-B50hILqx.mjs";
2
+ import { t as ProgressBar } from "../progress-bar-BlFNsZL8.mjs";
3
+ import { t as MultiProgress } from "../multi-progress-zCWHEm9P.mjs";
4
+ import { n as step, t as steps } from "../progress-6vJ7nxUg.mjs";
5
5
  export { MultiProgress, ProgressBar, Spinner, createSpinner, step, steps };
@@ -1,4 +1,4 @@
1
- import { g as TaskStatus, l as SpinnerProps, m as TaskProps, n as ProgressBarProps, u as SpinnerStyle } from "../types-Bx-XZNbE.mjs";
1
+ import { g as TaskStatus, l as SpinnerProps, m as TaskProps, n as ProgressBarProps, u as SpinnerStyle } from "../types-D_E0FbqA.mjs";
2
2
  import React from "react";
3
3
 
4
4
  //#region packages/ag-react/src/ui/react/Spinner.d.ts
package/dist/ui/react.mjs CHANGED
@@ -1,5 +1,5 @@
1
- import { n as SPINNER_INTERVALS, t as SPINNER_FRAMES } from "../spinner-Py8_-hn9.mjs";
2
- import { a as getETA } from "../eta-DGOuC8yU.mjs";
1
+ import { n as SPINNER_INTERVALS, t as SPINNER_FRAMES } from "../spinner-B50hILqx.mjs";
2
+ import { a as getETA } from "../eta-BwYWEjfS.mjs";
3
3
  import React, { createContext, useCallback, useContext, useEffect, useRef, useState } from "react";
4
4
  import { jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region packages/ag-react/src/ui/react/Spinner.tsx
@@ -1 +1 @@
1
- {"version":3,"file":"react.mjs","names":[],"sources":["../../packages/ag-react/src/ui/react/Spinner.tsx","../../packages/ag-react/src/ui/react/ProgressBar.tsx","../../packages/ag-react/src/ui/react/Tasks.tsx","../../packages/ag-react/src/ui/react/context.tsx"],"sourcesContent":["/**\n * React Spinner component for silvery/Ink TUI apps\n */\n\nimport React, { useState, useEffect } from \"react\"\nimport type { SpinnerProps, SpinnerStyle } from \"../types.js\"\nimport { SPINNER_FRAMES, SPINNER_INTERVALS } from \"../cli/spinner\"\n\n/**\n * Animated spinner component for React TUI apps\n *\n * @example\n * ```tsx\n * import { Spinner } from \"./index\";\n *\n * function LoadingView() {\n * return <Spinner label=\"Loading...\" />;\n * }\n *\n * // With style\n * <Spinner label=\"Processing...\" style=\"arc\" color=\"yellow\" />\n * ```\n */\nexport function Spinner({\n label,\n style = \"dots\",\n color = \"cyan\",\n}: SpinnerProps): React.ReactElement {\n const [frameIndex, setFrameIndex] = useState(0)\n const frames = SPINNER_FRAMES[style]\n const interval = SPINNER_INTERVALS[style]\n\n useEffect(() => {\n const timer = setInterval(() => {\n setFrameIndex((i) => (i + 1) % frames.length)\n }, interval)\n\n return () => clearInterval(timer)\n }, [frames.length, interval])\n\n const frame = frames[frameIndex]\n\n // Note: In a real silvery app, you'd use <Text color={color}> etc.\n // This is a generic React component that can be styled by the consumer\n return (\n <span data-progressx-spinner data-color={color}>\n {frame}\n {label && <span> {label}</span>}\n </span>\n )\n}\n\n/**\n * Hook for using spinner state in custom components\n *\n * @example\n * ```tsx\n * function CustomSpinner() {\n * const frame = useSpinnerFrame(\"dots\");\n * return <Text color=\"cyan\">{frame}</Text>;\n * }\n * ```\n */\nexport function useSpinnerFrame(style: SpinnerStyle = \"dots\"): string {\n const [frameIndex, setFrameIndex] = useState(0)\n const frames = SPINNER_FRAMES[style]\n const interval = SPINNER_INTERVALS[style]\n\n useEffect(() => {\n const timer = setInterval(() => {\n setFrameIndex((i) => (i + 1) % frames.length)\n }, interval)\n\n return () => clearInterval(timer)\n }, [frames.length, interval])\n\n return frames[frameIndex]!\n}\n","/**\n * React ProgressBar component for silvery/Ink TUI apps\n */\n\nimport React, { useState, useEffect, useRef } from \"react\"\nimport type { ProgressBarProps } from \"../types.js\"\nimport { getETA, DEFAULT_ETA_BUFFER_SIZE, type ETASample } from \"../utils/eta\"\n\n/**\n * Progress bar component for React TUI apps\n *\n * @example\n * ```tsx\n * import { ProgressBar } from \"./index\";\n *\n * function DownloadProgress({ current, total }) {\n * return (\n * <ProgressBar\n * value={current}\n * total={total}\n * showPercentage\n * showETA\n * />\n * );\n * }\n * ```\n */\nexport function ProgressBar({\n value,\n total,\n width = 40,\n showPercentage = true,\n showETA = false,\n label,\n color = \"cyan\",\n}: ProgressBarProps): React.ReactElement {\n // ETA calculation state\n const [eta, setEta] = useState<string>(\"--:--\")\n const etaBuffer = useRef<ETASample[]>([])\n\n // Update ETA buffer when value changes\n useEffect(() => {\n const now = Date.now()\n etaBuffer.current.push({ time: now, value })\n\n if (etaBuffer.current.length > DEFAULT_ETA_BUFFER_SIZE) {\n etaBuffer.current.shift()\n }\n\n // Calculate ETA using shared utility\n const result = getETA(etaBuffer.current, value, total)\n setEta(result.formatted)\n }, [value, total])\n\n const percent = total > 0 ? value / total : 0\n const percentDisplay = `${Math.round(percent * 100)}%`\n\n const filledWidth = Math.round(width * percent)\n const emptyWidth = width - filledWidth\n\n const bar = \"█\".repeat(filledWidth) + \"░\".repeat(emptyWidth)\n\n // Build the display parts\n const parts: string[] = []\n\n if (label) {\n parts.push(label)\n }\n\n parts.push(`[${bar}]`)\n\n if (showPercentage) {\n parts.push(percentDisplay.padStart(4))\n }\n\n if (showETA) {\n parts.push(`ETA: ${eta}`)\n }\n\n return (\n <span data-progressx-bar data-color={color} data-percent={percent}>\n {parts.join(\" \")}\n </span>\n )\n}\n\n/**\n * Hook for progress bar state management\n *\n * @example\n * ```tsx\n * function MyProgress() {\n * const { value, total, update, increment, eta, percent } = useProgressBar(100);\n *\n * useEffect(() => {\n * const timer = setInterval(() => increment(), 100);\n * return () => clearInterval(timer);\n * }, []);\n *\n * return <Text>{percent}% - ETA: {eta}</Text>;\n * }\n * ```\n */\nexport function useProgressBar(initialTotal: number) {\n const [value, setValue] = useState(0)\n const [total, setTotal] = useState(initialTotal)\n const etaBuffer = useRef<ETASample[]>([])\n const [eta, setEta] = useState<string>(\"--:--\")\n\n const update = (newValue: number) => {\n setValue(newValue)\n\n // Update ETA buffer\n const now = Date.now()\n etaBuffer.current.push({ time: now, value: newValue })\n if (etaBuffer.current.length > DEFAULT_ETA_BUFFER_SIZE) {\n etaBuffer.current.shift()\n }\n\n // Calculate ETA using shared utility\n const result = getETA(etaBuffer.current, newValue, total)\n setEta(result.formatted)\n }\n\n const increment = (amount = 1) => update(value + amount)\n\n const reset = (newTotal?: number) => {\n setValue(0)\n if (newTotal !== undefined) setTotal(newTotal)\n etaBuffer.current = []\n setEta(\"--:--\")\n }\n\n const percent = total > 0 ? Math.round((value / total) * 100) : 0\n\n return {\n value,\n total,\n percent,\n eta,\n update,\n increment,\n reset,\n setTotal,\n }\n}\n","/**\n * React Tasks component - listr2-style task list for TUI apps\n */\n\nimport React from \"react\"\nimport type { TaskProps, TaskStatus } from \"../types.js\"\nimport { useSpinnerFrame } from \"./Spinner\"\n\n/** Status icons for tasks */\nconst STATUS_ICONS: Record<TaskStatus, string> = {\n pending: \"○\",\n running: \"\", // Will use spinner\n completed: \"✔\",\n failed: \"✖\",\n skipped: \"⊘\",\n}\n\n/** Status colors */\nconst STATUS_COLORS: Record<TaskStatus, string> = {\n pending: \"gray\",\n running: \"cyan\",\n completed: \"green\",\n failed: \"red\",\n skipped: \"yellow\",\n}\n\n/**\n * Single task component\n *\n * @example\n * ```tsx\n * <Task title=\"Downloading files\" status=\"running\">\n * <ProgressBar value={50} total={100} />\n * </Task>\n * ```\n */\nexport function Task({ title, status, children }: TaskProps): React.ReactElement {\n const spinnerFrame = useSpinnerFrame(\"dots\")\n const icon = status === \"running\" ? spinnerFrame : STATUS_ICONS[status]\n const color = STATUS_COLORS[status]\n\n return (\n <div data-progressx-task data-status={status} data-color={color}>\n <span data-icon>{icon}</span>\n <span data-title> {title}</span>\n {children != null ? <div data-children>{children as React.ReactNode}</div> : null}\n </div>\n )\n}\n\n/**\n * Container for multiple tasks\n *\n * @example\n * ```tsx\n * <Tasks>\n * <Task title=\"Scanning files\" status=\"completed\" />\n * <Task title=\"Processing\" status=\"running\">\n * <ProgressBar value={current} total={total} />\n * </Task>\n * <Task title=\"Cleanup\" status=\"pending\" />\n * </Tasks>\n * ```\n */\nexport function Tasks({ children }: { children: React.ReactNode }): React.ReactElement {\n return <div data-progressx-tasks>{children}</div>\n}\n\n/**\n * Hook for managing task state\n *\n * @example\n * ```tsx\n * function MyTasks() {\n * const { tasks, start, complete, fail, updateProgress } = useTasks([\n * { id: 'scan', title: 'Scanning' },\n * { id: 'process', title: 'Processing' },\n * ]);\n *\n * useEffect(() => {\n * start('scan');\n * doScan().then(() => {\n * complete('scan');\n * start('process');\n * });\n * }, []);\n *\n * return (\n * <Tasks>\n * {tasks.map(t => <Task key={t.id} title={t.title} status={t.status} />)}\n * </Tasks>\n * );\n * }\n * ```\n */\nexport function useTasks(initialTasks: Array<{ id: string; title: string }>) {\n const [tasks, setTasks] = React.useState<\n Array<{\n id: string\n title: string\n status: TaskStatus\n progress?: { current: number; total: number }\n }>\n >(\n initialTasks.map((t) => ({\n ...t,\n status: \"pending\" as TaskStatus,\n })),\n )\n\n const updateTask = (\n id: string,\n updates: Partial<{\n status: TaskStatus\n title: string\n progress: { current: number; total: number }\n }>,\n ) => {\n setTasks((prev) => prev.map((t) => (t.id === id ? { ...t, ...updates } : t)))\n }\n\n const start = (id: string) => updateTask(id, { status: \"running\" })\n const complete = (id: string, title?: string) =>\n updateTask(id, { status: \"completed\", ...(title && { title }) })\n const fail = (id: string, title?: string) =>\n updateTask(id, { status: \"failed\", ...(title && { title }) })\n const skip = (id: string, title?: string) =>\n updateTask(id, { status: \"skipped\", ...(title && { title }) })\n const updateProgress = (id: string, progress: { current: number; total: number }) =>\n updateTask(id, { progress })\n\n const getTask = (id: string) => tasks.find((t) => t.id === id)\n const allCompleted = tasks.every((t) => t.status === \"completed\" || t.status === \"skipped\")\n const hasFailed = tasks.some((t) => t.status === \"failed\")\n\n return {\n tasks,\n start,\n complete,\n fail,\n skip,\n updateProgress,\n updateTask,\n getTask,\n allCompleted,\n hasFailed,\n }\n}\n","/**\n * React context for progress state management\n */\n\nimport React, { createContext, useContext, useState, useCallback } from \"react\"\nimport type { SpinnerStyle } from \"../types.js\"\nimport { Spinner } from \"./Spinner\"\n\n/** Progress context state */\ninterface ProgressContextState {\n /** Currently showing a spinner */\n isLoading: boolean\n /** Loading message */\n loadingText: string\n /** Spinner style */\n spinnerStyle: SpinnerStyle\n\n /** Show a spinner with message */\n showSpinner: (text: string, style?: SpinnerStyle) => void\n /** Hide the spinner */\n hideSpinner: () => void\n\n /** Progress bar state */\n progress: { current: number; total: number } | null\n /** Update progress */\n updateProgress: (current: number, total?: number) => void\n /** Clear progress */\n clearProgress: () => void\n}\n\nconst ProgressContext = createContext<ProgressContextState | null>(null)\n\n/**\n * Progress context provider\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <ProgressProvider>\n * <MyApp />\n * </ProgressProvider>\n * );\n * }\n *\n * function DeepComponent() {\n * const { showSpinner, hideSpinner } = useProgress();\n *\n * const handleLoad = async () => {\n * showSpinner(\"Loading...\");\n * await loadData();\n * hideSpinner();\n * };\n * }\n * ```\n */\nexport function ProgressProvider({ children }: { children: React.ReactNode }): React.ReactElement {\n const [isLoading, setIsLoading] = useState(false)\n const [loadingText, setLoadingText] = useState(\"\")\n const [spinnerStyle, setSpinnerStyle] = useState<SpinnerStyle>(\"dots\")\n const [progress, setProgress] = useState<{\n current: number\n total: number\n } | null>(null)\n\n const showSpinner = useCallback((text: string, style: SpinnerStyle = \"dots\") => {\n setLoadingText(text)\n setSpinnerStyle(style)\n setIsLoading(true)\n }, [])\n\n const hideSpinner = useCallback(() => {\n setIsLoading(false)\n setLoadingText(\"\")\n }, [])\n\n const updateProgress = useCallback((current: number, total?: number) => {\n setProgress((prev) => ({\n current,\n total: total ?? prev?.total ?? 100,\n }))\n }, [])\n\n const clearProgress = useCallback(() => {\n setProgress(null)\n }, [])\n\n const value: ProgressContextState = {\n isLoading,\n loadingText,\n spinnerStyle,\n showSpinner,\n hideSpinner,\n progress,\n updateProgress,\n clearProgress,\n }\n\n return <ProgressContext.Provider value={value}>{children}</ProgressContext.Provider>\n}\n\n/**\n * Hook to access progress context\n *\n * @example\n * ```tsx\n * function LoadingOverlay() {\n * const { isLoading, loadingText, spinnerStyle } = useProgress();\n *\n * if (!isLoading) return null;\n *\n * return <Spinner label={loadingText} style={spinnerStyle} />;\n * }\n * ```\n */\nexport function useProgress(): ProgressContextState {\n const context = useContext(ProgressContext)\n\n if (!context) {\n throw new Error(\"useProgress must be used within a ProgressProvider\")\n }\n\n return context\n}\n\n/**\n * Component that renders spinner when loading\n *\n * @example\n * ```tsx\n * <ProgressProvider>\n * <ProgressIndicator />\n * <MainContent />\n * </ProgressProvider>\n * ```\n */\nexport function ProgressIndicator(): React.ReactElement | null {\n const { isLoading, loadingText, spinnerStyle } = useProgress()\n\n if (!isLoading) {\n return null\n }\n\n return <Spinner label={loadingText} style={spinnerStyle} />\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"react.mjs","names":[],"sources":["../../packages/ag-react/src/ui/react/Spinner.tsx","../../packages/ag-react/src/ui/react/ProgressBar.tsx","../../packages/ag-react/src/ui/react/Tasks.tsx","../../packages/ag-react/src/ui/react/context.tsx"],"sourcesContent":["/**\n * React Spinner component for silvery/Ink TUI apps\n */\n\nimport React, { useState, useEffect } from \"react\"\nimport type { SpinnerProps, SpinnerStyle } from \"../types.js\"\nimport { SPINNER_FRAMES, SPINNER_INTERVALS } from \"../cli/spinner\"\n\n/**\n * Animated spinner component for React TUI apps\n *\n * @example\n * ```tsx\n * import { Spinner } from \"./index\";\n *\n * function LoadingView() {\n * return <Spinner label=\"Loading...\" />;\n * }\n *\n * // With style\n * <Spinner label=\"Processing...\" style=\"arc\" color=\"yellow\" />\n * ```\n */\nexport function Spinner({\n label,\n style = \"dots\",\n color = \"cyan\",\n}: SpinnerProps): React.ReactElement {\n const [frameIndex, setFrameIndex] = useState(0)\n const frames = SPINNER_FRAMES[style]\n const interval = SPINNER_INTERVALS[style]\n\n useEffect(() => {\n const timer = setInterval(() => {\n setFrameIndex((i) => (i + 1) % frames.length)\n }, interval)\n\n return () => clearInterval(timer)\n }, [frames.length, interval])\n\n const frame = frames[frameIndex]\n\n // Note: In a real silvery app, you'd use <Text color={color}> etc.\n // This is a generic React component that can be styled by the consumer\n return (\n <span data-progressx-spinner data-color={color}>\n {frame}\n {label && <span> {label}</span>}\n </span>\n )\n}\n\n/**\n * Hook for using spinner state in custom components\n *\n * @example\n * ```tsx\n * function CustomSpinner() {\n * const frame = useSpinnerFrame(\"dots\");\n * return <Text color=\"cyan\">{frame}</Text>;\n * }\n * ```\n */\nexport function useSpinnerFrame(style: SpinnerStyle = \"dots\"): string {\n const [frameIndex, setFrameIndex] = useState(0)\n const frames = SPINNER_FRAMES[style]\n const interval = SPINNER_INTERVALS[style]\n\n useEffect(() => {\n const timer = setInterval(() => {\n setFrameIndex((i) => (i + 1) % frames.length)\n }, interval)\n\n return () => clearInterval(timer)\n }, [frames.length, interval])\n\n return frames[frameIndex]!\n}\n","/**\n * React ProgressBar component for silvery/Ink TUI apps\n */\n\nimport React, { useState, useEffect, useRef } from \"react\"\nimport type { ProgressBarProps } from \"../types.js\"\nimport { getETA, DEFAULT_ETA_BUFFER_SIZE, type ETASample } from \"../utils/eta\"\n\n/**\n * Progress bar component for React TUI apps\n *\n * @example\n * ```tsx\n * import { ProgressBar } from \"./index\";\n *\n * function DownloadProgress({ current, total }) {\n * return (\n * <ProgressBar\n * value={current}\n * total={total}\n * showPercentage\n * showETA\n * />\n * );\n * }\n * ```\n */\nexport function ProgressBar({\n value,\n total,\n width = 40,\n showPercentage = true,\n showETA = false,\n label,\n color = \"cyan\",\n}: ProgressBarProps): React.ReactElement {\n // ETA calculation state\n const [eta, setEta] = useState<string>(\"--:--\")\n const etaBuffer = useRef<ETASample[]>([])\n\n // Update ETA buffer when value changes\n useEffect(() => {\n const now = Date.now()\n etaBuffer.current.push({ time: now, value })\n\n if (etaBuffer.current.length > DEFAULT_ETA_BUFFER_SIZE) {\n etaBuffer.current.shift()\n }\n\n // Calculate ETA using shared utility\n const result = getETA(etaBuffer.current, value, total)\n setEta(result.formatted)\n }, [value, total])\n\n const percent = total > 0 ? value / total : 0\n const percentDisplay = `${Math.round(percent * 100)}%`\n\n const filledWidth = Math.round(width * percent)\n const emptyWidth = width - filledWidth\n\n const bar = \"█\".repeat(filledWidth) + \"░\".repeat(emptyWidth)\n\n // Build the display parts\n const parts: string[] = []\n\n if (label) {\n parts.push(label)\n }\n\n parts.push(`[${bar}]`)\n\n if (showPercentage) {\n parts.push(percentDisplay.padStart(4))\n }\n\n if (showETA) {\n parts.push(`ETA: ${eta}`)\n }\n\n return (\n <span data-progressx-bar data-color={color} data-percent={percent}>\n {parts.join(\" \")}\n </span>\n )\n}\n\n/**\n * Hook for progress bar state management\n *\n * @example\n * ```tsx\n * function MyProgress() {\n * const { value, total, update, increment, eta, percent } = useProgressBar(100);\n *\n * useEffect(() => {\n * const timer = setInterval(() => increment(), 100);\n * return () => clearInterval(timer);\n * }, []);\n *\n * return <Text>{percent}% - ETA: {eta}</Text>;\n * }\n * ```\n */\nexport function useProgressBar(initialTotal: number) {\n const [value, setValue] = useState(0)\n const [total, setTotal] = useState(initialTotal)\n const etaBuffer = useRef<ETASample[]>([])\n const [eta, setEta] = useState<string>(\"--:--\")\n\n const update = (newValue: number) => {\n setValue(newValue)\n\n // Update ETA buffer\n const now = Date.now()\n etaBuffer.current.push({ time: now, value: newValue })\n if (etaBuffer.current.length > DEFAULT_ETA_BUFFER_SIZE) {\n etaBuffer.current.shift()\n }\n\n // Calculate ETA using shared utility\n const result = getETA(etaBuffer.current, newValue, total)\n setEta(result.formatted)\n }\n\n const increment = (amount = 1) => update(value + amount)\n\n const reset = (newTotal?: number) => {\n setValue(0)\n if (newTotal !== undefined) setTotal(newTotal)\n etaBuffer.current = []\n setEta(\"--:--\")\n }\n\n const percent = total > 0 ? Math.round((value / total) * 100) : 0\n\n return {\n value,\n total,\n percent,\n eta,\n update,\n increment,\n reset,\n setTotal,\n }\n}\n","/**\n * React Tasks component - listr2-style task list for TUI apps\n */\n\nimport React from \"react\"\nimport type { TaskProps, TaskStatus } from \"../types.js\"\nimport { useSpinnerFrame } from \"./Spinner\"\n\n/** Status icons for tasks */\nconst STATUS_ICONS: Record<TaskStatus, string> = {\n pending: \"○\",\n running: \"\", // Will use spinner\n completed: \"✔\",\n failed: \"✖\",\n skipped: \"⊘\",\n}\n\n/** Status colors */\nconst STATUS_COLORS: Record<TaskStatus, string> = {\n pending: \"gray\",\n running: \"cyan\",\n completed: \"green\",\n failed: \"red\",\n skipped: \"yellow\",\n}\n\n/**\n * Single task component\n *\n * @example\n * ```tsx\n * <Task title=\"Downloading files\" status=\"running\">\n * <ProgressBar value={50} total={100} />\n * </Task>\n * ```\n */\nexport function Task({ title, status, children }: TaskProps): React.ReactElement {\n const spinnerFrame = useSpinnerFrame(\"dots\")\n const icon = status === \"running\" ? spinnerFrame : STATUS_ICONS[status]\n const color = STATUS_COLORS[status]\n\n return (\n <div data-progressx-task data-status={status} data-color={color}>\n <span data-icon>{icon}</span>\n <span data-title> {title}</span>\n {children != null ? <div data-children>{children as React.ReactNode}</div> : null}\n </div>\n )\n}\n\n/**\n * Container for multiple tasks\n *\n * @example\n * ```tsx\n * <Tasks>\n * <Task title=\"Scanning files\" status=\"completed\" />\n * <Task title=\"Processing\" status=\"running\">\n * <ProgressBar value={current} total={total} />\n * </Task>\n * <Task title=\"Cleanup\" status=\"pending\" />\n * </Tasks>\n * ```\n */\nexport function Tasks({ children }: { children: React.ReactNode }): React.ReactElement {\n return <div data-progressx-tasks>{children}</div>\n}\n\n/**\n * Hook for managing task state\n *\n * @example\n * ```tsx\n * function MyTasks() {\n * const { tasks, start, complete, fail, updateProgress } = useTasks([\n * { id: 'scan', title: 'Scanning' },\n * { id: 'process', title: 'Processing' },\n * ]);\n *\n * useEffect(() => {\n * start('scan');\n * doScan().then(() => {\n * complete('scan');\n * start('process');\n * });\n * }, []);\n *\n * return (\n * <Tasks>\n * {tasks.map(t => <Task key={t.id} title={t.title} status={t.status} />)}\n * </Tasks>\n * );\n * }\n * ```\n */\nexport function useTasks(initialTasks: Array<{ id: string; title: string }>) {\n const [tasks, setTasks] = React.useState<\n Array<{\n id: string\n title: string\n status: TaskStatus\n progress?: { current: number; total: number }\n }>\n >(\n initialTasks.map((t) => ({\n ...t,\n status: \"pending\" as TaskStatus,\n })),\n )\n\n const updateTask = (\n id: string,\n updates: Partial<{\n status: TaskStatus\n title: string\n progress: { current: number; total: number }\n }>,\n ) => {\n setTasks((prev) => prev.map((t) => (t.id === id ? { ...t, ...updates } : t)))\n }\n\n const start = (id: string) => updateTask(id, { status: \"running\" })\n const complete = (id: string, title?: string) =>\n updateTask(id, { status: \"completed\", ...(title && { title }) })\n const fail = (id: string, title?: string) =>\n updateTask(id, { status: \"failed\", ...(title && { title }) })\n const skip = (id: string, title?: string) =>\n updateTask(id, { status: \"skipped\", ...(title && { title }) })\n const updateProgress = (id: string, progress: { current: number; total: number }) =>\n updateTask(id, { progress })\n\n const getTask = (id: string) => tasks.find((t) => t.id === id)\n const allCompleted = tasks.every((t) => t.status === \"completed\" || t.status === \"skipped\")\n const hasFailed = tasks.some((t) => t.status === \"failed\")\n\n return {\n tasks,\n start,\n complete,\n fail,\n skip,\n updateProgress,\n updateTask,\n getTask,\n allCompleted,\n hasFailed,\n }\n}\n","/**\n * React context for progress state management\n */\n\nimport React, { createContext, useContext, useState, useCallback } from \"react\"\nimport type { SpinnerStyle } from \"../types.js\"\nimport { Spinner } from \"./Spinner\"\n\n/** Progress context state */\ninterface ProgressContextState {\n /** Currently showing a spinner */\n isLoading: boolean\n /** Loading message */\n loadingText: string\n /** Spinner style */\n spinnerStyle: SpinnerStyle\n\n /** Show a spinner with message */\n showSpinner: (text: string, style?: SpinnerStyle) => void\n /** Hide the spinner */\n hideSpinner: () => void\n\n /** Progress bar state */\n progress: { current: number; total: number } | null\n /** Update progress */\n updateProgress: (current: number, total?: number) => void\n /** Clear progress */\n clearProgress: () => void\n}\n\nconst ProgressContext = createContext<ProgressContextState | null>(null)\n\n/**\n * Progress context provider\n *\n * @example\n * ```tsx\n * function App() {\n * return (\n * <ProgressProvider>\n * <MyApp />\n * </ProgressProvider>\n * );\n * }\n *\n * function DeepComponent() {\n * const { showSpinner, hideSpinner } = useProgress();\n *\n * const handleLoad = async () => {\n * showSpinner(\"Loading...\");\n * await loadData();\n * hideSpinner();\n * };\n * }\n * ```\n */\nexport function ProgressProvider({ children }: { children: React.ReactNode }): React.ReactElement {\n const [isLoading, setIsLoading] = useState(false)\n const [loadingText, setLoadingText] = useState(\"\")\n const [spinnerStyle, setSpinnerStyle] = useState<SpinnerStyle>(\"dots\")\n const [progress, setProgress] = useState<{\n current: number\n total: number\n } | null>(null)\n\n const showSpinner = useCallback((text: string, style: SpinnerStyle = \"dots\") => {\n setLoadingText(text)\n setSpinnerStyle(style)\n setIsLoading(true)\n }, [])\n\n const hideSpinner = useCallback(() => {\n setIsLoading(false)\n setLoadingText(\"\")\n }, [])\n\n const updateProgress = useCallback((current: number, total?: number) => {\n setProgress((prev) => ({\n current,\n total: total ?? prev?.total ?? 100,\n }))\n }, [])\n\n const clearProgress = useCallback(() => {\n setProgress(null)\n }, [])\n\n const value: ProgressContextState = {\n isLoading,\n loadingText,\n spinnerStyle,\n showSpinner,\n hideSpinner,\n progress,\n updateProgress,\n clearProgress,\n }\n\n return <ProgressContext.Provider value={value}>{children}</ProgressContext.Provider>\n}\n\n/**\n * Hook to access progress context\n *\n * @example\n * ```tsx\n * function LoadingOverlay() {\n * const { isLoading, loadingText, spinnerStyle } = useProgress();\n *\n * if (!isLoading) return null;\n *\n * return <Spinner label={loadingText} style={spinnerStyle} />;\n * }\n * ```\n */\nexport function useProgress(): ProgressContextState {\n const context = useContext(ProgressContext)\n\n if (!context) {\n throw new Error(\"useProgress must be used within a ProgressProvider\")\n }\n\n return context\n}\n\n/**\n * Component that renders spinner when loading\n *\n * @example\n * ```tsx\n * <ProgressProvider>\n * <ProgressIndicator />\n * <MainContent />\n * </ProgressProvider>\n * ```\n */\nexport function ProgressIndicator(): React.ReactElement | null {\n const { isLoading, loadingText, spinnerStyle } = useProgress()\n\n if (!isLoading) {\n return null\n }\n\n return <Spinner label={loadingText} style={spinnerStyle} />\n}\n"],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { a as RecordingChromeAlignment, d as RecordingChromeSpec, f as RecordingChromeStyle } from "../svg-Hk7lIl4F.mjs";
1
+ import { a as RecordingChromeAlignment, d as RecordingChromeSpec, f as RecordingChromeStyle } from "../svg-VUr78l5d.mjs";
2
2
  import React from "react";
3
3
 
4
4
  //#region packages/ag-react/src/ui/recording-chrome/RecordingChrome.d.ts
@@ -1,5 +1,5 @@
1
- import { a as Box, t as Text } from "../Text-BRf-59j2.mjs";
2
- import { r as composeRecordingChromeSpec } from "../svg-DhxQkz-O.mjs";
1
+ import { n as Box, t as Text } from "../Text-Ci6UCSTL.mjs";
2
+ import { r as composeRecordingChromeSpec } from "../svg-NmV9dgB9.mjs";
3
3
  import React from "react";
4
4
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
5
5
  //#region packages/ag-react/src/ui/recording-chrome/RecordingChrome.tsx
@@ -1,2 +1,2 @@
1
- import { _ as composeRecordingChromeSpec, a as RecordingChromeAlignment, b as recordingChromeSvgContentOffset, c as RecordingChromeControlSide, d as RecordingChromeSpec, f as RecordingChromeStyle, g as RecordingChromeTitleBarSpec, h as RecordingChromeSvgWindowBar, i as RECORDING_CHROME_STYLES, l as RecordingChromeLiveSpec, m as RecordingChromeSvgOptions, n as composeRecordingChromeSvg, o as RecordingChromeBorderStyle, p as RecordingChromeSvgLayout, r as ComposeRecordingChromeSpecOptions, s as RecordingChromeControl, t as ComposeRecordingChromeSvgOptions, u as RecordingChromeOverhead, v as recordingChromeOverhead, x as recordingChromeSvgLayout, y as recordingChromeSpecToSvgOptions } from "../svg-Hk7lIl4F.mjs";
1
+ import { _ as composeRecordingChromeSpec, a as RecordingChromeAlignment, b as recordingChromeSvgContentOffset, c as RecordingChromeControlSide, d as RecordingChromeSpec, f as RecordingChromeStyle, g as RecordingChromeTitleBarSpec, h as RecordingChromeSvgWindowBar, i as RECORDING_CHROME_STYLES, l as RecordingChromeLiveSpec, m as RecordingChromeSvgOptions, n as composeRecordingChromeSvg, o as RecordingChromeBorderStyle, p as RecordingChromeSvgLayout, r as ComposeRecordingChromeSpecOptions, s as RecordingChromeControl, t as ComposeRecordingChromeSvgOptions, u as RecordingChromeOverhead, v as recordingChromeOverhead, x as recordingChromeSvgLayout, y as recordingChromeSpecToSvgOptions } from "../svg-VUr78l5d.mjs";
2
2
  export { type ComposeRecordingChromeSpecOptions as unstable_ComposeRecordingChromeSpecOptions, type ComposeRecordingChromeSvgOptions as unstable_ComposeRecordingChromeSvgOptions, RECORDING_CHROME_STYLES as unstable_RECORDING_CHROME_STYLES, type RecordingChromeAlignment as unstable_RecordingChromeAlignment, type RecordingChromeBorderStyle as unstable_RecordingChromeBorderStyle, type RecordingChromeControl as unstable_RecordingChromeControl, type RecordingChromeControlSide as unstable_RecordingChromeControlSide, type RecordingChromeLiveSpec as unstable_RecordingChromeLiveSpec, type RecordingChromeOverhead as unstable_RecordingChromeOverhead, type RecordingChromeSpec as unstable_RecordingChromeSpec, type RecordingChromeStyle as unstable_RecordingChromeStyle, type RecordingChromeSvgLayout as unstable_RecordingChromeSvgLayout, type RecordingChromeSvgOptions as unstable_RecordingChromeSvgOptions, type RecordingChromeSvgWindowBar as unstable_RecordingChromeSvgWindowBar, type RecordingChromeTitleBarSpec as unstable_RecordingChromeTitleBarSpec, composeRecordingChromeSpec as unstable_composeRecordingChromeSpec, composeRecordingChromeSvg as unstable_composeRecordingChromeSvg, recordingChromeOverhead as unstable_recordingChromeOverhead, recordingChromeSpecToSvgOptions as unstable_recordingChromeSpecToSvgOptions, recordingChromeSvgContentOffset as unstable_recordingChromeSvgContentOffset, recordingChromeSvgLayout as unstable_recordingChromeSvgLayout };
@@ -1,2 +1,2 @@
1
- import { a as recordingChromeSpecToSvgOptions, i as recordingChromeOverhead, n as RECORDING_CHROME_STYLES, o as recordingChromeSvgContentOffset, r as composeRecordingChromeSpec, s as recordingChromeSvgLayout, t as composeRecordingChromeSvg } from "../svg-DhxQkz-O.mjs";
1
+ import { a as recordingChromeSpecToSvgOptions, i as recordingChromeOverhead, n as RECORDING_CHROME_STYLES, o as recordingChromeSvgContentOffset, r as composeRecordingChromeSpec, s as recordingChromeSvgLayout, t as composeRecordingChromeSvg } from "../svg-NmV9dgB9.mjs";
2
2
  export { RECORDING_CHROME_STYLES as unstable_RECORDING_CHROME_STYLES, composeRecordingChromeSpec as unstable_composeRecordingChromeSpec, composeRecordingChromeSvg as unstable_composeRecordingChromeSvg, recordingChromeOverhead as unstable_recordingChromeOverhead, recordingChromeSpecToSvgOptions as unstable_recordingChromeSpecToSvgOptions, recordingChromeSvgContentOffset as unstable_recordingChromeSvgContentOffset, recordingChromeSvgLayout as unstable_recordingChromeSvgLayout };
package/dist/ui/utils.mjs CHANGED
@@ -1,2 +1,2 @@
1
- import { a as getETA, i as formatETA, n as calculateETA, r as createETATracker, t as DEFAULT_ETA_BUFFER_SIZE } from "../eta-DGOuC8yU.mjs";
1
+ import { a as getETA, i as formatETA, n as calculateETA, r as createETATracker, t as DEFAULT_ETA_BUFFER_SIZE } from "../eta-BwYWEjfS.mjs";
2
2
  export { DEFAULT_ETA_BUFFER_SIZE, calculateETA, createETATracker, formatETA, getETA };
@@ -1,3 +1,3 @@
1
- import { _ as TextInputOptions, a as ProgressInfo, r as ProgressCallback } from "../types-Bx-XZNbE.mjs";
2
- import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "../with-text-input-DG4f7JII.mjs";
1
+ import { _ as TextInputOptions, a as ProgressInfo, r as ProgressCallback } from "../types-D_E0FbqA.mjs";
2
+ import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "../with-text-input-DLoSCBrm.mjs";
3
3
  export { ProgressCallback, ProgressInfo, TextInputOptions, attachSpinner, createSelect, createTextInput, waitForEvent, withIterableProgress, withSelect, withSpinner, withTextInput, wrapEmitter, wrapGenerator };
@@ -1,2 +1,2 @@
1
- import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "../wrappers-CypAzrMO.mjs";
1
+ import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "../wrappers-CInBJm44.mjs";
2
2
  export { attachSpinner, createSelect, createTextInput, waitForEvent, withIterableProgress, withSelect, withSpinner, withTextInput, wrapEmitter, wrapGenerator };
package/dist/ui.d.mts CHANGED
@@ -1,7 +1,7 @@
1
- import { _ as TextInputOptions, a as ProgressInfo, b as WithSpinnerOptions, c as SpinnerOptions, d as StepProgress, f as TableColumn, g as TaskStatus, h as TaskState, i as ProgressGenerator, l as SpinnerProps, m as TaskProps, n as ProgressBarProps, o as SelectOption, p as TableProps, r as ProgressCallback, s as SelectProps, t as ProgressBarOptions, u as SpinnerStyle, v as TextInputProps, y as WithSelectOptions } from "./types-Bx-XZNbE.mjs";
2
- import { i as createSpinner, n as SPINNER_FRAMES, r as Spinner, t as CallableSpinner } from "./spinner-CLgzJ_QF.mjs";
3
- import { n as TaskHandle, r as ProgressBar, t as MultiProgress } from "./multi-progress-Bg4ngK80.mjs";
4
- import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "./ansi-CBkam1ty.mjs";
5
- import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "./with-text-input-DG4f7JII.mjs";
6
- import { a as StepContext, c as StepsDef, i as StepsRunner, n as StepBuilder, o as step, r as steps, s as StepNode, t as ExecuteOptions } from "./steps-DYrzCUCK.mjs";
1
+ import { _ as TextInputOptions, a as ProgressInfo, b as WithSpinnerOptions, c as SpinnerOptions, d as StepProgress, f as TableColumn, g as TaskStatus, h as TaskState, i as ProgressGenerator, l as SpinnerProps, m as TaskProps, n as ProgressBarProps, o as SelectOption, p as TableProps, r as ProgressCallback, s as SelectProps, t as ProgressBarOptions, u as SpinnerStyle, v as TextInputProps, y as WithSelectOptions } from "./types-D_E0FbqA.mjs";
2
+ import { i as createSpinner, n as SPINNER_FRAMES, r as Spinner, t as CallableSpinner } from "./spinner-DN10UfF0.mjs";
3
+ import { n as TaskHandle, r as ProgressBar, t as MultiProgress } from "./multi-progress-BaEFfHKP.mjs";
4
+ import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "./ansi-zmNzgkPB.mjs";
5
+ import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "./with-text-input-DLoSCBrm.mjs";
6
+ import { a as StepContext, c as StepsDef, i as StepsRunner, n as StepBuilder, o as step, r as steps, s as StepNode, t as ExecuteOptions } from "./steps-B2kBmFpb.mjs";
7
7
  export { CLEAR_LINE, CLEAR_LINE_END, CLEAR_SCREEN, CURSOR_HIDE, CURSOR_RESTORE, CURSOR_SAVE, CURSOR_SHOW, CURSOR_TO_START, CallableSpinner, ExecuteOptions, MultiProgress, ProgressBar, ProgressBarOptions, ProgressBarProps, ProgressCallback, ProgressGenerator, ProgressInfo, SPINNER_FRAMES, SelectOption, SelectProps, Spinner, SpinnerOptions, SpinnerProps, SpinnerStyle, StepBuilder, StepContext, StepNode, StepProgress, StepsDef, StepsRunner, TableColumn, TableProps, TaskHandle, TaskProps, TaskState, TaskStatus, TextInputOptions, TextInputProps, WithSelectOptions, WithSpinnerOptions, attachSpinner, createSelect, createSpinner, createTextInput, cursorDown, cursorUp, getTerminalWidth, isTTY, step, steps, waitForEvent, withCursor, withIterableProgress, withSelect, withSpinner, withTextInput, wrapEmitter, wrapGenerator, write, writeLine };
package/dist/ui.mjs CHANGED
@@ -1,8 +1,8 @@
1
- import { i as createSpinner, r as Spinner, t as SPINNER_FRAMES } from "./spinner-Py8_-hn9.mjs";
2
- import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "./ansi-C6Qs1Wn2.mjs";
3
- import { t as ProgressBar } from "./progress-bar-DmIMPdL0.mjs";
4
- import { t as MultiProgress } from "./multi-progress-CaXTuL9G.mjs";
5
- import "./cli-DG6zsfsS.mjs";
6
- import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "./wrappers-CypAzrMO.mjs";
7
- import { n as step, t as steps } from "./progress-B_UPy6zk.mjs";
1
+ import { i as createSpinner, r as Spinner, t as SPINNER_FRAMES } from "./spinner-B50hILqx.mjs";
2
+ import { a as CURSOR_RESTORE, c as CURSOR_TO_START, d as getTerminalWidth, f as isTTY, h as writeLine, i as CURSOR_HIDE, l as cursorDown, m as write, n as CLEAR_LINE_END, o as CURSOR_SAVE, p as withCursor, r as CLEAR_SCREEN, s as CURSOR_SHOW, t as CLEAR_LINE, u as cursorUp } from "./ansi-CLmIMnop.mjs";
3
+ import { t as ProgressBar } from "./progress-bar-BlFNsZL8.mjs";
4
+ import { t as MultiProgress } from "./multi-progress-zCWHEm9P.mjs";
5
+ import "./cli-VNqUKlXw.mjs";
6
+ import { a as waitForEvent, c as wrapGenerator, i as withSelect, l as attachSpinner, n as withTextInput, o as wrapEmitter, r as createSelect, s as withIterableProgress, t as createTextInput, u as withSpinner } from "./wrappers-CInBJm44.mjs";
7
+ import { n as step, t as steps } from "./progress-6vJ7nxUg.mjs";
8
8
  export { CLEAR_LINE, CLEAR_LINE_END, CLEAR_SCREEN, CURSOR_HIDE, CURSOR_RESTORE, CURSOR_SAVE, CURSOR_SHOW, CURSOR_TO_START, MultiProgress, ProgressBar, SPINNER_FRAMES, Spinner, attachSpinner, createSelect, createSpinner, createTextInput, cursorDown, cursorUp, getTerminalWidth, isTTY, step, steps, waitForEvent, withCursor, withIterableProgress, withSelect, withSpinner, withTextInput, wrapEmitter, wrapGenerator, write, writeLine };