@zaly/tui 0.0.12 → 0.1.1

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 (330) hide show
  1. package/assets/schemas/shiki-language.schema.json +352 -0
  2. package/assets/schemas/shiki-theme.schema.json +71 -0
  3. package/assets/schemas/theme.schema.json +226 -1046
  4. package/assets/themes/andromeeda.json +97 -0
  5. package/assets/themes/ayu-dark.json +31 -25
  6. package/assets/themes/ayu-light.json +106 -0
  7. package/assets/themes/ayu-mirage.json +106 -0
  8. package/assets/themes/catppuccin-frappe.json +43 -40
  9. package/assets/themes/catppuccin-latte.json +43 -40
  10. package/assets/themes/catppuccin-macchiato.json +43 -40
  11. package/assets/themes/catppuccin-mocha.json +43 -40
  12. package/assets/themes/dark-plus.json +99 -0
  13. package/assets/themes/dracula.json +47 -47
  14. package/assets/themes/everforest-dark.json +28 -26
  15. package/assets/themes/everforest-light.json +28 -26
  16. package/assets/themes/github-dark-default.json +107 -0
  17. package/assets/themes/github-dark-dimmed.json +107 -0
  18. package/assets/themes/github-light-default.json +107 -0
  19. package/assets/themes/gruvbox-dark-hard.json +98 -0
  20. package/assets/themes/gruvbox-dark-medium.json +34 -29
  21. package/assets/themes/gruvbox-light-medium.json +98 -0
  22. package/assets/themes/horizon-bright.json +101 -0
  23. package/assets/themes/horizon.json +101 -0
  24. package/assets/themes/iterm2/LICENSE +25 -0
  25. package/assets/themes/iterm2/README.md +28 -0
  26. package/assets/themes/iterm2/catppuccin-latte.json +140 -0
  27. package/assets/themes/iterm2/catppuccin-mocha.json +140 -0
  28. package/assets/themes/iterm2/github-dark.json +140 -0
  29. package/assets/themes/iterm2/github.json +140 -0
  30. package/assets/themes/iterm2/gruvbox-dark.json +140 -0
  31. package/assets/themes/iterm2/gruvbox-light.json +140 -0
  32. package/assets/themes/iterm2/nord.json +140 -0
  33. package/assets/themes/iterm2/tokyonight-day.json +140 -0
  34. package/assets/themes/iterm2/tokyonight-moon.json +140 -0
  35. package/assets/themes/kanagawa-dragon.json +55 -49
  36. package/assets/themes/kanagawa-lotus.json +105 -0
  37. package/assets/themes/kanagawa-wave.json +56 -50
  38. package/assets/themes/light-plus.json +99 -0
  39. package/assets/themes/material-theme-lighter.json +102 -0
  40. package/assets/themes/material-theme-palenight.json +52 -45
  41. package/assets/themes/material-theme.json +102 -0
  42. package/assets/themes/min-dark.json +69 -14
  43. package/assets/themes/min-light.json +68 -17
  44. package/assets/themes/monokai.json +54 -47
  45. package/assets/themes/night-owl-light.json +105 -0
  46. package/assets/themes/night-owl.json +57 -49
  47. package/assets/themes/nord.json +53 -39
  48. package/assets/themes/one-dark-pro.json +46 -38
  49. package/assets/themes/one-light.json +52 -41
  50. package/assets/themes/poimandres.json +51 -49
  51. package/assets/themes/rose-pine-dawn.json +99 -0
  52. package/assets/themes/rose-pine-moon.json +99 -0
  53. package/assets/themes/rose-pine.json +50 -33
  54. package/assets/themes/solarized-dark.json +38 -31
  55. package/assets/themes/solarized-light.json +40 -33
  56. package/assets/themes/synthwave-84.json +47 -30
  57. package/assets/themes/tokyonight-day.json +3 -3
  58. package/assets/themes/tokyonight-moon.json +3 -2
  59. package/assets/themes/tokyonight-night.json +3 -2
  60. package/assets/themes/tokyonight-storm.json +3 -2
  61. package/assets/themes/vesper.json +50 -42
  62. package/assets/themes/vitesse-black.json +103 -0
  63. package/assets/themes/vitesse-dark.json +26 -30
  64. package/assets/themes/vitesse-light.json +26 -30
  65. package/dist/{actions-DEIKF2ts.mjs → actions-AY6avfEV.mjs} +2 -3
  66. package/dist/{actions-DEIKF2ts.mjs.map → actions-AY6avfEV.mjs.map} +1 -1
  67. package/dist/{actions-Dc4D4uSf.d.mts → actions-B0yyZ-Ww.d.mts} +4 -6
  68. package/dist/actions-B0yyZ-Ww.d.mts.map +1 -0
  69. package/dist/{ansi-DZlXaItJ.mjs → ansi-CxgRPLA2.mjs} +4 -33
  70. package/dist/ansi-CxgRPLA2.mjs.map +1 -0
  71. package/dist/ansi.d.mts +1 -3
  72. package/dist/ansi.d.mts.map +1 -1
  73. package/dist/ansi.mjs +1 -1
  74. package/dist/{autocomplete-StW1QJZJ.d.mts → autocomplete-wgceuhLr.d.mts} +5 -7
  75. package/dist/autocomplete-wgceuhLr.d.mts.map +1 -0
  76. package/dist/{box-BkP4MF82.mjs → box-DToDoXlU.mjs} +8 -10
  77. package/dist/{box-BkP4MF82.mjs.map → box-DToDoXlU.mjs.map} +1 -1
  78. package/dist/builder-BdYlK1Ew.mjs +195 -0
  79. package/dist/builder-BdYlK1Ew.mjs.map +1 -0
  80. package/dist/{callbacks-BwWTCqPJ.mjs → callbacks-DW8XKYKy.mjs} +9 -13
  81. package/dist/{callbacks-BwWTCqPJ.mjs.map → callbacks-DW8XKYKy.mjs.map} +1 -1
  82. package/dist/{client-C2GXKfJ1.mjs → client-BWm6dNZF.mjs} +9 -6
  83. package/dist/client-BWm6dNZF.mjs.map +1 -0
  84. package/dist/client-C69qWhMG.mjs +1 -0
  85. package/dist/{clipboard-CNPBTX7j.mjs → clipboard-UEoX9sup.mjs} +2 -3
  86. package/dist/{clipboard-CNPBTX7j.mjs.map → clipboard-UEoX9sup.mjs.map} +1 -1
  87. package/dist/clipboard.d.mts +0 -2
  88. package/dist/clipboard.d.mts.map +1 -1
  89. package/dist/clipboard.mjs +1 -1
  90. package/dist/color-Cr1VoL49.mjs +36 -0
  91. package/dist/color-Cr1VoL49.mjs.map +1 -0
  92. package/dist/ctx-CYEzzH-7.mjs +1 -0
  93. package/dist/{ctx-B7BmPUCD.mjs → ctx-DBeFcZt6.mjs} +4 -5
  94. package/dist/{ctx-B7BmPUCD.mjs.map → ctx-DBeFcZt6.mjs.map} +1 -1
  95. package/dist/{divider-TSx9NhI_.mjs → divider-qEj5prKE.mjs} +3 -4
  96. package/dist/{divider-TSx9NhI_.mjs.map → divider-qEj5prKE.mjs.map} +1 -1
  97. package/dist/{files-BvThQpOf.mjs → files-C3ZnFpvq.mjs} +3 -4
  98. package/dist/{files-BvThQpOf.mjs.map → files-C3ZnFpvq.mjs.map} +1 -1
  99. package/dist/{files-7DUYSeNc.d.mts → files-CdiDnwA_.d.mts} +3 -5
  100. package/dist/files-CdiDnwA_.d.mts.map +1 -0
  101. package/dist/{flex-Bguo-fUe.mjs → flex-CYp4etqn.mjs} +3 -4
  102. package/dist/{flex-Bguo-fUe.mjs.map → flex-CYp4etqn.mjs.map} +1 -1
  103. package/dist/{github-Cy2hfWJ7.mjs → github-CLveT9mq.mjs} +2 -3
  104. package/dist/{github-Cy2hfWJ7.mjs.map → github-CLveT9mq.mjs.map} +1 -1
  105. package/dist/{github-C1KfXk98.d.mts → github-DC0XemKa.d.mts} +3 -5
  106. package/dist/github-DC0XemKa.d.mts.map +1 -0
  107. package/dist/{image-VaT7AN-S.d.mts → image-DdRDv7q6.d.mts} +2 -4
  108. package/dist/image-DdRDv7q6.d.mts.map +1 -0
  109. package/dist/image-M--Bw4bs.mjs +177 -0
  110. package/dist/image-M--Bw4bs.mjs.map +1 -0
  111. package/dist/image.d.mts +1 -3
  112. package/dist/image.d.mts.map +1 -1
  113. package/dist/image.mjs +1 -1
  114. package/dist/index.d.mts +11 -14
  115. package/dist/index.d.mts.map +1 -1
  116. package/dist/index.mjs +12 -14
  117. package/dist/index.mjs.map +1 -1
  118. package/dist/{input-BGTTujDN.mjs → input-BkE4EpBw.mjs} +6 -7
  119. package/dist/{input-BGTTujDN.mjs.map → input-BkE4EpBw.mjs.map} +1 -1
  120. package/dist/{input-BAYux7qo.d.mts → input-C3kfYoEJ.d.mts} +3 -5
  121. package/dist/input-C3kfYoEJ.d.mts.map +1 -0
  122. package/dist/{inspect-jG_W4njH.mjs → inspect-Cli1beu8.mjs} +3 -4
  123. package/dist/{inspect-jG_W4njH.mjs.map → inspect-Cli1beu8.mjs.map} +1 -1
  124. package/dist/{inspect-CfNydMgO.d.mts → inspect-hSl3U2BD.d.mts} +2 -6
  125. package/dist/inspect-hSl3U2BD.d.mts.map +1 -0
  126. package/dist/kitty-0sJ8axU_.mjs +1 -0
  127. package/dist/{kitty-JbCJC0iQ.mjs → kitty-BH_eK6lz.mjs} +2 -3
  128. package/dist/{kitty-JbCJC0iQ.mjs.map → kitty-BH_eK6lz.mjs.map} +1 -1
  129. package/dist/{log-ByKlM4iI.mjs → log-96b1_J6G.mjs} +6 -7
  130. package/dist/{log-ByKlM4iI.mjs.map → log-96b1_J6G.mjs.map} +1 -1
  131. package/dist/{logger-DSQb0sLP.mjs → logger-DwfXp8LF.mjs} +5 -6
  132. package/dist/{logger-DSQb0sLP.mjs.map → logger-DwfXp8LF.mjs.map} +1 -1
  133. package/dist/{markdown-CwRmWuU6.mjs → markdown-CgRZBhIX.mjs} +12 -12
  134. package/dist/markdown-CgRZBhIX.mjs.map +1 -0
  135. package/dist/markdown.d.mts +2 -4
  136. package/dist/markdown.d.mts.map +1 -1
  137. package/dist/markdown.mjs +1 -1
  138. package/dist/math-Dk8hxbmz.mjs +1 -0
  139. package/dist/math-VPuwFCid.mjs +205 -0
  140. package/dist/math-VPuwFCid.mjs.map +1 -0
  141. package/dist/md.bun.d.mts +1 -3
  142. package/dist/md.bun.d.mts.map +1 -1
  143. package/dist/md.bun.mjs +2 -3
  144. package/dist/md.node.d.mts +1 -3
  145. package/dist/md.node.d.mts.map +1 -1
  146. package/dist/md.node.mjs +2 -3
  147. package/dist/{node-BZ7f6HzU.mjs → node-CXNobGaP.mjs} +3 -4
  148. package/dist/{node-BZ7f6HzU.mjs.map → node-CXNobGaP.mjs.map} +1 -1
  149. package/dist/oklch-Boh4YHEc.mjs +98 -0
  150. package/dist/oklch-Boh4YHEc.mjs.map +1 -0
  151. package/dist/{overlay-BnvOKtGT.mjs → overlay-CevDWgSF.mjs} +3 -4
  152. package/dist/{overlay-BnvOKtGT.mjs.map → overlay-CevDWgSF.mjs.map} +1 -1
  153. package/dist/{picker-Dh5IUrTk.mjs → picker-D9WrE3zF.mjs} +11 -16
  154. package/dist/{picker-Dh5IUrTk.mjs.map → picker-D9WrE3zF.mjs.map} +1 -1
  155. package/dist/{picker-DQs_IW77.d.mts → picker-DsB6--GN.d.mts} +6 -8
  156. package/dist/picker-DsB6--GN.d.mts.map +1 -0
  157. package/dist/{queries-B_lOwEiE.mjs → queries-BIniKnLL.mjs} +68 -7
  158. package/dist/queries-BIniKnLL.mjs.map +1 -0
  159. package/dist/{queries-BDX8mcl5.d.mts → queries-Dmd3IjSd.d.mts} +19 -52
  160. package/dist/queries-Dmd3IjSd.d.mts.map +1 -0
  161. package/dist/{reactive-f7NpAi69.mjs → reactive-DkP75TPk.mjs} +2 -3
  162. package/dist/{reactive-f7NpAi69.mjs.map → reactive-DkP75TPk.mjs.map} +1 -1
  163. package/dist/{registry-D-suU3g0.mjs → registry-CQU0VwpM.mjs} +205 -65
  164. package/dist/registry-CQU0VwpM.mjs.map +1 -0
  165. package/dist/{render-DEIUNLkh.mjs → render-Bp2N2i6J.mjs} +4 -5
  166. package/dist/{render-DEIUNLkh.mjs.map → render-Bp2N2i6J.mjs.map} +1 -1
  167. package/dist/{renderer-zDNlAovy.mjs → renderer-B9sAMA10.mjs} +123 -40
  168. package/dist/renderer-B9sAMA10.mjs.map +1 -0
  169. package/dist/{renderer-MQue4Da5.mjs → renderer-BYl2pbdx.mjs} +9 -9
  170. package/dist/renderer-BYl2pbdx.mjs.map +1 -0
  171. package/dist/renderer-Ctz0hv5o.mjs +1 -0
  172. package/dist/{search-FvGnswRl.d.mts → search-DsHzamic.d.mts} +1 -9
  173. package/dist/search-DsHzamic.d.mts.map +1 -0
  174. package/dist/{select-J2KtwxyK.d.mts → select-BZCFXdjp.d.mts} +3 -5
  175. package/dist/select-BZCFXdjp.d.mts.map +1 -0
  176. package/dist/{select-m7NE6Rwa.mjs → select-CUmAFKJh.mjs} +5 -6
  177. package/dist/{select-m7NE6Rwa.mjs.map → select-CUmAFKJh.mjs.map} +1 -1
  178. package/dist/services/logger.d.mts +1 -1
  179. package/dist/services/logger.mjs +1 -1
  180. package/dist/services/notifier.d.mts +1 -3
  181. package/dist/services/notifier.d.mts.map +1 -1
  182. package/dist/services/notifier.mjs +3 -4
  183. package/dist/services/picker.d.mts +5 -7
  184. package/dist/services/picker.d.mts.map +1 -1
  185. package/dist/services/picker.mjs +8 -9
  186. package/dist/services/prompt.d.mts +4 -6
  187. package/dist/services/prompt.d.mts.map +1 -1
  188. package/dist/services/prompt.mjs +7 -8
  189. package/dist/shiki/server.mjs +40 -19
  190. package/dist/shiki/server.mjs.map +1 -1
  191. package/dist/shiki-BAf9PdIc.mjs +19 -0
  192. package/dist/shiki-BAf9PdIc.mjs.map +1 -0
  193. package/dist/shiki-DUUAIE6f.mjs +632 -0
  194. package/dist/shiki-DUUAIE6f.mjs.map +1 -0
  195. package/dist/{show-DR2x1YFc.mjs → show-D5XNXgZf.mjs} +4 -5
  196. package/dist/{show-DR2x1YFc.mjs.map → show-D5XNXgZf.mjs.map} +1 -1
  197. package/dist/{size-D8JogYLy.mjs → size-BHRJuRk9.mjs} +2 -3
  198. package/dist/{size-D8JogYLy.mjs.map → size-BHRJuRk9.mjs.map} +1 -1
  199. package/dist/style-Cw_EuszU.mjs +108 -0
  200. package/dist/style-Cw_EuszU.mjs.map +1 -0
  201. package/dist/style.d.mts +4 -5
  202. package/dist/style.d.mts.map +1 -1
  203. package/dist/style.mjs +4 -4
  204. package/dist/{text-CkQ7Irmt.mjs → text-4arC3odI.mjs} +3 -4
  205. package/dist/{text-CkQ7Irmt.mjs.map → text-4arC3odI.mjs.map} +1 -1
  206. package/dist/{text-XvPfweeg.mjs → text-BArwVVkg.mjs} +5 -6
  207. package/dist/{text-XvPfweeg.mjs.map → text-BArwVVkg.mjs.map} +1 -1
  208. package/dist/{text-CCYs9RB2.d.mts → text-DdkJXgoC.d.mts} +3 -5
  209. package/dist/text-DdkJXgoC.d.mts.map +1 -0
  210. package/dist/text.d.mts +1 -1
  211. package/dist/text.mjs +1 -1
  212. package/dist/theme-B8hb1lPU.mjs +60 -0
  213. package/dist/theme-B8hb1lPU.mjs.map +1 -0
  214. package/dist/theme-BeSaXGNY.mjs +1792 -0
  215. package/dist/theme-BeSaXGNY.mjs.map +1 -0
  216. package/dist/themes.d.mts +211 -77
  217. package/dist/themes.d.mts.map +1 -1
  218. package/dist/themes.mjs +1 -1
  219. package/dist/{tree-DJl5W_B7.d.mts → tree-Berzv8Rz.d.mts} +3 -5
  220. package/dist/tree-Berzv8Rz.d.mts.map +1 -0
  221. package/dist/{tree-Bo1afYhe.mjs → tree-D6NvMQx8.mjs} +5 -6
  222. package/dist/{tree-Bo1afYhe.mjs.map → tree-D6NvMQx8.mjs.map} +1 -1
  223. package/dist/{types-D2EYlzmK.d.mts → types-ByMHEdCF.d.mts} +133 -131
  224. package/dist/types-ByMHEdCF.d.mts.map +1 -0
  225. package/dist/{types-D3jk1rtk.d.mts → types-CUVUJPz6.d.mts} +1 -3
  226. package/dist/types-CUVUJPz6.d.mts.map +1 -0
  227. package/dist/{utils-3M4D_AXZ.mjs → utils-DHXAegVW.mjs} +1 -2
  228. package/dist/{utils-3M4D_AXZ.mjs.map → utils-DHXAegVW.mjs.map} +1 -1
  229. package/dist/{widget-BkMwhY2p.mjs → widget-sFveyrZE.mjs} +3 -4
  230. package/dist/{widget-BkMwhY2p.mjs.map → widget-sFveyrZE.mjs.map} +1 -1
  231. package/dist/{widget-DPqBbB57.d.mts → widget-sPJaKVU2.d.mts} +2 -4
  232. package/dist/widget-sPJaKVU2.d.mts.map +1 -0
  233. package/dist/widgets/autocomplete.d.mts +1 -1
  234. package/dist/widgets/autocomplete.mjs +5 -6
  235. package/dist/widgets/box.d.mts +1 -1
  236. package/dist/widgets/box.mjs +1 -1
  237. package/dist/widgets/code.d.mts +4 -4
  238. package/dist/widgets/code.d.mts.map +1 -1
  239. package/dist/widgets/code.mjs +12 -12
  240. package/dist/widgets/code.mjs.map +1 -1
  241. package/dist/widgets/completions/actions.d.mts +1 -1
  242. package/dist/widgets/completions/actions.mjs +1 -1
  243. package/dist/widgets/completions/files.d.mts +1 -1
  244. package/dist/widgets/completions/files.mjs +1 -1
  245. package/dist/widgets/completions/github.d.mts +1 -1
  246. package/dist/widgets/completions/github.mjs +1 -1
  247. package/dist/widgets/completions/index.d.mts +3 -3
  248. package/dist/widgets/completions/index.mjs +3 -3
  249. package/dist/widgets/diff.d.mts +2 -4
  250. package/dist/widgets/diff.d.mts.map +1 -1
  251. package/dist/widgets/diff.mjs +38 -16
  252. package/dist/widgets/diff.mjs.map +1 -1
  253. package/dist/widgets/divider.d.mts +2 -4
  254. package/dist/widgets/divider.d.mts.map +1 -1
  255. package/dist/widgets/divider.mjs +1 -1
  256. package/dist/widgets/image.d.mts +1 -1
  257. package/dist/widgets/image.mjs +8 -9
  258. package/dist/widgets/image.mjs.map +1 -1
  259. package/dist/widgets/input.d.mts +1 -1
  260. package/dist/widgets/input.mjs +1 -1
  261. package/dist/widgets/log.d.mts +1 -1
  262. package/dist/widgets/log.mjs +1 -1
  263. package/dist/widgets/markdown.d.mts +5 -7
  264. package/dist/widgets/markdown.d.mts.map +1 -1
  265. package/dist/widgets/markdown.mjs +1 -1
  266. package/dist/widgets/overlay.d.mts +1 -1
  267. package/dist/widgets/overlay.mjs +1 -1
  268. package/dist/widgets/picker.d.mts +1 -1
  269. package/dist/widgets/picker.mjs +1 -1
  270. package/dist/widgets/progress.d.mts +2 -4
  271. package/dist/widgets/progress.d.mts.map +1 -1
  272. package/dist/widgets/progress.mjs +4 -5
  273. package/dist/widgets/select.d.mts +1 -1
  274. package/dist/widgets/select.mjs +1 -1
  275. package/dist/widgets/show.d.mts +1 -3
  276. package/dist/widgets/show.d.mts.map +1 -1
  277. package/dist/widgets/show.mjs +1 -1
  278. package/dist/widgets/spinner.d.mts +2 -4
  279. package/dist/widgets/spinner.d.mts.map +1 -1
  280. package/dist/widgets/spinner.mjs +3 -4
  281. package/dist/widgets/text.d.mts +1 -1
  282. package/dist/widgets/text.mjs +1 -1
  283. package/dist/widgets/tree.d.mts +1 -1
  284. package/dist/widgets/tree.mjs +1 -1
  285. package/dist/widgets/widget.d.mts +1 -1
  286. package/dist/widgets/widget.mjs +1 -1
  287. package/dist/{worker-T6SdPzUH.mjs → worker-CtEowucz.mjs} +2 -3
  288. package/dist/{worker-T6SdPzUH.mjs.map → worker-CtEowucz.mjs.map} +1 -1
  289. package/dist/worker-Mqi380Et.mjs +1 -0
  290. package/package.json +5 -7
  291. package/assets/themes/dracula-soft.json +0 -100
  292. package/assets/themes/github-dark.json +0 -104
  293. package/assets/themes/github-light.json +0 -104
  294. package/dist/actions-Dc4D4uSf.d.mts.map +0 -1
  295. package/dist/ansi-DZlXaItJ.mjs.map +0 -1
  296. package/dist/autocomplete-StW1QJZJ.d.mts.map +0 -1
  297. package/dist/builder-1z5ewEWK.mjs +0 -386
  298. package/dist/builder-1z5ewEWK.mjs.map +0 -1
  299. package/dist/client-C2GXKfJ1.mjs.map +0 -1
  300. package/dist/client-bzdHIDL2.mjs +0 -1
  301. package/dist/ctx-D_JgJ8Eo.mjs +0 -1
  302. package/dist/files-7DUYSeNc.d.mts.map +0 -1
  303. package/dist/github-C1KfXk98.d.mts.map +0 -1
  304. package/dist/image-Cm5T-uw-.mjs +0 -108
  305. package/dist/image-Cm5T-uw-.mjs.map +0 -1
  306. package/dist/image-VaT7AN-S.d.mts.map +0 -1
  307. package/dist/input-BAYux7qo.d.mts.map +0 -1
  308. package/dist/inspect-CfNydMgO.d.mts.map +0 -1
  309. package/dist/markdown-CwRmWuU6.mjs.map +0 -1
  310. package/dist/picker-DQs_IW77.d.mts.map +0 -1
  311. package/dist/queries-BDX8mcl5.d.mts.map +0 -1
  312. package/dist/queries-B_lOwEiE.mjs.map +0 -1
  313. package/dist/registry-D-suU3g0.mjs.map +0 -1
  314. package/dist/renderer-DhqbEVVR.mjs +0 -1
  315. package/dist/renderer-MQue4Da5.mjs.map +0 -1
  316. package/dist/renderer-zDNlAovy.mjs.map +0 -1
  317. package/dist/search-FvGnswRl.d.mts.map +0 -1
  318. package/dist/select-J2KtwxyK.d.mts.map +0 -1
  319. package/dist/shiki--ASSYv4_.mjs +0 -12
  320. package/dist/shiki--ASSYv4_.mjs.map +0 -1
  321. package/dist/shiki-D7l5--zz.mjs +0 -432
  322. package/dist/shiki-D7l5--zz.mjs.map +0 -1
  323. package/dist/text-CCYs9RB2.d.mts.map +0 -1
  324. package/dist/theme.config-B3Yx--C2.mjs +0 -855
  325. package/dist/theme.config-B3Yx--C2.mjs.map +0 -1
  326. package/dist/tree-DJl5W_B7.d.mts.map +0 -1
  327. package/dist/types-D2EYlzmK.d.mts.map +0 -1
  328. package/dist/types-D3jk1rtk.d.mts.map +0 -1
  329. package/dist/widget-DPqBbB57.d.mts.map +0 -1
  330. package/dist/worker-C01jK2Ip.mjs +0 -1
