@camstack/ui-library 1.2.257 → 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,35 +1,35 @@
1
1
  /**
2
- * Pure helpers for the HLS playback quality selector.
3
- *
4
- * Intentionally decoupled from hls.js types so this module can be
5
- * imported and tested without a DOM or MSE environment.
6
- */
2
+ * Pure helpers for the HLS playback quality selector.
3
+ *
4
+ * Intentionally decoupled from hls.js types so this module can be
5
+ * imported and tested without a DOM or MSE environment.
6
+ */
7
7
  export interface QualityOption {
8
- readonly value: number;
9
- readonly label: string;
8
+ readonly value: number;
9
+ readonly label: string;
10
10
  }
11
11
  export interface HlsLevelInfo {
12
- readonly height?: number;
13
- readonly bitrate?: number;
14
- readonly name?: string;
12
+ readonly height?: number;
13
+ readonly bitrate?: number;
14
+ readonly name?: string;
15
15
  }
16
16
  /**
17
- * Build a human-readable label for a single HLS level.
18
- *
19
- * Priority:
20
- * 1. `name` (non-empty) → verbatim. The recorder stamps the master variant
21
- * NAME with the recording profile (high/mid/low), and the VOD selector must
22
- * match the live stream-profile selector's labels — the profile name wins
23
- * over resolution/bitrate.
24
- * 2. `height` (> 0) → e.g. "1080p"
25
- * 3. `bitrate` (> 0) → e.g. "2500 kbps"
26
- * 4. Fallback → "Level N" (1-based)
27
- */
17
+ * Build a human-readable label for a single HLS level.
18
+ *
19
+ * Priority:
20
+ * 1. `name` (non-empty) → verbatim. The recorder stamps the master variant
21
+ * NAME with the recording profile (high/mid/low), and the VOD selector must
22
+ * match the live stream-profile selector's labels — the profile name wins
23
+ * over resolution/bitrate.
24
+ * 2. `height` (> 0) → e.g. "1080p"
25
+ * 3. `bitrate` (> 0) → e.g. "2500 kbps"
26
+ * 4. Fallback → "Level N" (1-based)
27
+ */
28
28
  export declare function levelLabel(level: HlsLevelInfo, index: number): string;
29
29
  /**
30
- * Build the full list of quality options for the selector overlay.
31
- *
32
- * Always starts with the Auto entry (`value: -1`), followed by one
33
- * entry per available HLS level in manifest order.
34
- */
30
+ * Build the full list of quality options for the selector overlay.
31
+ *
32
+ * Always starts with the Auto entry (`value: -1`), followed by one
33
+ * entry per available HLS level in manifest order.
34
+ */
35
35
  export declare function qualityOptions(levels: readonly HlsLevelInfo[]): QualityOption[];
