@camstack/ui-library 1.2.256 → 1.2.258

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 (375) hide show
  1. package/dist/composites/accelerator-label.d.ts +9 -9
  2. package/dist/composites/adaptive-downlink.d.ts +141 -143
  3. package/dist/composites/addon-global-settings-form.d.ts +73 -60
  4. package/dist/composites/addon-page-props.d.ts +34 -10
  5. package/dist/composites/agent-step-editor.d.ts +48 -47
  6. package/dist/composites/app-shell/app-shell.d.ts +17 -17
  7. package/dist/composites/app-shell/index.d.ts +3 -3
  8. package/dist/composites/app-shell/sidebar-item.d.ts +9 -8
  9. package/dist/composites/app-shell/sidebar.d.ts +10 -10
  10. package/dist/composites/audio-classification-list.d.ts +16 -15
  11. package/dist/composites/audio-level-waveform.d.ts +31 -30
  12. package/dist/composites/audio-waveform.d.ts +18 -17
  13. package/dist/composites/battery-badge.d.ts +27 -13
  14. package/dist/composites/breadcrumb.d.ts +21 -21
  15. package/dist/composites/camera-stream-player.d.ts +309 -309
  16. package/dist/composites/cap-settings/AutotrackSection.d.ts +19 -2
  17. package/dist/composites/cap-settings/CameraGridLayoutEditor.d.ts +24 -2
  18. package/dist/composites/cap-settings/ConsumablesPanel.d.ts +21 -2
  19. package/dist/composites/cap-settings/CoverageTrack.d.ts +21 -20
  20. package/dist/composites/cap-settings/EventBucketStrip.d.ts +21 -20
  21. package/dist/composites/cap-settings/EventHeatmap.d.ts +8 -7
  22. package/dist/composites/cap-settings/HomePresetPicker.d.ts +2 -2
  23. package/dist/composites/cap-settings/MaskShapeCanvas.d.ts +143 -41
  24. package/dist/composites/cap-settings/MotionZonesSettings.d.ts +41 -2
  25. package/dist/composites/cap-settings/NavigationPanel.d.ts +14 -2
  26. package/dist/composites/cap-settings/PrivacyMaskSettings.d.ts +3 -2
  27. package/dist/composites/cap-settings/PtzPanel.d.ts +15 -2
  28. package/dist/composites/cap-settings/RecordingBandsEditor.d.ts +33 -32
  29. package/dist/composites/cap-settings/RecordingPanel.d.ts +3 -2
  30. package/dist/composites/cap-settings/RecordingSettings.d.ts +11 -10
  31. package/dist/composites/cap-settings/RecordingTimeline.d.ts +3 -2
  32. package/dist/composites/cap-settings/SceneMonitorEditor.d.ts +3 -51
  33. package/dist/composites/cap-settings/SceneReferenceGallery.d.ts +62 -23
  34. package/dist/composites/cap-settings/SceneSettingsForm.d.ts +52 -16
  35. package/dist/composites/cap-settings/TimelineControls.d.ts +21 -20
  36. package/dist/composites/cap-settings/camera-grid-layout.d.ts +95 -95
  37. package/dist/composites/cap-settings/event-thumb.d.ts +9 -8
  38. package/dist/composites/cap-settings/index.d.ts +20 -20
  39. package/dist/composites/cap-settings/privacy-mask-audio.d.ts +47 -47
  40. package/dist/composites/cap-settings/recording-config-form.d.ts +25 -25
  41. package/dist/composites/cap-settings/recording-spans.d.ts +14 -14
  42. package/dist/composites/cap-settings/recording-timeline-model.d.ts +57 -57
  43. package/dist/composites/cap-settings/scene-monitor-copy.d.ts +58 -49
  44. package/dist/composites/client-network-sample.d.ts +41 -41
  45. package/dist/composites/clips/ClipBandBar.d.ts +44 -14
  46. package/dist/composites/clips/ClipPanel.d.ts +30 -6
  47. package/dist/composites/clips/ClipTile.d.ts +26 -5
  48. package/dist/composites/clips/ClipsSection.d.ts +107 -2
  49. package/dist/composites/clips/clip-band.d.ts +72 -38
  50. package/dist/composites/clips/clip-day-window.d.ts +7 -30
  51. package/dist/composites/clips/clip-source-state.d.ts +55 -26
  52. package/dist/composites/clips/clip-still-retry.d.ts +39 -39
  53. package/dist/composites/clips/clip-thumbnail-fetch.d.ts +9 -9
  54. package/dist/composites/clips/clip-tile-media.d.ts +64 -32
  55. package/dist/composites/clips/clip-view-state.d.ts +76 -46
  56. package/dist/composites/code-block.d.ts +5 -4
  57. package/dist/composites/config-form-builder.d.ts +14 -13
  58. package/dist/composites/config-form-field.d.ts +63 -62
  59. package/dist/composites/config-icon-field.d.ts +10 -9
  60. package/dist/composites/config-secret-field.d.ts +51 -27
  61. package/dist/composites/confirm-action-button.d.ts +52 -39
  62. package/dist/composites/confirm-dialog.d.ts +110 -48
  63. package/dist/composites/copy-button.d.ts +25 -19
  64. package/dist/composites/data-table/data-table-header.d.ts +8 -7
  65. package/dist/composites/data-table/data-table-pagination.d.ts +7 -6
  66. package/dist/composites/data-table/data-table-row.d.ts +8 -7
  67. package/dist/composites/data-table/data-table.d.ts +3 -2
  68. package/dist/composites/data-table/index.d.ts +2 -2
  69. package/dist/composites/data-table/types.d.ts +29 -29
  70. package/dist/composites/data-table-filter-bar.d.ts +30 -29
  71. package/dist/composites/data-table-filter.d.ts +34 -34
  72. package/dist/composites/data-table-layout.d.ts +24 -24
  73. package/dist/composites/data-table-pager.d.ts +5 -5
  74. package/dist/composites/data-table-pagination.d.ts +23 -23
  75. package/dist/composites/data-table-selection.d.ts +10 -10
  76. package/dist/composites/data-table.d.ts +167 -118
  77. package/dist/composites/detection-canvas.d.ts +34 -25
  78. package/dist/composites/detection-colors.d.ts +9 -9
  79. package/dist/composites/detection-overlay.d.ts +33 -32
  80. package/dist/composites/detection-result-tree.d.ts +22 -9
  81. package/dist/composites/dev-shell.d.ts +15 -14
  82. package/dist/composites/device-activity-panel.d.ts +37 -31
  83. package/dist/composites/device-card.d.ts +32 -32
  84. package/dist/composites/device-controls/ac-panel.d.ts +2 -2
  85. package/dist/composites/device-controls/alarm-hero-card.d.ts +42 -42
  86. package/dist/composites/device-controls/atoms.d.ts +50 -50
  87. package/dist/composites/device-controls/brightness-panel.d.ts +3 -3
  88. package/dist/composites/device-controls/button-control.d.ts +14 -14
  89. package/dist/composites/device-controls/climate-panel.d.ts +12 -12
  90. package/dist/composites/device-controls/container-primary-hero.d.ts +33 -16
  91. package/dist/composites/device-controls/container-primary.d.ts +68 -39
  92. package/dist/composites/device-controls/control-panel.d.ts +4 -4
  93. package/dist/composites/device-controls/control-registry.d.ts +81 -70
  94. package/dist/composites/device-controls/cover-hero-card.d.ts +26 -26
  95. package/dist/composites/device-controls/cover-inline.d.ts +20 -20
  96. package/dist/composites/device-controls/cover-panel.d.ts +2 -2
  97. package/dist/composites/device-controls/dummy-hero-card.d.ts +2 -2
  98. package/dist/composites/device-controls/fan-hero-card.d.ts +20 -20
  99. package/dist/composites/device-controls/fan-panel.d.ts +3 -3
  100. package/dist/composites/device-controls/humidifier-control.d.ts +46 -29
  101. package/dist/composites/device-controls/image-control.d.ts +41 -27
  102. package/dist/composites/device-controls/index.d.ts +34 -34
  103. package/dist/composites/device-controls/lawn-mower-control.d.ts +30 -16
  104. package/dist/composites/device-controls/light-hero-card.d.ts +15 -15
  105. package/dist/composites/device-controls/lock-hero-card.d.ts +14 -14
  106. package/dist/composites/device-controls/lock-panel.d.ts +3 -3
  107. package/dist/composites/device-controls/media-player-hero-card.d.ts +16 -16
  108. package/dist/composites/device-controls/media-player-panel.d.ts +7 -7
  109. package/dist/composites/device-controls/offline-badge.d.ts +23 -8
  110. package/dist/composites/device-controls/panel-controls.d.ts +39 -20
  111. package/dist/composites/device-controls/pet-feeder-panel.d.ts +27 -9
  112. package/dist/composites/device-controls/popover-row-action.d.ts +18 -6
  113. package/dist/composites/device-controls/primary-child-picker.d.ts +31 -15
  114. package/dist/composites/device-controls/primary-child.d.ts +14 -25
  115. package/dist/composites/device-controls/radial-gauge.d.ts +17 -17
  116. package/dist/composites/device-controls/script-automation-controls.d.ts +9 -9
  117. package/dist/composites/device-controls/sensor-hero-card.d.ts +26 -8
  118. package/dist/composites/device-controls/sensor-inline-control.d.ts +21 -9
  119. package/dist/composites/device-controls/sensor-value-atom.d.ts +97 -76
  120. package/dist/composites/device-controls/switch-hero-card.d.ts +11 -11
  121. package/dist/composites/device-controls/switch-panel.d.ts +2 -2
  122. package/dist/composites/device-controls/tap-toggle.d.ts +13 -13
  123. package/dist/composites/device-controls/thermostat-hero-card.d.ts +16 -16
  124. package/dist/composites/device-controls/types.d.ts +11 -11
  125. package/dist/composites/device-controls/update-control.d.ts +20 -7
  126. package/dist/composites/device-controls/vacuum-control.d.ts +41 -25
  127. package/dist/composites/device-controls/valve-control.d.ts +51 -35
  128. package/dist/composites/device-controls/water-heater-control.d.ts +48 -31
  129. package/dist/composites/device-controls/weather-control.d.ts +46 -28
  130. package/dist/composites/device-export-panel.d.ts +34 -34
  131. package/dist/composites/device-grid.d.ts +10 -10
  132. package/dist/composites/device-item/actions.d.ts +40 -18
  133. package/dist/composites/device-item/admin-link-quick-action.d.ts +66 -26
  134. package/dist/composites/device-item/child-layout.d.ts +43 -26
  135. package/dist/composites/device-item/child-section-accordion.d.ts +20 -6
  136. package/dist/composites/device-item/children-accordion.d.ts +11 -11
  137. package/dist/composites/device-item/container-children-context.d.ts +28 -11
  138. package/dist/composites/device-item/device-delete-action.d.ts +23 -5
  139. package/dist/composites/device-item/features.d.ts +33 -15
  140. package/dist/composites/device-item/header.d.ts +53 -31
  141. package/dist/composites/device-item/helpers.d.ts +291 -274
  142. package/dist/composites/device-item/index.d.ts +18 -9
  143. package/dist/composites/device-item/preview.d.ts +41 -21
  144. package/dist/composites/device-item/quick-detail-action.d.ts +4 -4
  145. package/dist/composites/device-item/reboot-quick-action.d.ts +28 -7
  146. package/dist/composites/device-item/role-display-defaults-context.d.ts +28 -12
  147. package/dist/composites/device-item/status-dot.d.ts +24 -6
  148. package/dist/composites/device-list/batch-actions-bar.d.ts +23 -12
  149. package/dist/composites/device-list/batch-toolbar.d.ts +13 -13
  150. package/dist/composites/device-list/columns.d.ts +108 -108
  151. package/dist/composites/device-list/device-integration.d.ts +48 -58
  152. package/dist/composites/device-list/device-mode.d.ts +121 -121
  153. package/dist/composites/device-list/empty-state.d.ts +14 -3
  154. package/dist/composites/device-list/filter-chips.d.ts +42 -29
  155. package/dist/composites/device-list/fuzzy-match.d.ts +22 -22
  156. package/dist/composites/device-list/generic-mode.d.ts +88 -88
  157. package/dist/composites/device-list/group.d.ts +62 -35
  158. package/dist/composites/device-list/hardware-cell.d.ts +14 -3
  159. package/dist/composites/device-list/hardware.d.ts +29 -11
  160. package/dist/composites/device-list/icon-action.d.ts +27 -15
  161. package/dist/composites/device-list/index.d.ts +46 -23
  162. package/dist/composites/device-list/multi-select.d.ts +17 -17
  163. package/dist/composites/device-list/page-size-select.d.ts +13 -7
  164. package/dist/composites/device-list/pagination.d.ts +19 -12
  165. package/dist/composites/device-list/sort.d.ts +28 -15
  166. package/dist/composites/device-list/sortable-header.d.ts +20 -7
  167. package/dist/composites/device-list/table-layout.d.ts +44 -44
  168. package/dist/composites/device-list/type-filter.d.ts +16 -16
  169. package/dist/composites/device-list/url-state.d.ts +35 -35
  170. package/dist/composites/device-meta.d.ts +43 -43
  171. package/dist/composites/device-picker/DevicePicker.d.ts +72 -33
  172. package/dist/composites/device-picker/SelectedChip.d.ts +10 -9
  173. package/dist/composites/device-picker/device-filter-bar.d.ts +19 -18
  174. package/dist/composites/device-picker/device-fleet-view.d.ts +11 -3
  175. package/dist/composites/device-picker/device-parent.d.ts +27 -27
  176. package/dist/composites/device-picker/device-picker-grouping.d.ts +3 -3
  177. package/dist/composites/device-picker/device-picker-model.d.ts +140 -140
  178. package/dist/composites/device-picker/device-selection-rows.d.ts +31 -24
  179. package/dist/composites/device-picker/device-selection.d.ts +43 -43
  180. package/dist/composites/device-picker/index.d.ts +9 -9
  181. package/dist/composites/device-select-field.d.ts +17 -16
  182. package/dist/composites/device-select-filter.d.ts +78 -78
  183. package/dist/composites/device-selector-picker.d.ts +25 -25
  184. package/dist/composites/device-step-matrix.d.ts +54 -28
  185. package/dist/composites/discovery-panel.d.ts +22 -22
  186. package/dist/composites/doorbell-recent-panel.d.ts +9 -8
  187. package/dist/composites/empty-state.d.ts +8 -8
  188. package/dist/composites/error-box.d.ts +32 -17
  189. package/dist/composites/event-kind-visuals.d.ts +29 -18
  190. package/dist/composites/event-stream.d.ts +59 -42
  191. package/dist/composites/extensions/AssociationSlotCard.d.ts +45 -24
  192. package/dist/composites/extensions/ExtensionsPanel.d.ts +41 -18
  193. package/dist/composites/extensions/extensions-view-state.d.ts +71 -53
  194. package/dist/composites/filter-bar.d.ts +22 -21
  195. package/dist/composites/form-field.d.ts +9 -9
  196. package/dist/composites/format-state-value.d.ts +23 -51
  197. package/dist/composites/grouped-model-selector.d.ts +7 -6
  198. package/dist/composites/hls-quality.d.ts +26 -26
  199. package/dist/composites/hls-video.d.ts +62 -39
  200. package/dist/composites/hover-zoom-image.d.ts +35 -16
  201. package/dist/composites/icon-picker.d.ts +86 -50
  202. package/dist/composites/image-selector.d.ts +21 -20
  203. package/dist/composites/index.d.ts +204 -204
  204. package/dist/composites/inference-config-selector.d.ts +36 -35
  205. package/dist/composites/kebab-menu.d.ts +53 -35
  206. package/dist/composites/key-value-list.d.ts +14 -14
  207. package/dist/composites/log-stream-scroll.d.ts +24 -24
  208. package/dist/composites/log-stream.d.ts +81 -70
  209. package/dist/composites/login-form.d.ts +7 -6
  210. package/dist/composites/model-bound-slider.d.ts +46 -26
  211. package/dist/composites/model-picker.d.ts +20 -19
  212. package/dist/composites/mount-addon-page.d.ts +12 -12
  213. package/dist/composites/network-link-badge.d.ts +7 -6
  214. package/dist/composites/node-picker.d.ts +14 -13
  215. package/dist/composites/notification-targets-field.d.ts +76 -58
  216. package/dist/composites/notification-targets-options.d.ts +9 -6
  217. package/dist/composites/option-select/OptionSelect.d.ts +23 -22
  218. package/dist/composites/option-select/index.d.ts +4 -4
  219. package/dist/composites/option-select/option-select-model.d.ts +35 -35
  220. package/dist/composites/page-header.d.ts +6 -6
  221. package/dist/composites/peer-connection-config.d.ts +9 -9
  222. package/dist/composites/phase-icon.d.ts +10 -3
  223. package/dist/composites/pipeline-builder.d.ts +21 -13
  224. package/dist/composites/pipeline-matrix-shared.d.ts +159 -150
  225. package/dist/composites/pipeline-runtime-selector.d.ts +12 -11
  226. package/dist/composites/pipeline-step.d.ts +39 -31
  227. package/dist/composites/placeholder-field/PlaceholderChipField.d.ts +23 -22
  228. package/dist/composites/placeholder-field/index.d.ts +1 -1
  229. package/dist/composites/provider-badge.d.ts +6 -5
  230. package/dist/composites/ptz-overlay.d.ts +38 -18
  231. package/dist/composites/qr-code.d.ts +24 -10
  232. package/dist/composites/reconnect-schedule.d.ts +22 -22
  233. package/dist/composites/resolve-step-default-model.d.ts +94 -94
  234. package/dist/composites/response-log.d.ts +7 -6
  235. package/dist/composites/root-model-source.d.ts +21 -10
  236. package/dist/composites/scope-picker.d.ts +49 -25
  237. package/dist/composites/section-card.d.ts +19 -11
  238. package/dist/composites/setting-row.d.ts +39 -21
  239. package/dist/composites/snapshot-button.d.ts +23 -19
  240. package/dist/composites/sort-header-button.d.ts +25 -8
  241. package/dist/composites/stat-card.d.ts +20 -8
  242. package/dist/composites/state-values-stream.d.ts +49 -24
  243. package/dist/composites/status-badge.d.ts +10 -8
  244. package/dist/composites/step-inspector/gate-control.d.ts +13 -12
  245. package/dist/composites/step-inspector/index.d.ts +8 -8
  246. package/dist/composites/step-inspector/layered-settings-form.d.ts +41 -30
  247. package/dist/composites/step-inspector/segmented-choice.d.ts +8 -7
  248. package/dist/composites/step-inspector/setting-values.d.ts +13 -8
  249. package/dist/composites/step-inspector/step-detail-dock.d.ts +39 -23
  250. package/dist/composites/step-inspector/step-inspector-panel.d.ts +34 -28
  251. package/dist/composites/step-inspector/step-model-row.d.ts +29 -24
  252. package/dist/composites/step-inspector/step-search.d.ts +11 -11
  253. package/dist/composites/step-timings.d.ts +7 -6
  254. package/dist/composites/step-tree.d.ts +17 -12
  255. package/dist/composites/stream-broker-selector.d.ts +29 -8
  256. package/dist/composites/stream-debug/stream-debug-overlay.d.ts +40 -40
  257. package/dist/composites/stream-debug/webrtc-debug-stats.d.ts +144 -129
  258. package/dist/composites/stream-panel.d.ts +212 -201
  259. package/dist/composites/table-sort.d.ts +61 -61
  260. package/dist/composites/timezone-selector.d.ts +15 -13
  261. package/dist/composites/training/send-frame-to-training.d.ts +5 -4
  262. package/dist/composites/training/training-collection-picker.d.ts +4 -3
  263. package/dist/composites/training/training-refusal-text.d.ts +6 -6
  264. package/dist/composites/unit-picker/UnitPicker.d.ts +19 -14
  265. package/dist/composites/unit-picker/index.d.ts +1 -1
  266. package/dist/composites/use-data-table-filter.d.ts +19 -19
  267. package/dist/composites/version-badge.d.ts +19 -18
  268. package/dist/composites/webrtc-diagnostics/EndpointTestCard.d.ts +7 -7
  269. package/dist/composites/webrtc-diagnostics/HubSessionTestCard.d.ts +14 -14
  270. package/dist/composites/webrtc-diagnostics/RunReport.d.ts +10 -5
  271. package/dist/composites/webrtc-diagnostics/endpoint-probe.d.ts +41 -21
  272. package/dist/composites/webrtc-diagnostics/endpoint-test.d.ts +37 -32
  273. package/dist/composites/webrtc-diagnostics/format.d.ts +3 -3
  274. package/dist/composites/webrtc-diagnostics/ice-candidates.d.ts +49 -49
  275. package/dist/composites/webrtc-diagnostics/nat-mapping.d.ts +36 -36
  276. package/dist/composites/webrtc-diagnostics/session-run.d.ts +108 -95
  277. package/dist/composites/webrtc-diagnostics/session-verdict.d.ts +29 -20
  278. package/dist/composites/widget-panel.d.ts +23 -23
  279. package/dist/composites/widget-slot.d.ts +35 -17
  280. package/dist/contexts/custom-field-renderers.d.ts +53 -17
  281. package/dist/contexts/device-context.d.ts +32 -12
  282. package/dist/contexts/device-quick-detail.d.ts +13 -4
  283. package/dist/contexts/player-overlays.d.ts +82 -42
  284. package/dist/contexts/recorded-playback.d.ts +40 -18
  285. package/dist/contexts/system-context.d.ts +28 -13
  286. package/dist/contexts/vod-playback.d.ts +39 -22
  287. package/dist/contexts/widget-registry.d.ts +139 -102
  288. package/dist/contexts/zone-editing.d.ts +69 -46
  289. package/dist/generated/system-hooks.d.ts +17 -1
  290. package/dist/hooks/index.d.ts +43 -43
  291. package/dist/hooks/turn-server-cache.d.ts +69 -69
  292. package/dist/hooks/use-capability-presence.d.ts +65 -28
  293. package/dist/hooks/use-cluster-nodes.d.ts +54 -27
  294. package/dist/hooks/use-device-autotrack.d.ts +7 -7
  295. package/dist/hooks/use-device-battery.d.ts +24 -11
  296. package/dist/hooks/use-device-cap-slice.d.ts +15 -15
  297. package/dist/hooks/use-device-capability.d.ts +61 -27
  298. package/dist/hooks/use-device-detections.d.ts +32 -32
  299. package/dist/hooks/use-device-features.d.ts +18 -18
  300. package/dist/hooks/use-device-list-page-size.d.ts +19 -6
  301. package/dist/hooks/use-device-network-link.d.ts +15 -7
  302. package/dist/hooks/use-device-proxy.d.ts +98 -92
  303. package/dist/hooks/use-device-snapshot.d.ts +23 -23
  304. package/dist/hooks/use-device-webrtc.d.ts +211 -205
  305. package/dist/hooks/use-devices.d.ts +9 -9
  306. package/dist/hooks/use-doorbell-events.d.ts +13 -13
  307. package/dist/hooks/use-event-stream.d.ts +6 -3
  308. package/dist/hooks/use-is-mobile.d.ts +5 -5
  309. package/dist/hooks/use-live-buffer.d.ts +5 -5
  310. package/dist/hooks/use-live-event.d.ts +1 -1
  311. package/dist/hooks/use-navigation.d.ts +20 -20
  312. package/dist/hooks/use-optimistic-slice.d.ts +13 -13
  313. package/dist/hooks/use-persisted-page-size.d.ts +10 -10
  314. package/dist/hooks/use-ptz.d.ts +108 -108
  315. package/dist/hooks/use-stationary-overlay.d.ts +37 -37
  316. package/dist/hooks/use-system-query.d.ts +33 -10
  317. package/dist/hooks/use-url-query.d.ts +3 -3
  318. package/dist/icons/index.d.ts +2 -2
  319. package/dist/icons/provider-icons.d.ts +2 -2
  320. package/dist/icons/status-icons.d.ts +2 -2
  321. package/dist/index.cjs +123 -69
  322. package/dist/index.d.ts +31 -27
  323. package/dist/index.js +123 -69
  324. package/dist/lib/cap-error.d.ts +18 -39
  325. package/dist/lib/cn.d.ts +1 -1
  326. package/dist/lib/fleet-query-defaults.d.ts +68 -34
  327. package/dist/lib/format-control-datetime.d.ts +16 -16
  328. package/dist/lib/format-duration.d.ts +12 -12
  329. package/dist/lib/format-last-seen.d.ts +5 -18
  330. package/dist/lib/format-numeric.d.ts +7 -7
  331. package/dist/lib/hub-mount.d.ts +8 -42
  332. package/dist/lib/index.d.ts +21 -21
  333. package/dist/lib/phase-config.d.ts +24 -11
  334. package/dist/lib/pipeline-mirror.d.ts +16 -16
  335. package/dist/lib/recorded-control-protocol.d.ts +41 -43
  336. package/dist/lib/resolve-sensor-display.d.ts +36 -20
  337. package/dist/lib/responsive.d.ts +54 -54
  338. package/dist/lib/scrub-controller.d.ts +75 -78
  339. package/dist/lib/shared-context.d.ts +27 -2
  340. package/dist/lib/tailwind-variants.d.ts +20 -20
  341. package/dist/primitives/badge.d.ts +5 -10
  342. package/dist/primitives/bottom-sheet.d.ts +7 -7
  343. package/dist/primitives/button.d.ts +5 -9
  344. package/dist/primitives/card.d.ts +4 -8
  345. package/dist/primitives/checkbox.d.ts +3 -4
  346. package/dist/primitives/collapsible-card.d.ts +23 -13
  347. package/dist/primitives/dialog.d.ts +33 -59
  348. package/dist/primitives/dropdown.d.ts +13 -13
  349. package/dist/primitives/floating-panel.d.ts +41 -20
  350. package/dist/primitives/icon-button.d.ts +8 -12
  351. package/dist/primitives/index.d.ts +22 -22
  352. package/dist/primitives/input.d.ts +6 -16
  353. package/dist/primitives/label.d.ts +3 -4
  354. package/dist/primitives/mobile-drawer.d.ts +8 -8
  355. package/dist/primitives/password-input.d.ts +18 -18
  356. package/dist/primitives/popover.d.ts +7 -7
  357. package/dist/primitives/scroll-area.d.ts +3 -4
  358. package/dist/primitives/select.d.ts +20 -20
  359. package/dist/primitives/separator.d.ts +4 -8
  360. package/dist/primitives/skeleton.d.ts +3 -4
  361. package/dist/primitives/switch.d.ts +6 -6
  362. package/dist/primitives/tabs.d.ts +26 -26
  363. package/dist/primitives/tooltip.d.ts +12 -12
  364. package/dist/theme/create-theme.d.ts +1 -1
  365. package/dist/theme/defaults.d.ts +1 -1
  366. package/dist/theme/index.d.ts +6 -6
  367. package/dist/theme/theme-provider.d.ts +8 -7
  368. package/dist/theme/theme-to-css.d.ts +1 -1
  369. package/dist/theme/types.d.ts +98 -100
  370. package/dist/theme/use-theme-mode.d.ts +1 -1
  371. package/dist/trpc-react.d.ts +23 -3
  372. package/dist/widgets/host-widgets.d.ts +4 -4
  373. package/package.json +8 -4
  374. package/src/tailwind/camstack-theme.css +11 -0
  375. package/dist/composites/unit-picker/UnitPicker.spec.d.ts +0 -1
