@termaxjs/web-core 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +201 -0
- package/dist/block/blockRange.d.ts +11 -0
- package/dist/block/blockRange.d.ts.map +1 -0
- package/dist/block/blockRange.js +16 -0
- package/dist/block/blockRange.js.map +1 -0
- package/dist/block/modeMachine.d.ts +18 -0
- package/dist/block/modeMachine.d.ts.map +1 -0
- package/dist/block/modeMachine.js +21 -0
- package/dist/block/modeMachine.js.map +1 -0
- package/dist/cursorBlink.d.ts +2 -0
- package/dist/cursorBlink.d.ts.map +1 -0
- package/dist/cursorBlink.js +4 -0
- package/dist/cursorBlink.js.map +1 -0
- package/dist/explorer/HeadlessFileTree.d.ts +27 -0
- package/dist/explorer/HeadlessFileTree.d.ts.map +1 -0
- package/dist/explorer/HeadlessFileTree.js +147 -0
- package/dist/explorer/HeadlessFileTree.js.map +1 -0
- package/dist/explorer/expansionCache.d.ts +4 -0
- package/dist/explorer/expansionCache.d.ts.map +1 -0
- package/dist/explorer/expansionCache.js +26 -0
- package/dist/explorer/expansionCache.js.map +1 -0
- package/dist/explorer/index.d.ts +5 -0
- package/dist/explorer/index.d.ts.map +1 -0
- package/dist/explorer/index.js +5 -0
- package/dist/explorer/index.js.map +1 -0
- package/dist/explorer/pathUtils.d.ts +5 -0
- package/dist/explorer/pathUtils.d.ts.map +1 -0
- package/dist/explorer/pathUtils.js +19 -0
- package/dist/explorer/pathUtils.js.map +1 -0
- package/dist/explorer/types.d.ts +65 -0
- package/dist/explorer/types.d.ts.map +1 -0
- package/dist/explorer/types.js +2 -0
- package/dist/explorer/types.js.map +1 -0
- package/dist/git/HeadlessGitGraph.d.ts +39 -0
- package/dist/git/HeadlessGitGraph.d.ts.map +1 -0
- package/dist/git/HeadlessGitGraph.js +81 -0
- package/dist/git/HeadlessGitGraph.js.map +1 -0
- package/dist/images/KittyGraphicsParser.d.ts +24 -0
- package/dist/images/KittyGraphicsParser.d.ts.map +1 -0
- package/dist/images/KittyGraphicsParser.js +87 -0
- package/dist/images/KittyGraphicsParser.js.map +1 -0
- package/dist/images/SixelDecoder.d.ts +9 -0
- package/dist/images/SixelDecoder.d.ts.map +1 -0
- package/dist/images/SixelDecoder.js +110 -0
- package/dist/images/SixelDecoder.js.map +1 -0
- package/dist/index.d.ts +25 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +25 -0
- package/dist/index.js.map +1 -0
- package/dist/keymap.d.ts +9 -0
- package/dist/keymap.d.ts.map +1 -0
- package/dist/keymap.js +62 -0
- package/dist/keymap.js.map +1 -0
- package/dist/layout/HeadlessFloatingManager.d.ts +18 -0
- package/dist/layout/HeadlessFloatingManager.d.ts.map +1 -0
- package/dist/layout/HeadlessFloatingManager.js +41 -0
- package/dist/layout/HeadlessFloatingManager.js.map +1 -0
- package/dist/layout/HeadlessPaneTree.d.ts +27 -0
- package/dist/layout/HeadlessPaneTree.d.ts.map +1 -0
- package/dist/layout/HeadlessPaneTree.js +117 -0
- package/dist/layout/HeadlessPaneTree.js.map +1 -0
- package/dist/layout/PaneGeometry.d.ts +17 -0
- package/dist/layout/PaneGeometry.d.ts.map +1 -0
- package/dist/layout/PaneGeometry.js +27 -0
- package/dist/layout/PaneGeometry.js.map +1 -0
- package/dist/layout/index.d.ts +9 -0
- package/dist/layout/index.d.ts.map +1 -0
- package/dist/layout/index.js +12 -0
- package/dist/layout/index.js.map +1 -0
- package/dist/layout/paneTree.d.ts +39 -0
- package/dist/layout/paneTree.d.ts.map +1 -0
- package/dist/layout/paneTree.js +215 -0
- package/dist/layout/paneTree.js.map +1 -0
- package/dist/layout/storeUtils.d.ts +23 -0
- package/dist/layout/storeUtils.d.ts.map +1 -0
- package/dist/layout/storeUtils.js +9 -0
- package/dist/layout/storeUtils.js.map +1 -0
- package/dist/layout/tabsActions.d.ts +72 -0
- package/dist/layout/tabsActions.d.ts.map +1 -0
- package/dist/layout/tabsActions.js +975 -0
- package/dist/layout/tabsActions.js.map +1 -0
- package/dist/layout/tabsStore.d.ts +43 -0
- package/dist/layout/tabsStore.d.ts.map +1 -0
- package/dist/layout/tabsStore.js +69 -0
- package/dist/layout/tabsStore.js.map +1 -0
- package/dist/layout/types.d.ts +114 -0
- package/dist/layout/types.d.ts.map +1 -0
- package/dist/layout/types.js +2 -0
- package/dist/layout/types.js.map +1 -0
- package/dist/layout/useTabs.d.ts +55 -0
- package/dist/layout/useTabs.d.ts.map +1 -0
- package/dist/layout/useTabs.js +116 -0
- package/dist/layout/useTabs.js.map +1 -0
- package/dist/lsp/client.d.ts +16 -0
- package/dist/lsp/client.d.ts.map +1 -0
- package/dist/lsp/client.js +125 -0
- package/dist/lsp/client.js.map +1 -0
- package/dist/lsp/index.d.ts +3 -0
- package/dist/lsp/index.d.ts.map +1 -0
- package/dist/lsp/index.js +3 -0
- package/dist/lsp/index.js.map +1 -0
- package/dist/lsp/types.d.ts +44 -0
- package/dist/lsp/types.d.ts.map +1 -0
- package/dist/lsp/types.js +2 -0
- package/dist/lsp/types.js.map +1 -0
- package/dist/palette/HeadlessCommandPalette.d.ts +21 -0
- package/dist/palette/HeadlessCommandPalette.d.ts.map +1 -0
- package/dist/palette/HeadlessCommandPalette.js +48 -0
- package/dist/palette/HeadlessCommandPalette.js.map +1 -0
- package/dist/parser/VtEngine.d.ts +87 -0
- package/dist/parser/VtEngine.d.ts.map +1 -0
- package/dist/parser/VtEngine.js +1206 -0
- package/dist/parser/VtEngine.js.map +1 -0
- package/dist/parser/index.d.ts +2 -0
- package/dist/parser/index.d.ts.map +1 -0
- package/dist/parser/index.js +2 -0
- package/dist/parser/index.js.map +1 -0
- package/dist/protocol.d.ts +3 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +94 -0
- package/dist/protocol.js.map +1 -0
- package/dist/settings/EditorSchema.d.ts +3 -0
- package/dist/settings/EditorSchema.d.ts.map +1 -0
- package/dist/settings/EditorSchema.js +78 -0
- package/dist/settings/EditorSchema.js.map +1 -0
- package/dist/settings/GeneralSchema.d.ts +3 -0
- package/dist/settings/GeneralSchema.d.ts.map +1 -0
- package/dist/settings/GeneralSchema.js +87 -0
- package/dist/settings/GeneralSchema.js.map +1 -0
- package/dist/settings/TerminalSchema.d.ts +3 -0
- package/dist/settings/TerminalSchema.d.ts.map +1 -0
- package/dist/settings/TerminalSchema.js +196 -0
- package/dist/settings/TerminalSchema.js.map +1 -0
- package/dist/settings/UiCustomizationSchema.d.ts +3 -0
- package/dist/settings/UiCustomizationSchema.d.ts.map +1 -0
- package/dist/settings/UiCustomizationSchema.js +85 -0
- package/dist/settings/UiCustomizationSchema.js.map +1 -0
- package/dist/settings/constants.d.ts +6 -0
- package/dist/settings/constants.d.ts.map +1 -0
- package/dist/settings/constants.js +27 -0
- package/dist/settings/constants.js.map +1 -0
- package/dist/settings/index.d.ts +7 -0
- package/dist/settings/index.d.ts.map +1 -0
- package/dist/settings/index.js +7 -0
- package/dist/settings/index.js.map +1 -0
- package/dist/settings/types.d.ts +34 -0
- package/dist/settings/types.d.ts.map +1 -0
- package/dist/settings/types.js +2 -0
- package/dist/settings/types.js.map +1 -0
- package/dist/spaces/HeadlessSpaces.d.ts +31 -0
- package/dist/spaces/HeadlessSpaces.d.ts.map +1 -0
- package/dist/spaces/HeadlessSpaces.js +48 -0
- package/dist/spaces/HeadlessSpaces.js.map +1 -0
- package/dist/theme/applyTheme.d.ts +4 -0
- package/dist/theme/applyTheme.d.ts.map +1 -0
- package/dist/theme/applyTheme.js +130 -0
- package/dist/theme/applyTheme.js.map +1 -0
- package/dist/theme/index.d.ts +3 -0
- package/dist/theme/index.d.ts.map +1 -0
- package/dist/theme/index.js +3 -0
- package/dist/theme/index.js.map +1 -0
- package/dist/theme/validateTheme.d.ts +10 -0
- package/dist/theme/validateTheme.d.ts.map +1 -0
- package/dist/theme/validateTheme.js +158 -0
- package/dist/theme/validateTheme.js.map +1 -0
- package/dist/theme.d.ts +12 -0
- package/dist/theme.d.ts.map +1 -0
- package/dist/theme.js +32 -0
- package/dist/theme.js.map +1 -0
- package/dist/themes/caffeine.d.ts +3 -0
- package/dist/themes/caffeine.d.ts.map +1 -0
- package/dist/themes/caffeine.js +121 -0
- package/dist/themes/caffeine.js.map +1 -0
- package/dist/themes/catppuccin.d.ts +3 -0
- package/dist/themes/catppuccin.d.ts.map +1 -0
- package/dist/themes/catppuccin.js +119 -0
- package/dist/themes/catppuccin.js.map +1 -0
- package/dist/themes/claude.d.ts +3 -0
- package/dist/themes/claude.d.ts.map +1 -0
- package/dist/themes/claude.js +121 -0
- package/dist/themes/claude.js.map +1 -0
- package/dist/themes/gruvbox.d.ts +3 -0
- package/dist/themes/gruvbox.d.ts.map +1 -0
- package/dist/themes/gruvbox.js +119 -0
- package/dist/themes/gruvbox.js.map +1 -0
- package/dist/themes/index.d.ts +16 -0
- package/dist/themes/index.d.ts.map +1 -0
- package/dist/themes/index.js +45 -0
- package/dist/themes/index.js.map +1 -0
- package/dist/themes/nord.d.ts +3 -0
- package/dist/themes/nord.d.ts.map +1 -0
- package/dist/themes/nord.js +103 -0
- package/dist/themes/nord.js.map +1 -0
- package/dist/themes/rose-pine.d.ts +3 -0
- package/dist/themes/rose-pine.d.ts.map +1 -0
- package/dist/themes/rose-pine.js +119 -0
- package/dist/themes/rose-pine.js.map +1 -0
- package/dist/themes/sage.d.ts +3 -0
- package/dist/themes/sage.d.ts.map +1 -0
- package/dist/themes/sage.js +121 -0
- package/dist/themes/sage.js.map +1 -0
- package/dist/themes/termax-default.d.ts +3 -0
- package/dist/themes/termax-default.d.ts.map +1 -0
- package/dist/themes/termax-default.js +119 -0
- package/dist/themes/termax-default.js.map +1 -0
- package/dist/themes/tide.d.ts +3 -0
- package/dist/themes/tide.d.ts.map +1 -0
- package/dist/themes/tide.js +121 -0
- package/dist/themes/tide.js.map +1 -0
- package/dist/themes/tokyo-night.d.ts +3 -0
- package/dist/themes/tokyo-night.d.ts.map +1 -0
- package/dist/themes/tokyo-night.js +64 -0
- package/dist/themes/tokyo-night.js.map +1 -0
- package/dist/themes/types.d.ts +75 -0
- package/dist/themes/types.d.ts.map +1 -0
- package/dist/themes/types.js +2 -0
- package/dist/themes/types.js.map +1 -0
- package/dist/types.d.ts +217 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +16 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/shellQuote.d.ts +3 -0
- package/dist/utils/shellQuote.d.ts.map +1 -0
- package/dist/utils/shellQuote.js +12 -0
- package/dist/utils/shellQuote.js.map +1 -0
- package/package.json +69 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiCustomizationSchema.d.ts","sourceRoot":"","sources":["../../src/settings/UiCustomizationSchema.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAErD,eAAO,MAAM,qBAAqB,EAAE,kBAmFnC,CAAC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const UiCustomizationSchema = {
|
|
2
|
+
id: "ui-customization",
|
|
3
|
+
title: "UI Customization",
|
|
4
|
+
description: "Window density, component spacing, border widths, opacity, and zoom scale.",
|
|
5
|
+
groups: [
|
|
6
|
+
{
|
|
7
|
+
id: "layout-geometry",
|
|
8
|
+
title: "Geometry & Spacing",
|
|
9
|
+
items: [
|
|
10
|
+
{
|
|
11
|
+
id: "uiDensity",
|
|
12
|
+
type: "select",
|
|
13
|
+
title: "Interface Density",
|
|
14
|
+
description: "Compact, standard, or relaxed padding across bars and controls.",
|
|
15
|
+
bind: "uiDensity",
|
|
16
|
+
options: [
|
|
17
|
+
{ label: "Compact", value: "compact" },
|
|
18
|
+
{ label: "Normal", value: "normal" },
|
|
19
|
+
{ label: "Relaxed", value: "relaxed" },
|
|
20
|
+
],
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "uiPadding",
|
|
24
|
+
type: "number",
|
|
25
|
+
title: "Window Padding",
|
|
26
|
+
description: "Global outer inset padding in pixels.",
|
|
27
|
+
bind: "uiPadding",
|
|
28
|
+
min: 0,
|
|
29
|
+
max: 32,
|
|
30
|
+
step: 1,
|
|
31
|
+
unit: "px",
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
id: "uiGap",
|
|
35
|
+
type: "number",
|
|
36
|
+
title: "Pane Gap",
|
|
37
|
+
description: "Gap between split panes in pixels.",
|
|
38
|
+
bind: "uiGap",
|
|
39
|
+
min: 0,
|
|
40
|
+
max: 24,
|
|
41
|
+
step: 1,
|
|
42
|
+
unit: "px",
|
|
43
|
+
},
|
|
44
|
+
{
|
|
45
|
+
id: "uiBorderWidth",
|
|
46
|
+
type: "number",
|
|
47
|
+
title: "Border Width",
|
|
48
|
+
description: "Split borders and container stroke width.",
|
|
49
|
+
bind: "uiBorderWidth",
|
|
50
|
+
min: 0,
|
|
51
|
+
max: 4,
|
|
52
|
+
step: 1,
|
|
53
|
+
unit: "px",
|
|
54
|
+
},
|
|
55
|
+
],
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
id: "window-effects",
|
|
59
|
+
title: "Window Effects & Scaling",
|
|
60
|
+
items: [
|
|
61
|
+
{
|
|
62
|
+
id: "windowOpacity",
|
|
63
|
+
type: "number",
|
|
64
|
+
title: "Window Opacity",
|
|
65
|
+
description: "Background translucency level (0.5 to 1.0).",
|
|
66
|
+
bind: "windowOpacity",
|
|
67
|
+
min: 0.5,
|
|
68
|
+
max: 1.0,
|
|
69
|
+
step: 0.05,
|
|
70
|
+
},
|
|
71
|
+
{
|
|
72
|
+
id: "zoomLevel",
|
|
73
|
+
type: "number",
|
|
74
|
+
title: "UI Zoom Scale",
|
|
75
|
+
description: "Global interface scale multiplier.",
|
|
76
|
+
bind: "zoomLevel",
|
|
77
|
+
min: 0.8,
|
|
78
|
+
max: 1.6,
|
|
79
|
+
step: 0.05,
|
|
80
|
+
},
|
|
81
|
+
],
|
|
82
|
+
},
|
|
83
|
+
],
|
|
84
|
+
};
|
|
85
|
+
//# sourceMappingURL=UiCustomizationSchema.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"UiCustomizationSchema.js","sourceRoot":"","sources":["../../src/settings/UiCustomizationSchema.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,qBAAqB,GAAuB;IACvD,EAAE,EAAE,kBAAkB;IACtB,KAAK,EAAE,kBAAkB;IACzB,WAAW,EAAE,4EAA4E;IACzF,MAAM,EAAE;QACN;YACE,EAAE,EAAE,iBAAiB;YACrB,KAAK,EAAE,oBAAoB;YAC3B,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,mBAAmB;oBAC1B,WAAW,EAAE,iEAAiE;oBAC9E,IAAI,EAAE,WAAW;oBACjB,OAAO,EAAE;wBACP,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;wBACtC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;wBACpC,EAAE,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE;qBACvC;iBACF;gBACD;oBACE,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,uCAAuC;oBACpD,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,EAAE,EAAE,OAAO;oBACX,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,UAAU;oBACjB,WAAW,EAAE,oCAAoC;oBACjD,IAAI,EAAE,OAAO;oBACb,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,EAAE;oBACP,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,EAAE,EAAE,eAAe;oBACnB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,cAAc;oBACrB,WAAW,EAAE,2CAA2C;oBACxD,IAAI,EAAE,eAAe;oBACrB,GAAG,EAAE,CAAC;oBACN,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,IAAI,EAAE,IAAI;iBACX;aACF;SACF;QACD;YACE,EAAE,EAAE,gBAAgB;YACpB,KAAK,EAAE,0BAA0B;YACjC,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,eAAe;oBACnB,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,gBAAgB;oBACvB,WAAW,EAAE,6CAA6C;oBAC1D,IAAI,EAAE,eAAe;oBACrB,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,IAAI;iBACX;gBACD;oBACE,EAAE,EAAE,WAAW;oBACf,IAAI,EAAE,QAAQ;oBACd,KAAK,EAAE,eAAe;oBACtB,WAAW,EAAE,oCAAoC;oBACjD,IAAI,EAAE,WAAW;oBACjB,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,GAAG;oBACR,IAAI,EAAE,IAAI;iBACX;aACF;SACF;KACF;CACF,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export declare const EDITOR_THEMES: readonly ["atomone", "aura", "copilot", "github-dark", "github-light", "gruvbox-dark", "nord", "tokyo-night", "xcode-dark", "xcode-light"];
|
|
2
|
+
export type EditorThemeId = (typeof EDITOR_THEMES)[number];
|
|
3
|
+
export declare const EDITOR_THEME_LABELS: Record<EditorThemeId, string>;
|
|
4
|
+
export declare const TERMINAL_FONT_SIZES: readonly [10, 11, 12, 13, 14, 15, 16, 18, 20, 24];
|
|
5
|
+
export declare const TERMINAL_SCROLLBACK_PRESETS: readonly [1000, 5000, 10000, 50000, 100000];
|
|
6
|
+
//# sourceMappingURL=constants.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/settings/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,aAAa,4IAWhB,CAAC;AAEX,MAAM,MAAM,aAAa,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,CAAC,CAAC;AAE3D,eAAO,MAAM,mBAAmB,EAAE,MAAM,CAAC,aAAa,EAAE,MAAM,CAW7D,CAAC;AAEF,eAAO,MAAM,mBAAmB,mDAAoD,CAAC;AACrF,eAAO,MAAM,2BAA2B,6CAA8C,CAAC"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export const EDITOR_THEMES = [
|
|
2
|
+
"atomone",
|
|
3
|
+
"aura",
|
|
4
|
+
"copilot",
|
|
5
|
+
"github-dark",
|
|
6
|
+
"github-light",
|
|
7
|
+
"gruvbox-dark",
|
|
8
|
+
"nord",
|
|
9
|
+
"tokyo-night",
|
|
10
|
+
"xcode-dark",
|
|
11
|
+
"xcode-light",
|
|
12
|
+
];
|
|
13
|
+
export const EDITOR_THEME_LABELS = {
|
|
14
|
+
atomone: "Atom One",
|
|
15
|
+
aura: "Aura",
|
|
16
|
+
copilot: "Copilot",
|
|
17
|
+
"github-dark": "GitHub Dark",
|
|
18
|
+
"github-light": "GitHub Light",
|
|
19
|
+
"gruvbox-dark": "Gruvbox Dark",
|
|
20
|
+
nord: "Nord",
|
|
21
|
+
"tokyo-night": "Tokyo Night",
|
|
22
|
+
"xcode-dark": "Xcode Dark",
|
|
23
|
+
"xcode-light": "Xcode Light",
|
|
24
|
+
};
|
|
25
|
+
export const TERMINAL_FONT_SIZES = [10, 11, 12, 13, 14, 15, 16, 18, 20, 24];
|
|
26
|
+
export const TERMINAL_SCROLLBACK_PRESETS = [1000, 5000, 10000, 50000, 100000];
|
|
27
|
+
//# sourceMappingURL=constants.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/settings/constants.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,SAAS;IACT,MAAM;IACN,SAAS;IACT,aAAa;IACb,cAAc;IACd,cAAc;IACd,MAAM;IACN,aAAa;IACb,YAAY;IACZ,aAAa;CACL,CAAC;AAIX,MAAM,CAAC,MAAM,mBAAmB,GAAkC;IAChE,OAAO,EAAE,UAAU;IACnB,IAAI,EAAE,MAAM;IACZ,OAAO,EAAE,SAAS;IAClB,aAAa,EAAE,aAAa;IAC5B,cAAc,EAAE,cAAc;IAC9B,cAAc,EAAE,cAAc;IAC9B,IAAI,EAAE,MAAM;IACZ,aAAa,EAAE,aAAa;IAC5B,YAAY,EAAE,YAAY;IAC1B,aAAa,EAAE,aAAa;CAC7B,CAAC;AAEF,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAU,CAAC;AACrF,MAAM,CAAC,MAAM,2BAA2B,GAAG,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/settings/index.ts"],"names":[],"mappings":"AAAA,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,oBAAoB,CAAC;AACnC,cAAc,qBAAqB,CAAC;AACpC,cAAc,mBAAmB,CAAC;AAClC,cAAc,4BAA4B,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export type SettingType = "toggle" | "select" | "text" | "number" | "slider" | "action" | "custom";
|
|
2
|
+
export interface SettingOption {
|
|
3
|
+
label: string;
|
|
4
|
+
value: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SettingItem {
|
|
7
|
+
id: string;
|
|
8
|
+
type: SettingType;
|
|
9
|
+
title: string;
|
|
10
|
+
description?: string;
|
|
11
|
+
bind?: string;
|
|
12
|
+
options?: SettingOption[];
|
|
13
|
+
min?: number;
|
|
14
|
+
max?: number;
|
|
15
|
+
step?: number;
|
|
16
|
+
placeholder?: string;
|
|
17
|
+
unit?: string;
|
|
18
|
+
actionId?: string;
|
|
19
|
+
actionLabel?: string;
|
|
20
|
+
dependsOn?: string;
|
|
21
|
+
dependsOnValue?: unknown;
|
|
22
|
+
}
|
|
23
|
+
export interface SettingGroup {
|
|
24
|
+
id: string;
|
|
25
|
+
title: string;
|
|
26
|
+
items: SettingItem[];
|
|
27
|
+
}
|
|
28
|
+
export interface SettingsPageSchema {
|
|
29
|
+
id: string;
|
|
30
|
+
title: string;
|
|
31
|
+
description?: string;
|
|
32
|
+
groups: SettingGroup[];
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/settings/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,WAAW,GACnB,QAAQ,GACR,QAAQ,GACR,MAAM,GACN,QAAQ,GACR,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb,MAAM,WAAW,aAAa;IAC5B,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,aAAa,EAAE,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,WAAW,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/settings/types.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
export interface SpaceMeta {
|
|
2
|
+
id: string;
|
|
3
|
+
name: string;
|
|
4
|
+
icon?: string;
|
|
5
|
+
color?: string;
|
|
6
|
+
createdAt: number;
|
|
7
|
+
}
|
|
8
|
+
export interface SerializedSpaceLayout {
|
|
9
|
+
spaceId: string;
|
|
10
|
+
activeTabId?: number;
|
|
11
|
+
tabs: Array<{
|
|
12
|
+
id: number;
|
|
13
|
+
title: string;
|
|
14
|
+
kind: string;
|
|
15
|
+
cwd?: string;
|
|
16
|
+
editorPath?: string;
|
|
17
|
+
tree?: any;
|
|
18
|
+
}>;
|
|
19
|
+
}
|
|
20
|
+
export declare class HeadlessSpaces {
|
|
21
|
+
private spaces;
|
|
22
|
+
private activeSpaceId;
|
|
23
|
+
private lruHistory;
|
|
24
|
+
constructor(initialSpaces?: SpaceMeta[]);
|
|
25
|
+
getSpaces(): SpaceMeta[];
|
|
26
|
+
getActiveSpaceId(): string;
|
|
27
|
+
setActiveSpace(id: string): boolean;
|
|
28
|
+
createSpace(name: string, icon?: string, color?: string): SpaceMeta;
|
|
29
|
+
deleteSpace(id: string): boolean;
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=HeadlessSpaces.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeadlessSpaces.d.ts","sourceRoot":"","sources":["../../src/spaces/HeadlessSpaces.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,EAAE,KAAK,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,IAAI,CAAC,EAAE,GAAG,CAAA;KAAE,CAAC,CAAC;CACzG;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAmB;IACjC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,UAAU,CAAgB;gBAEtB,aAAa,GAAE,SAAS,EAAgE;IAM7F,SAAS,IAAI,SAAS,EAAE;IAIxB,gBAAgB,IAAI,MAAM;IAI1B,cAAc,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;IAOnC,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS;IAYnE,WAAW,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO;CAaxC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export class HeadlessSpaces {
|
|
2
|
+
spaces = [];
|
|
3
|
+
activeSpaceId = "default";
|
|
4
|
+
lruHistory = [];
|
|
5
|
+
constructor(initialSpaces = [{ id: "default", name: "Default", createdAt: Date.now() }]) {
|
|
6
|
+
this.spaces = initialSpaces;
|
|
7
|
+
this.activeSpaceId = initialSpaces[0]?.id || "default";
|
|
8
|
+
this.lruHistory = [this.activeSpaceId];
|
|
9
|
+
}
|
|
10
|
+
getSpaces() {
|
|
11
|
+
return [...this.spaces];
|
|
12
|
+
}
|
|
13
|
+
getActiveSpaceId() {
|
|
14
|
+
return this.activeSpaceId;
|
|
15
|
+
}
|
|
16
|
+
setActiveSpace(id) {
|
|
17
|
+
if (!this.spaces.some((s) => s.id === id))
|
|
18
|
+
return false;
|
|
19
|
+
this.activeSpaceId = id;
|
|
20
|
+
this.lruHistory = [id, ...this.lruHistory.filter((x) => x !== id)];
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
createSpace(name, icon, color) {
|
|
24
|
+
const newSpace = {
|
|
25
|
+
id: "space_" + Math.random().toString(36).slice(2, 9),
|
|
26
|
+
name,
|
|
27
|
+
icon,
|
|
28
|
+
color,
|
|
29
|
+
createdAt: Date.now(),
|
|
30
|
+
};
|
|
31
|
+
this.spaces.push(newSpace);
|
|
32
|
+
return newSpace;
|
|
33
|
+
}
|
|
34
|
+
deleteSpace(id) {
|
|
35
|
+
if (this.spaces.length <= 1)
|
|
36
|
+
return false;
|
|
37
|
+
const idx = this.spaces.findIndex((s) => s.id === id);
|
|
38
|
+
if (idx === -1)
|
|
39
|
+
return false;
|
|
40
|
+
this.spaces.splice(idx, 1);
|
|
41
|
+
this.lruHistory = this.lruHistory.filter((x) => x !== id);
|
|
42
|
+
if (this.activeSpaceId === id) {
|
|
43
|
+
this.activeSpaceId = this.lruHistory[0] || this.spaces[0].id;
|
|
44
|
+
}
|
|
45
|
+
return true;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=HeadlessSpaces.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"HeadlessSpaces.js","sourceRoot":"","sources":["../../src/spaces/HeadlessSpaces.ts"],"names":[],"mappings":"AAcA,MAAM,OAAO,cAAc;IACjB,MAAM,GAAgB,EAAE,CAAC;IACzB,aAAa,GAAW,SAAS,CAAC;IAClC,UAAU,GAAa,EAAE,CAAC;IAElC,YAAY,gBAA6B,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAClG,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,IAAI,SAAS,CAAC;QACvD,IAAI,CAAC,UAAU,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACzC,CAAC;IAEM,SAAS;QACd,OAAO,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,CAAC;IAC1B,CAAC;IAEM,gBAAgB;QACrB,OAAO,IAAI,CAAC,aAAa,CAAC;IAC5B,CAAC;IAEM,cAAc,CAAC,EAAU;QAC9B,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC;YAAE,OAAO,KAAK,CAAC;QACxD,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;QACxB,IAAI,CAAC,UAAU,GAAG,CAAC,EAAE,EAAE,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;QACnE,OAAO,IAAI,CAAC;IACd,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,IAAa,EAAE,KAAc;QAC5D,MAAM,QAAQ,GAAc;YAC1B,EAAE,EAAE,QAAQ,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC;YACrD,IAAI;YACJ,IAAI;YACJ,KAAK;YACL,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QACF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QAC3B,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,WAAW,CAAC,EAAU;QAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,CAAC;YAAE,OAAO,KAAK,CAAC;QAC1C,MAAM,GAAG,GAAG,IAAI,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,GAAG,KAAK,CAAC,CAAC;YAAE,OAAO,KAAK,CAAC;QAE7B,IAAI,CAAC,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC;QAE1D,IAAI,IAAI,CAAC,aAAa,KAAK,EAAE,EAAE,CAAC;YAC9B,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/D,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;CACF"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTheme.d.ts","sourceRoot":"","sources":["../../src/theme/applyTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAmB,KAAK,EAAe,SAAS,EAAE,MAAM,oBAAoB,CAAC;AA+DzF,wBAAgB,UAAU,CAAC,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,SAAS,GAAG,IAAI,CAuB9D;AAED,wBAAgB,UAAU,IAAI,IAAI,CAQjC"}
|
|
@@ -0,0 +1,130 @@
|
|
|
1
|
+
const COLOR_VAR = {
|
|
2
|
+
background: "--background",
|
|
3
|
+
foreground: "--foreground",
|
|
4
|
+
card: "--card",
|
|
5
|
+
cardForeground: "--card-foreground",
|
|
6
|
+
popover: "--popover",
|
|
7
|
+
popoverForeground: "--popover-foreground",
|
|
8
|
+
primary: "--primary",
|
|
9
|
+
primaryForeground: "--primary-foreground",
|
|
10
|
+
secondary: "--secondary",
|
|
11
|
+
secondaryForeground: "--secondary-foreground",
|
|
12
|
+
muted: "--muted",
|
|
13
|
+
mutedForeground: "--muted-foreground",
|
|
14
|
+
accent: "--accent",
|
|
15
|
+
accentForeground: "--accent-foreground",
|
|
16
|
+
destructive: "--destructive",
|
|
17
|
+
border: "--border",
|
|
18
|
+
input: "--input",
|
|
19
|
+
ring: "--ring",
|
|
20
|
+
sidebar: "--sidebar",
|
|
21
|
+
sidebarForeground: "--sidebar-foreground",
|
|
22
|
+
sidebarPrimary: "--sidebar-primary",
|
|
23
|
+
sidebarPrimaryForeground: "--sidebar-primary-foreground",
|
|
24
|
+
sidebarAccent: "--sidebar-accent",
|
|
25
|
+
sidebarAccentForeground: "--sidebar-accent-foreground",
|
|
26
|
+
sidebarBorder: "--sidebar-border",
|
|
27
|
+
sidebarRing: "--sidebar-ring",
|
|
28
|
+
radius: "--radius",
|
|
29
|
+
};
|
|
30
|
+
const ANSI_VARS = [
|
|
31
|
+
"--terminal-ansi-black",
|
|
32
|
+
"--terminal-ansi-red",
|
|
33
|
+
"--terminal-ansi-green",
|
|
34
|
+
"--terminal-ansi-yellow",
|
|
35
|
+
"--terminal-ansi-blue",
|
|
36
|
+
"--terminal-ansi-magenta",
|
|
37
|
+
"--terminal-ansi-cyan",
|
|
38
|
+
"--terminal-ansi-white",
|
|
39
|
+
"--terminal-ansi-bright-black",
|
|
40
|
+
"--terminal-ansi-bright-red",
|
|
41
|
+
"--terminal-ansi-bright-green",
|
|
42
|
+
"--terminal-ansi-bright-yellow",
|
|
43
|
+
"--terminal-ansi-bright-blue",
|
|
44
|
+
"--terminal-ansi-bright-magenta",
|
|
45
|
+
"--terminal-ansi-bright-cyan",
|
|
46
|
+
"--terminal-ansi-bright-white",
|
|
47
|
+
];
|
|
48
|
+
const ALL_VARS = [
|
|
49
|
+
...Object.values(COLOR_VAR),
|
|
50
|
+
"--terminal-background",
|
|
51
|
+
"--terminal-foreground",
|
|
52
|
+
"--terminal-cursor",
|
|
53
|
+
"--terminal-cursor-accent",
|
|
54
|
+
"--terminal-selection",
|
|
55
|
+
...ANSI_VARS,
|
|
56
|
+
];
|
|
57
|
+
let lastApplied = null;
|
|
58
|
+
export function applyTheme(theme, mode) {
|
|
59
|
+
const root = document.documentElement;
|
|
60
|
+
const variant = theme.variants[mode] ?? theme.variants.dark ?? theme.variants.light;
|
|
61
|
+
if (!variant) {
|
|
62
|
+
clearTheme();
|
|
63
|
+
return;
|
|
64
|
+
}
|
|
65
|
+
const colors = variant.colors;
|
|
66
|
+
const terminal = variant.terminal;
|
|
67
|
+
for (const v of ALL_VARS)
|
|
68
|
+
root.style.removeProperty(v);
|
|
69
|
+
const css = [];
|
|
70
|
+
if (colors)
|
|
71
|
+
writeColors(root, colors, css);
|
|
72
|
+
writeTerminal(root, terminal || {}, css, colors);
|
|
73
|
+
lastApplied = theme.id;
|
|
74
|
+
try {
|
|
75
|
+
window.localStorage.setItem("termax-ui-theme-css-shadow", `:root { ${css.join(" ")} }`);
|
|
76
|
+
}
|
|
77
|
+
catch (_e) { }
|
|
78
|
+
}
|
|
79
|
+
export function clearTheme() {
|
|
80
|
+
if (lastApplied === null)
|
|
81
|
+
return;
|
|
82
|
+
const root = document.documentElement;
|
|
83
|
+
for (const v of ALL_VARS)
|
|
84
|
+
root.style.removeProperty(v);
|
|
85
|
+
lastApplied = null;
|
|
86
|
+
try {
|
|
87
|
+
window.localStorage.removeItem("termax-ui-theme-css-shadow");
|
|
88
|
+
}
|
|
89
|
+
catch (_e) { }
|
|
90
|
+
}
|
|
91
|
+
function writeColors(root, c, css) {
|
|
92
|
+
for (const k of Object.keys(c)) {
|
|
93
|
+
const v = c[k];
|
|
94
|
+
if (v) {
|
|
95
|
+
root.style.setProperty(COLOR_VAR[k], v);
|
|
96
|
+
css.push(`${COLOR_VAR[k]}: ${v};`);
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
function writeTerminal(root, t, css, c) {
|
|
101
|
+
const bg = t.background || c?.background;
|
|
102
|
+
if (bg) {
|
|
103
|
+
root.style.setProperty("--terminal-background", bg);
|
|
104
|
+
css.push(`--terminal-background: ${bg};`);
|
|
105
|
+
}
|
|
106
|
+
const fg = t.foreground || c?.foreground;
|
|
107
|
+
if (fg) {
|
|
108
|
+
root.style.setProperty("--terminal-foreground", fg);
|
|
109
|
+
css.push(`--terminal-foreground: ${fg};`);
|
|
110
|
+
}
|
|
111
|
+
if (t.cursor) {
|
|
112
|
+
root.style.setProperty("--terminal-cursor", t.cursor);
|
|
113
|
+
css.push(`--terminal-cursor: ${t.cursor};`);
|
|
114
|
+
}
|
|
115
|
+
if (t.cursorAccent) {
|
|
116
|
+
root.style.setProperty("--terminal-cursor-accent", t.cursorAccent);
|
|
117
|
+
css.push(`--terminal-cursor-accent: ${t.cursorAccent};`);
|
|
118
|
+
}
|
|
119
|
+
if (t.selection) {
|
|
120
|
+
root.style.setProperty("--terminal-selection", t.selection);
|
|
121
|
+
css.push(`--terminal-selection: ${t.selection};`);
|
|
122
|
+
}
|
|
123
|
+
if (t.ansi) {
|
|
124
|
+
for (let i = 0; i < ANSI_VARS.length && i < t.ansi.length; i++) {
|
|
125
|
+
root.style.setProperty(ANSI_VARS[i], t.ansi[i]);
|
|
126
|
+
css.push(`${ANSI_VARS[i]}: ${t.ansi[i]};`);
|
|
127
|
+
}
|
|
128
|
+
}
|
|
129
|
+
}
|
|
130
|
+
//# sourceMappingURL=applyTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"applyTheme.js","sourceRoot":"","sources":["../../src/theme/applyTheme.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/theme/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAC;AACnC,cAAc,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { Theme } from "../themes/types.js";
|
|
2
|
+
export type ValidationResult = {
|
|
3
|
+
ok: true;
|
|
4
|
+
theme: Theme;
|
|
5
|
+
} | {
|
|
6
|
+
ok: false;
|
|
7
|
+
error: string;
|
|
8
|
+
};
|
|
9
|
+
export declare function validateTheme(raw: unknown): ValidationResult;
|
|
10
|
+
//# sourceMappingURL=validateTheme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateTheme.d.ts","sourceRoot":"","sources":["../../src/theme/validateTheme.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,KAAK,EAGN,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,gBAAgB,GACxB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,KAAK,CAAA;CAAE,GAC1B;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAwGjC,wBAAgB,aAAa,CAAC,GAAG,EAAE,OAAO,GAAG,gBAAgB,CAyC5D"}
|
|
@@ -0,0 +1,158 @@
|
|
|
1
|
+
const COLOR_KEYS = [
|
|
2
|
+
"background",
|
|
3
|
+
"foreground",
|
|
4
|
+
"card",
|
|
5
|
+
"cardForeground",
|
|
6
|
+
"popover",
|
|
7
|
+
"popoverForeground",
|
|
8
|
+
"primary",
|
|
9
|
+
"primaryForeground",
|
|
10
|
+
"secondary",
|
|
11
|
+
"secondaryForeground",
|
|
12
|
+
"muted",
|
|
13
|
+
"mutedForeground",
|
|
14
|
+
"accent",
|
|
15
|
+
"accentForeground",
|
|
16
|
+
"destructive",
|
|
17
|
+
"border",
|
|
18
|
+
"input",
|
|
19
|
+
"ring",
|
|
20
|
+
"sidebar",
|
|
21
|
+
"sidebarForeground",
|
|
22
|
+
"sidebarPrimary",
|
|
23
|
+
"sidebarPrimaryForeground",
|
|
24
|
+
"sidebarAccent",
|
|
25
|
+
"sidebarAccentForeground",
|
|
26
|
+
"sidebarBorder",
|
|
27
|
+
"sidebarRing",
|
|
28
|
+
"radius",
|
|
29
|
+
];
|
|
30
|
+
const ID_RE = /^[a-z0-9][a-z0-9-]{1,63}$/;
|
|
31
|
+
function isObj(v) {
|
|
32
|
+
return typeof v === "object" && v !== null && !Array.isArray(v);
|
|
33
|
+
}
|
|
34
|
+
function isStr(v) {
|
|
35
|
+
return typeof v === "string";
|
|
36
|
+
}
|
|
37
|
+
function parseColors(raw, path) {
|
|
38
|
+
if (raw === undefined)
|
|
39
|
+
return {};
|
|
40
|
+
if (!isObj(raw))
|
|
41
|
+
return `${path} must be an object`;
|
|
42
|
+
const out = {};
|
|
43
|
+
for (const k of Object.keys(raw)) {
|
|
44
|
+
if (!COLOR_KEYS.includes(k)) {
|
|
45
|
+
return `${path}.${k} is not a recognized color key`;
|
|
46
|
+
}
|
|
47
|
+
const v = raw[k];
|
|
48
|
+
if (!isStr(v) || v.length === 0)
|
|
49
|
+
return `${path}.${k} must be a non-empty string`;
|
|
50
|
+
out[k] = v;
|
|
51
|
+
}
|
|
52
|
+
return out;
|
|
53
|
+
}
|
|
54
|
+
function parseTerminal(raw, path) {
|
|
55
|
+
if (raw === undefined)
|
|
56
|
+
return {};
|
|
57
|
+
if (!isObj(raw))
|
|
58
|
+
return `${path} must be an object`;
|
|
59
|
+
const out = {};
|
|
60
|
+
if (raw.background !== undefined) {
|
|
61
|
+
if (!isStr(raw.background))
|
|
62
|
+
return `${path}.background must be a string`;
|
|
63
|
+
out.background = raw.background;
|
|
64
|
+
}
|
|
65
|
+
if (raw.foreground !== undefined) {
|
|
66
|
+
if (!isStr(raw.foreground))
|
|
67
|
+
return `${path}.foreground must be a string`;
|
|
68
|
+
out.foreground = raw.foreground;
|
|
69
|
+
}
|
|
70
|
+
if (raw.cursor !== undefined) {
|
|
71
|
+
if (!isStr(raw.cursor))
|
|
72
|
+
return `${path}.cursor must be a string`;
|
|
73
|
+
out.cursor = raw.cursor;
|
|
74
|
+
}
|
|
75
|
+
if (raw.cursorAccent !== undefined) {
|
|
76
|
+
if (!isStr(raw.cursorAccent))
|
|
77
|
+
return `${path}.cursorAccent must be a string`;
|
|
78
|
+
out.cursorAccent = raw.cursorAccent;
|
|
79
|
+
}
|
|
80
|
+
if (raw.selection !== undefined) {
|
|
81
|
+
if (!isStr(raw.selection))
|
|
82
|
+
return `${path}.selection must be a string`;
|
|
83
|
+
out.selection = raw.selection;
|
|
84
|
+
}
|
|
85
|
+
if (raw.ansi !== undefined) {
|
|
86
|
+
if (!Array.isArray(raw.ansi) || raw.ansi.length !== 16) {
|
|
87
|
+
return `${path}.ansi must be an array of 16 strings`;
|
|
88
|
+
}
|
|
89
|
+
for (let i = 0; i < 16; i++) {
|
|
90
|
+
if (!isStr(raw.ansi[i]))
|
|
91
|
+
return `${path}.ansi[${i}] must be a string`;
|
|
92
|
+
}
|
|
93
|
+
out.ansi = raw.ansi;
|
|
94
|
+
}
|
|
95
|
+
return out;
|
|
96
|
+
}
|
|
97
|
+
function parseVariant(raw, path) {
|
|
98
|
+
if (!isObj(raw))
|
|
99
|
+
return `${path} must be an object`;
|
|
100
|
+
const colors = parseColors(raw.colors, `${path}.colors`);
|
|
101
|
+
if (typeof colors === "string")
|
|
102
|
+
return colors;
|
|
103
|
+
const terminal = parseTerminal(raw.terminal, `${path}.terminal`);
|
|
104
|
+
if (typeof terminal === "string")
|
|
105
|
+
return terminal;
|
|
106
|
+
return { colors, terminal };
|
|
107
|
+
}
|
|
108
|
+
export function validateTheme(raw) {
|
|
109
|
+
if (!isObj(raw))
|
|
110
|
+
return { ok: false, error: "Theme must be a JSON object" };
|
|
111
|
+
if (!isStr(raw.id) || !ID_RE.test(raw.id)) {
|
|
112
|
+
return { ok: false, error: "id must be a kebab-case string (a-z, 0-9, -)" };
|
|
113
|
+
}
|
|
114
|
+
if (!isStr(raw.name) || raw.name.trim().length === 0) {
|
|
115
|
+
return { ok: false, error: "name must be a non-empty string" };
|
|
116
|
+
}
|
|
117
|
+
if (!isObj(raw.variants))
|
|
118
|
+
return { ok: false, error: "variants must be an object" };
|
|
119
|
+
const variants = {};
|
|
120
|
+
if (raw.variants.light !== undefined) {
|
|
121
|
+
const v = parseVariant(raw.variants.light, "variants.light");
|
|
122
|
+
if (typeof v === "string")
|
|
123
|
+
return { ok: false, error: v };
|
|
124
|
+
variants.light = v;
|
|
125
|
+
}
|
|
126
|
+
if (raw.variants.dark !== undefined) {
|
|
127
|
+
const v = parseVariant(raw.variants.dark, "variants.dark");
|
|
128
|
+
if (typeof v === "string")
|
|
129
|
+
return { ok: false, error: v };
|
|
130
|
+
variants.dark = v;
|
|
131
|
+
}
|
|
132
|
+
if (!variants.light && !variants.dark) {
|
|
133
|
+
return {
|
|
134
|
+
ok: false,
|
|
135
|
+
error: "variants must contain at least one of: light, dark",
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
const theme = {
|
|
139
|
+
id: raw.id,
|
|
140
|
+
name: raw.name.trim(),
|
|
141
|
+
variants,
|
|
142
|
+
};
|
|
143
|
+
if (isStr(raw.author))
|
|
144
|
+
theme.author = raw.author;
|
|
145
|
+
if (isStr(raw.description))
|
|
146
|
+
theme.description = raw.description;
|
|
147
|
+
if (isObj(raw.editorTheme)) {
|
|
148
|
+
const et = {};
|
|
149
|
+
if (isStr(raw.editorTheme.light))
|
|
150
|
+
et.light = raw.editorTheme.light;
|
|
151
|
+
if (isStr(raw.editorTheme.dark))
|
|
152
|
+
et.dark = raw.editorTheme.dark;
|
|
153
|
+
if (et.light || et.dark)
|
|
154
|
+
theme.editorTheme = et;
|
|
155
|
+
}
|
|
156
|
+
return { ok: true, theme };
|
|
157
|
+
}
|
|
158
|
+
//# sourceMappingURL=validateTheme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"validateTheme.js","sourceRoot":"","sources":["../../src/theme/validateTheme.ts"],"names":[],"mappings":"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"}
|