@pstdio/ui 0.16.0 → 0.18.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 (210) hide show
  1. package/dist/{MermaidComponent-BCMQqPqu.js → MermaidComponent-BPiVFNYK.js} +2 -2
  2. package/dist/{MermaidComponent-BCMQqPqu.js.map → MermaidComponent-BPiVFNYK.js.map} +1 -1
  3. package/dist/chat-ui.js +1618 -1102
  4. package/dist/chat-ui.js.map +1 -1
  5. package/dist/{checkbox-D5AzFRlb.js → checkbox-B2zYVemL.js} +28 -28
  6. package/dist/checkbox-B2zYVemL.js.map +1 -0
  7. package/dist/components/chat-ui/components/chat-input-actions.d.ts +1 -0
  8. package/dist/components/chat-ui/components/chat-input.d.ts +8 -2
  9. package/dist/components/chat-ui/components/chat-panel.d.ts +11 -5
  10. package/dist/components/chat-ui/components/composer-constants.d.ts +1 -0
  11. package/dist/components/chat-ui/components/conversation-browse.d.ts +22 -0
  12. package/dist/components/chat-ui/components/message-types.d.ts +14 -0
  13. package/dist/components/chat-ui/components/queued-follow-up-list-state.d.ts +4 -0
  14. package/dist/components/chat-ui/components/queued-follow-up-list.d.ts +11 -0
  15. package/dist/components/chat-ui/components/timeline.d.ts +5 -0
  16. package/dist/components/chat-ui/components/working-indicator.d.ts +9 -0
  17. package/dist/components/chat-ui/components/workspace-hub.d.ts +8 -1
  18. package/dist/components/chat-ui/index.d.ts +4 -2
  19. package/dist/components/chat-ui/tool-rendering/build-timeline.d.ts +2 -2
  20. package/dist/components/chat-ui/tool-rendering/question-prompt.d.ts +9 -0
  21. package/dist/components/data-table/build-columns.d.ts +13 -2
  22. package/dist/components/data-table/categorical-color-cell.d.ts +8 -0
  23. package/dist/components/data-table/color-cell-style.d.ts +13 -0
  24. package/dist/components/data-table/color-scale-cell.d.ts +7 -0
  25. package/dist/components/data-table/data-table-column-menu.d.ts +15 -0
  26. package/dist/components/data-table/data-table-header.d.ts +10 -0
  27. package/dist/components/data-table/data-table-stat-chart.d.ts +21 -0
  28. package/dist/components/data-table/data-table-state.d.ts +27 -0
  29. package/dist/components/data-table/data-table-stats-row.d.ts +11 -0
  30. package/dist/components/data-table/data-table-stats.d.ts +19 -0
  31. package/dist/components/data-table/data-table-table-parts.d.ts +21 -0
  32. package/dist/components/data-table/data-table.story-descriptions.d.ts +6 -0
  33. package/dist/components/data-table/data-table.story-fixtures.d.ts +6 -0
  34. package/dist/components/data-table/editable-cells-story.d.ts +9 -0
  35. package/dist/components/data-table/friendly-json-display.d.ts +31 -0
  36. package/dist/components/data-table/index.d.ts +3 -1
  37. package/dist/components/data-table/json-cell.d.ts +6 -0
  38. package/dist/components/data-table/pagination-footer.d.ts +4 -1
  39. package/dist/components/data-table/selection-toolbar.d.ts +3 -1
  40. package/dist/components/data-table/types.d.ts +72 -0
  41. package/dist/components/diff-viewer/code-editor.d.ts +2 -0
  42. package/dist/components/diff-viewer/index.d.ts +1 -1
  43. package/dist/components/diff-viewer/monaco-browser.d.ts +1 -0
  44. package/dist/components/{data-renderer → kanban-renderer}/display-menu.d.ts +4 -4
  45. package/dist/components/{data-renderer → kanban-renderer}/filter-menu.d.ts +3 -3
  46. package/dist/components/kanban-renderer/index.d.ts +19 -0
  47. package/dist/components/kanban-renderer/kanban-renderer-attribute-badge.d.ts +7 -0
  48. package/dist/components/{data-renderer/data-renderer-board-column-header.d.ts → kanban-renderer/kanban-renderer-board-column-header.d.ts} +2 -2
  49. package/dist/components/{data-renderer/data-renderer-board-group-section.d.ts → kanban-renderer/kanban-renderer-board-group-section.d.ts} +2 -2
  50. package/dist/components/{data-renderer/data-renderer-board-move.d.ts → kanban-renderer/kanban-renderer-board-move.d.ts} +3 -3
  51. package/dist/components/{data-renderer/data-renderer-board.d.ts → kanban-renderer/kanban-renderer-board.d.ts} +15 -14
  52. package/dist/components/{data-renderer/data-renderer-card.d.ts → kanban-renderer/kanban-renderer-card.d.ts} +4 -3
  53. package/dist/components/{data-renderer/data-renderer-content.d.ts → kanban-renderer/kanban-renderer-content.d.ts} +8 -8
  54. package/dist/components/kanban-renderer/kanban-renderer-create-dialog.d.ts +12 -0
  55. package/dist/components/kanban-renderer/kanban-renderer-create-field.d.ts +10 -0
  56. package/dist/components/kanban-renderer/kanban-renderer-grouping.d.ts +23 -0
  57. package/dist/components/{data-renderer/data-renderer-helpers.d.ts → kanban-renderer/kanban-renderer-helpers.d.ts} +15 -15
  58. package/dist/components/kanban-renderer/kanban-renderer-list-items.d.ts +25 -0
  59. package/dist/components/kanban-renderer/kanban-renderer-list.d.ts +43 -0
  60. package/dist/components/{data-renderer/data-renderer-story-fixtures.d.ts → kanban-renderer/kanban-renderer-story-fixtures.d.ts} +3 -2
  61. package/dist/components/kanban-renderer/kanban-renderer-toolbar.d.ts +15 -0
  62. package/dist/components/kanban-renderer/kanban-renderer-view-bar.d.ts +14 -0
  63. package/dist/components/kanban-renderer/kanban-renderer-views.d.ts +12 -0
  64. package/dist/components/{data-renderer/data-renderer.d.ts → kanban-renderer/kanban-renderer.d.ts} +11 -8
  65. package/dist/components/{data-renderer → kanban-renderer}/types.d.ts +51 -8
  66. package/dist/components/kanban-renderer/use-kanban-renderer-store.d.ts +78 -0
  67. package/dist/components/layout/index.d.ts +1 -0
  68. package/dist/components/layout/panel-header.constants.d.ts +2 -0
  69. package/dist/components/layout/resizable-split-layout.d.ts +3 -2
  70. package/dist/components/layout/resizable-split-layout.geometry.d.ts +56 -0
  71. package/dist/components/layout/resizable-split-layout.handle.d.ts +6 -2
  72. package/dist/components/layout/resizable-split-layout.panels.d.ts +25 -0
  73. package/dist/components/list-row/list-row-actions.d.ts +1 -0
  74. package/dist/components/list-row/list-row-content.d.ts +7 -0
  75. package/dist/components/list-row/list-row.types.d.ts +4 -1
  76. package/dist/components/overlays/attached-menu.d.ts +6 -0
  77. package/dist/components/overlays/attachment-chip.d.ts +13 -0
  78. package/dist/components/overlays/index.d.ts +6 -2
  79. package/dist/components/overlays/resource-context-menu.d.ts +13 -1
  80. package/dist/components/overlays/searchable-menu-input.d.ts +9 -0
  81. package/dist/components/param-editor/index.d.ts +6 -2
  82. package/dist/components/param-editor/inputs/action-input.d.ts +1 -0
  83. package/dist/components/param-editor/inputs/boolean-input.d.ts +13 -0
  84. package/dist/components/param-editor/inputs/color-input.d.ts +1 -0
  85. package/dist/components/param-editor/inputs/date-input.d.ts +1 -0
  86. package/dist/components/param-editor/inputs/file-upload-input.d.ts +15 -0
  87. package/dist/components/param-editor/inputs/file-upload-value.d.ts +7 -0
  88. package/dist/components/param-editor/inputs/horizontal-text-input.d.ts +1 -0
  89. package/dist/components/param-editor/inputs/markdown-input.d.ts +13 -0
  90. package/dist/components/param-editor/inputs/number-input.d.ts +1 -0
  91. package/dist/components/param-editor/inputs/range-input.d.ts +1 -0
  92. package/dist/components/param-editor/inputs/resource-input.d.ts +2 -0
  93. package/dist/components/param-editor/inputs/segmented-input.d.ts +1 -0
  94. package/dist/components/param-editor/inputs/selection-input.d.ts +7 -6
  95. package/dist/components/param-editor/inputs/selection-menu.d.ts +33 -0
  96. package/dist/components/param-editor/inputs/text-input.d.ts +1 -0
  97. package/dist/components/param-editor/param-editor-advanced-field.d.ts +14 -0
  98. package/dist/components/param-editor/param-editor-control-fixtures.d.ts +24 -0
  99. package/dist/components/param-editor/param-editor-field.d.ts +2 -0
  100. package/dist/components/param-editor/param-editor-horizontal.d.ts +3 -2
  101. package/dist/components/param-editor/param-editor-label.d.ts +1 -0
  102. package/dist/components/param-editor/param-editor-presentation.d.ts +3 -0
  103. package/dist/components/param-editor/param-editor-read-only-field.d.ts +9 -0
  104. package/dist/components/param-editor/param-editor-section.d.ts +1 -0
  105. package/dist/components/param-editor/param-editor.d.ts +1 -0
  106. package/dist/components/param-editor/param-editor.types.d.ts +59 -18
  107. package/dist/components/param-editor/resolve-param-value.d.ts +2 -0
  108. package/dist/components/primitives/chip.d.ts +4 -0
  109. package/dist/components/primitives/index.d.ts +2 -0
  110. package/dist/components/primitives/resource-badge.d.ts +12 -10
  111. package/dist/components/rich-text/index.d.ts +1 -0
  112. package/dist/components/rich-text/lazy-markdown-editor.d.ts +2 -0
  113. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/ReferenceMenuPlugin.d.ts +2 -1
  114. package/dist/components/rich-text/prompt-input/plugins/ReferenceMenuPlugin/hooks/useContextLookup.d.ts +2 -1
  115. package/dist/components/rich-text/prompt-input/plugins/ReferencePlugin/ReferencePlugin.d.ts +2 -1
  116. package/dist/components/rich-text/prompt-input/prompt-input.d.ts +3 -2
  117. package/dist/components/rich-text/types.d.ts +1 -1
  118. package/dist/components/rich-text/utils/inferResourceType.d.ts +1 -1
  119. package/dist/components/{sidebar/sidebar-footer.d.ts → sidenav/sidenav-footer.d.ts} +2 -2
  120. package/dist/components/{sidebar/sidebar-header.d.ts → sidenav/sidenav-header.d.ts} +2 -2
  121. package/dist/components/sidenav/sidenav.d.ts +2 -0
  122. package/dist/components/sidenav/sidenav.store.d.ts +49 -0
  123. package/dist/components/{sidebar/sidebar.types.d.ts → sidenav/sidenav.types.d.ts} +5 -5
  124. package/dist/components/tab-strip/tab-visibility-filter.d.ts +1 -0
  125. package/dist/components/terminal/terminal.d.ts +11 -0
  126. package/dist/components/tree-list/tree-list-visibility-filter.d.ts +0 -1
  127. package/dist/components/tree-list/tree-list.d.ts +1 -1
  128. package/dist/components/tree-list/tree-list.types.d.ts +4 -0
  129. package/dist/data-table.js +1321 -0
  130. package/dist/data-table.js.map +1 -0
  131. package/dist/diff.js +370 -366
  132. package/dist/diff.js.map +1 -1
  133. package/dist/font/css/prompt-studio-icons.css +690 -0
  134. package/dist/font/prompt-studio-icons.eot +0 -0
  135. package/dist/font/prompt-studio-icons.svg +1 -0
  136. package/dist/font/prompt-studio-icons.ttf +0 -0
  137. package/dist/font/prompt-studio-icons.woff +0 -0
  138. package/dist/font/prompt-studio-icons.woff2 +0 -0
  139. package/dist/index.d.ts +3 -3
  140. package/dist/index.js +1854 -3381
  141. package/dist/index.js.map +1 -1
  142. package/dist/kanban-renderer-toolbar-Db1mIWWd.js +1318 -0
  143. package/dist/kanban-renderer-toolbar-Db1mIWWd.js.map +1 -0
  144. package/dist/kanban-renderer.js +1101 -0
  145. package/dist/kanban-renderer.js.map +1 -0
  146. package/dist/lazy-markdown-editor-DwhqQ-NN.js +26 -0
  147. package/dist/lazy-markdown-editor-DwhqQ-NN.js.map +1 -0
  148. package/dist/list-row-BYWwcbGK.js +823 -0
  149. package/dist/list-row-BYWwcbGK.js.map +1 -0
  150. package/dist/markdown-DDd2ESoH.js +743 -0
  151. package/dist/markdown-DDd2ESoH.js.map +1 -0
  152. package/dist/markdown-editor-CYVkzt8t.js +741 -0
  153. package/dist/markdown-editor-CYVkzt8t.js.map +1 -0
  154. package/dist/monaco-browser-CO0NxK_Z.js +19 -0
  155. package/dist/monaco-browser-CO0NxK_Z.js.map +1 -0
  156. package/dist/param-editor-BCZOw5Gt.js +140 -0
  157. package/dist/param-editor-BCZOw5Gt.js.map +1 -0
  158. package/dist/param-editor-field-ZzZwgjZ_.js +2094 -0
  159. package/dist/param-editor-field-ZzZwgjZ_.js.map +1 -0
  160. package/dist/resource-badge-CuItchgL.js +98 -0
  161. package/dist/resource-badge-CuItchgL.js.map +1 -0
  162. package/dist/rich-message--eRzjWYK.js +730 -0
  163. package/dist/rich-message--eRzjWYK.js.map +1 -0
  164. package/dist/rich-text.js +114 -827
  165. package/dist/rich-text.js.map +1 -1
  166. package/dist/style.css +1 -1
  167. package/dist/terminal.js +197 -177
  168. package/dist/terminal.js.map +1 -1
  169. package/dist/theme/primitives/fonts.d.ts +3 -0
  170. package/dist/theme/primitives/sizes.d.ts +23 -0
  171. package/dist/theme/recipes/badge.d.ts +8 -0
  172. package/dist/theme/recipes/button.d.ts +6 -0
  173. package/dist/theme/recipes/color-picker.d.ts +18 -1
  174. package/dist/theme/recipes/switch.d.ts +17 -0
  175. package/dist/theme/recipes/tabs.d.ts +4 -4
  176. package/dist/theme/tokens/colors.d.ts +18 -24
  177. package/dist/{theme-CJBYBJaA.js → theme-poQlUgt0.js} +414 -240
  178. package/dist/theme-poQlUgt0.js.map +1 -0
  179. package/dist/theme.js +1 -1
  180. package/dist/tree-list-BAja2eXU.js +1033 -0
  181. package/dist/tree-list-BAja2eXU.js.map +1 -0
  182. package/package.json +11 -4
  183. package/dist/checkbox-D5AzFRlb.js.map +0 -1
  184. package/dist/components/data-renderer/card-interaction-guard.d.ts +0 -2
  185. package/dist/components/data-renderer/data-renderer-attribute-badge.d.ts +0 -7
  186. package/dist/components/data-renderer/data-renderer-grouping.d.ts +0 -23
  187. package/dist/components/data-renderer/data-renderer-list.d.ts +0 -39
  188. package/dist/components/data-renderer/data-renderer-toolbar.d.ts +0 -12
  189. package/dist/components/data-renderer/index.d.ts +0 -18
  190. package/dist/components/data-renderer/use-data-renderer-store.d.ts +0 -59
  191. package/dist/components/param-editor/inputs/file-accept.d.ts +0 -22
  192. package/dist/components/param-editor/inputs/file-drop-input.d.ts +0 -14
  193. package/dist/components/sidebar/sidebar.d.ts +0 -2
  194. package/dist/components/sidebar/sidebar.store.d.ts +0 -49
  195. package/dist/data-renderer.js +0 -1669
  196. package/dist/data-renderer.js.map +0 -1
  197. package/dist/list-row-mi3Hn-Um.js +0 -740
  198. package/dist/list-row-mi3Hn-Um.js.map +0 -1
  199. package/dist/resource-badge-qCWHP-wQ.js +0 -99
  200. package/dist/resource-badge-qCWHP-wQ.js.map +0 -1
  201. package/dist/rich-message-DBf_5YlW.js +0 -1450
  202. package/dist/rich-message-DBf_5YlW.js.map +0 -1
  203. package/dist/theme-CJBYBJaA.js.map +0 -1
  204. package/dist/tree-list-CcuZMLS5.js +0 -930
  205. package/dist/tree-list-CcuZMLS5.js.map +0 -1
  206. package/dist/workspace-badge-Fuo-1zPj.js +0 -314
  207. package/dist/workspace-badge-Fuo-1zPj.js.map +0 -1
  208. /package/dist/components/{data-renderer/data-renderer-badge-helpers.d.ts → kanban-renderer/kanban-renderer-badge-helpers.d.ts} +0 -0
  209. /package/dist/components/{data-renderer/data-renderer-enum-helpers.d.ts → kanban-renderer/kanban-renderer-enum-helpers.d.ts} +0 -0
  210. /package/dist/components/{data-renderer → kanban-renderer}/use-resolved-attributes.d.ts +0 -0