@@ -1,41 +1,64 @@
1
- import { QualityOption } from './hls-quality';
1
+ /**
2
+ * HlsVideo — reusable HLS (VOD) `<video>` for recorded playback.
3
+ *
4
+ * The recorder serves SELF-CONTAINED per-segment fMP4 (each `.m4s` carries
5
+ * its own ftyp+moov) with reset timestamps and NO EXT-X-MAP. hls.js handles
6
+ * that shape; NATIVE Safari HLS rejects it (loads the first frame then stalls
7
+ * building the timeline → "could not load"). So hls.js is PREFERRED and native
8
+ * is a last-resort fallback only.
9
+ *
10
+ * The playback URL is served through the hub data-plane reverse-proxy
11
+ * (`/addon/<addonId>/...`) — same origin/cert as the admin-ui (no mixed
12
+ * content). The route is admin-gated: hls.js sends the stored admin Bearer via
13
+ * `xhrSetup`, and `withCredentials` lets the same-origin session cookie ride
14
+ * too (so the native fallback, which can't set a header, still authenticates).
15
+ *
16
+ * Data-agnostic: the caller fetches the manifest URL + supplies the auth token
17
+ * (ui-library never reaches into localStorage).
18
+ *
19
+ * Quality state is LIFTED to the caller via `onQualityOptions` / `selectedLevel`
20
+ * so the parent (StreamPanel) can render the selector in the header alongside
21
+ * the live stream selector, at the same position and with the same styling.
22
+ */
23
+ import { type JSX } from "react";
24
+ import { type QualityOption } from "./hls-quality";
2
25
  export interface HlsVideoProps {
3
- /** Media URL (typically relative, through the hub data-plane) — an HLS
4
- * master `.m3u8`, or a progressive `.mp4` when {@link format} says so. */
5
- readonly url: string;
6
- /**
7
- * What {@link url} is. Absent means `hls` — every existing caller is
8
- * unchanged by construction.
9
- *
10
- * `mp4` is the NATIVE-CLIP path (D549 22): a vendor addon fetched the
11
- * camera's own file, muxed it once with `+faststart` and serves it with
12
- * `Range`, so a plain `<video src>` seeks natively and hls.js is not
13
- * involved at all — handing it an MP4 would have it parse the file as a
14
- * manifest and fail. **Nothing is appended to the URL**: the hub's
15
- * `/addon/<id>/<prefix>` proxy takes the same-origin session cookie, which
16
- * is what the native-Safari branch below already relies on, so the URL is
17
- * never a credential.
18
- */
19
- readonly format?: 'hls' | 'mp4';
20
- /** Bearer token for the admin-gated data-plane route (optional). */
21
- readonly authToken?: string | null;
22
- /** Poster painted until the first frame decodes (optional). */
23
- readonly posterUrl?: string;
24
- /** Auto-play once the manifest is parsed (default: true). */
25
- readonly autoPlay?: boolean;
26
- readonly className?: string;
27
- /**
28
- * Called on MANIFEST_PARSED (and reset to `[]` on a new URL) with the
29
- * full list of quality options (`qualityOptions(hls.levels)`). The caller
30
- * renders the selector; this component owns only the hls instance.
31
- * Emits `[]` when the manifest has ≤1 real level (no selector needed).
32
- */
33
- readonly onQualityOptions?: (options: readonly QualityOption[]) => void;
34
- /**
35
- * The level index to apply to `hls.currentLevel`. `-1` = Auto/ABR
36
- * (default). When this prop changes, the component sets `hls.currentLevel`
37
- * immediately. Has no effect in the native HLS fallback path.
38
- */
39
- readonly selectedLevel?: number;
26
+ /** Media URL (typically relative, through the hub data-plane) — an HLS
27
+ * master `.m3u8`, or a progressive `.mp4` when {@link format} says so. */
28
+ readonly url: string;
29
+ /**
30
+ * What {@link url} is. Absent means `hls` — every existing caller is
31
+ * unchanged by construction.
32
+ *
33
+ * `mp4` is the NATIVE-CLIP path (D549 22): a vendor addon fetched the
34
+ * camera's own file, muxed it once with `+faststart` and serves it with
35
+ * `Range`, so a plain `<video src>` seeks natively and hls.js is not
36
+ * involved at all — handing it an MP4 would have it parse the file as a
37
+ * manifest and fail. **Nothing is appended to the URL**: the hub's
38
+ * `/addon/<id>/<prefix>` proxy takes the same-origin session cookie, which
39
+ * is what the native-Safari branch below already relies on, so the URL is
40
+ * never a credential.
41
+ */
42
+ readonly format?: "hls" | "mp4";
43
+ /** Bearer token for the admin-gated data-plane route (optional). */
44
+ readonly authToken?: string | null;
45
+ /** Poster painted until the first frame decodes (optional). */
46
+ readonly posterUrl?: string;
47
+ /** Auto-play once the manifest is parsed (default: true). */
48
+ readonly autoPlay?: boolean;
49
+ readonly className?: string;
50
+ /**
51
+ * Called on MANIFEST_PARSED (and reset to `[]` on a new URL) with the
52
+ * full list of quality options (`qualityOptions(hls.levels)`). The caller
53
+ * renders the selector; this component owns only the hls instance.
54
+ * Emits `[]` when the manifest has ≤1 real level (no selector needed).
55
+ */
56
+ readonly onQualityOptions?: (options: readonly QualityOption[]) => void;
57
+ /**
58
+ * The level index to apply to `hls.currentLevel`. `-1` = Auto/ABR
59
+ * (default). When this prop changes, the component sets `hls.currentLevel`
60
+ * immediately. Has no effect in the native HLS fallback path.
61
+ */
62
+ readonly selectedLevel?: number;
40
63
  }
