@camstack/ui-library 0.1.57 → 0.2.0

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 (202) hide show
  1. package/dist/composites/addon-global-settings-form.d.ts +1 -1
  2. package/dist/composites/agent-step-editor.d.ts +1 -1
  3. package/dist/composites/app-shell/app-shell.d.ts +1 -1
  4. package/dist/composites/app-shell/sidebar-item.d.ts +1 -1
  5. package/dist/composites/app-shell/sidebar.d.ts +1 -1
  6. package/dist/composites/audio-classification-list.d.ts +1 -1
  7. package/dist/composites/audio-level-waveform.d.ts +1 -1
  8. package/dist/composites/audio-waveform.d.ts +1 -1
  9. package/dist/composites/battery-badge.d.ts +4 -1
  10. package/dist/composites/breadcrumb.d.ts +2 -1
  11. package/dist/composites/camera-stream-player.d.ts +94 -2
  12. package/dist/composites/cap-settings/AutotrackSection.d.ts +1 -1
  13. package/dist/composites/cap-settings/ConsumablesPanel.d.ts +2 -0
  14. package/dist/composites/cap-settings/CoverageTrack.d.ts +12 -0
  15. package/dist/composites/cap-settings/EventBucketStrip.d.ts +25 -0
  16. package/dist/composites/cap-settings/EventHeatmap.d.ts +10 -0
  17. package/dist/composites/cap-settings/MaskShapeCanvas.d.ts +1 -1
  18. package/dist/composites/cap-settings/MotionZonesSettings.d.ts +1 -1
  19. package/dist/composites/cap-settings/PrivacyMaskSettings.d.ts +1 -1
  20. package/dist/composites/cap-settings/PtzPanel.d.ts +1 -1
  21. package/dist/composites/cap-settings/RecordingPanel.d.ts +2 -0
  22. package/dist/composites/cap-settings/RecordingRulesEditor.d.ts +7 -0
  23. package/dist/composites/cap-settings/RecordingSettings.d.ts +8 -0
  24. package/dist/composites/cap-settings/RecordingTimeline.d.ts +5 -0
  25. package/dist/composites/cap-settings/ScheduleBandsEditor.d.ts +7 -0
  26. package/dist/composites/cap-settings/TimelineControls.d.ts +21 -0
  27. package/dist/composites/cap-settings/event-thumb.d.ts +11 -0
  28. package/dist/composites/cap-settings/index.d.ts +4 -0
  29. package/dist/composites/cap-settings/recording-config-form.d.ts +34 -0
  30. package/dist/composites/cap-settings/recording-spans.d.ts +22 -0
  31. package/dist/composites/cap-settings/recording-timeline-model.d.ts +84 -0
  32. package/dist/composites/code-block.d.ts +1 -1
  33. package/dist/composites/config-form-builder.d.ts +1 -1
  34. package/dist/composites/config-form-field.d.ts +3 -3
  35. package/dist/composites/confirm-action-button.d.ts +1 -1
  36. package/dist/composites/confirm-dialog.d.ts +1 -1
  37. package/dist/composites/data-table/data-table-header.d.ts +1 -1
  38. package/dist/composites/data-table/data-table-pagination.d.ts +1 -1
  39. package/dist/composites/data-table/data-table-row.d.ts +1 -1
  40. package/dist/composites/data-table/data-table.d.ts +1 -1
  41. package/dist/composites/data-table.d.ts +1 -1
  42. package/dist/composites/detection-canvas.d.ts +1 -1
  43. package/dist/composites/detection-overlay.d.ts +1 -1
  44. package/dist/composites/detection-result-tree.d.ts +1 -1
  45. package/dist/composites/dev-shell.d.ts +1 -1
  46. package/dist/composites/device-activity-panel.d.ts +5 -1
  47. package/dist/composites/device-card.d.ts +1 -1
  48. package/dist/composites/device-controls/alarm-hero-card.d.ts +24 -0
  49. package/dist/composites/device-controls/atoms.d.ts +81 -0
  50. package/dist/composites/device-controls/brightness-panel.d.ts +3 -0
  51. package/dist/composites/device-controls/button-control.d.ts +18 -0
  52. package/dist/composites/device-controls/climate-panel.d.ts +16 -0
  53. package/dist/composites/device-controls/container-primary-hero.d.ts +24 -0
  54. package/dist/composites/device-controls/container-primary.d.ts +46 -0
  55. package/dist/composites/device-controls/control-panel.d.ts +10 -0
  56. package/dist/composites/device-controls/control-registry.d.ts +74 -0
  57. package/dist/composites/device-controls/cover-hero-card.d.ts +27 -0
  58. package/dist/composites/device-controls/cover-inline.d.ts +27 -0
  59. package/dist/composites/device-controls/cover-panel.d.ts +3 -0
  60. package/dist/composites/device-controls/dummy-hero-card.d.ts +6 -0
  61. package/dist/composites/device-controls/fan-hero-card.d.ts +21 -0
  62. package/dist/composites/device-controls/fan-panel.d.ts +3 -0
  63. package/dist/composites/device-controls/humidifier-control.d.ts +37 -0
  64. package/dist/composites/device-controls/image-control.d.ts +24 -0
  65. package/dist/composites/device-controls/index.d.ts +33 -0
  66. package/dist/composites/device-controls/lawn-mower-control.d.ts +24 -0
  67. package/dist/composites/device-controls/light-hero-card.d.ts +16 -0
  68. package/dist/composites/device-controls/lock-hero-card.d.ts +15 -0
  69. package/dist/composites/device-controls/lock-panel.d.ts +3 -0
  70. package/dist/composites/device-controls/media-player-hero-card.d.ts +17 -0
  71. package/dist/composites/device-controls/media-player-panel.d.ts +9 -0
  72. package/dist/composites/device-controls/offline-badge.d.ts +11 -0
  73. package/dist/composites/device-controls/panel-controls.d.ts +17 -0
  74. package/dist/composites/device-controls/popover-row-action.d.ts +9 -0
  75. package/dist/composites/device-controls/primary-child.d.ts +18 -0
  76. package/dist/composites/device-controls/radial-gauge.d.ts +20 -0
  77. package/dist/composites/device-controls/sensor-hero-card.d.ts +10 -0
  78. package/dist/composites/device-controls/sensor-inline-control.d.ts +11 -0
  79. package/dist/composites/device-controls/sensor-value-atom.d.ts +106 -0
  80. package/dist/composites/device-controls/switch-hero-card.d.ts +13 -0
  81. package/dist/composites/device-controls/switch-panel.d.ts +3 -0
  82. package/dist/composites/device-controls/tap-toggle.d.ts +17 -0
  83. package/dist/composites/device-controls/thermostat-hero-card.d.ts +17 -0
  84. package/dist/composites/device-controls/types.d.ts +17 -0
  85. package/dist/composites/device-controls/update-control.d.ts +11 -0
  86. package/dist/composites/device-controls/vacuum-control.d.ts +36 -0
  87. package/dist/composites/device-controls/valve-control.d.ts +46 -0
  88. package/dist/composites/device-controls/water-heater-control.d.ts +41 -0
  89. package/dist/composites/device-controls/weather-control.d.ts +41 -0
  90. package/dist/composites/device-export-panel.d.ts +1 -1
  91. package/dist/composites/device-grid.d.ts +1 -1
  92. package/dist/composites/device-item/actions.d.ts +12 -1
  93. package/dist/composites/device-item/child-layout.d.ts +32 -0
  94. package/dist/composites/device-item/child-section-accordion.d.ts +9 -0
  95. package/dist/composites/device-item/children-accordion.d.ts +1 -1
  96. package/dist/composites/device-item/container-children-context.d.ts +15 -0
  97. package/dist/composites/device-item/device-delete-action.d.ts +8 -0
  98. package/dist/composites/device-item/header.d.ts +8 -1
  99. package/dist/composites/device-item/helpers.d.ts +108 -2
  100. package/dist/composites/device-item/index.d.ts +4 -0
  101. package/dist/composites/device-item/preview.d.ts +3 -3
  102. package/dist/composites/device-item/reboot-quick-action.d.ts +9 -0
  103. package/dist/composites/device-item/status-dot.d.ts +4 -1
  104. package/dist/composites/device-list/batch-actions-bar.d.ts +15 -0
  105. package/dist/composites/device-list/batch-toolbar.d.ts +15 -0
  106. package/dist/composites/device-list/cards-layout.d.ts +18 -0
  107. package/dist/composites/device-list/columns.d.ts +68 -0
  108. package/dist/composites/device-list/device-mode.d.ts +115 -0
  109. package/dist/composites/device-list/filter-chips.d.ts +15 -6
  110. package/dist/composites/device-list/fuzzy-match.d.ts +27 -0
  111. package/dist/composites/device-list/generic-mode.d.ts +81 -0
  112. package/dist/composites/device-list/group.d.ts +19 -0
  113. package/dist/composites/device-list/hardware-cell.d.ts +7 -0
  114. package/dist/composites/device-list/hardware.d.ts +26 -0
  115. package/dist/composites/device-list/icon-action.d.ts +17 -0
  116. package/dist/composites/device-list/index.d.ts +23 -39
  117. package/dist/composites/device-list/multi-select.d.ts +22 -0
  118. package/dist/composites/device-list/sort.d.ts +18 -0
  119. package/dist/composites/device-list/sortable-header.d.ts +10 -0
  120. package/dist/composites/device-list/table-layout.d.ts +25 -0
  121. package/dist/composites/device-list/type-filter.d.ts +19 -0
  122. package/dist/composites/device-list/url-state.d.ts +7 -2
  123. package/dist/composites/device-meta.d.ts +38 -0
  124. package/dist/composites/discovery-panel.d.ts +4 -4
  125. package/dist/composites/doorbell-recent-panel.d.ts +1 -1
  126. package/dist/composites/empty-state.d.ts +1 -1
  127. package/dist/composites/error-box.d.ts +1 -1
  128. package/dist/composites/event-stream.d.ts +2 -2
  129. package/dist/composites/filter-bar.d.ts +1 -1
  130. package/dist/composites/form-field.d.ts +1 -1
  131. package/dist/composites/hls-quality.d.ts +35 -0
  132. package/dist/composites/hls-video.d.ts +26 -0
  133. package/dist/composites/hover-zoom-image.d.ts +18 -0
  134. package/dist/composites/image-selector.d.ts +1 -1
  135. package/dist/composites/index.d.ts +15 -4
  136. package/dist/composites/inference-config-selector.d.ts +1 -1
  137. package/dist/composites/kebab-menu.d.ts +1 -1
  138. package/dist/composites/key-value-list.d.ts +1 -1
  139. package/dist/composites/log-stream-scroll.d.ts +32 -0
  140. package/dist/composites/log-stream.d.ts +9 -2
  141. package/dist/composites/login-form.d.ts +1 -1
  142. package/dist/composites/node-picker.d.ts +1 -1
  143. package/dist/composites/page-header.d.ts +1 -1
  144. package/dist/composites/phase-icon.d.ts +1 -1
  145. package/dist/composites/pipeline-builder.d.ts +1 -1
  146. package/dist/composites/pipeline-runtime-selector.d.ts +1 -1
  147. package/dist/composites/pipeline-step.d.ts +3 -3
  148. package/dist/composites/pipeline-tree-matrix.d.ts +1 -1
  149. package/dist/composites/provider-badge.d.ts +1 -1
  150. package/dist/composites/ptz-overlay.d.ts +1 -1
  151. package/dist/composites/qr-code.d.ts +1 -1
  152. package/dist/composites/response-log.d.ts +1 -1
  153. package/dist/composites/scope-picker.d.ts +1 -1
  154. package/dist/composites/slide-over-panel.d.ts +1 -1
  155. package/dist/composites/snapshot-button.d.ts +1 -1
  156. package/dist/composites/stat-card.d.ts +1 -1
  157. package/dist/composites/state-values-stream.d.ts +1 -1
  158. package/dist/composites/status-badge.d.ts +1 -1
  159. package/dist/composites/step-timings.d.ts +1 -1
  160. package/dist/composites/step-tree-master.d.ts +1 -1
  161. package/dist/composites/stream-panel.d.ts +45 -10
  162. package/dist/composites/timezone-selector.d.ts +18 -0
  163. package/dist/composites/version-badge.d.ts +2 -2
  164. package/dist/composites/widget-panel.d.ts +28 -0
  165. package/dist/contexts/custom-field-renderers.d.ts +1 -1
  166. package/dist/contexts/device-context.d.ts +1 -1
  167. package/dist/contexts/player-overlays.d.ts +1 -1
  168. package/dist/contexts/system-context.d.ts +1 -1
  169. package/dist/contexts/vod-playback.d.ts +17 -0
  170. package/dist/contexts/widget-registry.d.ts +1 -1
  171. package/dist/contexts/zone-editing.d.ts +1 -1
  172. package/dist/generated/system-hooks.d.ts +386 -56
  173. package/dist/hooks/index.d.ts +8 -2
  174. package/dist/hooks/use-device-cap-slice.d.ts +19 -0
  175. package/dist/hooks/use-device-capability.d.ts +12 -0
  176. package/dist/hooks/use-device-list-page-size.d.ts +14 -0
  177. package/dist/hooks/use-device-webrtc.d.ts +36 -4
  178. package/dist/hooks/use-optimistic-slice.d.ts +11 -0
  179. package/dist/index.cjs +54834 -11195
  180. package/dist/index.d.ts +1 -0
  181. package/dist/index.js +54483 -11136
  182. package/dist/lib/format-control-datetime.d.ts +18 -0
  183. package/dist/lib/format-last-seen.d.ts +12 -0
  184. package/dist/lib/format-numeric.d.ts +9 -0
  185. package/dist/lib/index.d.ts +3 -0
  186. package/dist/primitives/bottom-sheet.d.ts +1 -1
  187. package/dist/primitives/collapsible-card.d.ts +1 -1
  188. package/dist/primitives/dialog.d.ts +19 -6
  189. package/dist/primitives/dropdown.d.ts +3 -3
  190. package/dist/primitives/floating-panel.d.ts +1 -1
  191. package/dist/primitives/mobile-drawer.d.ts +1 -1
  192. package/dist/primitives/popover.d.ts +3 -3
  193. package/dist/primitives/tabs.d.ts +4 -4
  194. package/dist/primitives/tooltip.d.ts +11 -5
  195. package/dist/theme/index.cjs +0 -3
  196. package/dist/theme/index.js +0 -2
  197. package/dist/theme/theme-provider.d.ts +1 -1
  198. package/package.json +13 -5
  199. package/dist/index.cjs.map +0 -1
  200. package/dist/index.js.map +0 -1
  201. package/dist/theme/index.cjs.map +0 -1
  202. package/dist/theme/index.js.map +0 -1