@@ -1,19 +1,20 @@
1
- import { C as useActiveOwner, E as withOwner, S as unwrap, _ as peek, d as createSuspenseBoundary, f as effect, h as memo, l as createRoot, n as SuspenseContext, o as createNode, v as provideContext, x as untrack, y as signal } from "./reactive-f7NpAi69.mjs";
2
- import { t as defaultTheme } from "./registry-D-suU3g0.mjs";
3
- import { c as stripAnsiBg, i as applyDefaultColors, t as RESET } from "./ansi-DZlXaItJ.mjs";
4
- import { n as openStyle, t as styleBuilder } from "./builder-1z5ewEWK.mjs";
5
- import { n as box } from "./box-BkP4MF82.mjs";
6
- import { t as createCtx } from "./ctx-B7BmPUCD.mjs";
7
- import { t as RenderContext } from "./render-DEIUNLkh.mjs";
8
- import { t as TuiReporter } from "./logger-DSQb0sLP.mjs";
9
- import { o as bumpPlacements } from "./kitty-JbCJC0iQ.mjs";
10
- import { i as canonical, t as TerminalQueries } from "./queries-B_lOwEiE.mjs";
1
+ import { C as useActiveOwner, E as withOwner, S as unwrap, _ as peek, d as createSuspenseBoundary, f as effect, h as memo, l as createRoot, n as SuspenseContext, o as createNode, v as provideContext, x as untrack, y as signal } from "./reactive-DkP75TPk.mjs";
2
+ import { i as systemTheme, t as defaultTheme } from "./registry-CQU0VwpM.mjs";
3
+ import { c as stripAnsiBg, i as applyDefaultColors, t as RESET } from "./ansi-CxgRPLA2.mjs";
4
+ import { t as openStyle } from "./style-Cw_EuszU.mjs";
5
+ import { t as styleBuilder } from "./builder-BdYlK1Ew.mjs";
6
+ import { n as box } from "./box-DToDoXlU.mjs";
7
+ import { t as createCtx } from "./ctx-DBeFcZt6.mjs";
8
+ import { t as RenderContext } from "./render-Bp2N2i6J.mjs";
9
+ import { t as TuiReporter } from "./logger-DwfXp8LF.mjs";
10
+ import { o as bumpPlacements } from "./kitty-BH_eK6lz.mjs";
11
+ import { a as canonical, t as TerminalQueries } from "./queries-BIniKnLL.mjs";
11
12
  import { Emitter } from "@zaly/shared";