@@ -1,229 +1,235 @@
1
- import { CamProfile, WebrtcSessionDebug } from '@camstack/types';
2
- import { StreamChoice } from '../composites/stream-panel';
3
- import { ClientStreamHints, SignalingResult, ClientOfferResult } from '../composites/camera-stream-player';
4
- import { ApplyDownlinkProbe, DownlinkProbeAnswer } from '../composites/adaptive-downlink';
1
+ import type { CamProfile, WebrtcSessionDebug } from "@camstack/types";
2
+ import type { StreamChoice } from "../composites/stream-panel";
3
+ import type { ClientStreamHints, SignalingResult, ClientOfferResult } from "../composites/camera-stream-player";
4
+ import type { ApplyDownlinkProbe, DownlinkProbeAnswer } from "../composites/adaptive-downlink";
5
5
  /**
6
- * Discriminated WebRTC target — same shape as `WebrtcStreamTarget` on
7
- * the backend cap. The `profile` tier uses the canonical `CamProfile`
8
- * enum so an invalid tier is a compile error.
9
- */
6
+ * Discriminated WebRTC target — same shape as `WebrtcStreamTarget` on
7
+ * the backend cap. The `profile` tier uses the canonical `CamProfile`
8
+ * enum so an invalid tier is a compile error.
9
+ */
10
10
  export type WebrtcTarget = {
11
- readonly kind: 'adaptive';
11
+ readonly kind: "adaptive";
12
12
  } | {
13
- readonly kind: 'profile';
14
- readonly profile: CamProfile;
13
+ readonly kind: "profile";
14
+ readonly profile: CamProfile;
15
15
  } | {
16
- readonly kind: 'cam-stream';
17
- readonly camStreamId: string;
16
+ readonly kind: "cam-stream";
17
+ readonly camStreamId: string;
18
18
  };
