@opencxh/ui-kit 3.165.0 → 3.172.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.
- package/dist/index.cjs +2 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.js +833 -810
- package/dist/index.js.map +1 -1
- package/dist/src/meeting/MeetingGrid.d.ts +29 -2
- package/dist/src/meeting/ParticipantTile.d.ts +10 -0
- package/package.json +1 -1
|
@@ -1,12 +1,39 @@
|
|
|
1
1
|
import { ReactNode } from 'react';
|
|
2
2
|
export interface MeetingGridProps {
|
|
3
3
|
tiles: ReactNode[];
|
|
4
|
+
/**
|
|
5
|
+
* De tegel die het vlak krijgt — de dominante spreker, of de tegenpartij in een
|
|
6
|
+
* 1-op-1. De rest komt als strip eronder te staan.
|
|
7
|
+
*/
|
|
4
8
|
pinned?: ReactNode;
|
|
9
|
+
/**
|
|
10
|
+
* Hoeveel striptegels er hoogstens naast elkaar mogen. Wat er overblijft wordt één
|
|
11
|
+
* `+N`-tegel. Zonder dit past een vergadering van twaalf mensen zich in een dock van
|
|
12
|
+
* 448px in twaalf onleesbare streepjes, en dat is geen weergave meer maar een rij.
|
|
13
|
+
*/
|
|
14
|
+
maxStrip?: number;
|
|
5
15
|
className?: string;
|
|
6
16
|
}
|
|
17
|
+
export declare function columnsFor(count: number): string;
|
|
7
18
|
/**
|
|
8
19
|
* Layout primitive for meeting views. When `pinned` is provided it gets the
|
|
9
|
-
* dominant area and remaining tiles render in a
|
|
20
|
+
* dominant area and remaining tiles render in a strip underneath. Otherwise tiles
|
|
10
21
|
* flow in an auto-sized grid.
|
|
22
|
+
*
|
|
23
|
+
* **Het vlak bepaalt de tegels, niet andersom.** Elke cel is `min-w-0 min-h-0` en de rijen
|
|
24
|
+
* delen de hoogte (`auto-rows-fr`), zodat het raster past in de doos die het krijgt. Geef de
|
|
25
|
+
* tegels daarom `fill` mee: een tegel die zijn hoogte uit zijn eigen breedte haalt
|
|
26
|
+
* (`aspect-video`, de standaard) duwt het raster buiten zijn oevers zodra het vlak lager is
|
|
27
|
+
* dan die verhouding — precies wat er in de dock gebeurde.
|
|
11
28
|
*/
|
|
12
|
-
|
|
29
|
+
/**
|
|
30
|
+
* Hoeveel striptegels er getoond worden, en hoeveel er als `+N` overblijven.
|
|
31
|
+
*
|
|
32
|
+
* De teller neemt zelf een plek in — anders vervangt hij één tegel door de mededeling dat er
|
|
33
|
+
* één tegel weg is, en dat is geen winst. Bij precies genoeg ruimte blijft hij dus weg.
|
|
34
|
+
*/
|
|
35
|
+
export declare function splitStrip(count: number, maxStrip?: number): {
|
|
36
|
+
shown: number;
|
|
37
|
+
hidden: number;
|
|
38
|
+
};
|
|
39
|
+
export declare function MeetingGrid({ tiles, pinned, maxStrip, className }: MeetingGridProps): import("react").JSX.Element;
|
|
@@ -19,5 +19,15 @@ export interface ParticipantTileProps {
|
|
|
19
19
|
* Provider-agnostic participant tile. Shows avatar + name when no video is
|
|
20
20
|
* available; otherwise renders the `videoSlot` passed by the caller (typically
|
|
21
21
|
* a <VideoSurface /> wired to a provider-specific stream renderer).
|
|
22
|
+
*
|
|
23
|
+
* **Alles binnenin schaalt met de tegel, niet met het venster.** De tegel is zelf een
|
|
24
|
+
* container (`@container`), zodat de avatar een percentage van zijn eigen breedte kan zijn en
|
|
25
|
+
* de naam pas verschijnt als er plek voor is. Dat is het verschil tussen een gesprek in de
|
|
26
|
+
* hoek-dock en hetzelfde gesprek in theater-modus: dezelfde component, twee maten, en de
|
|
27
|
+
* viewport-breakpoints van Tailwind (`md:`) zeggen daar niets zinnigs over — die kijken naar
|
|
28
|
+
* het scherm, terwijl de tegel 120px breed kan zijn op een 4K-monitor.
|
|
29
|
+
*
|
|
30
|
+
* Vaste maten stonden hier eerder wél: een avatar van 64px en een naamlabel met `max-w-35`.
|
|
31
|
+
* In een striptegel van 90px was de avatar breder dan de tegel en dekte het label hem af.
|
|
22
32
|
*/
|
|
23
33
|
export declare function ParticipantTile({ name, avatarUrl, muted, speaking, hasVideo, videoSlot, className, fill, }: ParticipantTileProps): import("react").JSX.Element;
|