@ai-ecoverse/slicc-spectrum 2.10.0 → 2.11.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
@@ -54352,7 +54352,8 @@ function elapsed(ms) {
54352
54352
  return `${Math.floor(seconds / 60)}:${String(seconds % 60).padStart(2, "0")}`;
54353
54353
  }
54354
54354
  function liveLine(item2, now) {
54355
- return [item2.label, item2.what, item2.asker, elapsed(now - item2.since)].filter(Boolean).join(" \xB7 ");
54355
+ const tail2 = item2.endedAt != null ? "Ended" : elapsed(now - item2.since);
54356
+ return [item2.label, item2.what, item2.asker, tail2].filter(Boolean).join(" \xB7 ");
54356
54357
  }
54357
54358
  var SliccLive = class extends ModelElement {
54358
54359
  static properties = {
@@ -54393,6 +54394,9 @@ var SliccLive = class extends ModelElement {
54393
54394
  border-radius: 50%;
54394
54395
  background: var(--swc-negative-visual-color);
54395
54396
  }
54397
+ .chip[data-ended] .dot {
54398
+ background: var(--swc-neutral-visual-color);
54399
+ }
54396
54400
  .text {
54397
54401
  flex: 0 1 auto;
54398
54402
  min-width: 0;
@@ -54426,6 +54430,9 @@ var SliccLive = class extends ModelElement {
54426
54430
  #items() {
54427
54431
  return this.model?.live?.items() ?? [];
54428
54432
  }
54433
+ #live() {
54434
+ return this.#items().some((item2) => item2.endedAt == null);
54435
+ }
54429
54436
  #tick(on2) {
54430
54437
  if (on2 && !this.#timer) this.#timer = setInterval(() => this.now = Date.now(), 1e3);
54431
54438
  if (!on2 && this.#timer) {
@@ -54435,13 +54442,17 @@ var SliccLive = class extends ModelElement {
54435
54442
  }
54436
54443
  updated(changed2) {
54437
54444
  super.updated(changed2);
54438
- this.#tick(this.isConnected && this.#items().length > 0);
54445
+ this.#tick(this.isConnected && this.#live());
54439
54446
  }
54440
54447
  #chip(item2) {
54441
- const rest = liveLine({ ...item2, label: "" }, this.now);
54442
- return b`<div class="chip" role="listitem" data-id=${item2.id} data-kind=${item2.kind}>
54448
+ const ended3 = item2.endedAt != null;
54449
+ const rest = [item2.what, item2.asker].filter(Boolean).join(" \xB7 ");
54450
+ const stamp = ended3 ? null : elapsed(this.now - item2.since);
54451
+ return b`<div class="chip" role="listitem" data-id=${item2.id} data-kind=${item2.kind} ?data-ended=${ended3}>
54443
54452
  <span class="dot" aria-hidden="true"></span>
54444
- <span class="text" title=${liveLine(item2, this.now)}><span class="label">${item2.label}</span><span class="detail"> · ${rest}</span></span>
54453
+ <span class="text" title=${liveLine(item2, this.now)}
54454
+ ><span class="label">${item2.label}</span>${rest ? b`<span class="detail"> · ${rest}</span>` : A}${ended3 ? b`<span class="ended"> · Ended</span>` : b`<span class="detail"> · ${stamp}</span>`}</span
54455
+ >
54445
54456
  <swc-action-button size="s" quiet data-action="live-act" accessible-label=${`${item2.action.label}: ${item2.label}`} @click=${() => this.model?.live?.act(item2.id)}>${item2.action.label}</swc-action-button>
54446
54457
  </div>`;
54447
54458
  }