@q9labsai/chalk-react 5.2.2 → 5.2.3

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.
@@ -36,7 +36,7 @@ import {
36
36
  useRecording,
37
37
  useSpaceClient,
38
38
  useWhiteboard
39
- } from "./chunk-YLP43HHE.js";
39
+ } from "./chunk-34SIWIY5.js";
40
40
  import {
41
41
  WHITEBOARD_ITEM_ID,
42
42
  screenShareItemId
@@ -383,6 +383,7 @@ function SpaceSurface(props) {
383
383
  }, [whiteboardSubscription]);
384
384
  const whiteboard = whiteboardAvailable && whiteboardState.engine.presenting && whiteboardSubscription.status === "ready" ? {
385
385
  isOpen: true,
386
+ presenterId: whiteboardState.engine.presenterId,
386
387
  props: {
387
388
  canDraw: canDrawWhiteboard,
388
389
  collab: {
@@ -5,7 +5,7 @@ import {
5
5
  RecordingHistoryPanel,
6
6
  RecordingSpaceView,
7
7
  RecordingWhiteboardView
8
- } from "../chunk-NYP6LNZF.js";
8
+ } from "../chunk-IZ44PX4W.js";
9
9
  import {
10
10
  loadRecordingWhiteboardFiles,
11
11
  parseRecordingWhiteboardStateV1,
@@ -47,7 +47,7 @@ import {
47
47
  ReactionsOverlay,
48
48
  ScreenShareView,
49
49
  Stage
50
- } from "../chunk-YLP43HHE.js";
50
+ } from "../chunk-34SIWIY5.js";
51
51
  import {
52
52
  buildStageItems
53
53
  } from "../chunk-HWQLW4JR.js";
@@ -26,8 +26,7 @@ export interface ParticipantTileProps {
26
26
  onClick?: () => void;
27
27
  onDoubleClick?: () => void;
28
28
  pinned?: boolean;
29
- /** While the board is open, a click follows this person's view instead of pinning the tile. */
30
- clickAction?: "pin" | "follow";
29
+ onFollow?: () => void;
31
30
  following?: boolean;
32
31
  primary?: boolean;
33
32
  className?: string;
@@ -46,6 +45,6 @@ export interface ParticipantTileSurfaceProps extends Omit<ParticipantTileProps,
46
45
  readonly animatedAvatars?: boolean;
47
46
  }
48
47
  export declare const ParticipantTile: React.MemoExoticComponent<({ videoTrack, ...props }: ParticipantTileProps) => React.JSX.Element>;
49
- export declare const ParticipantTileSurface: React.MemoExoticComponent<({ participant, mirror, showName, showStatus, showAvatar, generatedAvatars, aspectRatio, onClick, onDoubleClick, pinned, clickAction, following, primary, className, style, children, gradientPreference, hidden, media, mediaVisible, animatedAvatars, }: ParticipantTileSurfaceProps) => React.JSX.Element>;
48
+ export declare const ParticipantTileSurface: React.MemoExoticComponent<({ participant, mirror, showName, showStatus, showAvatar, generatedAvatars, aspectRatio, onClick, onDoubleClick, pinned, onFollow, following, primary, className, style, children, gradientPreference, hidden, media, mediaVisible, animatedAvatars, }: ParticipantTileSurfaceProps) => React.JSX.Element>;
50
49
  /** The weak-connection cue shares the mockup's three compact signal bars. */
51
50
  export declare function SignalBars(): React.JSX.Element;
@@ -17,6 +17,7 @@ export interface ParticipantListParticipant {
17
17
  }
18
18
  export type ParticipantListVariant = "default" | "sidebar" | "mobile";
19
19
  export interface ParticipantsPanelProps {
20
+ onParticipantClick?: (id: string) => void;
20
21
  onAddPeople?: () => void;
21
22
  searchable?: boolean;
22
23
  onClose?: () => void;
@@ -55,6 +56,6 @@ interface ParticipantsPanelSurfaceProps extends ParticipantsPanelProps {
55
56
  readonly admissionCount?: number;
56
57
  readonly onMuteEveryone?: () => Promise<void>;
57
58
  }
58
- export declare const ParticipantsPanelSurface: React.MemoExoticComponent<({ participants, canManageParticipants, canManageAdmission, admissionCount, admissionEnabled, onMuteEveryone, searchable, className, variant, onAssignRole, onStopParticipantScreenShare, onMuteParticipant, onRequestUnmute, onStopParticipantCamera, onRequestStartCamera, onRemoveParticipant, onUpdateDisplayName, onCommandError, participantVolumes, onParticipantVolumeChange, participantGradientPreference, generatedAvatars, }: ParticipantsPanelSurfaceProps) => React.JSX.Element>;
59
+ export declare const ParticipantsPanelSurface: React.MemoExoticComponent<({ participants, canManageParticipants, canManageAdmission, admissionCount, admissionEnabled, onMuteEveryone, searchable, className, variant, onAssignRole, onStopParticipantScreenShare, onMuteParticipant, onRequestUnmute, onStopParticipantCamera, onRequestStartCamera, onRemoveParticipant, onUpdateDisplayName, onCommandError, participantVolumes, onParticipantVolumeChange, onParticipantClick, participantGradientPreference, generatedAvatars, }: ParticipantsPanelSurfaceProps) => React.JSX.Element>;
59
60
  export declare const ParticipantsPanel: React.MemoExoticComponent<(props: ParticipantsPanelProps) => React.JSX.Element>;
60
61
  export {};
@@ -1,7 +1,8 @@
1
1
  import type { ParticipantListParticipant, ParticipantListVariant } from "./ParticipantsPanel";
2
2
  import type { ParticipantGradientPreference } from "../../utils/colorGenerator";
3
- export declare function ParticipantRow({ participant, variant, canManageParticipants, onAssignRole, onStopParticipantScreenShare, onMuteParticipant, onRequestUnmute, onStopParticipantCamera, onRequestStartCamera, onRemoveParticipant, onUpdateDisplayName, onCommandError, participantVolumes, onParticipantVolumeChange, participantGradientPreference, generatedAvatars, menuOpen, onMenuToggle, onMenuClose, }: ParticipantRowProps): import("react").JSX.Element;
3
+ export declare function ParticipantRow({ participant, variant, canManageParticipants, onAssignRole, onStopParticipantScreenShare, onMuteParticipant, onRequestUnmute, onStopParticipantCamera, onRequestStartCamera, onRemoveParticipant, onUpdateDisplayName, onCommandError, participantVolumes, onParticipantVolumeChange, onParticipantClick, participantGradientPreference, generatedAvatars, menuOpen, onMenuToggle, onMenuClose, }: ParticipantRowProps): import("react").JSX.Element;
4
4
  export interface ParticipantRowProps {
5
+ onParticipantClick?: (id: string) => void;
5
6
  participant: ParticipantListParticipant;
6
7
  variant: ParticipantListVariant;
7
8
  canManageParticipants: boolean;
@@ -19,6 +19,7 @@ export interface SpaceViewFeatures {
19
19
  }
20
20
  export interface SpaceViewWhiteboard {
21
21
  readonly isOpen: boolean;
22
+ readonly presenterId?: string | null;
22
23
  readonly props: WhiteboardViewProps;
23
24
  /** Shares this person's board view so others can follow it; answers false when the board service can't. */
24
25
  readonly sendView?: (view: ChalkWhiteboardView) => boolean;
@@ -4,6 +4,8 @@ import type { Participant } from "../participant-grid/ParticipantGrid";
4
4
  import { type StageLayout } from "./Stage";
5
5
  import type { SpaceViewWhiteboard } from "../space-view/SpaceView";
6
6
  export interface SpaceStageProps {
7
+ readonly pinnedId?: string | null;
8
+ readonly onPinnedChange?: (id: string | null) => void;
7
9
  readonly tiles: readonly Participant[];
8
10
  readonly layout: StageLayout;
9
11
  readonly onLayoutChange?: (layout: StageLayout) => void;
@@ -18,7 +20,7 @@ export interface SpaceStageProps {
18
20
  readonly className?: string;
19
21
  }
20
22
  /** One keyed renderer for people, the live board and each screen, in both layouts. */
21
- export declare function SpaceStage({ tiles, layout, onLayoutChange, generatedAvatars, whiteboard, onOverflowClick, shareCapture, onStopSharing, onChangeShare, colorScheme, onCloseBoard, className }: SpaceStageProps): React.JSX.Element;
23
+ export declare function SpaceStage({ pinnedId, onPinnedChange, tiles, layout, onLayoutChange, generatedAvatars, whiteboard, onOverflowClick, shareCapture, onStopSharing, onChangeShare, colorScheme, onCloseBoard, className }: SpaceStageProps): React.JSX.Element;
22
24
  export declare namespace SpaceStage {
23
25
  var displayName: string;
24
26
  }
@@ -20,10 +20,9 @@ export interface StageProps {
20
20
  readonly onPinnedChange?: (id: string | null) => void;
21
21
  readonly onItemClick?: (item: StageItem) => void;
22
22
  readonly onItemDoubleClick?: (item: StageItem) => void;
23
- /** While the board is open, clicking a person follows their board view. */
23
+ /** Whiteboard Follow is available only through a participant menu. */
24
24
  readonly followingId?: string | null;
25
25
  readonly onFollowChange?: (id: string) => void;
26
- readonly clickAction?: "pin" | "follow";
27
26
  /** Upper bound of grid tiles, or secondary tiles in spotlight; overflow includes shared content. */
28
27
  readonly maxPerPage?: number;
29
28
  /** Tiles narrower than this fold the rest into overflow. */
@@ -55,7 +54,7 @@ export { buildStageItems };
55
54
  * Single renderer for every layout: a flat list of tiles positioned by the pure fitter, so
56
55
  * switching between grid and focus never remounts a video element.
57
56
  */
58
- export declare function Stage({ items, layout, pinnedId, followingId, onFollowChange, clickAction, onPinnedChange, onOverflowClick, onItemClick, onItemDoubleClick, maxPerPage, minTileWidth, renderPrimaryContent, renderParticipant, renderContentTile, interactive, animate: animateOverride, generatedAvatars, gradientPreference, emptyState, className, }: StageProps): React.JSX.Element;
57
+ export declare function Stage({ items, layout, pinnedId, followingId, onFollowChange, onPinnedChange, onOverflowClick, onItemClick, onItemDoubleClick, maxPerPage, minTileWidth, renderPrimaryContent, renderParticipant, renderContentTile, interactive, animate: animateOverride, generatedAvatars, gradientPreference, emptyState, className, }: StageProps): React.JSX.Element;
59
58
  export declare namespace Stage {
60
59
  var displayName: string;
61
60
  }
package/dist/index.js CHANGED
@@ -5,7 +5,7 @@ import {
5
5
  RecordingHistoryPanel,
6
6
  RecordingSpaceView,
7
7
  RecordingWhiteboardView
8
- } from "./chunk-NYP6LNZF.js";
8
+ } from "./chunk-IZ44PX4W.js";
9
9
  import {
10
10
  loadRecordingWhiteboardFiles,
11
11
  parseRecordingWhiteboardStateV1,
@@ -59,7 +59,7 @@ import {
59
59
  useSelf,
60
60
  useSpaceClient,
61
61
  useWhiteboard
62
- } from "./chunk-YLP43HHE.js";
62
+ } from "./chunk-34SIWIY5.js";
63
63
  import "./chunk-HWQLW4JR.js";
64
64
  import "./chunk-4U7QZC72.js";
65
65
 
@@ -13,7 +13,7 @@ export interface SoundPlayer {
13
13
  readonly play: (cue: SoundCue) => void;
14
14
  readonly dispose: () => void;
15
15
  }
16
- /** The mockup's tones. A player belongs to one mounted call and closes its context on disposal. */
16
+ /** A player belongs to one mounted call and closes its context on disposal. */
17
17
  export declare function createSoundPlayer({ outputDeviceId }?: {
18
18
  readonly outputDeviceId?: string;
19
19
  }): SoundPlayer;
@@ -6,7 +6,7 @@ import {
6
6
  SpaceView,
7
7
  ToastStack,
8
8
  WhiteboardView
9
- } from "../chunk-YLP43HHE.js";
9
+ } from "../chunk-34SIWIY5.js";
10
10
  import "../chunk-HWQLW4JR.js";
11
11
  import "../chunk-4U7QZC72.js";
12
12
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@q9labsai/chalk-react",
3
- "version": "5.2.2",
3
+ "version": "5.2.3",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -75,10 +75,10 @@
75
75
  "@base-ui/react": "^1.7.0",
76
76
  "@hugeicons/core-free-icons": "^4.2.3",
77
77
  "@hugeicons/react": "^1.1.9",
78
- "@q9labsai/chalk-client": "^5.2.2",
79
- "@q9labsai/chalk-ui": "^5.2.2",
80
- "@q9labsai/chalk-whiteboard": "^5.2.2",
81
- "@q9labsai/facehash": "^5.2.2",
78
+ "@q9labsai/chalk-client": "^5.2.3",
79
+ "@q9labsai/chalk-ui": "^5.2.3",
80
+ "@q9labsai/chalk-whiteboard": "^5.2.3",
81
+ "@q9labsai/facehash": "^5.2.3",
82
82
  "@q9labsai/recording-presentation": "^0.1.1",
83
83
  "class-variance-authority": "^0.7.1",
84
84
  "clsx": "^2.1.1",