@ai-ecoverse/slicc-spectrum 1.42.0 → 1.43.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.
@@ -0,0 +1,33 @@
1
+ import '@adobe/spectrum-wc/components/button/swc-button.js';
2
+ import '@adobe/spectrum-wc/components/close-button/swc-close-button.js';
3
+ import '@adobe/spectrum-wc-icons/swc-icon-alert-triangle.js';
4
+ import '@adobe/spectrum-wc-icons/swc-icon-info-circle.js';
5
+ import { nothing, type TemplateResult } from 'lit';
6
+ import type { SliccModel } from '../model/types.js';
7
+ import { ModelElement } from './base.js';
8
+ export declare class SliccNotices extends ModelElement {
9
+ #private;
10
+ static properties: {
11
+ model: {
12
+ attribute: boolean;
13
+ };
14
+ dismissed: {
15
+ state: boolean;
16
+ };
17
+ pending: {
18
+ state: boolean;
19
+ };
20
+ failures: {
21
+ state: boolean;
22
+ };
23
+ };
24
+ dismissed: ReadonlySet<string>;
25
+ pending: ReadonlyMap<string, string>;
26
+ failures: ReadonlyMap<string, string>;
27
+ constructor();
28
+ static styles: import("lit").CSSResult;
29
+ protected subscribe(model: SliccModel): Array<() => void>;
30
+ dismiss(id: string): void;
31
+ act(id: string, action: string): Promise<void>;
32
+ render(): TemplateResult | typeof nothing;
33
+ }
@@ -2,6 +2,7 @@ import type { SliccModel } from '../model/types.js';
2
2
  import { type ChangesScenario } from './changes.js';
3
3
  import { type MountScenario } from './files.js';
4
4
  import { DummyNetwork, type NetworkScenario, type TailnetScenario } from './network.js';
5
+ import { DummyNotices, type NoticeScenario } from './notices.js';
5
6
  import { DummyUpdates, type PackageConfirm, type PackageScenario, type UpdateScenario } from './updates.js';
6
7
  export interface DummyOptions {
7
8
  delay?: number;
@@ -13,9 +14,11 @@ export interface DummyOptions {
13
14
  network?: NetworkScenario | 'off';
14
15
  tailnet?: TailnetScenario;
15
16
  changes?: ChangesScenario;
17
+ notices?: NoticeScenario | 'off';
16
18
  }
17
19
  export interface DummyModel extends SliccModel {
18
20
  updates: DummyUpdates;
19
21
  network?: DummyNetwork;
22
+ notices?: DummyNotices;
20
23
  }
21
- export declare function createDummyModel({ delay, storage, updates, packages, confirm, mounts, network, tailnet, changes, }?: DummyOptions): DummyModel;
24
+ export declare function createDummyModel({ delay, storage, updates, packages, confirm, mounts, network, tailnet, changes, notices, }?: DummyOptions): DummyModel;
@@ -0,0 +1,14 @@
1
+ import { Emitter } from '../model/emitter.js';
2
+ import type { Notice, NoticesPort } from '../model/types.js';
3
+ import type { Clock } from './clock.js';
4
+ export type NoticeScenario = 'storage' | 'mixed' | 'fail';
5
+ export declare const noticeFixtures: Record<'storage' | 'welcome', Notice>;
6
+ export declare class DummyNotices extends Emitter<{
7
+ notices: readonly Notice[];
8
+ }> implements NoticesPort {
9
+ #private;
10
+ constructor(scenario: NoticeScenario, time: Clock);
11
+ list(): readonly Notice[];
12
+ act(id: string, action: string): Promise<void>;
13
+ dismiss(id: string): void;
14
+ }
@@ -5,5 +5,7 @@ export type { DummyModel, DummyOptions } from './dummy/index.js';
5
5
  export { createDummyModel } from './dummy/index.js';
6
6
  export type { NetworkScenario, TailnetScenario } from './dummy/network.js';
7
7
  export { DummyNetwork, networkFixtures, tailnetFixtures } from './dummy/network.js';
8
+ export type { NoticeScenario } from './dummy/notices.js';
9
+ export { DummyNotices, noticeFixtures } from './dummy/notices.js';
8
10
  export type { DummyUpdatesOptions, PackageConfirm, PackageScenario, UpdateScenario, } from './dummy/updates.js';
9
11
  export { DummyUpdates, packageFixtures, updateFixtures } from './dummy/updates.js';
@@ -613,6 +613,24 @@ export interface NetworkPort extends Subscribable<{
613
613
  submitAuthKey?(key: string): Promise<void>;
614
614
  logoutTailnet?(): Promise<void>;
615
615
  }
616
+ export interface NoticeAction {
617
+ id: string;
618
+ label: string;
619
+ }
620
+ export interface Notice {
621
+ id: string;
622
+ tone: 'info' | 'warning';
623
+ title: string;
624
+ body: string;
625
+ actions: readonly NoticeAction[];
626
+ }
627
+ export interface NoticesPort extends Subscribable<{
628
+ notices: readonly Notice[];
629
+ }> {
630
+ list(): readonly Notice[];
631
+ act(id: string, action: string): Promise<void>;
632
+ dismiss(id: string): void;
633
+ }
616
634
  export interface SliccModel {
617
635
  agent: AgentPort;
618
636
  files: FilePort;
@@ -626,4 +644,5 @@ export interface SliccModel {
626
644
  updates?: UpdatesPort;
627
645
  network?: NetworkPort;
628
646
  changes?: ChangesPort;
647
+ notices?: NoticesPort;
629
648
  }
@@ -8,6 +8,7 @@ import { SliccComposer } from './app/composer.js';
8
8
  import { SliccConfirm, SliccPrompt } from './app/confirm.js';
9
9
  import { SliccFiles, SliccFileView } from './app/files.js';
10
10
  import { SliccNetwork } from './app/network.js';
11
+ import { SliccNotices } from './app/notices.js';
11
12
  import { SliccUpdates } from './app/updates.js';
12
13
  import { SliccCodeView, SliccDiffView } from './components/code-view.js';
13
14
  import { SliccDock } from './components/dock.js';
@@ -26,5 +27,5 @@ export type { GitStatusEntry } from './components/file-tree.js';
26
27
  export type { Listener, Subscribable } from './model/emitter.js';
27
28
  export { Emitter } from './model/emitter.js';
28
29
  export type * from './model/types.js';
29
- export { SliccAgents, SliccApp, SliccBrowser, SliccChanges, SliccChat, SliccCodeView, SliccComposer, SliccConfirm, SliccDiffPanel, SliccDiffView, SliccDock, SliccFiles, SliccFileTree, SliccFileView, SliccNetwork, SliccPrompt, SliccUpdates, };
30
+ export { SliccAgents, SliccApp, SliccBrowser, SliccChanges, SliccChat, SliccCodeView, SliccComposer, SliccConfirm, SliccDiffPanel, SliccDiffView, SliccDock, SliccFiles, SliccFileTree, SliccFileView, SliccNetwork, SliccNotices, SliccPrompt, SliccUpdates, };
30
31
  export declare function define(): void;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ai-ecoverse/slicc-spectrum",
3
- "version": "1.42.0",
3
+ "version": "1.43.0",
4
4
  "description": "Web components for SLICC on Spectrum Web Components: the terminal, the app shell and its surfaces",
5
5
  "type": "module",
6
6
  "license": "Apache-2.0",