41
- export declare function HlsVideo({ url, format, authToken, posterUrl, autoPlay, className, onQualityOptions, selectedLevel, }: HlsVideoProps): import("react").JSX.Element;
64
+ export declare function HlsVideo({ url, format, authToken, posterUrl, autoPlay, className, onQualityOptions, selectedLevel }: HlsVideoProps): JSX.Element;
@@ -1,18 +1,37 @@
1
- import { ReactNode } from 'react';
1
+ /**
2
+ * <HoverZoomImage> — a small thumbnail that expands into a floating
3
+ * enlarged preview on hover/focus.
4
+ *
5
+ * One responsibility: render a compact thumbnail (image when `src` is
6
+ * present, a muted `ImageOff` placeholder box when null) and, while the
7
+ * thumbnail is hovered or focused, portal a larger preview to
8
+ * `document.body` positioned with FLIP-ON-COLLISION:
9
+ * - the position is computed from the thumbnail's `getBoundingClientRect`;
10
+ * - placed ABOVE the thumbnail unless there is insufficient space (then
11
+ * below); left-clamped to the viewport;
12
+ * - `position:fixed`, `pointer-events:none`, `z-[9999]`.
13
+ *
14
+ * The portal is what lets this work inside the device grid, whose overflow
15
+ * ancestors would otherwise clip a normally-positioned popover.
16
+ *
17
+ * Reused by BOTH the Image DeviceType inline control (signed image url) and
18
+ * the camera-snapshot cell in device rows (snapshot blob/object url).
19
+ */
20
+ import { type ReactNode } from "react";
2
21
  export interface HoverZoomImageProps {
3
- /** Image URL (signed url for Image entities; snapshot object url for cameras). Null → placeholder. */
4
- readonly src: string | null;
5
- /** Accessible alt / default preview caption (e.g. the device name). */
6
- readonly alt: string;
7
- /** Optional small label under the enlarged preview. Defaults to `alt`. */
8
- readonly caption?: string;
9
- /** Text shown in the enlarged preview (and implied by the thumbnail's empty state) when there is no image. */
10
- readonly placeholder?: string;
11
- /** Sizing override for the thumbnail box. Defaults to a compact `h-7 w-7 rounded`. */
12
- readonly thumbClassName?: string;
13
- /** Enlarged-preview width in px. */
14
- readonly expandedWidth?: number;
15
- /** Enlarged-preview height in px (drives the flip-on-collision math). */
16
- readonly expandedHeight?: number;
22
+ /** Image URL (signed url for Image entities; snapshot object url for cameras). Null → placeholder. */
23
+ readonly src: string | null;
24
+ /** Accessible alt / default preview caption (e.g. the device name). */
25
+ readonly alt: string;
26
+ /** Optional small label under the enlarged preview. Defaults to `alt`. */
27
+ readonly caption?: string;
28
+ /** Text shown in the enlarged preview (and implied by the thumbnail's empty state) when there is no image. */
29
+ readonly placeholder?: string;
30
+ /** Sizing override for the thumbnail box. Defaults to a compact `h-7 w-7 rounded`. */
31
+ readonly thumbClassName?: string;
32
+ /** Enlarged-preview width in px. */
33
+ readonly expandedWidth?: number;
34
+ /** Enlarged-preview height in px (drives the flip-on-collision math). */
35
+ readonly expandedHeight?: number;
17
36
  }
18
- export declare function HoverZoomImage({ src, alt, caption, placeholder, thumbClassName, expandedWidth, expandedHeight, }: HoverZoomImageProps): ReactNode;
37
+ export declare function HoverZoomImage({ src, alt, caption, placeholder, thumbClassName, expandedWidth, expandedHeight }: HoverZoomImageProps): ReactNode;
@@ -1,55 +1,91 @@
1
- import { DisplayIconGroup } from '@camstack/types';
2
- import { LucideIcon } from 'lucide-react';
1
+ /**
2
+ * icon-picker — the ONE control for choosing an icon, wherever admin-ui asks.
3
+ *
4
+ * There were two: a device one over `DISPLAY_ICON_REGISTRY` and a room one
5
+ * over `LOCATION_ICON_IDS`, identical apart from the vocabulary they walked.
6
+ * That was tolerable while the device set was 56 glyphs in a flat grid. It is
7
+ * not at 157: a picker that only lets the operator HUNT is a picker they stop
8
+ * using, and the two copies were already drifting — only one of them had an
9
+ * i18n'd label.
10
+ *
11
+ * So the vocabulary, the grouping and the search all come from
12
+ * `@camstack/types`' `display-icon-vocabulary`, which is the same module the
13
+ * viewer's sheet searches. What is left here is the web half: a popover, a
14
+ * grid, and a text field.
15
+ *
16
+ * ## What it does NOT own
17
+ *
18
+ * - **The glyphs.** `resolveGlyph` is a prop, because this package's table is
19
+ * `lucide-react` and the viewer's is `lucide-react-native`. A key this build
20
+ * cannot draw is SKIPPED rather than rendered as a hole — an empty tile
21
+ * reads as a rendering bug, not as a missing choice.
22
+ * - **The words.** Every string is a prop. This package has no i18n (one file
23
+ * in it imports react-i18next, and that is the exception), and a control
24
+ * that reached for a translation would force it on every consumer.
25
+ * - **The write.** `onPick` is called and that is all; whether it is a form
26
+ * value or an immediate mutation is the caller's business, as it already was
27
+ * in both pickers this replaces.
28
+ *
29
+ * ## The clear tile is never filtered away
30
+ *
31
+ * The "inherit" / "no icon" choice sits above the sections and ignores the
32
+ * search. A query that hid it would strand the operator on a glyph they picked
33
+ * by accident with no way back to the default — the one action a picker must
34
+ * always offer.
35
+ */
36
+ import { type DisplayIconGroup } from "@camstack/types";
37
+ import type { LucideIcon } from "lucide-react";
38
+ import { type JSX } from "react";
3
39
  /** The strings this control shows. All of them, so nothing is hardcoded. */
