@lingjingai/script-editor 0.1.19 → 0.1.21
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/INTEGRATION.md +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +434 -105
- package/dist/index.js.map +1 -1
- package/dist/style.css +25 -4
- package/package.json +6 -2
package/dist/style.css
CHANGED
|
@@ -264,6 +264,14 @@
|
|
|
264
264
|
.lj-se-canvas { position: relative; min-height: 0; flex: 1; overflow: hidden; display: flex; }
|
|
265
265
|
.lj-se-canvas > .lj-se-stream,
|
|
266
266
|
.lj-se-canvas > .lj-se-entity { flex: 1; }
|
|
267
|
+
.lj-se-search { position: absolute; top: 20px; right: 44px; z-index: 35; display: inline-flex; align-items: center; gap: 4px; height: 32px; border: 1px solid var(--lj-se-border); border-radius: 6px; background: var(--lj-se-popover); padding: 0 6px 0 9px; color: var(--lj-se-muted-fg); box-shadow: 0 8px 24px -12px oklch(0 0 0 / 0.24), 0 2px 8px -4px oklch(0 0 0 / 0.12); }
|
|
268
|
+
.lj-se-search-input { width: 220px; min-width: 0; border: 0; outline: none; background: transparent; color: var(--lj-se-fg); font: inherit; font-size: 13px; }
|
|
269
|
+
.lj-se-search-input::placeholder { color: var(--lj-se-muted-fg); }
|
|
270
|
+
.lj-se-search-count { min-width: 38px; text-align: center; font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 10.5px; font-variant-numeric: tabular-nums; color: var(--lj-se-muted-fg); }
|
|
271
|
+
.lj-se-search-btn { display: inline-flex; align-items: center; justify-content: center; width: 22px; height: 22px; border: 0; border-radius: 4px; background: transparent; color: var(--lj-se-muted-fg); cursor: pointer; padding: 0; }
|
|
272
|
+
.lj-se-search-btn:hover { background: var(--lj-se-accent); color: var(--lj-se-fg); }
|
|
273
|
+
.lj-se-search-btn:disabled { opacity: 0.35; cursor: default; }
|
|
274
|
+
.lj-se-search-hit { border-radius: 3px; background: oklch(0.88 0.15 90 / 0.62); color: inherit; padding: 0 1px; }
|
|
267
275
|
|
|
268
276
|
/* small ghost icon button (change-type, undo/redo) */
|
|
269
277
|
.lj-se-rowbtn { display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--lj-se-muted-fg); cursor: pointer; border-radius: 6px; padding: 4px; }
|
|
@@ -274,6 +282,7 @@
|
|
|
274
282
|
.lj-se-select { appearance: none; -webkit-appearance: none; background: transparent; border: 0; outline: none; padding: 0; font: inherit; color: inherit; cursor: pointer; max-width: 100%; border-radius: 3px; }
|
|
275
283
|
.lj-se-select:hover { text-decoration: underline dotted; text-underline-offset: 3px; }
|
|
276
284
|
.lj-se-select:disabled { cursor: default; text-decoration: none; }
|
|
285
|
+
.lj-se-select.is-search-hit { background: oklch(0.88 0.15 90 / 0.42); box-shadow: 0 0 0 2px oklch(0.88 0.15 90 / 0.42); }
|
|
277
286
|
.lj-se-select option { color: var(--lj-se-fg); background: var(--lj-se-popover); }
|
|
278
287
|
.is-orphan { color: var(--lj-se-destructive); }
|
|
279
288
|
|
|
@@ -363,7 +372,6 @@
|
|
|
363
372
|
.lj-se-ctx-kicker { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 12px; font-weight: 500; text-transform: uppercase; letter-spacing: 0.06em; color: var(--lj-se-muted-fg); }
|
|
364
373
|
.lj-se-ctx-name { font-size: 12px; font-weight: 500; color: var(--lj-se-fg); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
365
374
|
.lj-se-ctx-meta { font-family: "JetBrains Mono", ui-monospace, monospace; font-size: 11px; color: var(--lj-se-muted-fg); }
|
|
366
|
-
|
|
367
375
|
/* ── Format toggle ───────────────────────────────────────────────────── */
|
|
368
376
|
.lj-se-format { display: inline-flex; align-items: center; gap: 2px; border-radius: 6px; padding: 2px; font-size: 11px; }
|
|
369
377
|
.lj-se-format-btn { height: 24px; border: 0; background: transparent; border-radius: 4px; padding: 0 8px; line-height: 1; cursor: pointer; font: inherit; font-size: 11px; color: color-mix(in oklab, var(--lj-se-muted-fg) 65%, transparent); }
|
|
@@ -613,7 +621,6 @@
|
|
|
613
621
|
.lj-se-quote-btn svg { width: 13px; height: 13px; color: var(--lj-se-muted-fg); }
|
|
614
622
|
.lj-se-quote-btn:hover svg { color: var(--lj-se-fg); }
|
|
615
623
|
|
|
616
|
-
/* ── Stream: worldview block (inline, not full-height) ───────────────── */
|
|
617
624
|
/* ── Asset group header ──────────────────────────────────────────────── */
|
|
618
625
|
.lj-se-assetgroup-head { display: flex; justify-content: center; padding: 24px 24px 8px; }
|
|
619
626
|
.lj-se-assetgroup-title { width: 100%; max-width: 820px; font-size: 13px; font-weight: 700; letter-spacing: 0.04em; color: var(--lj-se-fg); border-bottom: 1px solid var(--lj-se-border); padding-bottom: 6px; }
|
|
@@ -641,8 +648,22 @@
|
|
|
641
648
|
.lj-se-assetcard-state-top { display: flex; align-items: center; justify-content: space-between; gap: 4px; }
|
|
642
649
|
.lj-se-assetcard-state-name { font-size: 13px; font-weight: 600; }
|
|
643
650
|
.lj-se-assetcard-state-desc { display: block; margin-top: 2px; font-size: 12px; color: var(--lj-se-muted-fg); min-height: 1.2em; }
|
|
644
|
-
.lj-se-assetcard-state
|
|
645
|
-
.lj-se-assetcard-state
|
|
651
|
+
.lj-se-assetcard-state-del { display: inline-flex; width: 24px; height: 24px; align-items: center; justify-content: center; border: 0; background: transparent; border-radius: 6px; color: var(--lj-se-muted-fg); cursor: pointer; }
|
|
652
|
+
.lj-se-assetcard-state-del:hover { background: color-mix(in oklab, var(--lj-se-destructive) 10%, transparent); color: var(--lj-se-destructive); }
|
|
653
|
+
|
|
654
|
+
/* ── Modal confirm ───────────────────────────────────────────────────── */
|
|
655
|
+
.lj-se-modal-backdrop { position: fixed; inset: 0; z-index: 1200; display: flex; align-items: center; justify-content: center; padding: 24px; background: oklch(0 0 0 / 0.28); }
|
|
656
|
+
.lj-se-modal { width: min(360px, 100%); border: 1px solid var(--lj-se-border); border-radius: 10px; background: var(--lj-se-popover); color: var(--lj-se-fg); box-shadow: 0 18px 50px -20px oklch(0 0 0 / 0.45), 0 6px 18px -8px oklch(0 0 0 / 0.24); padding: 14px; }
|
|
657
|
+
.lj-se-modal-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
|
|
658
|
+
.lj-se-modal-title { margin: 0; font-size: 14px; font-weight: 650; }
|
|
659
|
+
.lj-se-modal-x { display: inline-flex; width: 28px; height: 28px; align-items: center; justify-content: center; border: 0; background: transparent; border-radius: 6px; color: var(--lj-se-muted-fg); cursor: pointer; }
|
|
660
|
+
.lj-se-modal-x:hover { background: var(--lj-se-accent); color: var(--lj-se-fg); }
|
|
661
|
+
.lj-se-modal-body { margin: 10px 0 16px; font-size: 13px; line-height: 1.6; color: var(--lj-se-muted-fg); }
|
|
662
|
+
.lj-se-modal-actions { display: flex; justify-content: flex-end; gap: 8px; }
|
|
663
|
+
.lj-se-modal-btn { border: 1px solid var(--lj-se-border); background: var(--lj-se-card); color: var(--lj-se-fg); cursor: pointer; border-radius: 6px; padding: 6px 12px; font: inherit; font-size: 12px; }
|
|
664
|
+
.lj-se-modal-btn:hover { background: var(--lj-se-accent); }
|
|
665
|
+
.lj-se-modal-btn-danger { border-color: color-mix(in oklab, var(--lj-se-destructive) 35%, var(--lj-se-border)); background: var(--lj-se-destructive); color: white; }
|
|
666
|
+
.lj-se-modal-btn-danger:hover { background: color-mix(in oklab, var(--lj-se-destructive) 88%, black); }
|
|
646
667
|
|
|
647
668
|
/* ── Reference grid (asset → scenes) ─────────────────────────────────── */
|
|
648
669
|
.lj-se-refgrid { margin-top: 12px; display: flex; flex-wrap: wrap; gap: 6px 12px; }
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@lingjingai/script-editor",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.21",
|
|
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",
|
|
@@ -13,10 +13,14 @@
|
|
|
13
13
|
],
|
|
14
14
|
"exports": {
|
|
15
15
|
".": {
|
|
16
|
+
"development": "./src/index.ts",
|
|
16
17
|
"types": "./dist/index.d.ts",
|
|
17
18
|
"default": "./dist/index.js"
|
|
18
19
|
},
|
|
19
|
-
"./style.css":
|
|
20
|
+
"./style.css": {
|
|
21
|
+
"development": "./src/styles.css",
|
|
22
|
+
"default": "./dist/style.css"
|
|
23
|
+
}
|
|
20
24
|
},
|
|
21
25
|
"main": "./dist/index.js",
|
|
22
26
|
"types": "./dist/index.d.ts",
|