@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.
- package/dist/composites/accelerator-label.d.ts +9 -9
- package/dist/composites/adaptive-downlink.d.ts +141 -143
- package/dist/composites/addon-global-settings-form.d.ts +73 -60
- package/dist/composites/addon-page-props.d.ts +34 -10
- package/dist/composites/agent-step-editor.d.ts +48 -47
- package/dist/composites/app-shell/app-shell.d.ts +17 -17
- package/dist/composites/app-shell/index.d.ts +3 -3
- package/dist/composites/app-shell/sidebar-item.d.ts +9 -8
- package/dist/composites/app-shell/sidebar.d.ts +10 -10
- package/dist/composites/audio-classification-list.d.ts +16 -15
- package/dist/composites/audio-level-waveform.d.ts +31 -30
- package/dist/composites/audio-waveform.d.ts +18 -17
- package/dist/composites/battery-badge.d.ts +27 -13
- package/dist/composites/breadcrumb.d.ts +21 -21
- package/dist/composites/camera-stream-player.d.ts +309 -309
- package/dist/composites/cap-settings/AutotrackSection.d.ts +19 -2
- package/dist/composites/cap-settings/CameraGridLayoutEditor.d.ts +24 -2
- package/dist/composites/cap-settings/ConsumablesPanel.d.ts +21 -2
- package/dist/composites/cap-settings/CoverageTrack.d.ts +21 -20
- package/dist/composites/cap-settings/EventBucketStrip.d.ts +21 -20
- package/dist/composites/cap-settings/EventHeatmap.d.ts +8 -7
- package/dist/composites/cap-settings/HomePresetPicker.d.ts +2 -2
- package/dist/composites/cap-settings/MaskShapeCanvas.d.ts +143 -41
- package/dist/composites/cap-settings/MotionZonesSettings.d.ts +41 -2
- package/dist/composites/cap-settings/NavigationPanel.d.ts +14 -2
- package/dist/composites/cap-settings/PrivacyMaskSettings.d.ts +3 -2
- package/dist/composites/cap-settings/PtzPanel.d.ts +15 -2
- package/dist/composites/cap-settings/RecordingBandsEditor.d.ts +33 -32
- package/dist/composites/cap-settings/RecordingPanel.d.ts +3 -2
- package/dist/composites/cap-settings/RecordingSettings.d.ts +11 -10
- package/dist/composites/cap-settings/RecordingTimeline.d.ts +3 -2
- package/dist/composites/cap-settings/SceneMonitorEditor.d.ts +3 -51
- package/dist/composites/cap-settings/SceneReferenceGallery.d.ts +62 -23
- package/dist/composites/cap-settings/SceneSettingsForm.d.ts +52 -16
- package/dist/composites/cap-settings/TimelineControls.d.ts +21 -20
- package/dist/composites/cap-settings/camera-grid-layout.d.ts +95 -95
- package/dist/composites/cap-settings/event-thumb.d.ts +9 -8
- package/dist/composites/cap-settings/index.d.ts +20 -20
- package/dist/composites/cap-settings/privacy-mask-audio.d.ts +47 -47
- package/dist/composites/cap-settings/recording-config-form.d.ts +25 -25
- package/dist/composites/cap-settings/recording-spans.d.ts +14 -14
- package/dist/composites/cap-settings/recording-timeline-model.d.ts +57 -57
- package/dist/composites/cap-settings/scene-monitor-copy.d.ts +58 -49
- package/dist/composites/client-network-sample.d.ts +41 -41
- package/dist/composites/clips/ClipBandBar.d.ts +44 -14
- package/dist/composites/clips/ClipPanel.d.ts +30 -6
- package/dist/composites/clips/ClipTile.d.ts +26 -5
- package/dist/composites/clips/ClipsSection.d.ts +107 -2
- package/dist/composites/clips/clip-band.d.ts +72 -38
- package/dist/composites/clips/clip-day-window.d.ts +7 -30
- package/dist/composites/clips/clip-source-state.d.ts +55 -26
- package/dist/composites/clips/clip-still-retry.d.ts +39 -39
- package/dist/composites/clips/clip-thumbnail-fetch.d.ts +9 -9
- package/dist/composites/clips/clip-tile-media.d.ts +64 -32
- package/dist/composites/clips/clip-view-state.d.ts +76 -46
- package/dist/composites/code-block.d.ts +5 -4
- package/dist/composites/config-form-builder.d.ts +14 -13
- package/dist/composites/config-form-field.d.ts +63 -62
- package/dist/composites/config-icon-field.d.ts +10 -9
- package/dist/composites/config-secret-field.d.ts +51 -27
- package/dist/composites/confirm-action-button.d.ts +52 -39
- package/dist/composites/confirm-dialog.d.ts +110 -48
- package/dist/composites/copy-button.d.ts +25 -19
- package/dist/composites/data-table/data-table-header.d.ts +8 -7
- package/dist/composites/data-table/data-table-pagination.d.ts +7 -6
- package/dist/composites/data-table/data-table-row.d.ts +8 -7
- package/dist/composites/data-table/data-table.d.ts +3 -2
- package/dist/composites/data-table/index.d.ts +2 -2
- package/dist/composites/data-table/types.d.ts +29 -29
- package/dist/composites/data-table-filter-bar.d.ts +30 -29
- package/dist/composites/data-table-filter.d.ts +34 -34
- package/dist/composites/data-table-layout.d.ts +24 -24
- package/dist/composites/data-table-pager.d.ts +5 -5
- package/dist/composites/data-table-pagination.d.ts +23 -23
- package/dist/composites/data-table-selection.d.ts +10 -10
- package/dist/composites/data-table.d.ts +167 -118
- package/dist/composites/detection-canvas.d.ts +34 -25
- package/dist/composites/detection-colors.d.ts +9 -9
- package/dist/composites/detection-overlay.d.ts +33 -32
- package/dist/composites/detection-result-tree.d.ts +22 -9
- package/dist/composites/dev-shell.d.ts +15 -14
- package/dist/composites/device-activity-panel.d.ts +37 -31
- package/dist/composites/device-card.d.ts +32 -32
- package/dist/composites/device-controls/ac-panel.d.ts +2 -2
- package/dist/composites/device-controls/alarm-hero-card.d.ts +42 -42
- package/dist/composites/device-controls/atoms.d.ts +50 -50
- package/dist/composites/device-controls/brightness-panel.d.ts +3 -3
- package/dist/composites/device-controls/button-control.d.ts +14 -14
- package/dist/composites/device-controls/climate-panel.d.ts +12 -12
- package/dist/composites/device-controls/container-primary-hero.d.ts +33 -16
- package/dist/composites/device-controls/container-primary.d.ts +68 -39
- package/dist/composites/device-controls/control-panel.d.ts +4 -4
- package/dist/composites/device-controls/control-registry.d.ts +81 -70
- package/dist/composites/device-controls/cover-hero-card.d.ts +26 -26
- package/dist/composites/device-controls/cover-inline.d.ts +20 -20
- package/dist/composites/device-controls/cover-panel.d.ts +2 -2
- package/dist/composites/device-controls/dummy-hero-card.d.ts +2 -2
- package/dist/composites/device-controls/fan-hero-card.d.ts +20 -20
- package/dist/composites/device-controls/fan-panel.d.ts +3 -3
- package/dist/composites/device-controls/humidifier-control.d.ts +46 -29
- package/dist/composites/device-controls/image-control.d.ts +41 -27
- package/dist/composites/device-controls/index.d.ts +34 -34
- package/dist/composites/device-controls/lawn-mower-control.d.ts +30 -16
- package/dist/composites/device-controls/light-hero-card.d.ts +15 -15
- package/dist/composites/device-controls/lock-hero-card.d.ts +14 -14
- package/dist/composites/device-controls/lock-panel.d.ts +3 -3
- package/dist/composites/device-controls/media-player-hero-card.d.ts +16 -16
- package/dist/composites/device-controls/media-player-panel.d.ts +7 -7
- package/dist/composites/device-controls/offline-badge.d.ts +23 -8
- package/dist/composites/device-controls/panel-controls.d.ts +39 -20
- package/dist/composites/device-controls/pet-feeder-panel.d.ts +27 -9
- package/dist/composites/device-controls/popover-row-action.d.ts +18 -6
- package/dist/composites/device-controls/primary-child-picker.d.ts +31 -15
- package/dist/composites/device-controls/primary-child.d.ts +14 -25
- package/dist/composites/device-controls/radial-gauge.d.ts +17 -17
- package/dist/composites/device-controls/script-automation-controls.d.ts +9 -9
- package/dist/composites/device-controls/sensor-hero-card.d.ts +26 -8
- package/dist/composites/device-controls/sensor-inline-control.d.ts +21 -9
- package/dist/composites/device-controls/sensor-value-atom.d.ts +97 -76
- package/dist/composites/device-controls/switch-hero-card.d.ts +11 -11
- package/dist/composites/device-controls/switch-panel.d.ts +2 -2
- package/dist/composites/device-controls/tap-toggle.d.ts +13 -13
- package/dist/composites/device-controls/thermostat-hero-card.d.ts +16 -16
- package/dist/composites/device-controls/types.d.ts +11 -11
- package/dist/composites/device-controls/update-control.d.ts +20 -7
- package/dist/composites/device-controls/vacuum-control.d.ts +41 -25
- package/dist/composites/device-controls/valve-control.d.ts +51 -35
- package/dist/composites/device-controls/water-heater-control.d.ts +48 -31
- package/dist/composites/device-controls/weather-control.d.ts +46 -28
- package/dist/composites/device-export-panel.d.ts +34 -34
- package/dist/composites/device-grid.d.ts +10 -10
- package/dist/composites/device-item/actions.d.ts +40 -18
- package/dist/composites/device-item/admin-link-quick-action.d.ts +66 -26
- package/dist/composites/device-item/child-layout.d.ts +43 -26
- package/dist/composites/device-item/child-section-accordion.d.ts +20 -6
- package/dist/composites/device-item/children-accordion.d.ts +11 -11
- package/dist/composites/device-item/container-children-context.d.ts +28 -11
- package/dist/composites/device-item/device-delete-action.d.ts +23 -5
- package/dist/composites/device-item/features.d.ts +33 -15
- package/dist/composites/device-item/header.d.ts +53 -31
- package/dist/composites/device-item/helpers.d.ts +291 -274
- package/dist/composites/device-item/index.d.ts +18 -9
- package/dist/composites/device-item/preview.d.ts +41 -21
- package/dist/composites/device-item/quick-detail-action.d.ts +4 -4
- package/dist/composites/device-item/reboot-quick-action.d.ts +28 -7
- package/dist/composites/device-item/role-display-defaults-context.d.ts +28 -12
- package/dist/composites/device-item/status-dot.d.ts +24 -6
- package/dist/composites/device-list/batch-actions-bar.d.ts +23 -12
- package/dist/composites/device-list/batch-toolbar.d.ts +13 -13
- package/dist/composites/device-list/columns.d.ts +108 -108
- package/dist/composites/device-list/device-integration.d.ts +48 -58
- package/dist/composites/device-list/device-mode.d.ts +121 -121
- package/dist/composites/device-list/empty-state.d.ts +14 -3
- package/dist/composites/device-list/filter-chips.d.ts +42 -29
- package/dist/composites/device-list/fuzzy-match.d.ts +22 -22
- package/dist/composites/device-list/generic-mode.d.ts +88 -88
- package/dist/composites/device-list/group.d.ts +62 -35
- package/dist/composites/device-list/hardware-cell.d.ts +14 -3
- package/dist/composites/device-list/hardware.d.ts +29 -11
- package/dist/composites/device-list/icon-action.d.ts +27 -15
- package/dist/composites/device-list/index.d.ts +46 -23
- package/dist/composites/device-list/multi-select.d.ts +17 -17
- package/dist/composites/device-list/page-size-select.d.ts +13 -7
- package/dist/composites/device-list/pagination.d.ts +19 -12
- package/dist/composites/device-list/sort.d.ts +28 -15
- package/dist/composites/device-list/sortable-header.d.ts +20 -7
- package/dist/composites/device-list/table-layout.d.ts +44 -44
- package/dist/composites/device-list/type-filter.d.ts +16 -16
- package/dist/composites/device-list/url-state.d.ts +35 -35
- package/dist/composites/device-meta.d.ts +43 -43
- package/dist/composites/device-picker/DevicePicker.d.ts +72 -33
- package/dist/composites/device-picker/SelectedChip.d.ts +10 -9
- package/dist/composites/device-picker/device-filter-bar.d.ts +19 -18
- package/dist/composites/device-picker/device-fleet-view.d.ts +11 -3
- package/dist/composites/device-picker/device-parent.d.ts +27 -27
- package/dist/composites/device-picker/device-picker-grouping.d.ts +3 -3
- package/dist/composites/device-picker/device-picker-model.d.ts +140 -140
- package/dist/composites/device-picker/device-selection-rows.d.ts +31 -24
- package/dist/composites/device-picker/device-selection.d.ts +43 -43
- package/dist/composites/device-picker/index.d.ts +9 -9
- package/dist/composites/device-select-field.d.ts +17 -16
- package/dist/composites/device-select-filter.d.ts +78 -78
- package/dist/composites/device-selector-picker.d.ts +25 -25
- package/dist/composites/device-step-matrix.d.ts +54 -28
- package/dist/composites/discovery-panel.d.ts +22 -22
- package/dist/composites/doorbell-recent-panel.d.ts +9 -8
- package/dist/composites/empty-state.d.ts +8 -8
- package/dist/composites/error-box.d.ts +32 -17
- package/dist/composites/event-kind-visuals.d.ts +29 -18
- package/dist/composites/event-stream.d.ts +59 -42
- package/dist/composites/extensions/AssociationSlotCard.d.ts +45 -24
- package/dist/composites/extensions/ExtensionsPanel.d.ts +41 -18
- package/dist/composites/extensions/extensions-view-state.d.ts +71 -53
- package/dist/composites/filter-bar.d.ts +22 -21
- package/dist/composites/form-field.d.ts +9 -9
- package/dist/composites/format-state-value.d.ts +23 -51
- package/dist/composites/grouped-model-selector.d.ts +7 -6
- package/dist/composites/hls-quality.d.ts +26 -26
- package/dist/composites/hls-video.d.ts +62 -39
- package/dist/composites/hover-zoom-image.d.ts +35 -16
- package/dist/composites/icon-picker.d.ts +86 -50
- package/dist/composites/image-selector.d.ts +21 -20
- package/dist/composites/index.d.ts +204 -204
- package/dist/composites/inference-config-selector.d.ts +36 -35
- package/dist/composites/kebab-menu.d.ts +53 -35
- package/dist/composites/key-value-list.d.ts +14 -14
- package/dist/composites/log-stream-scroll.d.ts +24 -24
- package/dist/composites/log-stream.d.ts +81 -70
- package/dist/composites/login-form.d.ts +7 -6
- package/dist/composites/model-bound-slider.d.ts +46 -26
- package/dist/composites/model-picker.d.ts +20 -19
- package/dist/composites/mount-addon-page.d.ts +12 -12
- package/dist/composites/network-link-badge.d.ts +7 -6
- package/dist/composites/node-picker.d.ts +14 -13
- package/dist/composites/notification-targets-field.d.ts +76 -58
- package/dist/composites/notification-targets-options.d.ts +9 -6
- package/dist/composites/option-select/OptionSelect.d.ts +23 -22
- package/dist/composites/option-select/index.d.ts +4 -4
- package/dist/composites/option-select/option-select-model.d.ts +35 -35
- package/dist/composites/page-header.d.ts +6 -6
- package/dist/composites/peer-connection-config.d.ts +9 -9
- package/dist/composites/phase-icon.d.ts +10 -3
- package/dist/composites/pipeline-builder.d.ts +21 -13
- package/dist/composites/pipeline-matrix-shared.d.ts +159 -150
- package/dist/composites/pipeline-runtime-selector.d.ts +12 -11
- package/dist/composites/pipeline-step.d.ts +39 -31
- package/dist/composites/placeholder-field/PlaceholderChipField.d.ts +23 -22
- package/dist/composites/placeholder-field/index.d.ts +1 -1
- package/dist/composites/provider-badge.d.ts +6 -5
- package/dist/composites/ptz-overlay.d.ts +38 -18
- package/dist/composites/qr-code.d.ts +24 -10
- package/dist/composites/reconnect-schedule.d.ts +22 -22
- package/dist/composites/resolve-step-default-model.d.ts +94 -94
- package/dist/composites/response-log.d.ts +7 -6
- package/dist/composites/root-model-source.d.ts +21 -10
- package/dist/composites/scope-picker.d.ts +49 -25
- package/dist/composites/section-card.d.ts +19 -11
- package/dist/composites/setting-row.d.ts +39 -21
- package/dist/composites/snapshot-button.d.ts +23 -19
- package/dist/composites/sort-header-button.d.ts +25 -8
- package/dist/composites/stat-card.d.ts +20 -8
- package/dist/composites/state-values-stream.d.ts +49 -24
- package/dist/composites/status-badge.d.ts +10 -8
- package/dist/composites/step-inspector/gate-control.d.ts +13 -12
- package/dist/composites/step-inspector/index.d.ts +8 -8
- package/dist/composites/step-inspector/layered-settings-form.d.ts +41 -30
- package/dist/composites/step-inspector/segmented-choice.d.ts +8 -7
- package/dist/composites/step-inspector/setting-values.d.ts +13 -8
- package/dist/composites/step-inspector/step-detail-dock.d.ts +39 -23
- package/dist/composites/step-inspector/step-inspector-panel.d.ts +34 -28
- package/dist/composites/step-inspector/step-model-row.d.ts +29 -24
- package/dist/composites/step-inspector/step-search.d.ts +11 -11
- package/dist/composites/step-timings.d.ts +7 -6
- package/dist/composites/step-tree.d.ts +17 -12
- package/dist/composites/stream-broker-selector.d.ts +29 -8
- package/dist/composites/stream-debug/stream-debug-overlay.d.ts +40 -40
- package/dist/composites/stream-debug/webrtc-debug-stats.d.ts +144 -129
- package/dist/composites/stream-panel.d.ts +212 -201
- package/dist/composites/table-sort.d.ts +61 -61
- package/dist/composites/timezone-selector.d.ts +15 -13
- package/dist/composites/training/send-frame-to-training.d.ts +5 -4
- package/dist/composites/training/training-collection-picker.d.ts +4 -3
- package/dist/composites/training/training-refusal-text.d.ts +6 -6
- package/dist/composites/unit-picker/UnitPicker.d.ts +19 -14
- package/dist/composites/unit-picker/index.d.ts +1 -1
- package/dist/composites/use-data-table-filter.d.ts +19 -19
- package/dist/composites/version-badge.d.ts +19 -18
- package/dist/composites/webrtc-diagnostics/EndpointTestCard.d.ts +7 -7
- package/dist/composites/webrtc-diagnostics/HubSessionTestCard.d.ts +14 -14
- package/dist/composites/webrtc-diagnostics/RunReport.d.ts +10 -5
- package/dist/composites/webrtc-diagnostics/endpoint-probe.d.ts +41 -21
- package/dist/composites/webrtc-diagnostics/endpoint-test.d.ts +37 -32
- package/dist/composites/webrtc-diagnostics/format.d.ts +3 -3
- package/dist/composites/webrtc-diagnostics/ice-candidates.d.ts +49 -49
- package/dist/composites/webrtc-diagnostics/nat-mapping.d.ts +36 -36
- package/dist/composites/webrtc-diagnostics/session-run.d.ts +108 -95
- package/dist/composites/webrtc-diagnostics/session-verdict.d.ts +29 -20
- package/dist/composites/widget-panel.d.ts +23 -23
- package/dist/composites/widget-slot.d.ts +35 -17
- package/dist/contexts/custom-field-renderers.d.ts +53 -17
- package/dist/contexts/device-context.d.ts +32 -12
- package/dist/contexts/device-quick-detail.d.ts +13 -4
- package/dist/contexts/player-overlays.d.ts +82 -42
- package/dist/contexts/recorded-playback.d.ts +40 -18
- package/dist/contexts/system-context.d.ts +28 -13
- package/dist/contexts/vod-playback.d.ts +39 -22
- package/dist/contexts/widget-registry.d.ts +139 -102
- package/dist/contexts/zone-editing.d.ts +69 -46
- package/dist/generated/system-hooks.d.ts +17 -1
- package/dist/hooks/index.d.ts +43 -43
- package/dist/hooks/turn-server-cache.d.ts +69 -69
- package/dist/hooks/use-capability-presence.d.ts +65 -28
- package/dist/hooks/use-cluster-nodes.d.ts +54 -27
- package/dist/hooks/use-device-autotrack.d.ts +7 -7
- package/dist/hooks/use-device-battery.d.ts +24 -11
- package/dist/hooks/use-device-cap-slice.d.ts +15 -15
- package/dist/hooks/use-device-capability.d.ts +61 -27
- package/dist/hooks/use-device-detections.d.ts +32 -32
- package/dist/hooks/use-device-features.d.ts +18 -18
- package/dist/hooks/use-device-list-page-size.d.ts +19 -6
- package/dist/hooks/use-device-network-link.d.ts +15 -7
- package/dist/hooks/use-device-proxy.d.ts +98 -92
- package/dist/hooks/use-device-snapshot.d.ts +23 -23
- package/dist/hooks/use-device-webrtc.d.ts +211 -205
- package/dist/hooks/use-devices.d.ts +9 -9
- package/dist/hooks/use-doorbell-events.d.ts +13 -13
- package/dist/hooks/use-event-stream.d.ts +6 -3
- package/dist/hooks/use-is-mobile.d.ts +5 -5
- package/dist/hooks/use-live-buffer.d.ts +5 -5
- package/dist/hooks/use-live-event.d.ts +1 -1
- package/dist/hooks/use-navigation.d.ts +20 -20
- package/dist/hooks/use-optimistic-slice.d.ts +13 -13
- package/dist/hooks/use-persisted-page-size.d.ts +10 -10
- package/dist/hooks/use-ptz.d.ts +108 -108
- package/dist/hooks/use-stationary-overlay.d.ts +37 -37
- package/dist/hooks/use-system-query.d.ts +33 -10
- package/dist/hooks/use-url-query.d.ts +3 -3
- package/dist/icons/index.d.ts +2 -2
- package/dist/icons/provider-icons.d.ts +2 -2
- package/dist/icons/status-icons.d.ts +2 -2
- package/dist/index.cjs +123 -69
- package/dist/index.d.ts +31 -27
- package/dist/index.js +123 -69
- package/dist/lib/cap-error.d.ts +18 -39
- package/dist/lib/cn.d.ts +1 -1
- package/dist/lib/fleet-query-defaults.d.ts +68 -34
- package/dist/lib/format-control-datetime.d.ts +16 -16
- package/dist/lib/format-duration.d.ts +12 -12
- package/dist/lib/format-last-seen.d.ts +5 -18
- package/dist/lib/format-numeric.d.ts +7 -7
- package/dist/lib/hub-mount.d.ts +8 -42
- package/dist/lib/index.d.ts +21 -21
- package/dist/lib/phase-config.d.ts +24 -11
- package/dist/lib/pipeline-mirror.d.ts +16 -16
- package/dist/lib/recorded-control-protocol.d.ts +41 -43
- package/dist/lib/resolve-sensor-display.d.ts +36 -20
- package/dist/lib/responsive.d.ts +54 -54
- package/dist/lib/scrub-controller.d.ts +75 -78
- package/dist/lib/shared-context.d.ts +27 -2
- package/dist/lib/tailwind-variants.d.ts +20 -20
- package/dist/primitives/badge.d.ts +5 -10
- package/dist/primitives/bottom-sheet.d.ts +7 -7
- package/dist/primitives/button.d.ts +5 -9
- package/dist/primitives/card.d.ts +4 -8
- package/dist/primitives/checkbox.d.ts +3 -4
- package/dist/primitives/collapsible-card.d.ts +23 -13
- package/dist/primitives/dialog.d.ts +33 -59
- package/dist/primitives/dropdown.d.ts +13 -13
- package/dist/primitives/floating-panel.d.ts +41 -20
- package/dist/primitives/icon-button.d.ts +8 -12
- package/dist/primitives/index.d.ts +22 -22
- package/dist/primitives/input.d.ts +6 -16
- package/dist/primitives/label.d.ts +3 -4
- package/dist/primitives/mobile-drawer.d.ts +8 -8
- package/dist/primitives/password-input.d.ts +18 -18
- package/dist/primitives/popover.d.ts +7 -7
- package/dist/primitives/scroll-area.d.ts +3 -4
- package/dist/primitives/select.d.ts +20 -20
- package/dist/primitives/separator.d.ts +4 -8
- package/dist/primitives/skeleton.d.ts +3 -4
- package/dist/primitives/switch.d.ts +6 -6
- package/dist/primitives/tabs.d.ts +26 -26
- package/dist/primitives/tooltip.d.ts +12 -12
- package/dist/theme/create-theme.d.ts +1 -1
- package/dist/theme/defaults.d.ts +1 -1
- package/dist/theme/index.d.ts +6 -6
- package/dist/theme/theme-provider.d.ts +8 -7
- package/dist/theme/theme-to-css.d.ts +1 -1
- package/dist/theme/types.d.ts +98 -100
- package/dist/theme/use-theme-mode.d.ts +1 -1
- package/dist/trpc-react.d.ts +23 -3
- package/dist/widgets/host-widgets.d.ts +4 -4
- package/package.json +8 -4
- package/src/tailwind/camstack-theme.css +11 -0
- package/dist/composites/unit-picker/UnitPicker.spec.d.ts +0 -1
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Pure mapping helpers for notification-target OptionSelect options.
|
|
3
|
+
*/
|
|
4
|
+
import type { OptionSelectOption } from "./option-select/option-select-model";
|
|
2
5
|
export type NotificationTargetOption = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
6
|
+
readonly id: string;
|
|
7
|
+
readonly name: string;
|
|
8
|
+
readonly enabled: boolean;
|
|
9
|
+
readonly kind?: string;
|
|
10
|
+
readonly addonId?: string;
|
|
8
11
|
};
|
|
9
12
|
export declare function targetsToOptions(targets: readonly NotificationTargetOption[], kindIconUrls: ReadonlyMap<string, string>, noteIds: ReadonlySet<string> | undefined, noteLabel: string): readonly OptionSelectOption[];
|
|
10
13
|
export declare function buildKindIconMap(rows: unknown): ReadonlyMap<string, string>;
|
|
@@ -1,30 +1,31 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { type JSX } from "react";
|
|
2
|
+
import type { OptionSelectOption } from "./option-select-model";
|
|
2
3
|
type OptionSelectSharedProps = {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
4
|
+
readonly options: readonly OptionSelectOption[];
|
|
5
|
+
readonly placeholder?: string;
|
|
6
|
+
readonly searchable?: boolean;
|
|
7
|
+
readonly disabled?: boolean;
|
|
8
|
+
readonly emptyMessage?: string;
|
|
9
|
+
readonly creatable?: boolean;
|
|
10
|
+
readonly createLabel?: string;
|
|
11
|
+
readonly onCreateRequest?: (draft: string) => void;
|
|
12
|
+
readonly label?: string;
|
|
13
|
+
readonly description?: string;
|
|
14
|
+
readonly testId?: string;
|
|
15
|
+
readonly optionTestIdPrefix?: string;
|
|
16
|
+
readonly listboxId?: string;
|
|
16
17
|
};
|
|
17
18
|
export type OptionSelectSingleProps = OptionSelectSharedProps & {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
19
|
+
readonly mode: "single";
|
|
20
|
+
readonly value: string;
|
|
21
|
+
readonly onChange: (next: string) => void;
|
|
21
22
|
};
|
|
22
23
|
export type OptionSelectMultiProps = OptionSelectSharedProps & {
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
24
|
+
readonly mode: "multi";
|
|
25
|
+
readonly value: readonly string[];
|
|
26
|
+
readonly onChange: (next: string[]) => void;
|
|
27
|
+
readonly maxItems?: number;
|
|
27
28
|
};
|
|
28
29
|
export type OptionSelectProps = OptionSelectSingleProps | OptionSelectMultiProps;
|
|
29
|
-
export declare function OptionSelect(props: OptionSelectProps):
|
|
30
|
+
export declare function OptionSelect(props: OptionSelectProps): JSX.Element | null;
|
|
30
31
|
export {};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export type { OptionSelectOption } from
|
|
2
|
-
export { OPTION_SELECT_SEARCH_MIN_OPTIONS, catalogHasDraft, draftFromQuery, filterOptions, optionSearchText, partitionSelected, resolveSearchable, shouldShowAddNewFooter, shouldShowUseQueryRow
|
|
3
|
-
export type { OptionSelectMultiProps, OptionSelectProps, OptionSelectSingleProps
|
|
4
|
-
export { OptionSelect } from
|
|
1
|
+
export type { OptionSelectOption } from "./option-select-model";
|
|
2
|
+
export { OPTION_SELECT_SEARCH_MIN_OPTIONS, catalogHasDraft, draftFromQuery, filterOptions, optionSearchText, partitionSelected, resolveSearchable, shouldShowAddNewFooter, shouldShowUseQueryRow } from "./option-select-model";
|
|
3
|
+
export type { OptionSelectMultiProps, OptionSelectProps, OptionSelectSingleProps } from "./OptionSelect";
|
|
4
|
+
export { OptionSelect } from "./OptionSelect";
|
|
@@ -1,56 +1,56 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
2
|
+
* Pure filter/partition helpers for OptionSelect.
|
|
3
|
+
*
|
|
4
|
+
* Search is a case-insensitive substring match folded over each option's
|
|
5
|
+
* `value`, `label`, and `description`. Multi-token queries require every
|
|
6
|
+
* token to match (AND).
|
|
7
|
+
*/
|
|
8
8
|
export type OptionSelectOption = {
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
9
|
+
value: string;
|
|
10
|
+
label: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
iconUrl?: string;
|
|
13
|
+
iconId?: string;
|
|
14
|
+
disabled?: boolean;
|
|
15
|
+
badge?: string;
|
|
16
16
|
};
|
|
17
17
|
/** Number of options at/above which search is enabled by default (unless creatable). */
|
|
18
18
|
export declare const OPTION_SELECT_SEARCH_MIN_OPTIONS = 8;
|
|
19
19
|
/** Fold an option into a single lower-cased haystack (value + label + description). */
|
|
20
20
|
export declare function optionSearchText(opt: OptionSelectOption): string;
|
|
21
21
|
/**
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
22
|
+
* Filter options by a free-text query. An empty / whitespace-only query
|
|
23
|
+
* returns every option (identity, preserving order).
|
|
24
|
+
*/
|
|
25
25
|
export declare function filterOptions(options: readonly OptionSelectOption[], query: string): readonly OptionSelectOption[];
|
|
26
26
|
/**
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
27
|
+
* Split options into the currently-selected set (in selection order) and the
|
|
28
|
+
* rest. Selected values with no matching option are surfaced as synthetic
|
|
29
|
+
* options whose label falls back to the raw value.
|
|
30
|
+
*/
|
|
31
31
|
export declare function partitionSelected(options: readonly OptionSelectOption[], selected: readonly string[]): {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
readonly selectedOptions: readonly OptionSelectOption[];
|
|
33
|
+
readonly unselected: readonly OptionSelectOption[];
|
|
34
34
|
};
|
|
35
35
|
export declare function resolveSearchable(optionCount: number, creatable: boolean, searchable: boolean | undefined): boolean;
|
|
36
36
|
/** Trimmed non-empty draft from the search box, or null when absent. */
|
|
37
37
|
export declare function draftFromQuery(query: string): string | null;
|
|
38
38
|
/**
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
39
|
+
* True when an existing catalog option already represents this draft (value or
|
|
40
|
+
* label, case-insensitive). Used to hide the “Use «query»” row when redundant.
|
|
41
|
+
*/
|
|
42
42
|
export declare function catalogHasDraft(options: readonly OptionSelectOption[], draft: string): boolean;
|
|
43
43
|
/**
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
44
|
+
* Show the footer “Add new…” action only when creatable AND the caller
|
|
45
|
+
* provided `onCreateRequest` (e.g. open a dedicated create dialog).
|
|
46
|
+
*
|
|
47
|
+
* Without that hook the footer was a no-op (it only focused the search box),
|
|
48
|
+
* which read as “Add new is broken”. Free-form create already works via the
|
|
49
|
+
* “Use «query»” row once the operator types — no footer needed.
|
|
50
|
+
*/
|
|
51
51
|
export declare function shouldShowAddNewFooter(creatable: boolean, hasCreateRequest: boolean): boolean;
|
|
52
52
|
/**
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
53
|
+
* Show the “Use «query»” commit row: creatable, a non-empty draft, and no
|
|
54
|
+
* catalog option that already matches the draft.
|
|
55
|
+
*/
|
|
56
56
|
export declare function shouldShowUseQueryRow(creatable: boolean, query: string, options: readonly OptionSelectOption[]): boolean;
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { ReactNode } from
|
|
1
|
+
import { type ReactNode, type JSX } from "react";
|
|
2
2
|
export interface PageHeaderProps {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
title: string;
|
|
4
|
+
subtitle?: string;
|
|
5
|
+
actions?: ReactNode;
|
|
6
|
+
className?: string;
|
|
7
7
|
}
|
|
8
|
-
export declare function PageHeader({ title, subtitle, actions, className }: PageHeaderProps):
|
|
8
|
+
export declare function PageHeader({ title, subtitle, actions, className }: PageHeaderProps): JSX.Element;
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
2
|
+
* The player's `RTCConfiguration`, in one place for every connect path.
|
|
3
|
+
*
|
|
4
|
+
* The player never forces `iceTransportPolicy: 'relay'` on its own (werift's
|
|
5
|
+
* relay forward is unreliable across two real TURN servers, and relay would
|
|
6
|
+
* defeat the direct LAN/Tailscale path). The policy exists for the WebRTC
|
|
7
|
+
* diagnostics only, which run the SAME player once with `all` and once with
|
|
8
|
+
* `relay` to tell a reachable relay path from a dead one. Absent, the key is
|
|
9
|
+
* not set at all, so a production connect is byte-for-byte what it was.
|
|
10
|
+
*/
|
|
11
11
|
/** Public STUN kept as a fallback beside whatever the hub's TURN provider returns. */
|
|
12
12
|
export declare const FALLBACK_STUN_SERVER: RTCIceServer;
|
|
13
13
|
export declare function buildPeerConnectionConfig(iceServers: readonly RTCIceServer[] | undefined, iceTransportPolicy: RTCIceTransportPolicy | undefined): RTCConfiguration;
|
|
@@ -1,5 +1,12 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* PhaseIcon — renders the correct lucide icon for a CameraPhase.
|
|
3
|
+
*
|
|
4
|
+
* Wraps the PHASE_CONFIG icon name → component resolution so consumers
|
|
5
|
+
* don't need to maintain their own icon switch/map.
|
|
6
|
+
*/
|
|
7
|
+
import { type LucideProps } from "lucide-react";
|
|
8
|
+
import { type JSX } from "react";
|
|
2
9
|
export interface PhaseIconProps extends LucideProps {
|
|
3
|
-
|
|
10
|
+
readonly phase: string;
|
|
4
11
|
}
|
|
5
|
-
export declare function PhaseIcon({ phase, ...props }: PhaseIconProps):
|
|
12
|
+
export declare function PhaseIcon({ phase, ...props }: PhaseIconProps): JSX.Element;
|
|
@@ -1,15 +1,23 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/**
|
|
2
|
+
* PipelineBuilder — orchestrates the pipeline step tree.
|
|
3
|
+
*
|
|
4
|
+
* Renders the step tree from schema with nested children and placeholder steps
|
|
5
|
+
* for disabled addons, all driven by API schema. There are no saved pipeline
|
|
6
|
+
* templates (D759): the tree is the caller's state.
|
|
7
|
+
*/
|
|
8
|
+
import { type JSX } from "react";
|
|
9
|
+
import type { PipelineSchema } from "@camstack/types";
|
|
10
|
+
import type { PipelineStepDisplayConfig } from "./pipeline-step";
|
|
3
11
|
export interface PipelineBuilderProps {
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
readonly schema: PipelineSchema;
|
|
13
|
+
readonly steps: readonly PipelineStepDisplayConfig[];
|
|
14
|
+
readonly onChange: (steps: readonly PipelineStepDisplayConfig[]) => void;
|
|
15
|
+
readonly readOnly?: boolean;
|
|
16
|
+
/** Addon IDs to exclude from the pipeline (e.g. 'motion-detection' for benchmark) */
|
|
17
|
+
readonly excludeAddons?: readonly string[];
|
|
18
|
+
/** Only show enabled steps (hide disabled addons and placeholders) */
|
|
19
|
+
readonly showOnlyEnabled?: boolean;
|
|
20
|
+
/** Show "Slot: ..." labels above step groups (default: false) */
|
|
21
|
+
readonly showSlotLabels?: boolean;
|
|
14
22
|
}
|
|
15
|
-
export declare function PipelineBuilder({ schema, steps, onChange, readOnly, excludeAddons, showOnlyEnabled, showSlotLabels
|
|
23
|
+
export declare function PipelineBuilder({ schema, steps, onChange, readOnly, excludeAddons, showOnlyEnabled, showSlotLabels }: PipelineBuilderProps): JSX.Element;
|
|
@@ -1,190 +1,199 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
1
|
+
/**
|
|
2
|
+
* pipeline-matrix-shared — the presentation primitives shared by every
|
|
3
|
+
* steps×nodes matrix surface (the cluster `PipelineTreeMatrix` and the
|
|
4
|
+
* per-camera `DeviceStepMatrix`). Extracted so the two matrices render an
|
|
5
|
+
* IDENTICAL cell/label/track vocabulary and can never drift apart.
|
|
6
|
+
*
|
|
7
|
+
* Nothing here holds state or talks to a store — pure display + one pure
|
|
8
|
+
* layout-decision helper (`shouldUseSingleNode`).
|
|
9
|
+
*/
|
|
10
|
+
import { type ReactNode, type JSX } from "react";
|
|
11
|
+
import type { PipelineSlot } from "@camstack/types";
|
|
12
|
+
import type { StepTreeNode } from "./step-tree";
|
|
4
13
|
export interface AgentColumn {
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
14
|
+
readonly agentNodeId: string;
|
|
15
|
+
readonly engineLabel: string;
|
|
16
|
+
/**
|
|
17
|
+
* When set, this column is a per-device sub-column of its node — one enabled
|
|
18
|
+
* inference accelerator (C7.4). MULTIPLE `AgentColumn`s with the SAME
|
|
19
|
+
* `agentNodeId` and distinct `deviceKey` expand a node into device columns.
|
|
20
|
+
* A column with `deviceKey` undefined is a plain per-node column (today's
|
|
21
|
+
* behaviour — rendered identically).
|
|
22
|
+
*/
|
|
23
|
+
readonly deviceKey?: string;
|
|
24
|
+
/** Short human label for the device sub-column header (e.g. "Intel NPU"). */
|
|
25
|
+
readonly deviceLabel?: string;
|
|
26
|
+
/** The node's display name for the group header (defaults to `agentNodeId`). */
|
|
27
|
+
readonly nodeLabel?: string;
|
|
28
|
+
/** A third header line — the model this accelerator elects for detection. */
|
|
29
|
+
readonly detail?: string;
|
|
30
|
+
/** The accelerator is switched off: shown, marked, and never a dispatch target. */
|
|
31
|
+
readonly disabled?: boolean;
|
|
23
32
|
}
|
|
24
33
|
/**
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
34
|
+
* Stable column identity. Plain per-node columns key by `agentNodeId` (so the
|
|
35
|
+
* rendered `key` is byte-identical to the pre-C7.4 matrix); device sub-columns
|
|
36
|
+
* disambiguate with their `deviceKey`. MUST be used everywhere a React `key`,
|
|
37
|
+
* selection compare, or column identity is derived.
|
|
38
|
+
*/
|
|
30
39
|
export declare function agentColumnKey(a: AgentColumnIdentity): string;
|
|
31
40
|
/** Minimal identity shape shared by `AgentColumn` and `MatrixSelectedCell`. */
|
|
32
41
|
export interface AgentColumnIdentity {
|
|
33
|
-
|
|
34
|
-
|
|
42
|
+
readonly agentNodeId: string;
|
|
43
|
+
readonly deviceKey?: string;
|
|
35
44
|
}
|
|
36
45
|
/**
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
46
|
+
* The currently-selected cell, identified by step addon + column identity.
|
|
47
|
+
* A plain per-node selection carries no `deviceKey` (so existing consumers pass
|
|
48
|
+
* their `{ addonId, agentNodeId }` state unchanged); a per-device selection adds
|
|
49
|
+
* the `deviceKey` of the picked sub-column.
|
|
50
|
+
*/
|
|
42
51
|
export interface MatrixSelectedCell {
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
52
|
+
readonly addonId: string;
|
|
53
|
+
readonly agentNodeId: string;
|
|
54
|
+
readonly deviceKey?: string;
|
|
46
55
|
}
|
|
47
56
|
/**
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
57
|
+
* A node's header super-cell: one node grouping ONE or MORE consecutive
|
|
58
|
+
* `AgentColumn`s (device sub-columns) that share its `agentNodeId`.
|
|
59
|
+
* - `grouped: false` — a single plain column (no `deviceKey`): the header
|
|
60
|
+
* renders EXACTLY the pre-C7.4 single node header (node name + engineLabel).
|
|
61
|
+
* - `grouped: true` — 2+ device sub-columns: a node super-label spanning the
|
|
62
|
+
* sub-columns, with a per-device sub-label row beneath.
|
|
63
|
+
*/
|
|
55
64
|
export interface AgentColumnGroup {
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
readonly agentNodeId: string;
|
|
66
|
+
readonly engineLabel: string;
|
|
67
|
+
readonly columns: readonly AgentColumn[];
|
|
68
|
+
readonly grouped: boolean;
|
|
60
69
|
}
|
|
61
70
|
/**
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
71
|
+
* Coalesce CONSECUTIVE columns that share an `agentNodeId` into node groups.
|
|
72
|
+
* Order-preserving: the flat column order is untouched, so body cells still map
|
|
73
|
+
* 1:1 to `agents`. A run of length 1 is a plain (ungrouped) node header.
|
|
74
|
+
*/
|
|
66
75
|
export declare function groupAgentColumns(agents: readonly AgentColumn[]): readonly AgentColumnGroup[];
|
|
67
76
|
/**
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
77
|
+
* A single (step, node) cell's rendered state.
|
|
78
|
+
* - `enabled` — the node runs a model for this step (chip + optional `ovr`).
|
|
79
|
+
* - `disabled` — cluster-default off (used by the per-node matrix only).
|
|
80
|
+
* - `skip` — #33: gated ON for the camera but this node has no compatible
|
|
81
|
+
* model — a visible amber status, never silent.
|
|
82
|
+
* - `na` — not applicable on this node.
|
|
83
|
+
*/
|
|
75
84
|
export type CellState = {
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
85
|
+
readonly kind: "enabled";
|
|
86
|
+
readonly modelId: string;
|
|
87
|
+
readonly overridden?: boolean;
|
|
88
|
+
/**
|
|
89
|
+
* Step-tree device jump (phase 1): a short label of the OTHER same-node
|
|
90
|
+
* device this step runs on (operator manual override). Renders a subtle
|
|
91
|
+
* "→ label" badge on the cell.
|
|
92
|
+
*/
|
|
93
|
+
readonly jumpTo?: string;
|
|
94
|
+
/**
|
|
95
|
+
* This model is a CLUSTER-wide choice, not a per-(node,device) one — the
|
|
96
|
+
* step writes into a shared vector index, where two encoders make
|
|
97
|
+
* similarity scores meaningless.
|
|
98
|
+
*
|
|
99
|
+
* The cell must SAY so. Rendering a cluster value in a per-node matrix
|
|
100
|
+
* with no marking invites the operator to change it expecting a per-node
|
|
101
|
+
* effect, and to read a neighbouring node's identical value as a
|
|
102
|
+
* coincidence rather than as the same single row.
|
|
103
|
+
*/
|
|
104
|
+
readonly clusterWide?: boolean;
|
|
105
|
+
/**
|
|
106
|
+
* The root model whose output IS this step's result here (D730) — the
|
|
107
|
+
* step's "Use the root model" flag is on and the root supplies it, so the
|
|
108
|
+
* step's own model does not run. Renders a "root" chip: an enabled cell
|
|
109
|
+
* whose model is not the one answering must say so.
|
|
110
|
+
*/
|
|
111
|
+
readonly suppliedByRoot?: string;
|
|
103
112
|
} | {
|
|
104
|
-
|
|
105
|
-
|
|
113
|
+
readonly kind: "disabled";
|
|
114
|
+
readonly overridden?: boolean;
|
|
106
115
|
} | {
|
|
107
|
-
|
|
116
|
+
readonly kind: "na";
|
|
108
117
|
} | {
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
118
|
+
readonly kind: "skip";
|
|
119
|
+
/**
|
|
120
|
+
* Step-tree device jump (phase 1): this device's format can't run the
|
|
121
|
+
* step, but it AUTO-jumps to this labelled same-node device — renders a
|
|
122
|
+
* subtle "→ label" badge in place of the "⚠ skip" degrade marker.
|
|
123
|
+
*/
|
|
124
|
+
readonly jumpTo?: string;
|
|
116
125
|
};
|
|
117
126
|
/**
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
127
|
+
* Fixed column geometry (rem). Both matrices use CSS-grid STATIC track widths
|
|
128
|
+
* so a cell's content (a status chip, a long model id) can never resize a
|
|
129
|
+
* column or shift its neighbours — content truncates WITHIN the fixed track.
|
|
130
|
+
* This kills the "table dances when the last column's status changes" jitter.
|
|
131
|
+
*/
|
|
123
132
|
export declare const AGENT_COL_REM = 13;
|
|
124
133
|
export declare const REM_PX = 16;
|
|
125
134
|
export declare const AGENT_COL_PX: number;
|
|
126
135
|
export interface FlatRow {
|
|
127
|
-
|
|
128
|
-
|
|
136
|
+
readonly node: StepTreeNode;
|
|
137
|
+
readonly depth: number;
|
|
129
138
|
}
|
|
130
139
|
export declare function flattenTree(nodes: readonly StepTreeNode[]): readonly FlatRow[];
|
|
131
140
|
/**
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
141
|
+
* Layout decision for the responsive A↔B switch. Pure so it can be unit-tested
|
|
142
|
+
* in isolation from the DOM. An unmeasured container (`width <= 0`) always
|
|
143
|
+
* defaults to the wide matrix so there is no first-paint flash into the
|
|
144
|
+
* fallback.
|
|
145
|
+
*
|
|
146
|
+
* Two regimes, because the sticky step column occludes the scroll area on a
|
|
147
|
+
* narrow viewport:
|
|
148
|
+
* - MULTI-node (`nodeCount >= 2`): fall back when the container can't show the
|
|
149
|
+
* step column plus at least TWO node columns side by side — the fallback
|
|
150
|
+
* picks ONE node.
|
|
151
|
+
* - SINGLE node expanded into `columnCount` device sub-columns (the per-node
|
|
152
|
+
* BASE matrix): the wide grid pins a `sticky left-0` step column (`stepColPx`
|
|
153
|
+
* wide); on a phone that column covers nearly the whole viewport, so the
|
|
154
|
+
* horizontal-scroll area behind it shows only slivers of each device column
|
|
155
|
+
* and no column can be brought fully into view. Fall back to the FLUID
|
|
156
|
+
* single-node layout whenever all `columnCount` device columns can't sit
|
|
157
|
+
* beside the step column without scrolling. `columnCount` defaults to
|
|
158
|
+
* `nodeCount` (one column per node) for the multi-node consumers.
|
|
159
|
+
*/
|
|
151
160
|
export declare function shouldUseSingleNode(width: number, nodeCount: number, stepColPx: number, agentColPx?: number, columnCount?: number): boolean;
|
|
152
161
|
export declare function SlotHeading({ slot }: {
|
|
153
|
-
|
|
154
|
-
}):
|
|
155
|
-
export declare function ClassChips({ inputs, outputs
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
}):
|
|
162
|
+
readonly slot: PipelineSlot;
|
|
163
|
+
}): JSX.Element | null;
|
|
164
|
+
export declare function ClassChips({ inputs, outputs }: {
|
|
165
|
+
readonly inputs: readonly string[];
|
|
166
|
+
readonly outputs: readonly string[];
|
|
167
|
+
}): JSX.Element | null;
|
|
159
168
|
/**
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
169
|
+
* Grouped node header (C7.4): a node super-label spanning its device
|
|
170
|
+
* sub-columns, with a per-device sub-label row beneath. Rendered ONLY for a
|
|
171
|
+
* node expanded into 2+ device sub-columns; a single plain column keeps each
|
|
172
|
+
* matrix's own byte-identical single-header markup. The spanning cell uses
|
|
173
|
+
* `gridColumn: span N` so it aligns to its N body columns; the inner flex row
|
|
174
|
+
* gives each device its own equal-width, padded sub-label slot.
|
|
175
|
+
*
|
|
176
|
+
* The node super-label carries ONLY the node id — NOT a single engine/format
|
|
177
|
+
* subtitle. When device sub-columns have differing formats (e.g. Coral `tflite`
|
|
178
|
+
* beside two OpenVINO devices), one node-level format label is a lie taken from
|
|
179
|
+
* the first column; each device's real format is shown per sub-column instead
|
|
180
|
+
* ("Coral Edge TPU · tflite").
|
|
181
|
+
*/
|
|
173
182
|
/** The per-accelerator lines of a column header: name, format, model, off. */
|
|
174
183
|
export declare function AgentColumnLines({ column }: {
|
|
175
|
-
|
|
176
|
-
}):
|
|
184
|
+
readonly column: AgentColumn;
|
|
185
|
+
}): JSX.Element | null;
|
|
177
186
|
export declare function GroupedAgentHeader({ group }: {
|
|
178
|
-
|
|
179
|
-
}):
|
|
187
|
+
readonly group: AgentColumnGroup;
|
|
188
|
+
}): JSX.Element | null;
|
|
180
189
|
/** Step label (slot heading + addon name + class chips), shared by both views. */
|
|
181
190
|
export declare function StepLabel({ node }: {
|
|
182
|
-
|
|
183
|
-
}):
|
|
191
|
+
readonly node: StepTreeNode;
|
|
192
|
+
}): JSX.Element | null;
|
|
184
193
|
/**
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
194
|
+
* Cell content. Width-stable: the status dot is `shrink-0` (reserved space) and
|
|
195
|
+
* the model id truncates inside a `min-w-0` flex row, so a longer model id never
|
|
196
|
+
* widens the cell — it ellipsises instead.
|
|
197
|
+
*/
|
|
189
198
|
export declare function renderCellContent(state: CellState): ReactNode;
|
|
190
199
|
export declare function cellButtonClass(state: CellState, isSelected: boolean, extra?: string): string;
|