@moq/ui-core 0.1.0 → 0.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@moq/ui-core",
3
3
  "type": "module",
4
- "version": "0.1.0",
4
+ "version": "0.1.1",
5
5
  "description": "Shared UI components for Media over QUIC",
6
6
  "license": "(MIT OR Apache-2.0)",
7
7
  "repository": "github:moq-dev/moq",
@@ -12,6 +12,6 @@
12
12
  }
13
13
  },
14
14
  "peerDependencies": {
15
- "@moq/signals": "^0.1.2"
15
+ "@moq/signals": "^0.1.6"
16
16
  }
17
17
  }
@@ -1 +1 @@
1
- {"version":3,"file":"StatsItem.d.ts","sourceRoot":"","sources":["../../../src/stats/components/StatsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,GAAG,EAAa,MAAM,UAAU,CAAC;AAE3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,UAAU,cAAe,SAAQ,aAAa;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,YAAY,EAAE,mBAAmB,CAAC;IAClC,sBAAsB;IACtB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,cAAc,gBAgC9C,CAAC"}
1
+ {"version":3,"file":"StatsItem.d.ts","sourceRoot":"","sources":["../../../src/stats/components/StatsItem.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA8B,KAAK,GAAG,EAAa,MAAM,UAAU,CAAC;AAE3E,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAEnE;;GAEG;AACH,UAAU,cAAe,SAAQ,aAAa;IAC7C,IAAI,EAAE,MAAM,CAAC;IACb,6BAA6B;IAC7B,YAAY,EAAE,mBAAmB,CAAC;IAClC,sBAAsB;IACtB,GAAG,EAAE,GAAG,CAAC,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO,cAAc,gBAiC9C,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"StatsPanel.d.ts","sourceRoot":"","sources":["../../../src/stats/components/StatsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGnE;;GAEG;AACH,UAAU,eAAgB,SAAQ,aAAa;CAAG;AAElD,eAAO,MAAM,gBAAgB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;CAAE,EAqB1G,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,gBAgBhD,CAAC"}
1
+ {"version":3,"file":"StatsPanel.d.ts","sourceRoot":"","sources":["../../../src/stats/components/StatsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAO,KAAK,GAAG,EAAE,MAAM,UAAU,CAAC;AAEzC,OAAO,KAAK,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGnE;;GAEG;AACH,UAAU,eAAgB,SAAQ,aAAa;CAAG;AAElD,eAAO,MAAM,gBAAgB,EAAE;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,mBAAmB,CAAC;IAAC,IAAI,EAAE,MAAM,GAAG,CAAC,OAAO,CAAA;CAAE,EAqB1G,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,OAAO,eAAe,gBAiBhD,CAAC"}
@@ -1,49 +1,13 @@
1
1
  import type { ProviderContext } from "../types";
2
2
  import { BaseProvider } from "./base";
3
3
  /**
4
- * Provider for network metrics (connection type, bandwidth, latency)
4
+ * Provider for network metrics (bandwidth, latency) sourced from the
5
+ * underlying MoQ connection (PROBE / QUIC stats).
5
6
  */
6
7
  export declare class NetworkProvider extends BaseProvider {
7
- /** Polling interval in milliseconds */
8
8
  private static readonly POLLING_INTERVAL_MS;
9
- /** Display context for updating metrics */
10
9
  private context;
11
- /** Network information from navigator.connection */
12
- private networkInfo?;
13
- /** Polling interval ID */
14
- private updateInterval?;
15
- private readonly boundUpdateDisplayData;
16
- /**
17
- * Initialize network provider with connection listeners
18
- */
19
10
  setup(context: ProviderContext): void;
20
- /**
21
- * Clean up event listeners and polling interval
22
- */
23
- cleanup(): void;
24
- /**
25
- * Calculate and display current network metrics
26
- */
27
11
  private updateDisplayData;
28
- /**
29
- * Get formatted connection type
30
- * @returns Connection type or null if unavailable
31
- */
32
- private getConnectionType;
33
- /**
34
- * Get formatted bandwidth in Mbps or Gbps
35
- * @returns Bandwidth string or null if unavailable
36
- */
37
- private getEffectiveBandwidth;
38
- /**
39
- * Get formatted round-trip latency
40
- * @returns Latency string or null if unavailable
41
- */
42
- private getLatency;
43
- /**
44
- * Get data saver mode status
45
- * @returns Data saver indicator or null if disabled
46
- */
47
- private getSaveDataStatus;
48
12
  }
49
13
  //# sourceMappingURL=network.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/stats/providers/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAkCtC;;GAEG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAChD,uCAAuC;IACvC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAClD,2CAA2C;IAC3C,OAAO,CAAC,OAAO,CAA8B;IAC7C,oDAAoD;IACpD,OAAO,CAAC,WAAW,CAAC,CAAqB;IACzC,0BAA0B;IAC1B,OAAO,CAAC,cAAc,CAAC,CAAS;IAChC,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAAqC;IAE5E;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAoBrC;;OAEG;IACM,OAAO,IAAI,IAAI;IAYxB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAezB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAwBzB;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAa7B;;;OAGG;IACH,OAAO,CAAC,UAAU;IAKlB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAGzB"}
1
+ {"version":3,"file":"network.d.ts","sourceRoot":"","sources":["../../../src/stats/providers/network.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC;;;GAGG;AACH,qBAAa,eAAgB,SAAQ,YAAY;IAChD,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,mBAAmB,CAAO;IAClD,OAAO,CAAC,OAAO,CAA8B;IAE7C,KAAK,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI;IAYrC,OAAO,CAAC,iBAAiB;CAczB"}
package/stats/types.d.ts CHANGED
@@ -45,9 +45,20 @@ export interface VideoBackend {
45
45
  bytesReceived: number;
46
46
  } | undefined>;
47
47
  }
48
+ /**
49
+ * Structural interface for an established connection. Bandwidth values
50
+ * are bits per second; rtt is milliseconds. Each is undefined when the
51
+ * underlying transport doesn't expose it.
52
+ */
53
+ export interface Connection {
54
+ rtt?: Peekable<number | undefined>;
55
+ recvBandwidth?: Peekable<number | undefined>;
56
+ sendBandwidth?: Peekable<number | undefined>;
57
+ }
48
58
  export type ProviderProps = {
49
59
  audio: AudioBackend;
50
60
  video: VideoBackend;
61
+ connection?: Peekable<Connection | undefined>;
51
62
  };
52
63
  export {};
53
64
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stats/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3E;;;GAGG;AACH,UAAU,QAAQ,CAAC,CAAC;IACnB,IAAI,IAAI,CAAC,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,EAAE,QAAQ,CAAC;YAAE,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC,CAAC;KACjG,CAAC;IACF,KAAK,EAAE,QAAQ,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE;QACP,OAAO,EAAE,QAAQ,CAAC;YAAE,OAAO,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,GAAG,SAAS,CAAC,CAAC;KAC/E,CAAC;IACF,KAAK,EAAE,QAAQ,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;CACpB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/stats/types.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG,SAAS,GAAG,OAAO,GAAG,OAAO,GAAG,QAAQ,CAAC;AAE3E;;;GAGG;AACH,UAAU,QAAQ,CAAC,CAAC;IACnB,IAAI,IAAI,CAAC,CAAC;CACV;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC/B,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACvC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE;QACP,KAAK,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;QACzB,MAAM,EAAE,QAAQ,CAAC;YAAE,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,gBAAgB,CAAC,EAAE,MAAM,CAAC;YAAC,KAAK,CAAC,EAAE,MAAM,CAAA;SAAE,GAAG,SAAS,CAAC,CAAC;KACjG,CAAC;IACF,KAAK,EAAE,QAAQ,CAAC;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CACvD;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,MAAM,EAAE;QACP,OAAO,EAAE,QAAQ,CAAC;YAAE,OAAO,CAAC,EAAE;gBAAE,KAAK,EAAE,MAAM,CAAC;gBAAC,MAAM,EAAE,MAAM,CAAA;aAAE,CAAA;SAAE,GAAG,SAAS,CAAC,CAAC;KAC/E,CAAC;IACF,KAAK,EAAE,QAAQ,CAAC;QAAE,UAAU,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC,CAAC;CAC3E;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACnC,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC7C,aAAa,CAAC,EAAE,QAAQ,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAC7C;AAED,MAAM,MAAM,aAAa,GAAG;IAC3B,KAAK,EAAE,YAAY,CAAC;IACpB,KAAK,EAAE,YAAY,CAAC;IACpB,UAAU,CAAC,EAAE,QAAQ,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;CAC9C,CAAC"}