4
40
  export interface IconPickerLabels {
5
- /** The trigger button's accessible name, e.g. "Change the icon of Kitchen". */
6
- readonly trigger: string;
7
- /** The popover's accessible name. */
8
- readonly panel: string;
9
- /** The backdrop button's accessible name. */
10
- readonly close: string;
11
- readonly searchPlaceholder: string;
12
- /** The tile that clears the pick — "No icon", "Inherit from the role", … */
13
- readonly clear: string;
14
- /** Shown in place of the grid when the query matches nothing. */
15
- readonly noMatches: string;
16
- /** One per group, keyed by group id. */
17
- readonly groups: Readonly<Record<DisplayIconGroup, string>>;
41
+ /** The trigger button's accessible name, e.g. "Change the icon of Kitchen". */
42
+ readonly trigger: string;
43
+ /** The popover's accessible name. */
44
+ readonly panel: string;
45
+ /** The backdrop button's accessible name. */
46
+ readonly close: string;
47
+ readonly searchPlaceholder: string;
48
+ /** The tile that clears the pick — "No icon", "Inherit from the role", … */
49
+ readonly clear: string;
50
+ /** Shown in place of the grid when the query matches nothing. */
51
+ readonly noMatches: string;
52
+ /** One per group, keyed by group id. */
53
+ readonly groups: Readonly<Record<DisplayIconGroup, string>>;
18
54
  }
19
55
  export interface IconPickerProps {
20
- /** The chosen key, or `null` for "nothing chosen". */
21
- readonly value: string | null;
22
- /** `null` clears the choice. */
23
- readonly onPick: (key: string | null) => void | Promise<void>;
24
- /**
25
- * The glyph for a key, or `undefined` when this build cannot draw it. The
26
- * caller's table, never a lookup this component makes.
27
- */
28
- readonly resolveGlyph: (key: string) => LucideIcon | undefined;
29
- /** What the trigger draws when `value` is null or undrawable. */
30
- readonly fallbackGlyph: LucideIcon;
31
- /**
32
- * The glyph on the clear tile. Defaults to {@link fallbackGlyph}, which is
33
- * right when clearing means "inherit" and the tile should show what will be
34
- * inherited. A picker where clearing means "none at all" passes its own.
35
- */
36
- readonly clearGlyph?: LucideIcon;
37
- /**
38
- * A human name for a key, for the tile's title and accessible name. The key
39
- * itself when absent — which is honest, since the key IS what gets stored.
40
- */
41
- readonly labelFor?: (key: string) => string | undefined;
42
- readonly labels: IconPickerLabels;
43
- /**
44
- * Restrict the vocabulary to these keys — the room picker offers only
45
- * `LOCATION_ICON_IDS`. Absent means the whole vocabulary.
46
- */
47
- readonly only?: readonly string[];
48
- /**
49
- * Extra searchable words per key, for a caller that has translations this
50
- * package cannot see. Scored exactly like a synonym.
51
- */
52
- readonly extraWords?: ReadonlyMap<string, readonly string[]>;
53
- readonly disabled?: boolean;
56
+ /** The chosen key, or `null` for "nothing chosen". */
57
+ readonly value: string | null;
58
+ /** `null` clears the choice. */
59
+ readonly onPick: (key: string | null) => void | Promise<void>;
60
+ /**
61
+ * The glyph for a key, or `undefined` when this build cannot draw it. The
62
+ * caller's table, never a lookup this component makes.
63
+ */
64
+ readonly resolveGlyph: (key: string) => LucideIcon | undefined;
65
+ /** What the trigger draws when `value` is null or undrawable. */
66
+ readonly fallbackGlyph: LucideIcon;
67
+ /**
68
+ * The glyph on the clear tile. Defaults to {@link fallbackGlyph}, which is
69
+ * right when clearing means "inherit" and the tile should show what will be
70
+ * inherited. A picker where clearing means "none at all" passes its own.
71
+ */
72
+ readonly clearGlyph?: LucideIcon;
73
+ /**
74
+ * A human name for a key, for the tile's title and accessible name. The key
75
+ * itself when absent — which is honest, since the key IS what gets stored.
76
+ */
77
+ readonly labelFor?: (key: string) => string | undefined;
78
+ readonly labels: IconPickerLabels;
79
+ /**
80
+ * Restrict the vocabulary to these keys — the room picker offers only
81
+ * `LOCATION_ICON_IDS`. Absent means the whole vocabulary.
82
+ */
83
+ readonly only?: readonly string[];
84
+ /**
85
+ * Extra searchable words per key, for a caller that has translations this
86
+ * package cannot see. Scored exactly like a synonym.
87
+ */
88
+ readonly extraWords?: ReadonlyMap<string, readonly string[]>;
89
+ readonly disabled?: boolean;
54
90
  }
