@camstack/ui-library 1.2.257 → 1.2.259
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 +124 -69
- package/dist/index.d.ts +31 -27
- package/dist/index.js +124 -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
package/dist/lib/hub-mount.d.ts
CHANGED
|
@@ -1,50 +1,16 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
* → `https://<hub>:4443/…` — so the browser never has to trust the hub's
|
|
7
|
-
* local certificate. The relay sends `X-Forwarded-Prefix` and the hub
|
|
8
|
-
* injects two things into the shell it serves for that request:
|
|
9
|
-
*
|
|
10
|
-
* <base href="<prefix>/">
|
|
11
|
-
* <meta name="camstack-mount" content="<prefix>/">
|
|
12
|
-
*
|
|
13
|
-
* This module is the ONE reader of that fact. Every URL the page composes
|
|
14
|
-
* toward the hub — tRPC HTTP and WS, `/api/webrtc`, `/addon/…` data planes,
|
|
15
|
-
* `/api/addon-assets`, MF remote entries, `<img src>` — goes through it:
|
|
16
|
-
*
|
|
17
|
-
* - `hubPath('/api/x')` → `/api/x` at the root, `/<prefix>/api/x` under one.
|
|
18
|
-
* A same-origin path; the default for fetch, `<img>`, links.
|
|
19
|
-
* - `hubOrigin()` → `https://host` or `https://host/<prefix>`; the
|
|
20
|
-
* `serverUrl` handed to the SDK and the players (they append `/trpc`,
|
|
21
|
-
* `/api/webrtc`, `/adaptive-probe` themselves).
|
|
22
|
-
* - `hubUrl()` / `hubWsUrl()` — absolute http(s) / ws(s) forms.
|
|
23
|
-
* - `routerBasename()` → `''` or `/<prefix>`, for `<BrowserRouter>`.
|
|
24
|
-
*
|
|
25
|
-
* Why not `window.location.origin` + a literal: `<base>` does not apply to a
|
|
26
|
-
* root-absolute path, so `'/api/x'` leaves the relay and lands on HA's own
|
|
27
|
-
* `/api/x`. And why not `document.baseURI` alone: without a `<base>` it is
|
|
28
|
-
* the DOCUMENT's URL, so `/devices/5` would read as a mount of `/devices/`.
|
|
29
|
-
* The meta is the authority; a `<base>` element is accepted on its own for a
|
|
30
|
-
* host that injects only that.
|
|
31
|
-
*
|
|
32
|
-
* `scripts/check-hub-paths-through-mount.ts` keeps every other module from
|
|
33
|
-
* spelling a hub path directly.
|
|
34
|
-
*/
|
|
35
|
-
/**
|
|
36
|
-
* The path the app is mounted at, with a trailing slash: `/` or `/<prefix>/`.
|
|
37
|
-
* Resolved once — the shell is the only thing that can say where it lives,
|
|
38
|
-
* and it says so before any script runs.
|
|
39
|
-
*/
|
|
2
|
+
* The path the app is mounted at, with a trailing slash: `/` or `/<prefix>/`.
|
|
3
|
+
* Resolved once — the shell is the only thing that can say where it lives,
|
|
4
|
+
* and it says so before any script runs.
|
|
5
|
+
*/
|
|
40
6
|
export declare function mountPath(): string;
|
|
41
7
|
/** `<BrowserRouter basename>`: the mount without its trailing slash. */
|
|
42
8
|
export declare function routerBasename(): string;
|
|
43
9
|
/**
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
10
|
+
* A same-origin path under the mount. Absolute URLs and paths already under
|
|
11
|
+
* the mount pass through unchanged, so a server-stamped `bundleUrl` can be
|
|
12
|
+
* wrapped without knowing whether it was.
|
|
13
|
+
*/
|
|
48
14
|
export declare function hubPath(pathname: string): string;
|
|
49
15
|
/** The absolute hub base with no trailing slash — the SDK's `serverUrl`. */
|
|
50
16
|
export declare function hubOrigin(): string;
|
package/dist/lib/index.d.ts
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
export { cn } from
|
|
2
|
-
export { formatLastSeen } from
|
|
3
|
-
export { formatControlDateTime } from
|
|
4
|
-
export type { ControlDateTimeFormat } from
|
|
5
|
-
export { formatNumeric } from
|
|
6
|
-
export { resolveSensorDisplay } from
|
|
7
|
-
export type { SensorDisplayInput, ResolvedSensorDisplay } from
|
|
8
|
-
export { isAbsentProvider } from
|
|
9
|
-
export * from
|
|
10
|
-
export { mirror } from
|
|
11
|
-
export type { MirrorSource, MirrorInput, MirrorOutcome, MirrorResultEntry
|
|
12
|
-
export { PHASE_CONFIG, getPhaseVisual } from
|
|
13
|
-
export type { PhaseVisual } from
|
|
14
|
-
export { createSharedContext } from
|
|
15
|
-
export { ensureMfHostInit } from
|
|
16
|
-
export { hubOrigin, hubPath, hubUrl, hubWsUrl, mountPath, resetHubMountForTests, routerBasename
|
|
17
|
-
export { serializeRecordedCommand, parseRecordedServerMessage, RECORDED_PLAYBACK_MODES
|
|
18
|
-
export type { RecordedControlCommand, RecordedPlaybackMode, RecordedServerMessage
|
|
19
|
-
export { scrubReducer, initialScrubState, shouldEmit, shouldCommit, cursorFractionFor, makeScrubBridge, useScrubController, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS
|
|
20
|
-
export type { ScrubSource, ScrubState, ScrubAction, ScrubController, PlaybackControlSink, LastCommit
|
|
21
|
-
export { applyFleetQueryDefaults, FLEET_LIST_QUERY_KEY, FLEET_LIST_STALE_TIME_MS, FLEET_LIST_GC_TIME_MS
|
|
1
|
+
export { cn } from "./cn";
|
|
2
|
+
export { formatLastSeen } from "./format-last-seen";
|
|
3
|
+
export { formatControlDateTime } from "./format-control-datetime";
|
|
4
|
+
export type { ControlDateTimeFormat } from "./format-control-datetime";
|
|
5
|
+
export { formatNumeric } from "./format-numeric";
|
|
6
|
+
export { resolveSensorDisplay } from "./resolve-sensor-display";
|
|
7
|
+
export type { SensorDisplayInput, ResolvedSensorDisplay } from "./resolve-sensor-display";
|
|
8
|
+
export { isAbsentProvider } from "./cap-error";
|
|
9
|
+
export * from "./responsive";
|
|
10
|
+
export { mirror } from "./pipeline-mirror";
|
|
11
|
+
export type { MirrorSource, MirrorInput, MirrorOutcome, MirrorResultEntry } from "./pipeline-mirror";
|
|
12
|
+
export { PHASE_CONFIG, getPhaseVisual } from "./phase-config";
|
|
13
|
+
export type { PhaseVisual } from "./phase-config";
|
|
14
|
+
export { createSharedContext } from "./shared-context";
|
|
15
|
+
export { ensureMfHostInit } from "./mf-runtime-init";
|
|
16
|
+
export { hubOrigin, hubPath, hubUrl, hubWsUrl, mountPath, resetHubMountForTests, routerBasename } from "./hub-mount";
|
|
17
|
+
export { serializeRecordedCommand, parseRecordedServerMessage, RECORDED_PLAYBACK_MODES } from "./recorded-control-protocol";
|
|
18
|
+
export type { RecordedControlCommand, RecordedPlaybackMode, RecordedServerMessage } from "./recorded-control-protocol";
|
|
19
|
+
export { scrubReducer, initialScrubState, shouldEmit, shouldCommit, cursorFractionFor, makeScrubBridge, useScrubController, COMMIT_DEDUPE_TOLERANCE_MS, COMMIT_DEDUPE_WINDOW_MS } from "./scrub-controller";
|
|
20
|
+
export type { ScrubSource, ScrubState, ScrubAction, ScrubController, PlaybackControlSink, LastCommit } from "./scrub-controller";
|
|
21
|
+
export { applyFleetQueryDefaults, FLEET_LIST_QUERY_KEY, FLEET_LIST_STALE_TIME_MS, FLEET_LIST_GC_TIME_MS } from "./fleet-query-defaults";
|
|
@@ -1,15 +1,28 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* phase-config — canonical visual config for CameraPhase values.
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for label, color classes, dot class, and
|
|
5
|
+
* lucide icon name. Every UI surface (PhaseBadge, CameraStatusStrip,
|
|
6
|
+
* CameraAssignmentsTable, DeviceDetail, OverviewTab, NodeLiveTab)
|
|
7
|
+
* imports from here instead of hardcoding phase → style mappings.
|
|
8
|
+
*
|
|
9
|
+
* Icon components are NOT imported here (would pull lucide-react into
|
|
10
|
+
* the config module). Consumers import the icon by name themselves:
|
|
11
|
+
* `import { [cfg.icon] } from 'lucide-react'`
|
|
12
|
+
* or use the provided `PhaseIcon` component from `./phase-icon.tsx`.
|
|
13
|
+
*/
|
|
14
|
+
import type { CameraPhase } from "@camstack/types";
|
|
2
15
|
export interface PhaseVisual {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
16
|
+
/** Human-readable label (e.g. "Active", "Load-Shed"). */
|
|
17
|
+
readonly label: string;
|
|
18
|
+
/** Tailwind text color class (e.g. "text-success"). */
|
|
19
|
+
readonly textColor: string;
|
|
20
|
+
/** Tailwind border+bg classes for pill/badge containers. */
|
|
21
|
+
readonly badgeClass: string;
|
|
22
|
+
/** Tailwind class for the status dot (circle indicator). */
|
|
23
|
+
readonly dotClass: string;
|
|
24
|
+
/** Lucide icon name to use for this phase. */
|
|
25
|
+
readonly icon: "Activity" | "Eye" | "AlertTriangle" | "PauseCircle" | "PowerOff";
|
|
13
26
|
}
|
|
14
27
|
export declare const PHASE_CONFIG: Record<CameraPhase, PhaseVisual>;
|
|
15
28
|
/** Look up phase config with a safe fallback to `watching` for unknown values. */
|
|
@@ -1,23 +1,23 @@
|
|
|
1
|
-
import { AgentAddonConfig, CameraStepOverridePatch, PipelineSchema } from
|
|
1
|
+
import type { AgentAddonConfig, CameraStepOverridePatch, PipelineSchema } from "@camstack/types";
|
|
2
2
|
export interface MirrorSource {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
3
|
+
readonly nodeId: string;
|
|
4
|
+
readonly engine: {
|
|
5
|
+
readonly format: string;
|
|
6
|
+
};
|
|
7
|
+
readonly defaults: Readonly<Record<string, AgentAddonConfig>>;
|
|
8
8
|
}
|
|
9
9
|
export interface MirrorInput {
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
10
|
+
readonly source: MirrorSource;
|
|
11
|
+
readonly target: MirrorSource;
|
|
12
|
+
readonly catalog: PipelineSchema;
|
|
13
|
+
readonly addonIds: readonly string[];
|
|
14
14
|
}
|
|
15
|
-
export type MirrorOutcome =
|
|
15
|
+
export type MirrorOutcome = "exact" | "mapped" | "skip";
|
|
16
16
|
export interface MirrorResultEntry {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
17
|
+
readonly addonId: string;
|
|
18
|
+
readonly outcome: MirrorOutcome;
|
|
19
|
+
readonly modelId: string | null;
|
|
20
|
+
readonly reason?: string;
|
|
21
|
+
readonly patch: CameraStepOverridePatch | null;
|
|
22
22
|
}
|
|
23
23
|
export declare function mirror(input: MirrorInput): readonly MirrorResultEntry[];
|
|
@@ -1,61 +1,59 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
2
|
+
* Client-side wire codec for the `camstack-control` RTCDataChannel (R9).
|
|
3
|
+
*
|
|
4
|
+
* Mirrors the broker's `control-protocol.ts`
|
|
5
|
+
* (packages/addon-pipeline/src/stream-broker/recorded/control-protocol.ts):
|
|
6
|
+
* client→server commands drive the per-viewer `TimelineSession` /
|
|
7
|
+
* `RecordedFeeder` (frame-push recorded playback on the SAME WebRTC session
|
|
8
|
+
* as live video); server→client messages report playback state + a ~1 Hz
|
|
9
|
+
* position. Shapes are re-declared here (not imported) because ui-library
|
|
10
|
+
* cannot depend on an addon package — the embed SPA does the same.
|
|
11
|
+
*
|
|
12
|
+
* Parsing is defensive: a malformed frame returns `null`, never throws, so a
|
|
13
|
+
* bad datachannel message can't take down the player.
|
|
14
|
+
*/
|
|
15
15
|
export type RecordedControlCommand = {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
16
|
+
readonly t: "playRecorded";
|
|
17
|
+
readonly deviceId: number;
|
|
18
|
+
readonly epoch: number;
|
|
19
|
+
readonly profile: string;
|
|
20
20
|
} | {
|
|
21
|
-
|
|
22
|
-
|
|
21
|
+
readonly t: "seek";
|
|
22
|
+
readonly epoch: number;
|
|
23
23
|
} | {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
readonly t: "scrubCommit";
|
|
25
|
+
readonly epoch: number;
|
|
26
26
|
} | {
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
readonly t: "setRate";
|
|
28
|
+
readonly rate: 0 | 1;
|
|
29
29
|
} | {
|
|
30
|
-
|
|
30
|
+
readonly t: "goLive";
|
|
31
31
|
} | {
|
|
32
|
-
|
|
33
|
-
|
|
32
|
+
readonly t: "setProfile";
|
|
33
|
+
readonly profile: string;
|
|
34
34
|
};
|
|
35
35
|
/** Serialize a command for `RTCDataChannel.send` (matches the server schema). */
|
|
36
36
|
export declare function serializeRecordedCommand(cmd: RecordedControlCommand): string;
|
|
37
37
|
/**
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
* Playback mode reported by the server session. `live` = the shared live feed
|
|
39
|
+
* owns the track; every other value describes the recorded feeder.
|
|
40
|
+
*/
|
|
41
41
|
export declare const RECORDED_PLAYBACK_MODES: readonly ["live", "loading", "playing", "paused", "gap", "ended", "error"];
|
|
42
42
|
export type RecordedPlaybackMode = (typeof RECORDED_PLAYBACK_MODES)[number];
|
|
43
|
-
export type RecordedServedProfile =
|
|
43
|
+
export type RecordedServedProfile = "high" | "mid" | "low";
|
|
44
44
|
export type RecordedServerMessage = {
|
|
45
|
-
|
|
46
|
-
|
|
45
|
+
readonly kind: "state";
|
|
46
|
+
readonly state: RecordedPlaybackMode;
|
|
47
47
|
} | {
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
readonly profile: RecordedServedProfile;
|
|
55
|
-
readonly requested: string;
|
|
48
|
+
readonly kind: "position";
|
|
49
|
+
readonly epochMs: number;
|
|
50
|
+
} | {
|
|
51
|
+
readonly kind: "servedProfile";
|
|
52
|
+
readonly profile: RecordedServedProfile;
|
|
53
|
+
readonly requested: string;
|
|
56
54
|
};
|
|
57
55
|
/**
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
56
|
+
* Parse a raw server→client control frame. Returns `null` on any malformed
|
|
57
|
+
* payload (bad JSON, unknown discriminator, wrong field types).
|
|
58
|
+
*/
|
|
61
59
|
export declare function parseRecordedServerMessage(raw: string): RecordedServerMessage | null;
|
|
@@ -1,25 +1,41 @@
|
|
|
1
|
-
|
|
1
|
+
/**
|
|
2
|
+
* Shared, pure resolution of a sensor's DISPLAY unit + precision + value
|
|
3
|
+
* transform. One function so the two renderers (`SensorValueAtom`,
|
|
4
|
+
* `SensorHeroCard`) can never diverge — they duplicated this precedence before.
|
|
5
|
+
*
|
|
6
|
+
* Resolution order (device override → role default → live slice →
|
|
7
|
+
* ROLE_DESCRIPTOR canonicalUnit). `??` everywhere, never `||`: `precision: 0`
|
|
8
|
+
* is a legal override and must win over a slice `precision: 2`.
|
|
9
|
+
*
|
|
10
|
+
* Conversion happens at RENDER only — storage stays in source units. An
|
|
11
|
+
* override unit converts the raw slice value ONLY when it shares a dimension
|
|
12
|
+
* with the source unit (`canConvertUnit`); on refusal the display falls back to
|
|
13
|
+
* identity + the SOURCE unit so a unit label and its value math can never
|
|
14
|
+
* disagree. Precision applies AFTER conversion (by construction — the caller
|
|
15
|
+
* runs `formatNumeric(toDisplayValue(raw), precision)`).
|
|
16
|
+
*/
|
|
17
|
+
import type { DeviceDisplayOverride, RoleDisplayDefault } from "@camstack/types";
|
|
2
18
|
export interface SensorDisplayInput {
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
19
|
+
/** Per-device override from the row (`DeviceInfo.display`). */
|
|
20
|
+
readonly display?: DeviceDisplayOverride;
|
|
21
|
+
/** Cap name for `perCap` refinement (e.g. 'numeric-sensor'); undefined skips it. */
|
|
22
|
+
readonly capName?: string;
|
|
23
|
+
/** Role default (`roleDisplayDefaults[device.role]`). */
|
|
24
|
+
readonly roleDefault?: RoleDisplayDefault;
|
|
25
|
+
/** Live slice unit (the unit the raw VALUE is actually in, for generic sensors). */
|
|
26
|
+
readonly sliceUnit?: string;
|
|
27
|
+
/** Live slice precision. */
|
|
28
|
+
readonly slicePrecision?: number;
|
|
29
|
+
/** ROLE_DESCRIPTOR canonical unit fallback (typed roles). */
|
|
30
|
+
readonly canonicalUnit?: string;
|
|
15
31
|
}
|
|
16
32
|
export interface ResolvedSensorDisplay {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
33
|
+
/** Display unit — `''` when none resolves anywhere. */
|
|
34
|
+
readonly unit: string;
|
|
35
|
+
/** Display precision (int 0-10) or undefined for auto-format. */
|
|
36
|
+
readonly precision: number | undefined;
|
|
37
|
+
/** Convert a raw slice value into the display unit. Identity unless an
|
|
38
|
+
* override unit differs from the source unit AND both share a dimension. */
|
|
39
|
+
readonly toDisplayValue: (raw: number) => number;
|
|
24
40
|
}
|
|
25
41
|
export declare function resolveSensorDisplay(input: SensorDisplayInput): ResolvedSensorDisplay;
|
package/dist/lib/responsive.d.ts
CHANGED
|
@@ -1,40 +1,40 @@
|
|
|
1
1
|
/**
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
2
|
+
* Responsive design tokens — three-tier system.
|
|
3
|
+
*
|
|
4
|
+
* The admin-ui targets three width tiers; every component should pick
|
|
5
|
+
* the right token from this file instead of hand-coding breakpoints.
|
|
6
|
+
* Adopting the tokens uniformly is what makes the app feel consistent
|
|
7
|
+
* across operator devices (mobile / tablet / desktop) and what unlocks
|
|
8
|
+
* targeted tuning (e.g. shrink every label by 1px in one place).
|
|
9
|
+
*
|
|
10
|
+
* Tier definitions (Tailwind breakpoints):
|
|
11
|
+
*
|
|
12
|
+
* • **L1 — Compact** (`< 640px`, default = mobile portrait)
|
|
13
|
+
* Single column, tight padding, smallest text, icon-only buttons
|
|
14
|
+
* where labels can be inferred. The operator can still see every
|
|
15
|
+
* stat / action — no horizontal scroll, no clipped text. The user
|
|
16
|
+
* directive: "molta informazione in poco spazio quando la width è
|
|
17
|
+
* bassa." [a lot of information in little space when the width is low.]
|
|
18
|
+
*
|
|
19
|
+
* • **L2 — Standard** (`sm` — `640–1023px`, tablet + small laptop)
|
|
20
|
+
* 2-column grids, side panels become visible, button labels return.
|
|
21
|
+
* Targets ~768px–1024px viewports — the most common operator sizes.
|
|
22
|
+
*
|
|
23
|
+
* • **L3 — Spacious** (`lg+` — `≥ 1024px`, desktop)
|
|
24
|
+
* 4-column grids, generous padding, full-width header text,
|
|
25
|
+
* side-by-side composite layouts. The operator has elbow room.
|
|
26
|
+
*
|
|
27
|
+
* Conventions:
|
|
28
|
+
* - **Always start from L1** — the bare class is always the compact
|
|
29
|
+
* variant, then `sm:` adds room at 640px, `lg:` at 1024px. No
|
|
30
|
+
* desktop-first breakpoints; no max-width queries.
|
|
31
|
+
* - **Token strings are static** — kept as `as const` so callers can
|
|
32
|
+
* compose them via `cn()` / template literals without running a
|
|
33
|
+
* class generator at runtime.
|
|
34
|
+
* - **Pair the token with a comment** — the comment in the file
|
|
35
|
+
* names every breakpoint it crosses, so a reader can predict the
|
|
36
|
+
* layout without going to Tailwind docs.
|
|
37
|
+
*/
|
|
38
38
|
/** Container padding for a card-style section (header + body). */
|
|
39
39
|
export declare const SECTION_CARD: "rounded-lg border border-border bg-surface overflow-hidden";
|
|
40
40
|
/** Header strip inside a card (between border-b lines). */
|
|
@@ -56,32 +56,32 @@ export declare const SPLIT_PANEL_OUTER: "flex flex-col-reverse md:flex-row";
|
|
|
56
56
|
/** Sidebar narrow lane in a SPLIT_PANEL_OUTER layout. */
|
|
57
57
|
export declare const SPLIT_PANEL_SIDE: "w-full md:w-44 lg:w-52 md:flex-shrink-0 border-b md:border-b-0 md:border-l border-border";
|
|
58
58
|
/**
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
59
|
+
* The tier boundary at which a settings label/value row stops stacking.
|
|
60
|
+
*
|
|
61
|
+
* Below it (L1 — compact) the row is ONE column: label on its own line, value
|
|
62
|
+
* on the next at full width. Above it the row is label-left / value-right as
|
|
63
|
+
* before. The two-column form needs `SETTING_ROW_LABEL`'s lane plus a readable
|
|
64
|
+
* value beside it; a phone has neither, and the failure mode is not "cramped"
|
|
65
|
+
* but "the value is the part that gets cut" — the one thing the operator
|
|
66
|
+
* opened the page to read.
|
|
67
|
+
*/
|
|
68
68
|
export declare const SETTING_ROW_STACK_BREAKPOINT: "sm";
|
|
69
69
|
/** Outer row: single column at L1, label/value columns from `sm` up. */
|
|
70
70
|
export declare const SETTING_ROW: "flex min-w-0 flex-col gap-0.5 py-1.5 sm:flex-row sm:items-center";
|
|
71
71
|
/** Label lane. Full width (and free to wrap) at L1; a fixed lane from `sm` up. */
|
|
72
72
|
export declare const SETTING_ROW_LABEL: "min-w-0 text-[11px] leading-tight text-foreground-subtle sm:w-32 sm:shrink-0 sm:pr-2";
|
|
73
73
|
/**
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
74
|
+
* Value lane — the value text plus its trailing affordances (copy / reveal).
|
|
75
|
+
* `w-full` at L1 so the value owns the whole row once the label is above it;
|
|
76
|
+
* `sm:flex-1` makes it share the row again from `sm` up.
|
|
77
|
+
*/
|
|
78
78
|
export declare const SETTING_ROW_VALUE: "flex w-full min-w-0 items-center gap-1 sm:flex-1";
|
|
79
79
|
/**
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
80
|
+
* The value text itself. `break-all` lets an opaque token (a key, a URL) wrap
|
|
81
|
+
* at L1 instead of being cut mid-word; `sm:truncate` restores the single-line
|
|
82
|
+
* desktop form, where the row is wide enough for truncation to be a choice
|
|
83
|
+
* rather than data loss.
|
|
84
|
+
*/
|
|
85
85
|
export declare const SETTING_ROW_VALUE_TEXT: "min-w-0 break-all text-xs text-foreground sm:truncate";
|
|
86
86
|
/** Section header label (uppercase tracking-wider). */
|
|
87
87
|
export declare const TEXT_SECTION_LABEL: "text-[10px] sm:text-[11px] font-semibold text-foreground uppercase tracking-wider";
|