@ai-ecoverse/slicc-spectrum 1.46.1 → 1.47.1

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/slicc-ui.js CHANGED
@@ -10783,6 +10783,24 @@ var o55 = class extends a10 {
10783
10783
  };
10784
10784
  e25("swc-icon-copy", o55);
10785
10785
 
10786
+ // node_modules/@adobe/spectrum-wc-icons/dist/InfoCircle.js
10787
+ function e82() {
10788
+ return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10 18.75c-4.825 0-8.75-3.925-8.75-8.75S5.175 1.25 10 1.25s8.75 3.925 8.75 8.75-3.925 8.75-8.75 8.75m0-16c-3.998 0-7.25 3.252-7.25 7.25s3.252 7.25 7.25 7.25 7.25-3.252 7.25-7.25S13.998 2.75 10 2.75"/><path fill="var(--swc-icon-color, currentColor)" d="M10 5.26a.9.9 0 0 1 .627.229c.33.365.33.921 0 1.286a.87.87 0 0 1-.626.235.85.85 0 0 1-.633-.248.86.86 0 0 1-.242-.627.88.88 0 0 1 .228-.64A.86.86 0 0 1 10 5.26m0 9.803a.75.75 0 0 1-.75-.75V9.478a.75.75 0 0 1 1.5 0v4.835a.75.75 0 0 1-.75.75"/></svg>';
10789
+ }
10790
+
10791
+ // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-info-circle.js
10792
+ var o56 = class extends a10 {
10793
+ static get styles() {
10794
+ return [t40];
10795
+ }
10796
+ render() {
10797
+ return b`
10798
+ <span class="swc-Icon">${o16(e82())}</span>
10799
+ `;
10800
+ }
10801
+ };
10802
+ e25("swc-icon-info-circle", o56);
10803
+
10786
10804
  // node_modules/@adobe/spectrum-wc/dist/link.css
10787
10805
  var link_default = '/**\n * Copyright 2026 Adobe. All rights reserved.\n * This file is licensed to you under the Apache License, Version 2.0 (the "License");\n * you may not use this file except in compliance with the License. You may obtain a copy\n * of the License at http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software distributed under\n * the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS\n * OF ANY KIND, either express or implied. See the License for the specific language\n * governing permissions and limitations under the License.\n */\n\n/**\n * Standalone link presentation for native `<a href>` elements.\n *\n * Default anchor appearance inside `.swc-Typography--prose` and\n * `.swc-Typography--links` ships with `typography.css` (generated). Import this\n * stylesheet when authors need explicit BEM modifiers on anchors.\n *\n */\n\n.swc-Link {\n inline-size: -moz-fit-content;\n inline-size: fit-content;\n font-family: var(--swc-sans-font-family-stack);\n font-size: var(--swc-font-size-100);\n font-style: normal;\n font-weight: 400;\n line-height: 1.30;\n color: var(--swc-link-text-color-default, var(--swc-accent-color-900));\n -webkit-text-decoration: underline;\n text-decoration: underline;\n text-decoration-thickness: 1px;\n text-underline-offset: 1px;\n transition: color 130ms ease-in-out;\n\n &:hover {\n color: var(--swc-link-text-color-hover, var(--swc-accent-color-1000));\n }\n\n &:active {\n color: var(--swc-link-text-color-down, var(--swc-accent-color-1000));\n }\n\n &:focus-visible {\n color: var(--swc-link-text-color-focus, var(--swc-accent-color-1000));\n border-radius: 4px;\n outline: 2px solid var(--swc-link-focus-indicator-color, var(--swc-blue-800));\n outline-offset: 2px;\n }\n\n &:lang(ja),\n &:lang(zh),\n &:lang(ko) {\n line-height: 1.50;\n }\n}\n\n.swc-Link--standalone {\n font-weight: 500;\n}\n\n.swc-Link--secondary {\n --swc-link-text-color-default: var(--swc-gray-800);\n --swc-link-text-color-hover: var(--swc-gray-900);\n --swc-link-text-color-down: var(--swc-gray-900);\n --swc-link-text-color-focus: var(--swc-gray-900);\n}\n\n.swc-Link--staticWhite {\n --swc-link-text-color-default: var(--swc-white);\n --swc-link-text-color-hover: var(--swc-white);\n --swc-link-text-color-down: var(--swc-white);\n --swc-link-text-color-focus: var(--swc-white);\n --swc-link-focus-indicator-color: var(--swc-white);\n}\n\n.swc-Link--staticBlack {\n --swc-link-text-color-default: var(--swc-black);\n --swc-link-text-color-hover: var(--swc-black);\n --swc-link-text-color-down: var(--swc-black);\n --swc-link-text-color-focus: var(--swc-black);\n --swc-link-focus-indicator-color: var(--swc-black);\n}\n\n.swc-Link--quiet.swc-Link--standalone {\n -webkit-text-decoration: none;\n text-decoration: none;\n}\n\n.swc-Link--quiet.swc-Link--standalone:hover {\n -webkit-text-decoration: underline;\n text-decoration: underline;\n}\n';
10788
10806
 
@@ -10871,12 +10889,55 @@ function exitNodeValue(tailnet) {
10871
10889
  if (tailnet.autoExitNode) return "auto";
10872
10890
  return tailnet.exitNodes?.find((node) => node.name === tailnet.exitNode)?.id ?? "none";
10873
10891
  }
10892
+ var linkStates = {
10893
+ connecting: ["info", "Connecting"],
10894
+ connected: ["positive", "Connected"],
10895
+ reconnecting: ["notice", "Reconnecting"]
10896
+ };
10897
+ function linksSummary(links) {
10898
+ if (links.permission) return "permission";
10899
+ if (!links.devices.length) return "none";
10900
+ if (links.devices.some((device) => device.state === "reconnecting")) return "reconnecting";
10901
+ if (links.devices.some((device) => device.state === "connecting")) return "connecting";
10902
+ return "linked";
10903
+ }
10904
+ function linksLight(links) {
10905
+ const summary = linksSummary(links);
10906
+ if (summary === "permission") return ["notice", "Needs permission"];
10907
+ if (summary === "none") return ["neutral", "None"];
10908
+ if (summary === "linked") return ["positive", `${links.devices.length} linked`];
10909
+ return linkStates[summary];
10910
+ }
10911
+ function exitValue(exit) {
10912
+ if (!exit) return "none";
10913
+ return exit.kind === "tailnet" ? `tailnet:${exit.node}` : `link:${exit.id}`;
10914
+ }
10915
+ function parseExit(value) {
10916
+ if (value.startsWith("tailnet:")) return { kind: "tailnet", node: value.slice(8) };
10917
+ if (value.startsWith("link:")) return { kind: "link", id: value.slice(5) };
10918
+ return null;
10919
+ }
10920
+ function unlinkBody(device, isExit) {
10921
+ const body4 = device.mode === "local" ? "It disconnects until this page reloads." : "It disconnects now. To link it again, run the join command on that computer.";
10922
+ return isExit ? `${body4} Internet traffic goes directly again.` : body4;
10923
+ }
10874
10924
  var wholeWeb = /* @__PURE__ */ new Set([
10875
10925
  "proxy",
10876
10926
  "extension",
10877
- "tailnet"
10927
+ "tailnet",
10928
+ "link"
10878
10929
  ]);
10930
+ function routeOf(status2) {
10931
+ return status2.exit?.kind === "link" ? "link" : status2.route;
10932
+ }
10933
+ function linkLine(status2, id) {
10934
+ const device = status2.links?.devices.find((item2) => item2.id === id);
10935
+ if (!device) return "Waiting for a linked device that isn\u2019t connected.";
10936
+ if (device.state !== "connected") return `Waiting for the linked device ${device.name}.`;
10937
+ return device.policy ? `Through the linked device ${device.name}, which reaches ${device.policy}.` : `Through the linked device ${device.name}.`;
10938
+ }
10879
10939
  function routeLine(status2) {
10940
+ if (status2.exit?.kind === "link") return linkLine(status2, status2.exit.id);
10880
10941
  const node = status2.route === "tailnet" ? status2.tailnet?.exitNode : null;
10881
10942
  return node ? `Through the Tailscale exit node ${node}, which reaches every site.` : routes[status2.route ?? "none"];
10882
10943
  }
@@ -10912,7 +10973,8 @@ var SliccNetwork = class extends ModelElement {
10912
10973
  error: { state: true },
10913
10974
  busy: { state: true },
10914
10975
  tailnetError: { state: true },
10915
- tailnetCopied: { state: true }
10976
+ tailnetCopied: { state: true },
10977
+ linksError: { state: true }
10916
10978
  };
10917
10979
  constructor() {
10918
10980
  super();
@@ -10923,6 +10985,7 @@ var SliccNetwork = class extends ModelElement {
10923
10985
  this.busy = "";
10924
10986
  this.tailnetError = "";
10925
10987
  this.tailnetCopied = "";
10988
+ this.linksError = "";
10926
10989
  }
10927
10990
  static styles = [
10928
10991
  r(link_default),
@@ -11023,6 +11086,62 @@ var SliccNetwork = class extends ModelElement {
11023
11086
  .node dd {
11024
11087
  margin: 0;
11025
11088
  }
11089
+ .node.stacked {
11090
+ grid-template-columns: minmax(0, 1fr);
11091
+ }
11092
+ .node.stacked dd + dt {
11093
+ margin-block-start: var(--swc-spacing-100);
11094
+ }
11095
+ .info {
11096
+ display: flex;
11097
+ align-items: flex-start;
11098
+ gap: var(--swc-spacing-100);
11099
+ padding: var(--swc-spacing-200);
11100
+ border-radius: var(--swc-corner-radius-medium-default);
11101
+ background: var(--swc-informative-subtle-background-color-default);
11102
+ --swc-icon-color: var(--swc-informative-visual-color);
11103
+ }
11104
+ .info swc-icon-info-circle {
11105
+ flex: none;
11106
+ margin-block-start: var(--swc-spacing-50);
11107
+ }
11108
+ .banner {
11109
+ display: grid;
11110
+ gap: var(--swc-spacing-100);
11111
+ }
11112
+ li.device {
11113
+ align-items: center;
11114
+ gap: var(--swc-spacing-75) var(--swc-spacing-200);
11115
+ padding: var(--swc-spacing-200) 0;
11116
+ }
11117
+ .device > :not(.who, swc-button) {
11118
+ grid-column: 1 / -1;
11119
+ }
11120
+ .who {
11121
+ display: flex;
11122
+ flex-wrap: wrap;
11123
+ align-items: center;
11124
+ gap: var(--swc-spacing-75) var(--swc-spacing-200);
11125
+ min-width: 0;
11126
+ }
11127
+ .who .name {
11128
+ min-width: 0;
11129
+ max-width: 100%;
11130
+ overflow: hidden;
11131
+ text-overflow: ellipsis;
11132
+ white-space: nowrap;
11133
+ font-weight: var(--swc-bold-font-weight);
11134
+ }
11135
+ .where {
11136
+ display: grid;
11137
+ min-width: 0;
11138
+ font-size: var(--swc-font-size-75);
11139
+ color: var(--swc-neutral-subdued-content-color-default);
11140
+ overflow-wrap: anywhere;
11141
+ }
11142
+ .where code {
11143
+ font-family: var(--swc-code-font-family-stack);
11144
+ }
11026
11145
  .key {
11027
11146
  display: flex;
11028
11147
  flex-wrap: wrap;
@@ -11108,6 +11227,7 @@ var SliccNetwork = class extends ModelElement {
11108
11227
  subscribe(model) {
11109
11228
  this.error = "";
11110
11229
  this.tailnetError = "";
11230
+ this.linksError = "";
11111
11231
  return model.network ? [model.network.on("network", () => this.requestUpdate())] : [];
11112
11232
  }
11113
11233
  focus() {
@@ -11131,26 +11251,29 @@ var SliccNetwork = class extends ModelElement {
11131
11251
  this.copied = done;
11132
11252
  this.uncopied = !done;
11133
11253
  }
11134
- async #tailnet(action, run2) {
11254
+ async #act(action, run2, area) {
11135
11255
  if (this.busy) return;
11136
11256
  this.busy = action;
11137
- this.tailnetError = "";
11257
+ this[area] = "";
11138
11258
  try {
11139
11259
  await run2();
11140
11260
  } catch (error) {
11141
- this.tailnetError = failure(error);
11261
+ this[area] = failure(error);
11142
11262
  } finally {
11143
11263
  this.busy = "";
11144
11264
  }
11145
11265
  }
11146
- async #copyTailnet(what, value) {
11266
+ #tailnet(action, run2) {
11267
+ return this.#act(action, run2, "tailnetError");
11268
+ }
11269
+ async #copyValue(key2, value, area) {
11147
11270
  try {
11148
11271
  await globalThis.navigator.clipboard.writeText(value);
11149
- this.tailnetCopied = what;
11150
- this.tailnetError = "";
11272
+ this.tailnetCopied = key2;
11273
+ this[area] = "";
11151
11274
  } catch {
11152
11275
  this.tailnetCopied = "";
11153
- this.tailnetError = "Couldn\u2019t copy. Select the text and copy it.";
11276
+ this[area] = "Couldn\u2019t copy. Select the text and copy it.";
11154
11277
  }
11155
11278
  }
11156
11279
  #waiting(action) {
@@ -11181,14 +11304,17 @@ var SliccNetwork = class extends ModelElement {
11181
11304
  });
11182
11305
  if (ok) await this.#tailnet("sign-out", () => port.logoutTailnet?.());
11183
11306
  }
11184
- #copyRow(what, label, value) {
11185
- const copied = this.tailnetCopied === what;
11307
+ #copyButton(key2, what, label, value, area) {
11308
+ const copied = this.tailnetCopied === key2;
11309
+ return b`<swc-action-button size="s" quiet data-action=${`copy-${what}`} accessible-label=${copied ? "Copied" : `Copy ${label}`} @click=${() => this.#copyValue(key2, value, area)}>
11310
+ <swc-icon-copy slot="icon"></swc-icon-copy>${copied ? "Copied" : "Copy"}
11311
+ </swc-action-button>`;
11312
+ }
11313
+ #copyRow(what, label, value, area = "tailnetError", spoken = label.toLowerCase()) {
11186
11314
  return b`<dt>${label}</dt>
11187
11315
  <dd class="command" data-copy=${what}>
11188
11316
  <code>${value}</code>
11189
- <swc-action-button size="s" quiet data-action=${`copy-${what}`} accessible-label=${copied ? "Copied" : `Copy ${label.toLowerCase()}`} @click=${() => this.#copyTailnet(what, value)}>
11190
- <swc-icon-copy slot="icon"></swc-icon-copy>${copied ? "Copied" : "Copy"}
11191
- </swc-action-button>
11317
+ ${this.#copyButton(what, what, spoken, value, area)}
11192
11318
  </dd>`;
