@lingjingai/script-editor 0.1.24 → 0.1.25

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/style.css CHANGED
@@ -546,16 +546,19 @@
546
546
 
547
547
  /* asian format inline */
548
548
  .lj-se-row--asian { line-height: 1.9; font-size: 14px; }
549
- /* action + dialogue cue lines lay out as flex: the prefix (△ / speaker / colon)
550
- stays put while the content editor fills the rest of the line. This keeps the
551
- editing <textarea> on the SAME line as the prefix (a 100%-wide textarea would
552
- otherwise drop below it). */
549
+ /* Asian rows use a fixed prefix/content split so display spans and editing
550
+ textareas wrap with the same width. */
553
551
  .lj-se-asian-action,
554
- .lj-se-asian-cueline { display: flex; flex-wrap: wrap; align-items: flex-start; }
552
+ .lj-se-asian-cueline {
553
+ display: grid;
554
+ grid-template-columns: max-content minmax(0, 1fr);
555
+ align-items: flex-start;
556
+ }
555
557
  .lj-se-asian-action { opacity: 0.78; }
556
558
  .lj-se-asian-action-mark { flex-shrink: 0; margin-right: 8px; font-family: "JetBrains Mono", ui-monospace, monospace; opacity: 0.7; }
557
559
  .lj-se-asian-narration { font-style: italic; opacity: 0.8; }
558
560
  .lj-se-asian-cueline.is-inner { font-style: italic; opacity: 0.92; }
561
+ .lj-se-asian-cue-prefix { display: inline-flex; align-items: baseline; flex-wrap: nowrap; white-space: nowrap; }
559
562
  .lj-se-asian-speaker { flex-shrink: 0; font-weight: 600; }
560
563
  /* As a flex item, a native <select> sizes to its widest <option> (the widest
561
564
  actor name) — leaving a gap before the emotion tag on short names. field-sizing
@@ -568,12 +571,13 @@
568
571
  .lj-se-asian-tag .lj-se-editing { width: auto; field-sizing: content; min-width: 2ch; max-width: 14ch; }
569
572
  .lj-se-asian-colon { flex-shrink: 0; margin: 0 2px; }
570
573
  .lj-se-asian-narration .lj-se-editable { display: inline; }
571
- /* the content editor (span in display, textarea in edit) fills the rest of the
572
- flex line in both states */
573
- .lj-se-asian-action > .lj-se-editable,
574
- .lj-se-asian-action > .lj-se-editing,
575
- .lj-se-asian-cueline > .lj-se-editable,
576
- .lj-se-asian-cueline > .lj-se-editing { flex: 1 1 auto; min-width: 6ch; width: auto; }
574
+ .lj-se-asian-content {
575
+ display: block;
576
+ min-width: 0;
577
+ max-width: 100%;
578
+ overflow-wrap: anywhere;
579
+ }
580
+ .lj-se-editing.lj-se-asian-content { width: 100%; }
577
581
 
578
582
  /* ── Insert / split boundary affordance — ZERO layout height ─────────────
579
583
  The ⊕ floats in the paper's left margin (negative left) and is absolutely
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lingjingai/script-editor",
3
- "version": "0.1.24",
3
+ "version": "0.1.25",
4
4
  "description": "Pure, business-decoupled screenplay (剧本) editor: value:ScriptProject + onEdit(patch); dual-format (standard/asian), virtualized single-stream, click-to-edit; bundled CSS, business injected via adapters.",
5
5
  "license": "MIT",
6
6
  "type": "module",