@camstack/ui-library 0.1.39 → 0.1.40
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/addon-global-settings-form.d.ts +60 -0
- package/dist/composites/addon-page-props.d.ts +12 -0
- package/dist/composites/agent-step-editor.d.ts +15 -0
- package/dist/composites/app-shell/app-shell.d.ts +19 -0
- package/dist/composites/app-shell/index.d.ts +3 -0
- package/dist/composites/app-shell/sidebar-item.d.ts +10 -0
- package/dist/composites/app-shell/sidebar.d.ts +14 -0
- package/dist/composites/audio-classification-list.d.ts +20 -0
- package/dist/composites/audio-level-waveform.d.ts +35 -0
- package/dist/composites/audio-waveform.d.ts +20 -0
- package/dist/composites/battery-badge.d.ts +12 -0
- package/dist/composites/breadcrumb.d.ts +25 -0
- package/dist/composites/camera-stream-player.d.ts +87 -0
- package/dist/composites/code-block.d.ts +6 -0
- package/dist/composites/config-form-builder.d.ts +18 -0
- package/dist/composites/config-form-field.d.ts +70 -0
- package/dist/composites/confirm-action-button.d.ts +41 -0
- package/dist/composites/confirm-dialog.d.ts +13 -0
- package/dist/composites/data-table/data-table-header.d.ts +10 -0
- package/dist/composites/data-table/data-table-pagination.d.ts +9 -0
- package/dist/composites/data-table/data-table-row.d.ts +10 -0
- package/dist/composites/data-table/data-table.d.ts +2 -0
- package/dist/composites/data-table/index.d.ts +2 -0
- package/dist/composites/data-table/types.d.ts +34 -0
- package/dist/composites/data-table.d.ts +37 -0
- package/dist/composites/detection-canvas.d.ts +29 -0
- package/dist/composites/detection-colors.d.ts +15 -0
- package/dist/composites/detection-overlay.d.ts +9 -0
- package/dist/composites/detection-result-tree.d.ts +11 -0
- package/dist/composites/dev-shell.d.ts +20 -0
- package/dist/composites/device-activity-panel.d.ts +29 -0
- package/dist/composites/device-card.d.ts +38 -0
- package/dist/composites/device-grid.d.ts +12 -0
- package/dist/composites/device-item/actions.d.ts +9 -0
- package/dist/composites/device-item/children-accordion.d.ts +11 -0
- package/dist/composites/device-item/features.d.ts +17 -0
- package/dist/composites/device-item/header.d.ts +14 -0
- package/dist/composites/device-item/helpers.d.ts +147 -0
- package/dist/composites/device-item/index.d.ts +5 -0
- package/dist/composites/device-item/preview.d.ts +23 -0
- package/dist/composites/device-item/status-dot.d.ts +5 -0
- package/dist/composites/device-list/empty-state.d.ts +6 -0
- package/dist/composites/device-list/filter-chips.d.ts +19 -0
- package/dist/composites/device-list/group.d.ts +6 -0
- package/dist/composites/device-list/index.d.ts +31 -0
- package/dist/composites/device-list/pagination.d.ts +18 -0
- package/dist/composites/device-list/url-state.d.ts +24 -0
- package/dist/composites/discovery-panel.d.ts +26 -0
- package/dist/composites/doorbell-recent-panel.d.ts +10 -0
- package/dist/composites/empty-state.d.ts +10 -0
- package/dist/composites/event-stream.d.ts +48 -0
- package/dist/composites/filter-bar.d.ts +28 -0
- package/dist/composites/form-field.d.ts +11 -0
- package/dist/composites/image-selector.d.ts +25 -0
- package/dist/composites/index.d.ts +99 -0
- package/dist/composites/inference-config-selector.d.ts +44 -0
- package/dist/composites/kebab-menu.d.ts +39 -0
- package/dist/composites/key-value-list.d.ts +9 -0
- package/dist/composites/log-stream.d.ts +61 -0
- package/dist/composites/login-form.d.ts +8 -0
- package/dist/composites/mount-addon-page.d.ts +16 -0
- package/dist/composites/node-picker.d.ts +15 -0
- package/dist/composites/page-header.d.ts +8 -0
- package/dist/composites/phase-icon.d.ts +5 -0
- package/dist/composites/pipeline-builder.d.ts +43 -0
- package/dist/composites/pipeline-runtime-selector.d.ts +16 -0
- package/dist/composites/pipeline-step.d.ts +65 -0
- package/dist/composites/pipeline-tree-matrix.d.ts +31 -0
- package/dist/composites/provider-badge.d.ts +7 -0
- package/dist/composites/ptz-overlay.d.ts +20 -0
- package/dist/composites/response-log.d.ts +9 -0
- package/dist/composites/slide-over-panel.d.ts +11 -0
- package/dist/composites/snapshot-button.d.ts +25 -0
- package/dist/composites/stat-card.d.ts +10 -0
- package/dist/composites/state-values-stream.d.ts +30 -0
- package/dist/composites/status-badge.d.ts +10 -0
- package/dist/composites/step-timings.d.ts +9 -0
- package/dist/composites/step-tree-master.d.ts +28 -0
- package/dist/composites/stream-panel.d.ts +143 -0
- package/dist/composites/version-badge.d.ts +24 -0
- package/dist/composites/widget-slot.d.ts +20 -0
- package/dist/contexts/custom-field-renderers.d.ts +26 -0
- package/dist/contexts/device-context.d.ts +20 -0
- package/dist/contexts/player-overlays.d.ts +56 -0
- package/dist/contexts/system-context.d.ts +19 -0
- package/dist/contexts/widget-registry.d.ts +68 -0
- package/dist/contexts/zone-editing.d.ts +59 -0
- package/dist/generated/system-hooks.d.ts +933 -0
- package/dist/hooks/index.d.ts +27 -0
- package/dist/hooks/use-cluster-nodes.d.ts +17 -0
- package/dist/hooks/use-debounced-string.d.ts +1 -0
- package/dist/hooks/use-device-battery.d.ts +14 -0
- package/dist/hooks/use-device-capability.d.ts +17 -0
- package/dist/hooks/use-device-detections.d.ts +50 -0
- package/dist/hooks/use-device-features.d.ts +25 -0
- package/dist/hooks/use-device-proxy.d.ts +106 -0
- package/dist/hooks/use-device-snapshot.d.ts +10 -0
- package/dist/hooks/use-device-webrtc.d.ts +108 -0
- package/dist/hooks/use-devices.d.ts +13 -0
- package/dist/hooks/use-doorbell-events.d.ts +20 -0
- package/dist/hooks/use-event-invalidation.d.ts +1 -0
- package/dist/hooks/use-event-stream.d.ts +5 -0
- package/dist/hooks/use-is-mobile.d.ts +8 -0
- package/dist/hooks/use-live-buffer.d.ts +8 -0
- package/dist/hooks/use-live-event.d.ts +3 -0
- package/dist/hooks/use-ptz.d.ts +54 -0
- package/dist/hooks/use-system-query.d.ts +12 -0
- package/dist/icons/index.d.ts +2 -0
- package/dist/icons/provider-icons.d.ts +3 -0
- package/dist/icons/status-icons.d.ts +3 -0
- package/dist/index.cjs +23484 -14252
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.ts +14 -3787
- package/dist/index.js +22810 -13741
- package/dist/index.js.map +1 -1
- package/dist/lib/cn.d.ts +2 -0
- package/dist/lib/index.d.ts +8 -0
- package/dist/lib/mf-runtime-init.d.ts +1 -0
- package/dist/lib/phase-config.d.ts +16 -0
- package/dist/lib/pipeline-mirror.d.ts +23 -0
- package/dist/lib/responsive.d.ts +81 -0
- package/dist/lib/shared-context.d.ts +5 -0
- package/dist/lib/validate-template.d.ts +2 -0
- package/dist/primitives/badge.d.ts +11 -0
- package/dist/primitives/bottom-sheet.d.ts +9 -0
- package/dist/primitives/button.d.ts +10 -0
- package/dist/primitives/card.d.ts +9 -0
- package/dist/primitives/checkbox.d.ts +4 -0
- package/dist/primitives/collapsible-card.d.ts +15 -0
- package/dist/primitives/dialog.d.ts +20 -0
- package/dist/primitives/dropdown.d.ts +19 -0
- package/dist/primitives/floating-panel.d.ts +22 -0
- package/dist/primitives/icon-button.d.ts +13 -0
- package/dist/primitives/index.d.ts +21 -0
- package/dist/primitives/input.d.ts +11 -0
- package/dist/primitives/label.d.ts +4 -0
- package/dist/primitives/mobile-drawer.d.ts +10 -0
- package/dist/primitives/popover.d.ts +10 -0
- package/dist/primitives/scroll-area.d.ts +4 -0
- package/dist/primitives/select.d.ts +9 -0
- package/dist/primitives/separator.d.ts +9 -0
- package/dist/primitives/skeleton.d.ts +4 -0
- package/dist/primitives/switch.d.ts +7 -0
- package/dist/primitives/tabs.d.ts +17 -0
- package/dist/primitives/tooltip.d.ts +6 -0
- package/dist/theme/create-theme.d.ts +2 -0
- package/dist/theme/defaults.d.ts +4 -0
- package/dist/theme/index.cjs +228 -248
- package/dist/theme/index.cjs.map +1 -1
- package/dist/theme/index.d.ts +6 -128
- package/dist/theme/index.js +212 -214
- package/dist/theme/index.js.map +1 -1
- package/dist/theme/theme-provider.d.ts +10 -0
- package/dist/theme/theme-to-css.d.ts +2 -0
- package/dist/theme/{index.d.cts → types.d.ts} +5 -27
- package/dist/theme/use-theme-mode.d.ts +2 -0
- package/dist/trpc-react.d.ts +7 -0
- package/package.json +5 -3
- package/dist/index.d.cts +0 -3787
package/dist/lib/cn.d.ts
ADDED
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
export { cn } from './cn';
|
|
2
|
+
export * from './responsive';
|
|
3
|
+
export { mirror } from './pipeline-mirror';
|
|
4
|
+
export type { MirrorSource, MirrorInput, MirrorOutcome, MirrorResultEntry, } from './pipeline-mirror';
|
|
5
|
+
export { PHASE_CONFIG, getPhaseVisual } from './phase-config';
|
|
6
|
+
export type { PhaseVisual } from './phase-config';
|
|
7
|
+
export { createSharedContext } from './shared-context';
|
|
8
|
+
export { ensureMfHostInit } from './mf-runtime-init';
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function ensureMfHostInit(): void;
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { CameraPhase } from '@camstack/types';
|
|
2
|
+
export interface PhaseVisual {
|
|
3
|
+
/** Human-readable label (e.g. "Active", "Load-Shed"). */
|
|
4
|
+
readonly label: string;
|
|
5
|
+
/** Tailwind text color class (e.g. "text-success"). */
|
|
6
|
+
readonly textColor: string;
|
|
7
|
+
/** Tailwind border+bg classes for pill/badge containers. */
|
|
8
|
+
readonly badgeClass: string;
|
|
9
|
+
/** Tailwind class for the status dot (circle indicator). */
|
|
10
|
+
readonly dotClass: string;
|
|
11
|
+
/** Lucide icon name to use for this phase. */
|
|
12
|
+
readonly icon: 'Activity' | 'Eye' | 'AlertTriangle' | 'PauseCircle' | 'PowerOff';
|
|
13
|
+
}
|
|
14
|
+
export declare const PHASE_CONFIG: Record<CameraPhase, PhaseVisual>;
|
|
15
|
+
/** Look up phase config with a safe fallback to `watching` for unknown values. */
|
|
16
|
+
export declare function getPhaseVisual(phase: string): PhaseVisual;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { AgentAddonConfig, CameraStepOverridePatch, PipelineSchema } from '@camstack/types';
|
|
2
|
+
export interface MirrorSource {
|
|
3
|
+
readonly nodeId: string;
|
|
4
|
+
readonly engine: {
|
|
5
|
+
readonly format: string;
|
|
6
|
+
};
|
|
7
|
+
readonly defaults: Readonly<Record<string, AgentAddonConfig>>;
|
|
8
|
+
}
|
|
9
|
+
export interface MirrorInput {
|
|
10
|
+
readonly source: MirrorSource;
|
|
11
|
+
readonly target: MirrorSource;
|
|
12
|
+
readonly catalog: PipelineSchema;
|
|
13
|
+
readonly addonIds: readonly string[];
|
|
14
|
+
}
|
|
15
|
+
export type MirrorOutcome = 'exact' | 'mapped' | 'skip';
|
|
16
|
+
export interface MirrorResultEntry {
|
|
17
|
+
readonly addonId: string;
|
|
18
|
+
readonly outcome: MirrorOutcome;
|
|
19
|
+
readonly modelId: string | null;
|
|
20
|
+
readonly reason?: string;
|
|
21
|
+
readonly patch: CameraStepOverridePatch | null;
|
|
22
|
+
}
|
|
23
|
+
export declare function mirror(input: MirrorInput): readonly MirrorResultEntry[];
|
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
/**
|
|
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."
|
|
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
|
+
/** Container padding for a card-style section (header + body). */
|
|
39
|
+
export declare const SECTION_CARD: "rounded-lg border border-border bg-surface overflow-hidden";
|
|
40
|
+
/** Header strip inside a card (between border-b lines). */
|
|
41
|
+
export declare const SECTION_HEADER: "border-b border-border px-3 sm:px-4 py-1.5 sm:py-2";
|
|
42
|
+
/** Body padding for a card-style section. */
|
|
43
|
+
export declare const SECTION_BODY: "p-2 sm:p-3 lg:p-4";
|
|
44
|
+
/** Gap between cards in a vertical stack. */
|
|
45
|
+
export declare const STACK_GAP: "space-y-3 sm:space-y-4";
|
|
46
|
+
/** Gap between cards in a grid (4 cells / row at lg). */
|
|
47
|
+
export declare const GRID_GAP: "gap-2 sm:gap-3";
|
|
48
|
+
/** Row padding inside a divided list (e.g. InfoRow). */
|
|
49
|
+
export declare const LIST_ROW: "px-3 sm:px-4 py-1.5 sm:py-2";
|
|
50
|
+
/** 1-up at L1, 2-up at L2, 4-up at L3 — quick-stat row. */
|
|
51
|
+
export declare const GRID_QUICK_STATS: "grid grid-cols-2 sm:grid-cols-2 lg:grid-cols-4";
|
|
52
|
+
/** 1-up at L1, 2-up at L2+ — paired panels (motion + detection rules). */
|
|
53
|
+
export declare const GRID_PAIRED: "grid grid-cols-1 lg:grid-cols-2";
|
|
54
|
+
/** Side-by-side layout that stacks below md (canvas + side panel). */
|
|
55
|
+
export declare const SPLIT_PANEL_OUTER: "flex flex-col-reverse md:flex-row";
|
|
56
|
+
/** Sidebar narrow lane in a SPLIT_PANEL_OUTER layout. */
|
|
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
|
+
/** Section header label (uppercase tracking-wider). */
|
|
59
|
+
export declare const TEXT_SECTION_LABEL: "text-[10px] sm:text-[11px] font-semibold text-foreground uppercase tracking-wider";
|
|
60
|
+
/** Field label inside a row. */
|
|
61
|
+
export declare const TEXT_FIELD_LABEL: "text-[11px] sm:text-xs text-foreground";
|
|
62
|
+
/** Sub-label / hint text. */
|
|
63
|
+
export declare const TEXT_HINT: "text-[10px] text-foreground-subtle";
|
|
64
|
+
/** Primary value (a metric, badge, …). */
|
|
65
|
+
export declare const TEXT_VALUE: "text-[11px] sm:text-xs font-medium text-foreground";
|
|
66
|
+
/** Big metric value (StatCard). */
|
|
67
|
+
export declare const TEXT_METRIC: "text-base sm:text-lg font-semibold leading-tight text-foreground";
|
|
68
|
+
/** Default compact button. */
|
|
69
|
+
export declare const BTN_COMPACT: "inline-flex items-center justify-center gap-1 rounded border border-border bg-surface px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-foreground hover:bg-surface-hover transition-colors disabled:opacity-40";
|
|
70
|
+
/** Primary compact button. */
|
|
71
|
+
export declare const BTN_COMPACT_PRIMARY: "inline-flex items-center justify-center gap-1 rounded border border-primary/40 bg-primary/15 px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-primary hover:bg-primary/25 transition-colors disabled:opacity-40";
|
|
72
|
+
/** Danger compact button. */
|
|
73
|
+
export declare const BTN_COMPACT_DANGER: "inline-flex items-center justify-center gap-1 rounded border border-danger/40 bg-danger/10 px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-danger hover:bg-danger/20 transition-colors disabled:opacity-40";
|
|
74
|
+
/** Warning compact button (e.g. cancel-drawing). */
|
|
75
|
+
export declare const BTN_COMPACT_WARNING: "inline-flex items-center justify-center gap-1 rounded border border-warning/40 bg-warning/10 px-1.5 py-0.5 sm:px-2 sm:py-1 text-[10px] sm:text-[11px] font-medium text-warning hover:bg-warning/20 transition-colors disabled:opacity-40";
|
|
76
|
+
/** Compact text/select/number input. */
|
|
77
|
+
export declare const INPUT_COMPACT: "w-full rounded border border-border bg-background px-1.5 py-0.5 sm:px-2 sm:py-1 text-[11px] sm:text-xs text-foreground focus:border-primary focus:ring-1 focus:ring-primary/30 outline-none";
|
|
78
|
+
/** Chip-style toggle (zone / class selectors in ZoneRulesEditor). */
|
|
79
|
+
export declare const CHIP_BASE: "inline-flex items-center gap-1 rounded-full border px-1.5 py-0.5 text-[10px] font-medium transition-colors";
|
|
80
|
+
export declare const CHIP_ACTIVE: "border-primary/50 bg-primary/15 text-primary";
|
|
81
|
+
export declare const CHIP_INACTIVE: "border-border bg-surface text-foreground-subtle hover:bg-surface-hover";
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const badgeVariants: (props?: ({
|
|
4
|
+
variant?: "success" | "warning" | "danger" | "info" | "default" | null | undefined;
|
|
5
|
+
styleVariant?: "outline" | "solid" | null | undefined;
|
|
6
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
|
+
export interface BadgeProps extends Omit<HTMLAttributes<HTMLSpanElement>, 'style'>, VariantProps<typeof badgeVariants> {
|
|
8
|
+
style?: 'solid' | 'outline';
|
|
9
|
+
}
|
|
10
|
+
export declare const Badge: import('react').ForwardRefExoticComponent<BadgeProps & import('react').RefAttributes<HTMLSpanElement>>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface BottomSheetProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
title?: string;
|
|
6
|
+
children: ReactNode;
|
|
7
|
+
className?: string;
|
|
8
|
+
}
|
|
9
|
+
export declare function BottomSheet({ open, onClose, title, children, className }: BottomSheetProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const buttonVariants: (props?: ({
|
|
4
|
+
variant?: "primary" | "danger" | "secondary" | "ghost" | "outline" | null | undefined;
|
|
5
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
6
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
7
|
+
export interface ButtonProps extends ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
8
|
+
}
|
|
9
|
+
export declare const Button: import('react').ForwardRefExoticComponent<ButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const cardVariants: (props?: ({
|
|
4
|
+
variant?: "flat" | "bordered" | null | undefined;
|
|
5
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
6
|
+
export interface CardProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof cardVariants> {
|
|
7
|
+
}
|
|
8
|
+
export declare const Card: import('react').ForwardRefExoticComponent<CardProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type'> {
|
|
3
|
+
}
|
|
4
|
+
export declare const Checkbox: import('react').ForwardRefExoticComponent<CheckboxProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface CollapsibleCardProps {
|
|
3
|
+
readonly expanded: boolean;
|
|
4
|
+
readonly onExpandedChange: (next: boolean) => void;
|
|
5
|
+
/** Rendered inside the clickable header row, to the right of the chevron. */
|
|
6
|
+
readonly header: ReactNode;
|
|
7
|
+
/** Expanded body — rendered below a subtle divider when `expanded === true`. */
|
|
8
|
+
readonly children?: ReactNode;
|
|
9
|
+
/** Dims the entire card — for steps flagged as disabled/inactive. */
|
|
10
|
+
readonly dimmed?: boolean;
|
|
11
|
+
/** Hide the chevron (header still click-toggles). Useful for always-expanded views. */
|
|
12
|
+
readonly hideChevron?: boolean;
|
|
13
|
+
readonly className?: string;
|
|
14
|
+
}
|
|
15
|
+
export declare function CollapsibleCard({ expanded, onExpandedChange, header, children, dimmed, hideChevron, className, }: CollapsibleCardProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
interface DialogProps {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
open?: boolean;
|
|
6
|
+
onOpenChange?: (open: boolean) => void;
|
|
7
|
+
}
|
|
8
|
+
export declare function Dialog({ children, open: controlledOpen, onOpenChange }: DialogProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function DialogTrigger({ children, ...props }: HTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
10
|
+
declare const contentVariants: (props?: ({
|
|
11
|
+
width?: "sm" | "md" | "lg" | null | undefined;
|
|
12
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
13
|
+
export interface DialogContentProps extends HTMLAttributes<HTMLDialogElement>, VariantProps<typeof contentVariants> {
|
|
14
|
+
}
|
|
15
|
+
export declare const DialogContent: import('react').ForwardRefExoticComponent<DialogContentProps & import('react').RefAttributes<HTMLDialogElement>>;
|
|
16
|
+
export declare function DialogHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
17
|
+
export declare function DialogFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
18
|
+
export declare function DialogTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export declare function DialogDescription({ className, ...props }: HTMLAttributes<HTMLParagraphElement>): import("react/jsx-runtime").JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { LucideIcon } from 'lucide-react';
|
|
3
|
+
export declare function Dropdown({ children }: {
|
|
4
|
+
children: ReactNode;
|
|
5
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function DropdownTrigger({ children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
interface DropdownContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
8
|
+
/** Horizontal alignment relative to the trigger. Default: 'start' (left-aligned). */
|
|
9
|
+
align?: 'start' | 'end';
|
|
10
|
+
/** Pixel offset between trigger and content. Default: 4. */
|
|
11
|
+
offset?: number;
|
|
12
|
+
}
|
|
13
|
+
export declare function DropdownContent({ className, children, align, offset, ...props }: DropdownContentProps): import('react').ReactPortal | null;
|
|
14
|
+
interface DropdownItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
15
|
+
icon?: LucideIcon;
|
|
16
|
+
variant?: 'default' | 'danger';
|
|
17
|
+
}
|
|
18
|
+
export declare function DropdownItem({ className, icon: Icon, variant, children, onClick, ...props }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface FloatingPanelProps {
|
|
3
|
+
/** Panel title displayed in the title bar */
|
|
4
|
+
title: string;
|
|
5
|
+
/** Called when the close button is clicked */
|
|
6
|
+
onClose: () => void;
|
|
7
|
+
/** Panel content */
|
|
8
|
+
children: ReactNode;
|
|
9
|
+
/** Default width in pixels */
|
|
10
|
+
defaultWidth?: number;
|
|
11
|
+
/** Default height in pixels */
|
|
12
|
+
defaultHeight?: number;
|
|
13
|
+
/** Minimum width in pixels */
|
|
14
|
+
minWidth?: number;
|
|
15
|
+
/** Minimum height in pixels */
|
|
16
|
+
minHeight?: number;
|
|
17
|
+
/** Offset index to stagger multiple panels (adds 30px offset per index) */
|
|
18
|
+
offsetIndex?: number;
|
|
19
|
+
/** Additional CSS classes for the panel container */
|
|
20
|
+
className?: string;
|
|
21
|
+
}
|
|
22
|
+
export declare function FloatingPanel({ title, onClose, children, defaultWidth, defaultHeight, minWidth, minHeight, offsetIndex, className, }: FloatingPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
import { LucideIcon } from 'lucide-react';
|
|
4
|
+
declare const iconButtonVariants: (props?: ({
|
|
5
|
+
variant?: "primary" | "danger" | "secondary" | "ghost" | "outline" | null | undefined;
|
|
6
|
+
size?: "sm" | "md" | "lg" | null | undefined;
|
|
7
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
8
|
+
export interface IconButtonProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'children'>, VariantProps<typeof iconButtonVariants> {
|
|
9
|
+
icon: LucideIcon;
|
|
10
|
+
'aria-label': string;
|
|
11
|
+
}
|
|
12
|
+
export declare const IconButton: import('react').ForwardRefExoticComponent<IconButtonProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
13
|
+
export {};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from './button';
|
|
2
|
+
export * from './icon-button';
|
|
3
|
+
export * from './badge';
|
|
4
|
+
export * from './card';
|
|
5
|
+
export * from './collapsible-card';
|
|
6
|
+
export * from './label';
|
|
7
|
+
export * from './separator';
|
|
8
|
+
export * from './skeleton';
|
|
9
|
+
export * from './input';
|
|
10
|
+
export * from './select';
|
|
11
|
+
export * from './checkbox';
|
|
12
|
+
export * from './switch';
|
|
13
|
+
export * from './dialog';
|
|
14
|
+
export * from './dropdown';
|
|
15
|
+
export * from './tooltip';
|
|
16
|
+
export * from './popover';
|
|
17
|
+
export * from './tabs';
|
|
18
|
+
export * from './scroll-area';
|
|
19
|
+
export * from './floating-panel';
|
|
20
|
+
export * from './mobile-drawer';
|
|
21
|
+
export * from './bottom-sheet';
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { InputHTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const inputVariants: (props?: ({
|
|
4
|
+
state?: "default" | "error" | null | undefined;
|
|
5
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
6
|
+
export interface InputProps extends InputHTMLAttributes<HTMLInputElement>, VariantProps<typeof inputVariants> {
|
|
7
|
+
leftSlot?: ReactNode;
|
|
8
|
+
rightSlot?: ReactNode;
|
|
9
|
+
}
|
|
10
|
+
export declare const Input: import('react').ForwardRefExoticComponent<InputProps & import('react').RefAttributes<HTMLInputElement>>;
|
|
11
|
+
export {};
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ReactNode } from 'react';
|
|
2
|
+
export interface MobileDrawerProps {
|
|
3
|
+
open: boolean;
|
|
4
|
+
onClose: () => void;
|
|
5
|
+
children: ReactNode;
|
|
6
|
+
className?: string;
|
|
7
|
+
/** Width of the drawer panel. Default: 'w-64' */
|
|
8
|
+
width?: string;
|
|
9
|
+
}
|
|
10
|
+
export declare function MobileDrawer({ open, onClose, children, className, width }: MobileDrawerProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
interface PopoverProps {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
open?: boolean;
|
|
5
|
+
onOpenChange?: (open: boolean) => void;
|
|
6
|
+
}
|
|
7
|
+
export declare function Popover({ children, open: controlledOpen, onOpenChange }: PopoverProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function PopoverTrigger({ children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export declare function PopoverContent({ className, children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element | null;
|
|
10
|
+
export {};
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { SelectHTMLAttributes } from 'react';
|
|
2
|
+
export interface SelectOption {
|
|
3
|
+
value: string;
|
|
4
|
+
label: string;
|
|
5
|
+
}
|
|
6
|
+
export interface SelectProps extends SelectHTMLAttributes<HTMLSelectElement> {
|
|
7
|
+
options: SelectOption[];
|
|
8
|
+
}
|
|
9
|
+
export declare const Select: import('react').ForwardRefExoticComponent<SelectProps & import('react').RefAttributes<HTMLSelectElement>>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { HTMLAttributes } from 'react';
|
|
2
|
+
import { VariantProps } from 'class-variance-authority';
|
|
3
|
+
declare const separatorVariants: (props?: ({
|
|
4
|
+
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
5
|
+
} & import('class-variance-authority/types').ClassProp) | undefined) => string;
|
|
6
|
+
export interface SeparatorProps extends HTMLAttributes<HTMLDivElement>, VariantProps<typeof separatorVariants> {
|
|
7
|
+
}
|
|
8
|
+
export declare const Separator: import('react').ForwardRefExoticComponent<SeparatorProps & import('react').RefAttributes<HTMLDivElement>>;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes } from 'react';
|
|
2
|
+
export interface SwitchProps extends Omit<ButtonHTMLAttributes<HTMLButtonElement>, 'onClick'> {
|
|
3
|
+
checked: boolean;
|
|
4
|
+
onCheckedChange: (checked: boolean) => void;
|
|
5
|
+
label?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare const Switch: import('react').ForwardRefExoticComponent<SwitchProps & import('react').RefAttributes<HTMLButtonElement>>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { ButtonHTMLAttributes, HTMLAttributes } from 'react';
|
|
2
|
+
interface TabsProps extends HTMLAttributes<HTMLDivElement> {
|
|
3
|
+
value?: string;
|
|
4
|
+
onValueChange?: (value: string) => void;
|
|
5
|
+
defaultValue?: string;
|
|
6
|
+
}
|
|
7
|
+
export declare function Tabs({ value: controlledValue, onValueChange, defaultValue, className, ...props }: TabsProps): import("react/jsx-runtime").JSX.Element;
|
|
8
|
+
export declare function TabsList({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
interface TabsTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
|
|
10
|
+
value: string;
|
|
11
|
+
}
|
|
12
|
+
export declare function TabsTrigger({ value, className, ...props }: TabsTriggerProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {
|
|
14
|
+
value: string;
|
|
15
|
+
}
|
|
16
|
+
export declare function TabsContent({ value, className, ...props }: TabsContentProps): import("react/jsx-runtime").JSX.Element | null;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { HTMLAttributes, ReactNode } from 'react';
|
|
2
|
+
export declare function Tooltip({ children }: {
|
|
3
|
+
children: ReactNode;
|
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
|
5
|
+
export declare function TooltipTrigger({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
export declare function TooltipContent({ className, children, ...props }: HTMLAttributes<HTMLDivElement>): import("react/jsx-runtime").JSX.Element;
|