@@ -0,0 +1,18 @@
1
+ /**
2
+ * Format an HA-native datetime control value in the user's locale.
3
+ *
4
+ * The `control` cap keeps the value verbatim in one of three HA-native shapes:
5
+ * - date → 'YYYY-MM-DD'
6
+ * - time → 'HH:MM' or 'HH:MM:SS'
7
+ * - datetime → full ISO timestamp ('YYYY-MM-DDTHH:MM[:SS]' or space-separated)
8
+ *
9
+ * This helper renders that value for the READ-ONLY (at-a-glance) context:
10
+ * - 'date' → locale date (e.g. en-US '6/7/2026')
11
+ * - 'time' → locale time (e.g. en-US '07:30 AM')
12
+ * - 'datetime' → locale date+time (medium date + short time)
13
+ *
14
+ * It NEVER throws: any value it cannot parse is returned unchanged (graceful
15
+ * fallback). `locale` is optional and defaults to the runtime/browser locale.
16
+ */
17
+ export type ControlDateTimeFormat = 'date' | 'time' | 'datetime';
18
+ export declare function formatControlDateTime(value: string, format: ControlDateTimeFormat, locale?: string): string;
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Relative "last seen" formatter for the offline affordance.
3
+ *
4
+ * Renders a short relative-time label from a millisecond epoch:
5
+ * "just now", "5m ago", "3h ago", "2d ago". Returns `null` for
6
+ * missing/non-positive inputs so callers can render nothing rather
7
+ * than a misleading "—" or "NaN ago".
8
+ *
9
+ * Future timestamps (clock skew between the device and the browser)
10
+ * collapse to "just now" instead of a negative duration.
11
+ */
12
+ export declare function formatLastSeen(timestampMs: number | null | undefined): string | null;
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Format a numeric sensor / control value with optional display precision.
3
+ *
4
+ * When `precision` is provided, delegates to `value.toFixed(precision)` which
5
+ * matches the HA `suggested_display_precision` contract.
6
+ * When absent, falls back to auto-formatting: integers render without a
7
+ * decimal point; non-integers use one decimal place.
8
+ */
9
+ export declare function formatNumeric(value: number, precision: number | undefined): string;
@@ -1,4 +1,7 @@
1
1
  export { cn } from './cn';
