@hashsome/ui 0.1.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.
Files changed (192) hide show
  1. package/LICENSE +674 -0
  2. package/dist/.tsbuildinfo +1 -0
  3. package/dist/entities/action-button.d.ts +17 -0
  4. package/dist/entities/action-button.js +56 -0
  5. package/dist/entities/action-button.js.map +1 -0
  6. package/dist/entities/artwork-ring.d.ts +17 -0
  7. package/dist/entities/artwork-ring.js +89 -0
  8. package/dist/entities/artwork-ring.js.map +1 -0
  9. package/dist/entities/climate-tile.d.ts +20 -0
  10. package/dist/entities/climate-tile.js +98 -0
  11. package/dist/entities/climate-tile.js.map +1 -0
  12. package/dist/entities/light-color.d.ts +52 -0
  13. package/dist/entities/light-color.js +148 -0
  14. package/dist/entities/light-color.js.map +1 -0
  15. package/dist/entities/light-tile.d.ts +24 -0
  16. package/dist/entities/light-tile.js +139 -0
  17. package/dist/entities/light-tile.js.map +1 -0
  18. package/dist/entities/media-browser.d.ts +15 -0
  19. package/dist/entities/media-browser.js +67 -0
  20. package/dist/entities/media-browser.js.map +1 -0
  21. package/dist/entities/media-controls.d.ts +20 -0
  22. package/dist/entities/media-controls.js +53 -0
  23. package/dist/entities/media-controls.js.map +1 -0
  24. package/dist/entities/media-player-bar.d.ts +14 -0
  25. package/dist/entities/media-player-bar.js +78 -0
  26. package/dist/entities/media-player-bar.js.map +1 -0
  27. package/dist/entities/media-player-body.d.ts +16 -0
  28. package/dist/entities/media-player-body.js +18 -0
  29. package/dist/entities/media-player-body.js.map +1 -0
  30. package/dist/entities/media-player-column.d.ts +18 -0
  31. package/dist/entities/media-player-column.js +34 -0
  32. package/dist/entities/media-player-column.js.map +1 -0
  33. package/dist/entities/media-player-page.d.ts +12 -0
  34. package/dist/entities/media-player-page.js +13 -0
  35. package/dist/entities/media-player-page.js.map +1 -0
  36. package/dist/entities/media-progress.d.ts +7 -0
  37. package/dist/entities/media-progress.js +30 -0
  38. package/dist/entities/media-progress.js.map +1 -0
  39. package/dist/entities/media-seek.d.ts +9 -0
  40. package/dist/entities/media-seek.js +19 -0
  41. package/dist/entities/media-seek.js.map +1 -0
  42. package/dist/entities/nav-dock.d.ts +13 -0
  43. package/dist/entities/nav-dock.js +22 -0
  44. package/dist/entities/nav-dock.js.map +1 -0
  45. package/dist/entities/nav-rail.d.ts +19 -0
  46. package/dist/entities/nav-rail.js +18 -0
  47. package/dist/entities/nav-rail.js.map +1 -0
  48. package/dist/entities/now-playing.d.ts +20 -0
  49. package/dist/entities/now-playing.js +34 -0
  50. package/dist/entities/now-playing.js.map +1 -0
  51. package/dist/entities/scene-button.d.ts +13 -0
  52. package/dist/entities/scene-button.js +6 -0
  53. package/dist/entities/scene-button.js.map +1 -0
  54. package/dist/entities/seek-line.d.ts +9 -0
  55. package/dist/entities/seek-line.js +71 -0
  56. package/dist/entities/seek-line.js.map +1 -0
  57. package/dist/entities/sensor-readout.d.ts +28 -0
  58. package/dist/entities/sensor-readout.js +95 -0
  59. package/dist/entities/sensor-readout.js.map +1 -0
  60. package/dist/entities/top-bar.d.ts +68 -0
  61. package/dist/entities/top-bar.js +248 -0
  62. package/dist/entities/top-bar.js.map +1 -0
  63. package/dist/entity-handle.d.ts +21 -0
  64. package/dist/entity-handle.js +16 -0
  65. package/dist/entity-handle.js.map +1 -0
  66. package/dist/gallery/fixtures.d.ts +4 -0
  67. package/dist/gallery/fixtures.js +119 -0
  68. package/dist/gallery/fixtures.js.map +1 -0
  69. package/dist/gallery/gallery.d.ts +9 -0
  70. package/dist/gallery/gallery.js +355 -0
  71. package/dist/gallery/gallery.js.map +1 -0
  72. package/dist/gallery/index.d.ts +2 -0
  73. package/dist/gallery/index.js +2 -0
  74. package/dist/gallery/index.js.map +1 -0
  75. package/dist/gallery/props-data.d.ts +10 -0
  76. package/dist/gallery/props-data.js +718 -0
  77. package/dist/gallery/props-data.js.map +1 -0
  78. package/dist/hooks.d.ts +19 -0
  79. package/dist/hooks.js +53 -0
  80. package/dist/hooks.js.map +1 -0
  81. package/dist/icon-data.d.ts +6 -0
  82. package/dist/icon-data.js +59193 -0
  83. package/dist/icon-data.js.map +1 -0
  84. package/dist/icon.d.ts +9 -0
  85. package/dist/icon.js +28 -0
  86. package/dist/icon.js.map +1 -0
  87. package/dist/index.d.ts +30 -0
  88. package/dist/index.js +24 -0
  89. package/dist/index.js.map +1 -0
  90. package/dist/layout/cover.d.ts +5 -0
  91. package/dist/layout/cover.js +8 -0
  92. package/dist/layout/cover.js.map +1 -0
  93. package/dist/layout/date-time-field.d.ts +15 -0
  94. package/dist/layout/date-time-field.js +108 -0
  95. package/dist/layout/date-time-field.js.map +1 -0
  96. package/dist/layout/detail-provider.d.ts +22 -0
  97. package/dist/layout/detail-provider.js +26 -0
  98. package/dist/layout/detail-provider.js.map +1 -0
  99. package/dist/layout/drawer-controls.d.ts +46 -0
  100. package/dist/layout/drawer-controls.js +93 -0
  101. package/dist/layout/drawer-controls.js.map +1 -0
  102. package/dist/layout/energy-chart.d.ts +37 -0
  103. package/dist/layout/energy-chart.js +85 -0
  104. package/dist/layout/energy-chart.js.map +1 -0
  105. package/dist/layout/energy-usage.d.ts +6 -0
  106. package/dist/layout/energy-usage.js +18 -0
  107. package/dist/layout/energy-usage.js.map +1 -0
  108. package/dist/layout/entity-drawer.d.ts +15 -0
  109. package/dist/layout/entity-drawer.js +77 -0
  110. package/dist/layout/entity-drawer.js.map +1 -0
  111. package/dist/layout/fade-scroll.d.ts +14 -0
  112. package/dist/layout/fade-scroll.js +59 -0
  113. package/dist/layout/fade-scroll.js.map +1 -0
  114. package/dist/layout/grid.d.ts +9 -0
  115. package/dist/layout/grid.js +6 -0
  116. package/dist/layout/grid.js.map +1 -0
  117. package/dist/layout/history-section.d.ts +19 -0
  118. package/dist/layout/history-section.js +39 -0
  119. package/dist/layout/history-section.js.map +1 -0
  120. package/dist/layout/hold-progress.d.ts +2 -0
  121. package/dist/layout/hold-progress.js +9 -0
  122. package/dist/layout/hold-progress.js.map +1 -0
  123. package/dist/layout/icon-button-styles.d.ts +9 -0
  124. package/dist/layout/icon-button-styles.js +28 -0
  125. package/dist/layout/icon-button-styles.js.map +1 -0
  126. package/dist/layout/page.d.ts +17 -0
  127. package/dist/layout/page.js +29 -0
  128. package/dist/layout/page.js.map +1 -0
  129. package/dist/layout/plain-button.d.ts +11 -0
  130. package/dist/layout/plain-button.js +17 -0
  131. package/dist/layout/plain-button.js.map +1 -0
  132. package/dist/layout/room-header.d.ts +12 -0
  133. package/dist/layout/room-header.js +11 -0
  134. package/dist/layout/room-header.js.map +1 -0
  135. package/dist/layout/round-button.d.ts +13 -0
  136. package/dist/layout/round-button.js +19 -0
  137. package/dist/layout/round-button.js.map +1 -0
  138. package/dist/layout/sensor-history.d.ts +15 -0
  139. package/dist/layout/sensor-history.js +91 -0
  140. package/dist/layout/sensor-history.js.map +1 -0
  141. package/dist/layout/sensor-stats.d.ts +21 -0
  142. package/dist/layout/sensor-stats.js +79 -0
  143. package/dist/layout/sensor-stats.js.map +1 -0
  144. package/dist/layout/series-chart.d.ts +25 -0
  145. package/dist/layout/series-chart.js +46 -0
  146. package/dist/layout/series-chart.js.map +1 -0
  147. package/dist/layout/stepper.d.ts +10 -0
  148. package/dist/layout/stepper.js +12 -0
  149. package/dist/layout/stepper.js.map +1 -0
  150. package/dist/layout/swatch-row.d.ts +19 -0
  151. package/dist/layout/swatch-row.js +20 -0
  152. package/dist/layout/swatch-row.js.map +1 -0
  153. package/dist/layout/tile.d.ts +67 -0
  154. package/dist/layout/tile.js +207 -0
  155. package/dist/layout/tile.js.map +1 -0
  156. package/dist/layout/use-drawer.d.ts +33 -0
  157. package/dist/layout/use-drawer.js +34 -0
  158. package/dist/layout/use-drawer.js.map +1 -0
  159. package/dist/layout/use-hold.d.ts +21 -0
  160. package/dist/layout/use-hold.js +61 -0
  161. package/dist/layout/use-hold.js.map +1 -0
  162. package/dist/provider.d.ts +37 -0
  163. package/dist/provider.js +95 -0
  164. package/dist/provider.js.map +1 -0
  165. package/dist/status.d.ts +8 -0
  166. package/dist/status.js +27 -0
  167. package/dist/status.js.map +1 -0
  168. package/dist/theme/density.d.ts +16 -0
  169. package/dist/theme/density.js +7 -0
  170. package/dist/theme/density.js.map +1 -0
  171. package/dist/theme/global-styles.d.ts +5 -0
  172. package/dist/theme/global-styles.js +44 -0
  173. package/dist/theme/global-styles.js.map +1 -0
  174. package/dist/theme/index.d.ts +19 -0
  175. package/dist/theme/index.js +106 -0
  176. package/dist/theme/index.js.map +1 -0
  177. package/dist/theme/overrides.d.ts +28 -0
  178. package/dist/theme/overrides.js +24 -0
  179. package/dist/theme/overrides.js.map +1 -0
  180. package/dist/theme/tokens.d.ts +78 -0
  181. package/dist/theme/tokens.js +1 -0
  182. package/dist/theme/tokens.js.map +1 -0
  183. package/dist/theme/use-typography.d.ts +4 -0
  184. package/dist/theme/use-typography.js +9 -0
  185. package/dist/theme/use-typography.js.map +1 -0
  186. package/dist/use-entity-history.d.ts +12 -0
  187. package/dist/use-entity-history.js +43 -0
  188. package/dist/use-entity-history.js.map +1 -0
  189. package/dist/use-media-browser.d.ts +31 -0
  190. package/dist/use-media-browser.js +87 -0
  191. package/dist/use-media-browser.js.map +1 -0
  192. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"props-data.js","sourceRoot":"","sources":["../../src/gallery/props-data.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import type { ConnectionStatus, Entity, EntityKind, EntityRef, LinkStatus } from '@hashsome/core';
2
+ import { type CommandSender, type EntityHandle } from './entity-handle.ts';
3
+ /** Live generic entity. `undefined` while loading (or with no ref), `null` if it does not exist. */
4
+ export declare function useEntity(ref: EntityRef | undefined): Entity | null | undefined;
5
+ /** Returns a function that runs a named command on `ref`: `command('setVolume', { volume: 0.4 })`. */
6
+ export declare function useCommand(ref: EntityRef | undefined): CommandSender;
7
+ /**
8
+ * The handle a card renders from. `source` is an entity ref (resolved live through the client) or a
9
+ * ready-made handle (a custom source, a test) — the id-or-object rule every card follows.
10
+ */
11
+ export declare function useEntityHandle<K extends EntityKind>(kind: K, source: EntityRef | EntityHandle<K>): EntityHandle<K>;
12
+ /** Connection between this browser and the runtime. */
13
+ export declare function useConnectionStatus(): LinkStatus;
14
+ /** Status of the runtime's connection to a backend (`ha`, `ma`, ...). */
15
+ export declare function useIntegrationStatus(integration: string): ConnectionStatus | undefined;
16
+ /** Status of every backend integration the runtime reports, keyed by integration id. */
17
+ export declare function useIntegrationStatuses(): Readonly<Record<string, ConnectionStatus>>;
18
+ /** Runs a backend-specific request no command covers — the escape hatch. Cards never use it. */
19
+ export declare function useCallRaw(): (integration: string, request: Record<string, unknown>) => Promise<unknown>;
package/dist/hooks.js ADDED
@@ -0,0 +1,53 @@
1
+ import { useCallback, useMemo, useSyncExternalStore } from 'react';
2
+ import { toHandle } from './entity-handle.js';
3
+ import { useClient } from './provider.js';
4
+ // Every `subscribe` handed to `useSyncExternalStore` below is memoized: React resubscribes whenever
5
+ // its identity changes, and against a remote runtime each resubscribe is an unsubscribe + subscribe
6
+ // message pair whose reply is a new entity object — which re-renders, which resubscribes, without end.
7
+ /** Live generic entity. `undefined` while loading (or with no ref), `null` if it does not exist. */
8
+ export function useEntity(ref) {
9
+ const client = useClient();
10
+ const subscribe = useCallback((onChange) => (ref ? client.subscribe(ref, onChange) : () => { }), [client, ref]);
11
+ const getSnapshot = useCallback(() => (ref ? client.getEntity(ref) : undefined), [client, ref]);
12
+ return useSyncExternalStore(subscribe, getSnapshot, () => undefined);
13
+ }
14
+ /** Returns a function that runs a named command on `ref`: `command('setVolume', { volume: 0.4 })`. */
15
+ export function useCommand(ref) {
16
+ const client = useClient();
17
+ return useCallback((name, args) => ref ? client.command(ref, name, args) : Promise.reject(new Error('No entity to command')), [client, ref]);
18
+ }
19
+ /**
20
+ * The handle a card renders from. `source` is an entity ref (resolved live through the client) or a
21
+ * ready-made handle (a custom source, a test) — the id-or-object rule every card follows.
22
+ */
23
+ export function useEntityHandle(kind, source) {
24
+ const ref = typeof source === 'string' ? source : undefined;
25
+ const entity = useEntity(ref);
26
+ const send = useCommand(ref);
27
+ const live = useMemo(() => toHandle(kind, entity, send), [kind, entity, send]);
28
+ return typeof source === 'string' ? live : source;
29
+ }
30
+ /** Connection between this browser and the runtime. */
31
+ export function useConnectionStatus() {
32
+ const client = useClient();
33
+ const subscribe = useCallback((onChange) => client.onLinkChange(onChange), [client]);
34
+ return useSyncExternalStore(subscribe, () => client.link, () => 'closed');
35
+ }
36
+ /** Status of the runtime's connection to a backend (`ha`, `ma`, ...). */
37
+ export function useIntegrationStatus(integration) {
38
+ const client = useClient();
39
+ const subscribe = useCallback((onChange) => client.onIntegrationStatusChange(onChange), [client]);
40
+ return useSyncExternalStore(subscribe, () => client.getIntegrationStatus(integration), () => undefined);
41
+ }
42
+ const NO_STATUSES = {};
43
+ /** Status of every backend integration the runtime reports, keyed by integration id. */
44
+ export function useIntegrationStatuses() {
45
+ const client = useClient();
46
+ const subscribe = useCallback((onChange) => client.onIntegrationStatusChange(onChange), [client]);
47
+ return useSyncExternalStore(subscribe, () => client.getIntegrationStatuses(), () => NO_STATUSES);
48
+ }
49
+ /** Runs a backend-specific request no command covers — the escape hatch. Cards never use it. */
50
+ export function useCallRaw() {
51
+ const client = useClient();
52
+ return useCallback((integration, request) => client.callRaw(integration, request), [client]);
53
+ }
@@ -0,0 +1 @@
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../src/hooks.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,OAAO,EAAE,oBAAoB,EAAE,MAAM,OAAO,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAyC,MAAM,oBAAoB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,eAAgB,CAAC;AAE3C,oGAAoG;AACpG,oGAAoG;AACpG,uGAAuG;AAEvG,oGAAoG;AACpG,MAAM,UAAU,SAAS,CAAC,GAA0B;IAClD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,QAAoB,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,EAC5E,CAAC,MAAM,EAAE,GAAG,CAAC,CACd,CAAC;IAEF,MAAM,WAAW,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAAC;IAChG,OAAO,oBAAoB,CAAC,SAAS,EAAE,WAAW,EAAE,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;AACvE,CAAC;AAED,sGAAsG;AACtG,MAAM,UAAU,UAAU,CAAC,GAA0B;IACnD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,WAAW,CAChB,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CACb,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,sBAAsB,CAAC,CAAC,EAC3F,CAAC,MAAM,EAAE,GAAG,CAAC,CACd,CAAC;AACJ,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,IAAO,EACP,MAAmC;IAEnC,MAAM,GAAG,GAAG,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC;IAC5D,MAAM,MAAM,GAAG,SAAS,CAAC,GAAG,CAAC,CAAC;IAC9B,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAC,CAAC;IAC7B,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC;AACpD,CAAC;AAED,uDAAuD;AACvD,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,WAAW,CAAC,CAAC,QAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC;IACjG,OAAO,oBAAoB,CACzB,SAAS,EACT,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,EACjB,GAAG,EAAE,CAAC,QAAiB,CACxB,CAAC;AACJ,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,WAAmB;IACtD,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,QAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EACpE,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO,oBAAoB,CACzB,SAAS,EACT,GAAG,EAAE,CAAC,MAAM,CAAC,oBAAoB,CAAC,WAAW,CAAC,EAC9C,GAAG,EAAE,CAAC,SAAS,CAChB,CAAC;AACJ,CAAC;AAED,MAAM,WAAW,GAA+C,EAAE,CAAC;AAEnE,wFAAwF;AACxF,MAAM,UAAU,sBAAsB;IACpC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,MAAM,SAAS,GAAG,WAAW,CAC3B,CAAC,QAAoB,EAAE,EAAE,CAAC,MAAM,CAAC,yBAAyB,CAAC,QAAQ,CAAC,EACpE,CAAC,MAAM,CAAC,CACT,CAAC;IAEF,OAAO,oBAAoB,CACzB,SAAS,EACT,GAAG,EAAE,CAAC,MAAM,CAAC,sBAAsB,EAAE,EACrC,GAAG,EAAE,CAAC,WAAW,CAClB,CAAC;AACJ,CAAC;AAED,gGAAgG;AAChG,MAAM,UAAU,UAAU;IACxB,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;IAC3B,OAAO,WAAW,CAChB,CAAC,WAAmB,EAAE,OAAgC,EAAE,EAAE,CAAC,MAAM,CAAC,OAAO,CAAC,WAAW,EAAE,OAAO,CAAC,EAC/F,CAAC,MAAM,CAAC,CACT,CAAC;AACJ,CAAC"}
@@ -0,0 +1,6 @@
1
+ /** An SVG child element: its tag name and attributes, e.g. `['path', { d: '...' }]`. */
2
+ export type IconNode = readonly [tag: string, attrs: Record<string, string>];
3
+ export declare const ICON_NODES: Record<string, readonly IconNode[]>;
4
+ /** An icon id, e.g. `'lu:lightbulb'`, `'tb:vacuum-cleaner'` — see `ICON_NODES` for how exact-name
5
+ * checking is traded for compiler speed here. */
6
+ export type IconName = `lu:${string}` | `tb:${string}`;