@floegence/floeterm-terminal-web 0.7.0 → 0.9.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 (34) hide show
  1. package/README.md +39 -1
  2. package/THEME_PROVENANCE.json +35 -0
  3. package/THEME_QUALITY_EVIDENCE.json +55 -0
  4. package/THIRD_PARTY_THEME_NOTICES.md +30 -0
  5. package/dist/core/TerminalCore.d.ts +3 -0
  6. package/dist/core/TerminalCore.d.ts.map +1 -1
  7. package/dist/core/TerminalCore.js +83 -33
  8. package/dist/core/TerminalCore.js.map +1 -1
  9. package/dist/index.d.ts +2 -2
  10. package/dist/index.d.ts.map +1 -1
  11. package/dist/index.js +1 -1
  12. package/dist/index.js.map +1 -1
  13. package/dist/internal/GhosttyScrollbackCompat.d.ts +16 -0
  14. package/dist/internal/GhosttyScrollbackCompat.d.ts.map +1 -0
  15. package/dist/internal/GhosttyScrollbackCompat.js +43 -0
  16. package/dist/internal/GhosttyScrollbackCompat.js.map +1 -0
  17. package/dist/internal/TerminalResourceLoader.d.ts +27 -2
  18. package/dist/internal/TerminalResourceLoader.d.ts.map +1 -1
  19. package/dist/internal/TerminalResourceLoader.js +112 -47
  20. package/dist/internal/TerminalResourceLoader.js.map +1 -1
  21. package/dist/types.d.ts +37 -1
  22. package/dist/types.d.ts.map +1 -1
  23. package/dist/types.js.map +1 -1
  24. package/dist/utils/config.d.ts +7 -2
  25. package/dist/utils/config.d.ts.map +1 -1
  26. package/dist/utils/config.js +49 -158
  27. package/dist/utils/config.js.map +1 -1
  28. package/dist/utils/themeData.d.ts +562 -0
  29. package/dist/utils/themeData.d.ts.map +1 -0
  30. package/dist/utils/themeData.js +583 -0
  31. package/dist/utils/themeData.js.map +1 -0
  32. package/package.json +12 -7
  33. package/third_party_licenses/solarized-MIT.txt +19 -0
  34. package/third_party_licenses/tokyonight-Apache-2.0.txt +201 -0
