@mks2508/mks-ui 0.4.0 → 0.5.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.
- package/dist/index.css +129 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.d.ts +46 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.js +175 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.d.ts +21 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.styles.js +31 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts +56 -0
- package/dist/react-ui/blocks/Terminal/TerminalDisplay.types.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/chrome.d.ts +14 -0
- package/dist/react-ui/blocks/Terminal/chrome.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/chrome.js +6 -0
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts +5 -5
- package/dist/react-ui/blocks/Terminal/components/LogLineBadges.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/display.d.ts +20 -0
- package/dist/react-ui/blocks/Terminal/display.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/display.js +9 -0
- package/dist/react-ui/blocks/Terminal/index.d.ts +4 -0
- package/dist/react-ui/blocks/Terminal/index.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/index.js +4 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts +7 -6
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.d.ts.map +1 -1
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.js +51 -30
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts +35 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.d.ts.map +1 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.js +57 -0
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts +7 -2
- package/dist/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.d.ts.map +1 -1
- package/dist/react-ui/primitives/AutoHeight/index.d.ts +1 -1
- package/dist/react-ui/primitives/CountingNumber/index.d.ts +1 -1
- package/dist/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.js +2 -0
- package/dist/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.js +2 -0
- package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.js +2 -0
- package/dist/react-ui/primitives/waapi/Morph/useMorph.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Morph/useMorph.js +2 -0
- package/dist/react-ui/primitives/waapi/Reorder/useReorder.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Reorder/useReorder.js +2 -0
- package/dist/react-ui/primitives/waapi/Reorder/useReorderPresence.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/Reorder/useReorderPresence.js +2 -0
- package/dist/react-ui/primitives/waapi/SlidingNumber/SlidingNumber.styles.d.ts +1 -1
- package/dist/react-ui/primitives/waapi/SlidingText/SlidingText.styles.d.ts +1 -1
- package/dist/react-ui/primitives/waapi/core/useAnimationOrchestrator.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/core/useAnimationOrchestrator.js +2 -0
- package/dist/react-ui/primitives/waapi/core/useElementRegistry.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/core/useElementRegistry.js +2 -0
- package/dist/react-ui/primitives/waapi/core/useFLIPAnimation.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/core/useFLIPAnimation.js +2 -0
- package/dist/react-ui/primitives/waapi/core/usePositionCapture.d.ts.map +1 -1
- package/dist/react-ui/primitives/waapi/core/usePositionCapture.js +2 -0
- package/dist/react-ui/ui/Accordion/Accordion.styles.d.ts +1 -1
- package/dist/react-ui/ui/Accordion/Accordion.types.d.ts +1 -1
- package/dist/react-ui/ui/AlertDialog/AlertDialog.styles.d.ts +1 -1
- package/dist/react-ui/ui/AlertDialog/AlertDialog.types.d.ts +1 -1
- package/dist/react-ui/ui/Badge/Badge.styles.d.ts +1 -1
- package/dist/react-ui/ui/Badge/Badge.types.d.ts +1 -1
- package/dist/react-ui/ui/Button/Button.styles.d.ts +1 -1
- package/dist/react-ui/ui/Button/Button.types.d.ts +1 -1
- package/dist/react-ui/ui/Card/Card.styles.d.ts +1 -1
- package/dist/react-ui/ui/Card/Card.types.d.ts +1 -1
- package/dist/react-ui/ui/Checkbox/Checkbox.styles.d.ts +1 -1
- package/dist/react-ui/ui/Checkbox/Checkbox.types.d.ts +1 -1
- package/dist/react-ui/ui/Combobox/Combobox.styles.d.ts +1 -1
- package/dist/react-ui/ui/Combobox/Combobox.types.d.ts +1 -1
- package/dist/react-ui/ui/CornerBracket/CornerBracket.styles.d.ts +1 -1
- package/dist/react-ui/ui/CornerBracket/CornerBracket.types.d.ts +1 -1
- package/dist/react-ui/ui/DataCard/DataCard.styles.d.ts +1 -1
- package/dist/react-ui/ui/DataCard/DataCard.types.d.ts +1 -1
- package/dist/react-ui/ui/DataCard/index.d.ts +1 -1
- package/dist/react-ui/ui/Dialog/Dialog.styles.d.ts +1 -1
- package/dist/react-ui/ui/Dialog/Dialog.types.d.ts +1 -1
- package/dist/react-ui/ui/DropdownMenu/DropdownMenu.styles.d.ts +1 -1
- package/dist/react-ui/ui/DropdownMenu/DropdownMenu.types.d.ts +1 -1
- package/dist/react-ui/ui/Field/Field.styles.d.ts +1 -1
- package/dist/react-ui/ui/Field/Field.types.d.ts +1 -1
- package/dist/react-ui/ui/Input/Input.styles.d.ts +1 -1
- package/dist/react-ui/ui/Input/Input.types.d.ts +1 -1
- package/dist/react-ui/ui/InputGroup/InputGroup.styles.d.ts +1 -1
- package/dist/react-ui/ui/InputGroup/InputGroup.types.d.ts +1 -1
- package/dist/react-ui/ui/InputGroup/index.d.ts.map +1 -1
- package/dist/react-ui/ui/InputGroup/index.js +2 -0
- package/dist/react-ui/ui/Label/Label.styles.d.ts +1 -1
- package/dist/react-ui/ui/Label/Label.types.d.ts +1 -1
- package/dist/react-ui/ui/Menu/Menu.styles.d.ts +1 -1
- package/dist/react-ui/ui/Menu/Menu.types.d.ts +2 -2
- package/dist/react-ui/ui/Popover/Popover.styles.d.ts +1 -1
- package/dist/react-ui/ui/Popover/Popover.types.d.ts +1 -1
- package/dist/react-ui/ui/Progress/Progress.styles.d.ts +1 -1
- package/dist/react-ui/ui/Progress/Progress.types.d.ts +2 -2
- package/dist/react-ui/ui/Select/Select.styles.d.ts +1 -1
- package/dist/react-ui/ui/Select/Select.types.d.ts +1 -1
- package/dist/react-ui/ui/Separator/Separator.styles.d.ts +1 -1
- package/dist/react-ui/ui/Separator/Separator.types.d.ts +1 -1
- package/dist/react-ui/ui/Switch/Switch.styles.d.ts +1 -1
- package/dist/react-ui/ui/Switch/Switch.types.d.ts +1 -1
- package/dist/react-ui/ui/Tabs/Tabs.styles.d.ts +1 -1
- package/dist/react-ui/ui/Tabs/Tabs.types.d.ts +3 -3
- package/dist/react-ui/ui/TextFlow/TextFlow.styles.d.ts +1 -1
- package/dist/react-ui/ui/Textarea/Textarea.styles.d.ts +1 -1
- package/dist/react-ui/ui/Textarea/Textarea.types.d.ts +1 -1
- package/dist/react-ui/ui/Tooltip/Tooltip.styles.d.ts +1 -1
- package/dist/react-ui/ui/Tooltip/Tooltip.types.d.ts +1 -1
- package/package.json +41 -34
- package/src/css.d.ts +6 -0
- package/src/react-ui/blocks/Terminal/TerminalDisplay.styles.ts +38 -0
- package/src/react-ui/blocks/Terminal/TerminalDisplay.tsx +254 -0
- package/src/react-ui/blocks/Terminal/TerminalDisplay.types.ts +73 -0
- package/src/react-ui/blocks/Terminal/chrome.ts +25 -0
- package/src/react-ui/blocks/Terminal/display.ts +46 -0
- package/src/react-ui/blocks/Terminal/index.ts +8 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.styles.ts +75 -0
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.tsx +69 -40
- package/src/react-ui/blocks/Terminal/panel/TerminalPanelChrome.types.ts +8 -2
- package/src/react-ui/primitives/waapi/Morph/techniques/useCSSGridMorph.ts +1 -0
- package/src/react-ui/primitives/waapi/Morph/techniques/useFLIPClipPath.ts +1 -0
- package/src/react-ui/primitives/waapi/Morph/techniques/useViewTransitions.ts +1 -0
- package/src/react-ui/primitives/waapi/Morph/useMorph.ts +1 -0
- package/src/react-ui/primitives/waapi/Reorder/useReorder.ts +1 -0
- package/src/react-ui/primitives/waapi/Reorder/useReorderPresence.ts +1 -0
- package/src/react-ui/primitives/waapi/core/useAnimationOrchestrator.ts +1 -0
- package/src/react-ui/primitives/waapi/core/useElementRegistry.ts +1 -0
- package/src/react-ui/primitives/waapi/core/useFLIPAnimation.ts +1 -0
- package/src/react-ui/primitives/waapi/core/usePositionCapture.ts +1 -0
- package/src/react-ui/ui/Accordion/index.tsx +3 -3
- package/src/react-ui/ui/InputGroup/index.tsx +2 -0
- /package/dist/react-ui/blocks/Terminal/panel/{terminal-filter-dropdown.module-Bovc57nm.css → terminal-filter-dropdown.module-CNVWCefU.css} +0 -0
- /package/dist/react-ui/blocks/Terminal/panel/{terminal-session-tabs.module-QyxHO7cN.css → terminal-session-tabs.module-cmyJ11jP.css} +0 -0
package/dist/index.css
ADDED
|
@@ -0,0 +1,129 @@
|
|
|
1
|
+
@import "tailwindcss";
|
|
2
|
+
@import "tw-animate-css";
|
|
3
|
+
@import "shadcn/tailwind.css";
|
|
4
|
+
@import "@fontsource-variable/geist-mono";
|
|
5
|
+
|
|
6
|
+
@custom-variant dark (&:is(.dark *));
|
|
7
|
+
|
|
8
|
+
:root {
|
|
9
|
+
--background: oklch(1 0 0);
|
|
10
|
+
--foreground: oklch(0.145 0 0);
|
|
11
|
+
--card: oklch(1 0 0);
|
|
12
|
+
--card-foreground: oklch(0.145 0 0);
|
|
13
|
+
--popover: oklch(1 0 0);
|
|
14
|
+
--popover-foreground: oklch(0.145 0 0);
|
|
15
|
+
--primary: oklch(0.577 0.245 27.325);
|
|
16
|
+
--primary-foreground: oklch(0.971 0.013 17.38);
|
|
17
|
+
--secondary: oklch(0.967 0.001 286.375);
|
|
18
|
+
--secondary-foreground: oklch(0.21 0.006 285.885);
|
|
19
|
+
--muted: oklch(0.97 0 0);
|
|
20
|
+
--muted-foreground: oklch(0.556 0 0);
|
|
21
|
+
--accent: oklch(0.97 0 0);
|
|
22
|
+
--accent-foreground: oklch(0.205 0 0);
|
|
23
|
+
--destructive: oklch(0.58 0.22 27);
|
|
24
|
+
--border: oklch(0.922 0 0);
|
|
25
|
+
--input: oklch(0.922 0 0);
|
|
26
|
+
--ring: oklch(0.708 0 0);
|
|
27
|
+
--chart-1: oklch(0.808 0.114 19.571);
|
|
28
|
+
--chart-2: oklch(0.637 0.237 25.331);
|
|
29
|
+
--chart-3: oklch(0.577 0.245 27.325);
|
|
30
|
+
--chart-4: oklch(0.505 0.213 27.518);
|
|
31
|
+
--chart-5: oklch(0.444 0.177 26.899);
|
|
32
|
+
--radius: 0.625rem;
|
|
33
|
+
--sidebar: oklch(0.985 0 0);
|
|
34
|
+
--sidebar-foreground: oklch(0.145 0 0);
|
|
35
|
+
--sidebar-primary: oklch(0.577 0.245 27.325);
|
|
36
|
+
--sidebar-primary-foreground: oklch(0.971 0.013 17.38);
|
|
37
|
+
--sidebar-accent: oklch(0.97 0 0);
|
|
38
|
+
--sidebar-accent-foreground: oklch(0.205 0 0);
|
|
39
|
+
--sidebar-border: oklch(0.922 0 0);
|
|
40
|
+
--sidebar-ring: oklch(0.708 0 0);
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.dark {
|
|
44
|
+
--background: oklch(0.145 0 0);
|
|
45
|
+
--foreground: oklch(0.985 0 0);
|
|
46
|
+
--card: oklch(0.205 0 0);
|
|
47
|
+
--card-foreground: oklch(0.985 0 0);
|
|
48
|
+
--popover: oklch(0.205 0 0);
|
|
49
|
+
--popover-foreground: oklch(0.985 0 0);
|
|
50
|
+
--primary: oklch(0.637 0.237 25.331);
|
|
51
|
+
--primary-foreground: oklch(0.971 0.013 17.38);
|
|
52
|
+
--secondary: oklch(0.274 0.006 286.033);
|
|
53
|
+
--secondary-foreground: oklch(0.985 0 0);
|
|
54
|
+
--muted: oklch(0.269 0 0);
|
|
55
|
+
--muted-foreground: oklch(0.708 0 0);
|
|
56
|
+
--accent: oklch(0.371 0 0);
|
|
57
|
+
--accent-foreground: oklch(0.985 0 0);
|
|
58
|
+
--destructive: oklch(0.704 0.191 22.216);
|
|
59
|
+
--border: oklch(1 0 0 / 10%);
|
|
60
|
+
--input: oklch(1 0 0 / 15%);
|
|
61
|
+
--ring: oklch(0.556 0 0);
|
|
62
|
+
--chart-1: oklch(0.808 0.114 19.571);
|
|
63
|
+
--chart-2: oklch(0.637 0.237 25.331);
|
|
64
|
+
--chart-3: oklch(0.577 0.245 27.325);
|
|
65
|
+
--chart-4: oklch(0.505 0.213 27.518);
|
|
66
|
+
--chart-5: oklch(0.444 0.177 26.899);
|
|
67
|
+
--sidebar: oklch(0.205 0 0);
|
|
68
|
+
--sidebar-foreground: oklch(0.985 0 0);
|
|
69
|
+
--sidebar-primary: oklch(0.637 0.237 25.331);
|
|
70
|
+
--sidebar-primary-foreground: oklch(0.971 0.013 17.38);
|
|
71
|
+
--sidebar-accent: oklch(0.269 0 0);
|
|
72
|
+
--sidebar-accent-foreground: oklch(0.985 0 0);
|
|
73
|
+
--sidebar-border: oklch(1 0 0 / 10%);
|
|
74
|
+
--sidebar-ring: oklch(0.556 0 0);
|
|
75
|
+
}
|
|
76
|
+
|
|
77
|
+
@theme inline {
|
|
78
|
+
--font-mono: 'Geist Mono Variable', monospace;
|
|
79
|
+
--color-sidebar-ring: var(--sidebar-ring);
|
|
80
|
+
--color-sidebar-border: var(--sidebar-border);
|
|
81
|
+
--color-sidebar-accent-foreground: var(--sidebar-accent-foreground);
|
|
82
|
+
--color-sidebar-accent: var(--sidebar-accent);
|
|
83
|
+
--color-sidebar-primary-foreground: var(--sidebar-primary-foreground);
|
|
84
|
+
--color-sidebar-primary: var(--sidebar-primary);
|
|
85
|
+
--color-sidebar-foreground: var(--sidebar-foreground);
|
|
86
|
+
--color-sidebar: var(--sidebar);
|
|
87
|
+
--color-chart-5: var(--chart-5);
|
|
88
|
+
--color-chart-4: var(--chart-4);
|
|
89
|
+
--color-chart-3: var(--chart-3);
|
|
90
|
+
--color-chart-2: var(--chart-2);
|
|
91
|
+
--color-chart-1: var(--chart-1);
|
|
92
|
+
--color-ring: var(--ring);
|
|
93
|
+
--color-input: var(--input);
|
|
94
|
+
--color-border: var(--border);
|
|
95
|
+
--color-destructive: var(--destructive);
|
|
96
|
+
--color-accent-foreground: var(--accent-foreground);
|
|
97
|
+
--color-accent: var(--accent);
|
|
98
|
+
--color-muted-foreground: var(--muted-foreground);
|
|
99
|
+
--color-muted: var(--muted);
|
|
100
|
+
--color-secondary-foreground: var(--secondary-foreground);
|
|
101
|
+
--color-secondary: var(--secondary);
|
|
102
|
+
--color-primary-foreground: var(--primary-foreground);
|
|
103
|
+
--color-primary: var(--primary);
|
|
104
|
+
--color-popover-foreground: var(--popover-foreground);
|
|
105
|
+
--color-popover: var(--popover);
|
|
106
|
+
--color-card-foreground: var(--card-foreground);
|
|
107
|
+
--color-card: var(--card);
|
|
108
|
+
--color-foreground: var(--foreground);
|
|
109
|
+
--color-background: var(--background);
|
|
110
|
+
--radius-sm: calc(var(--radius) - 4px);
|
|
111
|
+
--radius-md: calc(var(--radius) - 2px);
|
|
112
|
+
--radius-lg: var(--radius);
|
|
113
|
+
--radius-xl: calc(var(--radius) + 4px);
|
|
114
|
+
--radius-2xl: calc(var(--radius) + 8px);
|
|
115
|
+
--radius-3xl: calc(var(--radius) + 12px);
|
|
116
|
+
--radius-4xl: calc(var(--radius) + 16px);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@layer base {
|
|
120
|
+
* {
|
|
121
|
+
@apply border-border outline-ring/50;
|
|
122
|
+
}
|
|
123
|
+
body {
|
|
124
|
+
@apply font-sans bg-background text-foreground;
|
|
125
|
+
}
|
|
126
|
+
html {
|
|
127
|
+
@apply font-sans;
|
|
128
|
+
}
|
|
129
|
+
}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalDisplay — Readonly GPU-rendered terminal for ANSI content.
|
|
3
|
+
*
|
|
4
|
+
* Uses restty directly (not xterm) for GPU-accelerated rendering of
|
|
5
|
+
* ANSI-formatted text without PTY connection. Content is written via
|
|
6
|
+
* `restty.sendInput(data, "pty")` which feeds text to the WASM terminal
|
|
7
|
+
* engine for parsing and rendering.
|
|
8
|
+
*
|
|
9
|
+
* Optionally wrapped in TerminalPanelChrome glassmorphism shell.
|
|
10
|
+
*
|
|
11
|
+
* @module components/devenv/terminal/TerminalDisplay
|
|
12
|
+
*/
|
|
13
|
+
import type { ITerminalDisplayProps, ITerminalDisplayRef } from './TerminalDisplay.types';
|
|
14
|
+
/**
|
|
15
|
+
* TerminalDisplay — Readonly restty terminal for displaying ANSI content.
|
|
16
|
+
*
|
|
17
|
+
* @example
|
|
18
|
+
* ```tsx
|
|
19
|
+
* <TerminalDisplay
|
|
20
|
+
* content={"\x1b[31mError:\x1b[0m Something failed"}
|
|
21
|
+
* title="Error Output"
|
|
22
|
+
* variant="error"
|
|
23
|
+
* fontSize={12}
|
|
24
|
+
* />
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* @example
|
|
28
|
+
* ```tsx
|
|
29
|
+
* // Without chrome shell
|
|
30
|
+
* <TerminalDisplay
|
|
31
|
+
* content={ansiOutput}
|
|
32
|
+
* chrome={false}
|
|
33
|
+
* minHeight={100}
|
|
34
|
+
* />
|
|
35
|
+
* ```
|
|
36
|
+
*
|
|
37
|
+
* @example
|
|
38
|
+
* ```tsx
|
|
39
|
+
* // With imperative handle
|
|
40
|
+
* const ref = useRef<ITerminalDisplayRef>(null);
|
|
41
|
+
* ref.current?.write("Additional output\r\n");
|
|
42
|
+
* ref.current?.clear();
|
|
43
|
+
* ```
|
|
44
|
+
*/
|
|
45
|
+
export declare const TerminalDisplay: import("react").ForwardRefExoticComponent<ITerminalDisplayProps & import("react").RefAttributes<ITerminalDisplayRef>>;
|
|
46
|
+
//# sourceMappingURL=TerminalDisplay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalDisplay.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/TerminalDisplay.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAaH,OAAO,KAAK,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAM1F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA8BG;AACH,eAAO,MAAM,eAAe,uHA8L3B,CAAC"}
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
'use client';
|
|
2
|
+
|
|
3
|
+
import { cn } from "../../lib/utils.js";
|
|
4
|
+
import { TerminalPanelChrome } from "./panel/TerminalPanelChrome.js";
|
|
5
|
+
import { getSynthwaveGhosttyTheme, xtermThemeToGhostty } from "./Terminal.theme.restty.js";
|
|
6
|
+
import { terminalDisplayStyles, terminalDisplayVariants } from "./TerminalDisplay.styles.js";
|
|
7
|
+
import { forwardRef, useEffect, useImperativeHandle, useRef, useState } from "react";
|
|
8
|
+
import { jsx, jsxs } from "react/jsx-runtime";
|
|
9
|
+
|
|
10
|
+
//#region src/react-ui/blocks/Terminal/TerminalDisplay.tsx
|
|
11
|
+
/**
|
|
12
|
+
* TerminalDisplay — Readonly GPU-rendered terminal for ANSI content.
|
|
13
|
+
*
|
|
14
|
+
* Uses restty directly (not xterm) for GPU-accelerated rendering of
|
|
15
|
+
* ANSI-formatted text without PTY connection. Content is written via
|
|
16
|
+
* `restty.sendInput(data, "pty")` which feeds text to the WASM terminal
|
|
17
|
+
* engine for parsing and rendering.
|
|
18
|
+
*
|
|
19
|
+
* Optionally wrapped in TerminalPanelChrome glassmorphism shell.
|
|
20
|
+
*
|
|
21
|
+
* @module components/devenv/terminal/TerminalDisplay
|
|
22
|
+
*/
|
|
23
|
+
/**
|
|
24
|
+
* TerminalDisplay — Readonly restty terminal for displaying ANSI content.
|
|
25
|
+
*
|
|
26
|
+
* @example
|
|
27
|
+
* ```tsx
|
|
28
|
+
* <TerminalDisplay
|
|
29
|
+
* content={"\x1b[31mError:\x1b[0m Something failed"}
|
|
30
|
+
* title="Error Output"
|
|
31
|
+
* variant="error"
|
|
32
|
+
* fontSize={12}
|
|
33
|
+
* />
|
|
34
|
+
* ```
|
|
35
|
+
*
|
|
36
|
+
* @example
|
|
37
|
+
* ```tsx
|
|
38
|
+
* // Without chrome shell
|
|
39
|
+
* <TerminalDisplay
|
|
40
|
+
* content={ansiOutput}
|
|
41
|
+
* chrome={false}
|
|
42
|
+
* minHeight={100}
|
|
43
|
+
* />
|
|
44
|
+
* ```
|
|
45
|
+
*
|
|
46
|
+
* @example
|
|
47
|
+
* ```tsx
|
|
48
|
+
* // With imperative handle
|
|
49
|
+
* const ref = useRef<ITerminalDisplayRef>(null);
|
|
50
|
+
* ref.current?.write("Additional output\r\n");
|
|
51
|
+
* ref.current?.clear();
|
|
52
|
+
* ```
|
|
53
|
+
*/
|
|
54
|
+
const TerminalDisplay = forwardRef(({ content, title = "Output", variant = "default", chrome = true, fontSize = 13, minHeight = 200, theme, resttyThemeName, gpuRenderer = "auto", slots, className, emptyText, onReady }, ref) => {
|
|
55
|
+
const containerRef = useRef(null);
|
|
56
|
+
const resttyRef = useRef(null);
|
|
57
|
+
const [isReady, setIsReady] = useState(false);
|
|
58
|
+
const callbacksRef = useRef({ onReady });
|
|
59
|
+
callbacksRef.current = { onReady };
|
|
60
|
+
const contentRef = useRef(content);
|
|
61
|
+
contentRef.current = content;
|
|
62
|
+
/**
|
|
63
|
+
* Initialize restty on mount.
|
|
64
|
+
* Dynamic import for SSR safety and code-splitting.
|
|
65
|
+
*/
|
|
66
|
+
useEffect(() => {
|
|
67
|
+
if (!containerRef.current) return;
|
|
68
|
+
let destroyed = false;
|
|
69
|
+
const init = async () => {
|
|
70
|
+
const { Restty: ResttyClass, getBuiltinTheme } = await import("restty");
|
|
71
|
+
if (destroyed || !containerRef.current) return;
|
|
72
|
+
const restty = new ResttyClass({
|
|
73
|
+
root: containerRef.current,
|
|
74
|
+
appOptions: {
|
|
75
|
+
renderer: gpuRenderer,
|
|
76
|
+
fontSize,
|
|
77
|
+
autoResize: true
|
|
78
|
+
},
|
|
79
|
+
fontSources: [{
|
|
80
|
+
type: "local",
|
|
81
|
+
matchers: [
|
|
82
|
+
"jetbrains mono",
|
|
83
|
+
"fira code",
|
|
84
|
+
"sf mono",
|
|
85
|
+
"cascadia code",
|
|
86
|
+
"meslo"
|
|
87
|
+
]
|
|
88
|
+
}],
|
|
89
|
+
createInitialPane: true,
|
|
90
|
+
shortcuts: false,
|
|
91
|
+
defaultContextMenu: false
|
|
92
|
+
});
|
|
93
|
+
resttyRef.current = restty;
|
|
94
|
+
if (resttyThemeName) {
|
|
95
|
+
const builtinTheme = getBuiltinTheme(resttyThemeName);
|
|
96
|
+
if (builtinTheme) restty.applyTheme(builtinTheme);
|
|
97
|
+
} else if (theme) restty.applyTheme(xtermThemeToGhostty(theme));
|
|
98
|
+
else restty.applyTheme(getSynthwaveGhosttyTheme());
|
|
99
|
+
const waitForWasm = () => {
|
|
100
|
+
if (destroyed) return;
|
|
101
|
+
const panes = restty.panes();
|
|
102
|
+
if (panes && panes.length > 0) {
|
|
103
|
+
if (contentRef.current) restty.sendInput(contentRef.current, "pty");
|
|
104
|
+
setIsReady(true);
|
|
105
|
+
callbacksRef.current.onReady?.(restty);
|
|
106
|
+
} else requestAnimationFrame(waitForWasm);
|
|
107
|
+
};
|
|
108
|
+
requestAnimationFrame(waitForWasm);
|
|
109
|
+
};
|
|
110
|
+
init().catch(() => {});
|
|
111
|
+
return () => {
|
|
112
|
+
destroyed = true;
|
|
113
|
+
resttyRef.current?.destroy();
|
|
114
|
+
resttyRef.current = null;
|
|
115
|
+
setIsReady(false);
|
|
116
|
+
};
|
|
117
|
+
}, []);
|
|
118
|
+
/**
|
|
119
|
+
* Re-write content when it changes after initialization.
|
|
120
|
+
*/
|
|
121
|
+
useEffect(() => {
|
|
122
|
+
if (!isReady || !resttyRef.current) return;
|
|
123
|
+
resttyRef.current.clearScreen();
|
|
124
|
+
if (content) resttyRef.current.sendInput(content, "pty");
|
|
125
|
+
}, [content, isReady]);
|
|
126
|
+
/**
|
|
127
|
+
* Handle fontSize changes after initialization.
|
|
128
|
+
*/
|
|
129
|
+
useEffect(() => {
|
|
130
|
+
if (!isReady || !resttyRef.current) return;
|
|
131
|
+
resttyRef.current.setFontSize(fontSize);
|
|
132
|
+
}, [fontSize, isReady]);
|
|
133
|
+
/**
|
|
134
|
+
* Expose imperative handle.
|
|
135
|
+
*/
|
|
136
|
+
useImperativeHandle(ref, () => ({
|
|
137
|
+
getRestty: () => resttyRef.current,
|
|
138
|
+
clear: () => resttyRef.current?.clearScreen(),
|
|
139
|
+
write: (data) => resttyRef.current?.sendInput(data, "pty")
|
|
140
|
+
}));
|
|
141
|
+
/** Map variant to chrome variant */
|
|
142
|
+
const chromeVariant = variant === "error" ? "error" : "default";
|
|
143
|
+
const chromeSize = variant === "compact" ? "compact" : "default";
|
|
144
|
+
/** The terminal content area */
|
|
145
|
+
const terminalElement = /* @__PURE__ */ jsxs("div", {
|
|
146
|
+
className: cn(terminalDisplayVariants({ variant }), slots?.root, className),
|
|
147
|
+
style: { minHeight: `${minHeight}px` },
|
|
148
|
+
children: [!content && emptyText && /* @__PURE__ */ jsx("div", {
|
|
149
|
+
className: cn(terminalDisplayStyles.emptyState, slots?.emptyState),
|
|
150
|
+
style: { minHeight: `${minHeight}px` },
|
|
151
|
+
children: emptyText
|
|
152
|
+
}), /* @__PURE__ */ jsx("div", {
|
|
153
|
+
ref: containerRef,
|
|
154
|
+
className: cn(terminalDisplayStyles.terminal, slots?.terminal),
|
|
155
|
+
style: {
|
|
156
|
+
minHeight: `${minHeight}px`,
|
|
157
|
+
display: !content && emptyText ? "none" : void 0
|
|
158
|
+
}
|
|
159
|
+
})]
|
|
160
|
+
});
|
|
161
|
+
if (!chrome) return terminalElement;
|
|
162
|
+
return /* @__PURE__ */ jsx(TerminalPanelChrome, {
|
|
163
|
+
containerName: title,
|
|
164
|
+
isConnected: isReady,
|
|
165
|
+
variant: chromeVariant,
|
|
166
|
+
size: chromeSize,
|
|
167
|
+
slots: { root: slots?.chrome },
|
|
168
|
+
className,
|
|
169
|
+
children: terminalElement
|
|
170
|
+
});
|
|
171
|
+
});
|
|
172
|
+
TerminalDisplay.displayName = "TerminalDisplay";
|
|
173
|
+
|
|
174
|
+
//#endregion
|
|
175
|
+
export { TerminalDisplay };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalDisplay style definitions.
|
|
3
|
+
*
|
|
4
|
+
* @module components/devenv/terminal/TerminalDisplay.styles
|
|
5
|
+
*/
|
|
6
|
+
import { type VariantProps } from 'class-variance-authority';
|
|
7
|
+
import type { StyleSlots } from '../../../core/types';
|
|
8
|
+
import type { TerminalDisplaySlot } from './TerminalDisplay.types';
|
|
9
|
+
/**
|
|
10
|
+
* Default style slots for TerminalDisplay regions.
|
|
11
|
+
*/
|
|
12
|
+
export declare const terminalDisplayStyles: StyleSlots<TerminalDisplaySlot>;
|
|
13
|
+
/**
|
|
14
|
+
* CVA variants for the display root.
|
|
15
|
+
*/
|
|
16
|
+
export declare const terminalDisplayVariants: (props?: ({
|
|
17
|
+
variant?: "default" | "compact" | "error" | null | undefined;
|
|
18
|
+
} & import("class-variance-authority/types").ClassProp) | undefined) => string;
|
|
19
|
+
/** Extracted variant props type */
|
|
20
|
+
export type TerminalDisplayVariantProps = VariantProps<typeof terminalDisplayVariants>;
|
|
21
|
+
//# sourceMappingURL=TerminalDisplay.styles.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalDisplay.styles.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/TerminalDisplay.styles.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAO,KAAK,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC/C,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAC;AAEnE;;GAEG;AACH,eAAO,MAAM,qBAAqB,EAAE,UAAU,CAAC,mBAAmB,CAKjE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB;;8EAWlC,CAAC;AAEH,mCAAmC;AACnC,MAAM,MAAM,2BAA2B,GAAG,YAAY,CAAC,OAAO,uBAAuB,CAAC,CAAC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { cva } from "class-variance-authority";
|
|
2
|
+
|
|
3
|
+
//#region src/react-ui/blocks/Terminal/TerminalDisplay.styles.ts
|
|
4
|
+
/**
|
|
5
|
+
* TerminalDisplay style definitions.
|
|
6
|
+
*
|
|
7
|
+
* @module components/devenv/terminal/TerminalDisplay.styles
|
|
8
|
+
*/
|
|
9
|
+
/**
|
|
10
|
+
* Default style slots for TerminalDisplay regions.
|
|
11
|
+
*/
|
|
12
|
+
const terminalDisplayStyles = {
|
|
13
|
+
root: "relative overflow-hidden",
|
|
14
|
+
chrome: "",
|
|
15
|
+
terminal: "w-full h-full pointer-events-none",
|
|
16
|
+
emptyState: "flex items-center justify-center text-sm text-muted-foreground/50 font-mono"
|
|
17
|
+
};
|
|
18
|
+
/**
|
|
19
|
+
* CVA variants for the display root.
|
|
20
|
+
*/
|
|
21
|
+
const terminalDisplayVariants = cva(terminalDisplayStyles.root, {
|
|
22
|
+
variants: { variant: {
|
|
23
|
+
default: "",
|
|
24
|
+
compact: "",
|
|
25
|
+
error: ""
|
|
26
|
+
} },
|
|
27
|
+
defaultVariants: { variant: "default" }
|
|
28
|
+
});
|
|
29
|
+
|
|
30
|
+
//#endregion
|
|
31
|
+
export { terminalDisplayStyles, terminalDisplayVariants };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* TerminalDisplay component types.
|
|
3
|
+
*
|
|
4
|
+
* Readonly GPU-rendered terminal for displaying ANSI-formatted text
|
|
5
|
+
* without PTY connection, using restty.
|
|
6
|
+
*
|
|
7
|
+
* @module components/devenv/terminal/TerminalDisplay.types
|
|
8
|
+
*/
|
|
9
|
+
import type { SlotOverrides } from '../../../core/types';
|
|
10
|
+
import type { Restty } from 'restty';
|
|
11
|
+
import type { ITerminalTheme } from './Terminal.types';
|
|
12
|
+
/** Slot names for TerminalDisplay sub-regions */
|
|
13
|
+
export type TerminalDisplaySlot = 'root' | 'chrome' | 'terminal' | 'emptyState';
|
|
14
|
+
/**
|
|
15
|
+
* Props for TerminalDisplay component.
|
|
16
|
+
*/
|
|
17
|
+
export interface ITerminalDisplayProps {
|
|
18
|
+
/** ANSI-formatted string content to display */
|
|
19
|
+
content: string;
|
|
20
|
+
/** Title shown in the chrome header */
|
|
21
|
+
title?: string;
|
|
22
|
+
/** Visual variant — 'error' uses red accent line */
|
|
23
|
+
variant?: 'default' | 'compact' | 'error';
|
|
24
|
+
/** Whether to show the glassmorphism chrome shell (default: true) */
|
|
25
|
+
chrome?: boolean;
|
|
26
|
+
/** Font size in CSS pixels (default: 13) */
|
|
27
|
+
fontSize?: number;
|
|
28
|
+
/** Minimum height in CSS pixels (default: 200) */
|
|
29
|
+
minHeight?: number;
|
|
30
|
+
/** Terminal theme in xterm.js format (auto-converted to Ghostty) */
|
|
31
|
+
theme?: ITerminalTheme;
|
|
32
|
+
/** Restty built-in theme name from the 458-theme catalog */
|
|
33
|
+
resttyThemeName?: string;
|
|
34
|
+
/** GPU renderer preference (default: 'auto') */
|
|
35
|
+
gpuRenderer?: 'auto' | 'webgpu' | 'webgl2';
|
|
36
|
+
/** Slot class overrides for each visual region */
|
|
37
|
+
slots?: SlotOverrides<TerminalDisplaySlot>;
|
|
38
|
+
/** Custom class name on root element */
|
|
39
|
+
className?: string;
|
|
40
|
+
/** Placeholder text when content is empty */
|
|
41
|
+
emptyText?: string;
|
|
42
|
+
/** Callback when restty instance is ready */
|
|
43
|
+
onReady?: (restty: Restty) => void;
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Imperative handle for TerminalDisplay.
|
|
47
|
+
*/
|
|
48
|
+
export interface ITerminalDisplayRef {
|
|
49
|
+
/** Get the underlying Restty instance */
|
|
50
|
+
getRestty: () => Restty | null;
|
|
51
|
+
/** Clear the terminal display */
|
|
52
|
+
clear: () => void;
|
|
53
|
+
/** Write additional ANSI content (appends) */
|
|
54
|
+
write: (data: string) => void;
|
|
55
|
+
}
|
|
56
|
+
//# sourceMappingURL=TerminalDisplay.types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"TerminalDisplay.types.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/TerminalDisplay.types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AACrC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAEvD,iDAAiD;AACjD,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAEhF;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,+CAA+C;IAC/C,OAAO,EAAE,MAAM,CAAC;IAEhB,uCAAuC;IACvC,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,oDAAoD;IACpD,OAAO,CAAC,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,CAAC;IAE1C,qEAAqE;IACrE,MAAM,CAAC,EAAE,OAAO,CAAC;IAEjB,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,oEAAoE;IACpE,KAAK,CAAC,EAAE,cAAc,CAAC;IAEvB,4DAA4D;IAC5D,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB,gDAAgD;IAChD,WAAW,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,QAAQ,CAAC;IAE3C,kDAAkD;IAClD,KAAK,CAAC,EAAE,aAAa,CAAC,mBAAmB,CAAC,CAAC;IAE3C,wCAAwC;IACxC,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,6CAA6C;IAC7C,OAAO,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;CACpC;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,SAAS,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAE/B,iCAAiC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAElB,8CAA8C;IAC9C,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/B"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal Chrome — lightweight barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Exports only the glassmorphism shell components (no restty, no xterm).
|
|
5
|
+
* Use `@mks2508/mks-ui/react/blocks/Terminal/chrome` for zero terminal deps.
|
|
6
|
+
*
|
|
7
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/chrome
|
|
8
|
+
*/
|
|
9
|
+
export { TerminalPanelChrome, NOISE_TEXTURE_SVG, terminalScrollStyles } from './panel/TerminalPanelChrome';
|
|
10
|
+
export { TerminalPanelHeader } from './panel/TerminalPanelHeader';
|
|
11
|
+
export { TerminalPanelFooter } from './panel/TerminalPanelFooter';
|
|
12
|
+
export { terminalChromeStyles, terminalChromeVariants, ACCENT_GRADIENTS, type TerminalChromeSlot, type TerminalChromeVariantProps, } from './panel/TerminalPanelChrome.styles';
|
|
13
|
+
export type { ITerminalPanelChromeProps } from './panel/TerminalPanelChrome.types';
|
|
14
|
+
//# sourceMappingURL=chrome.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"chrome.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/chrome.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAGH,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAGlE,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,kBAAkB,EACvB,KAAK,0BAA0B,GAChC,MAAM,oCAAoC,CAAC;AAG5C,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ACCENT_GRADIENTS, terminalChromeStyles, terminalChromeVariants } from "./panel/TerminalPanelChrome.styles.js";
|
|
2
|
+
import { TerminalPanelHeader } from "./panel/TerminalPanelHeader.js";
|
|
3
|
+
import { NOISE_TEXTURE_SVG, TerminalPanelChrome, terminalScrollStyles } from "./panel/TerminalPanelChrome.js";
|
|
4
|
+
import { TerminalPanelFooter } from "./panel/TerminalPanelFooter.js";
|
|
5
|
+
|
|
6
|
+
export { ACCENT_GRADIENTS, NOISE_TEXTURE_SVG, TerminalPanelChrome, TerminalPanelFooter, TerminalPanelHeader, terminalChromeStyles, terminalChromeVariants, terminalScrollStyles };
|
|
@@ -31,7 +31,7 @@ export interface ILevelBadgeProps {
|
|
|
31
31
|
* // Renders: [INFO] with blue background
|
|
32
32
|
* ```
|
|
33
33
|
*/
|
|
34
|
-
export declare const LevelBadge: import("react").
|
|
34
|
+
export declare const LevelBadge: import("react").MemoExoticComponent<({ level, className }: ILevelBadgeProps) => React.JSX.Element>;
|
|
35
35
|
/**
|
|
36
36
|
* Props for TimestampBadge component.
|
|
37
37
|
*/
|
|
@@ -53,7 +53,7 @@ export interface ITimestampBadgeProps {
|
|
|
53
53
|
* // Renders: 22:41:03 in gray
|
|
54
54
|
* ```
|
|
55
55
|
*/
|
|
56
|
-
export declare const TimestampBadge: import("react").
|
|
56
|
+
export declare const TimestampBadge: import("react").MemoExoticComponent<({ timestamp, className }: ITimestampBadgeProps) => React.JSX.Element>;
|
|
57
57
|
/**
|
|
58
58
|
* Props for TagBadge component.
|
|
59
59
|
*/
|
|
@@ -75,7 +75,7 @@ export interface ITagBadgeProps {
|
|
|
75
75
|
* // Renders: [WORKSPACEMAN...] in cyan
|
|
76
76
|
* ```
|
|
77
77
|
*/
|
|
78
|
-
export declare const TagBadge: import("react").
|
|
78
|
+
export declare const TagBadge: import("react").MemoExoticComponent<({ tag, className }: ITagBadgeProps) => React.JSX.Element>;
|
|
79
79
|
/**
|
|
80
80
|
* Props for TagBadges component.
|
|
81
81
|
*/
|
|
@@ -96,7 +96,7 @@ export interface ITagBadgesProps {
|
|
|
96
96
|
* // Renders: [API][ROUTES] with spacing
|
|
97
97
|
* ```
|
|
98
98
|
*/
|
|
99
|
-
export declare const TagBadges: import("react").
|
|
99
|
+
export declare const TagBadges: import("react").MemoExoticComponent<({ tags, className }: ITagBadgesProps) => React.JSX.Element | null>;
|
|
100
100
|
/**
|
|
101
101
|
* Props for ContentTypeBadge component.
|
|
102
102
|
*/
|
|
@@ -126,7 +126,7 @@ export interface IContentTypeBadgeProps {
|
|
|
126
126
|
* // Renders: [JSON] in emerald
|
|
127
127
|
* ```
|
|
128
128
|
*/
|
|
129
|
-
export declare const ContentTypeBadge: import("react").
|
|
129
|
+
export declare const ContentTypeBadge: import("react").MemoExoticComponent<({ contentType, httpMethod, className, }: IContentTypeBadgeProps) => React.JSX.Element | null>;
|
|
130
130
|
/**
|
|
131
131
|
* Props for LogLineContainer component.
|
|
132
132
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LogLineBadges.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/components/LogLineBadges.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"LogLineBadges.d.ts","sourceRoot":"","sources":["../../../../../src/react-ui/blocks/Terminal/components/LogLineBadges.tsx"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkB1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,2BAA2B;IAC3B,KAAK,EAAE,SAAS,CAAC;IACjB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,6DAAkD,gBAAgB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAY3G,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,oBAAoB;IACnC,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAC;IAClB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,cAAc,iEAA0D,oBAAoB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiB3H,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,QAAQ,2DAA8C,cAAc,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAenG,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,2BAA2B;IAC3B,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;GAUG;AACH,eAAO,MAAM,SAAS,4DAAgD,eAAe,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAU9G,CAAC;AA4BH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,oCAAoC;IACpC,WAAW,EAAE,YAAY,CAAC;IAC1B,4EAA4E;IAC5E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,gBAAgB,gFAI1B,sBAAsB,KAAG,KAAK,CAAC,GAAG,CAAC,OAAO,GAAG,IAAI,CAkBlD,CAAC;AAEH;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,4BAA4B;IAC5B,KAAK,EAAE,SAAS,CAAC;IACjB,kBAAkB;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,0CAA0C;IAC1C,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,iCAAiC;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,UAAU,EACV,cAAsB,EACtB,SAAS,EACT,QAAQ,GACT,EAAE,sBAAsB,GAAG,KAAK,CAAC,GAAG,CAAC,OAAO,CAiB5C"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Terminal Display — lightweight barrel export.
|
|
3
|
+
*
|
|
4
|
+
* Exports the readonly TerminalDisplay component + restty wrapper + chrome.
|
|
5
|
+
* Depends on restty only (not xterm, not shiki, not xterm addons).
|
|
6
|
+
* Use `@mks2508/mks-ui/react/blocks/Terminal/display` for minimal deps.
|
|
7
|
+
*
|
|
8
|
+
* @module @mks2508/mks-ui/react/blocks/Terminal/display
|
|
9
|
+
*/
|
|
10
|
+
export { TerminalDisplay } from './TerminalDisplay';
|
|
11
|
+
export { terminalDisplayStyles, terminalDisplayVariants, type TerminalDisplayVariantProps, } from './TerminalDisplay.styles';
|
|
12
|
+
export type { ITerminalDisplayProps, ITerminalDisplayRef, TerminalDisplaySlot, } from './TerminalDisplay.types';
|
|
13
|
+
export { TerminalRestty } from './TerminalRestty';
|
|
14
|
+
export type { ITerminalResttyProps, ITerminalResttyRef } from './TerminalRestty';
|
|
15
|
+
export { TerminalPanelChrome, NOISE_TEXTURE_SVG, terminalScrollStyles } from './panel/TerminalPanelChrome';
|
|
16
|
+
export type { ITerminalPanelChromeProps } from './panel/TerminalPanelChrome.types';
|
|
17
|
+
export { terminalChromeStyles, terminalChromeVariants, ACCENT_GRADIENTS, type TerminalChromeSlot, } from './panel/TerminalPanelChrome.styles';
|
|
18
|
+
export { SYNTHWAVE_TERMINAL_THEME, getTerminalTheme } from './Terminal.theme';
|
|
19
|
+
export { hexToResttyColor, xtermThemeToGhostty, getSynthwaveGhosttyTheme, type IResttyThemeColor, type IResttyGhosttyTheme, } from './Terminal.theme.restty';
|
|
20
|
+
//# sourceMappingURL=display.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"display.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/display.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EACL,qBAAqB,EACrB,uBAAuB,EACvB,KAAK,2BAA2B,GACjC,MAAM,0BAA0B,CAAC;AAClC,YAAY,EACV,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGjF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,OAAO,EACL,oBAAoB,EACpB,sBAAsB,EACtB,gBAAgB,EAChB,KAAK,kBAAkB,GACxB,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAC9E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SYNTHWAVE_TERMINAL_THEME, getTerminalTheme } from "./Terminal.theme.js";
|
|
2
|
+
import { ACCENT_GRADIENTS, terminalChromeStyles, terminalChromeVariants } from "./panel/TerminalPanelChrome.styles.js";
|
|
3
|
+
import { NOISE_TEXTURE_SVG, TerminalPanelChrome, terminalScrollStyles } from "./panel/TerminalPanelChrome.js";
|
|
4
|
+
import { getSynthwaveGhosttyTheme, hexToResttyColor, xtermThemeToGhostty } from "./Terminal.theme.restty.js";
|
|
5
|
+
import { TerminalRestty } from "./TerminalRestty.js";
|
|
6
|
+
import { terminalDisplayStyles, terminalDisplayVariants } from "./TerminalDisplay.styles.js";
|
|
7
|
+
import { TerminalDisplay } from "./TerminalDisplay.js";
|
|
8
|
+
|
|
9
|
+
export { ACCENT_GRADIENTS, NOISE_TEXTURE_SVG, SYNTHWAVE_TERMINAL_THEME, TerminalDisplay, TerminalPanelChrome, TerminalRestty, getSynthwaveGhosttyTheme, getTerminalTheme, hexToResttyColor, terminalChromeStyles, terminalChromeVariants, terminalDisplayStyles, terminalDisplayVariants, terminalScrollStyles, xtermThemeToGhostty };
|
|
@@ -36,4 +36,8 @@ export type { ITerminalThemeSelectorProps } from './panel/TerminalThemeSelector'
|
|
|
36
36
|
export type { ITerminalLogsPanelProps, ITerminalLogsPanelRef, ITerminalPanelHeaderProps, ITerminalPanelToolbarProps, ITerminalPanelFooterProps, ILevelFilterButton, TTerminalAction, } from './panel/TerminalLogsPanel.types';
|
|
37
37
|
export type { ILogLinesViewerProps } from './panel/LogLinesViewer';
|
|
38
38
|
export type { TLogLevelFilter } from './parsing/LogParser.types';
|
|
39
|
+
export { TerminalDisplay } from './TerminalDisplay';
|
|
40
|
+
export type { ITerminalDisplayProps, ITerminalDisplayRef, TerminalDisplaySlot } from './TerminalDisplay.types';
|
|
41
|
+
export { terminalDisplayStyles, terminalDisplayVariants, type TerminalDisplayVariantProps } from './TerminalDisplay.styles';
|
|
42
|
+
export { terminalChromeStyles, terminalChromeVariants, ACCENT_GRADIENTS, type TerminalChromeSlot, type TerminalChromeVariantProps } from './panel/TerminalPanelChrome.styles';
|
|
39
43
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAGH,OAAO,EAAE,aAAa,EAAE,KAAK,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAG1E,cAAc,WAAW,CAAC;AAG1B,cAAc,cAAc,CAAC;AAG7B,OAAO,EACL,oBAAoB,EACpB,KAAK,4BAA4B,EACjC,KAAK,2BAA2B,EAChC,KAAK,wBAAwB,EAC7B,KAAK,iBAAiB,EACtB,mBAAmB,EACnB,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,GAChC,MAAM,SAAS,CAAC;AAGjB,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAC5E,OAAO,EAAE,8BAA8B,EAAE,MAAM,wCAAwC,CAAC;AACxF,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAC3G,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,iCAAiC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAGtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAGhD,OAAO,EAAE,cAAc,EAAE,KAAK,oBAAoB,EAAE,KAAK,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAGtG,OAAO,EAAE,wBAAwB,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAG9E,OAAO,EACL,gBAAgB,EAChB,mBAAmB,EACnB,wBAAwB,EACxB,KAAK,iBAAiB,EACtB,KAAK,mBAAmB,GACzB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAE,MAAM,oBAAoB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAG9C,OAAO,EAAE,YAAY,EAAE,KAAK,kBAAkB,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;AAG3F,YAAY,EACV,qBAAqB,EACrB,uBAAuB,EACvB,oBAAoB,EACpB,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,4BAA4B,EAC5B,aAAa,EACb,oBAAoB,EACpB,sBAAsB,EACtB,2BAA2B,GAC5B,MAAM,kBAAkB,CAAC;AAE1B,YAAY,EAAE,yBAAyB,EAAE,MAAM,mCAAmC,CAAC;AACnF,YAAY,EAAE,8BAA8B,EAAE,4BAA4B,EAAE,MAAM,wCAAwC,CAAC;AAC3H,YAAY,EAAE,2BAA2B,EAAE,MAAM,+BAA+B,CAAC;AACjF,YAAY,EACV,uBAAuB,EACvB,qBAAqB,EACrB,yBAAyB,EACzB,0BAA0B,EAC1B,yBAAyB,EACzB,kBAAkB,EAClB,eAAe,GAChB,MAAM,iCAAiC,CAAC;AACzC,YAAY,EAAE,oBAAoB,EAAE,MAAM,wBAAwB,CAAC;AACnE,YAAY,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/react-ui/blocks/Terminal/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -20,6 +20,7 @@ import "./components/index.js";
|
|
|
20
20
|
import { useTerminalWebSocket } from "./hooks/useTerminalWebSocket.js";
|
|
21
21
|
import { useTerminalSettings } from "./hooks/useTerminalSettings.js";
|
|
22
22
|
import "./hooks/index.js";
|
|
23
|
+
import { ACCENT_GRADIENTS, terminalChromeStyles, terminalChromeVariants } from "./panel/TerminalPanelChrome.styles.js";
|
|
23
24
|
import { TerminalPanelHeader } from "./panel/TerminalPanelHeader.js";
|
|
24
25
|
import { NOISE_TEXTURE_SVG, TerminalPanelChrome, terminalScrollStyles } from "./panel/TerminalPanelChrome.js";
|
|
25
26
|
import { TerminalPanelFooter } from "./panel/TerminalPanelFooter.js";
|
|
@@ -34,5 +35,7 @@ import { TerminalInteractivePanelRestty } from "./panel/TerminalInteractivePanel
|
|
|
34
35
|
import { ResttyAdapter } from "./ResttyAdapter.js";
|
|
35
36
|
import { createTerminalAdapter, createTerminalAdapterForRenderer } from "./Terminal.adapter.js";
|
|
36
37
|
import { XTermAdapter } from "./XTermAdapter.js";
|
|
38
|
+
import { terminalDisplayStyles, terminalDisplayVariants } from "./TerminalDisplay.styles.js";
|
|
39
|
+
import { TerminalDisplay } from "./TerminalDisplay.js";
|
|
37
40
|
|
|
38
|
-
export { ANSI_COLOR_MAP, ANSI_INTRODUCERS, ANSI_MODIFIERS, ANSI_PATTERNS, AnsiColorMapper, AnsiParser, BadgeFormatter, ContentTypeBadge, HighlightedJson, HttpLogParser, LOG_LEVEL_ANSI_COLORS, LevelBadge, LogLevelDetector, LogLineContainer, LogLinesViewer, LogParserService, MultilineAggregator, NOISE_TEXTURE_SVG, PersistentLogBuffer, ResttyAdapter, SGR_CODES, SYNTHWAVE_ANSI_COLORS, SYNTHWAVE_TERMINAL_THEME, SpecializedSyntaxHighlighter, SyntaxHighlightedText, SyntaxHighlighter, TABLE_CHARS, TableParser, TagBadge, TagBadges, TerminalInteractivePanel, TerminalInteractivePanelRestty, TerminalLogBadge, TerminalLogsPanel, TerminalPanel, TerminalPanelChrome, TerminalPanelFooter, TerminalPanelHeader, TerminalRestty, TerminalSettingsPopover, TerminalThemeSelector, TimestampBadge, XTermAdapter, XTermWrapper, clearHighlightCache, createPersistentLogBuffer, createTableParser, createTerminalAdapter, createTerminalAdapterForRenderer, getSynthwaveGhosttyTheme, getTerminalTheme, hexToResttyColor, terminalScrollStyles, useTerminalSearch, useTerminalSettings, useTerminalWebSocket, xtermThemeToGhostty };
|
|
41
|
+
export { ACCENT_GRADIENTS, ANSI_COLOR_MAP, ANSI_INTRODUCERS, ANSI_MODIFIERS, ANSI_PATTERNS, AnsiColorMapper, AnsiParser, BadgeFormatter, ContentTypeBadge, HighlightedJson, HttpLogParser, LOG_LEVEL_ANSI_COLORS, LevelBadge, LogLevelDetector, LogLineContainer, LogLinesViewer, LogParserService, MultilineAggregator, NOISE_TEXTURE_SVG, PersistentLogBuffer, ResttyAdapter, SGR_CODES, SYNTHWAVE_ANSI_COLORS, SYNTHWAVE_TERMINAL_THEME, SpecializedSyntaxHighlighter, SyntaxHighlightedText, SyntaxHighlighter, TABLE_CHARS, TableParser, TagBadge, TagBadges, TerminalDisplay, TerminalInteractivePanel, TerminalInteractivePanelRestty, TerminalLogBadge, TerminalLogsPanel, TerminalPanel, TerminalPanelChrome, TerminalPanelFooter, TerminalPanelHeader, TerminalRestty, TerminalSettingsPopover, TerminalThemeSelector, TimestampBadge, XTermAdapter, XTermWrapper, clearHighlightCache, createPersistentLogBuffer, createTableParser, createTerminalAdapter, createTerminalAdapterForRenderer, getSynthwaveGhosttyTheme, getTerminalTheme, hexToResttyColor, terminalChromeStyles, terminalChromeVariants, terminalDisplayStyles, terminalDisplayVariants, terminalScrollStyles, useTerminalSearch, useTerminalSettings, useTerminalWebSocket, xtermThemeToGhostty };
|