@camstack/ui-library 0.1.39 → 0.1.41

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (159) hide show
  1. package/dist/composites/addon-global-settings-form.d.ts +60 -0
  2. package/dist/composites/addon-page-props.d.ts +12 -0
  3. package/dist/composites/agent-step-editor.d.ts +15 -0
  4. package/dist/composites/app-shell/app-shell.d.ts +19 -0
  5. package/dist/composites/app-shell/index.d.ts +3 -0
  6. package/dist/composites/app-shell/sidebar-item.d.ts +10 -0
  7. package/dist/composites/app-shell/sidebar.d.ts +14 -0
  8. package/dist/composites/audio-classification-list.d.ts +20 -0
  9. package/dist/composites/audio-level-waveform.d.ts +35 -0
  10. package/dist/composites/audio-waveform.d.ts +20 -0
  11. package/dist/composites/battery-badge.d.ts +12 -0
  12. package/dist/composites/breadcrumb.d.ts +25 -0
  13. package/dist/composites/camera-stream-player.d.ts +87 -0
  14. package/dist/composites/code-block.d.ts +6 -0
  15. package/dist/composites/config-form-builder.d.ts +18 -0
  16. package/dist/composites/config-form-field.d.ts +70 -0
  17. package/dist/composites/confirm-action-button.d.ts +41 -0
  18. package/dist/composites/confirm-dialog.d.ts +13 -0
  19. package/dist/composites/data-table/data-table-header.d.ts +10 -0
  20. package/dist/composites/data-table/data-table-pagination.d.ts +9 -0
  21. package/dist/composites/data-table/data-table-row.d.ts +10 -0
  22. package/dist/composites/data-table/data-table.d.ts +2 -0
  23. package/dist/composites/data-table/index.d.ts +2 -0
  24. package/dist/composites/data-table/types.d.ts +34 -0
  25. package/dist/composites/data-table.d.ts +37 -0
  26. package/dist/composites/detection-canvas.d.ts +29 -0
  27. package/dist/composites/detection-colors.d.ts +15 -0
  28. package/dist/composites/detection-overlay.d.ts +9 -0
  29. package/dist/composites/detection-result-tree.d.ts +11 -0
  30. package/dist/composites/dev-shell.d.ts +20 -0
  31. package/dist/composites/device-activity-panel.d.ts +29 -0
  32. package/dist/composites/device-card.d.ts +38 -0
  33. package/dist/composites/device-grid.d.ts +12 -0
  34. package/dist/composites/device-item/actions.d.ts +9 -0
  35. package/dist/composites/device-item/children-accordion.d.ts +11 -0
  36. package/dist/composites/device-item/features.d.ts +17 -0
  37. package/dist/composites/device-item/header.d.ts +14 -0
  38. package/dist/composites/device-item/helpers.d.ts +147 -0
  39. package/dist/composites/device-item/index.d.ts +5 -0
  40. package/dist/composites/device-item/preview.d.ts +23 -0
  41. package/dist/composites/device-item/status-dot.d.ts +5 -0
  42. package/dist/composites/device-list/empty-state.d.ts +6 -0
  43. package/dist/composites/device-list/filter-chips.d.ts +19 -0
  44. package/dist/composites/device-list/group.d.ts +6 -0
  45. package/dist/composites/device-list/index.d.ts +31 -0
  46. package/dist/composites/device-list/pagination.d.ts +18 -0
  47. package/dist/composites/device-list/url-state.d.ts +24 -0
  48. package/dist/composites/discovery-panel.d.ts +26 -0
  49. package/dist/composites/doorbell-recent-panel.d.ts +10 -0
  50. package/dist/composites/empty-state.d.ts +10 -0
  51. package/dist/composites/event-stream.d.ts +48 -0
  52. package/dist/composites/filter-bar.d.ts +28 -0
  53. package/dist/composites/form-field.d.ts +11 -0
  54. package/dist/composites/image-selector.d.ts +25 -0
  55. package/dist/composites/index.d.ts +99 -0
  56. package/dist/composites/inference-config-selector.d.ts +44 -0
  57. package/dist/composites/kebab-menu.d.ts +39 -0
  58. package/dist/composites/key-value-list.d.ts +9 -0
  59. package/dist/composites/log-stream.d.ts +61 -0
  60. package/dist/composites/login-form.d.ts +8 -0
  61. package/dist/composites/mount-addon-page.d.ts +16 -0
  62. package/dist/composites/node-picker.d.ts +15 -0
  63. package/dist/composites/page-header.d.ts +8 -0
  64. package/dist/composites/phase-icon.d.ts +5 -0
  65. package/dist/composites/pipeline-builder.d.ts +43 -0
  66. package/dist/composites/pipeline-runtime-selector.d.ts +16 -0
  67. package/dist/composites/pipeline-step.d.ts +65 -0
  68. package/dist/composites/pipeline-tree-matrix.d.ts +31 -0
  69. package/dist/composites/provider-badge.d.ts +7 -0
  70. package/dist/composites/ptz-overlay.d.ts +20 -0
  71. package/dist/composites/response-log.d.ts +9 -0
  72. package/dist/composites/slide-over-panel.d.ts +11 -0
  73. package/dist/composites/snapshot-button.d.ts +25 -0
  74. package/dist/composites/stat-card.d.ts +10 -0
  75. package/dist/composites/state-values-stream.d.ts +30 -0
  76. package/dist/composites/status-badge.d.ts +10 -0
  77. package/dist/composites/step-timings.d.ts +9 -0
  78. package/dist/composites/step-tree-master.d.ts +28 -0
  79. package/dist/composites/stream-panel.d.ts +143 -0
  80. package/dist/composites/version-badge.d.ts +24 -0
  81. package/dist/composites/widget-slot.d.ts +20 -0
  82. package/dist/contexts/custom-field-renderers.d.ts +26 -0
  83. package/dist/contexts/device-context.d.ts +20 -0
  84. package/dist/contexts/player-overlays.d.ts +56 -0
  85. package/dist/contexts/system-context.d.ts +19 -0
  86. package/dist/contexts/widget-registry.d.ts +68 -0
  87. package/dist/contexts/zone-editing.d.ts +59 -0
  88. package/dist/generated/system-hooks.d.ts +933 -0
  89. package/dist/hooks/index.d.ts +27 -0
  90. package/dist/hooks/use-cluster-nodes.d.ts +17 -0
  91. package/dist/hooks/use-debounced-string.d.ts +1 -0
  92. package/dist/hooks/use-device-battery.d.ts +14 -0
  93. package/dist/hooks/use-device-capability.d.ts +17 -0
  94. package/dist/hooks/use-device-detections.d.ts +50 -0
  95. package/dist/hooks/use-device-features.d.ts +25 -0
  96. package/dist/hooks/use-device-proxy.d.ts +106 -0
  97. package/dist/hooks/use-device-snapshot.d.ts +10 -0
  98. package/dist/hooks/use-device-webrtc.d.ts +108 -0
  99. package/dist/hooks/use-devices.d.ts +13 -0
  100. package/dist/hooks/use-doorbell-events.d.ts +20 -0
  101. package/dist/hooks/use-event-invalidation.d.ts +1 -0
  102. package/dist/hooks/use-event-stream.d.ts +5 -0
  103. package/dist/hooks/use-is-mobile.d.ts +8 -0
  104. package/dist/hooks/use-live-buffer.d.ts +8 -0
  105. package/dist/hooks/use-live-event.d.ts +3 -0
  106. package/dist/hooks/use-ptz.d.ts +54 -0
  107. package/dist/hooks/use-system-query.d.ts +12 -0
  108. package/dist/icons/index.d.ts +2 -0
  109. package/dist/icons/provider-icons.d.ts +3 -0
  110. package/dist/icons/status-icons.d.ts +3 -0
  111. package/dist/index.cjs +23485 -14252
  112. package/dist/index.cjs.map +1 -1
  113. package/dist/index.d.ts +14 -3787
  114. package/dist/index.js +22811 -13741
  115. package/dist/index.js.map +1 -1
  116. package/dist/lib/cn.d.ts +2 -0
  117. package/dist/lib/index.d.ts +8 -0
  118. package/dist/lib/mf-runtime-init.d.ts +1 -0
  119. package/dist/lib/phase-config.d.ts +16 -0
  120. package/dist/lib/pipeline-mirror.d.ts +23 -0
  121. package/dist/lib/responsive.d.ts +81 -0
  122. package/dist/lib/shared-context.d.ts +5 -0
  123. package/dist/lib/validate-template.d.ts +2 -0
  124. package/dist/primitives/badge.d.ts +11 -0
  125. package/dist/primitives/bottom-sheet.d.ts +9 -0
  126. package/dist/primitives/button.d.ts +10 -0
  127. package/dist/primitives/card.d.ts +9 -0
  128. package/dist/primitives/checkbox.d.ts +4 -0
  129. package/dist/primitives/collapsible-card.d.ts +15 -0
  130. package/dist/primitives/dialog.d.ts +20 -0
  131. package/dist/primitives/dropdown.d.ts +19 -0
  132. package/dist/primitives/floating-panel.d.ts +22 -0
  133. package/dist/primitives/icon-button.d.ts +13 -0
  134. package/dist/primitives/index.d.ts +21 -0
  135. package/dist/primitives/input.d.ts +11 -0
  136. package/dist/primitives/label.d.ts +4 -0
  137. package/dist/primitives/mobile-drawer.d.ts +10 -0
  138. package/dist/primitives/popover.d.ts +10 -0
  139. package/dist/primitives/scroll-area.d.ts +4 -0
  140. package/dist/primitives/select.d.ts +9 -0
  141. package/dist/primitives/separator.d.ts +9 -0
  142. package/dist/primitives/skeleton.d.ts +4 -0
  143. package/dist/primitives/switch.d.ts +7 -0
  144. package/dist/primitives/tabs.d.ts +17 -0
  145. package/dist/primitives/tooltip.d.ts +6 -0
  146. package/dist/theme/create-theme.d.ts +2 -0
  147. package/dist/theme/defaults.d.ts +4 -0
  148. package/dist/theme/index.cjs +228 -248
  149. package/dist/theme/index.cjs.map +1 -1
  150. package/dist/theme/index.d.ts +6 -128
  151. package/dist/theme/index.js +212 -214
  152. package/dist/theme/index.js.map +1 -1
  153. package/dist/theme/theme-provider.d.ts +10 -0
  154. package/dist/theme/theme-to-css.d.ts +2 -0
  155. package/dist/theme/{index.d.cts → types.d.ts} +5 -27
  156. package/dist/theme/use-theme-mode.d.ts +2 -0
  157. package/dist/trpc-react.d.ts +7 -0
  158. package/package.json +5 -3
  159. package/dist/index.d.cts +0 -3787
