studiograph 1.3.48-next.238 → 1.3.48-next.239
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/server/routes/asset-api.js +43 -0
- package/dist/server/routes/asset-api.js.map +1 -1
- package/dist/services/asset-delete-impact.js +17 -105
- package/dist/services/asset-delete-impact.js.map +1 -1
- package/dist/services/asset-index-sweep.js +22 -0
- package/dist/services/asset-index-sweep.js.map +1 -1
- package/dist/services/asset-reference-index.d.ts +39 -0
- package/dist/services/asset-reference-index.js +33 -0
- package/dist/services/asset-reference-index.js.map +1 -0
- package/dist/services/asset-reference-scan.d.ts +57 -0
- package/dist/services/asset-reference-scan.js +150 -0
- package/dist/services/asset-reference-scan.js.map +1 -0
- package/dist/web/_app/immutable/assets/BulkActionsBar.D_-CBnA5.css +1 -0
- package/dist/web/_app/immutable/chunks/{BgUQgDm32.js → 0Q9Poj7Q2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BT8rpGWr.js → 1WNYnx2s.js} +1 -1
- package/dist/web/_app/immutable/chunks/{VpFxMdN-.js → B-53fhEp.js} +1 -1
- package/dist/web/_app/immutable/chunks/B9tdcPFd2.js +1 -0
- package/dist/web/_app/immutable/chunks/{MbzgcxRP.js → BNFLmNbm.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CS4Ct1r1.js → BNyqaReS.js} +4 -4
- package/dist/web/_app/immutable/chunks/{CdgA7q2s.js → BPILs-6H.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BdNkOBh4.js → BX58EMfc.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BY3od4Tj.js → BZRSMLpj.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BNIqRLeu.js → B_Q2ikpC.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DE1hER--.js → Be8atwXD.js} +2 -2
- package/dist/web/_app/immutable/chunks/{S3GFCUrG.js → BlB-J7g2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CoBH5gLr.js → Bqj5THe4.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DXwkR_QB.js → Bu68wlAv.js} +2 -2
- package/dist/web/_app/immutable/chunks/{4RACPFAC.js → BwNx-Krs.js} +2 -2
- package/dist/web/_app/immutable/chunks/{xcy1NNvu.js → BzqwCWHS.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DpRE0WSD.js → C6_MueJs.js} +1 -1
- package/dist/web/_app/immutable/chunks/{yTHMF8742.js → C87IaHYh2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DjFaLoeb.js → C9-W5gb5.js} +2 -2
- package/dist/web/_app/immutable/chunks/{B1yhcw2U2.js → CE4L9Tdp2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{J9wzmy3l2.js → CIfkrRcg2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DBBDkMri.js → CM2kFeMr.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BJ7fWs2s.js → CVKD10C7.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D0tmF18U2.js → CW-Ov0pM2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BBuR_knA2.js → CdmK3A3f2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{fn0Ihk5o.js → CfWggRjP.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DtmSNMc42.js → CfzXQJbU2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{BXjIrZQK2.js → CjBwpMBz2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DqJwQWkG.js → Cj_OZrfj.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BrnN_HSo2.js → ClfNZrQj2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BwQP6a_G.js → CqFbmzSF.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CVSpQBHD.js → Cr5BwQl3.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DKMjEMTI.js → Crp6TpJG.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CH0_mw4N2.js → Cy5jFIwC2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{qRqPCFgh.js → CzGq8Ipm.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dnp10d0c.js → D3DRGdDK.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CspUxSWU.js → D4w_-z_1.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CCSeuj9t2.js → D5B_tKDU2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DySsNmiW2.js → DA1j3PV-2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DiIAvGsu.js → DDGvXH7D.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DsGyqBOC.js → DGxjBBgc.js} +2 -2
- package/dist/web/_app/immutable/chunks/{CYxuPhAf.js → DIjVvUkI.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BNkT5crX.js → DJJ3G70D.js} +1 -1
- package/dist/web/_app/immutable/chunks/{VaAm3Fv5.js → DKotJLkU.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BgP6cy9a.js → DU4VHSBM.js} +1 -1
- package/dist/web/_app/immutable/chunks/{NaJ_6ZOv2.js → DbrXa1V62.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C8YIkAM-2.js → DcYQcDrH2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bw90PDwm.js → Dd3b5zAE.js} +2 -2
- package/dist/web/_app/immutable/chunks/{ChBjfmP2.js → DdVDf5xu.js} +1 -1
- package/dist/web/_app/immutable/chunks/{COdml7Sr.js → DftarwxC.js} +1 -1
- package/dist/web/_app/immutable/chunks/DgF3ta9a.js +1 -0
- package/dist/web/_app/immutable/chunks/{BhDsbxez.js → Dme6nqpX.js} +3 -3
- package/dist/web/_app/immutable/chunks/{C5gYvxn3.js → Dnh8R-L4.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Chc1ZOUe2.js → DsLjiBTy2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{dXHBMDD4.js → Dtg0mY8S.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D3iDHKQW.js → DzPoqIW3.js} +1 -1
- package/dist/web/_app/immutable/chunks/Kh-6DI1Z.js +1 -0
- package/dist/web/_app/immutable/chunks/{CQSQJFA0.js → QFgAlnjg.js} +1 -1
- package/dist/web/_app/immutable/chunks/{2QDBpRHc.js → bXA0LEtk.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B1VBT2pg.js → c_0_3I7o.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BGO3q7Ok2.js → e8-FLj6j2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{gYTW0lQ92.js → iERz5c4V2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B5yhgD-x.js → ltIFKHeT.js} +1 -1
- package/dist/web/_app/immutable/chunks/{C9J7dj_r.js → opOSqe3M.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DuRpUCgC.js → s3KhJbPc.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.DzbxyRxU.js → app.D5h04EVK.js} +2 -2
- package/dist/web/_app/immutable/entry/start.qaBR9PnG.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.6UTrMGBR.js → 0.Uo_fpMxv.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.BZ5_jJrx.js → 1.CNWAaSgM.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.Daz7wPqG.js → 10.CcrAJFX3.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.B6okcO4B.js → 11.BpqEWp0v.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.CMDJOGAp.js → 12.qOg-Rv20.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.DA6QN8OY.js → 13.BOu1vBz9.js} +1 -1
- package/dist/web/_app/immutable/nodes/{15.BXbMiuvM.js → 15.BS5-L-82.js} +1 -1
- package/dist/web/_app/immutable/nodes/{17.BfiRk7-v.js → 17.C4R428bf.js} +1 -1
- package/dist/web/_app/immutable/nodes/{18.C-KqsvpL.js → 18.BTMNXp-p.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.B1X1cRRA.js → 2.B9o6EQbw.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.D2yZ7K_P.js → 3.BgHyHKnp.js} +3 -3
- package/dist/web/_app/immutable/nodes/{4.CuXH5D_B.js → 4.PNVLzVyZ.js} +3 -3
- package/dist/web/_app/immutable/nodes/{5.7iyLCJQR.js → 5.C452eJJj.js} +1 -1
- package/dist/web/_app/immutable/nodes/6.lD-emq-Y.js +6 -0
- package/dist/web/_app/immutable/nodes/{7.CQI5ylp0.js → 7.BtJajjKA.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.qm2Fepxm.js → 8.CT5hirOF.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.ZDew5gmi.js → 9.jKfHATxg.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +13 -13
- package/package.json +1 -1
- package/dist/web/_app/immutable/assets/BulkActionsBar.uuv1XnDn.css +0 -1
- package/dist/web/_app/immutable/chunks/B8E1J7vy.js +0 -1
- package/dist/web/_app/immutable/chunks/Ciq3AG5K2.js +0 -1
- package/dist/web/_app/immutable/chunks/ZuMvAmBj.js +0 -1
- package/dist/web/_app/immutable/entry/start.DKV08r_t.js +0 -1
- package/dist/web/_app/immutable/nodes/6.6SLb7YQZ.js +0 -6
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Workspace-wide asset reference scan (assets-referenced-not-owned).
|
|
3
|
+
*
|
|
4
|
+
* Two features need the same walk: "which assets does this entry SOLELY
|
|
5
|
+
* reference" (P2 delete prompt) and "how many entries reference each asset"
|
|
6
|
+
* (P3 loose/unreferenced filter — the inverted index). This is the one
|
|
7
|
+
* implementation of that walk; both are thin consumers.
|
|
8
|
+
*
|
|
9
|
+
* The walk is:
|
|
10
|
+
* - LIVE-RECONCILED (eng review D1): for an entry with an open editor doc the
|
|
11
|
+
* live Y.Doc body REPLACES the disk body (a reference just pasted blocks an
|
|
12
|
+
* offer / inflates a count; one just removed does the opposite). Disk
|
|
13
|
+
* FRONTMATTER is always scanned (it isn't editable live). Live-only docs
|
|
14
|
+
* (a fresh create still being typed, no disk file yet) are swept directly.
|
|
15
|
+
* - BUDGETED (fail-safe): a soft wall-clock cap. On overrun the walk stops and
|
|
16
|
+
* `partial` is true — the user-initiated, low-frequency scan must never
|
|
17
|
+
* stall the UI on a huge workspace, and callers must NEVER treat an
|
|
18
|
+
* unscanned asset as unreferenced (P2 offers nothing; P3 marks nothing loose).
|
|
19
|
+
* - ALL repos, even ones the caller can't read: a reference is a reference
|
|
20
|
+
* wherever it lives. Consumers reveal only an aggregate (a boolean / a
|
|
21
|
+
* count), never the referencing entry or its folder.
|
|
22
|
+
*/
|
|
23
|
+
import { readFileSync } from 'node:fs';
|
|
24
|
+
import { setImmediate } from 'node:timers';
|
|
25
|
+
import { extractImmutableAssetRefs, stripFrontmatter } from '../core/embeds.js';
|
|
26
|
+
/** Soft wall-clock budget for the workspace reference scan. User-initiated and
|
|
27
|
+
* low-frequency, so a full walk is acceptable — but it must never stall the UI
|
|
28
|
+
* indefinitely on a huge workspace. Shared by every consumer so the fail-safe
|
|
29
|
+
* boundary is identical. */
|
|
30
|
+
export const DEFAULT_SCAN_BUDGET_MS = 4000;
|
|
31
|
+
/**
|
|
32
|
+
* Walk every entry in every repo (live-reconciled, budgeted) and hand the
|
|
33
|
+
* `visit` callback the set of immutable assetIds each entry references. The
|
|
34
|
+
* callback owns what to do with them (intersect a target set, accumulate a
|
|
35
|
+
* count, …). `visit` is never called for the `skipKey` entry.
|
|
36
|
+
*/
|
|
37
|
+
export async function scanWorkspaceAssetReferences(wm, visit, opts = {}) {
|
|
38
|
+
const budgetMs = opts.budgetMs ?? DEFAULT_SCAN_BUDGET_MS;
|
|
39
|
+
const deadline = Date.now() + budgetMs;
|
|
40
|
+
const { skipKey, stopWhen } = opts;
|
|
41
|
+
let partial = false;
|
|
42
|
+
// Cheap substring pre-check before the regex — the common entry embeds no
|
|
43
|
+
// asset, so most bodies skip extraction entirely.
|
|
44
|
+
const extractInto = (text, into) => {
|
|
45
|
+
if (!text || text.indexOf('/api/assets/') === -1)
|
|
46
|
+
return;
|
|
47
|
+
for (const ref of extractImmutableAssetRefs(text))
|
|
48
|
+
into.add(ref.assetId);
|
|
49
|
+
};
|
|
50
|
+
const visited = (() => {
|
|
51
|
+
let n = 0;
|
|
52
|
+
return () => ++n;
|
|
53
|
+
})();
|
|
54
|
+
scan: for (const cfg of wm.getAllRepoConfigs()) {
|
|
55
|
+
// Per-repo deadline check too: listEntityIds builds the repo's file index on
|
|
56
|
+
// first touch, which itself can be slow on a huge cold repo.
|
|
57
|
+
if (Date.now() > deadline) {
|
|
58
|
+
partial = true;
|
|
59
|
+
break;
|
|
60
|
+
}
|
|
61
|
+
let g;
|
|
62
|
+
try {
|
|
63
|
+
g = wm.getGraph(cfg.name);
|
|
64
|
+
}
|
|
65
|
+
catch {
|
|
66
|
+
continue;
|
|
67
|
+
}
|
|
68
|
+
for (const { entityType: eType, id: eId } of g.listEntityIds()) {
|
|
69
|
+
if (Date.now() > deadline) {
|
|
70
|
+
partial = true;
|
|
71
|
+
break scan;
|
|
72
|
+
}
|
|
73
|
+
// Yield the event loop periodically — the walk is sync I/O and must not
|
|
74
|
+
// starve other requests for the full budget on a big workspace.
|
|
75
|
+
if (visited() % 200 === 0)
|
|
76
|
+
await new Promise(r => setImmediate(r));
|
|
77
|
+
const key = `${cfg.name}/${eType}/${eId}`;
|
|
78
|
+
if (key === skipKey)
|
|
79
|
+
continue;
|
|
80
|
+
const path = g.getEntityFilePath(eType, eId);
|
|
81
|
+
if (!path)
|
|
82
|
+
continue;
|
|
83
|
+
let raw;
|
|
84
|
+
try {
|
|
85
|
+
raw = readFileSync(path, 'utf-8');
|
|
86
|
+
}
|
|
87
|
+
catch {
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
const ids = new Set();
|
|
91
|
+
// Live reconcile (D1): an open editor's Y.Doc body REPLACES the disk body
|
|
92
|
+
// — additions inflate, removals deflate. Disk FRONTMATTER is always
|
|
93
|
+
// scanned (not editable in the live doc).
|
|
94
|
+
const live = g.getLiveBody(eType, eId);
|
|
95
|
+
if (live === null) {
|
|
96
|
+
extractInto(raw, ids); // body + frontmatter in one pass
|
|
97
|
+
}
|
|
98
|
+
else {
|
|
99
|
+
// BOM-strip before the frontmatter split: an externally-edited file with
|
|
100
|
+
// a leading BOM would otherwise defeat stripFrontmatter and the
|
|
101
|
+
// frontmatter reference would never be scanned.
|
|
102
|
+
const norm = raw.replace(/^\uFEFF/, '');
|
|
103
|
+
const diskBody = stripFrontmatter(norm);
|
|
104
|
+
const frontmatterRaw = norm.slice(0, norm.length - diskBody.length);
|
|
105
|
+
extractInto(live, ids);
|
|
106
|
+
extractInto(frontmatterRaw, ids);
|
|
107
|
+
}
|
|
108
|
+
visit(ids, { repo: cfg.name, entityType: eType, entityId: eId, key });
|
|
109
|
+
if (stopWhen?.())
|
|
110
|
+
break scan;
|
|
111
|
+
}
|
|
112
|
+
}
|
|
113
|
+
// Live-only docs: an open editor for an entity that has no disk file yet (a
|
|
114
|
+
// fresh create mid-typing) is in no file index — peek those directly. Skipped
|
|
115
|
+
// when the scan went partial (we can't claim completeness) or already stopped.
|
|
116
|
+
if (!partial && !stopWhen?.()) {
|
|
117
|
+
for (const docName of wm.getBodyWriteCoordinator()?.activeDocNames() ?? []) {
|
|
118
|
+
if (Date.now() > deadline) {
|
|
119
|
+
partial = true;
|
|
120
|
+
break;
|
|
121
|
+
}
|
|
122
|
+
if (docName === skipKey)
|
|
123
|
+
continue;
|
|
124
|
+
const parts = docName.split('/');
|
|
125
|
+
if (parts.length !== 3)
|
|
126
|
+
continue;
|
|
127
|
+
const [dRepo, dType, dId] = parts;
|
|
128
|
+
let dGraph;
|
|
129
|
+
try {
|
|
130
|
+
dGraph = wm.getGraph(dRepo);
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
continue;
|
|
134
|
+
}
|
|
135
|
+
// Disk-backed docs were already live-reconciled in the walk above.
|
|
136
|
+
if (dGraph.getEntityFilePath(dType, dId))
|
|
137
|
+
continue;
|
|
138
|
+
const live = dGraph.getLiveBody(dType, dId);
|
|
139
|
+
if (live === null)
|
|
140
|
+
continue;
|
|
141
|
+
const ids = new Set();
|
|
142
|
+
extractInto(live, ids);
|
|
143
|
+
visit(ids, { repo: dRepo, entityType: dType, entityId: dId, key: docName });
|
|
144
|
+
if (stopWhen?.())
|
|
145
|
+
break;
|
|
146
|
+
}
|
|
147
|
+
}
|
|
148
|
+
return { partial };
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=asset-reference-scan.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"asset-reference-scan.js","sourceRoot":"","sources":["../../src/services/asset-reference-scan.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.filters-trigger{align-items:center;gap:var(--space-2);height:var(--icon-btn-height);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:inherit;font-size:var(--text-sm);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;background:0 0;border:none;padding:0 .625rem;transition:background .15s,color .15s;display:inline-flex}.filters-trigger:active{background:var(--color-bg-hover)}@media (hover:hover){.filters-trigger:hover{background:var(--color-bg-hover)}}.filters-trigger.has-selection{color:var(--color-text-primary);font-weight:600}.filters-trigger-label.svelte-1crwsnu{text-overflow:ellipsis;overflow:hidden}.filters-trigger-chevron{color:var(--color-text-secondary);flex-shrink:0}.filters-content{background:var(--color-bg-elevated);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg);width:17rem;max-height:24rem;box-shadow:var(--shadow-lg);z-index:var(--z-tooltip);flex-direction:column;display:flex;overflow:hidden}.filters-sheet-body.svelte-1crwsnu{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.filters-row-label.svelte-1crwsnu{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.filters-row-count.svelte-1crwsnu{box-sizing:border-box;min-width:1.125rem;height:1.125rem;color:var(--color-bg-elevated);background:var(--color-text-primary);border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;padding:0 .4em;font-size:.6875rem;font-weight:600;line-height:1;display:inline-flex}.filters-row-na.svelte-1crwsnu{font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0}.filters-row-chevron{color:var(--color-text-tertiary);flex-shrink:0}.filters-row-btn.svelte-1crwsnu{all:unset;box-sizing:border-box;align-items:center;gap:var(--space-2);width:100%;height:var(--menu-item-height);border-radius:var(--menu-item-radius);font-size:var(--menu-font-size);color:var(--color-text-secondary);cursor:pointer;flex-shrink:0;padding:0 .625rem;display:flex}.filters-row-btn.svelte-1crwsnu:active:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}@media (hover:hover){.filters-row-btn.svelte-1crwsnu:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}}.filters-row-btn.svelte-1crwsnu:disabled{opacity:.5;cursor:not-allowed}.filters-row-btn.is-selected.svelte-1crwsnu{color:var(--color-text-primary);font-weight:600}.filters-separator.svelte-1crwsnu{background:var(--color-border);flex-shrink:0;height:.0625rem;margin:.125rem 0}.filters-clear-all.svelte-1crwsnu{color:var(--color-text-secondary);border-radius:var(--menu-item-radius);padding:0 .625rem}.filters-list.svelte-1crwsnu{padding:var(--space-1);flex-direction:column;gap:.125rem;max-height:20rem;display:flex;overflow:hidden auto}.filters-list--values.svelte-1crwsnu,.filters-list--root.with-search-divider.svelte-1crwsnu{border-top:1px solid var(--color-border);margin-top:var(--space-1)}.filters-empty.svelte-1crwsnu{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-tertiary);text-align:center}.filters-back-wrap.svelte-1crwsnu{padding:var(--space-1) var(--space-1) 0;flex-shrink:0}.filters-back-row--static.svelte-1crwsnu{cursor:default;pointer-events:none}.filters-picker-title.svelte-1crwsnu{font-size:var(--text-sm);color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-weight:600;overflow:hidden}.filters-picker-search.svelte-1crwsnu{align-items:center;gap:var(--space-2);height:var(--menu-item-height);box-sizing:border-box;padding:0 calc(var(--space-1) + .625rem);color:var(--color-text-tertiary);flex-shrink:0;margin-top:.125rem;display:flex}.filters-picker-search-icon-slot.svelte-1crwsnu{width:var(--icon-btn-height-sm);height:var(--icon-btn-height-sm);color:var(--color-text-tertiary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.filters-picker-search-input.svelte-1crwsnu{min-width:0;font-family:inherit;font-size:var(--text-sm);color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;padding:0}.filters-picker-search-input.svelte-1crwsnu::placeholder{color:var(--color-text-tertiary)}.filters-picker-search-clear.svelte-1crwsnu{appearance:none;width:var(--icon-btn-height-sm);height:var(--icon-btn-height-sm);color:var(--color-text-secondary);border-radius:var(--radius-sm);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}.filters-picker-search-clear.svelte-1crwsnu:active{background:var(--color-bg-hover);color:var(--color-text-primary)}@media (hover:hover){.filters-picker-search-clear.svelte-1crwsnu:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}}.filters-value-check.svelte-1crwsnu{width:var(--icon-btn-height-sm);color:var(--color-text-primary);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.filters-value-box.svelte-1crwsnu{width:var(--icon-md);height:var(--icon-md);border:1px solid var(--color-text-tertiary);border-radius:var(--radius-xs);color:#fff;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.filters-value-box.on.svelte-1crwsnu{background:var(--color-accent);border-color:var(--color-accent)}.filters-radio.svelte-1crwsnu{width:var(--icon-md);height:var(--icon-md);border:1px solid var(--color-text-tertiary);border-radius:50%;flex-shrink:0;position:relative}.filters-radio.on.svelte-1crwsnu{border-color:var(--color-accent)}.filters-radio.on.svelte-1crwsnu:after{content:"";background:var(--color-accent);border-radius:50%;position:absolute;inset:3px}.filters-date-row.svelte-1crwsnu .filters-value-name:where(.svelte-1crwsnu){text-transform:none}.filters-row-count.filters-row-date.svelte-1crwsnu{min-width:0;height:auto;color:var(--color-text-primary);font-weight:400;font-size:var(--text-xs);background:0 0;padding:0}.filters-value-name.svelte-1crwsnu{text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize;flex:1;overflow:hidden}.filters-value-empty.svelte-1crwsnu,.filters-value-type.svelte-1crwsnu,.filters-value-tag.svelte-1crwsnu{text-transform:none}.filters-value-count.svelte-1crwsnu{font-size:var(--text-xs);color:var(--color-text-tertiary);flex-shrink:0}.filters-row-btn.is-selected.svelte-1crwsnu .filters-value-count:where(.svelte-1crwsnu){font-weight:400}@media (width<=767.98px),(hover:none) and (pointer:coarse) and (height<=500px){.filters-list.svelte-1crwsnu{min-height:0;max-height:none;padding:var(--space-1) 0;flex:1;gap:0}.filters-row-btn.svelte-1crwsnu{gap:var(--space-3);border-radius:var(--menu-item-radius);height:auto;min-height:3rem;font-size:var(--text-base);color:var(--color-text-primary)}.filters-list--root.svelte-1crwsnu{padding:var(--space-1) var(--space-4) var(--space-4)}.filters-row-l1.svelte-1crwsnu{padding:0 var(--space-3)}.filters-list--values.svelte-1crwsnu{padding:var(--space-1) var(--space-4) var(--space-4);margin-top:0}.filters-picker-search.svelte-1crwsnu{min-height:3rem;padding:0 var(--space-4);gap:var(--space-2);margin:0}.filters-row-l2.svelte-1crwsnu{padding:0 var(--space-3) 0 0;gap:var(--space-2)}.filters-picker-search-icon-slot.svelte-1crwsnu,.filters-value-check.svelte-1crwsnu{width:var(--icon-btn-height);height:var(--icon-btn-height);border-radius:var(--radius-md);background:0 0;flex-shrink:0}.filters-value-box.svelte-1crwsnu,.filters-radio.svelte-1crwsnu{width:var(--icon-lg);height:var(--icon-lg)}.filters-picker-search-input.svelte-1crwsnu{font-size:var(--text-base)}.filters-value-count.svelte-1crwsnu{font-size:var(--text-sm)}.filters-row-count.svelte-1crwsnu{min-width:1.75em;height:1.75em;font-size:var(--text-sm);padding:0 .45em}.filters-clear-all.svelte-1crwsnu{color:var(--color-text-secondary);padding:0 var(--space-3);border-radius:var(--menu-item-radius);margin-top:var(--space-4)}}.list-toolbar.svelte-1lo4cap{height:var(--row-height);padding:0 var(--toolbar-padding-x);box-shadow:0 1px 0 var(--color-border);flex-shrink:0;align-items:center;display:flex}.selection-bar.svelte-1lo4cap{background:var(--color-bg)}.toolbar-left.svelte-1lo4cap{flex-shrink:0}.selection-count.svelte-1lo4cap{font-size:var(--text-sm);color:var(--color-text-primary);font-weight:500}.selection-action-btn{all:unset;align-items:center;gap:var(--space-2);height:var(--icon-btn-height);font-size:var(--text-sm);color:var(--color-text-secondary);border-radius:var(--radius-md);cursor:pointer;padding:0 .625rem;font-family:inherit;display:inline-flex}@media (hover:hover){.selection-action-btn:hover{background:var(--color-bg-hover)}}.selection-clear-btn.svelte-1lo4cap{width:var(--icon-lg);height:var(--icon-lg);color:var(--color-text-tertiary);cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;justify-content:center;align-items:center;transition:background .15s,color .15s;display:inline-flex}@media (hover:hover){.selection-clear-btn.svelte-1lo4cap:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{Kt as e,X as t,bt as n,ht as r,vt as i}from"./xY0c-UfG.js";import"./
|
|
1
|
+
import{Kt as e,X as t,bt as n,ht as r,vt as i}from"./xY0c-UfG.js";import"./BZRSMLpj.js";var a=`chat`;function o(e,t){return e===null?t:e===`1`}function s(e,t){return t!==e}function c(){return[`agent`,`comments`,`metadata`,`history`,`connections`]}var l=e({rail:()=>m}),u=`sg-rail-collapsed`;function d(){if(typeof localStorage>`u`)return!1;let e=typeof window<`u`&&window.matchMedia(`(max-width: 767.98px), (hover: none) and (pointer: coarse) and (max-height: 500px)`).matches;return o(localStorage.getItem(u),e)}function f(e){if(!(typeof localStorage>`u`))try{localStorage.setItem(u,e?`1`:`0`)}catch{}}function p(){let e=n(r(d())),o=n(r(a));function c(e,t){if(!(typeof window>`u`))try{window.dispatchEvent(new CustomEvent(e,{detail:t}))}catch{}}function l(e,n){if(!s(t(o),e))return;let r=t(o);i(o,e,!0),c(`rail.view_changed`,{from:r,to:e,trigger:n})}return{get collapsed(){return t(e)},get internalView(){return t(o)},toggle(){i(e,!t(e)),f(t(e))},show(){t(e)&&(i(e,!1),f(!1))},hide(){t(e)||(i(e,!0),f(!0))},setView:l}}var m=p();export{l as n,c as r,m as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{X as e,bt as t,vt as n}from"./xY0c-UfG.js";import{r}from"./
|
|
1
|
+
import{X as e,bt as t,vt as n}from"./xY0c-UfG.js";import{r}from"./Kh-6DI1Z.js";import"./DgF3ta9a.js";import{A as i}from"./3mkRcVr2.js";function a(){let a=t(null),o=t(null),s=t(null),c=t(null),l=t(null),u=t(null),d=t(`entity`),f=t(null),p=t(null),m=t(null),h=t(`team`),g=t(`studiograph`),_=t(!1),v=t(!1),y=t(!1);function b(t,n){e(a)&&(e(a)!==t||e(s)!==n)&&i(e(a)).catch(()=>{})}function x(e,t,r,i){b(e,r),n(a,e,!0),n(o,t,!0),n(s,r,!0),n(c,i??null,!0),n(l,null),n(u,null)}function S(t,r=``){e(a)&&e(a)!==t&&i(e(a)).catch(()=>{}),n(a,t,!0),n(o,null),n(s,null),n(c,null),n(l,null),n(u,r,!0)}function C(){n(d,`entity`)}function w(){n(d,`graph`)}function T(e){n(d,`view`),n(f,e,!0)}function E(e,t,r){n(m,e??`profile`,!0),t&&n(h,t,!0),r&&n(g,r,!0),n(v,!1)}function D(){n(m,null),typeof window<`u`&&window.location.pathname.startsWith(`/settings`)&&r(`/`)}function O(t,r,i){e(s)===i&&e(a)===t?(n(a,null),n(o,null),n(s,null)):(n(a,t,!0),n(o,r,!0),n(s,i,!0)),n(c,null),n(l,null),n(u,null)}function k(e){n(l,e,!0)}function A(){e(a)&&i(e(a)).catch(()=>{}),n(a,null),n(o,null),n(s,null),n(c,null),n(l,null),n(u,null)}return{get selectedRepo(){return e(a)},get selectedType(){return e(o)},get selectedId(){return e(s)},get selectedSubPath(){return e(c)},get selectedArtifactTarget(){return e(l)},get selectedFolderPath(){return e(u)},get activeView(){return e(d)},get entityPath(){return e(a)&&e(o)&&e(s)?`/${e(a)}/${e(o)}/${e(s)}`:null},get hoveredEntityId(){return e(p)},set hoveredEntityId(e){n(p,e,!0)},get settingsPanel(){return e(m)},set settingsPanel(e){n(m,e,!0)},get workspaceTab(){return e(h)},set workspaceTab(e){n(h,e,!0)},get integrationsTab(){return e(g)},set integrationsTab(e){n(g,e,!0)},get hideSidebar(){return e(_)},set hideSidebar(e){n(_,e,!0)},get mobileSidebarOpen(){return e(v)},set mobileSidebarOpen(e){n(v,e,!0)},get backOriginRecapture(){return e(y)},set backOriginRecapture(e){n(y,e,!0)},select:x,selectRepo:S,deselect:A,selectOnGraph:O,setSelectedArtifactTarget:k,showEntity:C,showGraph:w,get activeViewId(){return e(f)},showView:T,showSettings:E,closeSettings:D}}var o=a();export{o as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{t as e}from"./
|
|
1
|
+
import{t as e}from"./D5B_tKDU2.js";function t(t,n,r={}){let{typographic:i=!0}=r,a=new Set([`agent`]);for(let e of n)a.add(e);return(i?e(t):t).replace(/&/g,`&`).replace(/</g,`<`).replace(/>/g,`>`).replace(/\n/g,`<br>`).replace(/@([a-z0-9_-]+)/gi,(e,t)=>a.has(t.toLowerCase())?`<span class="sg-mention">${e}</span>`:e)}function n(e,t){let n=new Set([`agent`]);for(let e of t)n.add(e);let r=0;return e.replace(/(<[^>]+>)|([^<]+)/g,(e,t,i)=>t?(/^<(code|pre|a)[\s/>]/i.test(t)?r++:/^<\/(code|pre|a)>/i.test(t)&&(r=Math.max(0,r-1)),t):!i||r>0?i??``:i.replace(/@([a-z0-9_-]+)/gi,(e,t)=>n.has(t.toLowerCase())?`<span class="sg-mention">${e}</span>`:e))}export{t as n,n as t};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{A as e,Bt as t,Ct as n,D as r,F as i,H as a,L as o,N as s,Nt as c,Pt as l,Q as u,R as d,U as f,Vt as p,W as m,Wt as h,X as g,_,bt as v,d as y,ft as b,ht as x,mt as S,o as C,ot as w,pt as T,st as E,v as D,vt as O,x as k,y as ee,z as A}from"./xY0c-UfG.js";import"./xihTtKlq.js";import{Ft as te}from"./BZRSMLpj.js";import{D as j,T as ne,c as re,i as ie,l as ae,o as oe,s as se,t as M,u as ce,w as le}from"./BX58EMfc.js";import{i as ue,n as de,r as fe,t as pe}from"./Cj_OZrfj.js";import{i as N,n as P,r as F,t as I}from"./CjBwpMBz2.js";import{n as me}from"./CQQp6PxD2.js";import{t as L}from"./CdtzRVZK.js";var he=A(`<span class="filters-trigger-label svelte-1crwsnu"> </span> <!>`,1),R=A(`<button type="button" class="filters-picker-search-clear svelte-1crwsnu" aria-label="Clear"><!></button>`),ge=A(`<div class="filters-picker-search svelte-1crwsnu"><span class="filters-picker-search-icon-slot svelte-1crwsnu"><!></span> <input type="text" class="filters-picker-search-input svelte-1crwsnu"/> <!></div>`),_e=A(`<span class="filters-row-count filters-row-date svelte-1crwsnu"> </span>`),ve=A(`<span class="filters-row-count svelte-1crwsnu"> </span>`),ye=A(`<span class="filters-row-na svelte-1crwsnu">N/A</span>`),be=A(`<button type="button" class="sg-menu-item filters-row-btn filters-row-l1 svelte-1crwsnu"><span class="filters-row-label svelte-1crwsnu"> </span> <!> <!> <!></button>`),xe=A(`<div class="filters-separator svelte-1crwsnu"></div>`),Se=A(`<!> <button type="button" class="filters-row-btn filters-clear-all svelte-1crwsnu">Clear all</button>`,1),Ce=A(`<!> <div><!> <!></div>`,1),we=A(`<div class="filters-row-btn filters-back-row filters-back-row--static svelte-1crwsnu"><span class="filters-value-check svelte-1crwsnu" aria-hidden="true"></span> <span class="filters-picker-title svelte-1crwsnu"> </span></div>`),Te=A(`<button type="button" class="filters-row-btn filters-back-row svelte-1crwsnu" aria-label="Back to filters"><span class="filters-value-check svelte-1crwsnu"><!></span> <span class="filters-picker-title svelte-1crwsnu"> </span></button>`),Ee=A(`<div class="filters-back-wrap svelte-1crwsnu"><!></div>`),De=A(`<span></span>`),Oe=A(`<span><!></span>`),ke=A(`<span class="filters-value-count svelte-1crwsnu"> </span>`),Ae=A(`<button type="button"><span class="filters-value-check svelte-1crwsnu"><!></span> <span> </span> <!></button>`),je=A(`<div class="filters-empty svelte-1crwsnu"> </div>`),Me=A(`<div class="filters-separator svelte-1crwsnu"></div>`),Ne=A(`<!> <button type="button" class="filters-row-btn filters-clear-all svelte-1crwsnu">Clear all</button>`,1),Pe=A(`<!> <!> <div class="filters-list filters-list--values svelte-1crwsnu"><!> <!></div>`,1),Fe=A(`<button class="toolbar-icon-btn" aria-label="Back"><!></button>`),Ie=A(`<!> <!> <!>`,1),Le=A(`<!> <div class="filters-sheet-body svelte-1crwsnu"><!></div>`,1),Re=A(`<!> <!>`,1),ze=A(`<!> <!>`,1);function z(f,A){l(A,!0);let N=e=>{var t=he(),n=T(t),r=b(n,!0);p(n),M(S(n,2),{class:`filters-trigger-chevron`}),w(()=>i(r,g(Ve))),o(e,t)},P=(e,t=h,r=h,i=h)=>{var a=ge(),c=b(a),l=b(c);{let e=n(()=>g(U)?16:14);le(l,{get size(){return g(e)}})}p(c);var u=S(c,2);_(u),y(u,e=>O(K,e),()=>g(K));var d=S(u,2),f=e=>{var t=R();j(b(t),{size:12}),p(t),m(`click`,t,()=>i()(``)),o(e,t)};s(d,e=>{t()&&e(f)}),p(a),w(()=>{ee(u,t()),D(u,`placeholder`,r())}),m(`input`,u,e=>i()(e.currentTarget.value)),o(e,a)},F=t=>{var n=Ce(),r=T(n),a=e=>{P(e,()=>B().value,()=>B().placeholder,()=>e=>B()?.onInput(e))};s(r,e=>{B()&&e(a)});var c=S(r,2);let l;var u=b(c);e(u,17,()=>A.rows,e=>e.key,(e,t)=>{var n=be(),r=b(n),a=b(r,!0);p(r);var c=S(r,2),l=e=>{var n=_e(),r=b(n,!0);p(n),w(()=>i(r,g(t).badge)),o(e,n)},u=e=>{var n=ve(),r=b(n,!0);p(n),w(()=>i(r,g(t).count)),o(e,n)};s(c,e=>{g(t).badge!=null&&g(t).active?e(l):g(t).active&&g(t).count>0&&e(u,1)});var d=S(c,2),f=e=>{o(e,ye())};s(d,e=>{!g(t).available&&!g(t).active&&e(f)}),me(S(d,2),{size:14,class:`filters-row-chevron`}),p(n),w(()=>{n.disabled=!g(t).available&&!g(t).active,i(a,g(t).label)}),m(`click`,n,()=>Be(g(t).key)),o(e,n)});var d=S(u,2),f=e=>{var t=Se(),n=T(t),r=e=>{o(e,xe())};s(n,e=>{g(U)||e(r)}),m(`click`,S(n,2),Z),o(e,t)};s(d,e=>{A.activeCount>0&&e(f)}),p(c),w(()=>l=k(c,1,`filters-list filters-list--root svelte-1crwsnu`,null,l,{"with-search-divider":!!B()})),o(t,n)},I=(t,r=h)=>{let a=n(()=>A.values(r())),c=n(()=>g(G).trim().toLowerCase()),l=n(()=>g(c)?g(a).filter(e=>e.label.toLowerCase().includes(g(c))):g(a)),u=n(()=>g(a).length>=V);var d=Pe(),f=T(d),_=e=>{var t=Ee(),n=b(t),a=e=>{var t=we(),n=S(b(t),2),a=b(n,!0);p(n),p(t),w(e=>i(a,e),[()=>X(r())]),o(e,t)},c=e=>{var t=Te(),n=b(t);L(b(n),{size:16}),p(n);var a=S(n,2),s=b(a,!0);p(a),p(t),w(e=>i(s,e),[()=>X(r())]),m(`click`,t,Y),o(e,t)};s(n,e=>{g(q)?e(a):e(c,-1)}),p(t),o(e,t)};s(f,e=>{g(U)||e(_)});var v=S(f,2),y=e=>{{let t=n(()=>`Search ${X(r()).toLowerCase()}...`);P(e,()=>g(G),()=>g(t),()=>e=>{O(G,e,!0)})}};s(v,e=>{g(u)&&e(y)});var x=S(v,2),C=b(x);e(C,17,()=>g(l),e=>e.value,(e,t)=>{var n=Ae();let a;var c=b(n),l=b(c),u=e=>{var n=De();let r;w(()=>r=k(n,1,`filters-radio svelte-1crwsnu`,null,r,{on:g(t).selected})),o(e,n)},d=e=>{var n=Oe();let r;var i=b(n),a=e=>{ne(e,{size:12})};s(i,e=>{g(t).selected&&e(a)}),p(n),w(()=>r=k(n,1,`filters-value-box svelte-1crwsnu`,null,r,{on:g(t).selected})),o(e,n)};s(l,e=>{g(t).control===`radio`?e(u):e(d,-1)}),p(c);var f=S(c,2);let h;var _=b(f,!0);p(f);var v=S(f,2),y=e=>{var n=ke(),r=b(n,!0);p(n),w(()=>i(r,g(t).count)),o(e,n)};s(v,e=>{g(t).count!=null&&e(y)}),p(n),w(()=>{a=k(n,1,`sg-menu-item filters-row-btn filters-row-l2 svelte-1crwsnu`,null,a,{"filters-date-row":g(t).control===`radio`,"is-selected":g(t).selected}),h=k(f,1,`filters-value-name svelte-1crwsnu`,null,h,{"filters-value-empty":g(t).labelClass===`empty`,"filters-value-tag":g(t).labelClass===`tag`,"filters-value-type":g(t).labelClass===`type`}),i(_,g(t).label)}),m(`click`,n,()=>A.onselect(r(),g(t).value)),o(e,n)},e=>{var t=je(),n=b(t,!0);p(t),w(()=>i(n,g(c)?`No matches`:`No values`)),o(e,t)});var E=S(C,2),D=e=>{var t=Ne(),n=T(t),r=e=>{o(e,Me())};s(n,e=>{g(U)||e(r)}),m(`click`,S(n,2),Z),o(e,t)};s(E,e=>{g(q)&&A.activeCount>0&&e(D)}),p(x),o(t,d)},z=e=>{var t=d(),n=T(t),r=e=>{F(e)},i=e=>{I(e,()=>g(W).key)};s(n,e=>{g(W).mode===`root`?e(r):e(i,-1)}),o(e,t)},B=C(A,`rootSearch`,3,null),V=10,H=v(!1),U=v(!1);E(()=>{if(typeof window>`u`)return;let e=window.matchMedia(te);O(U,e.matches,!0);let t=e=>{O(U,e.matches,!0)};return e.addEventListener(`change`,t),()=>e.removeEventListener(`change`,t)});let W=v(x({mode:`root`})),G=v(``),K=v(null),q=n(()=>A.rows.length===1),J=!1;E(()=>{g(H)&&!J&&(O(W,g(q)?{mode:`values`,key:A.rows[0].key}:{mode:`root`},!0),O(G,``),g(W).mode===`root`&&B()&&u().then(()=>g(K)?.focus())),J=g(H)}),E(()=>{g(W),O(G,``),g(W).mode===`values`&&u().then(()=>g(K)?.focus())});function Y(){O(W,{mode:`root`},!0)}function Be(e){O(W,{mode:`values`,key:e},!0)}function X(e){return A.rowTitle?.(e)??A.rows.find(t=>t.key===e)?.label??``}function Z(){A.onclearall(),O(H,!1)}let Ve=n(()=>A.activeCount===0?`Filters`:A.activeCount===1?`1 filter`:`${A.activeCount} filters`);var Q=d(),He=T(Q),$=e=>{var c=d(),l=T(c),u=e=>{var c=d();r(T(c),()=>ce,(e,c)=>{c(e,{get open(){return g(H)},set open(e){O(H,e,!0)},children:(e,c)=>{var l=Re(),u=T(l);{let e=n(()=>A.activeCount>0?`has-selection`:``);r(u,()=>ae,(t,n)=>{n(t,{get class(){return`filters-trigger ${g(e)??``}`},children:(e,t)=>{N(e)},$$slots:{default:!0}})})}r(S(u,2),()=>se,(e,n)=>{n(e,{side:`bottom`,class:`sg-mobile-sheet`,children:(e,n)=>{var c=Le(),l=T(c);r(l,()=>oe,(e,n)=>{n(e,{class:`sg-sheet-header`,children:(e,n)=>{var c=Ie(),l=T(c),u=e=>{var t=Fe();L(b(t),{size:16}),p(t),m(`click`,t,Y),o(e,t)};s(l,e=>{g(W).mode!==`root`&&!g(q)&&e(u)});var d=S(l,2);r(d,()=>ie,(e,n)=>{n(e,{class:`sg-sheet-title`,children:(e,n)=>{t();var r=a();w(e=>i(r,e),[()=>g(W).mode===`root`?A.rootTitle:X(g(W).key)]),o(e,r)},$$slots:{default:!0}})}),r(S(d,2),()=>re,(e,t)=>{t(e,{class:`dialog-close-btn`,"aria-label":`Close`,children:(e,t)=>{j(e,{size:16})},$$slots:{default:!0}})}),o(e,c)},$$slots:{default:!0}})});var u=S(l,2);z(b(u)),p(u),o(e,c)},$$slots:{default:!0}})}),o(e,l)},$$slots:{default:!0}})}),o(e,c)},f=e=>{var t=d();r(T(t),()=>fe,(e,t)=>{t(e,{get open(){return g(H)},set open(e){O(H,e,!0)},children:(e,t)=>{var i=ze(),a=T(i);{let e=n(()=>A.activeCount>0?`has-selection`:``);r(a,()=>ue,(t,n)=>{n(t,{get class(){return`filters-trigger ${g(e)??``}`},children:(e,t)=>{N(e)},$$slots:{default:!0}})})}r(S(a,2),()=>de,(e,t)=>{t(e,{children:(e,t)=>{var n=d();r(T(n),()=>pe,(e,t)=>{t(e,{align:`start`,sideOffset:4,class:`filters-content`,children:(e,t)=>{z(e)},$$slots:{default:!0}})}),o(e,n)},$$slots:{default:!0}})}),o(e,i)},$$slots:{default:!0}})}),o(e,t)};s(l,e=>{g(U)?e(u):e(f,-1)}),o(e,c)};s(He,e=>{A.rows.length>0&&e($)}),o(f,Q),c()}f([`input`,`click`]);var B=A(`Actions<!>`,1),V=A(`<div class="list-toolbar selection-bar svelte-1lo4cap"><div class="toolbar-left toolbar-row svelte-1lo4cap"><div class="toolbar-group"><!></div> <div class="toolbar-group"><span class="selection-count svelte-1lo4cap"> </span> <button class="selection-clear-btn svelte-1lo4cap" title="Deselect all" aria-label="Deselect all"><!></button></div></div></div>`);function H(e,r){l(r,!0);let a=C(r,`extraItems`,19,()=>[]),s=n(()=>[...a(),{label:`Move to...`,icon:N,onSelect:r.onMoveStart,separatorBefore:a().length>0},...r.onCopyStart?[{label:`Copy to...`,icon:F,onSelect:r.onCopyStart}]:[],{label:`Delete`,icon:P,onSelect:r.onDeleteStart,destructive:!0,separatorBefore:!0}]);var u=V(),d=b(u),f=b(d);I(b(f),{triggerClass:`selection-action-btn`,title:`Actions`,align:`start`,get items(){return g(s)},trigger:e=>{t();var n=B();M(S(T(n)),{size:12}),o(e,n)},$$slots:{trigger:!0}}),p(f);var h=S(f,2),_=b(h),v=b(_);p(_);var y=S(_,2);j(b(y),{size:12}),p(y),p(h),p(d),p(u),w(()=>i(v,`${r.count??``} selected`)),m(`click`,y,function(...e){r.onClear?.apply(this,e)}),o(e,u),c()}f([`click`]);export{z as n,H as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{Kt as e}from"./xY0c-UfG.js";import{a as t,o as n,r}from"./
|
|
1
|
+
import{Kt as e}from"./xY0c-UfG.js";import{a as t,o as n,r}from"./D5B_tKDU2.js";import{l as i,m as a,p as o}from"./XcWejFm_.js";import{a as s,l as c,o as l,r as u,t as d}from"./C1trcC8M.js";import{n as f,t as p}from"./BPILs-6H.js";import{T as m}from"./uBgoVlsx.js";var h=e({WHOLE_URL_RE:()=>_,hrefForUrl:()=>v,insertSmartLink:()=>y,wrapSelection:()=>g});function g(e,t,n){let r=e.state.doc,{from:i,to:a}=e.state.selection.main;if(i!==a){let e=r.sliceString(i,a),t=e.length-e.trimStart().length,n=e.length-e.trimEnd().length;t+n<e.length&&(i+=t,a-=n)}let o=i-t.length,s=a+n.length;if(o>=0&&s<=r.length){let c=r.sliceString(o,i),l=r.sliceString(a,s);if(c===t&&l===n){e.dispatch({changes:[{from:o,to:i,insert:``},{from:a,to:s,insert:``}],selection:{anchor:o,head:a-t.length},userEvent:`input`});return}}let c=r.sliceString(i,a);if(c.startsWith(t)&&c.endsWith(n)&&c.length>=t.length+n.length){let r=c.slice(t.length,c.length-n.length);e.dispatch({changes:{from:i,to:a,insert:r},selection:{anchor:i,head:i+r.length},userEvent:`input`});return}e.dispatch({changes:{from:i,to:a,insert:`${t}${c}${n}`},selection:{anchor:i+t.length,head:a+t.length},userEvent:`input`})}var _=/^(?:https?:\/\/|www\.)\S+$/i;function v(e){return/^www\./i.test(e)?`https://${e}`:e}function y(e){let{from:t,to:n}=e.state.selection.main,r=e.state.doc.sliceString(t,n);if(r&&_.test(r)){let i=`[${r}](${v(r)})`;e.dispatch({changes:{from:t,to:n,insert:i},selection:{anchor:t,head:t+i.length},userEvent:`input`});return}g(e,`[[`,`]]`)}var b=`http://www.w3.org/2000/svg`;function x(e,t){let n=document.createElementNS(b,`svg`);n.setAttribute(`viewBox`,`0 0 32 32`),n.setAttribute(`width`,String(e)),n.setAttribute(`height`,String(e)),n.setAttribute(`fill`,`currentColor`),n.setAttribute(`aria-hidden`,`true`);let r=document.createElementNS(b,`path`);return r.setAttribute(`d`,t),n.appendChild(r),n}var S=`M25.7,9.3l-7-7C18.5,2.1,18.3,2,18,2H8C6.9,2,6,2.9,6,4v24c0,1.1,0.9,2,2,2h16c1.1,0,2-0.9,2-2V10C26,9.7,25.9,9.5,25.7,9.3z M18,4.4l5.6,5.6H18V4.4z M24,28H8V4h8v6c0,1.1,0.9,2,2,2h6V28z`,C=`M23,13H18v2h5v2H19a2,2,0,0,0-2,2v2a2,2,0,0,0,2,2h6V15A2,2,0,0,0,23,13Zm0,8H19V19h4Z M13,9H9a2,2,0,0,0-2,2V23H9V18h4v5h2V11A2,2,0,0,0,13,9ZM9,16V11h4v5Z`,w=`M26,24v4H6V24H4v4a2,2,0,0,0,2,2H26a2,2,0,0,0,2-2V24Z M26,14l-1.41-1.41L17,20.17V2H15V20.17L7.41,12.59,6,14l10,10,10-10z`,T=new Set([`OTF`,`TTF`,`WOFF`,`WOFF2`]);function E(e){return!!e&&e.includes(`/api/assets/`)}function D(e){let t=e.split(/[?#]/)[0].split(`/`).pop()??``,n=t.lastIndexOf(`.`);if(n<=0||n===t.length-1)return``;let r=t.slice(n+1);return r.length<=5&&/^[A-Za-z0-9]+$/.test(r)?r.toUpperCase():``}function ee(e){return T.has(e.toUpperCase())}function O({name:e,url:t,ext:n}){let r=n??D(t),i=document.createElement(`a`);i.className=`sg-file-chip`,i.href=t,i.target=`_blank`,i.rel=`noopener`,i.title=e;let a=x(18,ee(r)?C:S);a.classList.add(`sg-file-chip-icon`);let o=document.createElement(`span`);o.className=`sg-file-chip-name`,o.textContent=e||`File`,i.append(a,o),typeof requestAnimationFrame==`function`&&requestAnimationFrame(()=>{o.classList.toggle(`is-truncated`,o.scrollWidth>o.clientWidth)});let s=document.createElement(`span`);s.className=`sg-file-chip-download`,s.appendChild(x(14,w));let c=document.createElement(`span`);return c.textContent=r||`Download`,s.appendChild(c),i.appendChild(s),i}var k=e({imageKeymap:()=>re,imageSourceField:()=>M,livePreviewPlugin:()=>ne,livePreviewTheme:()=>ie,refreshExternalStateEffect:()=>A,toggleImageSourceEffect:()=>j}),A=o.define(),j=o.define(),M=a.define({create:()=>new Set,update(e,t){let n=e;if(t.docChanged){n=new Set;for(let r of e)n.add(t.changes.mapPos(r))}for(let r of t.effects)r.is(j)&&(n===e&&(n=new Set(n)),n.has(r.value)?n.delete(r.value):n.add(r.value));return n}}),N=class extends l{toDOM(){let e=document.createElement(`div`);return e.className=`cm-hr-widget`,e}},P=class extends l{toDOM(){let e=document.createElement(`span`);return e.textContent=`—`,e}},F=class extends l{code;constructor(e){super(),this.code=e}eq(e){return e.code===this.code}toDOM(){let e=document.createElement(`span`);return e.className=`cm-code-copy`,e.contentEditable=`false`,e.appendChild(f(()=>this.code)),e}ignoreEvent(){return!0}};function I(e){let t=e.split(`
|
|
2
2
|
`);return t.shift(),t.length&&/^\s*(```|~~~)/.test(t[t.length-1])&&t.pop(),t.join(`
|
|
3
3
|
`)}function L(){return p(`cm-image-unavailable`)}var R=class extends l{alt;url;from;to;sourceShown;isSelected;view;constructor(e,t,n,r,i,a,o){super(),this.alt=e,this.url=t,this.from=n,this.to=r,this.sourceShown=i,this.isSelected=a,this.view=o}eq(e){return this.alt===e.alt&&this.url===e.url&&this.from===e.from&&this.to===e.to&&this.sourceShown===e.sourceShown&&this.isSelected===e.isSelected}toDOM(){let e=document.createElement(`div`);e.className=`cm-image-widget cm-image-loading`,this.isSelected&&e.classList.add(`cm-image-selected`),e.dataset.from=String(this.from),e.dataset.to=String(this.to);let t=document.createElement(`img`);t.src=this.url,t.alt=this.alt,t.loading=`lazy`,t.decoding=`async`,t.onload=()=>{e.classList.remove(`cm-image-loading`)},t.onerror=()=>{e.classList.remove(`cm-image-loading`),e.classList.add(`cm-image-errored`);let n=L();n.addEventListener(`mousedown`,t=>{t.preventDefault(),t.stopPropagation(),this.view.dispatch({selection:{anchor:+e.dataset.from,head:+e.dataset.to}}),this.view.focus()}),t.replaceWith(n)},e.appendChild(t);let n=this.view;return t.addEventListener(`mousedown`,t=>{t.preventDefault(),t.stopPropagation();let r=+e.dataset.from,i=+e.dataset.to;n.dispatch({selection:{anchor:r,head:i}}),n.focus()}),e}updateDOM(e){e.classList.toggle(`cm-image-selected`,this.isSelected),e.dataset.from=String(this.from),e.dataset.to=String(this.to);let t=e.querySelector(`img`);return t&&(t.getAttribute(`src`)!==this.url&&(t.src=this.url),t.alt!==this.alt&&(t.alt=this.alt)),!0}ignoreEvent(e){return e.type===`mousedown`}},z=class extends l{checked;from;to;constructor(e,t,n){super(),this.checked=e,this.from=t,this.to=n}eq(e){return this.checked===e.checked&&this.from===e.from&&this.to===e.to}toDOM(){let e=document.createElement(`input`);return e.type=`checkbox`,e.checked=this.checked,e.className=`cm-task-checkbox`,e.addEventListener(`mousedown`,t=>{t.preventDefault(),t.stopPropagation(),e.dispatchEvent(new CustomEvent(`task-toggle`,{bubbles:!0,detail:{from:this.from,to:this.to,checked:!this.checked}}))}),e}ignoreEvent(e){return e.type===`mousedown`||e.type===`click`}};function B(e,t,n,r,i,a=!1){let o=document.createElement(`span`);return o.className=`cm-embed-chip`,r&&o.classList.add(`cm-embed-selected`),a&&o.classList.add(`cm-embed-chip-block`),o.appendChild(e),o.addEventListener(`mousedown`,e=>{e.target.closest(`.sg-file-chip-download`)||(e.preventDefault(),e.stopPropagation(),i.dispatch({selection:{anchor:t,head:n}}),i.focus())}),o}var V=class extends l{label;url;from;to;isSelected;view;block;constructor(e,t,n,r,i,a,o){super(),this.label=e,this.url=t,this.from=n,this.to=r,this.isSelected=i,this.view=a,this.block=o}eq(e){return this.label===e.label&&this.url===e.url&&this.from===e.from&&this.to===e.to&&this.isSelected===e.isSelected&&this.block===e.block}toDOM(){return B(O({name:this.label,url:this.url}),this.from,this.to,this.isSelected,this.view,this.block)}ignoreEvent(e){return e.type===`mousedown`}},H=class extends l{text;className;entityId;constructor(e,t,n){super(),this.text=e,this.className=t,this.entityId=n}eq(e){return this.text===e.text&&this.className===e.className&&this.entityId===e.entityId}toDOM(){let e=document.createElement(`span`);return e.className=this.className,e.textContent=this.text,e.dataset.entityId=this.entityId,e.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.dispatchEvent(new CustomEvent(`wikilink-click`,{bubbles:!0,detail:this.entityId}))}),e}ignoreEvent(e){return e.type===`mousedown`}};function U(e){if(!e.hasFocus)return[-1,-1];let t=e.state.selection.main,n=e.state.doc,r=n.lineAt(t.from).number;return r===n.lineAt(t.to).number?[r,r]:[-1,-1]}function W(e,t,n){if(!e.hasFocus)return!1;let r=e.state.selection.main,i=e.state.doc;return i.lineAt(r.from).number===i.lineAt(r.to).number?r.to>=t&&r.from<=n:!1}function G(e,t){let n=e.firstChild;for(;n;)t(n),n=n.nextSibling}function K(e,r,i,a){let o=r.state,s=e.from>0?o.doc.sliceString(e.from-1,e.from):``,c=e.to<o.doc.length?o.doc.sliceString(e.to,e.to+1):``;if(s!==`[`||c!==`]`)return!1;let l=e.from-1,u=e.to+1,f=o.doc.sliceString(e.from+1,e.to-1),p=n(f),m=p?`cm-live-wikilink cm-wikilink-active`:`cm-live-wikilink cm-wikilink-inactive`,h=a?`${m} ${a}`:m,g=f.indexOf(`|`),_=g===-1?f:f.slice(0,g).trim();if(W(r,l,u))i.push(d.mark({class:`cm-formatting`}).range(l,l+2)),i.push(d.mark({class:h}).range(l+2,u-2)),i.push(d.mark({class:`cm-formatting`}).range(u-2,u));else{let e=p?p.title:t(f);i.push(d.replace({widget:new H(e,h,_)}).range(l,u))}return!0}function q(e,t,n,r){if(W(t,e.from,e.to))n.push(d.mark({class:r}).range(e.from,e.to));else{let i=!1;G(e,e=>{e.name===`Link`&&(i=K(e,t,n,r))}),i||n.push(d.mark({class:r}).range(e.from,e.to)),G(e,e=>{e.name===`EmphasisMark`&&n.push(d.replace({}).range(e.from,e.to))})}}var J=null,Y=``,X=0,Z=new Map;function te(e,t){if(!Y){let t=getComputedStyle(e.contentDOM);Y=`${t.fontStyle} ${t.fontWeight} ${t.fontSize} ${t.fontFamily}`,parseFloat(t.fontSize),X=t.letterSpacing&&t.letterSpacing!==`normal`&&parseFloat(t.letterSpacing)||0,J=document.createElement(`canvas`).getContext(`2d`),J&&(J.font=Y)}let n=Z.get(t);if(n!==void 0)return n;let r=(J?J.measureText(t).width:t.length*e.defaultCharacterWidth)+X*t.length;return Z.set(t,r),r}function Q(e){let t=e.state,[n,i]=U(e),a=e=>e>=n&&e<=i,o=t.field(M,!1),s=[],c=new Set,l=[];if(m(t).iterate({enter(n){let r=t.doc.lineAt(n.from).number;if(n.name.startsWith(`ATXHeading`)){let t=`cm-live-heading cm-live-heading-${parseInt(n.name.replace(`ATXHeading`,``),10)||1}`;return s.push(d.mark({class:t}).range(n.from,n.to)),a(r)||G(n.node,r=>{if(r.name===`HeaderMark`){let e=Math.min(r.to+1,n.to);s.push(d.replace({}).range(r.from,e))}else r.name===`Link`&&K(r,e,s,t)}),!1}if(n.name===`Blockquote`){let e=t.doc.lineAt(n.from).number,r=t.doc.lineAt(n.to).number;for(let n=e;n<=r;n++){let i=t.doc.line(n),a=`cm-quote-line`;n===e&&(a+=` cm-embed-block-top`),n===r&&(a+=` cm-embed-block-bottom`),s.push(d.line({class:a}).range(i.from))}}if(n.name===`QuoteMark`&&!a(r)){let e=t.doc.sliceString(n.to,Math.min(n.to+1,t.doc.length))===` `?n.to+1:n.to;s.push(d.replace({}).range(n.from,e))}if(n.name===`FencedCode`){let e=t.doc.lineAt(n.from).number,r=t.doc.lineAt(n.to).number;for(let n=e;n<=r;n++){let i=t.doc.line(n),a=`cm-code-line`;n===e&&(a+=` cm-embed-block-top`),n===r&&(a+=` cm-embed-block-bottom`),s.push(d.line({class:a}).range(i.from))}if(r>e){let r=I(t.doc.sliceString(n.from,n.to));r&&s.push(d.widget({widget:new F(r),side:-1}).range(t.doc.line(e).from))}}if(n.name===`CodeMark`||n.name===`CodeInfo`){let t=n.node.parent;t?.name===`FencedCode`&&(W(e,t.from,t.to)||s.push(d.replace({}).range(n.from,n.to)))}if(n.name===`HorizontalRule`&&!a(r)){let e=t.doc.lineAt(n.from);s.push(d.replace({widget:new N}).range(n.from,n.to)),s.push(d.line({class:`cm-hr-line`}).range(e.from))}if(n.name===`ListMark`){let r=n.node.parent?.parent?.name===`OrderedList`;s.push(d.mark({class:r?`cm-list-marker cm-list-marker-ordered`:`cm-list-marker cm-list-marker-bullet`}).range(n.from,n.to));let i=t.doc.lineAt(n.from),a=n.to;for(;a<i.to&&t.doc.sliceString(a,a+1)===` `;)a++;let o=te(e,t.doc.sliceString(i.from,a));o>0&&s.push(d.line({class:`cm-hang-indent`,attributes:{style:`--cm-hang:${o.toFixed(2)}px`}}).range(i.from)),n.from>i.from&&l.push(d.replace({}).range(i.from,n.from))}if(n.name===`TaskMarker`){let e=t.doc.sliceString(n.from,n.to),r=e===`[x]`||e===`[X]`;s.push(d.replace({widget:new z(r,n.from,n.to)}).range(n.from,n.to))}if(n.name===`StrongEmphasis`)return q(n.node,e,s,`cm-live-strong`),!1;if(n.name===`Emphasis`)return q(n.node,e,s,`cm-live-em`),!1;if(n.name===`InlineCode`)return s.push(d.mark({class:`cm-live-code`}).range(n.from,n.to)),W(e,n.from,n.to)||G(n.node,e=>{e.name===`CodeMark`&&s.push(d.replace({}).range(e.from,e.to))}),!1;if(n.name===`Link`){let r=t.doc.sliceString(n.from,n.to);if(K(n,e,s))return!1;if(r.includes(`](`)){let i=[],a=-1,u=-1;G(n.node,e=>{e.name===`LinkMark`&&i.push({from:e.from,to:e.to}),e.name===`URL`&&(a=e.from,u=e.to)});let f=a>=0?t.doc.sliceString(a,u):``;if(E(f)){let a=i.length>=2?t.doc.sliceString(i[0].to,i[1].from):r,u=!!o?.has(n.from),p=e.state.selection.main,m=p.from<=n.from&&p.to>=n.to&&p.from<p.to,h=t.doc.lineAt(n.from),g=h.text.trim()===t.doc.sliceString(n.from,n.to).trim();return g&&c.add(h.number),u?(s.push(d.mark({class:`cm-embed-source`}).range(n.from,n.to)),s.push(d.line({class:`cm-embed-source-line`}).range(h.from)),m&&s.push(d.line({class:`cm-embed-sel-line`}).range(h.from)),s.push(d.widget({widget:new V(a,f,n.from,n.to,m,e,!0),side:1}).range(n.to))):(s.push(d.replace({widget:new V(a,f,n.from,n.to,m,e,!1)}).range(n.from,n.to)),l.push(d.replace({}).range(n.from,n.to)),g&&s.push(d.line({class:`cm-embed-chip-line`}).range(h.from))),!1}return s.push(d.mark({class:`cm-live-link`,attributes:f?{"data-href":v(f)}:{}}).range(n.from,n.to)),W(e,n.from,n.to)||i.length>=2&&a>=0&&(s.push(d.replace({}).range(i[0].from,i[0].to)),s.push(d.replace({}).range(i[1].from,n.to))),!1}}if(n.name===`Image`){let r=t.doc.sliceString(n.from,n.to),i=r.match(/!\[([^\]]*)\]/),a=i?i[1]:``,c=``;if(G(n.node,e=>{e.name===`URL`&&(c=t.doc.sliceString(e.from,e.to))}),c){let i=!!o?.has(n.from),u=e.state.selection.main,f=u.from<=n.from&&u.to>=n.to&&u.from<u.to;if(i){let r=t.doc.lineAt(n.from).from;s.push(d.mark({class:`cm-embed-source`}).range(n.from,n.to)),s.push(d.line({class:`cm-embed-source-line`}).range(r)),f&&s.push(d.line({class:`cm-embed-sel-line`}).range(r)),s.push(d.widget({widget:new R(a,c,n.from,n.to,!0,f,e),side:1}).range(n.to))}else{s.push(d.replace({widget:new R(a,c,n.from,n.to,!1,f,e)}).range(n.from,n.to)),l.push(d.replace({}).range(n.from,n.to));let i=t.doc.lineAt(n.from);t.doc.sliceString(i.from,i.to).trim()===r.trim()&&s.push(d.line({class:`cm-image-line`}).range(i.from))}}return!1}}}),c.size>0)for(let e=2;e<t.doc.lines;e++){let n=t.doc.line(e);n.text.trim()===``&&c.has(e-1)&&c.has(e+1)&&s.push(d.line({class:`cm-embed-gap-line`}).range(n.from))}let u=t.doc;for(let e=1;e<=u.lines;e++){let t=u.line(e),n=t.text,i=n.trim(),a=/^-{3,}$/.test(i)||/^\*{3,}$/.test(i)||/^_{3,}$/.test(i),o=0;for(;!a&&(o=n.indexOf(`--`,o))!==-1;){let e=n[o+2]??``;if(e!==`-`&&!/[A-Za-z0-9_]/.test(e)){let e=t.from+o;s.push(d.replace({widget:new P}).range(e,e+2))}o+=2}for(let e=0;e<n.length;e++){let i=n[e];if(i!==`"`&&i!==`'`)continue;let a=e>0?n[e-1]:``;if(/[0-9]/.test(a))continue;let o=t.from+e,c=r(a),l=i===`"`?c?`“`:`”`:c?`‘`:`’`;s.push(d.mark({class:`cm-smart-quote`,attributes:{"data-smart-quote":l}}).range(o,o+1))}}return{deco:d.set(s,!0),atomic:d.set(l,!0)}}var ne=s.fromClass(class{decorations;atomicRanges;constructor(e){let t=Q(e);this.decorations=t.deco,this.atomicRanges=t.atomic}update(e){let t=e.transactions.some(e=>e.effects.some(e=>e.is(A)||e.is(j)));if(e.docChanged||e.selectionSet||e.viewportChanged||e.focusChanged||t){let t=Q(e.view);this.decorations=t.deco,this.atomicRanges=t.atomic}}},{decorations:e=>e.decorations,provide:e=>u.atomicRanges.of(t=>t.plugin(e)?.atomicRanges??d.none)});function $(e){let t=e.state.selection.main;if(t.from===t.to)return!1;let n=e.state.doc.lineAt(t.from);if(n.from!==t.from||n.to!==t.to)return!1;let r=e.state.doc.sliceString(t.from,t.to);if(!/^!\[[^\]]*\]\([^)]+\)$/.test(r))return!1;let i=e.state.doc.length,a=t.to<i?t.to+1:t.to;return e.dispatch({changes:{from:t.from,to:a,insert:``},userEvent:`delete.selection`}),!0}var re=i.high(c.of([{key:`Backspace`,run:$},{key:`Delete`,run:$}])),ie=u.baseTheme({".cm-smart-quote":{position:`relative`,visibility:`hidden`},".cm-smart-quote::before":{content:`attr(data-smart-quote)`,position:`absolute`,insetInlineStart:`0`,insetInlineEnd:`0`,textAlign:`center`,visibility:`visible`,textIndent:`0`},".cm-live-heading":{fontWeight:`600`},".cm-live-heading-1":{fontSize:`1.5em`},".cm-live-heading-2":{fontSize:`1.2em`},".cm-live-heading-3":{fontSize:`1.05em`},".cm-live-strong":{fontWeight:`600`},".cm-live-em":{fontStyle:`italic`},".cm-live-code":{fontFamily:`monospace`,fontSize:`0.9em`,padding:`1px 4px`,borderRadius:`0.1875rem`,backgroundColor:`rgba(128,128,128,0.12)`},".cm-live-wikilink":{borderRadius:`0.1875rem`},".cm-wikilink-active":{color:`var(--color-link)`,cursor:`pointer`,textDecoration:`none`},".cm-wikilink-active:hover":{textDecoration:`underline`},".cm-wikilink-inactive":{color:`var(--color-text-tertiary)`},".cm-live-link":{color:`var(--color-link, #f37373)`,textDecoration:`none`,cursor:`pointer`},".cm-live-link:hover":{textDecoration:`underline`},".cm-list-marker":{color:`var(--color-text-tertiary)`},".cm-list-marker-bullet, .cm-list-marker-bullet *":{color:`transparent !important`},".cm-list-marker-bullet::before":{content:`"•"`,display:`inline-block`,width:`0`,overflow:`visible`,textIndent:`0`,color:`var(--color-text-tertiary)`},".cm-list-marker-ordered, .cm-list-marker-ordered *":{color:`var(--color-text-tertiary) !important`,opacity:`1 !important`},".cm-line.cm-hang-indent":{paddingLeft:`var(--cm-hang, 0px)`,textIndent:`calc(-1 * var(--cm-hang, 0px))`},".cm-hr-widget":{borderTop:`1px solid var(--color-border, #333)`,margin:`0`},".cm-line.cm-hr-line":{lineHeight:`0`,padding:`var(--embed-gap) 0`},".cm-line.cm-embed-block-top":{marginTop:`var(--embed-gap)`},".cm-line.cm-embed-block-bottom":{marginBottom:`var(--embed-gap)`},".cm-task-checkbox":{verticalAlign:`middle`,margin:`0 4px 0 0`,cursor:`pointer`,accentColor:`var(--color-accent)`},".cm-image-widget":{display:`block`,width:`fit-content`,maxWidth:`100%`,lineHeight:`0`,position:`relative`,zIndex:`1`,background:`var(--color-bg)`,margin:`var(--embed-gap) 0`},".cm-line.cm-image-line":{lineHeight:`0`,fontSize:`0`,margin:`var(--embed-gap) 0`},".sg-comment-highlight .cm-image-widget img":{outline:`2px solid var(--color-comment-bg, #f5d264)`,outlineOffset:`2px`,borderRadius:`var(--radius-xs)`},".sg-comment-highlight.sg-comment-resolved .cm-image-widget img":{outline:`2px dashed var(--color-text-tertiary)`},".cm-image-widget img":{maxWidth:`100%`,borderRadius:`var(--radius-xs)`,transition:`opacity 0.15s ease`,verticalAlign:`top`},".cm-image-selected img":{outline:`2px solid var(--color-accent)`,outlineOffset:`2px`},".cm-image-loading":{width:`100%`,minHeight:`120px`,background:`var(--color-surface-subtle, rgba(0,0,0,0.04))`,borderRadius:`var(--radius-xs)`,position:`relative`},".cm-image-loading img":{opacity:`0`},".cm-image-loading::after":{content:`""`,position:`absolute`,top:`50%`,left:`50%`,width:`24px`,height:`24px`,marginTop:`-12px`,marginLeft:`-12px`,border:`2px solid rgba(0,0,0,0.08)`,borderTopColor:`var(--color-accent, #555)`,borderRadius:`50%`,animation:`cm-image-spin 0.8s linear infinite, cm-image-spinner-in 0.2s linear 0.2s forwards`,opacity:`0`},"@keyframes cm-image-spin":{to:{transform:`rotate(360deg)`}},"@keyframes cm-image-spinner-in":{to:{opacity:`1`}},".cm-image-widget.cm-image-errored":{display:`inline-flex`,alignItems:`center`,gap:`var(--space-2, 0.5rem)`,width:`fit-content`,maxWidth:`100%`,padding:`var(--space-2, 0.5rem) var(--space-3, 0.75rem)`,color:`var(--color-text-secondary)`,background:`var(--color-bg-surface)`,border:`1px solid var(--color-border)`,borderRadius:`var(--radius-md, 0.5rem)`,fontSize:`var(--text-sm, 0.875rem)`,lineHeight:`1.3`,fontStyle:`normal`,cursor:`pointer`},".cm-image-errored.cm-image-selected":{outline:`2px solid var(--color-accent)`,outlineOffset:`2px`},".cm-embed-chip":{display:`inline-flex`,alignItems:`center`,verticalAlign:`middle`,paddingRight:`var(--embed-gap)`,position:`relative`,zIndex:`1`,background:`var(--color-bg)`},".cm-embed-selected > *":{outline:`2px solid var(--color-accent)`,outlineOffset:`2px`},".cm-embed-source":{fontSize:`var(--editor-font-size)`,lineHeight:`1.4`,color:`var(--color-text-tertiary)`},".cm-line.cm-embed-source-line":{fontSize:`0`,lineHeight:`0`,marginBottom:`var(--embed-gap)`},".cm-embed-chip-block":{display:`flex`,width:`fit-content`,margin:`var(--embed-gap) 0`},".cm-line.cm-embed-chip-line":{fontSize:`0`,lineHeight:`0`,margin:`var(--embed-gap) 0`},".cm-embed-sel-line":{background:`var(--color-bg)`},".cm-line.cm-embed-gap-line":{fontSize:`0`,lineHeight:`0`},".cm-image-unavailable":{display:`inline-flex`,alignItems:`center`,gap:`var(--space-2, 0.5rem)`},".cm-image-unavailable svg":{flex:`none`,color:`var(--color-text-tertiary)`},".cm-image-unavailable-text":{color:`var(--color-text-tertiary)`},".cm-line.cm-quote-line":{borderLeft:`1px solid var(--color-border)`,paddingLeft:`12px`,color:`var(--color-text-secondary)`},".cm-line.cm-code-line":{fontFamily:`var(--font-mono, ui-monospace, monospace)`,fontSize:`0.9em`,backgroundColor:`rgba(128,128,128,0.08)`,paddingLeft:`12px`,paddingRight:`12px`,position:`relative`},".cm-code-copy":{position:`absolute`,top:`3px`,right:`8px`,zIndex:`2`}});export{_ as a,h as c,j as i,g as l,k as n,v as o,A as r,y as s,M as t};
|