@lionrapid/core 0.3.1 → 0.4.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 (85) hide show
  1. package/dist/browser/attribute-extractor.d.ts +54 -0
  2. package/dist/browser/attribute-extractor.d.ts.map +1 -0
  3. package/dist/browser/attribute-extractor.js +155 -0
  4. package/dist/browser/attribute-extractor.js.map +1 -0
  5. package/dist/browser/auto-init.d.ts +4 -0
  6. package/dist/browser/auto-init.d.ts.map +1 -1
  7. package/dist/browser/auto-init.js +6 -2
  8. package/dist/browser/auto-init.js.map +1 -1
  9. package/dist/browser/auto-translator.d.ts +23 -0
  10. package/dist/browser/auto-translator.d.ts.map +1 -1
  11. package/dist/browser/auto-translator.js +90 -5
  12. package/dist/browser/auto-translator.js.map +1 -1
  13. package/dist/browser/block-extractor.d.ts +8 -0
  14. package/dist/browser/block-extractor.d.ts.map +1 -1
  15. package/dist/browser/block-extractor.js +77 -0
  16. package/dist/browser/block-extractor.js.map +1 -1
  17. package/dist/browser/editor/editor-api.d.ts +22 -1
  18. package/dist/browser/editor/editor-api.d.ts.map +1 -1
  19. package/dist/browser/editor/editor-api.js +54 -19
  20. package/dist/browser/editor/editor-api.js.map +1 -1
  21. package/dist/browser/editor/editor-init.js +72 -3
  22. package/dist/browser/editor/editor-init.js.map +1 -1
  23. package/dist/browser/editor/editor-styles.d.ts +1 -1
  24. package/dist/browser/editor/editor-styles.d.ts.map +1 -1
  25. package/dist/browser/editor/editor-styles.js +38 -1
  26. package/dist/browser/editor/editor-styles.js.map +1 -1
  27. package/dist/browser/editor/inspector.d.ts +8 -0
  28. package/dist/browser/editor/inspector.d.ts.map +1 -1
  29. package/dist/browser/editor/inspector.js +14 -0
  30. package/dist/browser/editor/inspector.js.map +1 -1
  31. package/dist/browser/editor/live-preview.d.ts +1 -1
  32. package/dist/browser/editor/live-preview.d.ts.map +1 -1
  33. package/dist/browser/editor/live-preview.js +27 -16
  34. package/dist/browser/editor/live-preview.js.map +1 -1
  35. package/dist/browser/editor/locale-url.d.ts +18 -0
  36. package/dist/browser/editor/locale-url.d.ts.map +1 -0
  37. package/dist/browser/editor/locale-url.js +37 -0
  38. package/dist/browser/editor/locale-url.js.map +1 -0
  39. package/dist/browser/editor/sidebar.d.ts +6 -0
  40. package/dist/browser/editor/sidebar.d.ts.map +1 -1
  41. package/dist/browser/editor/sidebar.js +133 -4
  42. package/dist/browser/editor/sidebar.js.map +1 -1
  43. package/dist/browser/editor/toolbar.d.ts +8 -1
  44. package/dist/browser/editor/toolbar.d.ts.map +1 -1
  45. package/dist/browser/editor/toolbar.js +49 -4
  46. package/dist/browser/editor/toolbar.js.map +1 -1
  47. package/dist/browser/index.d.ts +2 -0
  48. package/dist/browser/index.d.ts.map +1 -1
  49. package/dist/browser/index.js +1 -0
  50. package/dist/browser/index.js.map +1 -1
  51. package/dist/browser/lionrapid.auto.dev.js +320 -12
  52. package/dist/browser/lionrapid.auto.dev.js.map +4 -4
  53. package/dist/browser/lionrapid.auto.js +320 -12
  54. package/dist/browser/lionrapid.auto.js.map +4 -4
  55. package/dist/browser/lionrapid.auto.min.js +3 -3
  56. package/dist/browser/lionrapid.auto.min.js.map +4 -4
  57. package/dist/browser/lionrapid.editor.js +371 -36
  58. package/dist/browser/lionrapid.editor.js.map +3 -3
  59. package/dist/browser/lionrapid.editor.min.js +41 -4
  60. package/dist/browser/lionrapid.editor.min.js.map +4 -4
  61. package/dist/browser/lionrapid.esm.js +36 -2
  62. package/dist/browser/lionrapid.esm.js.map +2 -2
  63. package/dist/browser/lionrapid.esm.min.js +2 -2
  64. package/dist/browser/lionrapid.esm.min.js.map +3 -3
  65. package/dist/browser/lionrapid.iife.dev.js +36 -2
  66. package/dist/browser/lionrapid.iife.dev.js.map +2 -2
  67. package/dist/browser/lionrapid.iife.js +36 -2
  68. package/dist/browser/lionrapid.iife.js.map +2 -2
  69. package/dist/browser/lionrapid.iife.min.js +2 -2
  70. package/dist/browser/lionrapid.iife.min.js.map +3 -3
  71. package/dist/browser/lionrapid.umd.js +36 -2
  72. package/dist/browser/lionrapid.umd.js.map +2 -2
  73. package/dist/browser/lionrapid.umd.min.js +2 -2
  74. package/dist/browser/lionrapid.umd.min.js.map +3 -3
  75. package/dist/browser/md5.d.ts +3 -2
  76. package/dist/browser/md5.d.ts.map +1 -1
  77. package/dist/browser/md5.js +41 -6
  78. package/dist/browser/md5.js.map +1 -1
  79. package/dist/content/parser/MarkupParser.d.ts +0 -10
  80. package/dist/content/parser/MarkupParser.d.ts.map +1 -1
  81. package/dist/content/parser/MarkupParser.js +45 -3
  82. package/dist/content/parser/MarkupParser.js.map +1 -1
  83. package/dist/content/types.d.ts +30 -0
  84. package/dist/content/types.d.ts.map +1 -1
  85. package/package.json +1 -1
@@ -7,6 +7,13 @@ import { ExcludeFilter } from './exclude-filter.js';
7
7
  import { parseBlockElement } from './markup-parser.js';
8
8
  import { generateAutoKey } from './md5.js';
9
9
  const BLOCK_SELECTOR = 'p,h1,h2,h3,h4,h5,h6,li,td,th,label,button,figcaption,dt,dd,summary,caption';