@@ -1,160 +1,51 @@
1
- const SELECTION_BACKGROUND = '#f5e6b3';
2
- const SELECTION_FOREGROUND = '#1f2328';
3
- const DARK_THEME = {
4
- background: '#0b0f14',
5
- foreground: '#c9d1d9',
6
- cursor: '#c9d1d9',
7
- cursorAccent: '#0b0f14',
8
- selectionBackground: SELECTION_BACKGROUND,
9
- selectionForeground: SELECTION_FOREGROUND,
10
- black: '#0b0f14',
11
- red: '#ff5c57',
12
- green: '#5af78e',
13
- yellow: '#f3f99d',
14
- blue: '#57c7ff',
15
- magenta: '#ff6ac1',
16
- cyan: '#9aedfe',
17
- white: '#c9d1d9',
18
- brightBlack: '#545d68',
19
- brightRed: '#ff5c57',
20
- brightGreen: '#5af78e',
21
- brightYellow: '#f3f99d',
22
- brightBlue: '#57c7ff',
23
- brightMagenta: '#ff6ac1',
24
- brightCyan: '#9aedfe',
25
- brightWhite: '#ffffff'
26
- };
27
- const LIGHT_THEME = {
28
- background: '#ffffff',
29
- foreground: '#333333',
30
- cursor: '#333333',
31
- selectionBackground: SELECTION_BACKGROUND,
32
- selectionForeground: SELECTION_FOREGROUND,
33
- black: '#000000',
34
- red: '#cd3131',
35
- green: '#00bc00',
36
- yellow: '#949800',
37
- blue: '#0451a5',
38
- magenta: '#bc05bc',
39
- cyan: '#0598bc',
40
- white: '#555555',
41
- brightBlack: '#666666',
42
- brightRed: '#cd3131',
43
- brightGreen: '#14ce14',
44
- brightYellow: '#b5ba00',
45
- brightBlue: '#0451a5',
46
- brightMagenta: '#bc05bc',
47
- brightCyan: '#0598bc',
48
- brightWhite: '#a5a5a5'
49
- };
50
- const SOLARIZED_DARK_THEME = {
51
- background: '#002b36',
52
- foreground: '#93a1a1',
53
- cursor: '#93a1a1',
54
- selectionBackground: SELECTION_BACKGROUND,
55
- selectionForeground: SELECTION_FOREGROUND,
56
- black: '#073642',
57
- red: '#dc322f',
58
- green: '#859900',
59
- yellow: '#b58900',
60
- blue: '#268bd2',
61
- magenta: '#d33682',
62
- cyan: '#2aa198',
63
- white: '#eee8d5',
64
- brightBlack: '#002b36',
65
- brightRed: '#cb4b16',
66
- brightGreen: '#586e75',
67
- brightYellow: '#657b83',
68
- brightBlue: '#839496',
69
- brightMagenta: '#6c71c4',
70
- brightCyan: '#93a1a1',
71
- brightWhite: '#fdf6e3'
72
- };
73
- const MONOKAI_THEME = {
74
- background: '#272822',
75
- foreground: '#f8f8f2',
76
- cursor: '#f8f8f2',
77
- selectionBackground: SELECTION_BACKGROUND,
78
- selectionForeground: SELECTION_FOREGROUND,
79
- black: '#272822',
80
- red: '#f92672',
81
- green: '#a6e22e',
82
- yellow: '#f4bf75',
83
- blue: '#66d9ef',
84
- magenta: '#ae81ff',
85
- cyan: '#a1efe4',
86
- white: '#f8f8f2',
87
- brightBlack: '#75715e',
88
- brightRed: '#f92672',
89
- brightGreen: '#a6e22e',
90
- brightYellow: '#f4bf75',
91
- brightBlue: '#66d9ef',
92
- brightMagenta: '#ae81ff',
93
- brightCyan: '#a1efe4',
94
- brightWhite: '#f9f8f5'
95
- };
96
- const TOKYO_NIGHT_THEME = {
97
- background: '#1a1b26',
98
- foreground: '#c0caf5',
99
- cursor: '#c0caf5',
100
- cursorAccent: '#1a1b26',
101
- selectionBackground: SELECTION_BACKGROUND,
102
- selectionForeground: SELECTION_FOREGROUND,
103
- black: '#15161e',
104
- red: '#f7768e',
105
- green: '#9ece6a',
106
- yellow: '#e0af68',
107
- blue: '#7aa2f7',
108
- magenta: '#bb9af7',
109
- cyan: '#7dcfff',
110
- white: '#a9b1d6',
111
- brightBlack: '#414868',
112
- brightRed: '#f7768e',
113
- brightGreen: '#9ece6a',
114
- brightYellow: '#e0af68',
115
- brightBlue: '#7aa2f7',
116
- brightMagenta: '#bb9af7',
117
- brightCyan: '#7dcfff',
118
- brightWhite: '#c0caf5'
119
- };
120
- export const getThemeColors = (theme) => {
121
- switch (theme) {
122
- case 'light':
123
- return LIGHT_THEME;
124
- case 'solarizedDark':
125
- return SOLARIZED_DARK_THEME;
126
- case 'monokai':
127
- return MONOKAI_THEME;
128
- case 'tokyoNight':
129
- return TOKYO_NIGHT_THEME;
130
- case 'dark':
131
- default:
132
- return DARK_THEME;
133
- }
134
- };
135
- export const getDefaultTerminalConfig = (theme, overrides = {}) => {
136
- return {
137
- cols: 80,
138
- rows: 24,
139
- theme: getThemeColors(theme),
140
- fontSize: 12,
141
- fontFamily: '"JetBrains Mono", "Berkeley Mono", "SF Mono", Menlo, Monaco, "Cascadia Mono", "Cascadia Code", Consolas, "Roboto Mono", monospace',
142
- cursorBlink: false,
143
- scrollback: 10000,
144
- allowTransparency: true,
145
- convertEol: true,
146
- allowProposedApi: true,
147
- disableStdin: false,
148
- screenReaderMode: false,
149
- windowsMode: false,
150
- bellStyle: 'none',
151
- rightClickSelectsWord: false,
152
- cursorStyle: 'block',
153
- cursorWidth: 1,
154
- logLevel: 'warn',
155
- tabStopWidth: 8,
156
- minimumContrastRatio: 1,
157
- ...overrides
158
- };
1
+ import { BUILT_IN_TERMINAL_THEME_DATA } from './themeData.js';
2
+ const freezeColors = (colors) => (Object.freeze({ ...colors }));
3
+ const freezeDefinition = (definition) => Object.freeze({
4
+ id: definition.id,
5
+ label: definition.label,
6
+ appearance: definition.appearance,
7
+ colors: freezeColors(definition.colors),
8
+ });
9
+ export const TERMINAL_THEME_DEFINITIONS = Object.freeze(BUILT_IN_TERMINAL_THEME_DATA.map((definition) => freezeDefinition({
10
+ id: definition.id,
11
+ label: definition.label,
12
+ appearance: definition.appearance,
13
+ colors: definition.colors,
14
+ })));
15
+ export const TERMINAL_THEME_NAMES = Object.freeze(TERMINAL_THEME_DEFINITIONS.map(({ id }) => id));
16
+ const terminalThemeDefinitionById = new Map(TERMINAL_THEME_DEFINITIONS.map((definition) => [definition.id, definition]));
17
+ export const isTerminalThemeName = (value) => (typeof value === 'string' && terminalThemeDefinitionById.has(value));
18
+ export const normalizeTerminalThemeName = (value, fallback = 'dark') => {
19
+ if (isTerminalThemeName(value))
20
+ return value;
21
+ return isTerminalThemeName(fallback) ? fallback : 'dark';
159
22
  };
23
+ export const getTerminalThemeDefinition = (theme) => (terminalThemeDefinitionById.get(normalizeTerminalThemeName(theme))
24
+ ?? terminalThemeDefinitionById.get('dark'));
25
+ export const getThemeColors = (theme) => ({
26
+ ...getTerminalThemeDefinition(theme).colors,
27
+ });
28
+ export const getDefaultTerminalConfig = (theme, overrides = {}) => ({
29
+ cols: 80,
30
+ rows: 24,
31
+ theme: getThemeColors(theme),
32
+ fontSize: 12,
33
+ fontFamily: '"JetBrains Mono", "Berkeley Mono", "SF Mono", Menlo, Monaco, "Cascadia Mono", "Cascadia Code", Consolas, "Roboto Mono", monospace',
34
+ cursorBlink: false,
35
+ scrollback: 10000,
36
+ allowTransparency: true,
37
+ convertEol: true,
38
+ allowProposedApi: true,
39
+ disableStdin: false,
40
+ screenReaderMode: false,
41
+ windowsMode: false,
42
+ bellStyle: 'none',
43
+ rightClickSelectsWord: false,
44
+ cursorStyle: 'block',
45
+ cursorWidth: 1,
46
+ logLevel: 'warn',
47
+ tabStopWidth: 8,
48
+ minimumContrastRatio: 1,
49
+ ...overrides,
50
+ });
160
51
  //# sourceMappingURL=config.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"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"}