@kohaku-ui/renderer-wc 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/dist/dom.d.ts +2 -1
  3. package/dist/dom.d.ts.map +1 -1
  4. package/dist/dom.js +3 -8
  5. package/dist/dom.js.map +1 -1
  6. package/dist/kohaku-surface.d.ts.map +1 -1
  7. package/dist/kohaku-surface.js +61 -6
  8. package/dist/kohaku-surface.js.map +1 -1
  9. package/dist/parts/action-button.js +1 -1
  10. package/dist/parts/action-button.js.map +1 -1
  11. package/dist/parts/chart.d.ts.map +1 -1
  12. package/dist/parts/chart.js +31 -30
  13. package/dist/parts/chart.js.map +1 -1
  14. package/dist/parts/control-select.d.ts.map +1 -1
  15. package/dist/parts/control-select.js +2 -8
  16. package/dist/parts/control-select.js.map +1 -1
  17. package/dist/parts/form.d.ts.map +1 -1
  18. package/dist/parts/form.js +16 -14
  19. package/dist/parts/form.js.map +1 -1
  20. package/dist/parts/kit.d.ts.map +1 -1
  21. package/dist/parts/kit.js +2 -2
  22. package/dist/parts/kit.js.map +1 -1
  23. package/dist/parts/layout.js +3 -3
  24. package/dist/parts/layout.js.map +1 -1
  25. package/dist/parts/list.d.ts.map +1 -1
  26. package/dist/parts/list.js +5 -3
  27. package/dist/parts/list.js.map +1 -1
  28. package/dist/parts/loading.d.ts.map +1 -1
  29. package/dist/parts/loading.js +2 -1
  30. package/dist/parts/loading.js.map +1 -1
  31. package/dist/parts/metric.d.ts.map +1 -1
  32. package/dist/parts/metric.js +7 -5
  33. package/dist/parts/metric.js.map +1 -1
  34. package/dist/parts/overlay.d.ts.map +1 -1
  35. package/dist/parts/overlay.js +8 -8
  36. package/dist/parts/overlay.js.map +1 -1
  37. package/dist/parts/spreadsheet.d.ts +2 -1
  38. package/dist/parts/spreadsheet.d.ts.map +1 -1
  39. package/dist/parts/spreadsheet.js +168 -27
  40. package/dist/parts/spreadsheet.js.map +1 -1
  41. package/dist/parts/tabs.js +4 -4
  42. package/dist/parts/tabs.js.map +1 -1
  43. package/dist/parts/text.d.ts.map +1 -1
  44. package/dist/parts/text.js +12 -11
  45. package/dist/parts/text.js.map +1 -1
  46. package/dist/sandbox-mount.d.ts.map +1 -1
  47. package/dist/sandbox-mount.js +28 -15
  48. package/dist/sandbox-mount.js.map +1 -1
  49. package/dist/tree.d.ts.map +1 -1
  50. package/dist/tree.js +4 -3
  51. package/dist/tree.js.map +1 -1
  52. package/dist/types.d.ts +46 -7
  53. package/dist/types.d.ts.map +1 -1
  54. package/package.json +10 -9
@@ -1,12 +1,13 @@
1
- import { applyLocalView, createSpreadsheetRemoteController, describeSortHeader, formatCell, hasDeclaredEvent, isActivationKey, resolveColumns, spreadsheetFooterBarStyle, spreadsheetFooterTotalStyle, spreadsheetPagerButtonStyle, spreadsheetSortButtonStyle, spreadsheetTdStyle, spreadsheetThStyle, } from "@kohaku-ui/renderer-core";
2
- import { resolveBoundRef } from "@kohaku-ui/spec-core";
1
+ import { applyLocalView, cellDraft, chartTableStyle, createSpreadsheetRemoteController, describeSortHeader, effectiveRows, formatCell, hasDeclaredEvent, isActivationKey, localFooterTotal, planCellEdit, resolveColumns, spreadsheetCellEditButtonStyle, spreadsheetCellEditInputStyle, spreadsheetFooterBarStyle, spreadsheetFooterTotalStyle, spreadsheetPagerButtonStyle, spreadsheetSortButtonStyle, spreadsheetTdStyle, spreadsheetThStyle, } from "@kohaku-ui/renderer-core";
2
+ import { resolveBoundRef, } from "@kohaku-ui/spec-core";
3
3
  import { el, text } from "../dom.js";
4
4
  import { dataStateNotice, tokenStr } from "./kit.js";
5
5
  /**
6
6
  * presentSpreadsheet — a table (same behavior as renderer-react's PresentSpreadsheet).
7
7
  * In-column sorting is an "operation that does not change intent" so it uses local state; a row click is an "operation
8
8
  * that changes intent" so it goes upstream via a Spec-declared event. In serverSide (opt-in), sorting/paging is done via
9
- * binding.resolve refetches. Current sort is indicated by aria-sort / ▲▼.
9
+ * binding.resolve refetches. Current sort is indicated by aria-sort / ▲▼. When props.editable, cells become
10
+ * button/input pairs that emit cellEdit via the invoke path (see attemptCommit below).
10
11
  *
11
12
  * The serverSide refetch state machine's single source of truth is renderer-core's SpreadsheetRemoteController.
12
13
  */
