termcast 1.3.30 → 1.3.32

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 (294) hide show
  1. package/dist/apis/cache.d.ts.map +1 -1
  2. package/dist/apis/cache.js +4 -39
  3. package/dist/apis/cache.js.map +1 -1
  4. package/dist/apis/hud.d.ts.map +1 -1
  5. package/dist/apis/hud.js +13 -31
  6. package/dist/apis/hud.js.map +1 -1
  7. package/dist/apis/localstorage.d.ts.map +1 -1
  8. package/dist/apis/localstorage.js +3 -27
  9. package/dist/apis/localstorage.js.map +1 -1
  10. package/dist/apis/toast.d.ts +16 -43
  11. package/dist/apis/toast.d.ts.map +1 -1
  12. package/dist/apis/toast.js +78 -177
  13. package/dist/apis/toast.js.map +1 -1
  14. package/dist/build.d.ts +3 -1
  15. package/dist/build.d.ts.map +1 -1
  16. package/dist/build.js +52 -2
  17. package/dist/build.js.map +1 -1
  18. package/dist/cli.d.ts +1 -0
  19. package/dist/cli.d.ts.map +1 -1
  20. package/dist/cli.js +206 -25
  21. package/dist/cli.js.map +1 -1
  22. package/dist/colors.d.ts.map +1 -1
  23. package/dist/colors.js +1 -0
  24. package/dist/colors.js.map +1 -1
  25. package/dist/compile.d.ts +0 -1
  26. package/dist/compile.d.ts.map +1 -1
  27. package/dist/compile.js +18 -23
  28. package/dist/compile.js.map +1 -1
  29. package/dist/components/actions.d.ts.map +1 -1
  30. package/dist/components/actions.js +30 -15
  31. package/dist/components/actions.js.map +1 -1
  32. package/dist/components/animation-tick.d.ts +12 -0
  33. package/dist/components/animation-tick.d.ts.map +1 -0
  34. package/dist/components/animation-tick.js +63 -0
  35. package/dist/components/animation-tick.js.map +1 -0
  36. package/dist/components/detail.d.ts.map +1 -1
  37. package/dist/components/detail.js +10 -13
  38. package/dist/components/detail.js.map +1 -1
  39. package/dist/components/dropdown.d.ts +1 -0
  40. package/dist/components/dropdown.d.ts.map +1 -1
  41. package/dist/components/dropdown.js +27 -26
  42. package/dist/components/dropdown.js.map +1 -1
  43. package/dist/components/extension-preferences.d.ts.map +1 -1
  44. package/dist/components/extension-preferences.js +15 -10
  45. package/dist/components/extension-preferences.js.map +1 -1
  46. package/dist/components/footer.d.ts +13 -0
  47. package/dist/components/footer.d.ts.map +1 -0
  48. package/dist/components/footer.js +106 -0
  49. package/dist/components/footer.js.map +1 -0
  50. package/dist/components/form/file-autocomplete.d.ts +19 -4
  51. package/dist/components/form/file-autocomplete.d.ts.map +1 -1
  52. package/dist/components/form/file-autocomplete.js +56 -55
  53. package/dist/components/form/file-autocomplete.js.map +1 -1
  54. package/dist/components/form/file-picker.d.ts.map +1 -1
  55. package/dist/components/form/file-picker.js +26 -15
  56. package/dist/components/form/file-picker.js.map +1 -1
  57. package/dist/components/form/index.d.ts.map +1 -1
  58. package/dist/components/form/index.js +17 -15
  59. package/dist/components/form/index.js.map +1 -1
  60. package/dist/components/form/with-left-border.d.ts.map +1 -1
  61. package/dist/components/form/with-left-border.js +4 -12
  62. package/dist/components/form/with-left-border.js.map +1 -1
  63. package/dist/components/list.d.ts.map +1 -1
  64. package/dist/components/list.js +126 -86
  65. package/dist/components/list.js.map +1 -1
  66. package/dist/components/loading-bar.d.ts.map +1 -1
  67. package/dist/components/loading-bar.js +5 -22
  68. package/dist/components/loading-bar.js.map +1 -1
  69. package/dist/components/loading-text.d.ts.map +1 -1
  70. package/dist/components/loading-text.js +3 -22
  71. package/dist/components/loading-text.js.map +1 -1
  72. package/dist/components/theme-picker.d.ts +2 -0
  73. package/dist/components/theme-picker.d.ts.map +1 -0
  74. package/dist/components/theme-picker.js +37 -0
  75. package/dist/components/theme-picker.js.map +1 -0
  76. package/dist/descendants.d.ts +6 -0
  77. package/dist/descendants.d.ts.map +1 -1
  78. package/dist/descendants.js +74 -8
  79. package/dist/descendants.js.map +1 -1
  80. package/dist/examples/internal/descendants-rerender.d.ts +14 -0
  81. package/dist/examples/internal/descendants-rerender.d.ts.map +1 -0
  82. package/dist/examples/internal/descendants-rerender.js +145 -0
  83. package/dist/examples/internal/descendants-rerender.js.map +1 -0
  84. package/dist/examples/internal/simple-dialog.js +4 -1
  85. package/dist/examples/internal/simple-dialog.js.map +1 -1
  86. package/dist/examples/internal/simple-scrollbox.js +1 -1
  87. package/dist/examples/internal/simple-scrollbox.js.map +1 -1
  88. package/dist/examples/list-with-dropdown.js +1 -1
  89. package/dist/examples/list-with-dropdown.js.map +1 -1
  90. package/dist/examples/miscellaneous.js +1 -1
  91. package/dist/examples/miscellaneous.js.map +1 -1
  92. package/dist/examples/toast-action.d.ts +2 -0
  93. package/dist/examples/toast-action.d.ts.map +1 -0
  94. package/dist/examples/toast-action.js +76 -0
  95. package/dist/examples/toast-action.js.map +1 -0
  96. package/dist/examples/toast-variations.js +38 -36
  97. package/dist/examples/toast-variations.js.map +1 -1
  98. package/dist/extensions/dev.d.ts +1 -1
  99. package/dist/extensions/dev.d.ts.map +1 -1
  100. package/dist/extensions/dev.js +62 -30
  101. package/dist/extensions/dev.js.map +1 -1
  102. package/dist/extensions/home.d.ts.map +1 -1
  103. package/dist/extensions/home.js +4 -3
  104. package/dist/extensions/home.js.map +1 -1
  105. package/dist/extensions/react-refresh-init.d.ts +5 -0
  106. package/dist/extensions/react-refresh-init.d.ts.map +1 -0
  107. package/dist/extensions/react-refresh-init.js +52 -0
  108. package/dist/extensions/react-refresh-init.js.map +1 -0
  109. package/dist/internal/date-picker-widget.js +1 -1
  110. package/dist/internal/date-picker-widget.js.map +1 -1
  111. package/dist/internal/dialog.d.ts +8 -3
  112. package/dist/internal/dialog.d.ts.map +1 -1
  113. package/dist/internal/dialog.js +37 -53
  114. package/dist/internal/dialog.js.map +1 -1
  115. package/dist/internal/navigation.d.ts +1 -0
  116. package/dist/internal/navigation.d.ts.map +1 -1
  117. package/dist/internal/navigation.js +25 -1
  118. package/dist/internal/navigation.js.map +1 -1
  119. package/dist/internal/providers.d.ts.map +1 -1
  120. package/dist/internal/providers.js +9 -197
  121. package/dist/internal/providers.js.map +1 -1
  122. package/dist/internal/scrollbox.d.ts.map +1 -1
  123. package/dist/internal/scrollbox.js +1 -0
  124. package/dist/internal/scrollbox.js.map +1 -1
  125. package/dist/release.d.ts +1 -0
  126. package/dist/release.d.ts.map +1 -1
  127. package/dist/release.js +16 -9
  128. package/dist/release.js.map +1 -1
  129. package/dist/state.d.ts +27 -1
  130. package/dist/state.d.ts.map +1 -1
  131. package/dist/state.js +6 -0
  132. package/dist/state.js.map +1 -1
  133. package/dist/theme.d.ts +6 -19
  134. package/dist/theme.d.ts.map +1 -1
  135. package/dist/theme.js +76 -45
  136. package/dist/theme.js.map +1 -1
  137. package/dist/themes/aura.json +69 -0
  138. package/dist/themes/ayu.json +80 -0
  139. package/dist/themes/catppuccin-frappe.json +233 -0
  140. package/dist/themes/catppuccin-macchiato.json +233 -0
  141. package/dist/themes/catppuccin.json +112 -0
  142. package/dist/themes/cobalt2.json +228 -0
  143. package/dist/themes/cursor.json +249 -0
  144. package/dist/themes/dracula.json +219 -0
  145. package/dist/themes/everforest.json +241 -0
  146. package/dist/themes/flexoki.json +237 -0
  147. package/dist/themes/github-light.json +56 -0
  148. package/dist/themes/github.json +241 -0
  149. package/dist/themes/gruvbox.json +95 -0
  150. package/dist/themes/kanagawa.json +77 -0
  151. package/dist/themes/lucent-orng.json +227 -0
  152. package/dist/themes/material.json +235 -0
  153. package/dist/themes/matrix.json +77 -0
  154. package/dist/themes/mercury.json +245 -0
  155. package/dist/themes/monokai.json +221 -0
  156. package/dist/themes/nightowl.json +221 -0
  157. package/dist/themes/nord.json +223 -0
  158. package/dist/themes/one-dark.json +84 -0
  159. package/dist/themes/opencode-light.json +62 -0
  160. package/dist/themes/opencode.json +245 -0
  161. package/dist/themes/orng.json +245 -0
  162. package/dist/themes/palenight.json +222 -0
  163. package/dist/themes/rosepine.json +234 -0
  164. package/dist/themes/solarized.json +223 -0
  165. package/dist/themes/synthwave84.json +226 -0
  166. package/dist/themes/termcast.json +226 -0
  167. package/dist/themes/tokyonight.json +243 -0
  168. package/dist/themes/vercel.json +255 -0
  169. package/dist/themes/vesper.json +218 -0
  170. package/dist/themes/zenburn.json +223 -0
  171. package/dist/themes.d.ts +57 -0
  172. package/dist/themes.d.ts.map +1 -0
  173. package/dist/themes.js +181 -0
  174. package/dist/themes.js.map +1 -0
  175. package/dist/utils/run-command.d.ts +2 -1
  176. package/dist/utils/run-command.d.ts.map +1 -1
  177. package/dist/utils/run-command.js +20 -10
  178. package/dist/utils/run-command.js.map +1 -1
  179. package/dist/utils.d.ts +2 -1
  180. package/dist/utils.d.ts.map +1 -1
  181. package/dist/utils.js +90 -17
  182. package/dist/utils.js.map +1 -1
  183. package/dist/watcher.d.ts +3 -0
  184. package/dist/watcher.d.ts.map +1 -0
  185. package/dist/watcher.js +16 -0
  186. package/dist/watcher.js.map +1 -0
  187. package/package.json +16 -10
  188. package/src/apis/cache.tsx +5 -44
  189. package/src/apis/hud.tsx +17 -62
  190. package/src/apis/localstorage.tsx +3 -32
  191. package/src/apis/toast.tsx +91 -275
  192. package/src/build.test.tsx +10 -0
  193. package/src/build.tsx +61 -1
  194. package/src/cli.tsx +365 -103
  195. package/src/colors.tsx +1 -0
  196. package/src/compile.tsx +21 -29
  197. package/src/compile.vitest.tsx +300 -0
  198. package/src/components/actions.tsx +64 -45
  199. package/src/components/animation-tick.tsx +85 -0
  200. package/src/components/detail.tsx +31 -35
  201. package/src/components/dropdown.tsx +32 -21
  202. package/src/components/extension-preferences.tsx +14 -10
  203. package/src/components/footer.tsx +241 -0
  204. package/src/components/form/file-autocomplete.tsx +80 -60
  205. package/src/components/form/file-picker.tsx +37 -25
  206. package/src/components/form/index.tsx +45 -41
  207. package/src/components/form/with-left-border.tsx +4 -14
  208. package/src/components/list.tsx +181 -121
  209. package/src/components/loading-bar.tsx +5 -25
  210. package/src/components/loading-text.tsx +4 -23
  211. package/src/components/theme-picker.tsx +57 -0
  212. package/src/descendants.tsx +98 -9
  213. package/src/examples/actions-dialog-layout.vitest.tsx +112 -0
  214. package/src/examples/file-autocomplete.vitest.tsx +131 -122
  215. package/src/examples/form-basic.vitest.tsx +463 -644
  216. package/src/examples/form-dropdown.vitest.tsx +553 -571
  217. package/src/examples/form-scroll.vitest.tsx +112 -102
  218. package/src/examples/form-tagpicker.vitest.tsx +364 -338
  219. package/src/examples/internal/descendants-rerender.tsx +273 -0
  220. package/src/examples/internal/descendants-rerender.vitest.tsx +194 -0
  221. package/src/examples/internal/simple-dialog.tsx +4 -4
  222. package/src/examples/internal/simple-scrollbox.tsx +2 -2
  223. package/src/examples/internal/simple-scrollbox.vitest.tsx +43 -31
  224. package/src/examples/list-detail-metadata.vitest.tsx +34 -30
  225. package/src/examples/list-dropdown-default.vitest.tsx +84 -72
  226. package/src/examples/list-empty-view.vitest.tsx +93 -0
  227. package/src/examples/list-fetch-data.vitest.tsx +36 -30
  228. package/src/examples/list-scrollbox.vitest.tsx +59 -39
  229. package/src/examples/list-with-detail.vitest.tsx +339 -314
  230. package/src/examples/list-with-dropdown.tsx +1 -0
  231. package/src/examples/list-with-dropdown.vitest.tsx +176 -150
  232. package/src/examples/list-with-sections.vitest.tsx +289 -270
  233. package/src/examples/list-with-toast.vitest.tsx +44 -44
  234. package/src/examples/miscellaneous.tsx +10 -0
  235. package/src/examples/simple-file-picker.vitest.tsx +90 -86
  236. package/src/examples/simple-grid.vitest.tsx +275 -249
  237. package/src/examples/simple-navigation.vitest.tsx +192 -168
  238. package/src/examples/store.vitest.tsx +6 -4
  239. package/src/examples/swift-extension.vitest.tsx +31 -19
  240. package/src/examples/synonyms.vitest.tsx +93 -83
  241. package/src/examples/toast-action.tsx +160 -0
  242. package/src/examples/toast-action.vitest.tsx +404 -0
  243. package/src/examples/toast-variations.tsx +58 -57
  244. package/src/examples/toast-variations.vitest.tsx +186 -166
  245. package/src/extensions/dev.tsx +74 -33
  246. package/src/extensions/dev.vitest.tsx +162 -69
  247. package/src/extensions/home.tsx +5 -6
  248. package/src/extensions/react-refresh-init.tsx +59 -0
  249. package/src/internal/date-picker-widget.tsx +1 -1
  250. package/src/internal/dialog.tsx +59 -83
  251. package/src/internal/navigation.tsx +37 -4
  252. package/src/internal/providers.tsx +27 -315
  253. package/src/internal/scrollbox.tsx +1 -0
  254. package/src/release.tsx +16 -10
  255. package/src/state.tsx +36 -3
  256. package/src/theme.tsx +82 -51
  257. package/src/themes/aura.json +69 -0
  258. package/src/themes/ayu.json +80 -0
  259. package/src/themes/catppuccin-frappe.json +233 -0
  260. package/src/themes/catppuccin-macchiato.json +233 -0
  261. package/src/themes/catppuccin.json +112 -0
  262. package/src/themes/cobalt2.json +228 -0
  263. package/src/themes/cursor.json +249 -0
  264. package/src/themes/dracula.json +219 -0
  265. package/src/themes/everforest.json +241 -0
  266. package/src/themes/flexoki.json +237 -0
  267. package/src/themes/github-light.json +56 -0
  268. package/src/themes/github.json +241 -0
  269. package/src/themes/gruvbox.json +95 -0
  270. package/src/themes/kanagawa.json +77 -0
  271. package/src/themes/lucent-orng.json +227 -0
  272. package/src/themes/material.json +235 -0
  273. package/src/themes/matrix.json +77 -0
  274. package/src/themes/mercury.json +252 -0
  275. package/src/themes/monokai.json +221 -0
  276. package/src/themes/nightowl.json +221 -0
  277. package/src/themes/nord.json +223 -0
  278. package/src/themes/one-dark.json +84 -0
  279. package/src/themes/opencode-light.json +62 -0
  280. package/src/themes/opencode.json +245 -0
  281. package/src/themes/orng.json +245 -0
  282. package/src/themes/palenight.json +222 -0
  283. package/src/themes/rosepine.json +234 -0
  284. package/src/themes/solarized.json +223 -0
  285. package/src/themes/synthwave84.json +226 -0
  286. package/src/themes/termcast.json +227 -0
  287. package/src/themes/tokyonight.json +243 -0
  288. package/src/themes/vercel.json +255 -0
  289. package/src/themes/vesper.json +218 -0
  290. package/src/themes/zenburn.json +223 -0
  291. package/src/themes.ts +291 -0
  292. package/src/utils/run-command.tsx +23 -12
  293. package/src/utils.tsx +115 -18
  294. package/src/watcher.tsx +19 -0