12
13
  import { sliceAnsi, stringWidth, stripAnsi } from "@zaly/shared/ansi";
13
14
  import { inspect, isDeepStrictEqual } from "node:util";
14
15
  import { Logger } from "@zaly/shared/logger";
15
16
  import { throttle } from "@zaly/shared/throttle";
16
- //#region src/input/actions.ts
17
+ // src/input/actions.ts
17
18
  function filterAction(action, filter) {
18
19
  if (!action) return false;
19
20
  if (!filter) return true;
@@ -224,8 +225,74 @@ var Actions = class extends Emitter {
224
225
  return ret;
225
226
  }
226
227
  };
227
- //#endregion
228
- //#region src/input/decoder.ts
228
+ // src/input/colors.ts
229
+ /** One renderer run: coalesce updates, discard stale snapshots, and own cleanup. */
230
+ var ColorsWatcher = class {
231
+ queries;
232
+ input;
233
+ write;
234
+ update;
235
+ #ac = new AbortController();
236
+ #appearance;
237
+ #revision = 0;
238
+ #pending = false;
239
+ #running = false;
240
+ #previous = "";
241
+ constructor(queries, input, write, update) {
242
+ this.queries = queries;
243
+ this.input = input;
244
+ this.write = write;
245
+ this.update = update;
246
+ input.on("term-response", ({ event }) => {
247
+ if (event.kind !== "csi" || event.final !== "n" || !/^\?997(?:;[012])?$/.test(event.params)) return;
248
+ if (event.params === "?997") this.#queryAppearance();
249
+ if (event.params === "?997;1") this.#appearance = "dark";
250
+ if (event.params === "?997;2") this.#appearance = "light";
251
+ this.refresh();
252
+ }, { signal: this.#ac.signal });
253
+ input.on("terminal-focus", ({ gained }) => {
254
+ if (!gained) return;
255
+ this.#queryAppearance();
256
+ this.refresh();
257
+ }, { signal: this.#ac.signal });
258
+ write("\x1B[?2031h");
259
+ this.#queryAppearance();
260
+ this.refresh();
261
+ }
262
+ #queryAppearance() {
263
+ this.queries.colorScheme({ signal: this.#ac.signal });
264
+ }
265
+ refresh() {
266
+ if (this.#ac.signal.aborted) return;
267
+ this.#revision++;
268
+ this.#pending = true;
269
+ if (!this.#running) this.#refresh();
270
+ }
271
+ async #refresh() {
272
+ this.#running = true;
273
+ try {
274
+ while (this.#pending && !this.#ac.signal.aborted) {
275
+ this.#pending = false;
276
+ const revision = this.#revision;
277
+ const snapshot = await this.queries.palette({ signal: this.#ac.signal });
278
+ if (revision !== this.#revision) continue;
279
+ const key = JSON.stringify([snapshot, this.#appearance]);
280
+ if (key === this.#previous) continue;
281
+ this.#previous = key;
282
+ this.update(snapshot, this.#appearance);
283
+ }
284
+ } finally {
285
+ this.#running = false;
286
+ }
287
+ }
288
+ stop() {
289
+ if (this.#ac.signal.aborted) return;
290
+ this.#revision++;
291
+ this.#ac.abort();
292
+ this.write("\x1B[?2031l");
293
+ }
294
+ };
295
+ // src/input/decoder.ts
229
296
  var Decoder = class {
230
297
  #pending = "";
231
298
  #paste;
@@ -394,7 +461,7 @@ const SS3_NAMES = {
394
461
  S: "f4"
395
462
  };
396
463
  function isTerminalCsiResponse(params, final) {
397
- return final === "c" && (params.startsWith("?") || params.startsWith(">"));
464
+ return final === "c" && (params.startsWith("?") || params.startsWith(">")) || final === "n" && /^\?997(?:;[012])?$/.test(params);
398
465
  }
399
466
  function handleCsi(params, final, out) {
400
467
  if ((final === "M" || final === "m") && params.startsWith("<")) {
@@ -544,8 +611,7 @@ function key(partial) {
544
611
  type: "key"
545
612
  };
546
613
  }
547
- //#endregion
548
- //#region src/input/defaults.ts
614
+ // src/input/defaults.ts
549
615
  /**
550
616
  * Catalog of built-in actions with descriptions and default bindings.
551
617
  * Typed as `Record<BuiltinAction, ActionInfo>` so missing entries are a
@@ -682,8 +748,7 @@ const defaultActions = {
682
748
  keys: ["up"]
683
749
  }
684
750
  };
685
- //#endregion
686
- //#region src/input/router.ts
751
+ // src/input/router.ts
687
752
  /**
688
753
  * Routes decoder events to the right node and/or action.
689
754
  *
@@ -849,8 +914,7 @@ function makeRoutedPaste(text) {
849
914
  };
850
915
  return r;
851
916
  }
852
- //#endregion
853
- //#region src/renderer/frame.ts
917
+ // src/renderer/frame.ts
854
918
  function sliceLine(line, from, to, width) {
855
919
  const start = from ? Math.max(0, from - 1) : 0;
856
920
  const end = to ? Math.max(start, to - 1) : width;
@@ -1019,8 +1083,7 @@ var RenderFrame = class {
1019
1083
  };
1020
1084
  }
1021
1085
  };
1022
- //#endregion
1023
- //#region src/renderer/surface.ts
1086
+ // src/renderer/surface.ts
1024
1087
  /**
1025
1088
  * Shared base for the three renderer surfaces (`Stream`, `UI`,
1026
1089
  * `OverlaySurface`). Owns the common lifecycle and paint bookkeeping:
@@ -1095,8 +1158,7 @@ var Surface = class extends Emitter {
1095
1158
  });
1096
1159
  }
1097
1160
  };
1098
- //#endregion
1099
- //#region src/renderer/overlay.ts
1161
+ // src/renderer/overlay.ts
1100
1162
  /**
1101
1163
  * Overlay surface — paints absolute-positioned `Overlay` nodes on top
1102
1164
  * of the stream and UI surfaces after each tick.
@@ -1239,8 +1301,7 @@ var OverlaySurface = class extends Surface {
1239
1301
  for (const { rows, x, y } of painted) for (let r = 0; r < rows.length; r++) frame.overlay(y + r, x, rows[r]);
1240
1302
  }
1241
1303
  };
1242
- //#endregion
1243
- //#region src/renderer/selection.ts
1304
+ // src/renderer/selection.ts
1244
1305
  var SelectionLayer = class extends Emitter {
1245
1306
  #selection;
1246
1307
  #text = "";
@@ -1510,8 +1571,7 @@ function renderRange({ bounds, ctx, end, frame, start }) {
1510
1571
  if (last !== void 0) lines.push(last);
1511
1572
  return lines;
1512
1573
  }
1513
- //#endregion
1514
- //#region src/renderer/stream.ts
1574
+ // src/renderer/stream.ts
1515
1575
  /**
1516
1576
  * Stream surface — append-only list of nodes that render into the bottom
1517
1577
  * of the terminal's scroll region and commit to scrollback as newer
@@ -1933,8 +1993,7 @@ var Stream = class extends Surface {
1933
1993
  for (const s of this.#state) if (s.node.mounted) s.node.unmount();
1934
1994
  }
1935
1995
  };
1936
- //#endregion
1937
- //#region src/renderer/terminal.ts
1996
+ // src/renderer/terminal.ts
1938
1997
  /**
1939
1998
  * Terminal primitive — owns stdin raw mode, stdout writes, and the
1940
1999
  * standard set of control modes we flip for a direct-mode renderer:
@@ -2064,7 +2123,7 @@ var Terminal = class {
2064
2123
  this.deleteImages();
2065
2124
  this.setProgress();
2066
2125
  if (this.#reserveBottom > 0) this.clearScrollRegion();
2067
- this.write(`${CSI}?1007l${CSI}?1006l${CSI}?1002l${CSI}?1000l${CSI}?1004l${CSI}?2004l${CSI}?7h${CSI}?25h`);
2126
+ this.write(`${CSI}?1007l${CSI}?1006l${CSI}?1002l${CSI}?1000l${CSI}?1004l${CSI}?2004l${CSI}?2031l${CSI}?7h${CSI}?25h`);
2068
2127
  if (this.#altScreen) this.write(`${CSI}?1049l`);
2069
2128
  } finally {
2070
2129
  this.#started = false;
@@ -2195,8 +2254,7 @@ var Terminal = class {
2195
2254
  return () => this.#resizeListeners.delete(fn);
2196
2255
  }
2197
2256
  };
2198
- //#endregion
2199
- //#region src/renderer/ui.ts
2257
+ // src/renderer/ui.ts
2200
2258
  /**
2201
2259
  * UI surface — the sticky footer. Renders a single Box tree at the
2202
2260
  * bottom of the terminal, inside the rows reserved by `Terminal`'s
@@ -2309,8 +2367,7 @@ var UI = class extends Surface {
2309
2367
  };
2310
2368
  }
2311
2369
  };
2312
- //#endregion
2313
- //#region src/renderer/renderer.ts
2370
+ // src/renderer/renderer.ts
2314
2371
  var RenderStats = class {
2315
2372
  #stats = {};
2316
2373
  /** Increment a stat by `delta` (default: `1`). */
@@ -2353,6 +2410,8 @@ var Renderer = class extends Emitter {
2353
2410
  #decoder = new Decoder();
2354
2411
  #stdin;
2355
2412
  #theme = signal(void 0);
2413
+ #shiki;
2414
+ #systemTheme;
2356
2415
  #transparent = signal(false);
2357
2416
  /** Root Owner — every surface's function-shape `add` / `append` runs
2358
2417
  * its child under this Owner via `withOwner(#rootOwner, …)`, so
@@ -2360,6 +2419,8 @@ var Renderer = class extends Emitter {
2360
2419
  * scopes) are visible to every widget body in the tree. */
2361
2420
  #rootOwner;
2362
2421
  #running = false;
2422
+ #colorsWatcher;
2423
+ #canQueryColors;
2363
2424
  #escTimer;
2364
2425
  #rendering;
2365
2426
  #dirty = false;
@@ -2385,6 +2446,7 @@ var Renderer = class extends Emitter {
2385
2446
  } } };
2386
2447
  constructor(opts = {}) {
2387
2448
  super();
2449
+ this.#canQueryColors = !!((opts.stdout ?? process.stdout).isTTY && (opts.stdin ?? process.stdin).isTTY);
2388
2450
  this.terminal = new Terminal({
2389
2451
  altScreen: opts.altScreen,
2390
2452
  hookSignals: opts.hookSignals,
@@ -2393,7 +2455,8 @@ var Renderer = class extends Emitter {
2393
2455
  stdout: opts.stdout
2394
2456
  });
2395
2457
  this.frame = new Frame(this.terminal);
2396
- if (opts.theme) this.#theme.set(opts.theme);
2458
+ this.#shiki = opts.shiki ?? "auto";
2459
+ if (opts.theme || this.#shiki !== "auto") this.#theme.set(this.#withShiki(opts.theme ?? defaultTheme));
2397
2460
  this.#transparent.set(() => opts.transparent ?? false);
2398
2461
  this.ui = new UI(this);
2399
2462
  this.stream = new Stream(this, { fixedFooterHeight: opts.fixedFooterHeight });
@@ -2496,7 +2559,8 @@ var Renderer = class extends Emitter {
2496
2559
  * Nodes that compare cache against `ctx.version` need the version
2497
2560
  * bump that already happens elsewhere on theme-driven invalidation. */
2498
2561
  set theme(theme) {
2499
- this.#theme.set(theme);
2562
+ this.#theme.set(this.#withShiki(theme.id === "system" ? this.#systemTheme ?? theme : theme));
2563
+ this.#syncSystemTheme();
2500
2564
  this.#ctxVersion++;
2501
2565
  this.stream.invalidate();
2502
2566
  this.ui.invalidate();
@@ -2507,13 +2571,31 @@ var Renderer = class extends Emitter {
2507
2571
  get theme() {
2508
2572
  return this.#theme.get() ?? defaultTheme;
2509
2573
  }
2574
+ #withShiki(theme) {
2575
+ return this.#shiki === "auto" ? theme : {
2576
+ ...theme,
2577
+ shiki: this.#shiki
2578
+ };
2579
+ }
2580
+ #syncSystemTheme() {
2581
+ if (!this.#running || !this.#canQueryColors) {
2582
+ this.#colorsWatcher?.stop();
2583
+ this.#colorsWatcher = void 0;
2584
+ return;
2585
+ }
2586
+ if (peek(this.#theme.get)?.id !== "system") return;
2587
+ this.#colorsWatcher ??= new ColorsWatcher(this.queries, this.input, (sequence) => this.terminal.write(sequence), (snapshot, appearance) => {
2588
+ this.#systemTheme = systemTheme(snapshot, appearance);
2589
+ if (peek(this.#theme.get)?.id === "system") this.theme = this.#systemTheme;
2590
+ });
2591
+ }
2510
2592
  /** Inherit the terminal background instead of painting the base background. */
2511
2593
  set transparent(transparent) {
2512
2594
  this.#transparent.set(transparent);
2513
2595
  }
2514
2596
  /** Current transparency setting. (tracked) */
2515
2597
  get transparent() {
2516
- return unwrap(this.#transparent.get());
2598
+ return unwrap(this.#transparent.get()) || this.theme.id === "system";
2517
2599
  }
2518
2600
  start() {
2519
2601
  if (this.#running) return;
@@ -2522,6 +2604,7 @@ var Renderer = class extends Emitter {
2522
2604
  this.#stdin.setEncoding?.("utf8");
2523
2605
  this.#stdin.on("data", this.#onData);
2524
2606
  this.#stdin.resume?.();
2607
+ this.#syncSystemTheme();
2525
2608
  this.emit("start");
2526
2609
  if (this.#dirty) this.#schedule();
2527
2610
  process.on("unhandledRejection", (reason) => this.logger.child("unhandledRejection").error("Unhandled Rejection:", reason));
@@ -2530,6 +2613,7 @@ var Renderer = class extends Emitter {
2530
2613
  if (!this.#running) return;
2531
2614
  this.emit("stop");
2532
2615
  this.#running = false;
2616
+ this.#syncSystemTheme();
2533
2617
  this.#stdin.off("data", this.#onData);
2534
2618
  this.#stdin.pause?.();
2535
2619
  if (this.#escTimer !== void 0) {
@@ -2690,7 +2774,6 @@ var Renderer = class extends Emitter {
2690
2774
  this.#escTimer.unref();
2691
2775
  };
2692
2776
  };
2693
- //#endregion
2694
2777
  export { Renderer };
2695
2778
 
2696
- //# sourceMappingURL=renderer-zDNlAovy.mjs.map
2779
+ //# sourceMappingURL=renderer-B9sAMA10.mjs.map