package/dist/terminal.js CHANGED
@@ -1,106 +1,106 @@
1
- import { jsx as F } from "react/jsx-runtime";
2
- import { FitAddon as C } from "@xterm/addon-fit";
3
- import { Terminal as U } from "@xterm/xterm";
1
+ import { jsx as B } from "react/jsx-runtime";
2
+ import { FitAddon as K } from "@xterm/addon-fit";
3
+ import { Terminal as W } from "@xterm/xterm";
4
4
  import "@xterm/xterm/css/xterm.css";
5
- import { useState as L, useEffect as v, useRef as T } from "react";
6
- import { c as M } from "react/compiler-runtime";
7
- const N = (e, n, t = {}) => {
5
+ import { useState as q, useEffect as v, useRef as T } from "react";
6
+ import { c as j } from "react/compiler-runtime";
7
+ const G = (e, n, r = {}) => {
8
8
  const o = [];
9
- return o.push(n.onData((i) => e.write(i))), o.push(e.onInput((i) => {
10
- n.write(i), t.onInput?.(i);
9
+ return o.push(n.onData((t) => e.write(t))), o.push(e.onInput((t) => {
10
+ n.write(t), r.onInput?.(t);
11
11
  })), o.push(e.onResize(({
12
- cols: i,
13
- rows: a
12
+ cols: t,
13
+ rows: s
14
14
  }) => {
15
- n.resize(i, a);
16
- })), t.onExit && o.push(n.onExit(t.onExit)), t.onError && o.push(n.onError(t.onError)), () => {
15
+ n.resize(t, s);
16
+ })), r.onExit && o.push(n.onExit(r.onExit)), r.onError && o.push(n.onError(r.onError)), () => {
17
17
  for (; o.length > 0; ) {
18
- const i = o.pop();
18
+ const t = o.pop();
19
19
  try {
20
- i?.();
20
+ t?.();
21
21
  } catch {
22
22
  }
23
23
  }
24
24
  };
25
- }, q = new TextEncoder(), K = (e) => typeof e == "string" ? q.encode(e) : e, W = (e) => e > 0 ? new Promise((n) => setTimeout(n, e)) : Promise.resolve(), j = (e) => [{
25
+ }, J = new TextEncoder(), P = (e) => typeof e == "string" ? J.encode(e) : e, Y = (e) => e > 0 ? new Promise((n) => setTimeout(n, e)) : Promise.resolve(), $ = (e) => [{
26
26
  data: e.replace(/\r/g, `\r
27
27
  `)
28
- }], G = (e, n) => {
29
- n.data !== void 0 && e.emitData(K(n.data)), n.error !== void 0 && e.emitError({
28
+ }], Z = (e, n) => {
29
+ n.data !== void 0 && e.emitData(P(n.data)), n.error !== void 0 && e.emitError({
30
30
  message: n.error
31
31
  }), n.exit !== void 0 && e.emitExit({
32
32
  code: n.exit.code,
33
33
  signal: n.exit.signal ?? null
34
34
  });
35
- }, O = async (e, n) => {
36
- for (const t of n) {
37
- if (e.isExited() || (await W(t.delayMs ?? 0), e.isExited())) return;
38
- G(e, t);
35
+ }, C = async (e, n) => {
36
+ for (const r of n) {
37
+ if (e.isExited() || (await Y(r.delayMs ?? 0), e.isExited())) return;
38
+ Z(e, r);
39
39
  }
40
- }, H = (e, n) => {
41
- const t = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), i = /* @__PURE__ */ new Set();
42
- let a = !1, m = !1;
43
- const u = {
44
- isExited: () => a,
45
- emitData(r) {
46
- for (const s of t) s(r);
40
+ }, Q = (e, n) => {
41
+ const r = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), t = /* @__PURE__ */ new Set();
42
+ let s = !1, m = !1;
43
+ const l = {
44
+ isExited: () => s,
45
+ emitData(i) {
46
+ for (const a of r) a(i);
47
47
  },
48
- emitExit(r) {
49
- if (!a) {
50
- a = !0;
51
- for (const s of o) s(r);
48
+ emitExit(i) {
49
+ if (!s) {
50
+ s = !0;
51
+ for (const a of o) a(i);
52
52
  }
53
53
  },
54
- emitError(r) {
55
- for (const s of i) s(r);
54
+ emitError(i) {
55
+ for (const a of t) a(i);
56
56
  }
57
57
  };
58
58
  return {
59
59
  session: {
60
60
  id: crypto.randomUUID(),
61
- write(r) {
62
- if (a) return;
63
- const s = typeof r == "string" ? r : new TextDecoder().decode(r), d = n(s);
64
- d && O(u, d);
61
+ write(i) {
62
+ if (s) return;
63
+ const a = typeof i == "string" ? i : new TextDecoder().decode(i), d = n(a);
64
+ d && C(l, d);
65
65
  },
66
- resize(r, s) {
66
+ resize(i, a) {
67
67
  e.onResize?.({
68
- cols: r,
69
- rows: s
68
+ cols: i,
69
+ rows: a
70
70
  });
71
71
  },
72
- kill(r) {
73
- a || (e.onKill?.(r), u.emitExit({
72
+ kill(i) {
73
+ s || (e.onKill?.(i), l.emitExit({
74
74
  code: null,
75
- signal: r ?? null
75
+ signal: i ?? null
76
76
  }));
77
77
  },
78
- onData(r) {
79
- return t.add(r), !m && e.initial && (m = !0, O(u, e.initial)), () => t.delete(r);
78
+ onData(i) {
79
+ return r.add(i), !m && e.initial && (m = !0, C(l, e.initial)), () => r.delete(i);
80
80
  },
81
- onExit(r) {
82
- return o.add(r), () => o.delete(r);
81
+ onExit(i) {
82
+ return o.add(i), () => o.delete(i);
83
83
  },
84
- onError(r) {
85
- return i.add(r), () => i.delete(r);
84
+ onError(i) {
85
+ return t.add(i), () => t.delete(i);
86
86
  }
87
87
  }
88
88
  };
89
- }, de = (e = {}) => {
90
- const n = e.onInput ?? j;
89
+ }, we = (e = {}) => {
90
+ const n = e.onInput ?? $;
91
91
  return {
92
- async openSession(t) {
92
+ async openSession(r) {
93
93
  const {
94
94
  session: o
95
- } = H(e, n);
95
+ } = Q(e, n);
96
96
  return o;
97
97
  }
98
98
  };
99
- }, _ = {
99
+ }, L = {
100
100
  cursorAccent: "#000000",
101
101
  selectionForeground: void 0
102
- }, J = {
103
- ..._,
102
+ }, V = {
103
+ ...L,
104
104
  background: "#f4f4f5",
105
105
  foreground: "#171717",
106
106
  cursor: "#171717",
@@ -121,8 +121,8 @@ const N = (e, n, t = {}) => {
121
121
  brightMagenta: "#d946ef",
122
122
  brightCyan: "#06b6d4",
123
123
  brightWhite: "#fafafa"
124
- }, P = {
125
- ..._,
124
+ }, X = {
125
+ ...L,
126
126
  background: "#0a0a0a",
127
127
  foreground: "#fafafa",
128
128
  cursor: "#fafafa",
@@ -143,36 +143,36 @@ const N = (e, n, t = {}) => {
143
143
  brightMagenta: "#f0abfc",
144
144
  brightCyan: "#67e8f9",
145
145
  brightWhite: "#fafafa"
146
- }, A = {
147
- light: J,
148
- dark: P
149
- }, Y = (e) => e ? typeof e == "string" ? A[e] : e : A.dark, $ = (e) => JSON.stringify({
146
+ }, U = {
147
+ light: V,
148
+ dark: X
149
+ }, ee = (e) => e ? typeof e == "string" ? U[e] : e : U.dark, ne = (e) => JSON.stringify({
150
150
  command: e.command,
151
151
  cwd: e.cwd,
152
- env: e.env ? Object.fromEntries(Object.entries(e.env).sort(([n], [t]) => n.localeCompare(t))) : void 0,
152
+ env: e.env ? Object.fromEntries(Object.entries(e.env).sort(([n], [r]) => n.localeCompare(r))) : void 0,
153
153
  cols: e.cols,
154
154
  rows: e.rows
155
- }), Z = (e) => JSON.parse(e), Q = (e) => {
156
- const n = M(8), {
157
- bridge: t,
155
+ }), te = (e) => JSON.parse(e), re = (e) => {
156
+ const n = j(8), {
157
+ bridge: r,
158
158
  request: o,
159
- killOnUnmount: i
160
- } = e, a = i === void 0 ? !0 : i;
159
+ killOnUnmount: t
160
+ } = e, s = t === void 0 ? !0 : t;
161
161
  let m;
162
- n[0] !== o ? (m = $(o), n[0] = o, n[1] = m) : m = n[1];
163
- const u = m;
164
- let h;
165
- n[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (h = {
162
+ n[0] !== o ? (m = ne(o), n[0] = o, n[1] = m) : m = n[1];
163
+ const l = m;
164
+ let S;
165
+ n[2] === /* @__PURE__ */ Symbol.for("react.memo_cache_sentinel") ? (S = {
166
166
  session: null,
167
167
  status: "idle",
168
168
  exit: null,
169
169
  error: null
170
- }, n[2] = h) : h = n[2];
171
- const [r, s] = L(h);
172
- let d, g;
173
- return n[3] !== t || n[4] !== a || n[5] !== u ? (d = () => {
174
- if (!t) {
175
- s({
170
+ }, n[2] = S) : S = n[2];
171
+ const [i, a] = q(S);
172
+ let d, x;
173
+ return n[3] !== r || n[4] !== s || n[5] !== l ? (d = () => {
174
+ if (!r) {
175
+ a({
176
176
  session: null,
177
177
  status: "idle",
178
178
  exit: null,
@@ -180,160 +180,180 @@ const N = (e, n, t = {}) => {
180
180
  });
181
181
  return;
182
182
  }
183
- let p = !1, S = null, b = "opening";
184
- const w = [];
185
- s({
183
+ let p = !1, g = null, h = "opening";
184
+ const f = [];
185
+ a({
186
186
  session: null,
187
187
  status: "opening",
188
188
  exit: null,
189
189
  error: null
190
190
  });
191
- const x = Z(u);
192
- return t.openSession(x).then((l) => {
191
+ const A = te(l);
192
+ return r.openSession(A).then((c) => {
193
193
  if (p) {
194
- l.kill();
194
+ c.kill();
195
195
  return;
196
196
  }
197
- S = l, w.push(l.onExit((c) => {
198
- b = "exited", s((f) => ({
199
- ...f,
197
+ g = c, f.push(c.onExit((b) => {
198
+ h = "exited", a((E) => ({
199
+ ...E,
200
200
  status: "exited",
201
- exit: c
201
+ exit: b
202
202
  }));
203
- }), l.onError((c) => {
204
- b = "error", s((f) => ({
205
- ...f,
203
+ }), c.onError((b) => {
204
+ h = "error", a((E) => ({
205
+ ...E,
206
206
  status: "error",
207
- error: c
207
+ error: b
208
208
  }));
209
- })), b = "open", s({
210
- session: l,
209
+ })), h = "open", a({
210
+ session: c,
211
211
  status: "open",
212
212
  exit: null,
213
213
  error: null
214
214
  });
215
- }).catch((l) => {
215
+ }).catch((c) => {
216
216
  if (p)
217
217
  return;
218
- const c = l instanceof Error ? l.message : String(l);
219
- b = "error", s({
218
+ const b = c instanceof Error ? c.message : String(c);
219
+ h = "error", a({
220
220
  session: null,
221
221
  status: "error",
222
222
  exit: null,
223
223
  error: {
224
- message: c
224
+ message: b
225
225
  }
226
226
  });
227
227
  }), () => {
228
- for (p = !0; w.length > 0; )
229
- w.pop()?.();
230
- a && S && b !== "exited" && S.kill();
228
+ for (p = !0; f.length > 0; )
229
+ f.pop()?.();
230
+ s && g && h !== "exited" && g.kill();
231
231
  };
232
- }, g = [t, u, a], n[3] = t, n[4] = a, n[5] = u, n[6] = d, n[7] = g) : (d = n[6], g = n[7]), v(d, g), r;
233
- }, V = '"JetBrains Mono", "Fira Code", Menlo, Consolas, monospace', X = 13, z = 80, D = 24, ee = (e) => ({
232
+ }, x = [r, l, s], n[3] = r, n[4] = s, n[5] = l, n[6] = d, n[7] = x) : (d = n[6], x = n[7]), v(d, x), i;
233
+ }, oe = '"JetBrains Mono", "Fira Code", Menlo, Consolas, monospace', ie = 13, M = 80, N = 24, se = (e) => ({
234
234
  ...e,
235
- cols: e?.cols ?? z,
236
- rows: e?.rows ?? D
237
- }), ne = (e) => ({
238
- write(n) {
239
- e.write(n);
240
- },
241
- onInput(n) {
242
- const t = e.onData(n);
243
- return () => t.dispose();
244
- },
245
- onResize(n) {
246
- const t = e.onResize(n);
247
- return () => t.dispose();
248
- }
249
- }), k = (e) => {
235
+ cols: e?.cols ?? M,
236
+ rows: e?.rows ?? N
237
+ }), ae = (e) => {
238
+ const n = /* @__PURE__ */ new Set(), r = [], o = e.onData((t) => {
239
+ if (n.size === 0) {
240
+ r.push(t);
241
+ return;
242
+ }
243
+ for (const s of n) s(t);
244
+ });
245
+ return {
246
+ write(t) {
247
+ e.write(t);
248
+ },
249
+ onInput(t) {
250
+ for (n.add(t); r.length > 0; ) t(r.shift());
251
+ return () => n.delete(t);
252
+ },
253
+ onResize(t) {
254
+ const s = e.onResize(t);
255
+ return () => s.dispose();
256
+ },
257
+ dispose() {
258
+ o.dispose(), n.clear(), r.length = 0;
259
+ }
260
+ };
261
+ }, O = (e) => {
250
262
  try {
251
263
  e?.fit();
252
264
  } catch {
253
265
  }
254
- }, te = (e, n) => {
266
+ }, ce = (e, n) => {
255
267
  n.resize(e.cols, e.rows);
256
- }, re = (e, n, t, o) => {
257
- const i = N(n, t, {
268
+ }, le = (e, n, r, o) => {
269
+ const t = G(n, r, {
258
270
  onExit: o.onSessionExit
259
271
  });
260
- return te(e, t), o.onSessionOpen?.(t.id), i;
261
- }, oe = (e, n, t, o) => re(e, n, t, {
262
- onSessionOpen: (i) => o.onSessionOpen.current?.(i),
263
- onSessionExit: (i) => o.onSessionExit.current?.(i)
264
- }), fe = (e) => {
272
+ return ce(e, r), o.onSessionOpen?.(r.id), t;
273
+ }, ue = (e, n, r, o) => le(e, n, r, {
274
+ onSessionOpen: (t) => o.onSessionOpen.current?.(t),
275
+ onSessionExit: (t) => o.onSessionExit.current?.(t)
276
+ }), be = (e) => {
265
277
  const {
266
278
  bridge: n,
267
- request: t,
279
+ request: r,
268
280
  theme: o,
269
- fontFamily: i = V,
270
- fontSize: a = X,
281
+ fontFamily: t = oe,
282
+ fontSize: s = ie,
271
283
  killOnUnmount: m = !0,
272
- className: u,
273
- style: h,
274
- onSessionOpen: r,
275
- onSessionExit: s
276
- } = e, d = T(null), g = T(null), p = T(null), S = T(null), b = T(r), w = T(s);
277
- b.current = r, w.current = s, S.current || (S.current = ee(t));
278
- const x = Y(o);
284
+ autoFocus: l = !0,
285
+ className: S,
286
+ style: i,
287
+ onSessionOpen: a,
288
+ onSessionExit: d
289
+ } = e, x = T(null), p = T(null), g = T(null), h = T(null), [f, A] = q(!1), c = T(null), b = T(a), E = T(d);
290
+ b.current = a, E.current = d, c.current || (c.current = se(r));
291
+ const F = ee(o);
279
292
  v(() => {
280
- const c = d.current;
281
- if (!c) return;
282
- const f = new U({
283
- cols: z,
284
- rows: D,
285
- cursorBlink: !0,
286
- convertEol: !0,
287
- allowProposedApi: !0
288
- }), y = new C();
289
- f.loadAddon(y), f.open(c), g.current = f, p.current = y;
290
- const E = () => k(y);
291
- E();
292
- const I = window.requestAnimationFrame(E), B = window.setTimeout(E, 50), R = new ResizeObserver(E);
293
- return R.observe(c), () => {
294
- window.cancelAnimationFrame(I), window.clearTimeout(B), R.disconnect(), f.dispose(), g.current = null, p.current = null;
293
+ const u = x.current;
294
+ if (!u) return;
295
+ let w, y, k, D, _;
296
+ const H = window.requestAnimationFrame(() => {
297
+ w = new W({
298
+ cols: M,
299
+ rows: N,
300
+ cursorBlink: !0,
301
+ convertEol: !0,
302
+ allowProposedApi: !0
303
+ });
304
+ const I = new K();
305
+ w.loadAddon(I), w.open(u), y = ae(w), p.current = w, g.current = I, h.current = y;
306
+ const R = () => O(I);
307
+ R(), k = window.requestAnimationFrame(R), D = window.setTimeout(R, 50), _ = new ResizeObserver(R), _.observe(u), A(!0);
308
+ });
309
+ return () => {
310
+ window.cancelAnimationFrame(H), k !== void 0 && window.cancelAnimationFrame(k), D !== void 0 && window.clearTimeout(D), _?.disconnect(), y?.dispose(), w?.dispose(), p.current = null, g.current = null, h.current = null;
295
311
  };
296
312
  }, []), v(() => {
297
- const c = g.current;
298
- c && (c.options.theme = x, c.options.fontFamily = i, c.options.fontSize = a, k(p.current));
299
- }, [x, i, a]);
313
+ if (!f) return;
314
+ const u = p.current;
315
+ u && (u.options.theme = F, u.options.fontFamily = t, u.options.fontSize = s, O(g.current));
316
+ }, [f, F, t, s]);
300
317
  const {
301
- session: l
302
- } = Q({
318
+ session: z
319
+ } = re({
303
320
  bridge: n,
304
- request: S.current,
321
+ request: c.current,
305
322
  killOnUnmount: m
306
323
  });
307
324
  return v(() => {
308
- const c = g.current;
309
- if (!c || !l) return;
310
- k(p.current);
311
- const f = window.requestAnimationFrame(() => k(p.current)), y = ne(c), E = oe(c, y, l, {
325
+ if (!f) return;
326
+ const u = p.current, w = h.current;
327
+ if (!u || !w || !z) return;
328
+ O(g.current);
329
+ const y = window.requestAnimationFrame(() => O(g.current)), k = ue(u, w, z, {
312
330
  onSessionOpen: b,
313
- onSessionExit: w
331
+ onSessionExit: E
314
332
  });
315
- return c.focus(), () => {
316
- window.cancelAnimationFrame(f), E();
333
+ return () => {
334
+ window.cancelAnimationFrame(y), k();
317
335
  };
318
- }, [l]), /* @__PURE__ */ F("div", { className: u, style: {
336
+ }, [z, f]), v(() => {
337
+ f && l && p.current?.focus();
338
+ }, [l, f]), /* @__PURE__ */ B("div", { className: S, style: {
319
339
  position: "relative",
320
340
  width: "100%",
321
341
  height: "100%",
322
- backgroundColor: typeof x.background == "string" ? x.background : void 0,
323
- ...h
324
- }, children: /* @__PURE__ */ F("div", { ref: d, className: "pstdio-terminal", style: {
342
+ backgroundColor: typeof F.background == "string" ? F.background : void 0,
343
+ ...i
344
+ }, children: /* @__PURE__ */ B("div", { ref: x, className: "pstdio-terminal", style: {
325
345
  position: "absolute",
326
346
  inset: 0
327
347
  } }) });
328
348
  };
329
349
  export {
330
- fe as Terminal,
331
- N as bindSessionToSink,
332
- de as createScriptedTerminalBridge,
333
- P as darkTerminalTheme,
334
- J as lightTerminalTheme,
335
- Y as resolveTerminalTheme,
336
- A as terminalThemes,
337
- Q as useTerminalSession
350
+ be as Terminal,
351
+ G as bindSessionToSink,
352
+ we as createScriptedTerminalBridge,
353
+ X as darkTerminalTheme,
354
+ V as lightTerminalTheme,
355
+ ee as resolveTerminalTheme,
356
+ U as terminalThemes,
357
+ re as useTerminalSession
338
358
  };
339
359
  //# sourceMappingURL=terminal.js.map