@@ -1,219 +1,121 @@
1
- import { jsxs as _jsxs, jsx as _jsx } from "@opentui/react/jsx-runtime";
2
- import { useEffect, useState } from 'react';
3
- import { Theme } from 'termcast/src/theme';
4
- import { TextAttributes } from '@opentui/core';
5
1
  import { useStore } from 'termcast/src/state';
6
- import { useKeyboard, useTerminalDimensions } from '@opentui/react';
7
- import { useIsInFocus } from 'termcast/src/internal/focus-context';
8
2
  export class Toast {
9
- options;
10
- id;
11
- callbacks = {};
3
+ _id;
4
+ _title;
5
+ _message;
6
+ _style;
7
+ _primaryAction;
8
+ _secondaryAction;
12
9
  static Style = {
13
10
  Success: 'SUCCESS',
14
11
  Failure: 'FAILURE',
15
12
  Animated: 'ANIMATED',
16
13
  };
17
14
  constructor(props) {
18
- this.options = { ...props };
19
- this.id = Math.random().toString(36).substring(7);
20
- // Bind all methods to this instance
21
- this.show = this.show.bind(this);
22
- this.hide = this.hide.bind(this);
23
- this.update = this.update.bind(this);
24
- this._setCallbacks = this._setCallbacks.bind(this);
25
- this._getId = this._getId.bind(this);
15
+ this._id = Math.random().toString(36).substring(7);
16
+ this._title = props.title;
17
+ this._message = props.message;
18
+ this._style = props.style || 'SUCCESS';
19
+ this._primaryAction = props.primaryAction;
20
+ this._secondaryAction = props.secondaryAction;
21
+ }
22
+ _isShowing() {
23
+ return useStore.getState().toast?.id === this._id;
24
+ }
25
+ _updateState() {
26
+ if (this._isShowing()) {
27
+ useStore.setState({
28
+ toast: this._toData(),
29
+ toastWithPrimaryAction: Boolean(this._primaryAction),
30
+ });
31
+ }
32
+ }
33
+ _toData() {
34
+ return {
35
+ id: this._id,
36
+ title: this._title,
37
+ message: this._message,
38
+ style: this._style,
39
+ primaryAction: this._primaryAction
40
+ ? {
41
+ title: this._primaryAction.title,
42
+ onAction: () => {
43
+ this.hide();
44
+ this._primaryAction?.onAction(this);
45
+ },
46
+ }
47
+ : undefined,
48
+ secondaryAction: this._secondaryAction
49
+ ? {
50
+ title: this._secondaryAction.title,
51
+ onAction: () => {
52
+ this.hide();
53
+ this._secondaryAction?.onAction(this);
54
+ },
55
+ }
56
+ : undefined,
57
+ onHide: () => {
58
+ this.hide();
59
+ },
60
+ };
26
61
  }
27
62
  get style() {
28
- return this.options.style || Toast.Style.Success;
63
+ return this._style;
29
64
  }
30
65
  set style(style) {
31
- this.options.style = style;
32
- this.update();
66
+ this._style = style;
67
+ this._updateState();
33
68
  }
34
69
  get title() {
35
- return this.options.title;
70
+ return this._title;
36
71
  }
37
72
  set title(title) {
38
- this.options.title = title;
39
- this.update();
73
+ this._title = title;
74
+ this._updateState();
40
75
  }
41
76
  get message() {
42
- return this.options.message;
77
+ return this._message;
43
78
  }
44
79
  set message(message) {
45
- this.options.message = message;
46
- this.update();
80
+ this._message = message;
81
+ this._updateState();
47
82
  }
48
83
  get primaryAction() {
49
- return this.options.primaryAction;
84
+ return this._primaryAction;
50
85
  }
51
86
  set primaryAction(action) {
52
- this.options.primaryAction = action;
53
- this.update();
87
+ this._primaryAction = action;
88
+ this._updateState();
54
89
  }
55
90
  get secondaryAction() {
56
- return this.options.secondaryAction;
91
+ return this._secondaryAction;
57
92
  }
58
93
  set secondaryAction(action) {
59
- this.options.secondaryAction = action;
60
- this.update();
94
+ this._secondaryAction = action;
95
+ this._updateState();
61
96
  }
62
97
  async show() {
63
- showToastInternal(this);
98
+ useStore.setState({
99
+ toast: this._toData(),
100
+ toastWithPrimaryAction: Boolean(this._primaryAction),
101
+ });
64
102
  }
65
103
  async hide() {
66
- useStore.setState({ toast: null });
67
- if (this.callbacks.onHide) {
68
- this.callbacks.onHide();
69
- }
70
- }
71
- update() {
72
- if (this.callbacks.onUpdate) {
73
- this.callbacks.onUpdate(this);
74
- }
75
- }
76
- _setCallbacks(callbacks) {
77
- this.callbacks = callbacks;
78
- }
79
- _getId() {
80
- return this.id;
81
- }
82
- }
83
- export function ToastContent({ toast, onHide }) {
84
- const [, forceUpdate] = useState(0);
85
- const inFocus = useIsInFocus();
86
- useEffect(() => {
87
- const onUpdate = () => {
88
- forceUpdate((n) => n + 1);
89
- };
90
- toast._setCallbacks({ onUpdate, onHide });
91
- return () => {
92
- toast._setCallbacks({});
93
- };
94
- }, [toast, onHide]);
95
- useKeyboard((evt) => {
96
- if (!inFocus)
97
- return;
98
- if (evt.name === 'escape') {
99
- onHide();
100
- }
101
- else if (toast.primaryAction && evt.name === 'return') {
102
- toast.primaryAction.onAction(toast);
103
- }
104
- else if (toast.secondaryAction && evt.name === 'tab') {
105
- toast.secondaryAction.onAction(toast);
106
- }
107
- });
108
- const getIcon = () => {
109
- switch (toast.style) {
110
- case Toast.Style.Success:
111
- return '✓';
112
- case Toast.Style.Failure:
113
- return '✗';
114
- case Toast.Style.Animated:
115
- return '⣾⣽⣻⢿⡿⣟⣯⣷';
116
- default:
117
- return '✓';
118
- }
119
- };
120
- const getIconColor = () => {
121
- switch (toast.style) {
122
- case Toast.Style.Success:
123
- return Theme.success;
124
- case Toast.Style.Failure:
125
- return Theme.error;
126
- case Toast.Style.Animated:
127
- return Theme.primary;
128
- default:
129
- return Theme.success;
130
- }
131
- };
132
- const [animationFrame, setAnimationFrame] = useState(0);
133
- useEffect(() => {
134
- if (toast.style === Toast.Style.Animated) {
135
- const interval = setInterval(() => {
136
- setAnimationFrame((prev) => (prev + 1) % 8);
137
- }, 100);
138
- return () => clearInterval(interval);
139
- }
140
- }, [toast.style]);
141
- useEffect(() => {
142
- if (toast.style !== Toast.Style.Animated) {
143
- const duration = toast.style === Toast.Style.Failure ? 8000 : 5000;
144
- const timer = setTimeout(() => {
145
- onHide();
146
- }, duration);
147
- return () => clearTimeout(timer);
104
+ if (this._isShowing()) {
105
+ useStore.setState({ toast: null, toastWithPrimaryAction: false });
148
106
  }
149
- }, [toast.style, onHide]);
150
- const icon = toast.style === Toast.Style.Animated ? getIcon()[animationFrame] : getIcon();
151
- return (_jsxs("box", { borderColor: Theme.border, backgroundColor: Theme.background, paddingLeft: 1, paddingRight: 1, flexDirection: 'column', children: [_jsxs("box", { flexDirection: 'row', alignItems: 'center', children: [_jsxs("text", { flexShrink: 0, fg: getIconColor(), children: [icon, ' '] }), _jsx("text", { flexShrink: 0, fg: Theme.text, attributes: TextAttributes.BOLD, children: toast.title }), toast.primaryAction && (_jsx("box", { flexShrink: 0, onMouseDown: () => {
152
- toast.primaryAction?.onAction(toast);
153
- }, children: _jsxs("text", { fg: Theme.primary, children: [' ', "[", toast.primaryAction.title, " \u21B5]"] }) })), toast.secondaryAction && (_jsx("box", { flexShrink: 0, onMouseDown: () => {
154
- toast.secondaryAction?.onAction(toast);
155
- }, children: _jsxs("text", { fg: Theme.textMuted, children: [' ', "[", toast.secondaryAction.title, " \u21E5]"] }) }))] }), toast.message && (_jsx("box", { paddingLeft: 2, children: _jsx("text", { flexShrink: 0, fg: Theme.textMuted, children: toast.message }) }))] }));
156
- }
157
- export function ToastOverlay() {
158
- const dimensions = useTerminalDimensions();
159
- const toastElement = useStore((state) => state.toast);
160
- if (!toastElement) {
161
- return null;
162
107
  }
163
- return (_jsx("box", { position: 'absolute', left: 0, bottom: 0, width: dimensions.width, maxHeight: 10, justifyContent: 'flex-end', alignItems: 'center', children: toastElement }));
164
- }
165
- let currentToastInstance = null;
166
- export function showToastInternal(toast) {
167
- currentToastInstance = toast;
168
- useStore.setState({
169
- toast: (_jsx(ToastContent, { toast: toast, onHide: () => {
170
- useStore.setState({ toast: null });
171
- currentToastInstance = null;
172
- } })),
173
- });
174
108
  }
175
109
  export async function showToast(optionsOrStyle, title, message) {
176
- let options;
177
- if (typeof optionsOrStyle === 'string') {
178
- options = {
179
- style: optionsOrStyle,
180
- title: title,
181
- message,
182
- };
183
- }
184
- else {
185
- options = optionsOrStyle;
186
- }
110
+ const options = typeof optionsOrStyle === 'string'
111
+ ? { style: optionsOrStyle, title: title, message }
112
+ : optionsOrStyle;
187
113
  const toast = new Toast(options);
188
114
  await toast.show();
189
115
  return toast;
190
116
  }
191
117
  /**
192
118
  * Creates and shows a failure toast for error scenarios.
193
- *
194
- * This is a convenience function that automatically creates a toast with failure styling
195
- * and extracts error messages from various error types.
196
- *
197
- * @param error - The error to display. Can be an Error object, string, or any object with a message property
198
- * @param options - Optional configuration
199
- * @param options.title - Custom title for the toast (defaults to error name or "Something went wrong")
200
- * @param options.primaryAction - Optional action button to display on the toast
201
- * @returns A Promise that resolves to the created Toast instance
202
- *
203
- * @example
204
- * ```typescript
205
- * try {
206
- * await riskyOperation()
207
- * } catch (error) {
208
- * await showFailureToast(error, {
209
- * title: "Operation Failed",
210
- * primaryAction: {
211
- * title: "Retry",
212
- * onAction: () => retryOperation()
213
- * }
214
- * })
215
- * }
216
- * ```
217
119
  */
218
120
  export async function showFailureToast(error, options) {
219
121
  let errorMessage;
@@ -234,12 +136,11 @@ export async function showFailureToast(error, options) {
234
136
  errorMessage = String(error);
235
137
  errorTitle = options?.title || 'Something went wrong';
236
138
  }
237
- const toastOptions = {
139
+ return showToast({
238
140
  title: errorTitle,
239
141
  message: errorMessage,
240
142
  style: Toast.Style.Failure,
241
143
  primaryAction: options?.primaryAction,
242
- };
243
- return showToast(toastOptions);
144
+ });
244
145
  }
245
146
  //# sourceMappingURL=toast.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/apis/toast.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"toast.js","sourceRoot":"","sources":["../../src/apis/toast.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAyB,MAAM,oBAAoB,CAAA;AAoBpE,MAAM,OAAO,KAAK;IACR,GAAG,CAAQ;IACX,MAAM,CAAQ;IACd,QAAQ,CAAS;IACjB,MAAM,CAAY;IAClB,cAAc,CAAsB;IACpC,gBAAgB,CAAsB;IAE9C,MAAM,CAAC,KAAK,GAAG;QACb,OAAO,EAAE,SAAuB;QAChC,OAAO,EAAE,SAAuB;QAChC,QAAQ,EAAE,UAAwB;KACnC,CAAA;IAED,YAAY,KAAoB;QAC9B,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAA;QAClD,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,CAAA;QACzB,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAA;QAC7B,IAAI,CAAC,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,SAAS,CAAA;QACtC,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC,aAAa,CAAA;QACzC,IAAI,CAAC,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAA;IAC/C,CAAC;IAEO,UAAU;QAChB,OAAO,QAAQ,CAAC,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE,KAAK,IAAI,CAAC,GAAG,CAAA;IACnD,CAAC;IAEO,YAAY;QAClB,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,QAAQ,CAAC,QAAQ,CAAC;gBAChB,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;gBACrB,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;aACrD,CAAC,CAAA;QACJ,CAAC;IACH,CAAC;IAEO,OAAO;QACb,OAAO;YACL,EAAE,EAAE,IAAI,CAAC,GAAG;YACZ,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,OAAO,EAAE,IAAI,CAAC,QAAQ;YACtB,KAAK,EAAE,IAAI,CAAC,MAAM;YAClB,aAAa,EAAE,IAAI,CAAC,cAAc;gBAChC,CAAC,CAAC;oBACE,KAAK,EAAE,IAAI,CAAC,cAAc,CAAC,KAAK;oBAChC,QAAQ,EAAE,GAAG,EAAE;wBACb,IAAI,CAAC,IAAI,EAAE,CAAA;wBACX,IAAI,CAAC,cAAc,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACrC,CAAC;iBACF;gBACH,CAAC,CAAC,SAAS;YACb,eAAe,EAAE,IAAI,CAAC,gBAAgB;gBACpC,CAAC,CAAC;oBACE,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,KAAK;oBAClC,QAAQ,EAAE,GAAG,EAAE;wBACb,IAAI,CAAC,IAAI,EAAE,CAAA;wBACX,IAAI,CAAC,gBAAgB,EAAE,QAAQ,CAAC,IAAI,CAAC,CAAA;oBACvC,CAAC;iBACF;gBACH,CAAC,CAAC,SAAS;YACb,MAAM,EAAE,GAAG,EAAE;gBACX,IAAI,CAAC,IAAI,EAAE,CAAA;YACb,CAAC;SACF,CAAA;IACH,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,KAAiB;QACzB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,MAAM,CAAA;IACpB,CAAC;IAED,IAAI,KAAK,CAAC,KAAa;QACrB,IAAI,CAAC,MAAM,GAAG,KAAK,CAAA;QACnB,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,OAAO;QACT,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,IAAI,OAAO,CAAC,OAA2B;QACrC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAA;QACvB,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,aAAa;QACf,OAAO,IAAI,CAAC,cAAc,CAAA;IAC5B,CAAC;IAED,IAAI,aAAa,CAAC,MAAuC;QACvD,IAAI,CAAC,cAAc,GAAG,MAAM,CAAA;QAC5B,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAED,IAAI,eAAe;QACjB,OAAO,IAAI,CAAC,gBAAgB,CAAA;IAC9B,CAAC;IAED,IAAI,eAAe,CAAC,MAAuC;QACzD,IAAI,CAAC,gBAAgB,GAAG,MAAM,CAAA;QAC9B,IAAI,CAAC,YAAY,EAAE,CAAA;IACrB,CAAC;IAED,KAAK,CAAC,IAAI;QACR,QAAQ,CAAC,QAAQ,CAAC;YAChB,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE;YACrB,sBAAsB,EAAE,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC;SACrD,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,UAAU,EAAE,EAAE,CAAC;YACtB,QAAQ,CAAC,QAAQ,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,sBAAsB,EAAE,KAAK,EAAE,CAAC,CAAA;QACnE,CAAC;IACH,CAAC;;AASH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,cAA2C,EAC3C,KAAc,EACd,OAAgB;IAEhB,MAAM,OAAO,GACX,OAAO,cAAc,KAAK,QAAQ;QAChC,CAAC,CAAC,EAAE,KAAK,EAAE,cAAc,EAAE,KAAK,EAAE,KAAM,EAAE,OAAO,EAAE;QACnD,CAAC,CAAC,cAAc,CAAA;IAEpB,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,CAAA;IAChC,MAAM,KAAK,CAAC,IAAI,EAAE,CAAA;IAClB,OAAO,KAAK,CAAA;AACd,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,KAAc,EACd,OAGC;IAED,IAAI,YAAoB,CAAA;IACxB,IAAI,UAAkB,CAAA;IAEtB,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;QAC3B,YAAY,GAAG,KAAK,CAAC,OAAO,CAAA;QAC5B,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,KAAK,CAAC,IAAI,IAAI,sBAAsB,CAAA;IACrE,CAAC;SAAM,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QACrC,YAAY,GAAG,KAAK,CAAA;QACpB,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,sBAAsB,CAAA;IACvD,CAAC;SAAM,IAAI,KAAK,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,SAAS,IAAI,KAAK,EAAE,CAAC;QACpE,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAA;QACpC,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,sBAAsB,CAAA;IACvD,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,CAAA;QAC5B,UAAU,GAAG,OAAO,EAAE,KAAK,IAAI,sBAAsB,CAAA;IACvD,CAAC;IAED,OAAO,SAAS,CAAC;QACf,KAAK,EAAE,UAAU;QACjB,OAAO,EAAE,YAAY;QACrB,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC,OAAO;QAC1B,aAAa,EAAE,OAAO,EAAE,aAAa;KACtC,CAAC,CAAA;AACJ,CAAC"}
package/dist/build.d.ts CHANGED
@@ -1,6 +1,7 @@
1
1
  import type { BunPlugin } from 'bun';
2
2
  import { CommandWithFile } from './package-json';
3
3
  export declare const aliasPlugin: BunPlugin;
4
+ export declare const reactRefreshPlugin: BunPlugin;
4
5
  interface BundledCommand extends CommandWithFile {
5
6
  bundledPath: string;
6
7
  }
@@ -8,10 +9,11 @@ export interface BuildResult {
8
9
  commands: BundledCommand[];
9
10
  bundleDir: string;
10
11
  }
11
- export declare function buildExtensionCommands({ extensionPath, format, target, }: {
12
+ export declare function buildExtensionCommands({ extensionPath, format, target, hotReload, }: {
12
13
  extensionPath: string;
13
14
  format?: 'cjs' | 'esm';
14
15
  target?: 'node' | 'bun';
16
+ hotReload?: boolean;
15
17
  }): Promise<BuildResult>;
16
18
  export {};
17
19
  //# sourceMappingURL=build.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAEpC,OAAO,EAAwB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAUtE,eAAO,MAAM,WAAW,EAAE,SAoKzB,CAAA;AAED,UAAU,cAAe,SAAQ,eAAe;IAC9C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,MAAc,EACd,MAAM,GACP,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;CACxB,GAAG,OAAO,CAAC,WAAW,CAAC,CA8EvB"}
1
+ {"version":3,"file":"build.d.ts","sourceRoot":"","sources":["../src/build.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,KAAK,CAAA;AAGpC,OAAO,EAAwB,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAUtE,eAAO,MAAM,WAAW,EAAE,SAoKzB,CAAA;AAID,eAAO,MAAM,kBAAkB,EAAE,SAgDhC,CAAA;AAED,UAAU,cAAe,SAAQ,eAAe;IAC9C,WAAW,EAAE,MAAM,CAAA;CACpB;AAED,MAAM,WAAW,WAAW;IAC1B,QAAQ,EAAE,cAAc,EAAE,CAAA;IAC1B,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,wBAAsB,sBAAsB,CAAC,EAC3C,aAAa,EACb,MAAc,EACd,MAAM,EACN,SAAiB,GAClB,EAAE;IACD,aAAa,EAAE,MAAM,CAAA;IACrB,MAAM,CAAC,EAAE,KAAK,GAAG,KAAK,CAAA;IACtB,MAAM,CAAC,EAAE,MAAM,GAAG,KAAK,CAAA;IACvB,SAAS,CAAC,EAAE,OAAO,CAAA;CACpB,GAAG,OAAO,CAAC,WAAW,CAAC,CAmFvB"}
package/dist/build.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import fs from 'node:fs';
2
2
  import path from 'node:path';
3
+ import * as swc from '@swc/core';
3
4
  import { logger } from './logger';
4
5
  import { getCommandsWithFiles } from './package-json';
5
6
  import * as termcastApi from './index';
@@ -147,7 +148,52 @@ export const aliasPlugin = {
147
148
  });
148
149
  },
149
150
  };
150
- export async function buildExtensionCommands({ extensionPath, format = 'cjs', target, }) {
151
+ // React Refresh transform plugin for hot reloading using SWC (Rust-based, ~20x faster than Babel)
152
+ // Transforms extension source files to inject $RefreshReg$ and $RefreshSig$ calls
153
+ export const reactRefreshPlugin = {
154
+ name: 'react-refresh-transform',
155
+ async setup(build) {
156
+ build.onLoad({ filter: /\.[tj]sx?$/ }, async (args) => {
157
+ // Skip node_modules
158
+ if (args.path.includes('node_modules')) {
159
+ return undefined;
160
+ }
161
+ const code = await Bun.file(args.path).text();
162
+ const isTypeScript = args.path.endsWith('.ts') || args.path.endsWith('.tsx');
163
+ const hasJsx = args.path.endsWith('.tsx') || args.path.endsWith('.jsx');
164
+ const result = await swc.transform(code, {
165
+ filename: args.path,
166
+ jsc: {
167
+ parser: isTypeScript
168
+ ? {
169
+ syntax: 'typescript',
170
+ tsx: hasJsx,
171
+ }
172
+ : {
173
+ syntax: 'ecmascript',
174
+ jsx: hasJsx,
175
+ },
176
+ transform: {
177
+ react: {
178
+ development: true,
179
+ refresh: true, // Built-in React Refresh support in SWC
180
+ runtime: 'automatic',
181
+ },
182
+ },
183
+ },
184
+ sourceMaps: 'inline',
185
+ });
186
+ if (!result?.code) {
187
+ return undefined;
188
+ }
189
+ return {
190
+ contents: result.code,
191
+ loader: 'js', // SWC transforms JSX to JS
192
+ };
193
+ });
194
+ },
195
+ };
196
+ export async function buildExtensionCommands({ extensionPath, format = 'cjs', target, hotReload = false, }) {
151
197
  const resolvedPath = path.resolve(extensionPath);
152
198
  const bundleDir = path.join(resolvedPath, '.termcast-bundle');
153
199
  // Ensure bundle directory exists
@@ -166,13 +212,17 @@ export async function buildExtensionCommands({ extensionPath, format = 'cjs', ta
166
212
  throw new Error('No command files found to build');
167
213
  }
168
214
  logger.log(`Building ${entrypoints.length} commands...`);
215
+ const plugins = [aliasPlugin, swiftLoaderPlugin];
216
+ if (hotReload) {
217
+ plugins.push(reactRefreshPlugin);
218
+ }
169
219
  const result = await Bun.build({
170
220
  entrypoints,
171
221
  outdir: bundleDir,
172
222
  target: target || (format === 'cjs' ? 'node' : 'bun'),
173
223
  format,
174
224
  // external: [],
175
- plugins: [aliasPlugin, swiftLoaderPlugin],
225
+ plugins,
176
226
  naming: '[name].js',
177
227
  throw: false,
178
228
  });
package/dist/build.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"build.js","sourceRoot":"","sources":["../src/build.tsx"],"names":[],"mappings":"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"}
package/dist/cli.d.ts CHANGED
@@ -1,3 +1,4 @@
1
1
  #!/usr/bin/env bun
2
+ import './extensions/react-refresh-init';
2
3
  import './globals';
3
4
  //# sourceMappingURL=cli.d.ts.map
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AAWA,OAAO,WAAW,CAAA"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.tsx"],"names":[],"mappings":";AAIA,OAAO,iCAAiC,CAAA;AAWxC,OAAO,WAAW,CAAA"}