@@ -0,0 +1,2 @@
1
+ import { ClassValue } from 'clsx';
2
+ export declare function cn(...inputs: ClassValue[]): string;
@@ -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,5 @@
1
+ import { Context } from 'react';
2
+ declare global {
3
+ var __camstackSharedContexts: Map<string, Context<unknown>> | undefined;
4
+ }
5
+ export declare function createSharedContext<T>(name: string, defaultValue: T): Context<T>;
@@ -0,0 +1,2 @@
1
+ import { PipelineSchema, PipelineTemplateStep, TemplateValidationResult } from '@camstack/types';
2
+ export declare function validateTemplate(steps: readonly PipelineTemplateStep[], schema: PipelineSchema): TemplateValidationResult;
@@ -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,4 @@
1
+ import { LabelHTMLAttributes } from 'react';
2
+ export interface LabelProps extends LabelHTMLAttributes<HTMLLabelElement> {
3
+ }
4
+ export declare const Label: import('react').ForwardRefExoticComponent<LabelProps & import('react').RefAttributes<HTMLLabelElement>>;
@@ -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,4 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface ScrollAreaProps extends HTMLAttributes<HTMLDivElement> {
3
+ }
4
+ export declare const ScrollArea: import('react').ForwardRefExoticComponent<ScrollAreaProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -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,4 @@
1
+ import { HTMLAttributes } from 'react';
2
+ export interface SkeletonProps extends HTMLAttributes<HTMLDivElement> {
3
+ }
4
+ export declare const Skeleton: import('react').ForwardRefExoticComponent<SkeletonProps & import('react').RefAttributes<HTMLDivElement>>;
@@ -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;
@@ -0,0 +1,2 @@
1
+ import { CamStackTheme, DeepPartial } from './types';
2
+ export declare function createTheme(overrides?: DeepPartial<CamStackTheme>): CamStackTheme;
@@ -0,0 +1,4 @@
1
+ import { CamStackColorTokens, CamStackTheme } from './types';
2
+ export declare const darkColors: CamStackColorTokens;
3
+ export declare const lightColors: CamStackColorTokens;
4
+ export declare const defaultTheme: CamStackTheme;