@@ -19,7 +20,12 @@ export const presentSpreadsheet = (rt, parent, node) => {
19
20
  const ref = node.data?.$ref;
20
21
  const pageSize = node.props["pageSize"];
21
22
  const declaredSort = node.props["sortBy"];
23
+ const editable = node.props["editable"] === true;
22
24
  const rowClickable = hasDeclaredEvent(rt.spec, node.id, "rowClick");
25
+ // Whether a Spec-declared sortChange event should be emitted on each user sort toggle. Never
26
+ // emitted from the Spec-driven syncDeclaredSort path — only a user click/keydown on the header
27
+ // button below fires it.
28
+ const sortChangeable = hasDeclaredEvent(rt.spec, node.id, "sortChange");
23
29
  const ctrl = createSpreadsheetRemoteController({
24
30
  binding: rt.binding,
25
31
  bus: rt.bus,
@@ -47,19 +53,105 @@ export const presentSpreadsheet = (rt, parent, node) => {
47
53
  const { remote } = ctrl.getSnapshot();
48
54
  return serverSide && remote != null ? remote : base;
49
55
  };
56
+ // Editable cells: an optimistic working copy of pending edits, keyed on the local-view rows
57
+ // array's own reference identity (see commitCellEdit/effectiveRows — mirrors renderer-react's
58
+ // useMemo-backed `rows`). rowsCache replicates useMemo's caching by hand: applyLocalView allocates
59
+ // a *new* array on every call whenever it actually sorts or slices, so recomputing it on every
60
+ // rerender() (editing/copy toggles included, not just new data) would make the working copy look
61
+ // stale against its own freshly-recomputed source and silently drop every edit the instant it's
62
+ // applied. Cache key: data reference + sort's value signature (serverSide/pageSize are fixed for
63
+ // this part instance's lifetime, so they need not be part of the key).
64
+ let rowsCache = null;
65
+ const computeRows = (data, sort) => {
66
+ if (serverSide)
67
+ return data.rows;
68
+ const sortSig = sort != null ? JSON.stringify(sort) : "";
69
+ if (rowsCache != null && rowsCache.data === data && rowsCache.sortSig === sortSig) {
70
+ return rowsCache.result;
71
+ }
72
+ const result = applyLocalView(data.rows, sort, pageSize, rt.locale);
73
+ rowsCache = { data, sortSig, result };
74
+ return result;
75
+ };
76
+ let copy;
77
+ let editing;
78
+ // Tracks which `editing` identity was last focused, so a rerender caused by something other than
79
+ // *starting* an edit (or retrying after an invalid one) does not keep stealing focus back to the
80
+ // input — mirrors a React useEffect's dependency-array semantics ([editing]).
81
+ let lastFocusedEditing;
82
+ const startEdit = (rowIndex, col) => {
83
+ editing = { rowIndex, column: col.key };
84
+ rerender();
85
+ };
86
+ const cancelEdit = () => {
87
+ editing = undefined;
88
+ rerender();
89
+ };
90
+ /**
91
+ * The sole commit path for both Enter and blur (native or triggered by Escape/Enter closing the
92
+ * input). Guarded by `editing` identity + `input.isConnected` so a trailing native blur — fired
93
+ * when a prior Enter/Escape already rerendered this cell back to its button and detached this very
94
+ * input — is a no-op rather than a second commit.
95
+ */
96
+ const attemptCommit = (rows, input, rowIndex, col) => {
97
+ if (editing?.rowIndex !== rowIndex || editing.column !== col.key || !input.isConnected)
98
+ return;
99
+ const plan = planCellEdit({ rows, copy, rowIndex, col, raw: input.value });
100
+ switch (plan.kind) {
101
+ case "invalid":
102
+ // Keep the same input node (no rerender): a full rebuild would replace it with a fresh one
103
+ // reset to the cell's original value, destroying the very text the user is trying to fix.
104
+ // Refocus it too — a blur-triggered attempt has already lost focus by this point.
105
+ editing = { rowIndex, column: col.key, invalid: true };
106
+ input.setAttribute("aria-invalid", "true");
107
+ input.focus();
108
+ return;
109
+ case "close":
110
+ editing = undefined; // vanished row, or unchanged value: close without emitting cellEdit
111
+ rerender();
112
+ return;
113
+ case "commit":
114
+ copy = plan.copy;
115
+ editing = undefined;
116
+ rerender();
117
+ // SpreadsheetCellEditRuntime -> JsonObject: a plain nested-object shape, just without index
118
+ // signatures — structurally a JsonObject at runtime.
119
+ rt.invoke(node, "cellEdit", plan.runtime, null, () => { });
120
+ return;
121
+ }
122
+ };
50
123
  const rerender = () => {
51
124
  const snap = ctrl.getSnapshot();
52
- swap(renderTable(rt, node, displayed(), {
125
+ const state = displayed();
126
+ const rows = state.status === "ready" ? computeRows(state.data, snap.sort) : [];
127
+ const rendered = renderTable(rt, node, state, {
53
128
  serverSide,
54
129
  sort: snap.sort,
55
130
  cursor: snap.cursor,
56
- pageSize,
57
131
  rowClickable,
132
+ editable,
133
+ rows,
134
+ copy,
135
+ editing,
58
136
  colors: { border, headerBg, accent, muted },
59
- onToggleSort: (colKey) => ctrl.toggleSort(colKey),
137
+ onToggleSort: (colKey) => {
138
+ const next = ctrl.toggleSort(colKey);
139
+ // SortState -> JsonObject: a plain { field, dir } shape, just without an index signature —
140
+ // structurally a JsonObject at runtime.
141
+ if (sortChangeable)
142
+ rt.emit(node, "sortChange", { value: next }, null);
143
+ },
60
144
  onFirstPage: () => ctrl.goFirstPage(),
61
145
  onNextPage: (next) => ctrl.goNextPage(next),
62
- }));
146
+ onStartEdit: startEdit,
147
+ onCommit: (input, rowIndex, col) => attemptCommit(rows, input, rowIndex, col),
148
+ onCancel: cancelEdit,
149
+ });
150
+ swap(rendered);
151
+ if (editing != null && editing !== lastFocusedEditing && rendered instanceof Element) {
152
+ rendered.querySelector("input")?.focus();
153
+ }
154
+ lastFocusedEditing = editing;
63
155
  };
64
156
  // (Re-)attaches base with the currently-correct `enabled` flag, only when that flag actually
65
157
  // changed since the last attach (toggling attach/detach is not free — a fresh attach synchronously
@@ -113,11 +205,12 @@ function renderTable(rt, node, state, opts) {
113
205
  return dataStateNotice(rt, state) ?? document.createComment(`kohaku:idle:${node.id}`);
114
206
  }
115
207
  const data = state.data;
116
- const { border, headerBg, accent } = opts.colors;
208
+ const { border, headerBg, accent, muted } = opts.colors;
209
+ const sizing = rt.sizing;
117
210
  const columns = resolveColumns(node, data);
118
- const rows = opts.serverSide ? data.rows : applyLocalView(data.rows, opts.sort, opts.pageSize, rt.locale);
211
+ const displayRows = effectiveRows(opts.rows, opts.copy);
119
212
  const wrapper = el("div", { "data-kohaku": node.id }, { width: "100%", overflowX: "auto" });
120
- const table = el("table", {}, { width: "100%", borderCollapse: "collapse", fontSize: 13.5 });
213
+ const table = el("table", {}, chartTableStyle(sizing));
121
214
  // ---- thead ----
122
215
  const thead = el("thead");
123
216
  const headRow = el("tr");
@@ -125,10 +218,10 @@ function renderTable(rt, node, state, opts) {
125
218
  // aria-sort / label / arrow are all derived by renderer-core's describeSortHeader (single source of truth
126
219
  // shared with renderer-react).
127
220
  const h = describeSortHeader(col, opts.sort);
128
- const th = el("th", {}, spreadsheetThStyle({ headerBg, border }));
221
+ const th = el("th", {}, spreadsheetThStyle({ headerBg, border, muted }, sizing));
129
222
  if (h.ariaSort != null)
130
223
  th.setAttribute("aria-sort", h.ariaSort);
131
- const btn = el("button", { type: "button" }, spreadsheetSortButtonStyle({ numeric: h.numeric }));
224
+ const btn = el("button", { type: "button" }, spreadsheetSortButtonStyle({ numeric: h.numeric }, sizing));
132
225
  btn.appendChild(text(h.label));
133
226
  if (h.arrow != null) {
134
227
  const arrow = el("span", { "aria-hidden": "true" }, { color: accent });
@@ -143,12 +236,19 @@ function renderTable(rt, node, state, opts) {
143
236
  table.appendChild(thead);
144
237
  // ---- tbody ----
145
238
  const tbody = el("tbody");
146
- for (const row of rows) {
239
+ // editable drops role/tabIndex/keydown entirely (an editable cell's own button/input is already
240
+ // interactive; nesting that inside a role="button" row trips axe's nested-interactive rule) —
241
+ // onClick stays wired for rowClick, but each cell's own button/input stops propagation so an edit
242
+ // interaction never also fires rowClick.
243
+ const rowKeyboardOperable = !opts.editable && opts.rowClickable;
244
+ displayRows.forEach((row, rowIndex) => {
147
245
  const tr = el("tr", {}, { cursor: opts.rowClickable ? "pointer" : "default", borderBottom: `1px solid ${border}` });
148
246
  if (opts.rowClickable) {
247
+ tr.addEventListener("click", () => rt.emit(node, "rowClick", { row }, null));
248
+ }
249
+ if (rowKeyboardOperable) {
149
250
  tr.setAttribute("role", "button");
150
251
  tr.tabIndex = 0;
151
- tr.addEventListener("click", () => rt.emit(node, "rowClick", { row }, null));
152
252
  tr.addEventListener("keydown", (e) => {
153
253
  if (isActivationKey(e.key)) {
154
254
  if (e.key === " ")
@@ -158,48 +258,89 @@ function renderTable(rt, node, state, opts) {
158
258
  });
159
259
  }
160
260
  for (const col of columns) {
161
- const td = el("td", {}, spreadsheetTdStyle({ numeric: col.type === "number" }));
162
- td.appendChild(text(formatCell(row[col.key], col, rt.locale)));
261
+ const numeric = col.type === "number";
262
+ if (!opts.editable) {
263
+ const td = el("td", {}, spreadsheetTdStyle({ numeric }, sizing));
264
+ td.appendChild(text(formatCell(row[col.key], col, rt.locale)));
265
+ tr.appendChild(td);
266
+ continue;
267
+ }
268
+ const td = el("td", {}, spreadsheetTdStyle({ numeric }, sizing));
269
+ const editingHere = opts.editing?.rowIndex === rowIndex && opts.editing.column === col.key ? opts.editing : undefined;
270
+ if (editingHere != null) {
271
+ const input = el("input", {
272
+ type: "text",
273
+ "aria-label": rt.messages.spreadsheetEditCell(col.label ?? col.key),
274
+ ...(editingHere.invalid ? { "aria-invalid": "true" } : {}),
275
+ }, spreadsheetCellEditInputStyle({ border }, { numeric }, sizing));
276
+ input.value = cellDraft(row[col.key], col);
277
+ input.addEventListener("click", (e) => e.stopPropagation());
278
+ input.addEventListener("keydown", (e) => {
279
+ if (e.key === "Enter") {
280
+ e.preventDefault();
281
+ opts.onCommit(input, rowIndex, col);
282
+ }
283
+ else if (e.key === "Escape") {
284
+ e.preventDefault();
285
+ opts.onCancel();
286
+ }
287
+ });
288
+ input.addEventListener("blur", () => opts.onCommit(input, rowIndex, col));
289
+ td.appendChild(input);
290
+ }
291
+ else {
292
+ const btn = el("button", { type: "button", "aria-label": rt.messages.spreadsheetEditCell(col.label ?? col.key) }, spreadsheetCellEditButtonStyle({ numeric }));
293
+ btn.appendChild(text(formatCell(row[col.key], col, rt.locale)));
294
+ btn.addEventListener("click", (e) => {
295
+ e.stopPropagation();
296
+ opts.onStartEdit(rowIndex, col);
297
+ });
298
+ td.appendChild(btn);
299
+ }
163
300
  tr.appendChild(td);
164
301
  }
165
302
  tbody.appendChild(tr);
166
- }
303
+ });
167
304
  table.appendChild(tbody);
168
305
  wrapper.appendChild(table);
169
306
  // ---- footer / pager ----
170
- appendFooter(rt, wrapper, data, rows.length, opts);
307
+ appendFooter(rt, wrapper, data, displayRows.length, opts);
171
308
  return wrapper;
172
309
  }
173
310
  function appendFooter(rt, wrapper, data, shown, opts) {
174
311
  const { border, accent, muted } = opts.colors;
312
+ const sizing = rt.sizing;
175
313
  if (opts.serverSide) {
176
- const bar = el("div", {}, spreadsheetFooterBarStyle({ muted }));
314
+ const bar = el("div", {}, spreadsheetFooterBarStyle({ muted }, sizing));
177
315
  if (data.total != null) {
178
316
  const span = el("span");
179
317
  span.appendChild(text(rt.messages.spreadsheetTotal(data.total.toLocaleString(rt.locale), shown)));
180
318
  bar.appendChild(span);
181
319
  }
182
320
  if (opts.cursor != null) {
183
- const b = pagerButton(rt.messages.spreadsheetFirstPage, { border, accent });
321
+ const b = pagerButton(rt.messages.spreadsheetFirstPage, { border, accent }, sizing);
184
322
  b.addEventListener("click", () => opts.onFirstPage());
185
323
  bar.appendChild(b);
186
324
  }
187
325
  if (data.nextCursor != null) {
188
326
  const next = data.nextCursor;
189
- const b = pagerButton(rt.messages.spreadsheetNextPage, { border, accent });
327
+ const b = pagerButton(rt.messages.spreadsheetNextPage, { border, accent }, sizing);
190
328
  b.addEventListener("click", () => opts.onNextPage(next));
191
329
  bar.appendChild(b);
192
330
  }
193
331
  wrapper.appendChild(bar);
194
332
  }
195
- else if (data.total != null && data.total > shown) {
196
- const div = el("div", {}, spreadsheetFooterTotalStyle({ muted }));
197
- div.appendChild(text(rt.messages.spreadsheetTotal(data.total.toLocaleString(rt.locale), shown)));
198
- wrapper.appendChild(div);
333
+ else {
334
+ const localTotal = localFooterTotal(data, shown);
335
+ if (localTotal != null) {
336
+ const div = el("div", {}, spreadsheetFooterTotalStyle({ muted }, sizing));
337
+ div.appendChild(text(rt.messages.spreadsheetTotal(localTotal.toLocaleString(rt.locale), shown)));
338
+ wrapper.appendChild(div);
339
+ }
199
340
  }
200
341
  }
201
- function pagerButton(label, tokens) {
202
- const b = el("button", { type: "button" }, spreadsheetPagerButtonStyle(tokens));
342
+ function pagerButton(label, tokens, sizing) {
343
+ const b = el("button", { type: "button" }, spreadsheetPagerButtonStyle(tokens, sizing));
203
344
  b.appendChild(text(label));
204
345
  return b;
205
346
  }
@@ -1 +1 @@
1
- {"version":3,"file":"spreadsheet.js","sourceRoot":"","sources":["../../src/parts/spreadsheet.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,cAAc,EAEd,iCAAiC,EACjC,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EAGd,yBAAyB,EACzB,2BAA2B,EAC3B,2BAA2B,EAC3B,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAsB,eAAe,EAAoB,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAErD;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,kBAAkB,GAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAClE,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5C,MAAM,QAAQ,GAAG,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAC7C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAE1C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,CAAC;IACrD,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAuB,CAAC;IAC9D,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAqC,CAAC;IAC9E,MAAM,YAAY,GAAG,gBAAgB,CAAC,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;IAEpE,MAAM,IAAI,GAAG,iCAAiC,CAAC;QAC7C,OAAO,EAAE,EAAE,CAAC,OAAO;QACnB,GAAG,EAAE,EAAE,CAAC,GAAG;QACX,GAAG;QACH,QAAQ;QACR,UAAU;QACV,YAAY;KACb,CAAC,CAAC;IAEH,2IAA2I;IAC3I,IAAI,IAAI,GAAc,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC;IACzC,mGAAmG;IACnG,sGAAsG;IACtG,sGAAsG;IACtG,oGAAoG;IACpG,8FAA8F;IAC9F,IAAI,UAAU,GAAe,GAAG,EAAE,GAAE,CAAC,CAAC;IACtC,IAAI,WAAW,GAAmB,IAAI,CAAC;IAEvC,IAAI,OAAO,GAAc,QAAQ,CAAC,aAAa,CAAC,gBAAgB,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IAC3E,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,CAAC,IAAU,EAAQ,EAAE;QAChC,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QAC1B,OAAO,GAAG,IAAiB,CAAC;IAC9B,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,GAAc,EAAE;QAChC,MAAM,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QACtC,OAAO,UAAU,IAAI,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC;IACtD,CAAC,CAAC;IAEF,MAAM,QAAQ,GAAG,GAAS,EAAE;QAC1B,MAAM,IAAI,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAChC,IAAI,CACF,WAAW,CAAC,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,EAAE;YACjC,UAAU;YACV,IAAI,EAAE,IAAI,CAAC,IAAI;YACf,MAAM,EAAE,IAAI,CAAC,MAAM;YACnB,QAAQ;YACR,YAAY;YACZ,MAAM,EAAE,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE;YAC3C,YAAY,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC;YACjD,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE;YACrC,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;SAC5C,CAAC,CACH,CAAC;IACJ,CAAC,CAAC;IAEF,6FAA6F;IAC7F,mGAAmG;IACnG,kGAAkG;IAClG,mGAAmG;IACnG,wCAAwC;IACxC,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,MAAM,OAAO,GAAG,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC,YAAY,CAAC,CAAC;QACjE,IAAI,OAAO,KAAK,WAAW;YAAE,OAAO;QACpC,WAAW,GAAG,OAAO,CAAC;QACtB,UAAU,EAAE,CAAC;QACb,UAAU,GAAG,EAAE,CAAC,UAAU,CAAC,MAAM,CAC/B,IAAI,EACJ,EAAE,CAAC,IAAI,EACP,CAAC,KAAK,EAAE,EAAE;YACR,IAAI,GAAG,KAAK,CAAC;YACb,QAAQ,EAAE,CAAC;QACb,CAAC,EACD,EAAE,OAAO,EAAE,CACZ,CAAC;IACJ,CAAC,CAAC;IAEF,+FAA+F;IAC/F,oGAAoG;IACpG,qGAAqG;IACrG,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE;QACpC,cAAc,EAAE,CAAC;QACjB,QAAQ,EAAE,CAAC;IACb,CAAC,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;IAE9B,mFAAmF;IACnF,gGAAgG;IAChG,gGAAgG;IAChG,mGAAmG;IACnG,MAAM,mBAAmB,GAAG,GAAuB,EAAE,CACnD,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,eAAe,CAAC,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;IACnC,MAAM,UAAU,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC,CAAC;IAEhF,iGAAiG;IACjG,mGAAmG;IACnG,uDAAuD;IACvD,cAAc,EAAE,CAAC;IAEjB,OAAO,GAAG,EAAE;QACV,UAAU,EAAE,CAAC;QACb,SAAS,EAAE,CAAC;QACZ,QAAQ,EAAE,CAAC;QACX,UAAU,EAAE,CAAC;IACf,CAAC,CAAC;AACJ,CAAC,CAAC;AAcF,SAAS,WAAW,CAAC,EAAiB,EAAE,IAAmB,EAAE,KAAgB,EAAE,IAAgB;IAC7F,IAAI,KAAK,CAAC,MAAM,KAAK,OAAO,EAAE,CAAC;QAC7B,kGAAkG;QAClG,oGAAoG;QACpG,qGAAqG;QACrG,iGAAiG;QACjG,mCAAmC;QACnC,OAAO,eAAe,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,QAAQ,CAAC,aAAa,CAAC,eAAe,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;IACxF,CAAC;IACD,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAEjD,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC3C,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC;IAE1G,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC;IAC5F,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC;IAE7F,kBAAkB;IAClB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1B,MAAM,OAAO,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;IACzB,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;QAC1B,0GAA0G;QAC1G,+BAA+B;QAC/B,MAAM,CAAC,GAAG,kBAAkB,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,QAAQ,IAAI,IAAI;YAAE,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC;QACjE,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,0BAA0B,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC;QACjG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;QAC/B,IAAI,CAAC,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACpB,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC;YACjC,GAAG,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QACzB,CAAC;QACD,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;QAChE,EAAE,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QACpB,OAAO,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAC1B,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC3B,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAEzB,kBAAkB;IAClB,MAAM,KAAK,GAAG,EAAE,CAAC,OAAO,CAAC,CAAC;IAC1B,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,EAAE,GAAG,EAAE,CACX,IAAI,EACJ,EAAE,EACF,EAAE,MAAM,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,EAAE,YAAY,EAAE,aAAa,MAAM,EAAE,EAAE,CAC3F,CAAC;QACF,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,EAAE,CAAC,YAAY,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;YAClC,EAAE,CAAC,QAAQ,GAAG,CAAC,CAAC;YAChB,EAAE,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC,CAAC;YAC7E,EAAE,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE;gBACnC,IAAI,eAAe,CAAC,CAAC,CAAC,GAAG,CAAC,EAAE,CAAC;oBAC3B,IAAI,CAAC,CAAC,GAAG,KAAK,GAAG;wBAAE,CAAC,CAAC,cAAc,EAAE,CAAC;oBACtC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,EAAE,EAAE,GAAG,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC3C,CAAC;YACH,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE,CAAC;YAC1B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,OAAO,EAAE,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC,CAAC,CAAC;YAChF,EAAE,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;YAC/D,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QACrB,CAAC;QACD,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IACxB,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IACzB,OAAO,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;IAE3B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,YAAY,CACnB,EAAiB,EACjB,OAAoB,EACpB,IAAiB,EACjB,KAAa,EACb,IAAgB;IAEhB,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,IAAI,CAAC,MAAM,CAAC;IAC9C,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;QACpB,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,yBAAyB,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAChE,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,EAAE,CAAC;YACvB,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;YAClG,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACxB,CAAC;QACD,IAAI,IAAI,CAAC,MAAM,IAAI,IAAI,EAAE,CAAC;YACxB,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,oBAAoB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC5E,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC;YACtD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,IAAI,IAAI,CAAC,UAAU,IAAI,IAAI,EAAE,CAAC;YAC5B,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;YAC7B,MAAM,CAAC,GAAG,WAAW,CAAC,EAAE,CAAC,QAAQ,CAAC,mBAAmB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;YAC3E,CAAC,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,GAAG,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QACrB,CAAC;QACD,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;SAAM,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,IAAI,IAAI,CAAC,KAAK,GAAG,KAAK,EAAE,CAAC;QACpD,MAAM,GAAG,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,2BAA2B,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QAClE,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;QACjG,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC;AACH,CAAC;AAED,SAAS,WAAW,CAAC,KAAa,EAAE,MAAoD;IACtF,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,2BAA2B,CAAC,MAAM,CAAC,CAAC,CAAC;IAChF,CAAC,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC3B,OAAO,CAAC,CAAC;AACX,CAAC"}
1
+ {"version":3,"file":"spreadsheet.js","sourceRoot":"","sources":["../../src/parts/spreadsheet.ts"],"names":[],"mappings":"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"}
@@ -22,12 +22,12 @@ export const layoutTabs = (rt, parent, node, row) => {
22
22
  const container = el("div", { "data-kohaku": node.id }, {
23
23
  display: "flex",
24
24
  flexDirection: "column",
25
- gap: 12,
25
+ gap: rt.sizing.space3,
26
26
  width: "100%",
27
27
  });
28
28
  const tablist = el("div", { role: "tablist" }, {
29
29
  display: "flex",
30
- gap: 4,
30
+ gap: rt.sizing.space1,
31
31
  borderBottom: `1px solid ${border}`,
32
32
  });
33
33
  const panel = el("div", { role: "tabpanel" });
@@ -79,7 +79,7 @@ export const layoutTabs = (rt, parent, node, row) => {
79
79
  btn.setAttribute("aria-selected", String(isSelected));
80
80
  btn.setAttribute("aria-controls", selectedIds.panelId);
81
81
  btn.tabIndex = isSelected ? 0 : -1;
82
- setStyle(btn, tabButtonStyle({ accent, muted }, { active: isSelected }));
82
+ setStyle(btn, tabButtonStyle({ accent, muted }, { active: isSelected }, rt.sizing));
83
83
  });
84
84
  panel.setAttribute("id", selectedIds.panelId);
85
85
  panel.setAttribute("aria-labelledby", selectedIds.tabId);
@@ -100,7 +100,7 @@ export const layoutTab = (rt, parent, node, row) => {
100
100
  const container = el("div", { "data-kohaku": node.id }, {
101
101
  display: "flex",
102
102
  flexDirection: "column",
103
- gap: 16,
103
+ gap: rt.sizing.space4,
104
104
  width: "100%",
105
105
  });
106
106
  parent.appendChild(container);
@@ -1 +1 @@
1
- {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/parts/tabs.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EAEX,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAErD,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC;;;;;GAKG;AACH,MAAM,CAAC,MAAM,UAAU,GAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC/D,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAC7C,MAAM,MAAM,GAAG,QAAQ,CAAC,EAAE,EAAE,cAAc,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAE1C,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,EAAE,CAAC;IACrC,MAAM,IAAI,GAAc,WAAW,CAAC,QAAQ,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,CAAC,CAAC;QACpD,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;QAC1B,OAAO,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;IAC9B,CAAC;IAED,MAAM,SAAS,GAAG,EAAE,CAClB,KAAK,EACL,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAC1B;QACE,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,MAAM;KACd,CACF,CAAC;IACF,MAAM,OAAO,GAAG,EAAE,CAChB,KAAK,EACL,EAAE,IAAI,EAAE,SAAS,EAAE,EACnB;QACE,OAAO,EAAE,MAAM;QACf,GAAG,EAAE,CAAC;QACN,YAAY,EAAE,aAAa,MAAM,EAAE;KACpC,CACF,CAAC;IACF,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC,CAAC;IAC9C,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;IACjC,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,GAAY,EAAE,CAAC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;IAC3D,MAAM,UAAU,GAAG,GAAY,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAE,CAAC;IAE3G,MAAM,OAAO,GAAwB,EAAE,CAAC;IAExC,MAAM,MAAM,GAAG,CAAC,GAAY,EAAQ,EAAE;QACpC,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;QAClC,4FAA4F;QAC5F,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,EAAE,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,EAAE,GAAG,CAAC,CAAC;IACrD,CAAC,CAAC;IAEF,MAAM,SAAS,GAAG,CAAC,CAAgB,EAAE,GAAW,EAAQ,EAAE;QACxD,MAAM,IAAI,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QACnD,IAAI,IAAI,IAAI,IAAI;YAAE,OAAO;QACzB,CAAC,CAAC,cAAc,EAAE,CAAC;QACnB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAE,CAAC,CAAC;QACpB,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,CAAC;IACzB,CAAC,CAAC;IAEF,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;QACxB,MAAM,GAAG,GAAG,EAAE,CAAC,QAAQ,EAAE;YACvB,IAAI,EAAE,KAAK;YACX,IAAI,EAAE,QAAQ;YACd,EAAE,EAAE,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC,KAAK;SAC1C,CAAsB,CAAC;QACxB,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;QACjC,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;QACjD,GAAG,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,SAAS,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClB,OAAO,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;IAC3B,CAAC,CAAC,CAAC;IAEH,4HAA4H;IAC5H,IAAI,aAAa,GAAa,IAAI,CAAC;IACnC,IAAI,YAAY,GAAkB,IAAI,CAAC;IACvC,IAAI,KAAK,GAAG,KAAK,CAAC;IAElB,MAAM,cAAc,GAAG,GAAS,EAAE;QAChC,MAAM,QAAQ,GAAG,UAAU,EAAE,CAAC;QAC9B,qJAAqJ;QACrJ,IAAI,KAAK,IAAI,YAAY,KAAK,QAAQ,CAAC,KAAK;YAAE,OAAO;QACrD,KAAK,GAAG,IAAI,CAAC;QACb,YAAY,GAAG,QAAQ,CAAC,KAAK,CAAC;QAC9B,MAAM,WAAW,GAAG,WAAW,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC;QAEzD,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACxB,MAAM,GAAG,GAAG,OAAO,CAAC,GAAG,CAAE,CAAC;YAC1B,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC;YAChD,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;YACtD,GAAG,CAAC,YAAY,CAAC,eAAe,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;YACvD,GAAG,CAAC,QAAQ,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACnC,QAAQ,CAAC,GAAG,EAAE,cAAc,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC;QAC3E,CAAC,CAAC,CAAC;QAEH,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,WAAW,CAAC,OAAO,CAAC,CAAC;QAC9C,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACzD,aAAa,EAAE,CAAC;QAChB,KAAK,CAAC,eAAe,EAAE,CAAC;QACxB,aAAa,GAAG,EAAE,CAAC,SAAS,CAAC,KAAK,EAAE,QAAQ,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;IACxD,CAAC,CAAC;IAEF,cAAc,EAAE,CAAC;IACjB,MAAM,KAAK,GAAG,EAAE,CAAC,KAAK,CAAC,SAAS,CAAC,GAAG,EAAE,CAAC,cAAc,EAAE,CAAC,CAAC;IAEzD,OAAO,GAAG,EAAE;QACV,KAAK,EAAE,CAAC;QACR,aAAa,EAAE,CAAC;QAChB,SAAS,CAAC,MAAM,EAAE,CAAC;IACrB,CAAC,CAAC;AACJ,CAAC,CAAC;AAEF,kGAAkG;AAClG,MAAM,CAAC,MAAM,SAAS,GAAgB,CAAC,EAAiB,EAAE,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,EAAE;IAC7E,MAAM,SAAS,GAAG,EAAE,CAClB,KAAK,EACL,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAC1B;QACE,OAAO,EAAE,MAAM;QACf,aAAa,EAAE,QAAQ;QACvB,GAAG,EAAE,EAAE;QACP,KAAK,EAAE,MAAM;KACd,CACF,CAAC;IACF,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,OAAO,EAAE,CAAC,aAAa,CAAC,SAAS,EAAE,IAAI,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;AACzD,CAAC,CAAC"}
1
+ {"version":3,"file":"tabs.js","sourceRoot":"","sources":["../../src/parts/tabs.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/parts/text.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,8EAA8E;AAC9E,eAAO,MAAM,WAAW,EAAE,WAWzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAuC7B,CAAC"}
1
+ {"version":3,"file":"text.d.ts","sourceRoot":"","sources":["../../src/parts/text.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAG/C,8EAA8E;AAC9E,eAAO,MAAM,WAAW,EAAE,WAOzB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,eAAe,EAAE,WAoC7B,CAAC"}
@@ -1,11 +1,11 @@
1
- import { parseMarkdownBlocks } from "@kohaku-ui/renderer-core";
1
+ import { parseMarkdownBlocks, textBodyStyle, textCodeStyle, textHeadingStyle, textListStyle, textPreStyle, textSubheadingStyle, } from "@kohaku-ui/renderer-core";
2
2
  import { el, text } from "../dom.js";
3
3
  import { tokenStr } from "./kit.js";
4
4
  /** text.heading — a heading (same markup as renderer-react's TextHeading). */
5
5
  export const textHeading = (rt, parent, node) => {
6
6
  const level = Math.min(6, Math.max(1, node.props["level"] ?? 2));
7
7
  const color = tokenStr(rt, "color.text");
8
- const heading = el(`h${level}`, { "data-kohaku": node.id }, { margin: 0, color, fontWeight: 650, lineHeight: 1.3 });
8
+ const heading = el(`h${level}`, { "data-kohaku": node.id }, textHeadingStyle(color));
9
9
  heading.appendChild(text(String(node.props["text"] ?? "")));
10
10
  parent.appendChild(heading);
11
11
  return () => heading.remove();
@@ -19,32 +19,33 @@ export const presentMarkdown = (rt, parent, node) => {
19
19
  const color = tokenStr(rt, "color.text");
20
20
  const muted = tokenStr(rt, "color.muted");
21
21
  const surface = tokenStr(rt, "color.surface");
22
- const container = el("div", { "data-kohaku": node.id }, { color, fontSize: 14, lineHeight: 1.7 });
22
+ const sizing = rt.sizing;
23
+ const container = el("div", { "data-kohaku": node.id }, textBodyStyle(color, sizing));
23
24
  for (const block of parseMarkdownBlocks(markdown)) {
24
25
  if (block.type === "code") {
25
- const pre = el("pre", {}, { background: surface, borderRadius: 6, padding: "10px 12px", overflowX: "auto", fontSize: 12.5 });
26
+ const pre = el("pre", {}, textPreStyle(surface, sizing));
26
27
  const code = el("code");
27
28
  code.appendChild(text(block.code));
28
29
  pre.appendChild(code);
29
30
  container.appendChild(pre);
30
31
  }
31
32
  else if (block.type === "heading") {
32
- const h = el(`h${block.level}`, {}, { margin: "8px 0 4px", fontWeight: 650 });
33
- appendInline(h, block.inline, surface);
33
+ const h = el(`h${block.level}`, {}, textSubheadingStyle(sizing));
34
+ appendInline(h, block.inline, surface, sizing);
34
35
  container.appendChild(h);
35
36
  }
36
37
  else if (block.type === "list") {
37
- const ul = el("ul", {}, { margin: "4px 0", paddingLeft: 20 });
38
+ const ul = el("ul", {}, textListStyle(sizing));
38
39
  for (const item of block.items) {
39
40
  const li = el("li");
40
- appendInline(li, item, surface);
41
+ appendInline(li, item, surface, sizing);
41
42
  ul.appendChild(li);
42
43
  }
43
44
  container.appendChild(ul);
44
45
  }
45
46
  else {
46
47
  const p = el("p", {}, { margin: "4px 0", ...(block.muted ? { color: muted } : {}) });
47
- appendInline(p, block.inline, surface);
48
+ appendInline(p, block.inline, surface, sizing);
48
49
  container.appendChild(p);
49
50
  }
50
51
  }
@@ -52,10 +53,10 @@ export const presentMarkdown = (rt, parent, node) => {
52
53
  return () => container.remove();
53
54
  };
54
55
  /** Flows the inline AST into an element (emits a node even for empty text to keep textContent matching). */
55
- function appendInline(host, inline, surface) {
56
+ function appendInline(host, inline, surface, sizing) {
56
57
  for (const part of inline) {
57
58
  if (part.type === "code") {
58
- const code = el("code", {}, { background: surface, borderRadius: 4, padding: "1px 5px", fontSize: 12.5 });
59
+ const code = el("code", {}, textCodeStyle(surface, sizing));
59
60
  code.appendChild(text(part.text));
60
61
  host.appendChild(code);
61
62
  }
@@ -1 +1 @@
1
- {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/parts/text.ts"],"names":[],"mappings":"AAAA,OAAO,EAAuB,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AACpF,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAErC,OAAO,EAAE,QAAQ,EAAE,MAAM,UAAU,CAAC;AAEpC,8EAA8E;AAC9E,MAAM,CAAC,MAAM,WAAW,GAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAC3D,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,CAAC,EAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAY,IAAI,CAAC,CAAC,CAAC,CAAC;IAC7E,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,EAAE,CAChB,IAAI,KAAK,EAAE,EACX,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAC1B,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,EAAE,CACvD,CAAC;IACF,OAAO,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5D,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAC5B,OAAO,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;AAChC,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAgB,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,CAAC,CAAC;IACtD,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC;IACzC,MAAM,KAAK,GAAG,QAAQ,CAAC,EAAE,EAAE,aAAa,CAAC,CAAC;IAC1C,MAAM,OAAO,GAAG,QAAQ,CAAC,EAAE,EAAE,eAAe,CAAC,CAAC;IAC9C,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;IAElG,KAAK,MAAM,KAAK,IAAI,mBAAmB,CAAC,QAAQ,CAAC,EAAE,CAAC;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YAC1B,MAAM,GAAG,GAAG,EAAE,CACZ,KAAK,EACL,EAAE,EACF,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAClG,CAAC;YACF,MAAM,IAAI,GAAG,EAAE,CAAC,MAAM,CAAC,CAAC;YACxB,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;YACnC,GAAG,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;YACtB,SAAS,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;QAC7B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;YACpC,MAAM,CAAC,GAAG,EAAE,CAAC,IAAI,KAAK,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,CAAC;YAC9E,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;aAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACjC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,EAAE,EAAE,CAAC,CAAC;YAC9D,KAAK,MAAM,IAAI,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAC/B,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,CAAC;gBACpB,YAAY,CAAC,EAAE,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;gBAChC,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;YACrB,CAAC;YACD,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAC5B,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;YACrF,YAAY,CAAC,CAAC,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACvC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;IAED,MAAM,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;IAC9B,OAAO,GAAG,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,CAAC;AAClC,CAAC,CAAC;AAEF,4GAA4G;AAC5G,SAAS,YAAY,CAAC,IAAiB,EAAE,MAAwB,EAAE,OAAe;IAChF,KAAK,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;QAC1B,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;YACzB,MAAM,IAAI,GAAG,EAAE,CACb,MAAM,EACN,EAAE,EACF,EAAE,UAAU,EAAE,OAAO,EAAE,YAAY,EAAE,CAAC,EAAE,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,IAAI,EAAE,CAC7E,CAAC;YACF,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YAClC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;QACzB,CAAC;aAAM,IAAI,IAAI,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAClC,MAAM,MAAM,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;YAC5B,MAAM,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;QACpC,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"text.js","sourceRoot":"","sources":["../../src/parts/text.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-mount.d.ts","sourceRoot":"","sources":["../src/sandbox-mount.ts"],"names":[],"mappings":"AAgBA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,QAAQ,CAiErG"}
1
+ {"version":3,"file":"sandbox-mount.d.ts","sourceRoot":"","sources":["../src/sandbox-mount.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,aAAa,EAAe,MAAM,sBAAsB,CAAC;AAEvE,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,aAAa,GAAG,QAAQ,CAgFrG"}
@@ -13,27 +13,36 @@ export function mountSandboxNode(rt, parent, node) {
13
13
  const messages = rt.messages;
14
14
  const artifact = node.artifact;
15
15
  if (artifact?.inline == null) {
16
- wrapper.appendChild(notice("error", sandboxArtifactMissingText(messages)));
16
+ wrapper.appendChild(notice("error", sandboxArtifactMissingText(messages), rt.theme, rt.sizing));
17
17
  return noop;
18
18
  }
19
19
  if (rt.sandbox == null) {
20
- wrapper.appendChild(notice("error", sandboxBridgeMissingText(node.type, messages)));
20
+ wrapper.appendChild(notice("error", sandboxBridgeMissingText(node.type, messages), rt.theme, rt.sizing));
21
21
  return noop;
22
22
  }
23
23
  // L2 badge (makes it explicit that isolated execution is in progress). Same wording as renderer-react
24
- // (both consume renderer-core's sandbox-chrome presenter, the single source of truth).
25
- const badgeRow = el("div", {}, sandboxBadgeRowStyle);
26
- const badge = el("span", {}, sandboxBadgePillStyle);
27
- badge.appendChild(text(sandboxBadgeText(messages)));
28
- const badgeNote = el("span", {}, sandboxBadgeDescriptionStyle);
29
- badgeNote.appendChild(text(sandboxBadgeDescriptionText(messages)));
30
- badgeRow.append(badge, badgeNote);
24
+ // (both consume renderer-core's sandbox-chrome presenter, the single source of truth). Omitted
25
+ // entirely when the host opts out via `sandbox.badge === "hidden"`.
31
26
  const statusHolder = el("div", {}, { width: "100%" });
32
27
  const container = el("div", {}, { width: "100%" });
33
- wrapper.append(badgeRow, statusHolder, container);
28
+ if (rt.sandbox.badge !== "hidden") {
29
+ const badgeRow = el("div", {}, sandboxBadgeRowStyle(rt.theme, rt.sizing));
30
+ const badge = el("span", {}, sandboxBadgePillStyle(rt.theme, rt.sizing));
31
+ badge.appendChild(text(sandboxBadgeText(messages)));
32
+ const badgeNote = el("span", {}, sandboxBadgeDescriptionStyle(rt.theme));
33
+ badgeNote.appendChild(text(sandboxBadgeDescriptionText(messages)));
34
+ badgeRow.append(badge, badgeNote);
35
+ wrapper.appendChild(badgeRow);
36
+ }
37
+ wrapper.append(statusHolder, container);
34
38
  const allowedEvents = rt.spec.events
35
39
  .filter((e) => e.on.startsWith(`${node.id}.`))
36
40
  .map((e) => e.on.slice(node.id.length + 1));
41
+ // Resolve the M-2 rollback hook (mirrors SandboxFrame's `kit` prop on the React side): a function form
42
+ // is called with this node's own ComponentNode/UISpec. `<kohaku-surface>` rebuilds its whole RenderRuntime
43
+ // on every Spec swap (see RenderRuntime's own doc comment), so — unlike React — no re-mount-dependency
44
+ // tracking is needed here: a Spec change already produces a fresh mountSandboxNode call end to end.
45
+ const resolvedKit = typeof rt.sandbox.kit === "function" ? rt.sandbox.kit(node, rt.spec) : rt.sandbox.kit;
37
46
  const handle = mountSandbox({
38
47
  container,
39
48
  componentId: node.id,
@@ -43,6 +52,9 @@ export function mountSandboxNode(rt, parent, node) {
43
52
  initialProps: node.props,
44
53
  bridge: rt.sandbox.bridge,
45
54
  ...(rt.sandbox.policy != null ? { policy: rt.sandbox.policy } : {}),
55
+ ...(resolvedKit !== undefined ? { kit: resolvedKit } : {}),
56
+ ...(resolvedKit === undefined && rt.sandbox.kitCss != null ? { kitCss: rt.sandbox.kitCss } : {}),
57
+ ...(rt.spec.provenance?.kit != null ? { provenanceKit: rt.spec.provenance.kit } : {}),
46
58
  // Inject theme tokens into the srcdoc (the same handoff as SandboxFrame). A theme change rides on the surface's
47
59
  // full re-render (rt rebuild → teardown / mount), so no subscription is needed here.
48
60
  theme: rt.theme,
@@ -50,10 +62,11 @@ export function mountSandboxNode(rt, parent, node) {
50
62
  // Keep the loading / error display in sync with state transitions (cleared on ready).
51
63
  const renderStatus = (state, detail) => {
52
64
  statusHolder.replaceChildren();
53
- if (state === "loading")
54
- statusHolder.appendChild(notice("info", sandboxLoadingNoticeText(messages)));
65
+ if (state === "loading") {
66
+ statusHolder.appendChild(notice("info", sandboxLoadingNoticeText(messages), rt.theme, rt.sizing));
67
+ }
55
68
  else if (state === "error") {
56
- statusHolder.appendChild(notice("error", sandboxErrorNoticeText(detail, messages)));
69
+ statusHolder.appendChild(notice("error", sandboxErrorNoticeText(detail, messages), rt.theme, rt.sizing));
57
70
  }
58
71
  };
59
72
  handle.onStateChange(renderStatus);
@@ -65,8 +78,8 @@ export function mountSandboxNode(rt, parent, node) {
65
78
  handle.destroy();
66
79
  };
67
80
  }
68
- function notice(tone, message) {
69
- const node = el("div", {}, { ...sandboxNoticeBaseStyle, ...sandboxNoticeToneStyle(tone) });
81
+ function notice(tone, message, theme, sizing) {
82
+ const node = el("div", {}, { ...sandboxNoticeBaseStyle(sizing), ...sandboxNoticeToneStyle(tone, theme) });
70
83
  node.appendChild(text(message));
71
84
  return node;
72
85
  }
@@ -1 +1 @@
1
- {"version":3,"file":"sandbox-mount.js","sourceRoot":"","sources":["../src/sandbox-mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAiB,EAAE,MAAkB,EAAE,IAAmB;IACzF,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE5B,MAAM,QAAQ,GAAqB,EAAE,CAAC,QAAQ,CAAC;IAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QAC3E,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpF,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sGAAsG;IACtG,uFAAuF;IACvF,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,oBAAoB,CAAC,CAAC;IACrD,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,qBAAqB,CAAC,CAAC;IACpD,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,4BAA4B,CAAC,CAAC;IAC/D,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;IACnE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IAElC,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,OAAO,CAAC,MAAM,CAAC,QAAQ,EAAE,YAAY,EAAE,SAAS,CAAC,CAAC;IAElD,MAAM,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9C,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,SAAS;QACT,WAAW,EAAE,IAAI,CAAC,EAAE;QACpB,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC9D,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,aAAa;QACb,YAAY,EAAE,IAAI,CAAC,KAAK;QACxB,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM;QACzB,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,gHAAgH;QAChH,qFAAqF;QACrF,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC,CAAC;IAEH,sFAAsF;IACtF,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,MAAe,EAAQ,EAAE;QAClE,YAAY,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS;YAAE,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;aACjG,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC3B,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;QACtF,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAEnC,oHAAoH;IACpH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvF,OAAO,GAAG,EAAE;QACV,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CAAC,IAAuB,EAAE,OAAe;IACtD,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,sBAAsB,EAAE,GAAG,sBAAsB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IAC3F,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"sandbox-mount.js","sourceRoot":"","sources":["../src/sandbox-mount.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,0BAA0B,EAC1B,4BAA4B,EAC5B,2BAA2B,EAC3B,qBAAqB,EACrB,oBAAoB,EACpB,gBAAgB,EAChB,wBAAwB,EACxB,sBAAsB,EACtB,wBAAwB,EACxB,sBAAsB,EACtB,sBAAsB,GACvB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,YAAY,EAAqB,MAAM,oBAAoB,CAAC;AAErE,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAG1C;;;;;GAKG;AACH,MAAM,UAAU,gBAAgB,CAAC,EAAiB,EAAE,MAAkB,EAAE,IAAmB;IACzF,MAAM,OAAO,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,aAAa,EAAE,IAAI,CAAC,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACzE,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC;IAE5B,MAAM,QAAQ,GAAqB,EAAE,CAAC,QAAQ,CAAC;IAE/C,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/B,IAAI,QAAQ,EAAE,MAAM,IAAI,IAAI,EAAE,CAAC;QAC7B,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,0BAA0B,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAChG,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,EAAE,CAAC,OAAO,IAAI,IAAI,EAAE,CAAC;QACvB,OAAO,CAAC,WAAW,CAAC,MAAM,CAAC,OAAO,EAAE,wBAAwB,CAAC,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACzG,OAAO,IAAI,CAAC;IACd,CAAC;IAED,sGAAsG;IACtG,+FAA+F;IAC/F,oEAAoE;IACpE,MAAM,YAAY,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACtD,MAAM,SAAS,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,IAAI,EAAE,CAAC,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,oBAAoB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QAC1E,MAAM,KAAK,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,qBAAqB,CAAC,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACzE,KAAK,CAAC,WAAW,CAAC,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACpD,MAAM,SAAS,GAAG,EAAE,CAAC,MAAM,EAAE,EAAE,EAAE,4BAA4B,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;QACzE,SAAS,CAAC,WAAW,CAAC,IAAI,CAAC,2BAA2B,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;QACnE,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;QAClC,OAAO,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC;IAChC,CAAC;IACD,OAAO,CAAC,MAAM,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;IAExC,MAAM,aAAa,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM;SACjC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,UAAU,CAAC,GAAG,IAAI,CAAC,EAAE,GAAG,CAAC,CAAC;SAC7C,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAE9C,uGAAuG;IACvG,2GAA2G;IAC3G,uGAAuG;IACvG,oGAAoG;IACpG,MAAM,WAAW,GAAG,OAAO,EAAE,CAAC,OAAO,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC;IAE1G,MAAM,MAAM,GAAG,YAAY,CAAC;QAC1B,SAAS;QACT,WAAW,EAAE,IAAI,CAAC,EAAE;QACpB,QAAQ,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,CAAC,MAAM,EAAE;QAC9D,GAAG,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAClE,aAAa;QACb,YAAY,EAAE,IAAI,CAAC,KAAK;QACxB,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM;QACzB,GAAG,CAAC,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACnE,GAAG,CAAC,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1D,GAAG,CAAC,WAAW,KAAK,SAAS,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAChG,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,UAAU,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrF,gHAAgH;QAChH,qFAAqF;QACrF,KAAK,EAAE,EAAE,CAAC,KAAK;KAChB,CAAC,CAAC;IAEH,sFAAsF;IACtF,MAAM,YAAY,GAAG,CAAC,KAAmB,EAAE,MAAe,EAAQ,EAAE;QAClE,YAAY,CAAC,eAAe,EAAE,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,YAAY,CAAC,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,wBAAwB,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;QACpG,CAAC;aAAM,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;YAC7B,YAAY,CAAC,WAAW,CACtB,MAAM,CAAC,OAAO,EAAE,sBAAsB,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,MAAM,CAAC,CAC/E,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;IACF,MAAM,CAAC,aAAa,CAAC,YAAY,CAAC,CAAC;IAEnC,oHAAoH;IACpH,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IAC5B,MAAM,KAAK,GAAG,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,GAAG,EAAE,GAAG,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAEvF,OAAO,GAAG,EAAE;QACV,KAAK,EAAE,CAAC;QACR,MAAM,CAAC,OAAO,EAAE,CAAC;IACnB,CAAC,CAAC;AACJ,CAAC;AAED,SAAS,MAAM,CACb,IAAuB,EACvB,OAAe,EACf,KAAkB,EAClB,MAAoB;IAEpB,MAAM,IAAI,GAAG,EAAE,CAAC,KAAK,EAAE,EAAE,EAAE,EAAE,GAAG,sBAAsB,CAAC,MAAM,CAAC,EAAE,GAAG,sBAAsB,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC1G,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAMrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAe,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,mBAAmB,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,yHAAyH;IACzH,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAkC9D;AAED,+GAA+G;AAC/G,wBAAgB,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEzF"}
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../src/tree.ts"],"names":[],"mappings":"AACA,OAAO,EAEL,KAAK,mBAAmB,EACxB,KAAK,gBAAgB,EAOrB,KAAK,cAAc,EACnB,KAAK,YAAY,EAClB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAKL,KAAK,WAAW,EAChB,KAAK,MAAM,EACZ,MAAM,sBAAsB,CAAC;AAG9B,OAAO,KAAK,EAAe,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAEpG,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,cAAc,CAAC;IACtB,GAAG,EAAE,mBAAmB,CAAC;IACzB,KAAK,EAAE,WAAW,CAAC;IACnB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,GAAG,EAAE,cAAc,CAAC;IACpB,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACnC,yHAAyH;IACzH,eAAe,CAAC,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;CAC5C;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,WAAW,GAAG,aAAa,CAmC9D;AAED,+GAA+G;AAC/G,wBAAgB,SAAS,CAAC,EAAE,EAAE,aAAa,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,QAAQ,CAEzF"}