@ai-matrx/meet 0.7.75 → 0.7.76
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/CHANGELOG.md +19 -0
- package/dist/react.cjs +53 -44
- package/dist/react.cjs.map +1 -1
- package/dist/react.js +67 -45
- package/dist/react.js.map +1 -1
- package/dist/styles.css +28 -3
- package/package.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,24 @@
|
|
|
1
1
|
# Changelog — `@ai-matrx/meet`
|
|
2
2
|
|
|
3
|
+
## 0.7.76
|
|
4
|
+
|
|
5
|
+
**The pre-join lobby is the design system, not a second one.** Before this, the
|
|
6
|
+
lobby rendered native `<select>`, `<input type="checkbox">` and pill `<button>`s
|
|
7
|
+
styled by this package's own CSS, so the first screen of every meeting looked
|
|
8
|
+
like a different product, and its settings column was `0.8fr` of the screen
|
|
9
|
+
(≈1,000px wide on a 2560px display, Join button stranded at the far edge).
|
|
10
|
+
|
|
11
|
+
- Device pickers (`DevicePicker`, also used in the in-room settings) are the
|
|
12
|
+
design-system `Select`; noise suppression and the join toggles are `Checkbox`
|
|
13
|
+
+ `Label`; the background choice is `SegmentedControl`; Test and Join now are
|
|
14
|
+
`Button`; the recording-consent notice is `Alert` (`info`).
|
|
15
|
+
- Layout: the settings column holds at 300–400px and the composition centres
|
|
16
|
+
inside 1,200px.
|
|
17
|
+
- Guard: `components.test.tsx` "the pre-join lobby renders design-system
|
|
18
|
+
controls, never native ones" (fails on 0.7.75, passes here).
|
|
19
|
+
|
|
20
|
+
Consumer action: none.
|
|
21
|
+
|
|
3
22
|
## 0.7.75
|
|
4
23
|
|
|
5
24
|
Automatic changed-only republish (docs/metadata drift since the last tag — see
|
package/dist/react.cjs
CHANGED
|
@@ -9849,38 +9849,40 @@ function EffectsSettings({ preview }) {
|
|
|
9849
9849
|
}
|
|
9850
9850
|
};
|
|
9851
9851
|
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("section", { className: "mx-meet__section", "aria-label": "Effects", children: [
|
|
9852
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("
|
|
9852
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__check", children: [
|
|
9853
9853
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
9854
|
-
|
|
9854
|
+
import_design_system.Checkbox,
|
|
9855
9855
|
{
|
|
9856
|
-
|
|
9856
|
+
id: "mx-meet-noise",
|
|
9857
9857
|
checked: effects.effects.noiseSuppression,
|
|
9858
|
-
|
|
9858
|
+
onCheckedChange: (checked) => apply({ noiseSuppression: checked === true })
|
|
9859
9859
|
}
|
|
9860
9860
|
),
|
|
9861
|
-
"
|
|
9862
|
-
|
|
9861
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__check-text", children: [
|
|
9862
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.Label, { htmlFor: "mx-meet-noise", children: "Noise suppression" }),
|
|
9863
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)("span", { className: "mx-meet__hint", children: "Filters keyboards, fans and background chatter." })
|
|
9864
|
+
] })
|
|
9863
9865
|
] }),
|
|
9864
9866
|
supported ? /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__field", children: [
|
|
9865
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
9866
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
9867
|
-
|
|
9867
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.Label, { children: "Background" }),
|
|
9868
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
9869
|
+
import_design_system.SegmentedControl,
|
|
9868
9870
|
{
|
|
9869
|
-
|
|
9870
|
-
|
|
9871
|
-
"aria-checked": effects.effects.background === kind,
|
|
9872
|
-
className: effects.effects.background === kind ? "mx-meet__pill mx-meet__pill--on" : "mx-meet__pill",
|
|
9873
|
-
onClick: () => {
|
|
9871
|
+
value: effects.effects.background,
|
|
9872
|
+
onValueChange: (kind) => {
|
|
9874
9873
|
if (kind === "image") {
|
|
9875
9874
|
fileRef.current?.click();
|
|
9876
9875
|
return;
|
|
9877
9876
|
}
|
|
9878
9877
|
apply({ background: kind });
|
|
9879
9878
|
},
|
|
9880
|
-
|
|
9881
|
-
|
|
9882
|
-
|
|
9883
|
-
|
|
9879
|
+
data: [
|
|
9880
|
+
{ value: "none", label: "None" },
|
|
9881
|
+
{ value: "blur", label: "Blur" },
|
|
9882
|
+
{ value: "image", label: "Picture\u2026" }
|
|
9883
|
+
]
|
|
9884
|
+
}
|
|
9885
|
+
),
|
|
9884
9886
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
9885
9887
|
"input",
|
|
9886
9888
|
{
|
|
@@ -10264,10 +10266,10 @@ function PreJoinBody({
|
|
|
10264
10266
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__field-row", children: [
|
|
10265
10267
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DevicePicker, { kind: "audiooutput", label: "Speaker" }),
|
|
10266
10268
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
10267
|
-
|
|
10269
|
+
import_design_system.Button,
|
|
10268
10270
|
{
|
|
10269
10271
|
type: "button",
|
|
10270
|
-
|
|
10272
|
+
variant: "outline",
|
|
10271
10273
|
disabled: speakerTesting,
|
|
10272
10274
|
onClick: () => {
|
|
10273
10275
|
setSpeakerTesting(true);
|
|
@@ -10276,7 +10278,7 @@ function PreJoinBody({
|
|
|
10276
10278
|
);
|
|
10277
10279
|
},
|
|
10278
10280
|
children: [
|
|
10279
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SpeakerIcon, {
|
|
10281
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(SpeakerIcon, {}),
|
|
10280
10282
|
" ",
|
|
10281
10283
|
speakerTesting ? "Playing\u2026" : "Test"
|
|
10282
10284
|
]
|
|
@@ -10285,35 +10287,36 @@ function PreJoinBody({
|
|
|
10285
10287
|
] }),
|
|
10286
10288
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(DevicePicker, { kind: "videoinput", label: "Camera" }),
|
|
10287
10289
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(EffectsSettings, { preview: preview.preview }),
|
|
10288
|
-
recording.consentNotice !== null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
10290
|
+
recording.consentNotice !== null ? /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.Alert, { variant: "info", children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.AlertDescription, { children: recording.consentNotice }) }) : null,
|
|
10289
10291
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__prejoin-actions", children: [
|
|
10290
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("
|
|
10292
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__check", children: [
|
|
10291
10293
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
10292
|
-
|
|
10294
|
+
import_design_system.Checkbox,
|
|
10293
10295
|
{
|
|
10294
|
-
|
|
10296
|
+
id: "mx-meet-join-video",
|
|
10295
10297
|
checked: mode === "video",
|
|
10296
|
-
|
|
10298
|
+
onCheckedChange: (checked) => setMode(checked === true ? "video" : "audio")
|
|
10297
10299
|
}
|
|
10298
10300
|
),
|
|
10299
|
-
"Join with video"
|
|
10301
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.Label, { htmlFor: "mx-meet-join-video", children: "Join with video" })
|
|
10300
10302
|
] }),
|
|
10301
|
-
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("
|
|
10303
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__check", children: [
|
|
10302
10304
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
10303
|
-
|
|
10305
|
+
import_design_system.Checkbox,
|
|
10304
10306
|
{
|
|
10305
|
-
|
|
10307
|
+
id: "mx-meet-join-mic",
|
|
10306
10308
|
checked: microphone,
|
|
10307
|
-
|
|
10309
|
+
onCheckedChange: (checked) => setMicrophone(checked === true)
|
|
10308
10310
|
}
|
|
10309
10311
|
),
|
|
10310
|
-
"Join with microphone"
|
|
10312
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.Label, { htmlFor: "mx-meet-join-mic", children: "Join with microphone" })
|
|
10311
10313
|
] }),
|
|
10312
10314
|
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(
|
|
10313
|
-
|
|
10315
|
+
import_design_system.Button,
|
|
10314
10316
|
{
|
|
10315
10317
|
type: "button",
|
|
10316
|
-
className: "mx-
|
|
10318
|
+
className: "mx-meet__join",
|
|
10319
|
+
disabled: joining,
|
|
10317
10320
|
onClick: () => {
|
|
10318
10321
|
setJoining(true);
|
|
10319
10322
|
preview.release();
|
|
@@ -10386,18 +10389,24 @@ function DevicePicker({
|
|
|
10386
10389
|
const devices = useDeviceSnapshot();
|
|
10387
10390
|
const list = devices?.devices[kind] ?? [];
|
|
10388
10391
|
if (list.length === 0) return null;
|
|
10389
|
-
|
|
10390
|
-
|
|
10391
|
-
|
|
10392
|
-
|
|
10392
|
+
const triggerId = `mx-meet-device-${kind}`;
|
|
10393
|
+
const valueOf = (deviceId2) => deviceId2.length > 0 ? deviceId2 : "default";
|
|
10394
|
+
const current = devices?.selected[kind] ?? host.devices.resolve(kind) ?? "";
|
|
10395
|
+
return /* @__PURE__ */ (0, import_jsx_runtime4.jsxs)("div", { className: "mx-meet__field", children: [
|
|
10396
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.Label, { htmlFor: triggerId, children: label }),
|
|
10397
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsxs)(
|
|
10398
|
+
import_design_system.Select,
|
|
10393
10399
|
{
|
|
10394
|
-
|
|
10395
|
-
|
|
10396
|
-
|
|
10397
|
-
if (onPick !== void 0) onPick(kind,
|
|
10398
|
-
else host.devices.select(kind,
|
|
10400
|
+
...current.length > 0 ? { value: valueOf(current) } : {},
|
|
10401
|
+
onValueChange: (value) => {
|
|
10402
|
+
const deviceId2 = list.find((device) => valueOf(device.deviceId) === value)?.deviceId ?? value;
|
|
10403
|
+
if (onPick !== void 0) onPick(kind, deviceId2);
|
|
10404
|
+
else host.devices.select(kind, deviceId2);
|
|
10399
10405
|
},
|
|
10400
|
-
children:
|
|
10406
|
+
children: [
|
|
10407
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.SelectTrigger, { id: triggerId, "aria-label": label, children: /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.SelectValue, { placeholder: label }) }),
|
|
10408
|
+
/* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.SelectContent, { children: list.map((device) => /* @__PURE__ */ (0, import_jsx_runtime4.jsx)(import_design_system.SelectItem, { value: valueOf(device.deviceId), children: device.label.length > 0 ? device.label : `${label} (name hidden)` }, device.deviceId || "default")) })
|
|
10409
|
+
]
|
|
10401
10410
|
}
|
|
10402
10411
|
)
|
|
10403
10412
|
] });
|