@opencxh/ui-kit 3.13.0 → 3.18.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.
@@ -1,4 +1,7 @@
1
1
  export { cn, createSizes, createVariants } from './utils/cn';
2
+ export { MeetingGrid, type MeetingGridProps } from './meeting/MeetingGrid';
3
+ export { ParticipantTile, type ParticipantTileProps } from './meeting/ParticipantTile';
4
+ export { VideoSurface, type VideoSurfaceProps } from './meeting/VideoSurface';
2
5
  export { Button, type ButtonProps } from './action/Button';
3
6
  export { ButtonGroup, type ButtonGroupProps } from './action/ButtonGroup';
4
7
  export { Link, type LinkProps } from './action/Link';
@@ -0,0 +1,12 @@
1
+ import { ReactNode } from 'react';
2
+ export interface MeetingGridProps {
3
+ tiles: ReactNode[];
4
+ pinned?: ReactNode;
5
+ className?: string;
6
+ }
7
+ /**
8
+ * Layout primitive for meeting views. When `pinned` is provided it gets the
9
+ * dominant area and remaining tiles render in a sidebar/strip. Otherwise tiles
10
+ * flow in an auto-sized grid.
11
+ */
12
+ export declare function MeetingGrid({ tiles, pinned, className }: MeetingGridProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ import { ReactNode } from 'react';
2
+ export interface ParticipantTileProps {
3
+ name: string;
4
+ avatarUrl?: string;
5
+ muted?: boolean;
6
+ speaking?: boolean;
7
+ hasVideo?: boolean;
8
+ videoSlot?: ReactNode;
9
+ className?: string;
10
+ }
11
+ /**
12
+ * Provider-agnostic participant tile. Shows avatar + name when no video is
13
+ * available; otherwise renders the `videoSlot` passed by the caller (typically
14
+ * a <VideoSurface /> wired to a provider-specific stream renderer).
15
+ */
16
+ export declare function ParticipantTile({ name, avatarUrl, muted, speaking, hasVideo, videoSlot, className, }: ParticipantTileProps): import("react/jsx-runtime").JSX.Element;
@@ -0,0 +1,16 @@
1
+ export interface VideoSurfaceProps {
2
+ /**
3
+ * Provider-specific mount callback. Receives the container element so
4
+ * provider SDKs (Azure, Zoom, etc.) can attach their own video renderer.
5
+ * Return an optional cleanup function.
6
+ */
7
+ attach: (el: HTMLDivElement) => void | (() => void);
8
+ active?: boolean;
9
+ mirrored?: boolean;
10
+ className?: string;
11
+ }
12
+ /**
13
+ * Provider-agnostic video tile surface. Owns the DOM slot; the caller wires
14
+ * their SDK's renderer to it via `attach`.
15
+ */
16
+ export declare function VideoSurface({ attach, active, mirrored, className }: VideoSurfaceProps): import("react/jsx-runtime").JSX.Element;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opencxh/ui-kit",
3
- "version": "3.13.0",
3
+ "version": "3.18.0",
4
4
  "description": "Theme-aware UI component library for OpenCXH platform",
5
5
  "type": "module",
6
6
  "exports": {