11193
11319
  }
11194
11320
  #signIn(port, tailnet) {
@@ -11208,7 +11334,12 @@ var SliccNetwork = class extends ModelElement {
11208
11334
  ${this.#copyRow("name", "Name", tailnet.node.name)}
11209
11335
  ${address ? this.#copyRow("address", "Address", address) : A}
11210
11336
  </dl>` : A}
11211
- ${port.setExitNode && tailnet.exitNodes ? b`<div class="exit">
11337
+ ${port.setExit ? A : this.#tailnetExit(port, status2, tailnet)}
11338
+ ${tailnet.shieldsUp === false ? b`<div class="warning" data-shields="down"><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>Shields down: peers on your tailnet can connect to this browser.</span></div>` : tailnet.shieldsUp ? b`<p class="muted" data-shields="up">Shields up: peers can’t connect to this browser.</p>` : A}
11339
+ ${port.logoutTailnet ? b`<div class="actions"><swc-button size="m" variant="secondary" data-action="tailnet-sign-out" ?pending=${this.busy === "sign-out"} ?disabled=${this.#waiting("sign-out")} @click=${() => this.#signOut(port)}>Sign out</swc-button></div>` : A}`;
11340
+ }
11341
+ #tailnetExit(port, status2, tailnet) {
11342
+ return b`${port.setExitNode && tailnet.exitNodes ? b`<div class="exit">
11212
11343
  <span id="exit-node">Exit node</span>
11213
11344
  <sp-picker size="m" label="Exit node" aria-labelledby="exit-node" data-action="exit-node" .value=${l(exitNodeValue(tailnet))} ?pending=${this.busy === "exit"} ?disabled=${this.#waiting("exit")} @change=${(event2) => this.#exit(event2, port)}>
11214
11345
  <sp-menu-item value="none">None</sp-menu-item>
@@ -11216,9 +11347,115 @@ var SliccNetwork = class extends ModelElement {
11216
11347
  ${tailnet.exitNodes.map((node) => b`<sp-menu-item value=${node.id} ?disabled=${!node.online}>${node.name}${node.online ? A : b`<span slot="description">Offline</span>`}</sp-menu-item>`)}
11217
11348
  </sp-picker>
11218
11349
  </div>` : A}
11219
- <p data-exit=${tailnet.exitNode ? "node" : "none"}>${tailnet.exitNode ? `Internet through the exit node ${tailnet.exitNode}.` : tailnetOnly[status2.route ?? "none"]}</p>
11220
- ${tailnet.shieldsUp === false ? b`<div class="warning" data-shields="down"><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>Shields down: peers on your tailnet can connect to this browser.</span></div>` : tailnet.shieldsUp ? b`<p class="muted" data-shields="up">Shields up: peers can’t connect to this browser.</p>` : A}
11221
- ${port.logoutTailnet ? b`<div class="actions"><swc-button size="m" variant="secondary" data-action="tailnet-sign-out" ?pending=${this.busy === "sign-out"} ?disabled=${this.#waiting("sign-out")} @click=${() => this.#signOut(port)}>Sign out</swc-button></div>` : A}`;
11350
+ <p data-exit=${tailnet.exitNode ? "node" : "none"}>${tailnet.exitNode ? `Internet through the exit node ${tailnet.exitNode}.` : tailnetOnly[status2.route ?? "none"]}</p>`;
11351
+ }
11352
+ #exitLine(status2) {
11353
+ const exit = status2.exit;
11354
+ if (!exit) return A;
11355
+ if (exit.kind === "tailnet") {
11356
+ const name = status2.tailnet?.exitNodes?.find((node) => node.id === exit.node)?.name;
11357
+ return b`<p data-exit="node">${name ? `Internet through the Tailscale exit node ${name}.` : "Internet through an automatic Tailscale exit node."}</p>`;
11358
+ }
11359
+ const device = status2.links?.devices.find((item2) => item2.id === exit.id);
11360
+ if (device?.state === "connected") {
11361
+ return b`<p data-exit="device">Internet through the linked device ${device.name}.</p>`;
11362
+ }
11363
+ const who = device ? `${device.name} is ${device.state}` : "The linked device isn\u2019t connected";
11364
+ return b`<div class="warning" data-exit="device" data-held><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>${who}. Internet traffic waits until it’s connected.</span></div>`;
11365
+ }
11366
+ #exitPicker(port, status2) {
11367
+ const tailnet = status2.tailnet;
11368
+ const nodes = tailnet?.state === "running" ? tailnet.exitNodes ?? [] : [];
11369
+ const devices = (status2.links?.devices ?? []).filter((device) => device.exit);
11370
+ if (!port.setExit || !nodes.length && !devices.length && !status2.exit) return A;
11371
+ const current = exitValue(status2.exit);
11372
+ return b`<div class="exit" data-exit-picker=${status2.exit?.kind ?? "none"}>
11373
+ <span id="exit">Internet traffic</span>
11374
+ <sp-picker size="m" label="Internet traffic" aria-labelledby="exit" data-action="exit" .value=${l(current)} ?pending=${this.busy === "exit"} ?disabled=${this.#waiting("exit")} @change=${(event2) => this.#exitAll(event2, port)}>
11375
+ <sp-menu-item value="none">Directly</sp-menu-item>
11376
+ ${nodes.length ? b`<sp-menu-group data-group="tailnet"><span slot="header">Tailscale</span>
11377
+ <sp-menu-item value="tailnet:auto">Automatic</sp-menu-item>
11378
+ ${nodes.map((node) => b`<sp-menu-item value=${`tailnet:${node.id}`} ?disabled=${!node.online && current !== `tailnet:${node.id}`}>${node.name}${node.online ? A : b`<span slot="description">Offline</span>`}</sp-menu-item>`)}
11379
+ </sp-menu-group>` : A}
11380
+ ${devices.length ? b`<sp-menu-group data-group="links"><span slot="header">Linked devices</span>
11381
+ ${devices.map((device) => b`<sp-menu-item value=${`link:${device.id}`} ?disabled=${device.state !== "connected" && current !== `link:${device.id}`}>${device.name}${device.state === "connected" ? A : b`<span slot="description">${linkStates[device.state][1]}</span>`}</sp-menu-item>`)}
11382
+ </sp-menu-group>` : A}
11383
+ </sp-picker>
11384
+ </div>
11385
+ ${this.#exitLine(status2)}`;
11386
+ }
11387
+ #exitAll(event2, port) {
11388
+ const value = event2.target.value;
11389
+ void this.#act("exit", () => port.setExit?.(parseExit(value)), "error");
11390
+ }
11391
+ async #unlink(port, status2, device) {
11392
+ const isExit = status2.exit?.kind === "link" && status2.exit.id === device.id;
11393
+ const ok = await confirm({
11394
+ title: `Unlink ${device.name}?`,
11395
+ body: unlinkBody(device, isExit),
11396
+ action: "Unlink",
11397
+ variant: "confirmation"
11398
+ });
11399
+ if (ok) await this.#act(`unlink:${device.id}`, () => port.unlink?.(device.id), "linksError");
11400
+ }
11401
+ async #rotate(port) {
11402
+ const ok = await confirm({
11403
+ title: "Make a new join URL?",
11404
+ body: "Linked devices stay linked. Anyone with the old URL can\u2019t link anymore.",
11405
+ action: "New URL",
11406
+ variant: "confirmation"
11407
+ });
11408
+ if (ok) await this.#act("rotate", () => port.rotateJoinUrl?.(), "linksError");
11409
+ }
11410
+ #device(port, status2, device) {
11411
+ const [variant, label] = linkStates[device.state];
11412
+ const isExit = status2.exit?.kind === "link" && status2.exit.id === device.id;
11413
+ const action = `unlink:${device.id}`;
11414
+ return b`<li class="device" data-device=${device.id} data-state=${device.state} data-mode=${device.mode}>
11415
+ <div class="who">
11416
+ <span class="name" title=${device.name}>${device.name}</span>
11417
+ <swc-status-light size="s" variant=${variant}>${label}</swc-status-light>
11418
+ ${isExit ? b`<swc-badge size="s" variant="accent" subtle data-exit-badge>Exit</swc-badge>` : A}
11419
+ </div>
11420
+ ${port.unlink ? b`<swc-button size="s" variant="secondary" fill-style="outline" data-action="unlink" ?pending=${this.busy === action} ?disabled=${this.#waiting(action)} @click=${() => this.#unlink(port, status2, device)}>Unlink</swc-button>` : A}
11421
+ <span class="where"><code>${device.host}</code><span><code>${device.address}</code> · ${device.mode === "local" ? "This computer" : "Remote"}</span></span>
11422
+ ${device.policy ? b`<span class="muted" data-policy>Reaches ${device.policy}.</span>` : A}
11423
+ ${device.offers.includes("ssh") ? b`<div class="command" data-copy="ssh"><code>ssh ${device.host}</code>${this.#copyButton(`ssh:${device.id}`, "ssh", "ssh command", `ssh ${device.host}`, "linksError")}</div>` : A}
11424
+ </li>`;
11425
+ }
11426
+ #join(port, links) {
11427
+ const ready = links.joinCommand || links.joinUrl;
11428
+ return b`<p>Link a slicc CLI on another computer, or on this one, to reach its network, ssh into it, or send internet traffic through it.</p>
11429
+ ${ready ? b`<p>Run this on that computer:</p>
11430
+ <dl class="node stacked" data-join="ready">
11431
+ ${links.joinCommand ? this.#copyRow("join-command", "Command", links.joinCommand, "linksError", "command") : A}
11432
+ ${links.joinUrl ? this.#copyRow("join-url", "Join URL", links.joinUrl, "linksError", "join URL") : A}
11433
+ </dl>
11434
+ ${port.rotateJoinUrl && links.joinUrl ? b`<div class="actions"><swc-button size="s" variant="secondary" fill-style="outline" data-action="rotate-join-url" ?pending=${this.busy === "rotate"} ?disabled=${this.#waiting("rotate")} @click=${() => this.#rotate(port)}>New join URL</swc-button></div>` : A}` : b`<p class="muted" data-join="preparing">Preparing a join URL…</p>`}`;
11435
+ }
11436
+ #permission(port, links) {
11437
+ if (links.permission === "prompt") {
11438
+ return b`<div class="info" data-link-permission="prompt"><swc-icon-info-circle size="s" aria-hidden="true"></swc-icon-info-circle><span>A device is waiting to link. Chrome is asking whether this page may reach devices on your local network. Choose Allow.</span></div>`;
11439
+ }
11440
+ if (links.permission === "denied") {
11441
+ return b`<div class="warning" data-link-permission="denied"><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><div class="banner"><span>Chrome blocked local network access, so devices can’t link. Allow it in this site’s settings, then try again.</span>${port.retryLinks ? b`<div class="actions"><swc-button size="s" variant="secondary" fill-style="outline" data-action="retry-links" ?pending=${this.busy === "retry-links"} ?disabled=${this.#waiting("retry-links")} @click=${() => this.#act("retry-links", () => port.retryLinks?.(), "linksError")}>Try again</swc-button></div>` : A}</div></div>`;
11442
+ }
11443
+ return A;
11444
+ }
11445
+ #linksSection(port, status2) {
11446
+ const links = status2.links;
11447
+ if (!links) return A;
11448
+ const [variant, label] = linksLight(links);
11449
+ return b`<section aria-labelledby="links" data-links=${linksSummary(links)}>
11450
+ <div class="head">
11451
+ <h2 id="links">Linked devices</h2>
11452
+ <swc-status-light variant=${variant}>${label}</swc-status-light>
11453
+ </div>
11454
+ ${this.#permission(port, links)}
11455
+ ${links.devices.length ? b`<ul aria-labelledby="links">${links.devices.map((device) => this.#device(port, status2, device))}</ul>
11456
+ <details><summary>Link another device</summary><div>${this.#join(port, links)}</div></details>` : this.#join(port, links)}
11457
+ ${this.linksError ? b`<div class="error" role="alert" data-error="links"><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>${this.linksError}</span></div>` : A}
11458
+ </section>`;
11222
11459
  }
11223
11460
  #exit(event2, port) {
11224
11461
  const value = event2.target.value;
@@ -11256,17 +11493,18 @@ var SliccNetwork = class extends ModelElement {
11256
11493
  ${this.tailnetError ? b`<div class="error" role="alert" data-error="tailnet-action"><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>${this.tailnetError}</span></div>` : A}
11257
11494
  </section>`;
11258
11495
  }
11259
- #state(status2) {
11496
+ #state(port, status2) {
11260
11497
  const [variant, label] = networkHealth[status2.health];
11261
11498
  return b`<section aria-labelledby="state">
11262
11499
  <div class="head">
11263
11500
  <h2 id="state">Connection</h2>
11264
11501
  <swc-status-light variant=${variant} data-health=${status2.health}>${label}</swc-status-light>
11265
11502
  </div>
11266
- <p data-route=${status2.route ?? "none"}>${routeLine(status2)}</p>
11503
+ <p data-route=${routeOf(status2) ?? "none"}>${routeLine(status2)}</p>
11267
11504
  ${status2.detail ? b`<p class="detail">${status2.detail}</p>` : A}
11505
+ ${this.#exitPicker(port, status2)}
11268
11506
  ${status2.browser ? b`<p data-browser=${automationOf(status2.browser)}>${automation[automationOf(status2.browser)]}${status2.browser.detail ? b` <span class="detail">${status2.browser.detail}</span>` : A}</p>` : A}
11269
- ${this.model?.network?.check ? b`<div class="actions"><swc-button size="m" variant="secondary" data-action="check" ?pending=${this.checking} @click=${() => this.check()}>Check again</swc-button></div>` : A}
11507
+ ${port.check ? b`<div class="actions"><swc-button size="m" variant="secondary" data-action="check" ?pending=${this.checking} @click=${() => this.check()}>Check again</swc-button></div>` : A}
11270
11508
  ${this.error ? b`<div class="error" role="alert"><swc-icon-alert-triangle size="s" aria-hidden="true"></swc-icon-alert-triangle><span>${this.error}</span></div>` : A}
11271
11509
  </section>`;
11272
11510
  }
@@ -11280,7 +11518,7 @@ var SliccNetwork = class extends ModelElement {
11280
11518
  });
11281
11519
  }
11282
11520
  #whole(status2) {
11283
- if (wholeWeb.has(status2.route)) {
11521
+ if (wholeWeb.has(routeOf(status2))) {
11284
11522
  return b`<details><summary>Other ways to reach the whole web</summary><div>${this.#ways(status2)}</div></details>`;
11285
11523
  }
11286
11524
  return b`<section aria-labelledby="whole">
@@ -11309,8 +11547,9 @@ var SliccNetwork = class extends ModelElement {
11309
11547
  }
11310
11548
  const status2 = port.status();
11311
11549
  return b`<div class="page" tabindex="-1">
11312
- ${this.#state(status2)}
11550
+ ${this.#state(port, status2)}
11313
11551
  ${this.#tailnetSection(port, status2)}
11552
+ ${this.#linksSection(port, status2)}
11314
11553
  ${this.#whole(status2)}
11315
11554
  ${this.#failures(status2)}
11316
11555
  </div>`;
@@ -14809,7 +15048,7 @@ ${swc_default}`));
14809
15048
  var t45 = i`:host{display:block}*{box-sizing:border-box}.swc-Divider{--_swc-divider-thickness: var(--swc-divider-thickness, 2px);inline-size:100%;block-size:var(--_swc-divider-thickness);background-color:var(--swc-divider-background-color, var(--swc-gray-200));border-radius:var(--_swc-divider-thickness)}:host([size=\"s\"]){--swc-divider-thickness: 1px}:host([size=\"l\"]){--swc-divider-thickness: 4px;--swc-divider-background-color: var(--swc-gray-800)}.swc-Divider:not(.swc-Divider--vertical){min-inline-size:min(100%,200px)}:host([vertical]){align-self:stretch}.swc-Divider--vertical{inline-size:var(--_swc-divider-thickness);block-size:100%;min-block-size:min(100%,200px)}.swc-Divider--staticWhite{--swc-divider-background-color: rgba(255, 255, 255, .14)}.swc-Divider--staticWhite:where(.swc-Divider--sizeL){--swc-divider-background-color: rgba(255, 255, 255, .85)}.swc-Divider--staticBlack{--swc-divider-background-color: rgba(0, 0, 0, .12)}.swc-Divider--staticBlack:where(.swc-Divider--sizeL){--swc-divider-background-color: rgba(0, 0, 0, .84)}@media(forced-colors:active){.swc-Divider{--swc-divider-background-color: CanvasText}}`;
14810
15049
 
14811
15050
  // node_modules/@adobe/spectrum-wc-core/dist/components/divider/Divider.types.js
14812
- var e82 = [
15051
+ var e83 = [
14813
15052
  "s",
14814
15053
  "m",
14815
15054
  "l"
@@ -14818,7 +15057,7 @@ var t46 = ["white", "black"];
14818
15057
 
14819
15058
  // node_modules/@adobe/spectrum-wc-core/dist/components/divider/Divider.base.js
14820
15059
  var s10;
14821
- var c18 = class extends i12(i9, { validSizes: e82 }) {
15060
+ var c18 = class extends i12(i9, { validSizes: e83 }) {
14822
15061
  constructor(...e116) {
14823
15062
  super(...e116), this.vertical = false;
14824
15063
  }
@@ -14877,7 +15116,7 @@ e25("swc-divider", a13);
14877
15116
  var t47 = i`:host([indeterminate]) .swc-LinearProgress-fill{inline-size:100%;min-inline-size:0;transform-origin:left;transition:none;animation:indeterminate-loop-ltr 1s cubic-bezier(.45,0,.4,1) infinite;will-change:transform;&:dir(rtl){animation-name:indeterminate-loop-rtl}}@keyframes indeterminate-loop-ltr{0%{transform:translate(-70%) scaleX(.7)}to{transform:translate(100%) scaleX(.7)}}@keyframes indeterminate-loop-rtl{0%{transform:translate(100%) scaleX(.7)}to{transform:translate(-70%) scaleX(.7)}}@media(prefers-reduced-motion:reduce){:host([indeterminate]) .swc-LinearProgress-fill{animation-duration:15s;animation-timing-function:linear}}`;
14878
15117
 
14879
15118
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-bar/ProgressBar.base.js
14880
- var o56 = class extends m3(i12(i9, {
15119
+ var o57 = class extends m3(i12(i9, {
14881
15120
  validSizes: s6,
14882
15121
  defaultSize: "m"
14883
15122
  })) {
@@ -14888,10 +15127,10 @@ var o56 = class extends m3(i12(i9, {
14888
15127
  e24([n({
14889
15128
  type: Boolean,
14890
15129
  reflect: true
14891
- })], o56.prototype, "indeterminate", void 0);
15130
+ })], o57.prototype, "indeterminate", void 0);
14892
15131
 
14893
15132
  // node_modules/@adobe/spectrum-wc/dist/components/progress-bar/ProgressBar.js
14894
- var o57 = class extends o56 {
15133
+ var o58 = class extends o57 {
14895
15134
  static get styles() {
14896
15135
  return [t26, t47];
14897
15136
  }
@@ -14940,13 +15179,13 @@ var o57 = class extends o56 {
14940
15179
  };
14941
15180
 
14942
15181
  // node_modules/@adobe/spectrum-wc/dist/components/progress-bar/swc-progress-bar.js
14943
- e25("swc-progress-bar", o57);
15182
+ e25("swc-progress-bar", o58);
14944
15183
 
14945
15184
  // node_modules/@adobe/spectrum-wc/dist/components/progress-circle/progress-circle.js
14946
15185
  var t48 = i`@keyframes swc-fills-rotate{0%{transform:rotate(var(--swc-progress-circle-rotate-start, -90deg))}to{transform:rotate(var(--swc-progress-circle-rotate-end, 270deg))}}@keyframes swc-dashoffset-animation{0%,to{stroke-dashoffset:75px}30%{stroke-dashoffset:var(--swc-progress-circle-dashoffset-30, 20px)}}:host{display:inline-block;align-self:center;justify-self:center;place-self:center}*{box-sizing:border-box}.swc-ProgressCircle{--_swc-progress-circle-size: var(--swc-progress-circle-size, var(--swc-progress-circle-size-medium));--_swc-progress-circle-track-border-color: var(--swc-progress-circle-track-border-color, var(--swc-gray-300));--_swc-progress-circle-fill-border-color: var(--swc-progress-circle-fill-border-color, var(--swc-accent-color-900));--_swc-progress-circle-thickness: var(--swc-progress-circle-thickness, var(--swc-progress-circle-thickness-medium));display:inline-block;position:relative;inline-size:var(--_swc-progress-circle-size);block-size:var(--_swc-progress-circle-size);direction:ltr;transform:translateZ(0)}.swc-ProgressCircle-fill,.swc-ProgressCircle-track{inline-size:var(--_swc-progress-circle-size);block-size:var(--_swc-progress-circle-size)}.swc-ProgressCircle-track{stroke:var(--_swc-progress-circle-track-border-color);stroke-width:var(--_swc-progress-circle-thickness)}.swc-ProgressCircle-fill{stroke:var(--_swc-progress-circle-fill-border-color);stroke-width:var(--_swc-progress-circle-thickness);transform:rotate(-90deg);transform-origin:center}.swc-ProgressCircle--indeterminate .swc-ProgressCircle-fill{transform-origin:center;animation:swc-fills-rotate 1s cubic-bezier(.6,.1,.3,.9) infinite,swc-dashoffset-animation 1s cubic-bezier(.25,.1,.25,1.3) infinite;will-change:transform}:host([size=\"s\"]){--swc-progress-circle-size: var(--swc-progress-circle-size-small);--swc-progress-circle-thickness: var(--swc-progress-circle-thickness-small)}:host([size=\"l\"]){--swc-progress-circle-size: var(--swc-progress-circle-size-large);--swc-progress-circle-thickness: var(--swc-progress-circle-thickness-large)}.swc-ProgressCircle:where(.swc-ProgressCircle--staticWhite){--swc-progress-circle-track-border-color: var(--swc-transparent-white-300);--swc-progress-circle-fill-border-color: var(--swc-transparent-white-900)}.swc-ProgressCircle:where(.swc-ProgressCircle--staticBlack){--swc-progress-circle-track-border-color: var(--swc-transparent-black-300);--swc-progress-circle-fill-border-color: var(--swc-transparent-black-900)}@media(prefers-reduced-motion:reduce){.swc-ProgressCircle--indeterminate .swc-ProgressCircle-fill{--swc-progress-circle-dashoffset-30: 0;--swc-progress-circle-rotate-start: 0deg;--swc-progress-circle-rotate-end: 360deg;animation-duration:15s;animation-timing-function:linear,linear}}@media(forced-colors:active){.swc-ProgressCircle{--swc-progress-circle-fill-border-color: Highlight;@media(prefers-color-scheme:dark){--swc-progress-circle-track-border-color: var(--swc-transparent-white-300)}@media(prefers-color-scheme:light){--swc-progress-circle-track-border-color: var(--swc-transparent-black-300)}}}`;
14947
15186
 
14948
15187
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.types.js
14949
- var e83 = [
15188
+ var e84 = [
14950
15189
  "s",
14951
15190
  "m",
14952
15191
  "l"
@@ -14955,7 +15194,7 @@ var t49 = ["white", "black"];
14955
15194
 
14956
15195
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.base.js
14957
15196
  var u17;
14958
- var d13 = class e84 extends i12(i9, { validSizes: e83 }) {
15197
+ var d13 = class e85 extends i12(i9, { validSizes: e84 }) {
14959
15198
  constructor(...e116) {
14960
15199
  super(...e116), this.label = "", this.progress = null, this.languageResolver = new i10(this);
14961
15200
  }
@@ -14980,11 +15219,11 @@ var d13 = class e84 extends i12(i9, { validSizes: e83 }) {
14980
15219
  }).format(((e116 = this.progress) == null ? 0 : e116) / 100);
14981
15220
  }
14982
15221
  warnDeprecatedLightDomChildren() {
14983
- r9(this, e84.hasMeaningfulLightDomChildren(this), `<${this.localName}> no longer has a default slot. Light DOM children are not rendered and are not used for an accessible name. Use the "label" attribute or property, or "aria-label" / "aria-labelledby" on the host instead.`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", { level: "deprecation" });
15222
+ r9(this, e85.hasMeaningfulLightDomChildren(this), `<${this.localName}> no longer has a default slot. Light DOM children are not rendered and are not used for an accessible name. Use the "label" attribute or property, or "aria-label" / "aria-labelledby" on the host instead.`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", { level: "deprecation" });
14984
15223
  }
14985
15224
  willUpdate(t88) {
14986
15225
  if (t88.has("progress") && this.progress !== null) {
14987
- let t89 = e84.clampProgress(this.progress);
15226
+ let t89 = e85.clampProgress(this.progress);
14988
15227
  t89 !== this.progress && (this.progress = t89);
14989
15228
  }
14990
15229
  super.willUpdate(t88);
@@ -14993,7 +15232,7 @@ var d13 = class e84 extends i12(i9, { validSizes: e83 }) {
14993
15232
  super.firstUpdated(e116), this.setAttribute("role", "progressbar");
14994
15233
  }
14995
15234
  updated(t88) {
14996
- if (super.updated(t88), t88.has("progress") && (this.progress !== null && this.progress >= 0 ? (this.setAttribute("aria-valuemin", "0"), this.setAttribute("aria-valuemax", "100"), this.setAttribute("aria-valuenow", String(this.progress)), this.setAttribute("aria-valuetext", this.formatProgress())) : (this.removeAttribute("aria-valuemin"), this.removeAttribute("aria-valuemax"), this.removeAttribute("aria-valuenow"), this.removeAttribute("aria-valuetext"))), this.progress !== null && t88.has(e27) && this.setAttribute("aria-valuetext", this.formatProgress()), t88.has("label") && (this.label.length ? this.setAttribute("aria-label", this.label) : t88.get("label") === this.getAttribute("aria-label") && this.removeAttribute("aria-label")), t88.has("label") && !this.hasAccessibleName() && (this.setAttribute("aria-label", e84.DEFAULT_LABEL), r9(this, true, `<${this.localName}> requires an accessible name. A default label of "${e84.DEFAULT_LABEL}" has been applied, but a more specific label should be provided via:`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", {
15235
+ if (super.updated(t88), t88.has("progress") && (this.progress !== null && this.progress >= 0 ? (this.setAttribute("aria-valuemin", "0"), this.setAttribute("aria-valuemax", "100"), this.setAttribute("aria-valuenow", String(this.progress)), this.setAttribute("aria-valuetext", this.formatProgress())) : (this.removeAttribute("aria-valuemin"), this.removeAttribute("aria-valuemax"), this.removeAttribute("aria-valuenow"), this.removeAttribute("aria-valuetext"))), this.progress !== null && t88.has(e27) && this.setAttribute("aria-valuetext", this.formatProgress()), t88.has("label") && (this.label.length ? this.setAttribute("aria-label", this.label) : t88.get("label") === this.getAttribute("aria-label") && this.removeAttribute("aria-label")), t88.has("label") && !this.hasAccessibleName() && (this.setAttribute("aria-label", e85.DEFAULT_LABEL), r9(this, true, `<${this.localName}> requires an accessible name. A default label of "${e85.DEFAULT_LABEL}" has been applied, but a more specific label should be provided via:`, "https://spectrum-web-components.adobe.com/?path=/docs/components-progress-circle--docs", {
14997
15236
  type: "accessibility",
14998
15237
  issues: [
14999
15238
  'value supplied to the "label" attribute, which will be displayed visually as part of the element, or',
@@ -15117,7 +15356,7 @@ e12([n({
15117
15356
  e25("swc-conversation-turn", a14);
15118
15357
 
15119
15358
  // node_modules/@adobe/spectrum-wc/dist/components/ui-icons/ui-icons.types.js
15120
- var e85 = [
15359
+ var e86 = [
15121
15360
  50,
15122
15361
  75,
15123
15362
  100,
@@ -15137,7 +15376,7 @@ function n29(e116) {
15137
15376
  }
15138
15377
  function r26(t88, r39) {
15139
15378
  if (!t88) return;
15140
- let i25 = n29(r39), a22 = e85.filter((e116) => t88[e116] !== void 0);
15379
+ let i25 = n29(r39), a22 = e86.filter((e116) => t88[e116] !== void 0);
15141
15380
  if (a22.length !== 0) return t88[a22.reduce((e116, t89) => Math.abs(t89 - i25) < Math.abs(e116 - i25) ? t89 : e116)];
15142
15381
  }
15143
15382
 
@@ -15761,7 +16000,7 @@ e12([n({
15761
16000
  e25("swc-ui-icon", l16);
15762
16001
 
15763
16002
  // node_modules/@adobe/spectrum-wc/dist/utils/id.js
15764
- function e86(e116) {
16003
+ function e87(e116) {
15765
16004
  return `${e116}-${Array.from(crypto.getRandomValues(new Uint8Array(4)), (e117) => `0${(e117 & 255).toString(16)}`.slice(-2)).join("")}`;
15766
16005
  }
15767
16006
 
@@ -15771,7 +16010,7 @@ var t65 = i`:host{display:block}*,*:before,*:after{box-sizing:border-box}.swc-Me
15771
16010
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/message-sources/MessageSources.js
15772
16011
  var c19 = class extends i9 {
15773
16012
  constructor(...e116) {
15774
- super(...e116), this.panelId = e86("swc-sources-panel"), this.toggleId = e86("swc-message-sources-toggle"), this.sourceLinks = [], this.open = false, this.label = "Sources", this.accessibleLabel = "";
16013
+ super(...e116), this.panelId = e87("swc-sources-panel"), this.toggleId = e87("swc-message-sources-toggle"), this.sourceLinks = [], this.open = false, this.label = "Sources", this.accessibleLabel = "";
15775
16014
  }
15776
16015
  static get styles() {
15777
16016
  return [t65];
@@ -15906,7 +16145,7 @@ var a15 = () => b`
15906
16145
  <circle cx="4" cy="4" r="4" fill="currentColor" />
15907
16146
  </svg>
15908
16147
  `;
15909
- var o58 = () => b`
16148
+ var o59 = () => b`
15910
16149
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8">
15911
16150
  <circle cx="4" cy="4" r="3.5" fill="none" stroke="currentColor" />
15912
16151
  </svg>
@@ -15966,7 +16205,7 @@ var h6 = class extends i9 {
15966
16205
  return this._readLabel();
15967
16206
  }
15968
16207
  constructor() {
15969
- super(), this._toggleId = e86("swc-response-status-step-toggle"), this._detailId = e86("swc-response-status-step-detail"), this.status = "active", this.open = false, this._hasDescription = false, this._labelText = "", this._overflows = false, this._lastActiveLabel = "", new t2(this, {
16208
+ super(), this._toggleId = e87("swc-response-status-step-toggle"), this._detailId = e87("swc-response-status-step-detail"), this.status = "active", this.open = false, this._hasDescription = false, this._labelText = "", this._overflows = false, this._lastActiveLabel = "", new t2(this, {
15970
16209
  config: {
15971
16210
  attributes: true,
15972
16211
  attributeFilter: ["slot"],
@@ -16049,7 +16288,7 @@ var h6 = class extends i9 {
16049
16288
  class="swc-ResponseStatusStep-icon swc-ResponseStatusStep-icon--active"
16050
16289
  aria-hidden="true"
16051
16290
  >
16052
- ${o58()}
16291
+ ${o59()}
16053
16292
  </swc-icon>
16054
16293
  `);
16055
16294
  }
@@ -16123,7 +16362,7 @@ e12([n({
16123
16362
  e25("swc-response-status-step", h6);
16124
16363
 
16125
16364
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/data.js
16126
- function e87(e116, t88) {
16365
+ function e88(e116, t88) {
16127
16366
  let n36 = Array.from(new Set(e116.map(([, e117]) => e117))).sort((e117, t89) => t89 - e117), r39 = Array(e116.length).fill(0), i25 = 0;
16128
16367
  return n36.forEach((n37) => {
16129
16368
  let a22 = e116.reduce((e117, t89, r40) => (t89[1] === n37 && e117.push(r40), e117), []);
@@ -16133,7 +16372,7 @@ function e87(e116, t88) {
16133
16372
  }), r39;
16134
16373
  }
16135
16374
  function t68(t88, n36 = {}) {
16136
- let { staggerInterval: r39 = 2, rowOffset: i25 = 0 } = n36, a22 = e87(t88, r39);
16375
+ let { staggerInterval: r39 = 2, rowOffset: i25 = 0 } = n36, a22 = e88(t88, r39);
16137
16376
  return t88.map(([e116, t89], n37) => ({
16138
16377
  col: e116,
16139
16378
  row: t89 + i25,
@@ -16276,7 +16515,7 @@ var a16 = t68([
16276
16515
  [5, 0],
16277
16516
  [6, 0]
16278
16517
  ], { staggerInterval: 1 });
16279
- var o59 = t68([
16518
+ var o60 = t68([
16280
16519
  [6, 6],
16281
16520
  [5, 5],
16282
16521
  [1, 4],
@@ -16831,7 +17070,7 @@ var N = {
16831
17070
  brush: r30,
16832
17071
  eye: i19,
16833
17072
  hourglass: a16,
16834
- mag: o59,
17073
+ mag: o60,
16835
17074
  crop: s12,
16836
17075
  flower: c21,
16837
17076
  image: l17,
@@ -16922,13 +17161,13 @@ var F = {
16922
17161
  };
16923
17162
 
16924
17163
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/animation.js
16925
- var e88 = 30;
16926
- var t69 = (t88) => t88 * e88 / 1e3;
17164
+ var e89 = 30;
17165
+ var t69 = (t88) => t88 * e89 / 1e3;
16927
17166
  var n32 = 13;
16928
17167
  var r31 = 12;
16929
17168
  var i20 = t69(1400);
16930
17169
  var a17 = t69(150);
16931
- var o60 = t69(150);
17170
+ var o61 = t69(150);
16932
17171
  var s13 = 0.1;
16933
17172
  var c22 = t69(230);
16934
17173
  var l18 = 0.3;
@@ -16955,7 +17194,7 @@ function v8(e116) {
16955
17194
  return t88 + n32 + i20 + r31;
16956
17195
  }
16957
17196
  function y4(t88) {
16958
- return v8(t88) / e88 * 1e3;
17197
+ return v8(t88) / e89 * 1e3;
16959
17198
  }
16960
17199
  function b8(e116, t88) {
16961
17200
  return Math.min(1, Math.max(0, e116 / t88));
@@ -17000,7 +17239,7 @@ function S2(e116, t88) {
17000
17239
  }), x3(o87);
17001
17240
  }
17002
17241
  function C3(e116, t88) {
17003
- let i25 = e116.stagger + n32 - o60, u27 = i25 - a17, d22 = _4(e116), f11 = d22 + c22;
17242
+ let i25 = e116.stagger + n32 - o61, u27 = i25 - a17, d22 = _4(e116), f11 = d22 + c22;
17004
17243
  return x3([
17005
17244
  {
17006
17245
  offset: 0,
@@ -17072,7 +17311,7 @@ function k2(e116) {
17072
17311
  return t88 + E2 + D3 + t88 + E2;
17073
17312
  }
17074
17313
  function A4(t88) {
17075
- return k2(t88) / e88 * 1e3;
17314
+ return k2(t88) / e89 * 1e3;
17076
17315
  }
17077
17316
  function j2(e116, t88, n36) {
17078
17317
  let r39 = O2(t88), i25 = r39.indexOf(e116.row), a22 = (r39.length - 1) * T4 + E2, o87 = i25 * T4, s19 = a22 + D3 + i25 * T4;
@@ -17111,9 +17350,9 @@ function j2(e116, t88, n36) {
17111
17350
  var M2 = "0 0px";
17112
17351
 
17113
17352
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/geometry.js
17114
- var e89 = /* @__PURE__ */ new WeakMap();
17353
+ var e90 = /* @__PURE__ */ new WeakMap();
17115
17354
  function t70(t88) {
17116
- let n36 = e89.get(t88);
17355
+ let n36 = e90.get(t88);
17117
17356
  if (n36) return n36;
17118
17357
  let r39 = new Set(t88.map((e116) => `${e116.col},${e116.row}`)), i25 = (e116, t89) => r39.has(`${e116},${t89}`), a22 = t88.map(({ col: e116, row: t89 }) => {
17119
17358
  let n37 = i25(e116 - 1, t89), r40 = i25(e116 + 1, t89), a23 = i25(e116, t89 - 1), o87 = i25(e116, t89 + 1), s19 = i25(e116 - 1, t89 - 1), c27 = i25(e116 + 1, t89 - 1), l24 = i25(e116 + 1, t89 + 1), u27 = i25(e116 - 1, t89 + 1);
@@ -17124,7 +17363,7 @@ function t70(t88) {
17124
17363
  bottomLeft: !n37 && !o87 && !u27
17125
17364
  };
17126
17365
  });
17127
- return e89.set(t88, a22), a22;
17366
+ return e90.set(t88, a22), a22;
17128
17367
  }
17129
17368
  function n33(e116, t88) {
17130
17369
  return `${e116.topLeft ? t88 : "0"} ${e116.topRight ? t88 : "0"} ${e116.bottomRight ? t88 : "0"} ${e116.bottomLeft ? t88 : "0"}`;
@@ -17136,7 +17375,7 @@ var t71 = i`:host{display:inline-block}*,*:before,*:after{box-sizing:border-box}
17136
17375
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/PixelLoader.js
17137
17376
  var w4;
17138
17377
  var T5 = "https://spectrum-web-components.adobe.com/?path=/docs/patterns-ai-toolkit-pixel-loader--docs";
17139
- var E3 = class e90 extends i9 {
17378
+ var E3 = class e91 extends i9 {
17140
17379
  constructor(...e116) {
17141
17380
  super(...e116), this.icon = "aiLogo", this.paused = false, this.label = "Loading", this._presetIndex = 0, this._animations = [], this._containerCache = null, this._cellElsCache = null, this._ticker = null, this._reducedMotionQuery = null, this._displayedIcon = "aiLogo", this._finishToken = 0, this._handleReducedMotionChange = () => {
17142
17381
  this._syncTicker(), this._playCells();
@@ -17239,8 +17478,8 @@ var E3 = class e90 extends i9 {
17239
17478
  }
17240
17479
  }), this._cancelAnimations();
17241
17480
  let i25 = {
17242
- duration: e90.FINISH_MS,
17243
- easing: e90.EASE_FINISH,
17481
+ duration: e91.FINISH_MS,
17482
+ easing: e91.EASE_FINISH,
17244
17483
  fill: "forwards"
17245
17484
  }, a22 = n36.map((e116) => e116.animate([{
17246
17485
  translate: M2,
@@ -17290,7 +17529,7 @@ var E3 = class e90 extends i9 {
17290
17529
  style=${o3({
17291
17530
  "grid-column": String(t88.col + 1),
17292
17531
  "grid-row": String(t88.row + 1),
17293
- "border-radius": n33(n36, e90.CORNER_RADIUS)
17532
+ "border-radius": n33(n36, e91.CORNER_RADIUS)
17294
17533
  })}
17295
17534
  ></div>
17296
17535
  `;
@@ -17331,12 +17570,12 @@ var y5 = [
17331
17570
  "complete",
17332
17571
  "stopped"
17333
17572
  ];
17334
- var b9 = class e91 extends i9 {
17573
+ var b9 = class e92 extends i9 {
17335
17574
  static get styles() {
17336
17575
  return [t72];
17337
17576
  }
17338
17577
  constructor() {
17339
- super(), this.panelId = e86("swc-response-status-panel"), this._hasSteps = false, this._hasActiveStep = false, this._activeStepLabel = "", this._activeStepEl = null, this._labelSlotText = "", this._displayedLabel = "", this._rollFromLabel = "", this._rollToLabel = "", this._rollActive = false, this._rollEngaged = false, this.status = "active", this.open = false, this.accessibleLabel = "", this.loader = "mega", this._labelRollTimer = null, this._labelRollRaf = null, new t2(this, {
17578
+ super(), this.panelId = e87("swc-response-status-panel"), this._hasSteps = false, this._hasActiveStep = false, this._activeStepLabel = "", this._activeStepEl = null, this._labelSlotText = "", this._displayedLabel = "", this._rollFromLabel = "", this._rollToLabel = "", this._rollActive = false, this._rollEngaged = false, this.status = "active", this.open = false, this.accessibleLabel = "", this.loader = "mega", this._labelRollTimer = null, this._labelRollRaf = null, new t2(this, {
17340
17579
  config: {
17341
17580
  attributes: true,
17342
17581
  attributeFilter: ["status"],
@@ -17454,10 +17693,10 @@ var b9 = class e91 extends i9 {
17454
17693
  if (this._labelSlotText) return this._labelSlotText;
17455
17694
  let t88 = this._resolvedStatus;
17456
17695
  if (t88 === "active") {
17457
- if (this._showsGenericProcessingLabel) return e91.ACTIVE_STEP_OPEN_LABEL;
17696
+ if (this._showsGenericProcessingLabel) return e92.ACTIVE_STEP_OPEN_LABEL;
17458
17697
  if (this._activeStepLabel) return this._activeStepLabel;
17459
17698
  }
17460
- return e91.DEFAULT_LABELS[t88];
17699
+ return e92.DEFAULT_LABELS[t88];
17461
17700
  }
17462
17701
  _clearLabelRollTimers() {
17463
17702
  this._labelRollTimer !== null && (window.clearTimeout(this._labelRollTimer), this._labelRollTimer = null), this._labelRollRaf !== null && (window.cancelAnimationFrame(this._labelRollRaf), this._labelRollRaf = null);
@@ -17486,7 +17725,7 @@ var b9 = class e91 extends i9 {
17486
17725
  this._labelRollRaf = window.requestAnimationFrame(() => {
17487
17726
  this._labelRollRaf = null, this._rollEngaged = true, this._labelRollTimer = window.setTimeout(() => {
17488
17727
  this._labelRollTimer = null, this._displayedLabel = this._rollToLabel, this._rollActive = false, this._rollEngaged = false, this._applyLabelRoll();
17489
- }, e91.LABEL_ROLL_DURATION_MS);
17728
+ }, e92.LABEL_ROLL_DURATION_MS);
17490
17729
  });
17491
17730
  });
17492
17731
  }
@@ -17494,7 +17733,7 @@ var b9 = class e91 extends i9 {
17494
17733
  return this._rollActive ? this._rollToLabel : this._displayedLabel || this._getHeaderLabel();
17495
17734
  }
17496
17735
  _renderLabel() {
17497
- let t88 = e91.STATUS_LABEL_CLASS;
17736
+ let t88 = e92.STATUS_LABEL_CLASS;
17498
17737
  return this._rollActive ? b`
17499
17738
  <span class="swc-ResponseStatus-headerTrailViewport">
17500
17739
  <span class=${this._rollEngaged ? "swc-ResponseStatus-headerTrailCrossfade swc-ResponseStatus-headerTrailCrossfade--engaged" : "swc-ResponseStatus-headerTrailCrossfade"}>
@@ -17610,7 +17849,7 @@ var b9 = class e91 extends i9 {
17610
17849
  `;
17611
17850
  }
17612
17851
  _renderPanel(t88) {
17613
- let n36 = t88 && this.open, r39 = this.accessibleLabel || e91.DEFAULT_ACCESSIBLE_LABEL;
17852
+ let n36 = t88 && this.open, r39 = this.accessibleLabel || e92.DEFAULT_ACCESSIBLE_LABEL;
17614
17853
  return b`
17615
17854
  <div
17616
17855
  id=${this.panelId}
@@ -17675,7 +17914,7 @@ var t73 = i`:host{display:block}*,*:before,*:after{box-sizing:border-box}.swc-Su
17675
17914
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/suggestion/SuggestionGroup.js
17676
17915
  var s14 = class extends i9 {
17677
17916
  constructor(...e116) {
17678
- super(...e116), this.accessibleLabel = "", this._headingId = e86("swc-suggestion-group-heading");
17917
+ super(...e116), this.accessibleLabel = "", this._headingId = e87("swc-suggestion-group-heading");
17679
17918
  }
17680
17919
  static get styles() {
17681
17920
  return [t73];
@@ -17838,148 +18077,148 @@ e12([n({
17838
18077
  e25("swc-user-message", a18);
17839
18078
 
17840
18079
  // node_modules/@adobe/spectrum-wc-icons/dist/Cancel.js
17841
- function e92() {
18080
+ function e93() {
17842
18081
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M16.201 16.166A8.72 8.72 0 0 0 18.75 10c0-4.825-3.925-8.75-8.75-8.75a8.72 8.72 0 0 0-6.166 2.549l-.021.014c-.011.007-.008.015-.014.021A8.72 8.72 0 0 0 1.25 10c0 4.825 3.925 8.75 8.75 8.75a8.72 8.72 0 0 0 6.166-2.549c.006-.006.015-.008.021-.014s.008-.015.014-.021M17.25 10c0 1.73-.61 3.317-1.625 4.565L5.435 4.375A7.2 7.2 0 0 1 10 2.75c3.998 0 7.25 3.252 7.25 7.25m-14.5 0c0-1.73.61-3.317 1.625-4.565l10.19 10.19A7.2 7.2 0 0 1 10 17.25c-3.998 0-7.25-3.252-7.25-7.25"/></svg>';
17843
18082
  }
17844
18083
 
17845
18084
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-cancel.js
17846
- var o61 = class extends a10 {
18085
+ var o62 = class extends a10 {
17847
18086
  static get styles() {
17848
18087
  return [t40];
17849
18088
  }
17850
18089
  render() {
17851
18090
  return b`
17852
- <span class="swc-Icon">${o16(e92())}</span>
18091
+ <span class="swc-Icon">${o16(e93())}</span>
17853
18092
  `;
17854
18093
  }
17855
18094
  };
17856
- e25("swc-icon-cancel", o61);
18095
+ e25("swc-icon-cancel", o62);
17857
18096
 
17858
18097
  // node_modules/@adobe/spectrum-wc-icons/dist/ChevronRight.js
17859
- function e93() {
18098
+ function e94() {
17860
18099
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M7.75 16.465a.748.748 0 0 1-.54-1.27l4.999-5.197-4.986-5.184a.75.75 0 0 1 .02-1.06.75.75 0 0 1 1.06.021L13.79 9.48c.28.29.28.749 0 1.039l-5.5 5.716a.75.75 0 0 1-.54.23"/></svg>';
17861
18100
  }
17862
18101
 
17863
18102
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-right.js
17864
- var o62 = class extends a10 {
18103
+ var o63 = class extends a10 {
17865
18104
  static get styles() {
17866
18105
  return [t40];
17867
18106
  }
17868
18107
  render() {
17869
18108
  return b`
17870
- <span class="swc-Icon">${o16(e93())}</span>
18109
+ <span class="swc-Icon">${o16(e94())}</span>
17871
18110
  `;
17872
18111
  }
17873
18112
  };
17874
- e25("swc-icon-chevron-right", o62);
18113
+ e25("swc-icon-chevron-right", o63);
17875
18114
 
17876
18115
  // node_modules/@adobe/spectrum-wc-icons/dist/File.js
17877
- function e94() {
18116
+ function e95() {
17878
18117
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M16.341 5.28 12.72 1.66A2.24 2.24 0 0 0 11.13 1H5.25C4.01 1 3 2.01 3 3.25v12.5C3 16.99 4.01 18 5.25 18h9.5c1.24 0 2.25-1.01 2.25-2.25V6.871c0-.592-.24-1.172-.659-1.59m-1.06 1.06c.045.046.073.105.105.16H12.25a.75.75 0 0 1-.75-.75V2.614c.055.032.113.06.159.106zM14.75 16.5h-9.5a.75.75 0 0 1-.75-.75V3.25a.75.75 0 0 1 .75-.75H10v3.25C10 6.99 11.01 8 12.25 8h3.25v7.75a.75.75 0 0 1-.75.75"/></svg>';
17879
18118
  }
17880
18119
 
17881
18120
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-file.js
17882
- var o63 = class extends a10 {
18121
+ var o64 = class extends a10 {
17883
18122
  static get styles() {
17884
18123
  return [t40];
17885
18124
  }
17886
18125
  render() {
17887
18126
  return b`
17888
- <span class="swc-Icon">${o16(e94())}</span>
18127
+ <span class="swc-Icon">${o16(e95())}</span>
17889
18128
  `;
17890
18129
  }
17891
18130
  };
17892
- e25("swc-icon-file", o63);
18131
+ e25("swc-icon-file", o64);
17893
18132
 
17894
18133
  // node_modules/@adobe/spectrum-wc-icons/dist/FileText.js
17895
- function e95() {
18134
+ function e96() {
17896
18135
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="m16.34 5.296-3.62-3.622a2.27 2.27 0 0 0-1.591-.66H5.25A2.255 2.255 0 0 0 3 3.265v12.484c0 1.24 1.01 2.25 2.25 2.25h9.5c1.24 0 2.25-1.01 2.25-2.25V6.887c0-.6-.234-1.166-.66-1.591m-1.06 1.06c.046.047.074.104.106.159H12.25a.75.75 0 0 1-.75-.75V2.628c.055.033.114.06.16.106zm-.53 10.142h-9.5a.75.75 0 0 1-.75-.75V3.265c0-.413.337-.75.75-.75H10v3.25c0 1.24 1.01 2.25 2.25 2.25h3.25v7.733c0 .413-.337.75-.75.75"/><path fill="var(--swc-icon-color, currentColor)" d="M13 11.498H7a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 0 1.5m0 3H7a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 0 1.5"/></svg>';
17897
18136
  }
17898
18137
 
17899
18138
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-file-text.js
17900
- var o64 = class extends a10 {
18139
+ var o65 = class extends a10 {
17901
18140
  static get styles() {
17902
18141
  return [t40];
17903
18142
  }
17904
18143
  render() {
17905
18144
  return b`
17906
- <span class="swc-Icon">${o16(e95())}</span>
18145
+ <span class="swc-Icon">${o16(e96())}</span>
17907
18146
  `;
17908
18147
  }
17909
18148
  };
17910
- e25("swc-icon-file-text", o64);
18149
+ e25("swc-icon-file-text", o65);
17911
18150
 
17912
18151
  // node_modules/@adobe/spectrum-wc-icons/dist/Lock.js
17913
- function e96() {
18152
+ function e97() {
17914
18153
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M11.25 11.5a1.251 1.251 0 0 0-2.5 0c0 .403.204.745.5.974v.776a.75.75 0 0 0 1.5 0v-.776c.296-.23.5-.571.5-.974"/><path fill="var(--swc-icon-color, currentColor)" d="M15 7.025V6.5c0-2.757-2.243-5-5-5s-5 2.243-5 5v.525c-1.122.127-2 1.07-2 2.225v6.5C3 16.99 4.01 18 5.25 18h9.5c1.24 0 2.25-1.01 2.25-2.25v-6.5a2.246 2.246 0 0 0-2-2.225M10 3c1.93 0 3.5 1.57 3.5 3.5V7h-7v-.5C6.5 4.57 8.07 3 10 3m5.5 12.75c0 .413-.337.75-.75.75h-9.5a.75.75 0 0 1-.75-.75v-6.5c0-.413.337-.75.75-.75h9.5c.413 0 .75.337.75.75z"/></svg>';
17915
18154
  }
17916
18155
 
17917
18156
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-lock.js
17918
- var o65 = class extends a10 {
18157
+ var o66 = class extends a10 {
17919
18158
  static get styles() {
17920
18159
  return [t40];
17921
18160
  }
17922
18161
  render() {
17923
18162
  return b`
17924
- <span class="swc-Icon">${o16(e96())}</span>
18163
+ <span class="swc-Icon">${o16(e97())}</span>
17925
18164
  `;
17926
18165
  }
17927
18166
  };
17928
- e25("swc-icon-lock", o65);
18167
+ e25("swc-icon-lock", o66);
17929
18168
 
17930
18169
  // node_modules/@adobe/spectrum-wc-icons/dist/Search.js
17931
- function e97() {
18170
+ function e98() {
17932
18171
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="m18.53 17.47-5.083-5.084A6.96 6.96 0 0 0 15 8c0-3.86-3.14-7-7-7S1 4.14 1 8s3.14 7 7 7c1.66 0 3.185-.584 4.386-1.553l5.084 5.083a.747.747 0 0 0 1.06 0 .75.75 0 0 0 0-1.06M8 13.5c-3.032 0-5.5-2.468-5.5-5.5S4.968 2.5 8 2.5s5.5 2.468 5.5 5.5-2.468 5.5-5.5 5.5"/></svg>';
17933
18172
  }
17934
18173
 
17935
18174
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-search.js
17936
- var o66 = class extends a10 {
18175
+ var o67 = class extends a10 {
17937
18176
  static get styles() {
17938
18177
  return [t40];
17939
18178
  }
17940
18179
  render() {
17941
18180
  return b`
17942
- <span class="swc-Icon">${o16(e97())}</span>
18181
+ <span class="swc-Icon">${o16(e98())}</span>
17943
18182
  `;
17944
18183
  }
17945
18184
  };
17946
- e25("swc-icon-search", o66);
18185
+ e25("swc-icon-search", o67);
17947
18186
 
17948
18187
  // node_modules/@adobe/spectrum-wc-icons/dist/Tools.js
17949
- function e98() {
18188
+ function e99() {
17950
18189
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="m8.747 5.33-1.82-3.505a1 1 0 0 0-.88-.54h-.008a1 1 0 0 0-.88.525l-1.89 3.5A2.3 2.3 0 0 0 3 6.38v10.37C3 17.99 4.01 19 5.25 19h1.5C7.99 19 9 17.99 9 16.75V6.366c0-.36-.088-.719-.253-1.037M7.5 7.5v7h-3v-7zM6.03 3.354 7.405 6H4.603zM6.75 17.5h-1.5a.75.75 0 0 1-.75-.75V16h3v.75c0 .413-.337.75-.75.75m8-16.5h-1.5C12.01 1 11 2.01 11 3.25v6.729l-.003.014.003.015v3.722l-.003.013.003.015v2.992c0 1.24 1.01 2.25 2.25 2.25h1.5c1.24 0 2.25-1.01 2.25-2.25V3.25C17 2.01 15.99 1 14.75 1m.75 15.75c0 .413-.337.75-.75.75h-1.5a.75.75 0 0 1-.75-.75v-2.251l1.244.005h.003a.75.75 0 0 0 .003-1.5l-1.25-.005v-2.25l1.244.005h.003a.75.75 0 0 0 .003-1.5l-1.25-.005V7.003l1.247.006h.003a.75.75 0 0 0 .003-1.5L12.5 5.503V3.25c0-.413.337-.75.75-.75h1.5c.413 0 .75.337.75.75z"/></svg>';
17951
18190
  }
17952
18191
 
17953
18192
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-tools.js
17954
- var o67 = class extends a10 {
18193
+ var o68 = class extends a10 {
17955
18194
  static get styles() {
17956
18195
  return [t40];
17957
18196
  }
17958
18197
  render() {
17959
18198
  return b`
17960
- <span class="swc-Icon">${o16(e98())}</span>
18199
+ <span class="swc-Icon">${o16(e99())}</span>
17961
18200
  `;
17962
18201
  }
17963
18202
  };
17964
- e25("swc-icon-tools", o67);
18203
+ e25("swc-icon-tools", o68);
17965
18204
 
17966
18205
  // node_modules/@adobe/spectrum-wc-icons/dist/WebPage.js
17967
- function e99() {
18206
+ function e100() {
17968
18207
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><circle cx="4.125" cy="6" r=".75" fill="var(--swc-icon-color, currentColor)"/><path fill="var(--swc-icon-color, currentColor)" d="M16.75 3H3.25C2.01 3 1 4.01 1 5.25v9.5C1 15.99 2.01 17 3.25 17h13.5c1.24 0 2.25-1.01 2.25-2.25v-9.5C19 4.01 17.99 3 16.75 3M2.5 5.25c0-.413.337-.75.75-.75h13.5c.413 0 .75.337.75.75V7.5h-15zM16.75 15.5H3.25a.75.75 0 0 1-.75-.75V9h15v5.75c0 .413-.337.75-.75.75"/></svg>';
17969
18208
  }
17970
18209
 
17971
18210
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-web-page.js
17972
- var o68 = class extends a10 {
18211
+ var o69 = class extends a10 {
17973
18212
  static get styles() {
17974
18213
  return [t40];
17975
18214
  }
17976
18215
  render() {
17977
18216
  return b`
17978
- <span class="swc-Icon">${o16(e99())}</span>
18217
+ <span class="swc-Icon">${o16(e100())}</span>
17979
18218
  `;
17980
18219
  }
17981
18220
  };
17982
- e25("swc-icon-web-page", o68);
18221
+ e25("swc-icon-web-page", o69);
17983
18222
 
17984
18223
  // src/app/markdown.ts
17985
18224
  var inlinePattern = /(`[^`]+`|!\[[^\]]*\]\([^)\s]+\)|\*\*[^*]+\*\*|~~[^~]+~~|\*[^*\s][^*]*\*|\[[^\]]+\]\([^)\s]+\))/g;
@@ -20691,7 +20930,7 @@ e25("swc-close-button", c23);
20691
20930
  var t78 = i`:host{display:block}*{box-sizing:border-box}.swc-IllustratedMessage{--_swc-illustrated-message-illustration-to-content: var(--swc-illustrated-message-illustration-to-content, 12px);display:flex;flex-direction:column;gap:var(--_swc-illustrated-message-illustration-to-content);align-items:center;max-inline-size:var(--swc-illustrated-message-max-inline-size, 380px);margin-inline:auto}.swc-IllustratedMessage-illustration{--_swc-illustrated-message-illustration-size: var(--swc-illustrated-message-illustration-size, 96px);display:flex;flex-shrink:0;justify-content:center;inline-size:var(--swc-illustrated-message-illustration-inline-size, var(--_swc-illustrated-message-illustration-size));block-size:var(--swc-illustrated-message-illustration-block-size, var(--_swc-illustrated-message-illustration-size));color:var(--swc-illustrated-message-illustration-color, var(--swc-gray-800))}.swc-IllustratedMessage-illustration[hidden]{display:none}.swc-IllustratedMessage-content{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}.swc-IllustratedMessage-description{font-size:var(--swc-illustrated-message-description-font-size, var(--swc-illustrated-message-medium-body-font-size));font-weight:400;line-height:var(--swc-illustrated-message-description-line-height, var(--swc-line-height-200));color:var(--swc-gray-800)}:host([size=\"s\"]){--swc-illustrated-message-illustration-size: 96px;--swc-illustrated-message-illustration-to-content: 12px;--swc-illustrated-message-heading-font-size: var(--swc-illustrated-message-small-title-font-size);--swc-illustrated-message-description-font-size: var(--swc-body-size-xs)}:host([size=\"l\"]){--swc-illustrated-message-illustration-size: 160px;--swc-illustrated-message-illustration-to-content: 8px;--swc-illustrated-message-heading-font-size: var(--swc-illustrated-message-large-title-font-size);--swc-illustrated-message-description-font-size: var(--swc-illustrated-message-large-body-font-size)}:host(:lang(ja)),:host(:lang(ko)),:host(:lang(zh)){--swc-illustrated-message-heading-font-size: var(--swc-illustrated-message-medium-cjk-title-font-size);--swc-illustrated-message-heading-line-height: 1.5;--swc-illustrated-message-description-line-height: 1.7}:host([size=\"s\"]:lang(ja)),:host([size=\"s\"]:lang(ko)),:host([size=\"s\"]:lang(zh)){--swc-illustrated-message-heading-font-size: var(--swc-illustrated-message-small-cjk-title-font-size)}:host([size=\"l\"]:lang(ja)),:host([size=\"l\"]:lang(ko)),:host([size=\"l\"]:lang(zh)){--swc-illustrated-message-heading-font-size: var(--swc-illustrated-message-large-cjk-title-font-size)}:host([orientation=\"horizontal\"]){--swc-illustrated-message-max-inline-size: 535px}:host([orientation=\"horizontal\"]) .swc-IllustratedMessage{flex-direction:row;align-items:center}:host([orientation=\"horizontal\"]) .swc-IllustratedMessage-content{align-items:flex-start;text-align:start}slot[name=heading]{font-size:var(--swc-illustrated-message-heading-font-size, var(--swc-illustrated-message-medium-title-font-size));font-style:var(--swc-default-font-style);font-weight:var(--swc-bold-font-weight);line-height:var(--swc-illustrated-message-heading-line-height, var(--swc-line-height-100));color:var(--swc-gray-900)}::slotted([slot=\"heading\"]:not([class])){margin:0!important;font:inherit!important;color:inherit!important}:host(:has([slot=\"actions\"])) slot[name=actions]{margin-block-start:16px}::slotted(svg){box-sizing:border-box;display:block;inline-size:100%;block-size:100%;fill:currentcolor;stroke:currentcolor}`;
20692
20931
 
20693
20932
  // node_modules/@adobe/spectrum-wc-core/dist/components/illustrated-message/IllustratedMessage.types.js
20694
- var e100 = [
20933
+ var e101 = [
20695
20934
  "s",
20696
20935
  "m",
20697
20936
  "l"
@@ -20715,7 +20954,7 @@ var d17 = class extends i9 {
20715
20954
  e116.has("size") && n10(this, {
20716
20955
  prop: "size",
20717
20956
  value: this.size,
20718
- valid: e100,
20957
+ valid: e101,
20719
20958
  url: "https://spectrum-web-components.adobe.com/?path=/docs/components-illustrated-message--docs"
20720
20959
  }), e116.has("orientation") && n10(this, {
20721
20960
  prop: "orientation",
@@ -20740,7 +20979,7 @@ var d17 = class extends i9 {
20740
20979
  r9(this, r39 > 1, `<${this.localName}> "heading" slot accepts a single heading element but received ${r39}.`, n36, { issues: [`heading slot: ${r39} elements`] });
20741
20980
  }
20742
20981
  };
20743
- u22 = d17, u22.VALID_SIZES = e100, u22.VALID_ORIENTATIONS = t79, e24([n({
20982
+ u22 = d17, u22.VALID_SIZES = e101, u22.VALID_ORIENTATIONS = t79, e24([n({
20744
20983
  type: String,
20745
20984
  reflect: true
20746
20985
  })], d17.prototype, "size", void 0), e24([n({
@@ -20784,166 +21023,166 @@ var r33 = class extends d17 {
20784
21023
  e25("swc-illustrated-message", r33);
20785
21024
 
20786
21025
  // node_modules/@adobe/spectrum-wc-icons/dist/Camera.js
20787
- function e101() {
21026
+ function e102() {
20788
21027
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M16.75 17H3.25C2.01 17 1 15.99 1 14.75v-7.5C1 6.01 2.01 5 3.25 5h1.823c.286 0 .543-.16.67-.414l.172-.342A2.24 2.24 0 0 1 7.927 3h4.146c.858 0 1.629.477 2.012 1.244l.171.342a.75.75 0 0 0 .671.414h1.823C17.99 5 19 6.01 19 7.25v7.5c0 1.24-1.01 2.25-2.25 2.25M3.25 6.5a.75.75 0 0 0-.75.75v7.5c0 .413.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-7.5a.75.75 0 0 0-.75-.75h-1.823a2.24 2.24 0 0 1-2.012-1.244l-.171-.342a.75.75 0 0 0-.671-.414H7.927a.75.75 0 0 0-.67.414l-.172.342A2.24 2.24 0 0 1 5.073 6.5z"/><path fill="var(--swc-icon-color, currentColor)" d="M10 14.5c-2.206 0-4-1.794-4-4s1.794-4 4-4 4 1.794 4 4-1.794 4-4 4M10 8c-1.378 0-2.5 1.121-2.5 2.5S8.622 13 10 13s2.5-1.121 2.5-2.5S11.378 8 10 8"/></svg>';
20789
21028
  }
20790
21029
 
20791
21030
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-camera.js
20792
- var o69 = class extends a10 {
21031
+ var o70 = class extends a10 {
20793
21032
  static get styles() {
20794
21033
  return [t40];
20795
21034
  }
20796
21035
  render() {
20797
21036
  return b`
20798
- <span class="swc-Icon">${o16(e101())}</span>
21037
+ <span class="swc-Icon">${o16(e102())}</span>
20799
21038
  `;
20800
21039
  }
20801
21040
  };
20802
- e25("swc-icon-camera", o69);
21041
+ e25("swc-icon-camera", o70);
20803
21042
 
20804
21043
  // node_modules/@adobe/spectrum-wc-icons/dist/ChevronDown.js
20805
- function e102() {
21044
+ function e103() {
20806
21045
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M3.755 7.243a.75.75 0 0 1 1.06-.02l5.183 4.986 5.197-4.999a.749.749 0 1 1 1.04 1.08l-5.717 5.5a.747.747 0 0 1-1.04 0L3.776 8.303a.746.746 0 0 1-.02-1.06"/></svg>';
20807
21046
  }
20808
21047
 
20809
21048
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-down.js
20810
- var o70 = class extends a10 {
21049
+ var o71 = class extends a10 {
20811
21050
  static get styles() {
20812
21051
  return [t40];
20813
21052
  }
20814
21053
  render() {
20815
21054
  return b`
20816
- <span class="swc-Icon">${o16(e102())}</span>
21055
+ <span class="swc-Icon">${o16(e103())}</span>
20817
21056
  `;
20818
21057
  }
20819
21058
  };
20820
- e25("swc-icon-chevron-down", o70);
21059
+ e25("swc-icon-chevron-down", o71);
20821
21060
 
20822
21061
  // node_modules/@adobe/spectrum-wc-icons/dist/ChevronLeft.js
20823
- function e103() {
21062
+ function e104() {
20824
21063
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M12.237 16.455a.75.75 0 0 1-.54-.23L6.21 10.52a.747.747 0 0 1 0-1.039l5.5-5.716a.749.749 0 1 1 1.08 1.039l-4.999 5.197 4.986 5.184a.748.748 0 0 1-.54 1.27"/></svg>';
20825
21064
  }
20826
21065
 
20827
21066
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-left.js
20828
- var o71 = class extends a10 {
21067
+ var o72 = class extends a10 {
20829
21068
  static get styles() {
20830
21069
  return [t40];
20831
21070
  }
20832
21071
  render() {
20833
21072
  return b`
20834
- <span class="swc-Icon">${o16(e103())}</span>
21073
+ <span class="swc-Icon">${o16(e104())}</span>
20835
21074
  `;
20836
21075
  }
20837
21076
  };
20838
- e25("swc-icon-chevron-left", o71);
21077
+ e25("swc-icon-chevron-left", o72);
20839
21078
 
20840
21079
  // node_modules/@adobe/spectrum-wc-icons/dist/CursorClick.js
20841
- function e104() {
21080
+ function e105() {
20842
21081
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10.476 18.967A1.48 1.48 0 0 1 9 17.48V9.378c0-.6.358-1.14.913-1.372a1.48 1.48 0 0 1 1.616.31l5.524 5.42a1.48 1.48 0 0 1 .335 1.624c-.23.562-.77.925-1.377.925h-2.28a.72.72 0 0 0-.56.265l-1.584 1.929c-.322.324-.717.487-1.111.487m.003-9.58.021 8.098 1.513-1.886a2.22 2.22 0 0 1 1.718-.813h2.28zm.021-4.69V1.75a.75.75 0 0 0-1.5 0v2.946a.75.75 0 0 0 1.5 0m7 4.053a.75.75 0 0 0-.75-.75h-2a.75.75 0 0 0 0 1.5h2a.75.75 0 0 0 .75-.75m-10.91 0A.75.75 0 0 0 5.84 8H2.75a.75.75 0 0 0 0 1.5h3.09a.75.75 0 0 0 .75-.75m6.598-2.378L15.23 4.33a.75.75 0 1 0-1.06-1.06l-2.042 2.042a.75.75 0 1 0 1.06 1.06M5.33 14.23l2.08-2.079a.75.75 0 1 0-1.061-1.06l-2.08 2.079a.75.75 0 1 0 1.061 1.06m2.155-7.745a.75.75 0 0 0 0-1.06L5.33 3.27a.75.75 0 1 0-1.06 1.06l2.155 2.155a.747.747 0 0 0 1.06 0"/></svg>';
20843
21082
  }
20844
21083
 
20845
21084
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-cursor-click.js
20846
- var o72 = class extends a10 {
21085
+ var o73 = class extends a10 {
20847
21086
  static get styles() {
20848
21087
  return [t40];
20849
21088
  }
20850
21089
  render() {
20851
21090
  return b`
20852
- <span class="swc-Icon">${o16(e104())}</span>
21091
+ <span class="swc-Icon">${o16(e105())}</span>
20853
21092
  `;
20854
21093
  }
20855
21094
  };
20856
- e25("swc-icon-cursor-click", o72);
21095
+ e25("swc-icon-cursor-click", o73);
20857
21096
 
20858
21097
  // node_modules/@adobe/spectrum-wc-icons/dist/Keyboard.js
20859
- function e105() {
21098
+ function e106() {
20860
21099
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M16.75 15H3.25C2.01 15 1 13.99 1 12.75v-6.5C1 5.01 2.01 4 3.25 4h13.5C17.99 4 19 5.01 19 6.25v6.5c0 1.24-1.01 2.25-2.25 2.25M3.25 5.5a.75.75 0 0 0-.75.75v6.5c0 .413.336.75.75.75h13.5a.75.75 0 0 0 .75-.75v-6.5a.75.75 0 0 0-.75-.75z"/><path fill="var(--swc-icon-color, currentColor)" d="M12.25 12h-4.5a.75.75 0 0 1 0-1.5h4.5a.75.75 0 0 1 0 1.5"/><circle cx="5" cy="8" r="1" fill="var(--swc-icon-color, currentColor)"/><circle cx="8.333" cy="8" r="1" fill="var(--swc-icon-color, currentColor)"/><circle cx="11.667" cy="8" r="1" fill="var(--swc-icon-color, currentColor)"/><circle cx="15" cy="8" r="1" fill="var(--swc-icon-color, currentColor)"/><circle cx="5" cy="11" r="1" fill="var(--swc-icon-color, currentColor)"/><circle cx="15" cy="11" r="1" fill="var(--swc-icon-color, currentColor)"/></svg>';
20861
21100
  }
20862
21101
 
20863
21102
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-keyboard.js
20864
- var o73 = class extends a10 {
21103
+ var o74 = class extends a10 {
20865
21104
  static get styles() {
20866
21105
  return [t40];
20867
21106
  }
20868
21107
  render() {
20869
21108
  return b`
20870
- <span class="swc-Icon">${o16(e105())}</span>
21109
+ <span class="swc-Icon">${o16(e106())}</span>
20871
21110
  `;
20872
21111
  }
20873
21112
  };
20874
- e25("swc-icon-keyboard", o73);
21113
+ e25("swc-icon-keyboard", o74);
20875
21114
 
20876
21115
  // node_modules/@adobe/spectrum-wc-icons/dist/Link.js
20877
- function e106() {
21116
+ function e107() {
20878
21117
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M5.313 18.748A4.05 4.05 0 0 1 2.44 17.56a4.07 4.07 0 0 1 0-5.747l3.906-3.906a4.07 4.07 0 0 1 6.313.71.75.75 0 1 1-1.27.799q-.151-.241-.359-.45a2.566 2.566 0 0 0-3.624.002l-3.905 3.905a2.57 2.57 0 0 0 0 3.626 2.57 2.57 0 0 0 3.626 0l1.952-1.952a.75.75 0 1 1 1.06 1.06l-1.95 1.953a4.06 4.06 0 0 1-2.875 1.188m8.341-6.655 3.906-3.905c1.584-1.585 1.584-4.164 0-5.748s-4.164-1.584-5.747 0L9.86 4.393a.75.75 0 1 0 1.06 1.06l1.953-1.952c1-.998 2.625-1 3.626 0a2.57 2.57 0 0 1 0 3.626l-3.905 3.905a2.566 2.566 0 0 1-3.984-.448.75.75 0 1 0-1.27.799q.24.381.567.71a4.05 4.05 0 0 0 2.874 1.188c1.04 0 2.081-.396 2.873-1.188"/></svg>';
20879
21118
  }
20880
21119
 
20881
21120
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-link.js
20882
- var o74 = class extends a10 {
21121
+ var o75 = class extends a10 {
20883
21122
  static get styles() {
20884
21123
  return [t40];
20885
21124
  }
20886
21125
  render() {
20887
21126
  return b`
20888
- <span class="swc-Icon">${o16(e106())}</span>
21127
+ <span class="swc-Icon">${o16(e107())}</span>
20889
21128
  `;
20890
21129
  }
20891
21130
  };
20892
- e25("swc-icon-link", o74);
21131
+ e25("swc-icon-link", o75);
20893
21132
 
20894
21133
  // node_modules/@adobe/spectrum-wc-icons/dist/Text.js
20895
- function e107() {
21134
+ function e108() {
20896
21135
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M14.59 2H5.41C4.17 2 3.16 3.01 3.16 4.25v1.11a.75.75 0 0 0 1.5 0V4.25c0-.413.337-.75.75-.75h3.84v13H7.68a.75.75 0 0 0 0 1.5h4.64a.75.75 0 0 0 0-1.5h-1.57v-13h3.84c.413 0 .75.337.75.75v1.11a.75.75 0 0 0 1.5 0V4.25c0-1.24-1.01-2.25-2.25-2.25"/></svg>';
20897
21136
  }
20898
21137
 
20899
21138
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-text.js
20900
- var o75 = class extends a10 {
21139
+ var o76 = class extends a10 {
20901
21140
  static get styles() {
20902
21141
  return [t40];
20903
21142
  }
20904
21143
  render() {
20905
21144
  return b`
20906
- <span class="swc-Icon">${o16(e107())}</span>
21145
+ <span class="swc-Icon">${o16(e108())}</span>
20907
21146
  `;
20908
21147
  }
20909
21148
  };
20910
- e25("swc-icon-text", o75);
21149
+ e25("swc-icon-text", o76);
20911
21150
 
20912
21151
  // node_modules/@adobe/spectrum-wc-icons/dist/Undo.js
20913
- function e108() {
21152
+ function e109() {
20914
21153
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M12.257 5H3.808l1.72-1.72a.75.75 0 1 0-1.06-1.06L1.47 5.217a.75.75 0 0 0 0 1.06L4.466 9.28a.746.746 0 0 0 1.06 0 .75.75 0 0 0 .001-1.06L3.811 6.5h8.446c2.482 0 4.5 2.019 4.5 4.5s-2.018 4.5-4.5 4.5H8.52a.75.75 0 0 0 0 1.5h3.737c3.309 0 6-2.691 6-6s-2.691-6-6-6"/></svg>';
20915
21154
  }
20916
21155
 
20917
21156
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-undo.js
20918
- var o76 = class extends a10 {
21157
+ var o77 = class extends a10 {
20919
21158
  static get styles() {
20920
21159
  return [t40];
20921
21160
  }
20922
21161
  render() {
20923
21162
  return b`
20924
- <span class="swc-Icon">${o16(e108())}</span>
21163
+ <span class="swc-Icon">${o16(e109())}</span>
20925
21164
  `;
20926
21165
  }
20927
21166
  };
20928
- e25("swc-icon-undo", o76);
21167
+ e25("swc-icon-undo", o77);
20929
21168
 
20930
21169
  // node_modules/@adobe/spectrum-wc-icons/dist/Visibility.js
20931
- function e109() {
21170
+ function e110() {
20932
21171
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10.034 16.662C5.143 16.662.75 12.273.75 10.2c0-1.685 2.598-4.55 5.347-5.898A8.95 8.95 0 0 1 9.99 3.35c5.158 0 9.26 4.919 9.26 6.85 0 2.072-4.36 6.46-9.216 6.46M10 4.85a7.44 7.44 0 0 0-3.24.797C4.155 6.923 2.25 9.397 2.25 10.2c0 1.144 3.68 4.96 7.784 4.96 4.069 0 7.716-3.816 7.716-4.96 0-1.05-3.481-5.35-7.75-5.35m-3.569.124h.01z"/><path fill="var(--swc-icon-color, currentColor)" d="M9.83 7.644c.222-.637-.474-1.26-1.1-1.01a3.5 3.5 0 0 0-1.283.88 3.565 3.565 0 0 0 4.697 5.315 3.54 3.54 0 0 0 1.317-1.833c.209-.684-.458-1.25-1.119-.976A1.904 1.904 0 0 1 9.85 8.943a1.88 1.88 0 0 1-.02-1.3"/></svg>';
20933
21172
  }
20934
21173
 
20935
21174
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-visibility.js
20936
- var o77 = class extends a10 {
21175
+ var o78 = class extends a10 {
20937
21176
  static get styles() {
20938
21177
  return [t40];
20939
21178
  }
20940
21179
  render() {
20941
21180
  return b`
20942
- <span class="swc-Icon">${o16(e109())}</span>
21181
+ <span class="swc-Icon">${o16(e110())}</span>
20943
21182
  `;
20944
21183
  }
20945
21184
  };
20946
- e25("swc-icon-visibility", o77);
21185
+ e25("swc-icon-visibility", o78);
20947
21186
 
20948
21187
  // src/app/browser.ts
20949
21188
  function normalize(input) {
@@ -21776,7 +22015,7 @@ var SliccBrowser = class extends ModelElement {
21776
22015
  var t80 = i`:host{display:inline-flex}*{box-sizing:border-box}.swc-ActionGroup{--_swc-action-group-gap: var(--swc-action-group-gap, 8px);display:flex;flex-wrap:wrap;gap:var(--_swc-action-group-gap);inline-size:100%}::slotted(*){flex-shrink:0}:host([orientation=\"vertical\"]) .swc-ActionGroup{flex-direction:column;inline-size:-moz-max-content;inline-size:max-content;min-inline-size:100%}:host([size=\"xs\"]){--swc-action-group-gap: 4px}:host([size=\"s\"]){--swc-action-group-gap: 6px}:host([size=\"l\"]){--swc-action-group-gap: 12px}:host([size=\"xl\"]){--swc-action-group-gap: 16px}:host([justified]) ::slotted(*){flex:1 1 0%}:host([compact]:not([quiet])) .swc-ActionGroup{--swc-action-group-gap: 2px;flex-wrap:nowrap}:host([compact]:not([quiet])) ::slotted(*){position:relative;z-index:0}:host([compact]:not([quiet])) ::slotted(:hover){z-index:1}:host([compact]:not([quiet])) ::slotted(:focus-within){z-index:2}:host([compact]:not([quiet]):not([orientation=\"vertical\"])) ::slotted(:first-child:not(:last-child)){--swc-action-button-border-start-end-radius: 0;--swc-action-button-border-end-end-radius: 0}:host([compact]:not([quiet]):not([orientation=\"vertical\"])) ::slotted(:last-child:not(:first-child)){--swc-action-button-border-start-start-radius: 0;--swc-action-button-border-end-start-radius: 0}:host([compact]:not([quiet]):not([orientation=\"vertical\"])) ::slotted(:not(:first-child):not(:last-child)){--swc-action-button-border-radius: 0}:host([compact]:not([quiet])[orientation=\"vertical\"]) ::slotted(:first-child:not(:last-child)){--swc-action-button-border-end-start-radius: 0;--swc-action-button-border-end-end-radius: 0}:host([compact]:not([quiet])[orientation=\"vertical\"]) ::slotted(:last-child:not(:first-child)){--swc-action-button-border-start-start-radius: 0;--swc-action-button-border-start-end-radius: 0}:host([compact]:not([quiet])[orientation=\"vertical\"]) ::slotted(:not(:first-child):not(:last-child)){--swc-action-button-border-radius: 0}`;
21777
22016
 
21778
22017
  // node_modules/@adobe/spectrum-wc-core/dist/components/action-group/ActionGroup.types.js
21779
- var e110 = [
22018
+ var e111 = [
21780
22019
  "xs",
21781
22020
  "s",
21782
22021
  "m",
@@ -21789,7 +22028,7 @@ var n34 = ["white", "black"];
21789
22028
  // node_modules/@adobe/spectrum-wc-core/dist/components/action-group/ActionGroup.base.js
21790
22029
  var c24;
21791
22030
  var l19 = class extends i12(i9, {
21792
- validSizes: e110,
22031
+ validSizes: e111,
21793
22032
  noDefaultSize: true
21794
22033
  }) {
21795
22034
  constructor(...e116) {
@@ -21833,7 +22072,7 @@ c24 = l19, c24.shadowRootOptions = {
21833
22072
  })], l19.prototype, "disabled", void 0), e24([o({ flatten: true })], l19.prototype, "managedChildren", void 0);
21834
22073
 
21835
22074
  // node_modules/@adobe/spectrum-wc/dist/components/action-group/ActionGroup.js
21836
- var o78 = class extends l19 {
22075
+ var o79 = class extends l19 {
21837
22076
  constructor(...e116) {
21838
22077
  super(...e116), this.compact = false, this.quiet = false, this.justified = false, this.navigation = new r20(this, {
21839
22078
  direction: this.orientation,
@@ -21899,20 +22138,20 @@ var o78 = class extends l19 {
21899
22138
  e12([n({
21900
22139
  type: Boolean,
21901
22140
  reflect: true
21902
- })], o78.prototype, "compact", void 0), e12([n({
22141
+ })], o79.prototype, "compact", void 0), e12([n({
21903
22142
  type: Boolean,
21904
22143
  reflect: true
21905
- })], o78.prototype, "quiet", void 0), e12([n({
22144
+ })], o79.prototype, "quiet", void 0), e12([n({
21906
22145
  type: Boolean,
21907
22146
  reflect: true
21908
- })], o78.prototype, "justified", void 0), e12([n({
22147
+ })], o79.prototype, "justified", void 0), e12([n({
21909
22148
  type: String,
21910
22149
  reflect: true,
21911
22150
  attribute: "static-color"
21912
- })], o78.prototype, "staticColor", void 0);
22151
+ })], o79.prototype, "staticColor", void 0);
21913
22152
 
21914
22153
  // node_modules/@adobe/spectrum-wc/dist/components/action-group/swc-action-group.js
21915
- e25("swc-action-group", o78);
22154
+ e25("swc-action-group", o79);
21916
22155
 
21917
22156
  // src/app/changes.ts
21918
22157
  var layouts = [
@@ -22413,22 +22652,22 @@ e12([o({
22413
22652
  e25("swc-conversation-thread", s15);
22414
22653
 
22415
22654
  // node_modules/@adobe/spectrum-wc-icons/dist/New.js
22416
- function e111() {
22655
+ function e112() {
22417
22656
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M18 4.25v11.5c0 1.24-1.01 2.25-2.25 2.25H4.25C3.01 18 2 16.99 2 15.75V4.25C2 3.01 3.01 2 4.25 2h11.5C16.99 2 18 3.01 18 4.25m-1.5 0a.75.75 0 0 0-.75-.75H4.25a.75.75 0 0 0-.75.75v11.5c0 .414.336.75.75.75h11.5a.75.75 0 0 0 .75-.75z"/><path fill="var(--swc-icon-color, currentColor)" d="M13.763 10a.763.763 0 0 1-.763.763h-2.237V13a.763.763 0 0 1-1.526 0v-2.237H7a.763.763 0 0 1 0-1.526h2.237V7a.763.763 0 0 1 1.526 0v2.237H13c.421 0 .763.342.763.763"/></svg>';
22418
22657
  }
22419
22658
 
22420
22659
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-new.js
22421
- var o79 = class extends a10 {
22660
+ var o80 = class extends a10 {
22422
22661
  static get styles() {
22423
22662
  return [t40];
22424
22663
  }
22425
22664
  render() {
22426
22665
  return b`
22427
- <span class="swc-Icon">${o16(e111())}</span>
22666
+ <span class="swc-Icon">${o16(e112())}</span>
22428
22667
  `;
22429
22668
  }
22430
22669
  };
22431
- e25("swc-icon-new", o79);
22670
+ e25("swc-icon-new", o80);
22432
22671
 
22433
22672
  // src/app/chat.ts
22434
22673
  var navigation = /* @__PURE__ */ new Set([
@@ -22793,7 +23032,7 @@ var D4 = (e116) => {
22793
23032
  var O3 = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("field-sizing", "content");
22794
23033
  var k3 = class extends i9 {
22795
23034
  constructor() {
22796
- super(), this.labelId = e86("swc-prompt-field-label"), this.disabled = false, this.generating = false, this.collapsed = false, this.variant = "balanced", this.size = "m", this.loader = "aiLogo", this.animateLoader = false, this.label = "Prompt", this.accessibleLabel = "", this.sendLabel = "Send", this.stopLabel = "Stop generating", this.uploadLabel = "Add attachment", this.attachmentScrollPrevLabel = "Show previous attachments", this.attachmentScrollNextLabel = "Show more attachments", this.attachmentStripLabel = "Uploaded assets strip", this.placeholder = "Ready to get started? Ask a question, share an idea, or add a task.", this.value = "", this._attachmentScrollOverflow = false, this._attachmentCanScrollPrev = false, this._attachmentCanScrollNext = false, this._attachmentScrollFallbackGeneration = 0, this._attachmentScrollObserver = new s8(this, {
23035
+ super(), this.labelId = e87("swc-prompt-field-label"), this.disabled = false, this.generating = false, this.collapsed = false, this.variant = "balanced", this.size = "m", this.loader = "aiLogo", this.animateLoader = false, this.label = "Prompt", this.accessibleLabel = "", this.sendLabel = "Send", this.stopLabel = "Stop generating", this.uploadLabel = "Add attachment", this.attachmentScrollPrevLabel = "Show previous attachments", this.attachmentScrollNextLabel = "Show more attachments", this.attachmentStripLabel = "Uploaded assets strip", this.placeholder = "Ready to get started? Ask a question, share an idea, or add a task.", this.value = "", this._attachmentScrollOverflow = false, this._attachmentCanScrollPrev = false, this._attachmentCanScrollNext = false, this._attachmentScrollFallbackGeneration = 0, this._attachmentScrollObserver = new s8(this, {
22797
23036
  target: null,
22798
23037
  callback: () => {
22799
23038
  this._updateAttachmentScrollState();
@@ -23604,22 +23843,22 @@ e12([n({
23604
23843
  e25("swc-upload-attachment", d18);
23605
23844
 
23606
23845
  // node_modules/@adobe/spectrum-wc-icons/dist/Clock.js
23607
- function e112() {
23846
+ function e113() {
23608
23847
  return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10 18.75c-4.825 0-8.75-3.925-8.75-8.75S5.175 1.25 10 1.25s8.75 3.925 8.75 8.75-3.925 8.75-8.75 8.75m0-16c-3.998 0-7.25 3.252-7.25 7.25s3.252 7.25 7.25 7.25 7.25-3.252 7.25-7.25S13.998 2.75 10 2.75"/><path fill="var(--swc-icon-color, currentColor)" d="M13.249 12.645a.74.74 0 0 1-.379-.104l-3.22-1.895A.75.75 0 0 1 9.28 10V5a.75.75 0 0 1 1.5 0v4.571l2.85 1.677a.75.75 0 0 1-.381 1.397"/></svg>';
23609
23848
  }
23610
23849
 
23611
23850
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-clock.js
23612
- var o80 = class extends a10 {
23851
+ var o81 = class extends a10 {
23613
23852
  static get styles() {
23614
23853
  return [t40];
23615
23854
  }
23616
23855
  render() {
23617
23856
  return b`
23618
- <span class="swc-Icon">${o16(e112())}</span>
23857
+ <span class="swc-Icon">${o16(e113())}</span>
23619
23858
  `;
23620
23859
  }
23621
23860
  };
23622
- e25("swc-icon-clock", o80);
23861
+ e25("swc-icon-clock", o81);
23623
23862
 
23624
23863
  // src/app/composer.ts
23625
23864
  var limit = 25 * 1024 * 1024;
@@ -24963,24 +25202,6 @@ var SliccMonitor = class extends ModelElement {
24963
25202
  }
24964
25203
  };
24965
25204
 
24966
- // node_modules/@adobe/spectrum-wc-icons/dist/InfoCircle.js
24967
- function e113() {
24968
- return '<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20"><path fill="var(--swc-icon-color, currentColor)" d="M10 18.75c-4.825 0-8.75-3.925-8.75-8.75S5.175 1.25 10 1.25s8.75 3.925 8.75 8.75-3.925 8.75-8.75 8.75m0-16c-3.998 0-7.25 3.252-7.25 7.25s3.252 7.25 7.25 7.25 7.25-3.252 7.25-7.25S13.998 2.75 10 2.75"/><path fill="var(--swc-icon-color, currentColor)" d="M10 5.26a.9.9 0 0 1 .627.229c.33.365.33.921 0 1.286a.87.87 0 0 1-.626.235.85.85 0 0 1-.633-.248.86.86 0 0 1-.242-.627.88.88 0 0 1 .228-.64A.86.86 0 0 1 10 5.26m0 9.803a.75.75 0 0 1-.75-.75V9.478a.75.75 0 0 1 1.5 0v4.835a.75.75 0 0 1-.75.75"/></svg>';
24969
- }
24970
-
24971
- // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-info-circle.js
24972
- var o81 = class extends a10 {
24973
- static get styles() {
24974
- return [t40];
24975
- }
24976
- render() {
24977
- return b`
24978
- <span class="swc-Icon">${o16(e113())}</span>
24979
- `;
24980
- }
24981
- };
24982
- e25("swc-icon-info-circle", o81);
24983
-
24984
25205
  // src/app/notices.ts
24985
25206
  var SliccNotices = class extends ModelElement {
24986
25207
  static properties = {