55
- export declare function IconPicker({ value, onPick, resolveGlyph, fallbackGlyph, labels, only, extraWords, clearGlyph, labelFor, disabled, }: IconPickerProps): import("react").JSX.Element;
91
+ export declare function IconPicker({ value, onPick, resolveGlyph, fallbackGlyph, labels, only, extraWords, clearGlyph, labelFor, disabled }: IconPickerProps): JSX.Element | null;
@@ -1,25 +1,26 @@
1
+ import { type JSX } from "react";
1
2
  /**
2
- * ImageSelector — chip-style picker for reference media + upload button.
3
- * Despite the historical name it's media-agnostic: pass `accept` to
4
- * filter the file picker (defaults to `image/*`). Used by both the
5
- * Image Tester and the Audio Tester so the two tabs share the exact
6
- * same selection UI.
7
- */
3
+ * ImageSelector — chip-style picker for reference media + upload button.
4
+ * Despite the historical name it's media-agnostic: pass `accept` to
5
+ * filter the file picker (defaults to `image/*`). Used by both the
6
+ * Image Tester and the Audio Tester so the two tabs share the exact
7
+ * same selection UI.
8
+ */
8
9
  export interface ReferenceImage {
9
- readonly id?: string;
10
- readonly filename: string;
11
- readonly sizeKB?: number;
10
+ readonly id?: string;
11
+ readonly filename: string;
12
+ readonly sizeKB?: number;
12
13
  }
13
14
  export interface ImageSelectorProps {
14
- readonly images: readonly ReferenceImage[];
15
- readonly selectedFilename: string;
16
- readonly uploadedName?: string;
17
- readonly onSelect: (filename: string) => void;
18
- readonly onUpload: (base64: string, filename: string, dataUrl: string) => void;
19
- readonly className?: string;
20
- /** File picker `accept` value. Default: `image/*`. */
21
- readonly accept?: string;
22
- /** Override the upload button label. Default: `Upload...`. */
23
- readonly uploadLabel?: string;
15
+ readonly images: readonly ReferenceImage[];
16
+ readonly selectedFilename: string;
17
+ readonly uploadedName?: string;
18
+ readonly onSelect: (filename: string) => void;
19
+ readonly onUpload: (base64: string, filename: string, dataUrl: string) => void;
20
+ readonly className?: string;
21
+ /** File picker `accept` value. Default: `image/*`. */
22
+ readonly accept?: string;
23
+ /** Override the upload button label. Default: `Upload...`. */
24
+ readonly uploadLabel?: string;
24
25
  }
25
- export declare function ImageSelector({ images, selectedFilename, uploadedName, onSelect, onUpload, className, accept, uploadLabel, }: ImageSelectorProps): import("react").JSX.Element;
26
+ export declare function ImageSelector({ images, selectedFilename, uploadedName, onSelect, onUpload, className, accept, uploadLabel }: ImageSelectorProps): JSX.Element;