@ai-ecoverse/slicc-spectrum 1.46.0 → 1.47.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.
package/dist/slicc-ui.js CHANGED
@@ -8667,7 +8667,10 @@ var ModelElement = class extends i2 {
8667
8667
  return [];
8668
8668
  }
8669
8669
  focusOn(...selectors) {
8670
- const focus = () => selectors.map((selector) => this.renderRoot.querySelector(selector)).find(Boolean)?.focus();
8670
+ this.focusWith({}, ...selectors);
8671
+ }
8672
+ focusWith(options, ...selectors) {
8673
+ const focus = () => selectors.map((selector) => this.renderRoot.querySelector(selector)).find(Boolean)?.focus(options);
8671
8674
  if (this.hasUpdated) focus();
8672
8675
  else void this.updateComplete.then(focus);
8673
8676
  }
@@ -10780,6 +10783,24 @@ var o55 = class extends a10 {
10780
10783
  };
10781
10784
  e25("swc-icon-copy", o55);
10782
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
+
10783
10804
  // node_modules/@adobe/spectrum-wc/dist/link.css
10784
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';
10785
10806
 
@@ -10868,6 +10889,38 @@ function exitNodeValue(tailnet) {
10868
10889
  if (tailnet.autoExitNode) return "auto";
10869
10890
  return tailnet.exitNodes?.find((node) => node.name === tailnet.exitNode)?.id ?? "none";
10870
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
+ }
10871
10924
  var wholeWeb = /* @__PURE__ */ new Set([
10872
10925
  "proxy",
10873
10926
  "extension",
@@ -10909,7 +10962,8 @@ var SliccNetwork = class extends ModelElement {
10909
10962
  error: { state: true },
10910
10963
  busy: { state: true },
10911
10964
  tailnetError: { state: true },
10912
- tailnetCopied: { state: true }
10965
+ tailnetCopied: { state: true },
10966
+ linksError: { state: true }
10913
10967
  };
10914
10968
  constructor() {
10915
10969
  super();
@@ -10920,6 +10974,7 @@ var SliccNetwork = class extends ModelElement {
10920
10974
  this.busy = "";
10921
10975
  this.tailnetError = "";
10922
10976
  this.tailnetCopied = "";
10977
+ this.linksError = "";
10923
10978
  }
10924
10979
  static styles = [
10925
10980
  r(link_default),
@@ -11020,6 +11075,62 @@ var SliccNetwork = class extends ModelElement {
11020
11075
  .node dd {
11021
11076
  margin: 0;
11022
11077
  }
11078
+ .node.stacked {
11079
+ grid-template-columns: minmax(0, 1fr);
11080
+ }
11081
+ .node.stacked dd + dt {
11082
+ margin-block-start: var(--swc-spacing-100);
11083
+ }
11084
+ .info {
11085
+ display: flex;
11086
+ align-items: flex-start;
11087
+ gap: var(--swc-spacing-100);
11088
+ padding: var(--swc-spacing-200);
11089
+ border-radius: var(--swc-corner-radius-medium-default);
11090
+ background: var(--swc-informative-subtle-background-color-default);
11091
+ --swc-icon-color: var(--swc-informative-visual-color);
11092
+ }
11093
+ .info swc-icon-info-circle {
11094
+ flex: none;
11095
+ margin-block-start: var(--swc-spacing-50);
11096
+ }
11097
+ .banner {
11098
+ display: grid;
11099
+ gap: var(--swc-spacing-100);
11100
+ }
11101
+ li.device {
11102
+ align-items: center;
11103
+ gap: var(--swc-spacing-75) var(--swc-spacing-200);
11104
+ padding: var(--swc-spacing-200) 0;
11105
+ }
11106
+ .device > :not(.who, swc-button) {
11107
+ grid-column: 1 / -1;
11108
+ }
11109
+ .who {
11110
+ display: flex;
11111
+ flex-wrap: wrap;
11112
+ align-items: center;
11113
+ gap: var(--swc-spacing-75) var(--swc-spacing-200);
11114
+ min-width: 0;
11115
+ }
11116
+ .who .name {
11117
+ min-width: 0;
11118
+ max-width: 100%;
11119
+ overflow: hidden;
11120
+ text-overflow: ellipsis;
11121
+ white-space: nowrap;
11122
+ font-weight: var(--swc-bold-font-weight);
11123
+ }
11124
+ .where {
11125
+ display: grid;
11126
+ min-width: 0;
11127
+ font-size: var(--swc-font-size-75);
11128
+ color: var(--swc-neutral-subdued-content-color-default);
11129
+ overflow-wrap: anywhere;
11130
+ }
11131
+ .where code {
11132
+ font-family: var(--swc-code-font-family-stack);
11133
+ }
11023
11134
  .key {
11024
11135
  display: flex;
11025
11136
  flex-wrap: wrap;
@@ -11105,6 +11216,7 @@ var SliccNetwork = class extends ModelElement {
11105
11216
  subscribe(model) {
11106
11217
  this.error = "";
11107
11218
  this.tailnetError = "";
11219
+ this.linksError = "";
11108
11220
  return model.network ? [model.network.on("network", () => this.requestUpdate())] : [];
11109
11221
  }
11110
11222
  focus() {
@@ -11128,26 +11240,29 @@ var SliccNetwork = class extends ModelElement {
11128
11240
  this.copied = done;
11129
11241
  this.uncopied = !done;
11130
11242
  }
11131
- async #tailnet(action, run2) {
11243
+ async #act(action, run2, area) {
11132
11244
  if (this.busy) return;
11133
11245
  this.busy = action;
11134
- this.tailnetError = "";
11246
+ this[area] = "";
11135
11247
  try {
11136
11248
  await run2();
11137
11249
  } catch (error) {
11138
- this.tailnetError = failure(error);
11250
+ this[area] = failure(error);
11139
11251
  } finally {
11140
11252
  this.busy = "";
11141
11253
  }
11142
11254
  }
11143
- async #copyTailnet(what, value) {
11255
+ #tailnet(action, run2) {
11256
+ return this.#act(action, run2, "tailnetError");
11257
+ }
11258
+ async #copyValue(key2, value, area) {
11144
11259
  try {
11145
11260
  await globalThis.navigator.clipboard.writeText(value);
11146
- this.tailnetCopied = what;
11147
- this.tailnetError = "";
11261
+ this.tailnetCopied = key2;
11262
+ this[area] = "";
11148
11263
  } catch {
11149
11264
  this.tailnetCopied = "";
11150
- this.tailnetError = "Couldn\u2019t copy. Select the text and copy it.";
11265
+ this[area] = "Couldn\u2019t copy. Select the text and copy it.";
11151
11266
  }
11152
11267
  }
11153
11268
  #waiting(action) {
@@ -11178,14 +11293,17 @@ var SliccNetwork = class extends ModelElement {
11178
11293
  });
11179
11294
  if (ok) await this.#tailnet("sign-out", () => port.logoutTailnet?.());
11180
11295
  }
11181
- #copyRow(what, label, value) {
11182
- const copied = this.tailnetCopied === what;
11296
+ #copyButton(key2, what, label, value, area) {
11297
+ const copied = this.tailnetCopied === key2;
11298
+ return b`<swc-action-button size="s" quiet data-action=${`copy-${what}`} accessible-label=${copied ? "Copied" : `Copy ${label}`} @click=${() => this.#copyValue(key2, value, area)}>
11299
+ <swc-icon-copy slot="icon"></swc-icon-copy>${copied ? "Copied" : "Copy"}
11300
+ </swc-action-button>`;
11301
+ }
11302
+ #copyRow(what, label, value, area = "tailnetError", spoken = label.toLowerCase()) {
11183
11303
  return b`<dt>${label}</dt>
11184
11304
  <dd class="command" data-copy=${what}>
11185
11305
  <code>${value}</code>
11186
- <swc-action-button size="s" quiet data-action=${`copy-${what}`} accessible-label=${copied ? "Copied" : `Copy ${label.toLowerCase()}`} @click=${() => this.#copyTailnet(what, value)}>
11187
- <swc-icon-copy slot="icon"></swc-icon-copy>${copied ? "Copied" : "Copy"}
11188
- </swc-action-button>
11306
+ ${this.#copyButton(what, what, spoken, value, area)}
11189
11307
  </dd>`;
11190
11308
  }
11191
11309
  #signIn(port, tailnet) {
@@ -11205,7 +11323,12 @@ var SliccNetwork = class extends ModelElement {
11205
11323
  ${this.#copyRow("name", "Name", tailnet.node.name)}
11206
11324
  ${address ? this.#copyRow("address", "Address", address) : A}
11207
11325
  </dl>` : A}
11208
- ${port.setExitNode && tailnet.exitNodes ? b`<div class="exit">
11326
+ ${port.setExit ? A : this.#tailnetExit(port, status2, tailnet)}
11327
+ ${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}
11328
+ ${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}`;
11329
+ }
11330
+ #tailnetExit(port, status2, tailnet) {
11331
+ return b`${port.setExitNode && tailnet.exitNodes ? b`<div class="exit">
11209
11332
  <span id="exit-node">Exit node</span>
11210
11333
  <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)}>
11211
11334
  <sp-menu-item value="none">None</sp-menu-item>
@@ -11213,9 +11336,115 @@ var SliccNetwork = class extends ModelElement {
11213
11336
  ${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>`)}
11214
11337
  </sp-picker>
11215
11338
  </div>` : A}
11216
- <p data-exit=${tailnet.exitNode ? "node" : "none"}>${tailnet.exitNode ? `Internet through the exit node ${tailnet.exitNode}.` : tailnetOnly[status2.route ?? "none"]}</p>
11217
- ${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}
11218
- ${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}`;
11339
+ <p data-exit=${tailnet.exitNode ? "node" : "none"}>${tailnet.exitNode ? `Internet through the exit node ${tailnet.exitNode}.` : tailnetOnly[status2.route ?? "none"]}</p>`;
11340
+ }
11341
+ #exitLine(status2) {
11342
+ const exit = status2.exit;
11343
+ if (!exit) return A;
11344
+ if (exit.kind === "tailnet") {
11345
+ const name = status2.tailnet?.exitNodes?.find((node) => node.id === exit.node)?.name;
11346
+ return b`<p data-exit="node">${name ? `Internet through the Tailscale exit node ${name}.` : "Internet through an automatic Tailscale exit node."}</p>`;
11347
+ }
11348
+ const device = status2.links?.devices.find((item2) => item2.id === exit.id);
11349
+ if (device?.state === "connected") {
11350
+ return b`<p data-exit="device">Internet through the linked device ${device.name}.</p>`;
11351
+ }
11352
+ const who = device ? `${device.name} is ${device.state}` : "The linked device isn\u2019t connected";
11353
+ 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>`;
11354
+ }
11355
+ #exitPicker(port, status2) {
11356
+ const tailnet = status2.tailnet;
11357
+ const nodes = tailnet?.state === "running" ? tailnet.exitNodes ?? [] : [];
11358
+ const devices = (status2.links?.devices ?? []).filter((device) => device.exit);
11359
+ if (!port.setExit || !nodes.length && !devices.length && !status2.exit) return A;
11360
+ const current = exitValue(status2.exit);
11361
+ return b`<div class="exit" data-exit-picker=${status2.exit?.kind ?? "none"}>
11362
+ <span id="exit">Internet traffic</span>
11363
+ <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)}>
11364
+ <sp-menu-item value="none">Directly</sp-menu-item>
11365
+ ${nodes.length ? b`<sp-menu-group data-group="tailnet"><span slot="header">Tailscale</span>
11366
+ <sp-menu-item value="tailnet:auto">Automatic</sp-menu-item>
11367
+ ${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>`)}
11368
+ </sp-menu-group>` : A}
11369
+ ${devices.length ? b`<sp-menu-group data-group="links"><span slot="header">Linked devices</span>
11370
+ ${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>`)}
11371
+ </sp-menu-group>` : A}
11372
+ </sp-picker>
11373
+ </div>
11374
+ ${this.#exitLine(status2)}`;
11375
+ }
11376
+ #exitAll(event2, port) {
11377
+ const value = event2.target.value;
11378
+ void this.#act("exit", () => port.setExit?.(parseExit(value)), "error");
11379
+ }
11380
+ async #unlink(port, status2, device) {
11381
+ const isExit = status2.exit?.kind === "link" && status2.exit.id === device.id;
11382
+ const ok = await confirm({
11383
+ title: `Unlink ${device.name}?`,
11384
+ body: unlinkBody(device, isExit),
11385
+ action: "Unlink",
11386
+ variant: "confirmation"
11387
+ });
11388
+ if (ok) await this.#act(`unlink:${device.id}`, () => port.unlink?.(device.id), "linksError");
11389
+ }
11390
+ async #rotate(port) {
11391
+ const ok = await confirm({
11392
+ title: "Make a new join URL?",
11393
+ body: "Linked devices stay linked. Anyone with the old URL can\u2019t link anymore.",
11394
+ action: "New URL",
11395
+ variant: "confirmation"
11396
+ });
11397
+ if (ok) await this.#act("rotate", () => port.rotateJoinUrl?.(), "linksError");
11398
+ }
11399
+ #device(port, status2, device) {
11400
+ const [variant, label] = linkStates[device.state];
11401
+ const isExit = status2.exit?.kind === "link" && status2.exit.id === device.id;
11402
+ const action = `unlink:${device.id}`;
11403
+ return b`<li class="device" data-device=${device.id} data-state=${device.state} data-mode=${device.mode}>
11404
+ <div class="who">
11405
+ <span class="name" title=${device.name}>${device.name}</span>
11406
+ <swc-status-light size="s" variant=${variant}>${label}</swc-status-light>
11407
+ ${isExit ? b`<swc-badge size="s" variant="accent" subtle data-exit-badge>Exit</swc-badge>` : A}
11408
+ </div>
11409
+ ${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}
11410
+ <span class="where"><code>${device.host}</code><span><code>${device.address}</code> · ${device.mode === "local" ? "This computer" : "Remote"}</span></span>
11411
+ ${device.policy ? b`<span class="muted" data-policy>Reaches ${device.policy}.</span>` : A}
11412
+ ${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}
11413
+ </li>`;
11414
+ }
11415
+ #join(port, links) {
11416
+ const ready = links.joinCommand || links.joinUrl;
11417
+ 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>
11418
+ ${ready ? b`<p>Run this on that computer:</p>
11419
+ <dl class="node stacked" data-join="ready">
11420
+ ${links.joinCommand ? this.#copyRow("join-command", "Command", links.joinCommand, "linksError", "command") : A}
11421
+ ${links.joinUrl ? this.#copyRow("join-url", "Join URL", links.joinUrl, "linksError", "join URL") : A}
11422
+ </dl>
11423
+ ${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>`}`;
11424
+ }
11425
+ #permission(port, links) {
11426
+ if (links.permission === "prompt") {
11427
+ 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>`;
11428
+ }
11429
+ if (links.permission === "denied") {
11430
+ 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>`;
11431
+ }
11432
+ return A;
11433
+ }
11434
+ #linksSection(port, status2) {
11435
+ const links = status2.links;
11436
+ if (!links) return A;
11437
+ const [variant, label] = linksLight(links);
11438
+ return b`<section aria-labelledby="links" data-links=${linksSummary(links)}>
11439
+ <div class="head">
11440
+ <h2 id="links">Linked devices</h2>
11441
+ <swc-status-light variant=${variant}>${label}</swc-status-light>
11442
+ </div>
11443
+ ${this.#permission(port, links)}
11444
+ ${links.devices.length ? b`<ul aria-labelledby="links">${links.devices.map((device) => this.#device(port, status2, device))}</ul>
11445
+ <details><summary>Link another device</summary><div>${this.#join(port, links)}</div></details>` : this.#join(port, links)}
11446
+ ${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}
11447
+ </section>`;
11219
11448
  }
11220
11449
  #exit(event2, port) {
11221
11450
  const value = event2.target.value;
@@ -11253,7 +11482,7 @@ var SliccNetwork = class extends ModelElement {
11253
11482
  ${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}
11254
11483
  </section>`;
11255
11484
  }
11256
- #state(status2) {
11485
+ #state(port, status2) {
11257
11486
  const [variant, label] = networkHealth[status2.health];
11258
11487
  return b`<section aria-labelledby="state">
11259
11488
  <div class="head">
@@ -11262,8 +11491,9 @@ var SliccNetwork = class extends ModelElement {
11262
11491
  </div>
11263
11492
  <p data-route=${status2.route ?? "none"}>${routeLine(status2)}</p>
11264
11493
  ${status2.detail ? b`<p class="detail">${status2.detail}</p>` : A}
11494
+ ${this.#exitPicker(port, status2)}
11265
11495
  ${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}
11266
- ${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}
11496
+ ${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}
11267
11497
  ${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}
11268
11498
  </section>`;
11269
11499
  }
@@ -11306,8 +11536,9 @@ var SliccNetwork = class extends ModelElement {
11306
11536
  }
11307
11537
  const status2 = port.status();
11308
11538
  return b`<div class="page" tabindex="-1">
11309
- ${this.#state(status2)}
11539
+ ${this.#state(port, status2)}
11310
11540
  ${this.#tailnetSection(port, status2)}
11541
+ ${this.#linksSection(port, status2)}
11311
11542
  ${this.#whole(status2)}
11312
11543
  ${this.#failures(status2)}
11313
11544
  </div>`;
@@ -14806,7 +15037,7 @@ ${swc_default}`));
14806
15037
  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}}`;
14807
15038
 
14808
15039
  // node_modules/@adobe/spectrum-wc-core/dist/components/divider/Divider.types.js
14809
- var e82 = [
15040
+ var e83 = [
14810
15041
  "s",
14811
15042
  "m",
14812
15043
  "l"
@@ -14815,7 +15046,7 @@ var t46 = ["white", "black"];
14815
15046
 
14816
15047
  // node_modules/@adobe/spectrum-wc-core/dist/components/divider/Divider.base.js
14817
15048
  var s10;
14818
- var c18 = class extends i12(i9, { validSizes: e82 }) {
15049
+ var c18 = class extends i12(i9, { validSizes: e83 }) {
14819
15050
  constructor(...e116) {
14820
15051
  super(...e116), this.vertical = false;
14821
15052
  }
@@ -14874,7 +15105,7 @@ e25("swc-divider", a13);
14874
15105
  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}}`;
14875
15106
 
14876
15107
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-bar/ProgressBar.base.js
14877
- var o56 = class extends m3(i12(i9, {
15108
+ var o57 = class extends m3(i12(i9, {
14878
15109
  validSizes: s6,
14879
15110
  defaultSize: "m"
14880
15111
  })) {
@@ -14885,10 +15116,10 @@ var o56 = class extends m3(i12(i9, {
14885
15116
  e24([n({
14886
15117
  type: Boolean,
14887
15118
  reflect: true
14888
- })], o56.prototype, "indeterminate", void 0);
15119
+ })], o57.prototype, "indeterminate", void 0);
14889
15120
 
14890
15121
  // node_modules/@adobe/spectrum-wc/dist/components/progress-bar/ProgressBar.js
14891
- var o57 = class extends o56 {
15122
+ var o58 = class extends o57 {
14892
15123
  static get styles() {
14893
15124
  return [t26, t47];
14894
15125
  }
@@ -14937,13 +15168,13 @@ var o57 = class extends o56 {
14937
15168
  };
14938
15169
 
14939
15170
  // node_modules/@adobe/spectrum-wc/dist/components/progress-bar/swc-progress-bar.js
14940
- e25("swc-progress-bar", o57);
15171
+ e25("swc-progress-bar", o58);
14941
15172
 
14942
15173
  // node_modules/@adobe/spectrum-wc/dist/components/progress-circle/progress-circle.js
14943
15174
  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)}}}`;
14944
15175
 
14945
15176
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.types.js
14946
- var e83 = [
15177
+ var e84 = [
14947
15178
  "s",
14948
15179
  "m",
14949
15180
  "l"
@@ -14952,7 +15183,7 @@ var t49 = ["white", "black"];
14952
15183
 
14953
15184
  // node_modules/@adobe/spectrum-wc-core/dist/components/progress-circle/ProgressCircle.base.js
14954
15185
  var u17;
14955
- var d13 = class e84 extends i12(i9, { validSizes: e83 }) {
15186
+ var d13 = class e85 extends i12(i9, { validSizes: e84 }) {
14956
15187
  constructor(...e116) {
14957
15188
  super(...e116), this.label = "", this.progress = null, this.languageResolver = new i10(this);
14958
15189
  }
@@ -14977,11 +15208,11 @@ var d13 = class e84 extends i12(i9, { validSizes: e83 }) {
14977
15208
  }).format(((e116 = this.progress) == null ? 0 : e116) / 100);
14978
15209
  }
14979
15210
  warnDeprecatedLightDomChildren() {
14980
- 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" });
15211
+ 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" });
14981
15212
  }
14982
15213
  willUpdate(t88) {
14983
15214
  if (t88.has("progress") && this.progress !== null) {
14984
- let t89 = e84.clampProgress(this.progress);
15215
+ let t89 = e85.clampProgress(this.progress);
14985
15216
  t89 !== this.progress && (this.progress = t89);
14986
15217
  }
14987
15218
  super.willUpdate(t88);
@@ -14990,7 +15221,7 @@ var d13 = class e84 extends i12(i9, { validSizes: e83 }) {
14990
15221
  super.firstUpdated(e116), this.setAttribute("role", "progressbar");
14991
15222
  }
14992
15223
  updated(t88) {
14993
- 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", {
15224
+ 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", {
14994
15225
  type: "accessibility",
14995
15226
  issues: [
14996
15227
  'value supplied to the "label" attribute, which will be displayed visually as part of the element, or',
@@ -15114,7 +15345,7 @@ e12([n({
15114
15345
  e25("swc-conversation-turn", a14);
15115
15346
 
15116
15347
  // node_modules/@adobe/spectrum-wc/dist/components/ui-icons/ui-icons.types.js
15117
- var e85 = [
15348
+ var e86 = [
15118
15349
  50,
15119
15350
  75,
15120
15351
  100,
@@ -15134,7 +15365,7 @@ function n29(e116) {
15134
15365
  }
15135
15366
  function r26(t88, r39) {
15136
15367
  if (!t88) return;
15137
- let i25 = n29(r39), a22 = e85.filter((e116) => t88[e116] !== void 0);
15368
+ let i25 = n29(r39), a22 = e86.filter((e116) => t88[e116] !== void 0);
15138
15369
  if (a22.length !== 0) return t88[a22.reduce((e116, t89) => Math.abs(t89 - i25) < Math.abs(e116 - i25) ? t89 : e116)];
15139
15370
  }
15140
15371
 
@@ -15758,7 +15989,7 @@ e12([n({
15758
15989
  e25("swc-ui-icon", l16);
15759
15990
 
15760
15991
  // node_modules/@adobe/spectrum-wc/dist/utils/id.js
15761
- function e86(e116) {
15992
+ function e87(e116) {
15762
15993
  return `${e116}-${Array.from(crypto.getRandomValues(new Uint8Array(4)), (e117) => `0${(e117 & 255).toString(16)}`.slice(-2)).join("")}`;
15763
15994
  }
15764
15995
 
@@ -15768,7 +15999,7 @@ var t65 = i`:host{display:block}*,*:before,*:after{box-sizing:border-box}.swc-Me
15768
15999
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/message-sources/MessageSources.js
15769
16000
  var c19 = class extends i9 {
15770
16001
  constructor(...e116) {
15771
- 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 = "";
16002
+ 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 = "";
15772
16003
  }
15773
16004
  static get styles() {
15774
16005
  return [t65];
@@ -15903,7 +16134,7 @@ var a15 = () => b`
15903
16134
  <circle cx="4" cy="4" r="4" fill="currentColor" />
15904
16135
  </svg>
15905
16136
  `;
15906
- var o58 = () => b`
16137
+ var o59 = () => b`
15907
16138
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 8 8">
15908
16139
  <circle cx="4" cy="4" r="3.5" fill="none" stroke="currentColor" />
15909
16140
  </svg>
@@ -15963,7 +16194,7 @@ var h6 = class extends i9 {
15963
16194
  return this._readLabel();
15964
16195
  }
15965
16196
  constructor() {
15966
- 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, {
16197
+ 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, {
15967
16198
  config: {
15968
16199
  attributes: true,
15969
16200
  attributeFilter: ["slot"],
@@ -16046,7 +16277,7 @@ var h6 = class extends i9 {
16046
16277
  class="swc-ResponseStatusStep-icon swc-ResponseStatusStep-icon--active"
16047
16278
  aria-hidden="true"
16048
16279
  >
16049
- ${o58()}
16280
+ ${o59()}
16050
16281
  </swc-icon>
16051
16282
  `);
16052
16283
  }
@@ -16120,7 +16351,7 @@ e12([n({
16120
16351
  e25("swc-response-status-step", h6);
16121
16352
 
16122
16353
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/data.js
16123
- function e87(e116, t88) {
16354
+ function e88(e116, t88) {
16124
16355
  let n36 = Array.from(new Set(e116.map(([, e117]) => e117))).sort((e117, t89) => t89 - e117), r39 = Array(e116.length).fill(0), i25 = 0;
16125
16356
  return n36.forEach((n37) => {
16126
16357
  let a22 = e116.reduce((e117, t89, r40) => (t89[1] === n37 && e117.push(r40), e117), []);
@@ -16130,7 +16361,7 @@ function e87(e116, t88) {
16130
16361
  }), r39;
16131
16362
  }
16132
16363
  function t68(t88, n36 = {}) {
16133
- let { staggerInterval: r39 = 2, rowOffset: i25 = 0 } = n36, a22 = e87(t88, r39);
16364
+ let { staggerInterval: r39 = 2, rowOffset: i25 = 0 } = n36, a22 = e88(t88, r39);
16134
16365
  return t88.map(([e116, t89], n37) => ({
16135
16366
  col: e116,
16136
16367
  row: t89 + i25,
@@ -16273,7 +16504,7 @@ var a16 = t68([
16273
16504
  [5, 0],
16274
16505
  [6, 0]
16275
16506
  ], { staggerInterval: 1 });
16276
- var o59 = t68([
16507
+ var o60 = t68([
16277
16508
  [6, 6],
16278
16509
  [5, 5],
16279
16510
  [1, 4],
@@ -16828,7 +17059,7 @@ var N = {
16828
17059
  brush: r30,
16829
17060
  eye: i19,
16830
17061
  hourglass: a16,
16831
- mag: o59,
17062
+ mag: o60,
16832
17063
  crop: s12,
16833
17064
  flower: c21,
16834
17065
  image: l17,
@@ -16919,13 +17150,13 @@ var F = {
16919
17150
  };
16920
17151
 
16921
17152
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/animation.js
16922
- var e88 = 30;
16923
- var t69 = (t88) => t88 * e88 / 1e3;
17153
+ var e89 = 30;
17154
+ var t69 = (t88) => t88 * e89 / 1e3;
16924
17155
  var n32 = 13;
16925
17156
  var r31 = 12;
16926
17157
  var i20 = t69(1400);
16927
17158
  var a17 = t69(150);
16928
- var o60 = t69(150);
17159
+ var o61 = t69(150);
16929
17160
  var s13 = 0.1;
16930
17161
  var c22 = t69(230);
16931
17162
  var l18 = 0.3;
@@ -16952,7 +17183,7 @@ function v8(e116) {
16952
17183
  return t88 + n32 + i20 + r31;
16953
17184
  }
16954
17185
  function y4(t88) {
16955
- return v8(t88) / e88 * 1e3;
17186
+ return v8(t88) / e89 * 1e3;
16956
17187
  }
16957
17188
  function b8(e116, t88) {
16958
17189
  return Math.min(1, Math.max(0, e116 / t88));
@@ -16997,7 +17228,7 @@ function S2(e116, t88) {
16997
17228
  }), x3(o87);
16998
17229
  }
16999
17230
  function C3(e116, t88) {
17000
- let i25 = e116.stagger + n32 - o60, u27 = i25 - a17, d22 = _4(e116), f11 = d22 + c22;
17231
+ let i25 = e116.stagger + n32 - o61, u27 = i25 - a17, d22 = _4(e116), f11 = d22 + c22;
17001
17232
  return x3([
17002
17233
  {
17003
17234
  offset: 0,
@@ -17069,7 +17300,7 @@ function k2(e116) {
17069
17300
  return t88 + E2 + D3 + t88 + E2;
17070
17301
  }
17071
17302
  function A4(t88) {
17072
- return k2(t88) / e88 * 1e3;
17303
+ return k2(t88) / e89 * 1e3;
17073
17304
  }
17074
17305
  function j2(e116, t88, n36) {
17075
17306
  let r39 = O2(t88), i25 = r39.indexOf(e116.row), a22 = (r39.length - 1) * T4 + E2, o87 = i25 * T4, s19 = a22 + D3 + i25 * T4;
@@ -17108,9 +17339,9 @@ function j2(e116, t88, n36) {
17108
17339
  var M2 = "0 0px";
17109
17340
 
17110
17341
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/geometry.js
17111
- var e89 = /* @__PURE__ */ new WeakMap();
17342
+ var e90 = /* @__PURE__ */ new WeakMap();
17112
17343
  function t70(t88) {
17113
- let n36 = e89.get(t88);
17344
+ let n36 = e90.get(t88);
17114
17345
  if (n36) return n36;
17115
17346
  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 }) => {
17116
17347
  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);
@@ -17121,7 +17352,7 @@ function t70(t88) {
17121
17352
  bottomLeft: !n37 && !o87 && !u27
17122
17353
  };
17123
17354
  });
17124
- return e89.set(t88, a22), a22;
17355
+ return e90.set(t88, a22), a22;
17125
17356
  }
17126
17357
  function n33(e116, t88) {
17127
17358
  return `${e116.topLeft ? t88 : "0"} ${e116.topRight ? t88 : "0"} ${e116.bottomRight ? t88 : "0"} ${e116.bottomLeft ? t88 : "0"}`;
@@ -17133,7 +17364,7 @@ var t71 = i`:host{display:inline-block}*,*:before,*:after{box-sizing:border-box}
17133
17364
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/pixel-loader/PixelLoader.js
17134
17365
  var w4;
17135
17366
  var T5 = "https://spectrum-web-components.adobe.com/?path=/docs/patterns-ai-toolkit-pixel-loader--docs";
17136
- var E3 = class e90 extends i9 {
17367
+ var E3 = class e91 extends i9 {
17137
17368
  constructor(...e116) {
17138
17369
  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 = () => {
17139
17370
  this._syncTicker(), this._playCells();
@@ -17236,8 +17467,8 @@ var E3 = class e90 extends i9 {
17236
17467
  }
17237
17468
  }), this._cancelAnimations();
17238
17469
  let i25 = {
17239
- duration: e90.FINISH_MS,
17240
- easing: e90.EASE_FINISH,
17470
+ duration: e91.FINISH_MS,
17471
+ easing: e91.EASE_FINISH,
17241
17472
  fill: "forwards"
17242
17473
  }, a22 = n36.map((e116) => e116.animate([{
17243
17474
  translate: M2,
@@ -17287,7 +17518,7 @@ var E3 = class e90 extends i9 {
17287
17518
  style=${o3({
17288
17519
  "grid-column": String(t88.col + 1),
17289
17520
  "grid-row": String(t88.row + 1),
17290
- "border-radius": n33(n36, e90.CORNER_RADIUS)
17521
+ "border-radius": n33(n36, e91.CORNER_RADIUS)
17291
17522
  })}
17292
17523
  ></div>
17293
17524
  `;
@@ -17328,12 +17559,12 @@ var y5 = [
17328
17559
  "complete",
17329
17560
  "stopped"
17330
17561
  ];
17331
- var b9 = class e91 extends i9 {
17562
+ var b9 = class e92 extends i9 {
17332
17563
  static get styles() {
17333
17564
  return [t72];
17334
17565
  }
17335
17566
  constructor() {
17336
- 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, {
17567
+ 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, {
17337
17568
  config: {
17338
17569
  attributes: true,
17339
17570
  attributeFilter: ["status"],
@@ -17451,10 +17682,10 @@ var b9 = class e91 extends i9 {
17451
17682
  if (this._labelSlotText) return this._labelSlotText;
17452
17683
  let t88 = this._resolvedStatus;
17453
17684
  if (t88 === "active") {
17454
- if (this._showsGenericProcessingLabel) return e91.ACTIVE_STEP_OPEN_LABEL;
17685
+ if (this._showsGenericProcessingLabel) return e92.ACTIVE_STEP_OPEN_LABEL;
17455
17686
  if (this._activeStepLabel) return this._activeStepLabel;
17456
17687
  }
17457
- return e91.DEFAULT_LABELS[t88];
17688
+ return e92.DEFAULT_LABELS[t88];
17458
17689
  }
17459
17690
  _clearLabelRollTimers() {
17460
17691
  this._labelRollTimer !== null && (window.clearTimeout(this._labelRollTimer), this._labelRollTimer = null), this._labelRollRaf !== null && (window.cancelAnimationFrame(this._labelRollRaf), this._labelRollRaf = null);
@@ -17483,7 +17714,7 @@ var b9 = class e91 extends i9 {
17483
17714
  this._labelRollRaf = window.requestAnimationFrame(() => {
17484
17715
  this._labelRollRaf = null, this._rollEngaged = true, this._labelRollTimer = window.setTimeout(() => {
17485
17716
  this._labelRollTimer = null, this._displayedLabel = this._rollToLabel, this._rollActive = false, this._rollEngaged = false, this._applyLabelRoll();
17486
- }, e91.LABEL_ROLL_DURATION_MS);
17717
+ }, e92.LABEL_ROLL_DURATION_MS);
17487
17718
  });
17488
17719
  });
17489
17720
  }
@@ -17491,7 +17722,7 @@ var b9 = class e91 extends i9 {
17491
17722
  return this._rollActive ? this._rollToLabel : this._displayedLabel || this._getHeaderLabel();
17492
17723
  }
17493
17724
  _renderLabel() {
17494
- let t88 = e91.STATUS_LABEL_CLASS;
17725
+ let t88 = e92.STATUS_LABEL_CLASS;
17495
17726
  return this._rollActive ? b`
17496
17727
  <span class="swc-ResponseStatus-headerTrailViewport">
17497
17728
  <span class=${this._rollEngaged ? "swc-ResponseStatus-headerTrailCrossfade swc-ResponseStatus-headerTrailCrossfade--engaged" : "swc-ResponseStatus-headerTrailCrossfade"}>
@@ -17607,7 +17838,7 @@ var b9 = class e91 extends i9 {
17607
17838
  `;
17608
17839
  }
17609
17840
  _renderPanel(t88) {
17610
- let n36 = t88 && this.open, r39 = this.accessibleLabel || e91.DEFAULT_ACCESSIBLE_LABEL;
17841
+ let n36 = t88 && this.open, r39 = this.accessibleLabel || e92.DEFAULT_ACCESSIBLE_LABEL;
17611
17842
  return b`
17612
17843
  <div
17613
17844
  id=${this.panelId}
@@ -17672,7 +17903,7 @@ var t73 = i`:host{display:block}*,*:before,*:after{box-sizing:border-box}.swc-Su
17672
17903
  // node_modules/@adobe/spectrum-wc/dist/patterns/ai-toolkit/suggestion/SuggestionGroup.js
17673
17904
  var s14 = class extends i9 {
17674
17905
  constructor(...e116) {
17675
- super(...e116), this.accessibleLabel = "", this._headingId = e86("swc-suggestion-group-heading");
17906
+ super(...e116), this.accessibleLabel = "", this._headingId = e87("swc-suggestion-group-heading");
17676
17907
  }
17677
17908
  static get styles() {
17678
17909
  return [t73];
@@ -17835,148 +18066,148 @@ e12([n({
17835
18066
  e25("swc-user-message", a18);
17836
18067
 
17837
18068
  // node_modules/@adobe/spectrum-wc-icons/dist/Cancel.js
17838
- function e92() {
18069
+ function e93() {
17839
18070
  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>';
17840
18071
  }
17841
18072
 
17842
18073
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-cancel.js
17843
- var o61 = class extends a10 {
18074
+ var o62 = class extends a10 {
17844
18075
  static get styles() {
17845
18076
  return [t40];
17846
18077
  }
17847
18078
  render() {
17848
18079
  return b`
17849
- <span class="swc-Icon">${o16(e92())}</span>
18080
+ <span class="swc-Icon">${o16(e93())}</span>
17850
18081
  `;
17851
18082
  }
17852
18083
  };
17853
- e25("swc-icon-cancel", o61);
18084
+ e25("swc-icon-cancel", o62);
17854
18085
 
17855
18086
  // node_modules/@adobe/spectrum-wc-icons/dist/ChevronRight.js
17856
- function e93() {
18087
+ function e94() {
17857
18088
  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>';
17858
18089
  }
17859
18090
 
17860
18091
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-right.js
17861
- var o62 = class extends a10 {
18092
+ var o63 = class extends a10 {
17862
18093
  static get styles() {
17863
18094
  return [t40];
17864
18095
  }
17865
18096
  render() {
17866
18097
  return b`
17867
- <span class="swc-Icon">${o16(e93())}</span>
18098
+ <span class="swc-Icon">${o16(e94())}</span>
17868
18099
  `;
17869
18100
  }
17870
18101
  };
17871
- e25("swc-icon-chevron-right", o62);
18102
+ e25("swc-icon-chevron-right", o63);
17872
18103
 
17873
18104
  // node_modules/@adobe/spectrum-wc-icons/dist/File.js
17874
- function e94() {
18105
+ function e95() {
17875
18106
  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>';
17876
18107
  }
17877
18108
 
17878
18109
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-file.js
17879
- var o63 = class extends a10 {
18110
+ var o64 = class extends a10 {
17880
18111
  static get styles() {
17881
18112
  return [t40];
17882
18113
  }
17883
18114
  render() {
17884
18115
  return b`
17885
- <span class="swc-Icon">${o16(e94())}</span>
18116
+ <span class="swc-Icon">${o16(e95())}</span>
17886
18117
  `;
17887
18118
  }
17888
18119
  };
17889
- e25("swc-icon-file", o63);
18120
+ e25("swc-icon-file", o64);
17890
18121
 
17891
18122
  // node_modules/@adobe/spectrum-wc-icons/dist/FileText.js
17892
- function e95() {
18123
+ function e96() {
17893
18124
  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>';
17894
18125
  }
17895
18126
 
17896
18127
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-file-text.js
17897
- var o64 = class extends a10 {
18128
+ var o65 = class extends a10 {
17898
18129
  static get styles() {
17899
18130
  return [t40];
17900
18131
  }
17901
18132
  render() {
17902
18133
  return b`
17903
- <span class="swc-Icon">${o16(e95())}</span>
18134
+ <span class="swc-Icon">${o16(e96())}</span>
17904
18135
  `;
17905
18136
  }
17906
18137
  };
17907
- e25("swc-icon-file-text", o64);
18138
+ e25("swc-icon-file-text", o65);
17908
18139
 
17909
18140
  // node_modules/@adobe/spectrum-wc-icons/dist/Lock.js
17910
- function e96() {
18141
+ function e97() {
17911
18142
  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>';
17912
18143
  }
17913
18144
 
17914
18145
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-lock.js
17915
- var o65 = class extends a10 {
18146
+ var o66 = class extends a10 {
17916
18147
  static get styles() {
17917
18148
  return [t40];
17918
18149
  }
17919
18150
  render() {
17920
18151
  return b`
17921
- <span class="swc-Icon">${o16(e96())}</span>
18152
+ <span class="swc-Icon">${o16(e97())}</span>
17922
18153
  `;
17923
18154
  }
17924
18155
  };
17925
- e25("swc-icon-lock", o65);
18156
+ e25("swc-icon-lock", o66);
17926
18157
 
17927
18158
  // node_modules/@adobe/spectrum-wc-icons/dist/Search.js
17928
- function e97() {
18159
+ function e98() {
17929
18160
  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>';
17930
18161
  }
17931
18162
 
17932
18163
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-search.js
17933
- var o66 = class extends a10 {
18164
+ var o67 = class extends a10 {
17934
18165
  static get styles() {
17935
18166
  return [t40];
17936
18167
  }
17937
18168
  render() {
17938
18169
  return b`
17939
- <span class="swc-Icon">${o16(e97())}</span>
18170
+ <span class="swc-Icon">${o16(e98())}</span>
17940
18171
  `;
17941
18172
  }
17942
18173
  };
17943
- e25("swc-icon-search", o66);
18174
+ e25("swc-icon-search", o67);
17944
18175
 
17945
18176
  // node_modules/@adobe/spectrum-wc-icons/dist/Tools.js
17946
- function e98() {
18177
+ function e99() {
17947
18178
  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>';
17948
18179
  }
17949
18180
 
17950
18181
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-tools.js
17951
- var o67 = class extends a10 {
18182
+ var o68 = class extends a10 {
17952
18183
  static get styles() {
17953
18184
  return [t40];
17954
18185
  }
17955
18186
  render() {
17956
18187
  return b`
17957
- <span class="swc-Icon">${o16(e98())}</span>
18188
+ <span class="swc-Icon">${o16(e99())}</span>
17958
18189
  `;
17959
18190
  }
17960
18191
  };
17961
- e25("swc-icon-tools", o67);
18192
+ e25("swc-icon-tools", o68);
17962
18193
 
17963
18194
  // node_modules/@adobe/spectrum-wc-icons/dist/WebPage.js
17964
- function e99() {
18195
+ function e100() {
17965
18196
  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>';
17966
18197
  }
17967
18198
 
17968
18199
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-web-page.js
17969
- var o68 = class extends a10 {
18200
+ var o69 = class extends a10 {
17970
18201
  static get styles() {
17971
18202
  return [t40];
17972
18203
  }
17973
18204
  render() {
17974
18205
  return b`
17975
- <span class="swc-Icon">${o16(e99())}</span>
18206
+ <span class="swc-Icon">${o16(e100())}</span>
17976
18207
  `;
17977
18208
  }
17978
18209
  };
17979
- e25("swc-icon-web-page", o68);
18210
+ e25("swc-icon-web-page", o69);
17980
18211
 
17981
18212
  // src/app/markdown.ts
17982
18213
  var inlinePattern = /(`[^`]+`|!\[[^\]]*\]\([^)\s]+\)|\*\*[^*]+\*\*|~~[^~]+~~|\*[^*\s][^*]*\*|\[[^\]]+\]\([^)\s]+\))/g;
@@ -20688,7 +20919,7 @@ e25("swc-close-button", c23);
20688
20919
  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}`;
20689
20920
 
20690
20921
  // node_modules/@adobe/spectrum-wc-core/dist/components/illustrated-message/IllustratedMessage.types.js
20691
- var e100 = [
20922
+ var e101 = [
20692
20923
  "s",
20693
20924
  "m",
20694
20925
  "l"
@@ -20712,7 +20943,7 @@ var d17 = class extends i9 {
20712
20943
  e116.has("size") && n10(this, {
20713
20944
  prop: "size",
20714
20945
  value: this.size,
20715
- valid: e100,
20946
+ valid: e101,
20716
20947
  url: "https://spectrum-web-components.adobe.com/?path=/docs/components-illustrated-message--docs"
20717
20948
  }), e116.has("orientation") && n10(this, {
20718
20949
  prop: "orientation",
@@ -20737,7 +20968,7 @@ var d17 = class extends i9 {
20737
20968
  r9(this, r39 > 1, `<${this.localName}> "heading" slot accepts a single heading element but received ${r39}.`, n36, { issues: [`heading slot: ${r39} elements`] });
20738
20969
  }
20739
20970
  };
20740
- u22 = d17, u22.VALID_SIZES = e100, u22.VALID_ORIENTATIONS = t79, e24([n({
20971
+ u22 = d17, u22.VALID_SIZES = e101, u22.VALID_ORIENTATIONS = t79, e24([n({
20741
20972
  type: String,
20742
20973
  reflect: true
20743
20974
  })], d17.prototype, "size", void 0), e24([n({
@@ -20781,166 +21012,166 @@ var r33 = class extends d17 {
20781
21012
  e25("swc-illustrated-message", r33);
20782
21013
 
20783
21014
  // node_modules/@adobe/spectrum-wc-icons/dist/Camera.js
20784
- function e101() {
21015
+ function e102() {
20785
21016
  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>';
20786
21017
  }
20787
21018
 
20788
21019
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-camera.js
20789
- var o69 = class extends a10 {
21020
+ var o70 = class extends a10 {
20790
21021
  static get styles() {
20791
21022
  return [t40];
20792
21023
  }
20793
21024
  render() {
20794
21025
  return b`
20795
- <span class="swc-Icon">${o16(e101())}</span>
21026
+ <span class="swc-Icon">${o16(e102())}</span>
20796
21027
  `;
20797
21028
  }
20798
21029
  };
20799
- e25("swc-icon-camera", o69);
21030
+ e25("swc-icon-camera", o70);
20800
21031
 
20801
21032
  // node_modules/@adobe/spectrum-wc-icons/dist/ChevronDown.js
20802
- function e102() {
21033
+ function e103() {
20803
21034
  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>';
20804
21035
  }
20805
21036
 
20806
21037
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-down.js
20807
- var o70 = class extends a10 {
21038
+ var o71 = class extends a10 {
20808
21039
  static get styles() {
20809
21040
  return [t40];
20810
21041
  }
20811
21042
  render() {
20812
21043
  return b`
20813
- <span class="swc-Icon">${o16(e102())}</span>
21044
+ <span class="swc-Icon">${o16(e103())}</span>
20814
21045
  `;
20815
21046
  }
20816
21047
  };
20817
- e25("swc-icon-chevron-down", o70);
21048
+ e25("swc-icon-chevron-down", o71);
20818
21049
 
20819
21050
  // node_modules/@adobe/spectrum-wc-icons/dist/ChevronLeft.js
20820
- function e103() {
21051
+ function e104() {
20821
21052
  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>';
20822
21053
  }
20823
21054
 
20824
21055
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-chevron-left.js
20825
- var o71 = class extends a10 {
21056
+ var o72 = class extends a10 {
20826
21057
  static get styles() {
20827
21058
  return [t40];
20828
21059
  }
20829
21060
  render() {
20830
21061
  return b`
20831
- <span class="swc-Icon">${o16(e103())}</span>
21062
+ <span class="swc-Icon">${o16(e104())}</span>
20832
21063
  `;
20833
21064
  }
20834
21065
  };
20835
- e25("swc-icon-chevron-left", o71);
21066
+ e25("swc-icon-chevron-left", o72);
20836
21067
 
20837
21068
  // node_modules/@adobe/spectrum-wc-icons/dist/CursorClick.js
20838
- function e104() {
21069
+ function e105() {
20839
21070
  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>';
20840
21071
  }
20841
21072
 
20842
21073
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-cursor-click.js
20843
- var o72 = class extends a10 {
21074
+ var o73 = class extends a10 {
20844
21075
  static get styles() {
20845
21076
  return [t40];
20846
21077
  }
20847
21078
  render() {
20848
21079
  return b`
20849
- <span class="swc-Icon">${o16(e104())}</span>
21080
+ <span class="swc-Icon">${o16(e105())}</span>
20850
21081
  `;
20851
21082
  }
20852
21083
  };
20853
- e25("swc-icon-cursor-click", o72);
21084
+ e25("swc-icon-cursor-click", o73);
20854
21085
 
20855
21086
  // node_modules/@adobe/spectrum-wc-icons/dist/Keyboard.js
20856
- function e105() {
21087
+ function e106() {
20857
21088
  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>';
20858
21089
  }
20859
21090
 
20860
21091
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-keyboard.js
20861
- var o73 = class extends a10 {
21092
+ var o74 = class extends a10 {
20862
21093
  static get styles() {
20863
21094
  return [t40];
20864
21095
  }
20865
21096
  render() {
20866
21097
  return b`
20867
- <span class="swc-Icon">${o16(e105())}</span>
21098
+ <span class="swc-Icon">${o16(e106())}</span>
20868
21099
  `;
20869
21100
  }
20870
21101
  };
20871
- e25("swc-icon-keyboard", o73);
21102
+ e25("swc-icon-keyboard", o74);
20872
21103
 
20873
21104
  // node_modules/@adobe/spectrum-wc-icons/dist/Link.js
20874
- function e106() {
21105
+ function e107() {
20875
21106
  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>';
20876
21107
  }
20877
21108
 
20878
21109
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-link.js
20879
- var o74 = class extends a10 {
21110
+ var o75 = class extends a10 {
20880
21111
  static get styles() {
20881
21112
  return [t40];
20882
21113
  }
20883
21114
  render() {
20884
21115
  return b`
20885
- <span class="swc-Icon">${o16(e106())}</span>
21116
+ <span class="swc-Icon">${o16(e107())}</span>
20886
21117
  `;
20887
21118
  }
20888
21119
  };
20889
- e25("swc-icon-link", o74);
21120
+ e25("swc-icon-link", o75);
20890
21121
 
20891
21122
  // node_modules/@adobe/spectrum-wc-icons/dist/Text.js
20892
- function e107() {
21123
+ function e108() {
20893
21124
  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>';
20894
21125
  }
20895
21126
 
20896
21127
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-text.js
20897
- var o75 = class extends a10 {
21128
+ var o76 = class extends a10 {
20898
21129
  static get styles() {
20899
21130
  return [t40];
20900
21131
  }
20901
21132
  render() {
20902
21133
  return b`
20903
- <span class="swc-Icon">${o16(e107())}</span>
21134
+ <span class="swc-Icon">${o16(e108())}</span>
20904
21135
  `;
20905
21136
  }
20906
21137
  };
20907
- e25("swc-icon-text", o75);
21138
+ e25("swc-icon-text", o76);
20908
21139
 
20909
21140
  // node_modules/@adobe/spectrum-wc-icons/dist/Undo.js
20910
- function e108() {
21141
+ function e109() {
20911
21142
  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>';
20912
21143
  }
20913
21144
 
20914
21145
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-undo.js
20915
- var o76 = class extends a10 {
21146
+ var o77 = class extends a10 {
20916
21147
  static get styles() {
20917
21148
  return [t40];
20918
21149
  }
20919
21150
  render() {
20920
21151
  return b`
20921
- <span class="swc-Icon">${o16(e108())}</span>
21152
+ <span class="swc-Icon">${o16(e109())}</span>
20922
21153
  `;
20923
21154
  }
20924
21155
  };
20925
- e25("swc-icon-undo", o76);
21156
+ e25("swc-icon-undo", o77);
20926
21157
 
20927
21158
  // node_modules/@adobe/spectrum-wc-icons/dist/Visibility.js
20928
- function e109() {
21159
+ function e110() {
20929
21160
  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>';
20930
21161
  }
20931
21162
 
20932
21163
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-visibility.js
20933
- var o77 = class extends a10 {
21164
+ var o78 = class extends a10 {
20934
21165
  static get styles() {
20935
21166
  return [t40];
20936
21167
  }
20937
21168
  render() {
20938
21169
  return b`
20939
- <span class="swc-Icon">${o16(e109())}</span>
21170
+ <span class="swc-Icon">${o16(e110())}</span>
20940
21171
  `;
20941
21172
  }
20942
21173
  };
20943
- e25("swc-icon-visibility", o77);
21174
+ e25("swc-icon-visibility", o78);
20944
21175
 
20945
21176
  // src/app/browser.ts
20946
21177
  function normalize(input) {
@@ -21155,7 +21386,7 @@ var SliccBrowser = class extends ModelElement {
21155
21386
  width: 100%;
21156
21387
  height: 100%;
21157
21388
  object-fit: cover;
21158
- object-position: top;
21389
+ object-position: left top;
21159
21390
  }
21160
21391
  .meta {
21161
21392
  display: flex;
@@ -21466,7 +21697,6 @@ var SliccBrowser = class extends ModelElement {
21466
21697
  focus() {
21467
21698
  void this.updateComplete.then(
21468
21699
  () => this.focusOn(
21469
- '[data-action="stop-agent"]',
21470
21700
  '[data-action="all-tabs"]',
21471
21701
  '.window[aria-current="true"]',
21472
21702
  ".window",
@@ -21723,9 +21953,11 @@ var SliccBrowser = class extends ModelElement {
21723
21953
  ${wide ? this.#list(tabs, tab) : A}
21724
21954
  <section class="detail" aria-label=${tab.title}>
21725
21955
  <div class="bar">
21726
- <swc-action-button size="s" quiet data-action="all-tabs" @click=${() => {
21956
+ <swc-action-button size="s" quiet data-action="all-tabs" @click=${(event2) => {
21727
21957
  this.#show(null);
21728
- void this.updateComplete.then(() => this.focusOn(".window"));
21958
+ void this.updateComplete.then(
21959
+ () => this.focusWith({ focusVisible: event2.detail === 0 }, ".window")
21960
+ );
21729
21961
  }}><swc-icon-chevron-left slot="icon"></swc-icon-chevron-left>All tabs (${tabs.length})</swc-action-button>
21730
21962
  ${wide ? A : this.#picker(tabs, tab)}
21731
21963
  </div>
@@ -21772,7 +22004,7 @@ var SliccBrowser = class extends ModelElement {
21772
22004
  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}`;
21773
22005
 
21774
22006
  // node_modules/@adobe/spectrum-wc-core/dist/components/action-group/ActionGroup.types.js
21775
- var e110 = [
22007
+ var e111 = [
21776
22008
  "xs",
21777
22009
  "s",
21778
22010
  "m",
@@ -21785,7 +22017,7 @@ var n34 = ["white", "black"];
21785
22017
  // node_modules/@adobe/spectrum-wc-core/dist/components/action-group/ActionGroup.base.js
21786
22018
  var c24;
21787
22019
  var l19 = class extends i12(i9, {
21788
- validSizes: e110,
22020
+ validSizes: e111,
21789
22021
  noDefaultSize: true
21790
22022
  }) {
21791
22023
  constructor(...e116) {
@@ -21829,7 +22061,7 @@ c24 = l19, c24.shadowRootOptions = {
21829
22061
  })], l19.prototype, "disabled", void 0), e24([o({ flatten: true })], l19.prototype, "managedChildren", void 0);
21830
22062
 
21831
22063
  // node_modules/@adobe/spectrum-wc/dist/components/action-group/ActionGroup.js
21832
- var o78 = class extends l19 {
22064
+ var o79 = class extends l19 {
21833
22065
  constructor(...e116) {
21834
22066
  super(...e116), this.compact = false, this.quiet = false, this.justified = false, this.navigation = new r20(this, {
21835
22067
  direction: this.orientation,
@@ -21895,20 +22127,20 @@ var o78 = class extends l19 {
21895
22127
  e12([n({
21896
22128
  type: Boolean,
21897
22129
  reflect: true
21898
- })], o78.prototype, "compact", void 0), e12([n({
22130
+ })], o79.prototype, "compact", void 0), e12([n({
21899
22131
  type: Boolean,
21900
22132
  reflect: true
21901
- })], o78.prototype, "quiet", void 0), e12([n({
22133
+ })], o79.prototype, "quiet", void 0), e12([n({
21902
22134
  type: Boolean,
21903
22135
  reflect: true
21904
- })], o78.prototype, "justified", void 0), e12([n({
22136
+ })], o79.prototype, "justified", void 0), e12([n({
21905
22137
  type: String,
21906
22138
  reflect: true,
21907
22139
  attribute: "static-color"
21908
- })], o78.prototype, "staticColor", void 0);
22140
+ })], o79.prototype, "staticColor", void 0);
21909
22141
 
21910
22142
  // node_modules/@adobe/spectrum-wc/dist/components/action-group/swc-action-group.js
21911
- e25("swc-action-group", o78);
22143
+ e25("swc-action-group", o79);
21912
22144
 
21913
22145
  // src/app/changes.ts
21914
22146
  var layouts = [
@@ -22409,22 +22641,22 @@ e12([o({
22409
22641
  e25("swc-conversation-thread", s15);
22410
22642
 
22411
22643
  // node_modules/@adobe/spectrum-wc-icons/dist/New.js
22412
- function e111() {
22644
+ function e112() {
22413
22645
  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>';
22414
22646
  }
22415
22647
 
22416
22648
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-new.js
22417
- var o79 = class extends a10 {
22649
+ var o80 = class extends a10 {
22418
22650
  static get styles() {
22419
22651
  return [t40];
22420
22652
  }
22421
22653
  render() {
22422
22654
  return b`
22423
- <span class="swc-Icon">${o16(e111())}</span>
22655
+ <span class="swc-Icon">${o16(e112())}</span>
22424
22656
  `;
22425
22657
  }
22426
22658
  };
22427
- e25("swc-icon-new", o79);
22659
+ e25("swc-icon-new", o80);
22428
22660
 
22429
22661
  // src/app/chat.ts
22430
22662
  var navigation = /* @__PURE__ */ new Set([
@@ -22789,7 +23021,7 @@ var D4 = (e116) => {
22789
23021
  var O3 = typeof CSS < "u" && typeof CSS.supports == "function" && CSS.supports("field-sizing", "content");
22790
23022
  var k3 = class extends i9 {
22791
23023
  constructor() {
22792
- 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, {
23024
+ 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, {
22793
23025
  target: null,
22794
23026
  callback: () => {
22795
23027
  this._updateAttachmentScrollState();
@@ -23600,22 +23832,22 @@ e12([n({
23600
23832
  e25("swc-upload-attachment", d18);
23601
23833
 
23602
23834
  // node_modules/@adobe/spectrum-wc-icons/dist/Clock.js
23603
- function e112() {
23835
+ function e113() {
23604
23836
  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>';
23605
23837
  }
23606
23838
 
23607
23839
  // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-clock.js
23608
- var o80 = class extends a10 {
23840
+ var o81 = class extends a10 {
23609
23841
  static get styles() {
23610
23842
  return [t40];
23611
23843
  }
23612
23844
  render() {
23613
23845
  return b`
23614
- <span class="swc-Icon">${o16(e112())}</span>
23846
+ <span class="swc-Icon">${o16(e113())}</span>
23615
23847
  `;
23616
23848
  }
23617
23849
  };
23618
- e25("swc-icon-clock", o80);
23850
+ e25("swc-icon-clock", o81);
23619
23851
 
23620
23852
  // src/app/composer.ts
23621
23853
  var limit = 25 * 1024 * 1024;
@@ -24959,24 +25191,6 @@ var SliccMonitor = class extends ModelElement {
24959
25191
  }
24960
25192
  };
24961
25193
 
24962
- // node_modules/@adobe/spectrum-wc-icons/dist/InfoCircle.js
24963
- function e113() {
24964
- 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>';
24965
- }
24966
-
24967
- // node_modules/@adobe/spectrum-wc-icons/dist/swc-icon-info-circle.js
24968
- var o81 = class extends a10 {
24969
- static get styles() {
24970
- return [t40];
24971
- }
24972
- render() {
24973
- return b`
24974
- <span class="swc-Icon">${o16(e113())}</span>
24975
- `;
24976
- }
24977
- };
24978
- e25("swc-icon-info-circle", o81);
24979
-
24980
25194
  // src/app/notices.ts
24981
25195
  var SliccNotices = class extends ModelElement {
24982
25196
  static properties = {