@camstack/ui-library 1.2.248 → 1.2.250
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/config-icon-field.d.ts +11 -0
- package/dist/composites/config-secret-field.d.ts +22 -0
- package/dist/composites/device-export-panel.d.ts +19 -1
- package/dist/composites/device-list/generic-mode.d.ts +12 -0
- package/dist/composites/device-list/index.d.ts +2 -1
- package/dist/composites/device-list/page-size-select.d.ts +10 -0
- package/dist/composites/index.d.ts +5 -1
- package/dist/composites/training/send-frame-to-training.d.ts +6 -0
- package/dist/composites/training/training-collection-picker.d.ts +5 -0
- package/dist/composites/training/training-refusal-text.d.ts +10 -0
- package/dist/generated/system-hooks.d.ts +70 -0
- package/dist/hooks/index.d.ts +2 -0
- package/dist/hooks/use-device-list-page-size.d.ts +2 -1
- package/dist/hooks/use-persisted-page-size.d.ts +18 -0
- package/dist/index.cjs +2499 -1768
- package/dist/index.js +2453 -1771
- package/package.json +1 -1
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export interface ConfigIconFieldControlProps {
|
|
2
|
+
/** The field's label — names the picker for assistive tech. */
|
|
3
|
+
readonly label: string;
|
|
4
|
+
/** The stored value (anything — only a vocabulary key is honoured). */
|
|
5
|
+
readonly value: unknown;
|
|
6
|
+
/** The field's default key; `''` when the schema declares none. */
|
|
7
|
+
readonly defaultKey: string;
|
|
8
|
+
readonly disabled?: boolean;
|
|
9
|
+
readonly onChange: (key: string) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function ConfigIconFieldControl({ label, value, defaultKey, disabled, onChange, }: ConfigIconFieldControlProps): import("react").JSX.Element;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ConfigField } from '@camstack/types';
|
|
2
|
+
import { ReactNode } from 'react';
|
|
3
|
+
/** How long a revealed value stays on screen. */
|
|
4
|
+
export declare const SECRET_REVEAL_MS = 10000;
|
|
5
|
+
/** Returns the stored value of a ref (audited by the host). */
|
|
6
|
+
export type SecretRevealFn = (ref: string) => Promise<string>;
|
|
7
|
+
export declare function SecretRevealProvider({ reveal, children, }: {
|
|
8
|
+
readonly reveal: SecretRevealFn;
|
|
9
|
+
readonly children: ReactNode;
|
|
10
|
+
}): import("react").JSX.Element;
|
|
11
|
+
/** Does this value belong to the keychain rendering (a view, or "not set")? */
|
|
12
|
+
export declare function isKeychainFieldValue(value: unknown): boolean;
|
|
13
|
+
export interface SecretFieldProps {
|
|
14
|
+
readonly field: ConfigField;
|
|
15
|
+
/** The view (or null) the form was hydrated with, or what the operator has done since. */
|
|
16
|
+
readonly value: unknown;
|
|
17
|
+
readonly onChange: (value: unknown) => void;
|
|
18
|
+
readonly disabled?: boolean;
|
|
19
|
+
/** Multi-line entry (a PEM key). */
|
|
20
|
+
readonly multiline?: boolean;
|
|
21
|
+
}
|
|
22
|
+
export declare function SecretFieldControl({ field, value, onChange, disabled, multiline, }: SecretFieldProps): import("react").JSX.Element;
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { ReactElement } from 'react';
|
|
2
|
+
/** Where the viewer's "rows per page" choice for this table is remembered. */
|
|
3
|
+
export declare const DEVICE_EXPORT_PAGE_SIZE_KEY = "camstack.device-export.pageSize";
|
|
2
4
|
export interface DeviceExportPanelProps {
|
|
3
5
|
/**
|
|
4
6
|
* Addon id of the export addon whose surface is rendered. Used for
|
|
@@ -16,9 +18,25 @@ export interface DeviceExportPanelProps {
|
|
|
16
18
|
* reads.
|
|
17
19
|
*/
|
|
18
20
|
readonly onOpenDevice?: (deviceId: string) => void;
|
|
21
|
+
/**
|
|
22
|
+
* Render the exporter's error and Setup block (pairing QR, copyable fields)
|
|
23
|
+
* inside the panel. Default true. A page that places the devices table at
|
|
24
|
+
* the bottom renders `<DeviceExportSetup>` near the top instead and passes
|
|
25
|
+
* false, so the pairing code is not buried under settings and logs.
|
|
26
|
+
*/
|
|
27
|
+
readonly showSetup?: boolean;
|
|
19
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* The exporter's error and Setup block on their own — for a page that shows
|
|
31
|
+
* them above its settings while the devices table sits at the bottom. Renders
|
|
32
|
+
* nothing when the exporter reports neither. Shares `getStatus`'s query key
|
|
33
|
+
* with the panel, so mounting both costs one request.
|
|
34
|
+
*/
|
|
35
|
+
export declare function DeviceExportSetup({ addonId }: {
|
|
36
|
+
readonly addonId: string;
|
|
37
|
+
}): ReactElement | null;
|
|
20
38
|
/**
|
|
21
39
|
* Generic device-export panel. Addon-agnostic — only the `device-export`
|
|
22
40
|
* cap drives it.
|
|
23
41
|
*/
|
|
24
|
-
export declare function DeviceExportPanel({ addonId, onOpenDevice }: DeviceExportPanelProps): ReactElement;
|
|
42
|
+
export declare function DeviceExportPanel({ addonId, onOpenDevice, showSetup, }: DeviceExportPanelProps): ReactElement;
|
|
@@ -17,6 +17,11 @@ export interface DeviceListColumn<T> {
|
|
|
17
17
|
/** Extra classes on the `<td>`. */
|
|
18
18
|
readonly cellClassName?: string;
|
|
19
19
|
}
|
|
20
|
+
export interface GenericPageSizeSelector {
|
|
21
|
+
readonly options: readonly number[];
|
|
22
|
+
readonly defaultSize: number;
|
|
23
|
+
readonly storageKey: string | null;
|
|
24
|
+
}
|
|
20
25
|
export interface DeviceListGenericProps<T> {
|
|
21
26
|
readonly mode: 'generic';
|
|
22
27
|
readonly items: readonly T[];
|
|
@@ -73,7 +78,14 @@ export interface DeviceListGenericProps<T> {
|
|
|
73
78
|
readonly isLoading?: boolean;
|
|
74
79
|
readonly searchPlaceholder?: string;
|
|
75
80
|
readonly emptyLabel?: string;
|
|
81
|
+
/** Fixed rows per page when there is no `pageSizeSelector`. Default 100. */
|
|
76
82
|
readonly pageSize?: number;
|
|
83
|
+
/**
|
|
84
|
+
* Let the viewer pick the page size: a "Per page" control under the table,
|
|
85
|
+
* remembered per viewer under `storageKey` (null = not remembered). Options
|
|
86
|
+
* may include `PAGE_SIZE_ALL`. When set, `pageSize` is ignored.
|
|
87
|
+
*/
|
|
88
|
+
readonly pageSizeSelector?: GenericPageSizeSelector;
|
|
77
89
|
/** Optional control rendered next to the search box (e.g. a Refresh button). */
|
|
78
90
|
readonly toolbar?: ReactNode;
|
|
79
91
|
}
|
|
@@ -12,7 +12,8 @@ export type { DeviceSort, SortDirection, SortableColumnId } from './sort';
|
|
|
12
12
|
export { hardwareLabel, metadataEntries, metadataString } from './hardware';
|
|
13
13
|
export { IconAction, type IconActionProps } from './icon-action';
|
|
14
14
|
export type { DeviceListAddonOption, DeviceListDeviceProps, DeviceListBatchActions, DeviceListIntegrationIconResolver, DeviceListIntegrationOption, } from './device-mode';
|
|
15
|
-
export type { DeviceListColumn, DeviceListGenericProps } from './generic-mode';
|
|
15
|
+
export type { DeviceListColumn, DeviceListGenericProps, GenericPageSizeSelector, } from './generic-mode';
|
|
16
|
+
export { PageSizeSelect, pageSizeLabel, type PageSizeSelectProps } from './page-size-select';
|
|
16
17
|
/**
|
|
17
18
|
* Default registry-device list, or a generic render-prop list (`mode:'generic'`).
|
|
18
19
|
* Existing call sites pass no `mode` and resolve to the device variant unchanged.
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface PageSizeSelectProps {
|
|
3
|
+
readonly value: number;
|
|
4
|
+
readonly options: readonly number[];
|
|
5
|
+
readonly onChange: (size: number) => void;
|
|
6
|
+
/** Accessible name — names what is being paged ("Devices per page"). */
|
|
7
|
+
readonly ariaLabel: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function pageSizeLabel(size: number): string;
|
|
10
|
+
export declare function PageSizeSelect({ value, options, onChange, ariaLabel, }: PageSizeSelectProps): ReactNode;
|
|
@@ -46,12 +46,16 @@ export type { MaskShapeCanvasProps, MaskShapeItem } from './cap-settings/MaskSha
|
|
|
46
46
|
export { NavigationPanel } from './cap-settings/NavigationPanel';
|
|
47
47
|
export { PtzPanel } from './cap-settings/PtzPanel';
|
|
48
48
|
export { RecordingPanel } from './cap-settings/RecordingPanel';
|
|
49
|
+
export { SendFrameToTrainingButton, type SendFrameToTrainingButtonProps, } from './training/send-frame-to-training';
|
|
50
|
+
export { TrainingCollectionPicker, type TrainingCollectionPickerProps, } from './training/training-collection-picker';
|
|
51
|
+
export { type TrainingFrameRefusal, trainingRefusalText } from './training/training-refusal-text';
|
|
49
52
|
export type { SceneCaptureVariant } from './cap-settings/scene-monitor-copy';
|
|
50
53
|
export { badgeFor, coverageLine, humanDuration, ROI_AREA_WARN_FRACTION, roiTooLarge, SCENE_CAPTURE_VARIANTS, statusLine, variantLabel, } from './cap-settings/scene-monitor-copy';
|
|
51
54
|
export * from './code-block';
|
|
52
55
|
export type { TranslationFn } from './config-form-builder';
|
|
53
56
|
export { ConfigFormBuilder } from './config-form-builder';
|
|
54
57
|
export type { ProbeState } from './config-form-field';
|
|
58
|
+
export { isKeychainFieldValue, SECRET_REVEAL_MS, SecretFieldControl, type SecretFieldProps, type SecretRevealFn, SecretRevealProvider, } from './config-secret-field';
|
|
55
59
|
export { ConfigFormField, isFieldVisible, NodeMultiSelectField, NodeSelectField, } from './config-form-field';
|
|
56
60
|
export type { ConfirmActionButtonProps } from './confirm-action-button';
|
|
57
61
|
export { ConfirmActionButton } from './confirm-action-button';
|
|
@@ -88,7 +92,7 @@ export { DeviceActivityPanel } from './device-activity-panel';
|
|
|
88
92
|
export * from './device-card';
|
|
89
93
|
export * from './device-controls';
|
|
90
94
|
export type { DeviceExportPanelProps } from './device-export-panel';
|
|
91
|
-
export { DeviceExportPanel } from './device-export-panel';
|
|
95
|
+
export { DEVICE_EXPORT_PAGE_SIZE_KEY, DeviceExportPanel, DeviceExportSetup, } from './device-export-panel';
|
|
92
96
|
export * from './device-grid';
|
|
93
97
|
export * from './device-item';
|
|
94
98
|
export * from './device-list';
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export interface SendFrameToTrainingButtonProps {
|
|
2
|
+
readonly deviceId: number;
|
|
3
|
+
/** The playhead instant, or `null` while nothing is being played back. */
|
|
4
|
+
readonly epochMs: number | null;
|
|
5
|
+
}
|
|
6
|
+
export declare function SendFrameToTrainingButton({ deviceId, epochMs }: SendFrameToTrainingButtonProps): import("react").JSX.Element | null;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* What the operator reads when a frame could not be sent to training.
|
|
3
|
+
*
|
|
4
|
+
* Pure, so every refusal the hub can name has a sentence here and a test
|
|
5
|
+
* that says so — a refusal rendered as its raw code reads like a crash.
|
|
6
|
+
*/
|
|
7
|
+
/** The refusal codes `addRetrainFrameFromRecording` answers with. */
|
|
8
|
+
export type TrainingFrameRefusal = 'unknown-collection' | 'still-unavailable' | 'still-busy' | 'unreadable-image' | 'write-failed';
|
|
9
|
+
/** One sentence for a refusal, with the hub's own detail appended. */
|
|
10
|
+
export declare function trainingRefusalText(reason: TrainingFrameRefusal, detail?: string): string;
|
|
@@ -783,6 +783,24 @@ export declare const useIntercomPushTalkAudio: typeof trpc.intercom.pushTalkAudi
|
|
|
783
783
|
export declare const useIntercomEndTalkSession: typeof trpc.intercom.endTalkSession.useMutation;
|
|
784
784
|
/** Generated alias around `trpc.intercom.getStatus.useQuery`. */
|
|
785
785
|
export declare const useIntercomGetStatus: typeof trpc.intercom.getStatus.useQuery;
|
|
786
|
+
/** Generated alias around `trpc.keychainAdmin.status.useQuery`. */
|
|
787
|
+
export declare const useKeychainAdminStatus: typeof trpc.keychainAdmin.status.useQuery;
|
|
788
|
+
/** Generated alias around `trpc.keychainAdmin.listSecrets.useQuery`. */
|
|
789
|
+
export declare const useKeychainAdminListSecrets: typeof trpc.keychainAdmin.listSecrets.useQuery;
|
|
790
|
+
/** Generated alias around `trpc.keychainAdmin.listAudit.useQuery`. */
|
|
791
|
+
export declare const useKeychainAdminListAudit: typeof trpc.keychainAdmin.listAudit.useQuery;
|
|
792
|
+
/** Generated alias around `trpc.keychainAdmin.reveal.useMutation`. */
|
|
793
|
+
export declare const useKeychainAdminReveal: typeof trpc.keychainAdmin.reveal.useMutation;
|
|
794
|
+
/** Generated alias around `trpc.keychainAdmin.deleteOrphans.useMutation`. */
|
|
795
|
+
export declare const useKeychainAdminDeleteOrphans: typeof trpc.keychainAdmin.deleteOrphans.useMutation;
|
|
796
|
+
/** Generated alias around `trpc.keychainAdmin.rotateMasterKey.useMutation`. */
|
|
797
|
+
export declare const useKeychainAdminRotateMasterKey: typeof trpc.keychainAdmin.rotateMasterKey.useMutation;
|
|
798
|
+
/** Generated alias around `trpc.keychainAdmin.purgeRetiredKeys.useMutation`. */
|
|
799
|
+
export declare const useKeychainAdminPurgeRetiredKeys: typeof trpc.keychainAdmin.purgeRetiredKeys.useMutation;
|
|
800
|
+
/** Generated alias around `trpc.keychainAdmin.downloadRecoveryKey.useMutation`. */
|
|
801
|
+
export declare const useKeychainAdminDownloadRecoveryKey: typeof trpc.keychainAdmin.downloadRecoveryKey.useMutation;
|
|
802
|
+
/** Generated alias around `trpc.keychainAdmin.resetKeychain.useMutation`. */
|
|
803
|
+
export declare const useKeychainAdminResetKeychain: typeof trpc.keychainAdmin.resetKeychain.useMutation;
|
|
786
804
|
/** Generated alias around `trpc.lawnMowerControl.startMowing.useMutation`. */
|
|
787
805
|
export declare const useLawnMowerControlStartMowing: typeof trpc.lawnMowerControl.startMowing.useMutation;
|
|
788
806
|
/** Generated alias around `trpc.lawnMowerControl.pause.useMutation`. */
|
|
@@ -1319,6 +1337,30 @@ export declare const usePipelineAnalyticsCompleteRetrainTrack: typeof trpc.pipel
|
|
|
1319
1337
|
export declare const usePipelineAnalyticsRestageRetrainTrack: typeof trpc.pipelineAnalytics.restageRetrainTrack.useMutation;
|
|
1320
1338
|
/** Generated alias around `trpc.pipelineAnalytics.getRetrainExportUrl.useQuery`. */
|
|
1321
1339
|
export declare const usePipelineAnalyticsGetRetrainExportUrl: typeof trpc.pipelineAnalytics.getRetrainExportUrl.useQuery;
|
|
1340
|
+
/** Generated alias around `trpc.pipelineAnalytics.setRetrainFrameComplete.useMutation`. */
|
|
1341
|
+
export declare const usePipelineAnalyticsSetRetrainFrameComplete: typeof trpc.pipelineAnalytics.setRetrainFrameComplete.useMutation;
|
|
1342
|
+
/** Generated alias around `trpc.pipelineAnalytics.writeRetrainArchive.useMutation`. */
|
|
1343
|
+
export declare const usePipelineAnalyticsWriteRetrainArchive: typeof trpc.pipelineAnalytics.writeRetrainArchive.useMutation;
|
|
1344
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainAssistProfiles.useQuery`. */
|
|
1345
|
+
export declare const usePipelineAnalyticsListRetrainAssistProfiles: typeof trpc.pipelineAnalytics.listRetrainAssistProfiles.useQuery;
|
|
1346
|
+
/** Generated alias around `trpc.pipelineAnalytics.proposeRetrainAnnotationsWithLlm.useMutation`. */
|
|
1347
|
+
export declare const usePipelineAnalyticsProposeRetrainAnnotationsWithLlm: typeof trpc.pipelineAnalytics.proposeRetrainAnnotationsWithLlm.useMutation;
|
|
1348
|
+
/** Generated alias around `trpc.pipelineAnalytics.createRetrainCollection.useMutation`. */
|
|
1349
|
+
export declare const usePipelineAnalyticsCreateRetrainCollection: typeof trpc.pipelineAnalytics.createRetrainCollection.useMutation;
|
|
1350
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainCollections.useQuery`. */
|
|
1351
|
+
export declare const usePipelineAnalyticsListRetrainCollections: typeof trpc.pipelineAnalytics.listRetrainCollections.useQuery;
|
|
1352
|
+
/** Generated alias around `trpc.pipelineAnalytics.renameRetrainCollection.useMutation`. */
|
|
1353
|
+
export declare const usePipelineAnalyticsRenameRetrainCollection: typeof trpc.pipelineAnalytics.renameRetrainCollection.useMutation;
|
|
1354
|
+
/** Generated alias around `trpc.pipelineAnalytics.deleteRetrainCollection.useMutation`. */
|
|
1355
|
+
export declare const usePipelineAnalyticsDeleteRetrainCollection: typeof trpc.pipelineAnalytics.deleteRetrainCollection.useMutation;
|
|
1356
|
+
/** Generated alias around `trpc.pipelineAnalytics.addRetrainFrameFromRecording.useMutation`. */
|
|
1357
|
+
export declare const usePipelineAnalyticsAddRetrainFrameFromRecording: typeof trpc.pipelineAnalytics.addRetrainFrameFromRecording.useMutation;
|
|
1358
|
+
/** Generated alias around `trpc.pipelineAnalytics.addRetrainFramesToCollection.useMutation`. */
|
|
1359
|
+
export declare const usePipelineAnalyticsAddRetrainFramesToCollection: typeof trpc.pipelineAnalytics.addRetrainFramesToCollection.useMutation;
|
|
1360
|
+
/** Generated alias around `trpc.pipelineAnalytics.removeRetrainFrameFromCollection.useMutation`. */
|
|
1361
|
+
export declare const usePipelineAnalyticsRemoveRetrainFrameFromCollection: typeof trpc.pipelineAnalytics.removeRetrainFrameFromCollection.useMutation;
|
|
1362
|
+
/** Generated alias around `trpc.pipelineAnalytics.listRetrainCollectionFrames.useQuery`. */
|
|
1363
|
+
export declare const usePipelineAnalyticsListRetrainCollectionFrames: typeof trpc.pipelineAnalytics.listRetrainCollectionFrames.useQuery;
|
|
1322
1364
|
/** Generated alias around `trpc.pipelineAnalytics.getEventMedia.useQuery`. */
|
|
1323
1365
|
export declare const usePipelineAnalyticsGetEventMedia: typeof trpc.pipelineAnalytics.getEventMedia.useQuery;
|
|
1324
1366
|
/** Generated alias around `trpc.pipelineAnalytics.getTrackMedia.useQuery`. */
|
|
@@ -1491,6 +1533,20 @@ export declare const usePipelineOrchestratorSuggestShares: typeof trpc.pipelineO
|
|
|
1491
1533
|
export declare const usePipelineOrchestratorGetEffectiveShares: typeof trpc.pipelineOrchestrator.getEffectiveShares.useQuery;
|
|
1492
1534
|
/** Generated alias around `trpc.pipelineOrchestrator.setShareSource.useMutation`. */
|
|
1493
1535
|
export declare const usePipelineOrchestratorSetShareSource: typeof trpc.pipelineOrchestrator.setShareSource.useMutation;
|
|
1536
|
+
/** Generated alias around `trpc.pipelineOrchestrator.getNodeBenchmarkPreflight.useQuery`. */
|
|
1537
|
+
export declare const usePipelineOrchestratorGetNodeBenchmarkPreflight: typeof trpc.pipelineOrchestrator.getNodeBenchmarkPreflight.useQuery;
|
|
1538
|
+
/** Generated alias around `trpc.pipelineOrchestrator.startNodeBenchmark.useMutation`. */
|
|
1539
|
+
export declare const usePipelineOrchestratorStartNodeBenchmark: typeof trpc.pipelineOrchestrator.startNodeBenchmark.useMutation;
|
|
1540
|
+
/** Generated alias around `trpc.pipelineOrchestrator.getNodeBenchmarkStatus.useQuery`. */
|
|
1541
|
+
export declare const usePipelineOrchestratorGetNodeBenchmarkStatus: typeof trpc.pipelineOrchestrator.getNodeBenchmarkStatus.useQuery;
|
|
1542
|
+
/** Generated alias around `trpc.pipelineOrchestrator.abortNodeBenchmark.useMutation`. */
|
|
1543
|
+
export declare const usePipelineOrchestratorAbortNodeBenchmark: typeof trpc.pipelineOrchestrator.abortNodeBenchmark.useMutation;
|
|
1544
|
+
/** Generated alias around `trpc.pipelineOrchestrator.getNodeBenchmarkCandidates.useQuery`. */
|
|
1545
|
+
export declare const usePipelineOrchestratorGetNodeBenchmarkCandidates: typeof trpc.pipelineOrchestrator.getNodeBenchmarkCandidates.useQuery;
|
|
1546
|
+
/** Generated alias around `trpc.pipelineOrchestrator.listNodeBenchmarkResults.useQuery`. */
|
|
1547
|
+
export declare const usePipelineOrchestratorListNodeBenchmarkResults: typeof trpc.pipelineOrchestrator.listNodeBenchmarkResults.useQuery;
|
|
1548
|
+
/** Generated alias around `trpc.pipelineOrchestrator.deleteNodeBenchmarkResult.useMutation`. */
|
|
1549
|
+
export declare const usePipelineOrchestratorDeleteNodeBenchmarkResult: typeof trpc.pipelineOrchestrator.deleteNodeBenchmarkResult.useMutation;
|
|
1494
1550
|
/** Generated alias around `trpc.pipelineOrchestrator.getCameraSettings.useQuery`. */
|
|
1495
1551
|
export declare const usePipelineOrchestratorGetCameraSettings: typeof trpc.pipelineOrchestrator.getCameraSettings.useQuery;
|
|
1496
1552
|
/** Generated alias around `trpc.pipelineOrchestrator.setCameraStepToggle.useMutation`. */
|
|
@@ -1555,6 +1611,12 @@ export declare const usePipelineRunnerParkTrackFrame: typeof trpc.pipelineRunner
|
|
|
1555
1611
|
export declare const usePipelineRunnerGetParkedTrackFrame: typeof trpc.pipelineRunner.getParkedTrackFrame.useQuery;
|
|
1556
1612
|
/** Generated alias around `trpc.pipelineRunner.releaseParkedTrackFrames.useMutation`. */
|
|
1557
1613
|
export declare const usePipelineRunnerReleaseParkedTrackFrames: typeof trpc.pipelineRunner.releaseParkedTrackFrames.useMutation;
|
|
1614
|
+
/** Generated alias around `trpc.pipelineRunner.startNodeBench.useMutation`. */
|
|
1615
|
+
export declare const usePipelineRunnerStartNodeBench: typeof trpc.pipelineRunner.startNodeBench.useMutation;
|
|
1616
|
+
/** Generated alias around `trpc.pipelineRunner.getNodeBenchStatus.useQuery`. */
|
|
1617
|
+
export declare const usePipelineRunnerGetNodeBenchStatus: typeof trpc.pipelineRunner.getNodeBenchStatus.useQuery;
|
|
1618
|
+
/** Generated alias around `trpc.pipelineRunner.abortNodeBench.useMutation`. */
|
|
1619
|
+
export declare const usePipelineRunnerAbortNodeBench: typeof trpc.pipelineRunner.abortNodeBench.useMutation;
|
|
1558
1620
|
/** Generated alias around `trpc.plateGallery.listPlates.useQuery`. */
|
|
1559
1621
|
export declare const usePlateGalleryListPlates: typeof trpc.plateGallery.listPlates.useQuery;
|
|
1560
1622
|
/** Generated alias around `trpc.plateGallery.getPlateByTrack.useQuery`. */
|
|
@@ -2107,6 +2169,14 @@ export declare const useUserManagementOauthExchangeCode: typeof trpc.userManagem
|
|
|
2107
2169
|
export declare const useUserManagementOauthRefresh: typeof trpc.userManagement.oauthRefresh.useMutation;
|
|
2108
2170
|
/** Generated alias around `trpc.userManagement.oauthVerifyAccessToken.useQuery`. */
|
|
2109
2171
|
export declare const useUserManagementOauthVerifyAccessToken: typeof trpc.userManagement.oauthVerifyAccessToken.useQuery;
|
|
2172
|
+
/** Generated alias around `trpc.userManagement.listExternalIdentities.useQuery`. */
|
|
2173
|
+
export declare const useUserManagementListExternalIdentities: typeof trpc.userManagement.listExternalIdentities.useQuery;
|
|
2174
|
+
/** Generated alias around `trpc.userManagement.findUserByExternalIdentity.useQuery`. */
|
|
2175
|
+
export declare const useUserManagementFindUserByExternalIdentity: typeof trpc.userManagement.findUserByExternalIdentity.useQuery;
|
|
2176
|
+
/** Generated alias around `trpc.userManagement.linkExternalIdentity.useMutation`. */
|
|
2177
|
+
export declare const useUserManagementLinkExternalIdentity: typeof trpc.userManagement.linkExternalIdentity.useMutation;
|
|
2178
|
+
/** Generated alias around `trpc.userManagement.unlinkExternalIdentity.useMutation`. */
|
|
2179
|
+
export declare const useUserManagementUnlinkExternalIdentity: typeof trpc.userManagement.unlinkExternalIdentity.useMutation;
|
|
2110
2180
|
/** Generated alias around `trpc.userManagement.listOauthSessions.useQuery`. */
|
|
2111
2181
|
export declare const useUserManagementListOauthSessions: typeof trpc.userManagement.listOauthSessions.useQuery;
|
|
2112
2182
|
/** Generated alias around `trpc.userManagement.revokeOauthSession.useMutation`. */
|
package/dist/hooks/index.d.ts
CHANGED
|
@@ -16,6 +16,8 @@ export type { UseDeviceCapabilityOptions, UseDeviceCapabilityResult, } from './u
|
|
|
16
16
|
export { useDeviceCapability } from './use-device-capability';
|
|
17
17
|
export type { DetectionState, DeviceDetections, MotionRawBox, MotionRawState, MotionState, MotionZone, } from './use-device-detections';
|
|
18
18
|
export { useDeviceDetections } from './use-device-detections';
|
|
19
|
+
export type { PersistedPageSizeConfig, SetPageSize } from './use-persisted-page-size';
|
|
20
|
+
export { PAGE_SIZE_ALL, effectivePageSize, usePersistedPageSize, } from './use-persisted-page-size';
|
|
19
21
|
export type { SetDeviceListPageSize } from './use-device-list-page-size';
|
|
20
22
|
export { DEVICE_LIST_PAGE_SIZE_KEY, DEVICE_LIST_PAGE_SIZE_OPTIONS, useDeviceListPageSize, } from './use-device-list-page-size';
|
|
21
23
|
export type { UseDeviceProxyTrpc } from './use-device-proxy';
|
|
@@ -1,10 +1,11 @@
|
|
|
1
|
+
import { SetPageSize } from './use-persisted-page-size';
|
|
1
2
|
/** Selectable per-page sizes. The table default (50) is intentionally one of them. */
|
|
2
3
|
export declare const DEVICE_LIST_PAGE_SIZE_OPTIONS: readonly number[];
|
|
3
4
|
/** Canonical default — used whenever a caller's `defaultSize` is itself invalid. */
|
|
4
5
|
export declare const DEVICE_LIST_PAGE_SIZE_DEFAULT = 50;
|
|
5
6
|
/** Single global key shared across every device-list surface. */
|
|
6
7
|
export declare const DEVICE_LIST_PAGE_SIZE_KEY = "camstack.device-list.pageSize";
|
|
7
|
-
export type SetDeviceListPageSize =
|
|
8
|
+
export type SetDeviceListPageSize = SetPageSize;
|
|
8
9
|
/**
|
|
9
10
|
* @param defaultSize fallback when nothing valid is stored. If it is not itself
|
|
10
11
|
* a member of {@link DEVICE_LIST_PAGE_SIZE_OPTIONS}, it is replaced by
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** The "All" option — one page holding every row. */
|
|
2
|
+
export declare const PAGE_SIZE_ALL = 0;
|
|
3
|
+
export interface PersistedPageSizeConfig {
|
|
4
|
+
/** localStorage key, or null for a choice that is not remembered. */
|
|
5
|
+
readonly storageKey: string | null;
|
|
6
|
+
/** The selectable sizes, in display order. May include `PAGE_SIZE_ALL`. */
|
|
7
|
+
readonly options: readonly number[];
|
|
8
|
+
/** The size before the viewer picks one. Replaced by `options[0]` if not an option. */
|
|
9
|
+
readonly defaultSize: number;
|
|
10
|
+
}
|
|
11
|
+
export type SetPageSize = (next: number) => void;
|
|
12
|
+
/** @returns `[size, setSize]`; `setSize` ignores a size that is not an option. */
|
|
13
|
+
export declare function usePersistedPageSize({ storageKey, options, defaultSize, }: PersistedPageSizeConfig): readonly [number, SetPageSize];
|
|
14
|
+
/**
|
|
15
|
+
* The number of rows one page holds for a chosen size: "All" is every row
|
|
16
|
+
* (at least 1, so the pager arithmetic never divides by zero).
|
|
17
|
+
*/
|
|
18
|
+
export declare function effectivePageSize(size: number, totalItems: number): number;
|