10
+ // Inline elements eligible for "orphan" extraction when they have no block
11
+ // ancestor. Without this, markup like `<div><a>Transfer</a></div>` produces
12
+ // zero translatable units because <div>/<a> are absent from BLOCK_SELECTOR
13
+ // and the link has no <p>/<li>/etc. parent to absorb it as an indexed style.
14
+ // Conservative on purpose: only <a>. <span>/<button> can join later if real
15
+ // usage demands it (button is already a block tag).
16
+ const INLINE_BLOCK_SELECTOR = 'a';
10
17
  // Tags to skip (same as PHP/edge)
11
18
  const SKIP_TAGS = new Set([
12
19
  'SCRIPT',
@@ -108,8 +115,78 @@ export class BlockExtractor {
108
115
  }
109
116
  results.push({ element: el, unit, key });
110
117
  }
118
+ this.extractOrphanInline(root, results, includeTranslated);
111
119
  return results;
112
120
  }
121
+ /**
122
+ * Second pass: extract inline elements (currently <a>) that have no block
123
+ * ancestor. These would otherwise slip through both the block pass (not in
124
+ * BLOCK_SELECTOR) and the inline-style capture (no parent block to host
125
+ * them as `<1>...</1>`). Common shape: a `<div>` action group containing
126
+ * only links.
127
+ */
128
+ extractOrphanInline(root, results, includeTranslated) {
129
+ const candidates = root.querySelectorAll(INLINE_BLOCK_SELECTOR);
130
+ const elements = [];
131
+ if (root instanceof Element && root.matches(INLINE_BLOCK_SELECTOR)) {
132
+ elements.push(root);
133
+ }
134
+ for (let i = 0; i < candidates.length; i++) {
135
+ elements.push(candidates[i]);
136
+ }
137
+ for (let i = 0; i < elements.length; i++) {
138
+ const el = elements[i];
139
+ if (this.isInsideSkipTag(el))
140
+ continue;
141
+ if (!includeTranslated && this.hasSkipAttribute(el))
142
+ continue;
143
+ if (this.matchesExcludeSelector(el))
144
+ continue;
145
+ if (el.getAttribute('translate') === 'no')
146
+ continue;
147
+ // Has a block ancestor — already captured as `<N>...</N>` by the
148
+ // block pass (or its parent block was skipped, in which case we leave
149
+ // it alone to avoid double-counting from a partially-skipped block).
150
+ if (el.parentElement?.closest(BLOCK_SELECTOR))
151
+ continue;
152
+ // Outer orphan wins: `<a><span>X</span></a>` → only the outer <a>.
153
+ // (Currently INLINE_BLOCK_SELECTOR is just <a>, so this guards
154
+ // against nested links in malformed HTML.)
155
+ if (el.parentElement?.closest(INLINE_BLOCK_SELECTOR))
156
+ continue;
157
+ // Contains a nested block — let the inner block be extracted instead.
158
+ if (el.querySelector(BLOCK_SELECTOR))
159
+ continue;
160
+ const lrOriginal = el.getAttribute('data-lr-original');
161
+ let unit;
162
+ if (lrOriginal) {
163
+ const temp = document.createElement(el.tagName);
164
+ temp.innerHTML = lrOriginal;
165
+ unit = parseBlockElement(temp);
166
+ }
167
+ else {
168
+ unit = parseBlockElement(el);
169
+ }
170
+ const strippedText = unit.text.replace(/<\/?[0-9]+\/?>/g, '');
171
+ if (this.excludeFilter.shouldExclude(strippedText))
172
+ continue;
173
+ const lrBlock = el.getAttribute('data-lr-block');
174
+ let key;
175
+ if (lrBlock) {
176
+ key = lrBlock;
177
+ }
178
+ else {
179
+ const dataI18n = el.getAttribute('data-i18n');
180
+ if (dataI18n) {
181
+ key = dataI18n.includes(':') ? dataI18n : `common:${dataI18n}`;
182
+ }
183
+ else {
184
+ key = generateAutoKey(unit.text);
185
+ }
186
+ }
187
+ results.push({ element: el, unit, key });
188
+ }
189
+ }
113
190
  isInsideSkipTag(element) {
114
191
  let current = element.parentElement;
115
192
  while (current) {
@@ -1 +1 @@
1
- {"version":3,"file":"block-extractor.js","sourceRoot":"","sources":["../../src/browser/block-extractor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"block-extractor.js","sourceRoot":"","sources":["../../src/browser/block-extractor.ts"],"names":[],"mappings":"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"}
@@ -111,11 +111,32 @@ export declare class EditorAPI {
111
111
  */
112
112
  fetchWorkflowInfo(): Promise<EditorWorkflowInfo | null>;
113
113
  /**
114
- * Check if session is within 2min of expiry, and renew if so.
114
+ * Check if session is within 5min of expiry, and renew if so.
115
+ *
116
+ * The threshold is intentionally generous because background tabs throttle
117
+ * setInterval to once-per-minute (Chrome) or even less aggressively, and
118
+ * a sleeping laptop pauses timers entirely. Renewing early gives us
119
+ * headroom for those cases — the renewal interval still runs before the
120
+ * 15min server-side TTL elapses even if it fires a minute or two late.
115
121
  */
116
122
  private maybeRenewSession;
123
+ /**
124
+ * Attempt one renewal and signal whether the token actually changed.
125
+ * Used by the 401-retry path in API calls.
126
+ */
127
+ private tryRenew;
117
128
  private renewSession;
118
129
  private getSessionExp;
130
+ /**
131
+ * Authenticated fetch with one-shot 401 retry. If the request comes back
132
+ * 401, we attempt a session renewal and replay the request once with the
133
+ * new token. If renewal fails (token past the server's 2min grace), the
134
+ * caller still gets a 401 and falls through to handleSessionExpired.
135
+ *
136
+ * Always passes `init.signal` straight through so abortable callers
137
+ * (e.g. fetchStatus) still cancel correctly.
138
+ */
139
+ private authFetch;
119
140
  private handleSessionExpired;
120
141
  private handleVisibility;
121
142
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"editor-api.d.ts","sourceRoot":"","sources":["../../../src/browser/editor/editor-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-api.d.ts","sourceRoot":"","sources":["../../../src/browser/editor/editor-api.ts"],"names":[],"mappings":"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"}
@@ -81,12 +81,9 @@ export class EditorAPI {
81
81
  const items = [...this.queue];
82
82
  this.onStatus('saving');
83
83
  try {
84
- const response = await fetch(`${this.apiBase}/api/integrations/targets/batch`, {
84
+ const response = await this.authFetch(`${this.apiBase}/api/integrations/targets/batch`, {
85
85
  method: 'PUT',
86
- headers: {
87
- 'Content-Type': 'application/json',
88
- 'Authorization': `Bearer ${this.sessionToken}`,
89
- },
86
+ headers: { 'Content-Type': 'application/json' },
90
87
  body: JSON.stringify({
91
88
  translations: items.map((t) => ({
92
89
  key: `${t.locale}:${t.namespace}:${t.key}`,
@@ -137,10 +134,7 @@ export class EditorAPI {
137
134
  const batch = keys.slice(0, 200);
138
135
  const params = new URLSearchParams({ locale, namespace, keys: batch.join(',') });
139
136
  try {
140
- const response = await fetch(`${this.apiBase}/api/integrations/targets/status?${params}`, {
141
- headers: { 'Authorization': `Bearer ${this.sessionToken}` },
142
- signal: this.statusAbort.signal,
143
- });
137
+ const response = await this.authFetch(`${this.apiBase}/api/integrations/targets/status?${params}`, { signal: this.statusAbort.signal });
144
138
  if (response.status === 401) {
145
139
  this.handleSessionExpired();
146
140
  return {};
@@ -170,9 +164,7 @@ export class EditorAPI {
170
164
  return this.workflowInfoPromise;
171
165
  this.workflowInfoPromise = (async () => {
172
166
  try {
173
- const response = await fetch(`${this.apiBase}/api/integrations/editor/workflow`, {
174
- headers: { 'Authorization': `Bearer ${this.sessionToken}` },
175
- });
167
+ const response = await this.authFetch(`${this.apiBase}/api/integrations/editor/workflow`);
176
168
  if (response.status === 401) {
177
169
  this.handleSessionExpired();
178
170
  return null;
@@ -197,16 +189,31 @@ export class EditorAPI {
197
189
  // Session renewal
198
190
  // ============================================
199
191
  /**
200
- * Check if session is within 2min of expiry, and renew if so.
192
+ * Check if session is within 5min of expiry, and renew if so.
193
+ *
194
+ * The threshold is intentionally generous because background tabs throttle
195
+ * setInterval to once-per-minute (Chrome) or even less aggressively, and
196
+ * a sleeping laptop pauses timers entirely. Renewing early gives us
197
+ * headroom for those cases — the renewal interval still runs before the
198
+ * 15min server-side TTL elapses even if it fires a minute or two late.
201
199
  */
202
200
  async maybeRenewSession() {
203
201
  const exp = this.getSessionExp();
204
202
  if (!exp)
205
203
  return;
206
204
  const timeLeft = exp * 1000 - Date.now();
207
- if (timeLeft > 120_000)
208
- return; // More than 2 min left, skip
205
+ if (timeLeft > 300_000)
206
+ return; // More than 5 min left, skip
207
+ await this.renewSession();
208
+ }
209
+ /**
210
+ * Attempt one renewal and signal whether the token actually changed.
211
+ * Used by the 401-retry path in API calls.
212
+ */
213
+ async tryRenew() {
214
+ const before = this.sessionToken;
209
215
  await this.renewSession();
216
+ return this.sessionToken !== before;
210
217
  }
211
218
  async renewSession() {
212
219
  try {
@@ -257,6 +264,30 @@ export class EditorAPI {
257
264
  return null;
258
265
  }
259
266
  }
267
+ /**
268
+ * Authenticated fetch with one-shot 401 retry. If the request comes back
269
+ * 401, we attempt a session renewal and replay the request once with the
270
+ * new token. If renewal fails (token past the server's 2min grace), the
271
+ * caller still gets a 401 and falls through to handleSessionExpired.
272
+ *
273
+ * Always passes `init.signal` straight through so abortable callers
274
+ * (e.g. fetchStatus) still cancel correctly.
275
+ */
276
+ async authFetch(url, init = {}) {
277
+ const buildHeaders = () => {
278
+ const h = new Headers(init.headers);
279
+ h.set('Authorization', `Bearer ${this.sessionToken}`);
280
+ return h;
281
+ };
282
+ let response = await fetch(url, { ...init, headers: buildHeaders() });
283
+ if (response.status === 401) {
284
+ const renewed = await this.tryRenew();
285
+ if (renewed) {
286
+ response = await fetch(url, { ...init, headers: buildHeaders() });
287
+ }
288
+ }
289
+ return response;
290
+ }
260
291
  handleSessionExpired() {
261
292
  // Clear the preview cookie too so the edge stops serving drafts as
262
293
  // soon as the session is gone, even if the page stays open.
@@ -270,6 +301,13 @@ export class EditorAPI {
270
301
  if (document.visibilityState === 'hidden') {
271
302
  this.flush();
272
303
  }
304
+ else if (document.visibilityState === 'visible') {
305
+ // Tab returned to foreground. Background timers throttle/pause, so
306
+ // by the time the user comes back the session may be close to (or
307
+ // past) expiry. Try a renewal immediately — if still within the
308
+ // 2min server grace, this saves the next API call from 401.
309
+ this.maybeRenewSession();
310
+ }
273
311
  };
274
312
  // ============================================
275
313
  // Snapshot API
@@ -417,10 +455,7 @@ export class EditorAPI {
417
455
  */
418
456
  async transitionTarget(composite, action) {
419
457
  try {
420
- const response = await fetch(`${this.apiBase}/api/integrations/targets/${encodeURIComponent(composite)}/${action}`, {
421
- method: 'POST',
422
- headers: { 'Authorization': `Bearer ${this.sessionToken}` },
423
- });
458
+ const response = await this.authFetch(`${this.apiBase}/api/integrations/targets/${encodeURIComponent(composite)}/${action}`, { method: 'POST' });
424
459
  if (response.status === 401) {
425
460
  this.handleSessionExpired();
426
461
  return null;
@@ -1 +1 @@
1
- {"version":3,"file":"editor-api.js","sourceRoot":"","sources":["../../../src/browser/editor/editor-api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-api.js","sourceRoot":"","sources":["../../../src/browser/editor/editor-api.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,28 @@ import { Sidebar } from './sidebar.js';
14
14
  import { EditorAPI } from './editor-api.js';
15
15
  import { captureSnapshot } from './snapshot-capture.js';
16
16
  import { activateSnapshotViewer } from './snapshot-viewer.js';
17
+ import { BlockExtractor } from '../block-extractor.js';
18
+ import { localizeUrl } from './locale-url.js';
19
+ // Console diagnostic. Attached at module load time so it's available the
20
+ // instant the editor bundle parses — before any grant exchange, before any
21
+ // async setup. Sidebar overrides this later with a richer version that also
22
+ // reports each block's translation status.
23
+ //
24
+ // Usage in DevTools: __lr_dump_keys()
25
+ if (typeof window !== 'undefined') {
26
+ window.__lr_dump_keys = () => {
27
+ const extractor = new BlockExtractor();
28
+ const blocks = extractor.extract(document.body, true);
29
+ const rows = blocks.map((b, i) => ({
30
+ i,
31
+ key: b.key,
32
+ text: b.unit.text,
33
+ stylesJson: JSON.stringify(b.unit.styles),
34
+ }));
35
+ console.table(rows);
36
+ return rows;
37
+ };
38
+ }
17
39
  // ============================================
18
40
  // Session helpers
19
41
  // ============================================
@@ -266,10 +288,14 @@ async function activate(lr, grant, locale, apiBase, projectId) {
266
288
  const url = new URL(window.location.href);
267
289
  // Strip existing locale prefix if present
268
290
  const stripped = url.pathname.replace(/^\/[a-z]{2}(\/|$)/, '/');
269
- // Build new URL: /es/path?__lr_editor=grant
291
+ // Build new URL: /{locale}/path (no locale prefix for the default).
270
292
  const prefix = newLocale === defaultLocale ? '' : `/${newLocale}`;
271
293
  url.pathname = prefix + (stripped === '/' && prefix ? '' : stripped);
272
- url.searchParams.set('__lr_editor', grant);
294
+ // Don't re-append ?__lr_editor — by now the session is established and
295
+ // carried by the __lr_editor_active cookie (the server re-injects the
296
+ // editor on every page from it). The grant is single-use and already
297
+ // consumed; appending an empty one only confused the server's editor
298
+ // detection and dropped the FAB after a language switch.
273
299
  window.location.href = url.toString();
274
300
  return;
275
301
  }
@@ -325,11 +351,54 @@ async function activate(lr, grant, locale, apiBase, projectId) {
325
351
  },
326
352
  // When in recapture mode, surface it to the toolbar so the button label
327
353
  // can change from "Capture" to "Save re-capture".
328
- recaptureUuid ? { mode: 'recapture' } : undefined);
354
+ recaptureUuid ? { mode: 'recapture' } : undefined,
355
+ // Browse-mode toggle. Suspending the inspector lets the PM click the
356
+ // site's own links to reach another page; the session rides along via the
357
+ // sessionStorage JWT + __lr_editor_active cookie, so the editor re-activates
358
+ // on the destination. Disabled in snapshot viewer mode (static sandbox,
359
+ // nothing to navigate to).
360
+ snapshotUuid
361
+ ? null
362
+ : (browsing) => {
363
+ inspector.setActive(!browsing);
364
+ if (browsing)
365
+ sidebar.close();
366
+ });
329
367
  // Wire progress counter to sidebar status
330
368
  sidebar.setProgressCallback((translated, total) => {
331
369
  toolbar.updateProgress(translated, total);
332
370
  });
371
+ // Locale-preserving link interceptor. On /es/, internal links like
372
+ // /about/ would naively navigate to the default-language page; this
373
+ // rewrites them to /es/about/ so the operator stays in the locale they
374
+ // were browsing. Runs in BUBBLE phase so the inspector (capture phase)
375
+ // gets first say — if the inspector preventDefault'd a block click, this
376
+ // never fires. New-tab modifiers and editor-UI clicks are left alone.
377
+ document.addEventListener('click', (e) => {
378
+ if (e.defaultPrevented)
379
+ return;
380
+ if (e.metaKey || e.ctrlKey || e.shiftKey || e.altKey)
381
+ return;
382
+ if (e.button !== 0)
383
+ return;
384
+ const target = e.target;
385
+ if (!target?.closest)
386
+ return;
387
+ if (target.closest('#__lionrapid-editor'))
388
+ return;
389
+ const a = target.closest('a[href]');
390
+ if (!a)
391
+ return;
392
+ if (a.target && a.target !== '_self')
393
+ return;
394
+ if (a.hasAttribute('download'))
395
+ return;
396
+ const localized = localizeUrl(a.href, defaultLocale);
397
+ if (localized !== a.href) {
398
+ e.preventDefault();
399
+ window.location.href = localized;
400
+ }
401
+ });
333
402
  // Hydrate status from server and update progress
334
403
  sidebar.hydrateStatus().then(() => {
335
404
  toolbar.updateProgress(sidebar.getTranslatedCount(), sidebar.getTotalCount());
@@ -1 +1 @@
1
- {"version":3,"file":"editor-init.js","sourceRoot":"","sources":["../../../src/browser/editor/editor-init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"editor-init.js","sourceRoot":"","sources":["../../../src/browser/editor/editor-init.ts"],"names":[],"mappings":"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"}
@@ -2,5 +2,5 @@
2
2
  * Editor CSS Styles
3
3
  * All styles are injected into Shadow DOM — no leakage to host page.
4
4
  */
5
- export declare const EDITOR_CSS = "\n/* Reset inside shadow DOM */\n:host {\n all: initial;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 14px;\n color: #1a1a2e;\n line-height: 1.5;\n box-sizing: border-box;\n}\n\n*, *::before, *::after {\n box-sizing: border-box;\n}\n\n/* \u2500\u2500 FAB (replaces fixed toolbar) \u2500\u2500 */\n.lr-fab {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 2147483647;\n display: flex;\n align-items: center;\n gap: 0;\n user-select: none;\n}\n\n.lr-fab-btn {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n background: #2d7f7f;\n color: #fff;\n border: none;\n font-weight: 700;\n font-size: 16px;\n cursor: grab;\n box-shadow: 0 4px 12px rgba(0,0,0,0.25);\n transition: box-shadow 0.15s;\n flex-shrink: 0;\n z-index: 1;\n}\n\n.lr-fab-btn:hover {\n box-shadow: 0 6px 20px rgba(0,0,0,0.3);\n}\n\n.lr-fab-btn:active {\n cursor: grabbing;\n}\n\n.lr-fab-panel {\n display: none;\n align-items: center;\n gap: 8px;\n background: #1a1a2e;\n color: #fff;\n padding: 8px 12px;\n border-radius: 8px;\n margin-right: 8px;\n box-shadow: 0 4px 12px rgba(0,0,0,0.25);\n white-space: nowrap;\n}\n\n.lr-fab.expanded .lr-fab-panel {\n display: flex;\n}\n\n.lr-lang-dropdown {\n position: relative;\n}\n\n.lr-lang-btn {\n background: rgba(255,255,255,0.1);\n color: #fff;\n border: 1px solid rgba(255,255,255,0.2);\n border-radius: 4px;\n padding: 4px 10px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n outline: none;\n}\n\n.lr-lang-btn:hover {\n background: rgba(255,255,255,0.2);\n}\n\n.lr-lang-menu {\n display: none;\n position: absolute;\n bottom: calc(100% + 6px);\n left: 0;\n background: #1a1a2e;\n border: 1px solid rgba(255,255,255,0.15);\n border-radius: 6px;\n padding: 4px;\n min-width: 60px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.4);\n}\n\n.lr-lang-menu.open {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.lr-lang-item {\n background: none;\n color: #ccc;\n border: none;\n padding: 6px 10px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border-radius: 4px;\n text-align: left;\n}\n\n.lr-lang-item:hover {\n background: rgba(255,255,255,0.1);\n color: #fff;\n}\n\n.lr-lang-item.active {\n background: #2d7f7f;\n color: #fff;\n}\n\n.lr-fab-progress {\n font-size: 13px;\n color: rgba(255,255,255,0.7);\n}\n\n.lr-fab-exit {\n background: none;\n border: 1px solid rgba(255,255,255,0.3);\n color: #fff;\n padding: 4px 10px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n}\n\n.lr-fab-exit:hover {\n background: rgba(255,255,255,0.1);\n}\n\n.lr-fab-snapshot {\n background: #2d7f7f;\n border: 1px solid #2d7f7f;\n color: #fff;\n padding: 4px 10px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n}\n\n.lr-fab-snapshot:hover {\n background: #3a9999;\n border-color: #3a9999;\n}\n\n.lr-fab-snapshot:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n/* Workflow action buttons (Phase 3) */\n.lr-workflow-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin: 12px 0 4px;\n padding: 8px 0 0;\n border-top: 1px solid #e5e7eb;\n}\n\n.lr-wf-btn {\n font-size: 12px;\n font-weight: 500;\n padding: 5px 10px;\n border-radius: 4px;\n border: 1px solid transparent;\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.lr-wf-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.lr-wf-primary {\n background: #2563eb;\n color: white;\n border-color: #2563eb;\n}\n.lr-wf-primary:hover:not(:disabled) {\n background: #1d4ed8;\n}\n\n.lr-wf-secondary {\n background: white;\n color: #374151;\n border-color: #d1d5db;\n}\n.lr-wf-secondary:hover:not(:disabled) {\n background: #f3f4f6;\n}\n\n.lr-wf-danger {\n background: white;\n color: #b91c1c;\n border-color: #fca5a5;\n}\n.lr-wf-danger:hover:not(:disabled) {\n background: #fef2f2;\n}\n\n.lr-wf-note {\n font-size: 11px;\n color: #6b7280;\n font-style: italic;\n padding: 4px 0;\n}\n\n/* Workflow context strip (per-row 'you are here' indicator at the top of\n the workflow actions block). Width-flexible: stages wrap on narrow sidebars. */\n.lr-wf-strip-host {\n width: 100%;\n}\n.lr-wf-strip {\n display: flex;\n flex-direction: column;\n gap: 4px;\n margin-bottom: 8px;\n padding: 6px 8px;\n background: #f9fafb;\n border: 1px solid #e5e7eb;\n border-radius: 4px;\n}\n.lr-wf-strip-stages {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 500;\n}\n.lr-wf-strip-stage {\n padding: 2px 8px;\n border-radius: 3px;\n white-space: nowrap;\n}\n.lr-wf-strip-stage.is-active {\n background: #2563eb;\n color: white;\n}\n.lr-wf-strip-stage.is-muted {\n background: #e5e7eb;\n color: #9ca3af;\n}\n.lr-wf-strip-sep {\n color: #d1d5db;\n font-size: 12px;\n user-select: none;\n}\n.lr-wf-strip-caption {\n font-size: 11px;\n color: #4b5563;\n font-weight: 500;\n}\n\n/* Snapshot viewer sandbox wrapper */\n#__lr_snapshot_root {\n isolation: isolate;\n position: relative;\n width: 100%;\n min-height: 100vh;\n}\n\n/* \u2500\u2500 Overlay \u2500\u2500 */\n.lr-overlay {\n position: fixed;\n pointer-events: none;\n border: 2px solid #2d7f7f;\n border-radius: 3px;\n background: rgba(45, 127, 127, 0.06);\n transition: all 0.1s ease;\n z-index: 2147483646;\n display: none;\n}\n\n.lr-overlay.active {\n display: block;\n}\n\n/* \u2500\u2500 Sidebar \u2500\u2500 */\n.lr-sidebar {\n position: fixed;\n top: 0;\n right: 0;\n width: 360px;\n min-width: 280px;\n max-width: 600px;\n bottom: 0;\n background: #fff;\n border-left: 1px solid #e0e0e0;\n z-index: 2147483647;\n overflow-y: auto;\n transform: translateX(100%);\n transition: transform 0.2s ease;\n}\n\n.lr-sidebar.open {\n transform: translateX(0);\n}\n\n/* Resize handle on left edge */\n.lr-sidebar-resize {\n position: absolute;\n top: 0;\n left: -4px;\n width: 8px;\n bottom: 0;\n cursor: col-resize;\n z-index: 1;\n}\n\n.lr-sidebar-resize:hover,\n.lr-sidebar-resize.active {\n background: rgba(45, 127, 127, 0.3);\n}\n\n.lr-sidebar-header {\n padding: 16px;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.lr-sidebar-title {\n font-weight: 600;\n font-size: 15px;\n}\n\n.lr-sidebar-close {\n background: none;\n border: none;\n font-size: 20px;\n cursor: pointer;\n color: #666;\n padding: 4px 8px;\n line-height: 1;\n}\n\n.lr-sidebar-close:hover {\n color: #1a1a2e;\n}\n\n.lr-sidebar-body {\n padding: 16px;\n}\n\n.lr-field {\n margin-bottom: 16px;\n}\n\n.lr-field-label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n}\n\n.lr-field-key {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 12px;\n color: #2d7f7f;\n background: #f0f7f7;\n padding: 4px 8px;\n border-radius: 4px;\n word-break: break-all;\n}\n\n.lr-field-original {\n font-size: 13px;\n color: #333;\n background: #f8f8f8;\n padding: 10px 12px;\n border-radius: 6px;\n border: 1px solid #eee;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.lr-field-tag {\n display: inline;\n background: #d9eded;\n color: #2d7f7f;\n padding: 0 3px;\n border-radius: 2px;\n font-family: monospace;\n font-size: 12px;\n}\n\n.lr-textarea {\n width: 100%;\n min-height: 100px;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-family: inherit;\n font-size: 14px;\n line-height: 1.5;\n resize: vertical;\n outline: none;\n transition: border-color 0.15s;\n}\n\n.lr-textarea:focus {\n border-color: #2d7f7f;\n box-shadow: 0 0 0 3px rgba(45, 127, 127, 0.1);\n}\n\n.lr-preview {\n padding: 10px 12px;\n background: #f8f8f8;\n border: 1px solid #eee;\n border-radius: 6px;\n font-size: 13px;\n min-height: 40px;\n}\n\n.lr-status {\n padding: 10px 16px;\n font-size: 12px;\n color: #666;\n text-align: center;\n border-top: 1px solid #eee;\n background: #fafafa;\n}\n\n.lr-status.saved {\n color: #22c55e;\n}\n\n.lr-status.error {\n color: #ef4444;\n}\n\n.lr-status.unsaved {\n color: #f59e0b;\n}\n\n/* \u2500\u2500 Page blocks list \u2500\u2500 */\n.lr-blocks-section {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #eee;\n}\n\n.lr-blocks-title {\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n}\n\n.lr-block-item {\n padding: 8px 10px;\n border: 1px solid #eee;\n border-radius: 4px;\n margin-bottom: 4px;\n cursor: pointer;\n font-size: 13px;\n color: #333;\n overflow: hidden;\n transition: background 0.1s;\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.lr-block-item:hover {\n background: #f0f7f7;\n border-color: #2d7f7f;\n}\n\n.lr-block-item.active {\n background: #e5f2f2;\n border-color: #2d7f7f;\n}\n\n/* \u2500\u2500 Status dots \u2500\u2500 */\n.lr-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n margin-top: 5px;\n background: #d1d5db;\n}\n\n.lr-status-dot.missing { background: #d1d5db; }\n.lr-status-dot.mt { background: #60a5fa; }\n.lr-status-dot.edited { background: #f97316; }\n.lr-status-dot.confirmed { background: #22c55e; }\n.lr-status-dot.ready { background: #22c55e; }\n.lr-status-dot.locked { background: #a855f7; }\n.lr-status-dot.unsaved { background: #f59e0b; }\n.lr-status-dot.readonly { background: #9ca3af; opacity: 0.6; } /* grey + faded \u2014 past my stage */\n\n/* \u2500\u2500 Locked textarea \u2500\u2500 */\n.lr-textarea-locked {\n background: #f3f4f6;\n color: #6b7280;\n cursor: not-allowed;\n border-color: #e5e7eb;\n}\n\n/* \u2500\u2500 Block text layout \u2500\u2500 */\n.lr-block-text {\n overflow: hidden;\n min-width: 0;\n}\n\n.lr-block-source {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.lr-block-preview {\n font-size: 11px;\n color: #888;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-top: 2px;\n}\n";
5
+ export declare const EDITOR_CSS = "\n/* Reset inside shadow DOM */\n:host {\n all: initial;\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;\n font-size: 14px;\n color: #1a1a2e;\n line-height: 1.5;\n box-sizing: border-box;\n}\n\n*, *::before, *::after {\n box-sizing: border-box;\n}\n\n/* \u2500\u2500 FAB (replaces fixed toolbar) \u2500\u2500 */\n.lr-fab {\n position: fixed;\n bottom: 20px;\n right: 20px;\n z-index: 2147483647;\n display: flex;\n align-items: center;\n gap: 0;\n user-select: none;\n}\n\n.lr-fab-btn {\n width: 48px;\n height: 48px;\n border-radius: 50%;\n background: #2d7f7f;\n color: #fff;\n border: none;\n font-weight: 700;\n font-size: 16px;\n cursor: grab;\n box-shadow: 0 4px 12px rgba(0,0,0,0.25);\n transition: box-shadow 0.15s;\n flex-shrink: 0;\n z-index: 1;\n}\n\n.lr-fab-btn:hover {\n box-shadow: 0 6px 20px rgba(0,0,0,0.3);\n}\n\n.lr-fab-btn:active {\n cursor: grabbing;\n}\n\n.lr-fab-panel {\n display: none;\n align-items: center;\n gap: 8px;\n background: #1a1a2e;\n color: #fff;\n padding: 8px 12px;\n border-radius: 8px;\n margin-right: 8px; /* gap between panel (left) and the FAB button (right) */\n box-shadow: 0 4px 12px rgba(0,0,0,0.25);\n white-space: nowrap;\n}\n\n.lr-fab.expanded .lr-fab-panel {\n display: flex;\n}\n\n.lr-lang-dropdown {\n position: relative;\n}\n\n.lr-lang-btn {\n background: rgba(255,255,255,0.1);\n color: #fff;\n border: 1px solid rgba(255,255,255,0.2);\n border-radius: 4px;\n padding: 4px 10px;\n font-size: 13px;\n font-weight: 600;\n cursor: pointer;\n outline: none;\n}\n\n.lr-lang-btn:hover {\n background: rgba(255,255,255,0.2);\n}\n\n.lr-lang-menu {\n display: none;\n position: absolute;\n bottom: calc(100% + 6px);\n left: 0;\n background: #1a1a2e;\n border: 1px solid rgba(255,255,255,0.15);\n border-radius: 6px;\n padding: 4px;\n min-width: 60px;\n box-shadow: 0 4px 16px rgba(0,0,0,0.4);\n}\n\n.lr-lang-menu.open {\n display: flex;\n flex-direction: column;\n gap: 2px;\n}\n\n.lr-lang-item {\n background: none;\n color: #ccc;\n border: none;\n padding: 6px 10px;\n font-size: 13px;\n font-weight: 500;\n cursor: pointer;\n border-radius: 4px;\n text-align: left;\n}\n\n.lr-lang-item:hover {\n background: rgba(255,255,255,0.1);\n color: #fff;\n}\n\n.lr-lang-item.active {\n background: #2d7f7f;\n color: #fff;\n}\n\n.lr-fab-progress {\n font-size: 13px;\n color: rgba(255,255,255,0.7);\n}\n\n.lr-fab-exit {\n background: none;\n border: 1px solid rgba(255,255,255,0.3);\n color: #fff;\n padding: 4px 10px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n}\n\n.lr-fab-exit:hover {\n background: rgba(255,255,255,0.1);\n}\n\n.lr-fab-snapshot {\n background: #2d7f7f;\n border: 1px solid #2d7f7f;\n color: #fff;\n padding: 4px 10px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n}\n\n.lr-fab-snapshot:hover {\n background: #3a9999;\n border-color: #3a9999;\n}\n\n.lr-fab-snapshot:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.lr-fab-browse {\n background: none;\n border: 1px solid rgba(255,255,255,0.3);\n color: #fff;\n padding: 4px 10px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n}\n\n.lr-fab-browse:hover {\n background: rgba(255,255,255,0.1);\n}\n\n.lr-fab-browse.active {\n background: #f5a623;\n border-color: #f5a623;\n color: #1a1a2e;\n font-weight: 600;\n}\n\n.lr-link-nav {\n background: none;\n border: 1px solid #2d7f7f;\n color: #2d7f7f;\n padding: 6px 12px;\n border-radius: 4px;\n cursor: pointer;\n font-size: 13px;\n font-weight: 600;\n}\n\n.lr-link-nav:hover {\n background: #2d7f7f;\n color: #fff;\n}\n\n/* Workflow action buttons (Phase 3) */\n.lr-workflow-actions {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n margin: 12px 0 4px;\n padding: 8px 0 0;\n border-top: 1px solid #e5e7eb;\n}\n\n.lr-wf-btn {\n font-size: 12px;\n font-weight: 500;\n padding: 5px 10px;\n border-radius: 4px;\n border: 1px solid transparent;\n cursor: pointer;\n transition: background-color 0.1s;\n}\n\n.lr-wf-btn:disabled {\n opacity: 0.5;\n cursor: not-allowed;\n}\n\n.lr-wf-primary {\n background: #2563eb;\n color: white;\n border-color: #2563eb;\n}\n.lr-wf-primary:hover:not(:disabled) {\n background: #1d4ed8;\n}\n\n.lr-wf-secondary {\n background: white;\n color: #374151;\n border-color: #d1d5db;\n}\n.lr-wf-secondary:hover:not(:disabled) {\n background: #f3f4f6;\n}\n\n.lr-wf-danger {\n background: white;\n color: #b91c1c;\n border-color: #fca5a5;\n}\n.lr-wf-danger:hover:not(:disabled) {\n background: #fef2f2;\n}\n\n.lr-wf-note {\n font-size: 11px;\n color: #6b7280;\n font-style: italic;\n padding: 4px 0;\n}\n\n/* Workflow context strip (per-row 'you are here' indicator at the top of\n the workflow actions block). Width-flexible: stages wrap on narrow sidebars. */\n.lr-wf-strip-host {\n width: 100%;\n}\n.lr-wf-strip {\n display: flex;\n flex-direction: column;\n gap: 4px;\n margin-bottom: 8px;\n padding: 6px 8px;\n background: #f9fafb;\n border: 1px solid #e5e7eb;\n border-radius: 4px;\n}\n.lr-wf-strip-stages {\n display: flex;\n flex-wrap: wrap;\n align-items: center;\n gap: 4px;\n font-size: 11px;\n font-weight: 500;\n}\n.lr-wf-strip-stage {\n padding: 2px 8px;\n border-radius: 3px;\n white-space: nowrap;\n}\n.lr-wf-strip-stage.is-active {\n background: #2563eb;\n color: white;\n}\n.lr-wf-strip-stage.is-muted {\n background: #e5e7eb;\n color: #9ca3af;\n}\n.lr-wf-strip-sep {\n color: #d1d5db;\n font-size: 12px;\n user-select: none;\n}\n.lr-wf-strip-caption {\n font-size: 11px;\n color: #4b5563;\n font-weight: 500;\n}\n\n/* Snapshot viewer sandbox wrapper */\n#__lr_snapshot_root {\n isolation: isolate;\n position: relative;\n width: 100%;\n min-height: 100vh;\n}\n\n/* \u2500\u2500 Overlay \u2500\u2500 */\n.lr-overlay {\n position: fixed;\n pointer-events: none;\n border: 2px solid #2d7f7f;\n border-radius: 3px;\n background: rgba(45, 127, 127, 0.06);\n transition: all 0.1s ease;\n z-index: 2147483646;\n display: none;\n}\n\n.lr-overlay.active {\n display: block;\n}\n\n/* \u2500\u2500 Sidebar \u2500\u2500 */\n.lr-sidebar {\n position: fixed;\n top: 0;\n right: 0;\n width: 360px;\n min-width: 280px;\n max-width: 600px;\n bottom: 0;\n background: #fff;\n border-left: 1px solid #e0e0e0;\n z-index: 2147483647;\n overflow-y: auto;\n transform: translateX(100%);\n transition: transform 0.2s ease;\n}\n\n.lr-sidebar.open {\n transform: translateX(0);\n}\n\n/* Resize handle on left edge */\n.lr-sidebar-resize {\n position: absolute;\n top: 0;\n left: -4px;\n width: 8px;\n bottom: 0;\n cursor: col-resize;\n z-index: 1;\n}\n\n.lr-sidebar-resize:hover,\n.lr-sidebar-resize.active {\n background: rgba(45, 127, 127, 0.3);\n}\n\n.lr-sidebar-header {\n padding: 16px;\n border-bottom: 1px solid #e0e0e0;\n display: flex;\n align-items: center;\n justify-content: space-between;\n}\n\n.lr-sidebar-title {\n font-weight: 600;\n font-size: 15px;\n}\n\n.lr-sidebar-close {\n background: none;\n border: none;\n font-size: 20px;\n cursor: pointer;\n color: #666;\n padding: 4px 8px;\n line-height: 1;\n}\n\n.lr-sidebar-close:hover {\n color: #1a1a2e;\n}\n\n.lr-sidebar-body {\n padding: 16px;\n}\n\n.lr-field {\n margin-bottom: 16px;\n}\n\n.lr-field-label {\n display: block;\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 6px;\n}\n\n.lr-field-key {\n font-family: 'SF Mono', Monaco, 'Cascadia Code', monospace;\n font-size: 12px;\n color: #2d7f7f;\n background: #f0f7f7;\n padding: 4px 8px;\n border-radius: 4px;\n word-break: break-all;\n}\n\n.lr-field-original {\n font-size: 13px;\n color: #333;\n background: #f8f8f8;\n padding: 10px 12px;\n border-radius: 6px;\n border: 1px solid #eee;\n white-space: pre-wrap;\n word-break: break-word;\n}\n\n.lr-field-tag {\n display: inline;\n background: #d9eded;\n color: #2d7f7f;\n padding: 0 3px;\n border-radius: 2px;\n font-family: monospace;\n font-size: 12px;\n}\n\n.lr-textarea {\n width: 100%;\n min-height: 100px;\n padding: 10px 12px;\n border: 1px solid #ddd;\n border-radius: 6px;\n font-family: inherit;\n font-size: 14px;\n line-height: 1.5;\n resize: vertical;\n outline: none;\n transition: border-color 0.15s;\n}\n\n.lr-textarea:focus {\n border-color: #2d7f7f;\n box-shadow: 0 0 0 3px rgba(45, 127, 127, 0.1);\n}\n\n.lr-preview {\n padding: 10px 12px;\n background: #f8f8f8;\n border: 1px solid #eee;\n border-radius: 6px;\n font-size: 13px;\n min-height: 40px;\n}\n\n.lr-status {\n padding: 10px 16px;\n font-size: 12px;\n color: #666;\n text-align: center;\n border-top: 1px solid #eee;\n background: #fafafa;\n}\n\n.lr-status.saved {\n color: #22c55e;\n}\n\n.lr-status.error {\n color: #ef4444;\n}\n\n.lr-status.unsaved {\n color: #f59e0b;\n}\n\n/* \u2500\u2500 Page blocks list \u2500\u2500 */\n.lr-blocks-section {\n margin-top: 16px;\n padding-top: 16px;\n border-top: 1px solid #eee;\n}\n\n.lr-blocks-title {\n font-size: 12px;\n font-weight: 600;\n color: #666;\n text-transform: uppercase;\n letter-spacing: 0.5px;\n margin-bottom: 8px;\n}\n\n.lr-block-item {\n padding: 8px 10px;\n border: 1px solid #eee;\n border-radius: 4px;\n margin-bottom: 4px;\n cursor: pointer;\n font-size: 13px;\n color: #333;\n overflow: hidden;\n transition: background 0.1s;\n display: flex;\n align-items: flex-start;\n gap: 8px;\n}\n\n.lr-block-item:hover {\n background: #f0f7f7;\n border-color: #2d7f7f;\n}\n\n.lr-block-item.active {\n background: #e5f2f2;\n border-color: #2d7f7f;\n}\n\n/* \u2500\u2500 Status dots \u2500\u2500 */\n.lr-status-dot {\n width: 8px;\n height: 8px;\n border-radius: 50%;\n flex-shrink: 0;\n margin-top: 5px;\n background: #d1d5db;\n}\n\n.lr-status-dot.missing { background: #d1d5db; }\n.lr-status-dot.mt { background: #60a5fa; }\n.lr-status-dot.edited { background: #f97316; }\n.lr-status-dot.confirmed { background: #22c55e; }\n.lr-status-dot.ready { background: #22c55e; }\n.lr-status-dot.locked { background: #a855f7; }\n.lr-status-dot.unsaved { background: #f59e0b; }\n.lr-status-dot.readonly { background: #9ca3af; opacity: 0.6; } /* grey + faded \u2014 past my stage */\n\n/* \u2500\u2500 Locked textarea \u2500\u2500 */\n.lr-textarea-locked {\n background: #f3f4f6;\n color: #6b7280;\n cursor: not-allowed;\n border-color: #e5e7eb;\n}\n\n/* \u2500\u2500 Block text layout \u2500\u2500 */\n.lr-block-text {\n overflow: hidden;\n min-width: 0;\n}\n\n.lr-block-source {\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n}\n\n.lr-block-preview {\n font-size: 11px;\n color: #888;\n overflow: hidden;\n text-overflow: ellipsis;\n white-space: nowrap;\n margin-top: 2px;\n}\n";
6
6
  //# sourceMappingURL=editor-styles.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"editor-styles.d.ts","sourceRoot":"","sources":["../../../src/browser/editor/editor-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,UAAU,09TAqiBtB,CAAC"}
1
+ {"version":3,"file":"editor-styles.d.ts","sourceRoot":"","sources":["../../../src/browser/editor/editor-styles.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,UAAU,opVA0kBtB,CAAC"}
@@ -61,7 +61,7 @@ export const EDITOR_CSS = `
61
61
  color: #fff;
62
62
  padding: 8px 12px;
63
63
  border-radius: 8px;
64
- margin-right: 8px;
64
+ margin-right: 8px; /* gap between panel (left) and the FAB button (right) */
65
65
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
66
66
  white-space: nowrap;
67
67
  }
@@ -171,6 +171,43 @@ export const EDITOR_CSS = `
171
171
  cursor: not-allowed;
172
172
  }
173
173
 
174
+ .lr-fab-browse {
175
+ background: none;
176
+ border: 1px solid rgba(255,255,255,0.3);
177
+ color: #fff;
178
+ padding: 4px 10px;
179
+ border-radius: 4px;
180
+ cursor: pointer;
181
+ font-size: 13px;
182
+ }
183
+
184
+ .lr-fab-browse:hover {
185
+ background: rgba(255,255,255,0.1);
186
+ }
187
+
188
+ .lr-fab-browse.active {
189
+ background: #f5a623;
190
+ border-color: #f5a623;
191
+ color: #1a1a2e;
192
+ font-weight: 600;
193
+ }
194
+
195
+ .lr-link-nav {
196
+ background: none;
197
+ border: 1px solid #2d7f7f;
198
+ color: #2d7f7f;
199
+ padding: 6px 12px;
200
+ border-radius: 4px;
201
+ cursor: pointer;
202
+ font-size: 13px;
203
+ font-weight: 600;
204
+ }
205
+
206
+ .lr-link-nav:hover {
207
+ background: #2d7f7f;
208
+ color: #fff;
209
+ }
210
+
174
211
  /* Workflow action buttons (Phase 3) */
175
212
  .lr-workflow-actions {
176
213
  display: flex;