2
+ export { formatLastSeen } from './format-last-seen';
3
+ export { formatControlDateTime } from './format-control-datetime';
4
+ export type { ControlDateTimeFormat } from './format-control-datetime';
2
5
  export { isAbsentProvider } from './cap-error';
3
6
  export * from './responsive';
4
7
  export { mirror } from './pipeline-mirror';
@@ -6,4 +6,4 @@ export interface BottomSheetProps {
6
6
  children: ReactNode;
7
7
  className?: string;
8
8
  }
9
- export declare function BottomSheet({ open, onClose, title, children, className }: BottomSheetProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function BottomSheet({ open, onClose, title, children, className }: BottomSheetProps): import("react").JSX.Element;
@@ -12,4 +12,4 @@ export interface CollapsibleCardProps {
12
12
  readonly hideChevron?: boolean;
13
13
  readonly className?: string;
14
14
  }
15
- export declare function CollapsibleCard({ expanded, onExpandedChange, header, children, dimmed, hideChevron, className, }: CollapsibleCardProps): import("react/jsx-runtime").JSX.Element;
15
+ export declare function CollapsibleCard({ expanded, onExpandedChange, header, children, dimmed, hideChevron, className, }: CollapsibleCardProps): import("react").JSX.Element;
@@ -5,16 +5,29 @@ interface DialogProps {
5
5
  open?: boolean;
6
6
  onOpenChange?: (open: boolean) => void;
7
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;
8
+ export declare function Dialog({ children, open: controlledOpen, onOpenChange }: DialogProps): import("react").JSX.Element;
9
+ export declare function DialogTrigger({ children, ...props }: HTMLAttributes<HTMLButtonElement>): import("react").JSX.Element;
10
+ /**
11
+ * A native <dialog> opened with showModal() is promoted to the top layer, so
12
+ * ancestor transform/overflow can't clip it — but it relies on the UA
13
+ * stylesheet's `dialog { margin: auto }` for modal centering. Tailwind's
14
+ * preflight resets `margin: 0` on every element, which defeats that centering
15
+ * and pins the modal to the top-left. We therefore center deterministically:
16
+ * a top-layer dialog with `position: fixed` is viewport-relative, and a
17
+ * self-transform is fine, so `fixed left-1/2 top-1/2 -translate-x-1/2
18
+ * -translate-y-1/2 m-0` always centers regardless of any margin reset. Width
19
+ * is capped to the viewport (`w-[calc(100vw-2rem)]`) rather than a bare
20
+ * `w-full` (which would overflow/clip a centered dialog); the per-variant
21
+ * `max-w-*` keeps small dialogs small while the cap prevents overflow.
22
+ */
10
23
  declare const contentVariants: (props?: ({
11
24
  width?: "sm" | "md" | "lg" | null | undefined;
12
25
  } & import('class-variance-authority/types').ClassProp) | undefined) => string;
13
26
  export interface DialogContentProps extends HTMLAttributes<HTMLDialogElement>, VariantProps<typeof contentVariants> {
14
27
  }
15
28
  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;
29
+ export declare function DialogHeader({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
30
+ export declare function DialogFooter({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
31
+ export declare function DialogTitle({ className, ...props }: HTMLAttributes<HTMLHeadingElement>): import("react").JSX.Element;
32
+ export declare function DialogDescription({ className, ...props }: HTMLAttributes<HTMLParagraphElement>): import("react").JSX.Element;
20
33
  export {};
@@ -2,8 +2,8 @@ import { ButtonHTMLAttributes, HTMLAttributes, ReactNode } from 'react';
2
2
  import { LucideIcon } from 'lucide-react';
3
3
  export declare function Dropdown({ children }: {
4
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;
5
+ }): import("react").JSX.Element;
6
+ export declare function DropdownTrigger({ children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): import("react").JSX.Element;
7
7
  interface DropdownContentProps extends HTMLAttributes<HTMLDivElement> {
8
8
  /** Horizontal alignment relative to the trigger. Default: 'start' (left-aligned). */
9
9
  align?: 'start' | 'end';
@@ -15,5 +15,5 @@ interface DropdownItemProps extends ButtonHTMLAttributes<HTMLButtonElement> {
15
15
  icon?: LucideIcon;
16
16
  variant?: 'default' | 'danger';
17
17
  }
18
- export declare function DropdownItem({ className, icon: Icon, variant, children, onClick, ...props }: DropdownItemProps): import("react/jsx-runtime").JSX.Element;
18
+ export declare function DropdownItem({ className, icon: Icon, variant, children, onClick, ...props }: DropdownItemProps): import("react").JSX.Element;
19
19
  export {};
@@ -19,4 +19,4 @@ export interface FloatingPanelProps {
19
19
  /** Additional CSS classes for the panel container */
20
20
  className?: string;
21
21
  }
22
- export declare function FloatingPanel({ title, onClose, children, defaultWidth, defaultHeight, minWidth, minHeight, offsetIndex, className, }: FloatingPanelProps): import("react/jsx-runtime").JSX.Element;
22
+ export declare function FloatingPanel({ title, onClose, children, defaultWidth, defaultHeight, minWidth, minHeight, offsetIndex, className, }: FloatingPanelProps): import("react").JSX.Element;
@@ -7,4 +7,4 @@ export interface MobileDrawerProps {
7
7
  /** Width of the drawer panel. Default: 'w-64' */
8
8
  width?: string;
9
9
  }
10
- export declare function MobileDrawer({ open, onClose, children, className, width }: MobileDrawerProps): import("react/jsx-runtime").JSX.Element;
10
+ export declare function MobileDrawer({ open, onClose, children, className, width, }: MobileDrawerProps): import("react").JSX.Element;
@@ -4,7 +4,7 @@ interface PopoverProps {
4
4
  open?: boolean;
5
5
  onOpenChange?: (open: boolean) => void;
6
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;
7
+ export declare function Popover({ children, open: controlledOpen, onOpenChange }: PopoverProps): import("react").JSX.Element;
8
+ export declare function PopoverTrigger({ children, ...props }: ButtonHTMLAttributes<HTMLButtonElement>): import("react").JSX.Element;
9
+ export declare function PopoverContent({ className, children, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element | null;
10
10
  export {};
@@ -4,14 +4,14 @@ interface TabsProps extends HTMLAttributes<HTMLDivElement> {
4
4
  onValueChange?: (value: string) => void;
5
5
  defaultValue?: string;
6
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;
7
+ export declare function Tabs({ value: controlledValue, onValueChange, defaultValue, className, ...props }: TabsProps): import("react").JSX.Element;
8
+ export declare function TabsList({ className, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
9
9
  interface TabsTriggerProps extends ButtonHTMLAttributes<HTMLButtonElement> {
10
10
  value: string;
11
11
  }
12
- export declare function TabsTrigger({ value, className, ...props }: TabsTriggerProps): import("react/jsx-runtime").JSX.Element;
12
+ export declare function TabsTrigger({ value, className, ...props }: TabsTriggerProps): import("react").JSX.Element;
13
13
  interface TabsContentProps extends HTMLAttributes<HTMLDivElement> {
14
14
  value: string;
15
15
  }
16
- export declare function TabsContent({ value, className, ...props }: TabsContentProps): import("react/jsx-runtime").JSX.Element | null;
16
+ export declare function TabsContent({ value, className, ...props }: TabsContentProps): import("react").JSX.Element | null;
17
17
  export {};
@@ -1,6 +1,12 @@
1
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;
2
+ interface TooltipProps {
3
+ readonly children: ReactNode;
4
+ /** Extra classes for the positioning wrapper. Defaults to `inline-block`
5
+ * (shrink-to-fit). Pass `block w-full min-w-0` when the trigger must fill a
6
+ * width-constrained parent so its inner content can truncate cleanly. */
7
+ readonly className?: string;
8
+ }
9
+ export declare function Tooltip({ children, className }: TooltipProps): import("react").JSX.Element;
10
+ export declare function TooltipTrigger({ children, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
11
+ export declare function TooltipContent({ className, children, ...props }: HTMLAttributes<HTMLDivElement>): import("react").JSX.Element;
12
+ export {};
@@ -1,5 +1,4 @@
1
1
  Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
- require("../index.cjs");
3
2
  let react = require("react");
4
3
  let react_jsx_runtime = require("react/jsx-runtime");
5
4
  //#region src/theme/defaults.ts
@@ -282,5 +281,3 @@ exports.themeToCss = themeToCss;
282
281
  exports.themeToCss$1 = themeToCss;
283
282
  exports.useThemeMode = useThemeMode;
284
283
  exports.useThemeMode$1 = useThemeMode;
285
-
286
- //# sourceMappingURL=index.cjs.map
@@ -267,5 +267,3 @@ function useThemeMode() {
267
267
  }
268
268
  //#endregion
269
269
  export { ThemeProvider, createTheme, darkColors, defaultTheme, lightColors, themeToCss, useThemeMode };
270
-
271
- //# sourceMappingURL=index.js.map
@@ -6,5 +6,5 @@ interface ThemeProviderProps {
6
6
  defaultMode?: ThemeMode;
7
7
  storageKey?: string;
8
8
  }
9
- export declare function ThemeProvider({ children, defaultMode, storageKey, }: ThemeProviderProps): import("react/jsx-runtime").JSX.Element;
9
+ export declare function ThemeProvider({ children, defaultMode, storageKey, }: ThemeProviderProps): import("react").JSX.Element;
10
10
  export {};
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@camstack/ui-library",
3
- "version": "0.1.57",
3
+ "version": "0.2.0",
4
4
  "type": "module",
5
5
  "main": "dist/index.cjs",
6
6
  "module": "dist/index.js",
@@ -31,6 +31,7 @@
31
31
  "scripts": {
32
32
  "build": "vite build",
33
33
  "typecheck": "tsc --noEmit",
34
+ "test": "vitest run",
34
35
  "publish": "npm publish --access public"
35
36
  },
36
37
  "peerDependencies": {
@@ -80,9 +81,11 @@
80
81
  "@module-federation/runtime": "^2.4.0",
81
82
  "class-variance-authority": "^0.7",
82
83
  "clsx": "^2.1",
84
+ "hls.js": "^1.6.16",
83
85
  "lucide-react": "^0.576",
84
86
  "qrcode.react": "^4.2.0",
85
- "tailwind-merge": "^3.0"
87
+ "tailwind-merge": "^3.0",
88
+ "zod": "^4.3.6"
86
89
  },
87
90
  "devDependencies": {
88
91
  "@camstack/sdk": "*",
@@ -95,9 +98,14 @@
95
98
  "@trpc/client": "^11.16.0",
96
99
  "@trpc/react-query": "^11.16.0",
97
100
  "jsdom": "^29.0.1",
98
- "tsup": "^8.5.1",
99
- "typescript": "^5.7.0",
101
+ "typescript": "~6.0.3",
100
102
  "vite": "^8.0.11",
101
- "vite-plugin-dts": "^5.0.0"
103
+ "vite-plugin-dts": "^5.0.0",
104
+ "vitest": "^3.2.4"
105
+ },
106
+ "nx": {
107
+ "implicitDependencies": [
108
+ "sdk"
109
+ ]
102
110
  }
103
111
  }