@livo-tv/sdk 1.17.0 → 1.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.
@@ -529,7 +529,7 @@ type StudioDeviceSelection = {
529
529
  speaker: string;
530
530
  };
531
531
 
532
- declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, headerStart, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, captionsBaseUrl, apiUrl, cdnBase, endedHref, }: {
532
+ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, headerStart, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, captionsBaseUrl, apiUrl, cdnBase, endedHref, endedExtra, }: {
533
533
  session: StudioSession;
534
534
  meeting: StudioMeetingHandle;
535
535
  control: StudioControlActions;
@@ -554,6 +554,8 @@ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejo
554
554
  cdnBase?: string;
555
555
  /** Partner URL for the ended-session action. Defaults to `/streams/:id`. */
556
556
  endedHref?: string;
557
+ /** Partner content under the return link on the session-over card. */
558
+ endedExtra?: ReactNode;
557
559
  }): react.JSX.Element;
558
560
 
559
561
  declare function StudioSkeleton(): react.JSX.Element;
@@ -610,7 +612,7 @@ declare function StudioWindowGate({ lockKey, allowTakeover, labels, children, }:
610
612
  children: ReactNode;
611
613
  }): react.JSX.Element;
612
614
 
613
- declare function LivoHostStudio({ token, apiUrl, labels, redeemError, embed, chrome, headerStart, playerOrigin, theme, appDownloadUrl, guestUrl, endedHref, }: {
615
+ declare function LivoHostStudio({ token, apiUrl, labels, redeemError, embed, chrome, headerStart, playerOrigin, theme, appDownloadUrl, guestUrl, endedHref, endedExtra, }: {
614
616
  token: string;
615
617
  apiUrl?: string;
616
618
  labels: StudioRoomLabels;
@@ -626,6 +628,8 @@ declare function LivoHostStudio({ token, apiUrl, labels, redeemError, embed, chr
626
628
  guestUrl?: string | null;
627
629
  /** Partner URL for the ended-session action. Defaults to `/streams/:id`. */
628
630
  endedHref?: string;
631
+ /** Partner content under the return link on the session-over card. */
632
+ endedExtra?: ReactNode;
629
633
  }): react.JSX.Element;
630
634
 
631
635
  type StudioLobbyLabels = {
@@ -529,7 +529,7 @@ type StudioDeviceSelection = {
529
529
  speaker: string;
530
530
  };
531
531
 
532
- declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, headerStart, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, captionsBaseUrl, apiUrl, cdnBase, endedHref, }: {
532
+ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejoin, labels, reducedMotion, embed, chrome, headerStart, playerOrigin, windowGate, initialCameraOn, initialMuted, initialDevices, appDownloadUrl, captionsBaseUrl, apiUrl, cdnBase, endedHref, endedExtra, }: {
533
533
  session: StudioSession;
534
534
  meeting: StudioMeetingHandle;
535
535
  control: StudioControlActions;
@@ -554,6 +554,8 @@ declare function StudioRoom({ session, meeting, control, onRefreshStatus, onRejo
554
554
  cdnBase?: string;
555
555
  /** Partner URL for the ended-session action. Defaults to `/streams/:id`. */
556
556
  endedHref?: string;
557
+ /** Partner content under the return link on the session-over card. */
558
+ endedExtra?: ReactNode;
557
559
  }): react.JSX.Element;
558
560
 
559
561
  declare function StudioSkeleton(): react.JSX.Element;
@@ -610,7 +612,7 @@ declare function StudioWindowGate({ lockKey, allowTakeover, labels, children, }:
610
612
  children: ReactNode;
611
613
  }): react.JSX.Element;
612
614
 
613
- declare function LivoHostStudio({ token, apiUrl, labels, redeemError, embed, chrome, headerStart, playerOrigin, theme, appDownloadUrl, guestUrl, endedHref, }: {
615
+ declare function LivoHostStudio({ token, apiUrl, labels, redeemError, embed, chrome, headerStart, playerOrigin, theme, appDownloadUrl, guestUrl, endedHref, endedExtra, }: {
614
616
  token: string;
615
617
  apiUrl?: string;
616
618
  labels: StudioRoomLabels;
@@ -626,6 +628,8 @@ declare function LivoHostStudio({ token, apiUrl, labels, redeemError, embed, chr
626
628
  guestUrl?: string | null;
627
629
  /** Partner URL for the ended-session action. Defaults to `/streams/:id`. */
628
630
  endedHref?: string;
631
+ /** Partner content under the return link on the session-over card. */
632
+ endedExtra?: ReactNode;
629
633
  }): react.JSX.Element;
630
634
 
631
635
  type StudioLobbyLabels = {
@@ -11574,6 +11574,7 @@ function EmptyState({
11574
11574
  actionLabel,
11575
11575
  onAction,
11576
11576
  actionHref,
11577
+ extra,
11577
11578
  role = "status"
11578
11579
  }) {
11579
11580
  const action = actionLabel && actionHref ? /* @__PURE__ */ jsx(Button3, { render: /* @__PURE__ */ jsx("a", { href: actionHref }), children: actionLabel }) : actionLabel ? /* @__PURE__ */ jsx(Button3, { type: "button", onClick: onAction, children: actionLabel }) : null;
@@ -11585,7 +11586,8 @@ function EmptyState({
11585
11586
  children: [
11586
11587
  /* @__PURE__ */ jsx("h2", { className: "text-lg font-semibold", children: title }),
11587
11588
  /* @__PURE__ */ jsx("p", { className: "text-muted-foreground max-w-md text-sm", children: description }),
11588
- action
11589
+ action,
11590
+ extra
11589
11591
  ]
11590
11592
  }
11591
11593
  );
@@ -28908,7 +28910,8 @@ function StudioRoom({
28908
28910
  captionsBaseUrl,
28909
28911
  apiUrl,
28910
28912
  cdnBase,
28911
- endedHref
28913
+ endedHref,
28914
+ endedExtra
28912
28915
  }) {
28913
28916
  const [cameraOn, setCameraOn] = useState(initialCameraOn);
28914
28917
  const [screenOn, setScreenOn] = useState(false);
@@ -29641,6 +29644,7 @@ function StudioRoom({
29641
29644
  }
29642
29645
  if (sessionOver) {
29643
29646
  const canRejoin = session.role === "moderator" && onRejoin != null && isStudioActiveStatus(session.stream.status);
29647
+ const returnHref = canRejoin || session.role !== "moderator" ? void 0 : endedHref?.trim() || `/streams/${session.stream.id}`;
29644
29648
  return withStudioToaster(
29645
29649
  /* @__PURE__ */ jsx("div", { className: "flex h-dvh flex-col items-center justify-center p-6", children: /* @__PURE__ */ jsx(
29646
29650
  EmptyState,
@@ -29649,7 +29653,8 @@ function StudioRoom({
29649
29653
  description: labels.endedDescription,
29650
29654
  actionLabel: canRejoin ? labels.rejoin : session.role === "moderator" ? labels.endedAction : void 0,
29651
29655
  onAction: canRejoin ? onRejoin : void 0,
29652
- actionHref: canRejoin || session.role !== "moderator" ? void 0 : endedHref?.trim() || `/streams/${session.stream.id}`
29656
+ actionHref: returnHref,
29657
+ extra: returnHref ? endedExtra : void 0
29653
29658
  }
29654
29659
  ) })
29655
29660
  );
@@ -31716,7 +31721,8 @@ function LivoHostStudio({
31716
31721
  theme,
31717
31722
  appDownloadUrl,
31718
31723
  guestUrl,
31719
- endedHref
31724
+ endedHref,
31725
+ endedExtra
31720
31726
  }) {
31721
31727
  const reducedMotion = usePrefersReducedMotion();
31722
31728
  const [session, setSession] = useState(null);
@@ -31838,7 +31844,8 @@ function LivoHostStudio({
31838
31844
  playerOrigin,
31839
31845
  appDownloadUrl,
31840
31846
  apiUrl,
31841
- endedHref
31847
+ endedHref,
31848
+ endedExtra
31842
31849
  }
31843
31850
  ) });
31844
31851
  }