green-screen-react 1.1.3 → 1.2.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.
package/dist/styles.css CHANGED
@@ -5,6 +5,7 @@
5
5
  --gs-white: #FFFFFF;
6
6
  --gs-blue: #7B93FF;
7
7
  --gs-cyan: #00FFFF;
8
+ --gs-turquoise: #00FFFF;
8
9
  --gs-yellow: #FFFF00;
9
10
  --gs-red: #FF5555;
10
11
  --gs-pink: #FF55FF;
@@ -13,7 +14,17 @@
13
14
  --gs-card-border: #1e293b;
14
15
  --gs-header-bg: #090e1a;
15
16
  --gs-muted: #94a3b8;
16
- --gs-font: 'JetBrains Mono', 'Courier New', monospace;
17
+ /*
18
+ * Monospace font stack with CJK fallbacks. Japanese and other CJK glyphs
19
+ * need a separate font since JetBrains Mono / Courier New don't cover
20
+ * the full plane. The listed CJK fonts are commonly installed on
21
+ * macOS/Windows/Linux and render kanji/kana at fixed full-width.
22
+ */
23
+ --gs-font: 'JetBrains Mono', 'Courier New',
24
+ 'MS Gothic', 'Osaka-Mono', 'Hiragino Kaku Gothic ProN',
25
+ 'Noto Sans Mono CJK JP', 'Noto Sans CJK JP',
26
+ 'Source Han Code JP', 'DejaVu Sans Mono',
27
+ monospace;
17
28
  }
18
29
 
19
30
  /* ── Terminal Container ───────────────────────────────────────────── */
@@ -213,10 +224,23 @@
213
224
  border-bottom: 1px solid rgba(16, 185, 129, 0.45);
214
225
  }
215
226
 
216
- .gs-confirmed-field {
217
- display: inline-block;
218
- position: relative;
219
- color: var(--gs-cyan);
227
+ /* Active input field — accent border when cursor is inside (highlight-on-entry).
228
+ * Combined with the per-span inline style when the host declares a
229
+ * highlight_entry_attr FCW. */
230
+ .gs-field-active {
231
+ box-shadow: inset 0 -2px 0 0 var(--gs-yellow, #FFFF00);
232
+ }
233
+
234
+ /* DBCS input field marker — faint background tint to signal CJK input mode.
235
+ * Paired with `lang="ja"` on the hidden input to hint the browser IME. */
236
+ .gs-dbcs-field {
237
+ background: rgba(123, 147, 255, 0.08);
238
+ }
239
+
240
+ /* WEA extended highlight blink */
241
+ @keyframes gs-blink {
242
+ 0%, 49% { visibility: visible; }
243
+ 50%, 100% { visibility: hidden; }
220
244
  }
221
245
 
222
246
  /* ── Overlays ─────────────────────────────────────────────────────── */
@@ -255,26 +279,6 @@
255
279
  color: #FF6B00;
256
280
  }
257
281
 
258
- /* ── Sign-in Hint ────────────────────────────────────────────────── */
259
-
260
- .gs-signin-hint {
261
- position: absolute;
262
- bottom: 0;
263
- left: 0;
264
- right: 0;
265
- padding: 6px 12px;
266
- background-color: rgba(16, 185, 129, 0.12);
267
- border-top: 1px solid rgba(16, 185, 129, 0.3);
268
- color: var(--gs-green);
269
- font-family: var(--gs-font);
270
- font-size: 12px;
271
- text-align: center;
272
- letter-spacing: 0.05em;
273
- z-index: 5;
274
- animation: gs-fade-in 400ms ease-out;
275
- pointer-events: none;
276
- }
277
-
278
282
  /* ── Shortcuts Panel ──────────────────────────────────────────────── */
279
283
 
280
284
  .gs-shortcuts-panel {
@@ -289,9 +293,50 @@
289
293
  font-family: var(--gs-font);
290
294
  font-size: 11px;
291
295
  color: var(--gs-muted);
292
- pointer-events: none;
296
+ pointer-events: auto;
293
297
  animation: gs-fade-in 200ms ease-out;
294
- max-width: 260px;
298
+ max-width: 320px;
299
+ }
300
+
301
+ .gs-shortcuts-section-title {
302
+ color: var(--gs-muted);
303
+ text-transform: uppercase;
304
+ letter-spacing: 0.08em;
305
+ font-size: 9px;
306
+ margin: 8px 0 4px;
307
+ opacity: 0.7;
308
+ }
309
+
310
+ .gs-shortcut-row {
311
+ cursor: pointer;
312
+ transition: background-color 0.1s;
313
+ }
314
+
315
+ .gs-shortcut-row:hover {
316
+ background-color: rgba(16, 185, 129, 0.12);
317
+ }
318
+
319
+ .gs-shortcuts-fkeys {
320
+ display: grid;
321
+ grid-template-columns: repeat(6, 1fr);
322
+ gap: 3px;
323
+ }
324
+
325
+ .gs-shortcut-fkey {
326
+ background: transparent;
327
+ border: 1px solid var(--gs-card-border);
328
+ border-radius: 3px;
329
+ padding: 3px 0;
330
+ color: var(--gs-green);
331
+ font-family: var(--gs-font);
332
+ font-size: 10px;
333
+ cursor: pointer;
334
+ transition: background-color 0.1s, border-color 0.1s;
335
+ }
336
+
337
+ .gs-shortcut-fkey:hover {
338
+ background-color: rgba(16, 185, 129, 0.15);
339
+ border-color: var(--gs-green);
295
340
  }
296
341
 
297
342
  .gs-shortcuts-header {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "green-screen-react",
3
- "version": "1.1.3",
3
+ "version": "1.2.0",
4
4
  "description": "Multi-protocol legacy terminal React component (TN5250, TN3270, VT, HP 6530)",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",