19
19
  /** Mutation call shape: `.mutate(input)` → Promise. */
20
- interface MutateFn<I, O> {
21
- mutate(input: I): Promise<O>;
20
+ interface MutateFn<
21
+ I,
22
+ O
23
+ > {
24
+ mutate(input: I): Promise<O>;
22
25
  }
23
26
  /** Query call shape: `.query(input?)` → Promise. */
24
- interface QueryFn<I, O> {
25
- query(input: I): Promise<O>;
27
+ interface QueryFn<
28
+ I,
29
+ O
30
+ > {
31
+ query(input: I): Promise<O>;
26
32
  }
27
33
  interface StreamChoiceRow {
28
- readonly id: string;
29
- readonly label: string;
30
- readonly target: WebrtcTarget;
31
- readonly codec: string | null;
32
- readonly resolution: {
33
- width: number;
34
- height: number;
35
- } | null;
36
- readonly status: string | null;
37
- readonly inputFps: number | null;
38
- readonly bitrateKbps: number | null;
34
+ readonly id: string;
35
+ readonly label: string;
36
+ readonly target: WebrtcTarget;
37
+ readonly codec: string | null;
38
+ readonly resolution: {
39
+ width: number;
40
+ height: number;
41
+ } | null;
42
+ readonly status: string | null;
43
+ readonly inputFps: number | null;
44
+ readonly bitrateKbps: number | null;
39
45
  }
40
46
  /**
41
- * Minimal subset of the tRPC proxy needed for WebRTC signaling.
42
- * Both `BackendClient.trpc` and `AddonPageProps['trpc']` satisfy this
43
- * at runtime.
44
- */
47
+ * Minimal subset of the tRPC proxy needed for WebRTC signaling.
48
+ * Both `BackendClient.trpc` and `AddonPageProps['trpc']` satisfy this
49
+ * at runtime.
50
+ */
45
51
  export interface UseDeviceWebrtcTrpc {
46
- webrtcSession: {
47
- listStreams: QueryFn<{
48
- deviceId: number;
49
- }, readonly StreamChoiceRow[]>;
50
- createSession: MutateFn<{
51
- deviceId: number;
52
- target: WebrtcTarget;
53
- hints?: ClientStreamHints;
54
- }, {
55
- sessionId: string;
56
- sdpOffer: string;
57
- }>;
58
- /**
59
- * Client-offer signaling: the browser builds the SDP offer (advertising
60
- * its native decode caps) and the server answers. The dual of
61
- * `createSession`; lets iOS pass H.264 High/Main through untouched.
62
- */
63
- handleOffer: MutateFn<{
64
- deviceId: number;
65
- target: WebrtcTarget;
66
- sdpOffer: string;
67
- sessionId?: string;
68
- hints?: ClientStreamHints;
69
- }, {
70
- sessionId: string;
71
- sdpAnswer: string;
72
- }>;
73
- handleAnswer: MutateFn<{
74
- deviceId: number;
75
- sessionId: string;
76
- sdpAnswer: string;
77
- }, void>;
78
- /** Trickle ICE — push a client candidate to the server. */
79
- addIceCandidate: MutateFn<{
80
- deviceId: number;
81
- sessionId: string;
82
- candidate: string;
83
- sdpMid?: string | null;
84
- sdpMLineIndex?: number | null;
85
- }, void>;
86
- /** Trickle ICE — poll the server's gathered candidates. */
87
- getIceCandidates: QueryFn<{
88
- deviceId: number;
89
- sessionId: string;
90
- }, {
91
- candidates: {
92
- candidate: string;
93
- sdpMid: string | null;
94
- sdpMLineIndex: number | null;
95
- }[];
96
- done: boolean;
97
- }>;
98
- closeSession: MutateFn<{
99
- deviceId: number;
100
- sessionId: string;
101
- }, void>;
102
- /**
103
- * Poll the live signaling state of a session. `pendingRenegotiation`
104
- * is non-null after the server swaps the broker source to a different
105
- * tier (adaptive downgrade) — the client must re-offer on the same
106
- * `sessionId`; `epoch` guards against acting on a stale poll twice.
107
- */
108
- getSessionState: QueryFn<{
109
- deviceId: number;
110
- sessionId: string;
111
- }, {
112
- pendingRenegotiation: {
113
- target: WebrtcTarget;
114
- epoch: number;
115
- } | null;
116
- }>;
117
- /** The SERVER's account of a live session, for the stream-debug overlay.
118
- * Read-only; the overlay polls it at ~1 Hz only while it is visible. */
119
- getSessionDebug: QueryFn<{
120
- deviceId: number;
121
- sessionId: string;
122
- }, WebrtcSessionDebug>;
123
- /**
124
- * Hand the viewer's downlink probe to ONE live session (D733). Optional:
125
- * a hub built before it has no such route, and the player then keeps its
126
- * legacy probe climb (a second session).
127
- */
128
- applyDownlinkProbe?: MutateFn<{
129
- deviceId: number;
130
- sessionId: string;
131
- downlinkMbps: number;
132
- }, DownlinkProbeAnswer>;
133
- };
134
- pipelineOrchestrator?: {
135
- getCameraMetrics: QueryFn<{
136
- deviceId: number;
137
- }, {
138
- phase: string;
139
- actualFps: number;
140
- avgInferenceTimeMs: number;
141
- droppedFrames: number;
142
- configuredFps: number;
143
- } | null>;
144
- };
145
- /** Optional: aggregated STUN/TURN servers (e.g. cloudflare-turn). When
146
- * present, the client uses them so it can gather a reachable relay
147
- * candidate for remote (CGNAT/mobile) viewing. */
148
- turnProvider?: {
149
- getTurnServers: QueryFn<void, readonly {
150
- urls: string | readonly string[];
151
- username?: string;
152
- credential?: string;
153
- }[]>;
154
- };
52
+ webrtcSession: {
53
+ listStreams: QueryFn<{
54
+ deviceId: number;
55
+ }, readonly StreamChoiceRow[]>;
56
+ createSession: MutateFn<{
57
+ deviceId: number;
58
+ target: WebrtcTarget;
59
+ hints?: ClientStreamHints;
60
+ }, {
61
+ sessionId: string;
62
+ sdpOffer: string;
63
+ }>;
64
+ /**
65
+ * Client-offer signaling: the browser builds the SDP offer (advertising
66
+ * its native decode caps) and the server answers. The dual of
67
+ * `createSession`; lets iOS pass H.264 High/Main through untouched.
68
+ */
69
+ handleOffer: MutateFn<{
70
+ deviceId: number;
71
+ target: WebrtcTarget;
72
+ sdpOffer: string;
73
+ sessionId?: string;
74
+ hints?: ClientStreamHints;
75
+ }, {
76
+ sessionId: string;
77
+ sdpAnswer: string;
78
+ }>;
79
+ handleAnswer: MutateFn<{
80
+ deviceId: number;
81
+ sessionId: string;
82
+ sdpAnswer: string;
83
+ }, void>;
84
+ /** Trickle ICE — push a client candidate to the server. */
85
+ addIceCandidate: MutateFn<{
86
+ deviceId: number;
87
+ sessionId: string;
88
+ candidate: string;
89
+ sdpMid?: string | null;
90
+ sdpMLineIndex?: number | null;
91
+ }, void>;
92
+ /** Trickle ICE — poll the server's gathered candidates. */
93
+ getIceCandidates: QueryFn<{
94
+ deviceId: number;
95
+ sessionId: string;
96
+ }, {
97
+ candidates: {
98
+ candidate: string;
99
+ sdpMid: string | null;
100
+ sdpMLineIndex: number | null;
101
+ }[];
102
+ done: boolean;
103
+ }>;
104
+ closeSession: MutateFn<{
105
+ deviceId: number;
106
+ sessionId: string;
107
+ }, void>;
108
+ /**
109
+ * Poll the live signaling state of a session. `pendingRenegotiation`
110
+ * is non-null after the server swaps the broker source to a different
111
+ * tier (adaptive downgrade) — the client must re-offer on the same
112
+ * `sessionId`; `epoch` guards against acting on a stale poll twice.
113
+ */
114
+ getSessionState: QueryFn<{
115
+ deviceId: number;
116
+ sessionId: string;
117
+ }, {
118
+ pendingRenegotiation: {
119
+ target: WebrtcTarget;
120
+ epoch: number;
121
+ } | null;
122
+ }>;
123
+ /** The SERVER's account of a live session, for the stream-debug overlay.
124
+ * Read-only; the overlay polls it at ~1 Hz only while it is visible. */
125
+ getSessionDebug: QueryFn<{
126
+ deviceId: number;
127
+ sessionId: string;
128
+ }, WebrtcSessionDebug>;
129
+ /**
130
+ * Hand the viewer's downlink probe to ONE live session (D733). Optional:
131
+ * a hub built before it has no such route, and the player then keeps its
132
+ * legacy probe climb (a second session).
133
+ */
134
+ applyDownlinkProbe?: MutateFn<{
135
+ deviceId: number;
136
+ sessionId: string;
137
+ downlinkMbps: number;
138
+ }, DownlinkProbeAnswer>;
139
+ };
140
+ pipelineOrchestrator?: {
141
+ getCameraMetrics: QueryFn<{
142
+ deviceId: number;
143
+ }, {
144
+ phase: string;
145
+ actualFps: number;
146
+ avgInferenceTimeMs: number;
147
+ droppedFrames: number;
148
+ configuredFps: number;
149
+ } | null>;
150
+ };
151
+ /** Optional: aggregated STUN/TURN servers (e.g. cloudflare-turn). When
152
+ * present, the client uses them so it can gather a reachable relay
153
+ * candidate for remote (CGNAT/mobile) viewing. */
154
+ turnProvider?: {
155
+ getTurnServers: QueryFn<void, readonly {
156
+ urls: string | readonly string[];
157
+ username?: string;
158
+ credential?: string;
159
+ }[]>;
160
+ };
155
161
  }
156
162
  /** Pipeline detection metrics for a device. */
157
163
  export interface DevicePipelineMetrics {
158
- readonly phase: string;
159
- readonly detectionFps: number;
160
- readonly avgInferenceMs: number;
161
- readonly droppedFrames: number;
164
+ readonly phase: string;
165
+ readonly detectionFps: number;
166
+ readonly avgInferenceMs: number;
167
+ readonly droppedFrames: number;
162
168
  }
163
169
  export interface DeviceWebrtcResult {
164
- /** Available stream choices for the dropdown (Adaptive + assigned profiles). */
165
- readonly streams: readonly StreamChoice[];
166
- /** Whether the device has at least one assigned profile (can stream). */
167
- readonly hasWebrtc: boolean;
168
- /** Live pipeline metrics (phase, detection fps, inference time). */
169
- readonly pipelineMetrics: DevicePipelineMetrics | null;
170
- /** Server-offer signaling: create a WebRTC session. */
171
- readonly createSession: (target: WebrtcTarget, hints?: ClientStreamHints) => Promise<SignalingResult>;
172
- /** Server-offer signaling: send the client's SDP answer. */
173
- readonly sendAnswer: (sessionId: string, sdpAnswer: string) => Promise<void>;
174
- /**
175
- * Client-offer signaling (preferred for browsers): post a browser-built
176
- * SDP offer and get the server's answer. The browser advertises its full
177
- * H.264 decode caps in the offer, so a Main/High (incl. 4K) source passes
178
- * through with no transcode — the only path that lets iOS decode High.
179
- */
180
- readonly handleOffer: (target: WebrtcTarget, sdpOffer: string, sessionId?: string, hints?: ClientStreamHints) => Promise<ClientOfferResult>;
181
- /**
182
- * Fetch the browser-side ICE servers (STUN + TURN from the `turn-provider`
183
- * cap). Needed for client-offer mode, where the PeerConnection must be
184
- * built with TURN BEFORE the offer is created so a remote/CGNAT viewer can
185
- * gather a relay candidate. Best-effort — resolves `undefined` on failure
186
- * (the player falls back to public STUN).
187
- */
188
- readonly getIceServers: () => Promise<readonly RTCIceServer[] | undefined>;
189
- /** Trickle ICE — push a client-gathered candidate to the server. */
190
- readonly addIceCandidate: (sessionId: string, candidate: RTCIceCandidateInit) => Promise<void>;
191
- /** Trickle ICE — poll the server's gathered candidates for a session. */
192
- readonly getIceCandidates: (sessionId: string) => Promise<{
193
- candidates: RTCIceCandidateInit[];
194
- done: boolean;
195
- }>;
196
- /** Close a WebRTC session on the server. */
197
- readonly closeSession: (sessionId: string) => Promise<void>;
198
- /**
199
- * Poll the live signaling state of a session. After an adaptive tier
200
- * switch the server returns a non-null `pendingRenegotiation` (the new
201
- * target + a monotonic `epoch`); the player re-offers on the SAME
202
- * `sessionId` so the session re-negotiates against the new tier. Returns
203
- * `{ pendingRenegotiation: null }` for non-adaptive / steady sessions.
204
- */
205
- readonly getSessionState: (sessionId: string) => Promise<SessionRenegotiationState>;
206
- /**
207
- * The SERVER half of the stream-debug overlay for a session. Unlike
208
- * `getSessionState`, a failure here THROWS rather than resolving a benign
209
- * default: this is a diagnostic read, and a swallowed error would render as
210
- * a confident set of unknowns with no reason attached. The overlay catches
211
- * it and shows the message.
212
- */
213
- readonly getSessionDebug: (sessionId: string) => Promise<WebrtcSessionDebug>;
214
- /**
215
- * Hand the downlink probe to the session it was measured on (D733). Rejects
216
- * when there is no device or the hub has no such method — the player reads
217
- * a rejection as "unsupported" and falls back to its legacy climb.
218
- */
219
- readonly applyDownlinkProbe: ApplyDownlinkProbe;
170
+ /** Available stream choices for the dropdown (Adaptive + assigned profiles). */
171
+ readonly streams: readonly StreamChoice[];
172
+ /** Whether the device has at least one assigned profile (can stream). */
173
+ readonly hasWebrtc: boolean;
174
+ /** Live pipeline metrics (phase, detection fps, inference time). */
175
+ readonly pipelineMetrics: DevicePipelineMetrics | null;
176
+ /** Server-offer signaling: create a WebRTC session. */
177
+ readonly createSession: (target: WebrtcTarget, hints?: ClientStreamHints) => Promise<SignalingResult>;
178
+ /** Server-offer signaling: send the client's SDP answer. */
179
+ readonly sendAnswer: (sessionId: string, sdpAnswer: string) => Promise<void>;
180
+ /**
181
+ * Client-offer signaling (preferred for browsers): post a browser-built
182
+ * SDP offer and get the server's answer. The browser advertises its full
183
+ * H.264 decode caps in the offer, so a Main/High (incl. 4K) source passes
184
+ * through with no transcode — the only path that lets iOS decode High.
185
+ */
186
+ readonly handleOffer: (target: WebrtcTarget, sdpOffer: string, sessionId?: string, hints?: ClientStreamHints) => Promise<ClientOfferResult>;
187
+ /**
188
+ * Fetch the browser-side ICE servers (STUN + TURN from the `turn-provider`
189
+ * cap). Needed for client-offer mode, where the PeerConnection must be
190
+ * built with TURN BEFORE the offer is created so a remote/CGNAT viewer can
191
+ * gather a relay candidate. Best-effort — resolves `undefined` on failure
192
+ * (the player falls back to public STUN).
193
+ */
194
+ readonly getIceServers: () => Promise<readonly RTCIceServer[] | undefined>;
195
+ /** Trickle ICE — push a client-gathered candidate to the server. */
196
+ readonly addIceCandidate: (sessionId: string, candidate: RTCIceCandidateInit) => Promise<void>;
197
+ /** Trickle ICE — poll the server's gathered candidates for a session. */
198
+ readonly getIceCandidates: (sessionId: string) => Promise<{
199
+ candidates: RTCIceCandidateInit[];
200
+ done: boolean;
201
+ }>;
202
+ /** Close a WebRTC session on the server. */
203
+ readonly closeSession: (sessionId: string) => Promise<void>;
204
+ /**
205
+ * Poll the live signaling state of a session. After an adaptive tier
206
+ * switch the server returns a non-null `pendingRenegotiation` (the new
207
+ * target + a monotonic `epoch`); the player re-offers on the SAME
208
+ * `sessionId` so the session re-negotiates against the new tier. Returns
209
+ * `{ pendingRenegotiation: null }` for non-adaptive / steady sessions.
210
+ */
211
+ readonly getSessionState: (sessionId: string) => Promise<SessionRenegotiationState>;
212
+ /**
213
+ * The SERVER half of the stream-debug overlay for a session. Unlike
214
+ * `getSessionState`, a failure here THROWS rather than resolving a benign
215
+ * default: this is a diagnostic read, and a swallowed error would render as
216
+ * a confident set of unknowns with no reason attached. The overlay catches
217
+ * it and shows the message.
218
+ */
219
+ readonly getSessionDebug: (sessionId: string) => Promise<WebrtcSessionDebug>;
220
+ /**
221
+ * Hand the downlink probe to the session it was measured on (D733). Rejects
222
+ * when there is no device or the hub has no such method — the player reads
223
+ * a rejection as "unsupported" and falls back to its legacy climb.
224
+ */
225
+ readonly applyDownlinkProbe: ApplyDownlinkProbe;
220
226
  }
221
227
  /** Live signaling state for a session — the adaptive re-offer signal. */
222
228
  export interface SessionRenegotiationState {
223
- readonly pendingRenegotiation: {
224
- readonly target: WebrtcTarget;
225
- readonly epoch: number;
226
- } | null;
229
+ readonly pendingRenegotiation: {
230
+ readonly target: WebrtcTarget;
231
+ readonly epoch: number;
232
+ } | null;
227
233
  }
228
234
  export declare function useDeviceWebrtc(trpc: UseDeviceWebrtcTrpc, deviceId: number | null, pollIntervalMs?: number): DeviceWebrtcResult;
229
235
  export {};
@@ -1,13 +1,13 @@
1
- import { DeviceProxy, DeviceQueryFilters } from '@camstack/types';
1
+ import type { DeviceProxy, DeviceQueryFilters } from "@camstack/types";
2
2
  /**
3
- * Reactive list of devices matching the optional filter set. Returns a
4
- * stable array reference between updates so consumers passing it as a
5
- * prop don't tear down memoized children.
6
- */
3
+ * Reactive list of devices matching the optional filter set. Returns a
4
+ * stable array reference between updates so consumers passing it as a
5
+ * prop don't tear down memoized children.
6
+ */
7
7
  export declare function useDevices(filters?: DeviceQueryFilters): readonly DeviceProxy[];
8
8
  /**
9
- * Single-device variant. Returns `null` until the device is in the
10
- * mirror; re-renders when the device is removed (back to `null`) or
11
- * added.
12
- */
9
+ * Single-device variant. Returns `null` until the device is in the
10
+ * mirror; re-renders when the device is removed (back to `null`) or
11
+ * added.
12
+ */
13
13
  export declare function useDevice(deviceId: number | null): DeviceProxy | null;
@@ -1,20 +1,20 @@
1
1
  export interface DoorbellPressEvent {
2
- readonly deviceId: number;
3
- readonly timestamp: number;
2
+ readonly deviceId: number;
3
+ readonly timestamp: number;
4
4
  }
5
5
  export interface UseDoorbellEventsResult {
6
- /** Most recent press, or null if none observed since mount. */
7
- readonly latest: DoorbellPressEvent | null;
8
- /** Recent presses, newest-first. Capped at `historyLimit`. */
9
- readonly history: readonly DoorbellPressEvent[];
6
+ /** Most recent press, or null if none observed since mount. */
7
+ readonly latest: DoorbellPressEvent | null;
8
+ /** Recent presses, newest-first. Capped at `historyLimit`. */
9
+ readonly history: readonly DoorbellPressEvent[];
10
10
  }
11
11
  export interface UseDoorbellEventsOptions {
12
- /**
13
- * Scope the subscription to a specific deviceId. Pass `null` (or
14
- * omit) to receive every press across the cluster.
15
- */
16
- readonly deviceId?: number | null;
17
- /** Max history entries kept in memory. Defaults to 20. */
18
- readonly historyLimit?: number;
12
+ /**
13
+ * Scope the subscription to a specific deviceId. Pass `null` (or
14
+ * omit) to receive every press across the cluster.
15
+ */
16
+ readonly deviceId?: number | null;
17
+ /** Max history entries kept in memory. Defaults to 20. */
18
+ readonly historyLimit?: number;
19
19
  }
20
20
  export declare function useDoorbellEvents(options?: UseDoorbellEventsOptions): UseDoorbellEventsResult;
@@ -1,5 +1,8 @@
1
1
  export declare function useEventStreamLatest<T>(category: string, filter?: (data: T) => boolean): T | null;
2
- export declare function useEventStreamMap<T, K extends string | number>(category: string, keyOf: (data: T) => K, filter?: (data: T) => boolean): {
3
- readonly map: ReadonlyMap<K, T>;
4
- readonly values: readonly T[];
2
+ export declare function useEventStreamMap<
3
+ T,
4
+ K extends string | number
5
+ >(category: string, keyOf: (data: T) => K, filter?: (data: T) => boolean): {
6
+ readonly map: ReadonlyMap<K, T>;
7
+ readonly values: readonly T[];
5
8
  };
@@ -1,8 +1,8 @@
1
1
  export declare function useIsMobile(): boolean;
2
2
  /**
3
- * True when the viewport is in the medium (`md`) Tailwind range —
4
- * 768px ≤ width < 1024px. Use to drive layouts that should pack denser
5
- * than full-desktop but more legibly than mobile (e.g. icons-only
6
- * sidebar rail, narrower stat tiles).
7
- */
3
+ * True when the viewport is in the medium (`md`) Tailwind range —
4
+ * 768px ≤ width < 1024px. Use to drive layouts that should pack denser
5
+ * than full-desktop but more legibly than mobile (e.g. icons-only
6
+ * sidebar rail, narrower stat tiles).
7
+ */
8
8
  export declare function useIsMidWidth(): boolean;
@@ -1,8 +1,8 @@
1
1
  export interface LiveBuffer<T> {
2
- readonly entries: readonly T[];
3
- /** Append one entry; oldest is evicted past `max`. */
4
- readonly append: (entry: T) => void;
5
- /** Replace all entries — used by Clear / scope-change resets. */
6
- readonly reset: () => void;
2
+ readonly entries: readonly T[];
3
+ /** Append one entry; oldest is evicted past `max`. */
4
+ readonly append: (entry: T) => void;
5
+ /** Replace all entries — used by Clear / scope-change resets. */
6
+ readonly reset: () => void;
7
7
  }
8
8
  export declare function useLiveBuffer<T>(max: number): LiveBuffer<T>;
@@ -1,3 +1,3 @@
1
- import { SystemLiveEvent } from '@camstack/sdk';
1
+ import type { SystemLiveEvent } from "@camstack/sdk";
2
2
  export type LiveEventCallback<TData = unknown> = (event: SystemLiveEvent<TData>) => void;
3
3
  export declare function useLiveEvent<TData = unknown>(category: string, cb: LiveEventCallback<TData>): void;
@@ -1,26 +1,26 @@
1
- import { NavigationActionEntry, NavigationActionId, NavigationFeatures, NavigationLightMode, NavigationStatus } from '@camstack/types';
2
- import { UseDeviceProxyTrpc } from './use-device-proxy';
3
- export type NavigationDirection = 'forward' | 'left' | 'right' | 'spin';
1
+ import type { NavigationActionEntry, NavigationActionId, NavigationFeatures, NavigationLightMode, NavigationStatus } from "@camstack/types";
2
+ import { type UseDeviceProxyTrpc } from "./use-device-proxy";
3
+ export type NavigationDirection = "forward" | "left" | "right" | "spin";
4
4
  /** The cadence the robot app drives at while a direction is held. */
5
- export declare const NAVIGATION_DRIVE_INTERVAL_MS = 1000;
5
+ export declare const NAVIGATION_DRIVE_INTERVAL_MS = 1e3;
6
6
  export interface UseNavigationOptions {
7
- readonly enabled?: boolean;
7
+ readonly enabled?: boolean;
8
8
  }
9
9
  export interface UseNavigationResult {
10
- readonly features: NavigationFeatures | null;
11
- readonly actions: readonly NavigationActionEntry[];
12
- readonly status: NavigationStatus | null;
13
- /** Start nudging in a direction at 1 Hz until `stopDrive`. */
14
- readonly startDrive: (direction: NavigationDirection) => void;
15
- readonly stopDrive: () => Promise<void>;
16
- readonly runAction: (actionId: NavigationActionId) => Promise<void>;
17
- readonly playSound: (soundId: number) => Promise<void>;
18
- readonly setLightOn: (on: boolean) => Promise<void>;
19
- readonly setLightMode: (mode: NavigationLightMode, level?: number) => Promise<void>;
20
- readonly setLightLevel: (level: number) => Promise<void>;
21
- readonly busy: boolean;
22
- readonly error: string | null;
23
- /** True while a direction is held. */
24
- readonly driving: NavigationDirection | null;
10
+ readonly features: NavigationFeatures | null;
11
+ readonly actions: readonly NavigationActionEntry[];
12
+ readonly status: NavigationStatus | null;
13
+ /** Start nudging in a direction at 1 Hz until `stopDrive`. */
14
+ readonly startDrive: (direction: NavigationDirection) => void;
15
+ readonly stopDrive: () => Promise<void>;
16
+ readonly runAction: (actionId: NavigationActionId) => Promise<void>;
17
+ readonly playSound: (soundId: number) => Promise<void>;
18
+ readonly setLightOn: (on: boolean) => Promise<void>;
19
+ readonly setLightMode: (mode: NavigationLightMode, level?: number) => Promise<void>;
20
+ readonly setLightLevel: (level: number) => Promise<void>;
21
+ readonly busy: boolean;
22
+ readonly error: string | null;
23
+ /** True while a direction is held. */
24
+ readonly driving: NavigationDirection | null;
25
25
  }
26
26
  export declare function useNavigation(trpc: UseDeviceProxyTrpc, deviceId: number, hookOptions?: UseNavigationOptions): UseNavigationResult;
@@ -1,18 +1,18 @@
1
1
  export interface UseOptimisticSliceOptions {
2
- readonly enabled?: boolean;
3
- readonly timeoutMs?: number;
2
+ readonly enabled?: boolean;
3
+ readonly timeoutMs?: number;
4
4
  }
5
5
  export interface UseOptimisticSliceResult<T> {
6
- /** The slice to RENDER: the optimistic override if active, else the real slice. */
7
- readonly display: T | undefined;
8
- /** Apply an optimistic patch (merged onto the current display) after issuing a command. */
9
- readonly applyOptimistic: (patch: Partial<T>) => void;
10
- /**
11
- * Revert immediately to the real slice — a real rollback, not a timer wait.
12
- * Use this when the command the optimistic patch anticipated is REJECTED
13
- * (the server refused it), so `display` never keeps showing a state the
14
- * server never produced.
15
- */
16
- readonly rollback: () => void;
6
+ /** The slice to RENDER: the optimistic override if active, else the real slice. */
7
+ readonly display: T | undefined;
8
+ /** Apply an optimistic patch (merged onto the current display) after issuing a command. */
9
+ readonly applyOptimistic: (patch: Partial<T>) => void;
10
+ /**
11
+ * Revert immediately to the real slice — a real rollback, not a timer wait.
12
+ * Use this when the command the optimistic patch anticipated is REJECTED
13
+ * (the server refused it), so `display` never keeps showing a state the
14
+ * server never produced.
15
+ */
16
+ readonly rollback: () => void;
17
17
  }
18
18
  export declare function useOptimisticSlice<T extends object>(realSlice: T | undefined, opts?: UseOptimisticSliceOptions): UseOptimisticSliceResult<T>;