@ai-ecoverse/slicc-spectrum 1.55.0 → 1.56.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/README.md +2 -2
- package/dist/slicc-dummy.js +20 -2
- package/dist/slicc-dummy.js.map +3 -3
- package/dist/slicc-ui.js +32 -6
- package/dist/slicc-ui.js.map +3 -3
- package/dist/types/app/panels.d.ts +1 -0
- package/dist/types/dummy/extras.d.ts +1 -0
- package/dist/types/dummy/index.d.ts +2 -1
- package/package.json +1 -1
package/dist/slicc-ui.js
CHANGED
|
@@ -13261,7 +13261,8 @@ function sprinkleSurface(sprinkle) {
|
|
|
13261
13261
|
tag: "slicc-sprinkle",
|
|
13262
13262
|
icon: sprinkle.icon,
|
|
13263
13263
|
side: "right",
|
|
13264
|
-
open: []
|
|
13264
|
+
open: [],
|
|
13265
|
+
cone: sprinkle.agentId
|
|
13265
13266
|
};
|
|
13266
13267
|
}
|
|
13267
13268
|
var directions = {
|
|
@@ -21650,6 +21651,11 @@ var SliccApp = class extends ThemedElement {
|
|
|
21650
21651
|
.rail:empty {
|
|
21651
21652
|
display: none;
|
|
21652
21653
|
}
|
|
21654
|
+
.rail .cones {
|
|
21655
|
+
flex: none;
|
|
21656
|
+
inline-size: var(--swc-component-height-75);
|
|
21657
|
+
border-block-start: var(--swc-border-width-100) solid var(--swc-gray-300);
|
|
21658
|
+
}
|
|
21653
21659
|
.rail swc-action-button.selected {
|
|
21654
21660
|
--swc-action-button-background-color-default: var(--swc-neutral-background-color-selected-default);
|
|
21655
21661
|
--swc-action-button-background-color-hover: var(--swc-neutral-background-color-selected-hover);
|
|
@@ -21863,6 +21869,13 @@ var SliccApp = class extends ThemedElement {
|
|
|
21863
21869
|
if (layout) this.#start(this.model);
|
|
21864
21870
|
else if (changed.has("model")) this.#rebind(this.model);
|
|
21865
21871
|
this.#updates(layout);
|
|
21872
|
+
this.#retitle();
|
|
21873
|
+
}
|
|
21874
|
+
#retitle() {
|
|
21875
|
+
for (const sprinkle of this.#sprinkles()) {
|
|
21876
|
+
const panel = this.dock.api.getPanel(`sprinkle:${sprinkle.id}`);
|
|
21877
|
+
if (panel && panel.title !== sprinkle.title) panel.api.setTitle(sprinkle.title);
|
|
21878
|
+
}
|
|
21866
21879
|
}
|
|
21867
21880
|
#updates(layout) {
|
|
21868
21881
|
const port = this.model?.updates;
|
|
@@ -21998,7 +22011,7 @@ var SliccApp = class extends ThemedElement {
|
|
|
21998
22011
|
openChat(this.dock, agent, this.screen);
|
|
21999
22012
|
return;
|
|
22000
22013
|
}
|
|
22001
|
-
const sprinkle = this
|
|
22014
|
+
const sprinkle = this.#sprinkles().find((candidate) => `sprinkle:${candidate.id}` === id);
|
|
22002
22015
|
if (sprinkle) {
|
|
22003
22016
|
openSprinkle(this.dock, sprinkle, this.screen);
|
|
22004
22017
|
return;
|
|
@@ -22016,7 +22029,19 @@ var SliccApp = class extends ThemedElement {
|
|
|
22016
22029
|
this.dock.content(id)?.reveal?.(section);
|
|
22017
22030
|
}
|
|
22018
22031
|
#sprinkle(id) {
|
|
22019
|
-
return this
|
|
22032
|
+
return this.#sprinkles().find((candidate) => candidate.id === id);
|
|
22033
|
+
}
|
|
22034
|
+
#sprinkles() {
|
|
22035
|
+
const model = this.model;
|
|
22036
|
+
if (!model) return [];
|
|
22037
|
+
const selected = this.#cone();
|
|
22038
|
+
const cones = model.agent.list().filter((agent) => agent.kind === "cone");
|
|
22039
|
+
const list4 = model.sprinkles.list();
|
|
22040
|
+
const order = [selected, ...cones.map((cone) => cone.id), ...list4.map((item2) => item2.agentId)];
|
|
22041
|
+
return list4.map((sprinkle) => {
|
|
22042
|
+
const cone = cones.find((agent) => agent.id === sprinkle.agentId && agent.id !== selected);
|
|
22043
|
+
return cone ? { ...sprinkle, title: `${cone.name} / ${sprinkle.title}` } : sprinkle;
|
|
22044
|
+
}).sort((a22, b13) => order.indexOf(a22.agentId) - order.indexOf(b13.agentId));
|
|
22020
22045
|
}
|
|
22021
22046
|
#detach(id, place2, open) {
|
|
22022
22047
|
const sprinkle = this.#sprinkle(id);
|
|
@@ -22048,7 +22073,7 @@ var SliccApp = class extends ThemedElement {
|
|
|
22048
22073
|
const driven = item2.id === "browser" && !!this.model?.browser.list().some((tab) => tab.controlled);
|
|
22049
22074
|
const visible2 = shown(this.dock, item2.id);
|
|
22050
22075
|
const label = `${visible2 ? `${item2.title}, shown` : `Open ${item2.title}`}${changes ? `, ${changeCount(changes)}` : driven ? ", a tab is in use" : ""}`;
|
|
22051
|
-
const button = u16`<swc-action-button id=${`rail-${item2.id}`} class=${visible2 ? "selected" : ""} quiet size="m" accessible-label=${label} data-surface=${item2.id} ?data-visible=${visible2} @click=${() => this.show(item2.id)}>${railIcon(item2.icon)}</swc-action-button>`;
|
|
22076
|
+
const button = u16`<swc-action-button id=${`rail-${item2.id}`} class=${visible2 ? "selected" : ""} quiet size="m" accessible-label=${label} data-surface=${item2.id} data-cone=${o2(item2.cone)} ?data-visible=${visible2} @click=${() => this.show(item2.id)}>${railIcon(item2.icon)}</swc-action-button>`;
|
|
22052
22077
|
const tooltip = b`<swc-tooltip for=${`rail-${item2.id}`} placement=${{ left: "end", right: "start", bottom: "top" }[side]}>${item2.title}</swc-tooltip>`;
|
|
22053
22078
|
return changes ? b`<span class="badged">${button}<swc-badge size="s" variant="neutral" aria-hidden="true">${changes}</swc-badge></span>${tooltip}` : driven ? b`<span class="badged">${button}<span class="dot" data-driven aria-hidden="true"></span></span>${tooltip}` : b`${button}${tooltip}`;
|
|
22054
22079
|
}
|
|
@@ -22070,13 +22095,14 @@ var SliccApp = class extends ThemedElement {
|
|
|
22070
22095
|
const primary = side === "bottom" ? items.filter((item2) => phoneRail.includes(item2.id)) : items;
|
|
22071
22096
|
const fit = primary.length < items.length ? Math.min(primary.length, railCapacity(this.#width, Infinity)) : railCapacity(this.#width, items.length);
|
|
22072
22097
|
const shown2 = side === "bottom" ? primary.slice(0, fit) : items;
|
|
22098
|
+
const grouped = new Set(shown2.map((item2) => item2.cone).filter(Boolean)).size > 1;
|
|
22073
22099
|
return b`<nav class=${`rail ${side}`} aria-label=${`Panels, ${side}`} @dragover=${this.#railOver} @dragleave=${this.#railLeave} @drop=${this.#railDrop}>${shown2.map(
|
|
22074
|
-
(item2) => this.#railButton(item2, side)
|
|
22100
|
+
(item2, index) => b`${grouped && index && shown2[index - 1].cone !== item2.cone ? b`<span class="cones" aria-hidden="true"></span>` : A}${this.#railButton(item2, side)}`
|
|
22075
22101
|
)}${this.#more(items.filter((item2) => !shown2.includes(item2)))}</nav>`;
|
|
22076
22102
|
}
|
|
22077
22103
|
#rails() {
|
|
22078
22104
|
const dock = this.renderRoot.querySelector("slicc-dock");
|
|
22079
|
-
const sprinkles =
|
|
22105
|
+
const sprinkles = this.#sprinkles().filter((sprinkle) => !sprinkle.inline || this.dips.has(sprinkle.id)).map(sprinkleSurface);
|
|
22080
22106
|
const all2 = dock && this.#started ? [...sprinkles, ...this.#available()] : [];
|
|
22081
22107
|
const phone = this.screen === "phone";
|
|
22082
22108
|
return {
|