@netless/fastboard-react 0.1.0 → 0.1.1
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.js +48 -70
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +75 -97
- package/dist/index.mjs.map +1 -1
- package/package.json +4 -3
- package/src/components/Fastboard.tsx +21 -10
- package/src/components/PageControl/PageControl.tsx +2 -4
- package/src/components/PageControl/hooks.ts +18 -61
- package/dist/behaviors/style.d.ts +0 -1
- package/dist/components/Fastboard.d.ts +0 -15
- package/dist/components/PageControl/PageControl.d.ts +0 -5
- package/dist/components/PageControl/hooks.d.ts +0 -9
- package/dist/components/PageControl/index.d.ts +0 -2
- package/dist/components/PlayerControl/PlayerControl.d.ts +0 -9
- package/dist/components/PlayerControl/hooks.d.ts +0 -11
- package/dist/components/PlayerControl/icons/Loading.d.ts +0 -3
- package/dist/components/PlayerControl/icons/Pause.d.ts +0 -3
- package/dist/components/PlayerControl/icons/Play.d.ts +0 -3
- package/dist/components/PlayerControl/icons/index.d.ts +0 -6
- package/dist/components/PlayerControl/index.d.ts +0 -2
- package/dist/components/RedoUndo/RedoUndo.d.ts +0 -5
- package/dist/components/RedoUndo/hooks.d.ts +0 -6
- package/dist/components/RedoUndo/index.d.ts +0 -2
- package/dist/components/Toolbar/Content.d.ts +0 -2
- package/dist/components/Toolbar/Toolbar.d.ts +0 -14
- package/dist/components/Toolbar/components/ApplianceButtons.d.ts +0 -7
- package/dist/components/Toolbar/components/AppsButton.d.ts +0 -6
- package/dist/components/Toolbar/components/ColorBox.d.ts +0 -2
- package/dist/components/Toolbar/components/CutLine.d.ts +0 -2
- package/dist/components/Toolbar/components/Mask.d.ts +0 -7
- package/dist/components/Toolbar/components/PencilButton.d.ts +0 -2
- package/dist/components/Toolbar/components/ShapesButton.d.ts +0 -3
- package/dist/components/Toolbar/components/Slider.d.ts +0 -2
- package/dist/components/Toolbar/components/TextButton.d.ts +0 -2
- package/dist/components/Toolbar/components/UpDownButtons.d.ts +0 -7
- package/dist/components/Toolbar/const.d.ts +0 -18
- package/dist/components/Toolbar/hooks.d.ts +0 -12
- package/dist/components/Toolbar/icons/Apps.d.ts +0 -3
- package/dist/components/Toolbar/icons/Arrow.d.ts +0 -3
- package/dist/components/Toolbar/icons/Circle.d.ts +0 -3
- package/dist/components/Toolbar/icons/Clean.d.ts +0 -3
- package/dist/components/Toolbar/icons/Clicker.d.ts +0 -3
- package/dist/components/Toolbar/icons/Collapse.d.ts +0 -3
- package/dist/components/Toolbar/icons/Diamond.d.ts +0 -3
- package/dist/components/Toolbar/icons/Down.d.ts +0 -3
- package/dist/components/Toolbar/icons/Eraser.d.ts +0 -3
- package/dist/components/Toolbar/icons/Expand.d.ts +0 -3
- package/dist/components/Toolbar/icons/Line.d.ts +0 -3
- package/dist/components/Toolbar/icons/Pencil.d.ts +0 -3
- package/dist/components/Toolbar/icons/Rectangle.d.ts +0 -3
- package/dist/components/Toolbar/icons/Selector.d.ts +0 -3
- package/dist/components/Toolbar/icons/SpeechBalloon.d.ts +0 -3
- package/dist/components/Toolbar/icons/Star.d.ts +0 -3
- package/dist/components/Toolbar/icons/Text.d.ts +0 -3
- package/dist/components/Toolbar/icons/Triangle.d.ts +0 -3
- package/dist/components/Toolbar/icons/Up.d.ts +0 -3
- package/dist/components/Toolbar/icons/index.d.ts +0 -22
- package/dist/components/Toolbar/index.d.ts +0 -2
- package/dist/components/ZoomControl/ZoomControl.d.ts +0 -5
- package/dist/components/ZoomControl/hooks.d.ts +0 -7
- package/dist/components/ZoomControl/index.d.ts +0 -2
- package/dist/components/hooks.d.ts +0 -13
- package/dist/i18n/index.d.ts +0 -12
- package/dist/icons/ChevronLeft.d.ts +0 -3
- package/dist/icons/ChevronRight.d.ts +0 -3
- package/dist/icons/FilePlus.d.ts +0 -3
- package/dist/icons/Minus.d.ts +0 -3
- package/dist/icons/Plus.d.ts +0 -3
- package/dist/icons/Redo.d.ts +0 -3
- package/dist/icons/Reset.d.ts +0 -3
- package/dist/icons/Undo.d.ts +0 -3
- package/dist/icons/index.d.ts +0 -7
- package/dist/index.d.ts +0 -9
- package/dist/internal/helpers.d.ts +0 -16
- package/dist/internal/hooks.d.ts +0 -3
- package/dist/internal/index.d.ts +0 -2
- package/dist/theme.d.ts +0 -16
- package/dist/typings.d.ts +0 -10
package/dist/index.mjs
CHANGED
|
@@ -581,59 +581,22 @@ function ZoomControl({
|
|
|
581
581
|
}
|
|
582
582
|
|
|
583
583
|
// src/components/PageControl/hooks.ts
|
|
584
|
-
import { useCallback as useCallback4
|
|
585
|
-
function usePageControl(
|
|
586
|
-
const
|
|
587
|
-
const
|
|
584
|
+
import { useCallback as useCallback4 } from "react";
|
|
585
|
+
function usePageControl() {
|
|
586
|
+
const app = useFastboardApp();
|
|
587
|
+
const pageIndex = useFastboardValue(app.sceneIndex);
|
|
588
|
+
const pageCount = useFastboardValue(app.sceneLength);
|
|
588
589
|
const addPage = useCallback4(async () => {
|
|
589
|
-
|
|
590
|
-
|
|
591
|
-
|
|
592
|
-
|
|
593
|
-
|
|
594
|
-
|
|
595
|
-
|
|
596
|
-
|
|
597
|
-
|
|
598
|
-
|
|
599
|
-
}, [room, manager, pageIndex]);
|
|
600
|
-
const prevPage = useCallback4(() => {
|
|
601
|
-
if (manager) {
|
|
602
|
-
manager.setMainViewSceneIndex(pageIndex - 1);
|
|
603
|
-
} else if (room) {
|
|
604
|
-
room.pptPreviousStep();
|
|
605
|
-
}
|
|
606
|
-
}, [room, manager, pageIndex]);
|
|
607
|
-
const nextPage = useCallback4(() => {
|
|
608
|
-
if (manager) {
|
|
609
|
-
manager.setMainViewSceneIndex(pageIndex + 1);
|
|
610
|
-
} else if (room) {
|
|
611
|
-
room.pptNextStep();
|
|
612
|
-
}
|
|
613
|
-
}, [room, manager, pageIndex]);
|
|
614
|
-
useEffect3(() => {
|
|
615
|
-
if (room) {
|
|
616
|
-
setPageIndex(room.state.sceneState.index);
|
|
617
|
-
setPageCount(room.state.sceneState.scenes.length);
|
|
618
|
-
if (manager) {
|
|
619
|
-
manager.emitter.on("mainViewSceneIndexChange", setPageIndex);
|
|
620
|
-
return () => {
|
|
621
|
-
manager.emitter.off("mainViewSceneIndexChange", setPageIndex);
|
|
622
|
-
};
|
|
623
|
-
} else {
|
|
624
|
-
const onRoomStateChanged = (modifyState) => {
|
|
625
|
-
if (modifyState.sceneState) {
|
|
626
|
-
setPageIndex(modifyState.sceneState.index);
|
|
627
|
-
setPageCount(modifyState.sceneState.scenes.length);
|
|
628
|
-
}
|
|
629
|
-
};
|
|
630
|
-
room.callbacks.on("onRoomStateChanged", onRoomStateChanged);
|
|
631
|
-
return () => {
|
|
632
|
-
room.callbacks.off("onRoomStateChanged", onRoomStateChanged);
|
|
633
|
-
};
|
|
634
|
-
}
|
|
635
|
-
}
|
|
636
|
-
}, [room, manager]);
|
|
590
|
+
await app.manager.switchMainViewToWriter();
|
|
591
|
+
app.room.putScenes(app.manager.mainViewSceneDir, [{}], pageIndex + 1);
|
|
592
|
+
await app.manager.setMainViewSceneIndex(pageIndex + 1);
|
|
593
|
+
}, [app, pageIndex]);
|
|
594
|
+
const prevPage = useCallback4(async () => {
|
|
595
|
+
await app.manager.setMainViewSceneIndex(pageIndex - 1);
|
|
596
|
+
}, [app, pageIndex]);
|
|
597
|
+
const nextPage = useCallback4(async () => {
|
|
598
|
+
await app.manager.setMainViewSceneIndex(pageIndex + 1);
|
|
599
|
+
}, [app, pageIndex]);
|
|
637
600
|
return { pageIndex, pageCount, prevPage, nextPage, addPage };
|
|
638
601
|
}
|
|
639
602
|
|
|
@@ -698,11 +661,10 @@ function PageControl({
|
|
|
698
661
|
nextIcon,
|
|
699
662
|
nextIconDisable
|
|
700
663
|
}) {
|
|
701
|
-
const app = useFastboardApp();
|
|
702
664
|
theme = useTheme(theme);
|
|
703
665
|
const { t } = useTranslation();
|
|
704
666
|
const writable = useWritable();
|
|
705
|
-
const _a = usePageControl(
|
|
667
|
+
const _a = usePageControl(), { pageIndex, pageCount } = _a, actions = __objRest(_a, ["pageIndex", "pageCount"]);
|
|
706
668
|
const disabled = !writable;
|
|
707
669
|
return React12.createElement("div", {
|
|
708
670
|
className: clsx3(name3, theme)
|
|
@@ -814,7 +776,7 @@ var EmptyToolbarHook = {
|
|
|
814
776
|
// src/components/Toolbar/Toolbar.tsx
|
|
815
777
|
import clsx9 from "clsx";
|
|
816
778
|
import { AnimatePresence, motion } from "framer-motion";
|
|
817
|
-
import React44, { createContext as createContext3, useCallback as useCallback11, useEffect as
|
|
779
|
+
import React44, { createContext as createContext3, useCallback as useCallback11, useEffect as useEffect5, useState as useState5 } from "react";
|
|
818
780
|
|
|
819
781
|
// src/components/Toolbar/components/assets/collapsed.png
|
|
820
782
|
var collapsed_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAB8CAYAAAAMw2JFAAAAAXNSR0IArs4c6QAAA49JREFUeF7tnLFv00AUh5/TFVYkxIDEnKFjJ/gb2CIqpUPagYXNEV2LRGk7tAiRSA0bWcC0QzowwQKuVDnCLE2KTZCMSNLkHCLalCpBkdFVMTKh8TXO+c4S16XDSb0vv/vyfE3fqwQR+ZIA4AoAdADgJ08mSVXVV9ls9nE+nzcBAAFAnweQ1Gg06gihrmEYubm5OeX4+LgBAD9Yw0iO49S63S7U6/VYq9UyCoXC2tLS0kcAwEA9VkBnIO5m7XYbJwTVanVLluWcruvfAOA7ADhhA/0Fgjfr9/tweHgYs20baZq2sbCw8HaQTqgy/wPivvKTkxN8XFPNZvMdC5lHgmAgx3EAISQhhHqGYWyGKbMviJsOC5kvBOIjcxUAWjRkHgtkSGZb07R1WjKPDeIj82cAaAatzIFBhmU2TTOXTCZfBq3ME4HQlJkKCA2ZqYJMIjN1kKAyhwYyrsyhgpwns6IoyysrK/rgQfrnqc4ExCtzrVb7tbe39yCVSr0GAFyZz2CYguANT09PwbIsaWdn5146nX4zuO+wB8EwnU5HqlQqdiKRuHNwcFDC1Zh5Iu4xWZYVU1V1eXZ29jlOhRvI0dGRVC6XP8zMzNwFgK/cQHq9HpTLZXt6evo2AFS4geDbX6lUisXj8VsA8IkbCHZlf39/Kh6P3xQg7jtHJDL826JIRCRC+gRBOCIcEY6QEhCOkBISdUQ4IhwhJSAcISUk6kjojjxaXbt0Py3jP1DCtes3ruLvVetLnenRYIgnT7OX3Y25gLgQ3gSYg3ghuIEMQ3ABOQ+COcgoCKYgfhD/Jwh+1ZE4GrdKRkJWPxhulTUSBe28ZLglMgzDHcR9N3G/BpDuHH7r4qoY+lUx6PGIoxFHQ3JHOCIcEY6QEhCOkBISdUQ4IhwhJSAcISUk6ohwxM+RyLR/RaYhLjItgpFomoxEG2kkGmvxRBPXVmPPWIypKMpD5s3X3kEh0zSfJZPJF6NmK0JrI3VHpxBCaiaTWc/n877TJtRBPMNkdrFY3Jifn8ed3njUzneYjCqIZ7xue3FxMadpGh6vu9BEEhUQr4yFQmE1yMDhRCDjyEi6JAUGGVdG6iBBZaQK4pVRluVNXdfZjsfRkHGiRGjKGBjEI+P7TCazQaqMpI1I635jtmNVRtJGpPVRg8fbtGW8EAiL6VUiyGA4vUd6TJN+0KTr0u7u7hYLGUmg0fkHBiRSVuu/AWpfZNft9vFDAAAAAElFTkSuQmCC";
|
|
@@ -823,20 +785,20 @@ var collapsed_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAB8C
|
|
|
823
785
|
var expanded_default = "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAB8CAYAAAAMw2JFAAAAAXNSR0IArs4c6QAAA5xJREFUeF7tnL9v00AUx5/TlRkJMSAxZ+jYCf4GtopK6dB2qBBsjshaJErboWVJpYaNLGDaIR2YYAFXqlxhlvzAJkhGJGlyDhVNSpWgyOiqBJnQ+urznW2Jy1JVVnKffv3x8yV9LxLE5CEBwFUA6ALAzyiZJFVVX21ubj7N5/MmACAAGEQBJDWbzQZCqGcYRm52dlbpdDpNAPgRNozkOE691+tBo9FItNtto1AorC0tLX0EAAzUDwvoDGS02NHREU4IarXatizLOV3XvwHAdwBweAP9BYIXGwwGcHh4mLBtG2matrGwsPB2mA5Xmf8BGf3lJycn+HRNtFqtd2HIfCEIBnIcBxBCEkKobxjGFk+ZPUFG6YQh86VAPGSuAUCbhcy+QMZktjVNW2cls28QD5k/A0CLtjJTg4zLbJpmLpVKvaStzIFAWMrMBISFzExBgsjMHIRWZm4gfmXmCnKezIqiLK+srOjDG+mfu3ooIG6Z6/X6r/39/Udzc3OvAQBX5jOYUEHwgqenp2BZlrS7u/sgnU6/Ge53wgfBMN1uV6pWq/b09PTdSqVSwtU49ERGp8myrISqqsszMzPPcSqRgRwfH0vlcvnD1NTUIgB8jQyk3+9DuVy2Jycn7wBANTIQvPsrlUqJZDJ5GwA+RQaCXSkWixPJZPKWABldOSKR8XeLIhGRCOkTBOGIcEQ4QkpAOEJKSNQR4YhwhJSAcISUkKgjTBy5fuPmNfxCNetLA/98srp25WFaxv+UpH5QnZpxEPz7/XuLnSAwzEBwFEFgmIIEgWEOQgvDBYQGhhuIXxiuIH5g/g8QP5czt0T8QFB/mHdeZXXXdr8QXEBoIJiD0EIwBQkCwQwksm0A9abD44lUl68A4ZEAkz0rDzDhiDg1JK+EI8IR4QgpAeEIKSFRR4QjwhFSAsIRUkKijsTSkdi0f8WmIS42LYKxaJqMRRtpLBpr8URTpK3GrrEYU1GUx6E3X7sHhUzTfJZKpV5cNFvBrY10NDqFEFKz2ex6Pp/3nDZhDuIaJrMPDg425ufncac3HrXzHCZjCuIar9vJZDI5TdPweN2lJpKYgLhlLBQKqzQDh4FA/MhI2ptQg/iVkTkIrYxMQdwyyrK8pet6uONxLGQMlAhLGalBXDK+z2azG6TKSFqIdNxrzNZXZSQtRDp+0eDxDmsZLwUSxvQqEWQ4nN4n3aZJLxT0uLS3t7cdhowk0Ph8gQGJNKzjvwGKWUjXcvHclAAAAABJRU5ErkJggg==";
|
|
824
786
|
|
|
825
787
|
// src/components/Toolbar/components/Mask.tsx
|
|
826
|
-
import React13, { useState as
|
|
788
|
+
import React13, { useState as useState3, useEffect as useEffect3 } from "react";
|
|
827
789
|
import ReactDOM from "react-dom";
|
|
828
790
|
var Mask = React13.memo(({ toolbar, children }) => {
|
|
829
|
-
const [rootElement] =
|
|
791
|
+
const [rootElement] = useState3(() => {
|
|
830
792
|
const element = document.createElement("div");
|
|
831
793
|
element.style.position = "absolute";
|
|
832
794
|
return element;
|
|
833
795
|
});
|
|
834
|
-
|
|
796
|
+
useEffect3(() => {
|
|
835
797
|
if (toolbar && rootElement) {
|
|
836
798
|
toolbar.appendChild(rootElement);
|
|
837
799
|
}
|
|
838
800
|
}, [rootElement, toolbar]);
|
|
839
|
-
|
|
801
|
+
useEffect3(() => {
|
|
840
802
|
if (rootElement && toolbar) {
|
|
841
803
|
toolbar.appendChild(rootElement);
|
|
842
804
|
const toolbarRect = toolbar.getBoundingClientRect();
|
|
@@ -859,7 +821,7 @@ var Mask = React13.memo(({ toolbar, children }) => {
|
|
|
859
821
|
|
|
860
822
|
// src/components/Toolbar/Content.tsx
|
|
861
823
|
import clsx8 from "clsx";
|
|
862
|
-
import React43, { useCallback as useCallback10, useEffect as
|
|
824
|
+
import React43, { useCallback as useCallback10, useEffect as useEffect4, useRef as useRef2, useState as useState4 } from "react";
|
|
863
825
|
|
|
864
826
|
// src/components/Toolbar/components/ApplianceButtons.tsx
|
|
865
827
|
import React34, { useCallback as useCallback6, useContext as useContext4 } from "react";
|
|
@@ -1657,8 +1619,8 @@ function DownButton({ disabled, scrollTo }) {
|
|
|
1657
1619
|
// src/components/Toolbar/Content.tsx
|
|
1658
1620
|
var Content = React43.memo(() => {
|
|
1659
1621
|
const ref = useRef2(null);
|
|
1660
|
-
const [scrollTop, setScrollTop] =
|
|
1661
|
-
const [parentHeight, setParentHeight] =
|
|
1622
|
+
const [scrollTop, setScrollTop] = useState4(0);
|
|
1623
|
+
const [parentHeight, setParentHeight] = useState4(0);
|
|
1662
1624
|
const needScroll = parentHeight < ItemHeight * ItemsCount + 48;
|
|
1663
1625
|
const sectionHeight = clamp(parentHeight - 48 * (needScroll ? 3 : 1), MinHeight, MaxHeight);
|
|
1664
1626
|
const scrollBuffer = Math.max(parentHeight - sectionHeight - 1, 0);
|
|
@@ -1667,12 +1629,12 @@ var Content = React43.memo(() => {
|
|
|
1667
1629
|
const scrollTo = useCallback10((height) => {
|
|
1668
1630
|
setScrollTop(clamp(scrollTop + height, 0, scrollBuffer));
|
|
1669
1631
|
}, [scrollBuffer, scrollTop]);
|
|
1670
|
-
|
|
1632
|
+
useEffect4(() => {
|
|
1671
1633
|
if (ref.current) {
|
|
1672
1634
|
ref.current.scrollTop = scrollTop;
|
|
1673
1635
|
}
|
|
1674
1636
|
}, [scrollTop]);
|
|
1675
|
-
|
|
1637
|
+
useEffect4(() => {
|
|
1676
1638
|
var _a, _b;
|
|
1677
1639
|
const container = (_b = (_a = ref.current) == null ? void 0 : _a.parentElement) == null ? void 0 : _b.parentElement;
|
|
1678
1640
|
if (container) {
|
|
@@ -1709,16 +1671,16 @@ var name4 = "fastboard-toolbar";
|
|
|
1709
1671
|
var Toolbar = ({ theme, icons }) => {
|
|
1710
1672
|
theme = useTheme(theme);
|
|
1711
1673
|
const hook = useToolbar();
|
|
1712
|
-
const [expanded, setExpanded] =
|
|
1713
|
-
const [toolbar, toolbarRef] =
|
|
1714
|
-
const [onHover, setOnHover] =
|
|
1715
|
-
const [delayedOnHover, setDelayedOnHover] =
|
|
1716
|
-
const [pointEvents, setPointEvents] =
|
|
1674
|
+
const [expanded, setExpanded] = useState5(true);
|
|
1675
|
+
const [toolbar, toolbarRef] = useState5(null);
|
|
1676
|
+
const [onHover, setOnHover] = useState5(false);
|
|
1677
|
+
const [delayedOnHover, setDelayedOnHover] = useState5(false);
|
|
1678
|
+
const [pointEvents, setPointEvents] = useState5(true);
|
|
1717
1679
|
const disabled = !hook.writable;
|
|
1718
1680
|
const toggle = useCallback11(() => {
|
|
1719
1681
|
setExpanded((e) => !e);
|
|
1720
1682
|
}, []);
|
|
1721
|
-
|
|
1683
|
+
useEffect5(() => {
|
|
1722
1684
|
const timer = setTimeout(() => {
|
|
1723
1685
|
setDelayedOnHover(onHover);
|
|
1724
1686
|
}, 400);
|
|
@@ -1765,11 +1727,11 @@ var Toolbar = ({ theme, icons }) => {
|
|
|
1765
1727
|
};
|
|
1766
1728
|
|
|
1767
1729
|
// src/components/PlayerControl/hooks.ts
|
|
1768
|
-
import { useCallback as useCallback12, useEffect as
|
|
1730
|
+
import { useCallback as useCallback12, useEffect as useEffect6, useState as useState6 } from "react";
|
|
1769
1731
|
import { PlayerPhase } from "white-web-sdk";
|
|
1770
1732
|
var EMPTY_ARRAY = [];
|
|
1771
1733
|
function useForceUpdate2() {
|
|
1772
|
-
const [, forceUpdate_] =
|
|
1734
|
+
const [, forceUpdate_] = useState6({});
|
|
1773
1735
|
return useCallback12(() => forceUpdate_({}), EMPTY_ARRAY);
|
|
1774
1736
|
}
|
|
1775
1737
|
function usePlayerControl(player) {
|
|
@@ -1802,12 +1764,12 @@ function usePlayerControl(player) {
|
|
|
1802
1764
|
forceUpdate();
|
|
1803
1765
|
}
|
|
1804
1766
|
}, [forceUpdate, player]);
|
|
1805
|
-
|
|
1767
|
+
useEffect6(() => {
|
|
1806
1768
|
if (!lastPlayer && player) {
|
|
1807
1769
|
forceUpdate();
|
|
1808
1770
|
}
|
|
1809
1771
|
}, [forceUpdate, lastPlayer, player]);
|
|
1810
|
-
|
|
1772
|
+
useEffect6(() => {
|
|
1811
1773
|
if (player) {
|
|
1812
1774
|
player.callbacks.on("onPhaseChanged", forceUpdate);
|
|
1813
1775
|
player.callbacks.on("onProgressTimeChanged", forceUpdate);
|
|
@@ -1836,7 +1798,7 @@ function usePlayerControl(player) {
|
|
|
1836
1798
|
import Tippy10 from "@tippyjs/react";
|
|
1837
1799
|
import clsx11 from "clsx";
|
|
1838
1800
|
import RcSlider2 from "rc-slider";
|
|
1839
|
-
import React49, { useEffect as
|
|
1801
|
+
import React49, { useEffect as useEffect7, useState as useState7 } from "react";
|
|
1840
1802
|
import { PlayerPhase as PlayerPhase2 } from "white-web-sdk";
|
|
1841
1803
|
|
|
1842
1804
|
// src/components/PlayerControl/components/Button.tsx
|
|
@@ -1915,12 +1877,12 @@ function PlayerControl(_a) {
|
|
|
1915
1877
|
var _b = _a, { theme, autoHide = false, player: player_ } = _b, icons = __objRest(_b, ["theme", "autoHide", "player"]);
|
|
1916
1878
|
theme = useTheme(theme);
|
|
1917
1879
|
const { t } = useTranslation();
|
|
1918
|
-
const [currentTime, setCurrentTime] =
|
|
1880
|
+
const [currentTime, setCurrentTime] = useState7(0);
|
|
1919
1881
|
const player = usePlayerControl(player_);
|
|
1920
|
-
|
|
1882
|
+
useEffect7(() => {
|
|
1921
1883
|
setCurrentTime(player.currentTime);
|
|
1922
1884
|
}, [player.currentTime]);
|
|
1923
|
-
|
|
1885
|
+
useEffect7(() => {
|
|
1924
1886
|
if (player.currentTime !== currentTime) {
|
|
1925
1887
|
player.seekToProgressTime(currentTime);
|
|
1926
1888
|
}
|
|
@@ -2000,34 +1962,49 @@ function renderSpeeds({ speed: current, setSpeed }) {
|
|
|
2000
1962
|
}
|
|
2001
1963
|
|
|
2002
1964
|
// src/components/Fastboard.tsx
|
|
2003
|
-
import React50, { useCallback as useCallback13, useEffect as
|
|
2004
|
-
|
|
2005
|
-
var _b = _a, { app } = _b, restProps = __objRest(_b, ["app"]);
|
|
1965
|
+
import React50, { forwardRef as forwardRef3, useCallback as useCallback13, useEffect as useEffect8 } from "react";
|
|
1966
|
+
var Fastboard = forwardRef3(function Fastboard2(_a, ref) {
|
|
1967
|
+
var _b = _a, { app, theme, layout, language } = _b, restProps = __objRest(_b, ["app", "theme", "layout", "language"]);
|
|
2006
1968
|
if (!app) {
|
|
2007
|
-
return React50.createElement("div", {
|
|
2008
|
-
className: "fastboard-root"
|
|
2009
|
-
|
|
1969
|
+
return React50.createElement("div", __spreadValues({
|
|
1970
|
+
className: "fastboard-root",
|
|
1971
|
+
ref
|
|
1972
|
+
}, restProps));
|
|
2010
1973
|
}
|
|
2011
1974
|
return React50.createElement(FastboardAppContext.Provider, {
|
|
2012
1975
|
value: app
|
|
2013
|
-
}, React50.createElement(FastboardInternal, __spreadValues({
|
|
2014
|
-
|
|
2015
|
-
|
|
2016
|
-
|
|
2017
|
-
|
|
2018
|
-
|
|
2019
|
-
|
|
2020
|
-
|
|
1976
|
+
}, React50.createElement(FastboardInternal, __spreadValues(__spreadValues({
|
|
1977
|
+
forwardedRef: ref
|
|
1978
|
+
}, { theme, layout, language }), restProps)));
|
|
1979
|
+
});
|
|
1980
|
+
function FastboardInternal(_a) {
|
|
1981
|
+
var _b = _a, {
|
|
1982
|
+
forwardedRef,
|
|
1983
|
+
language,
|
|
1984
|
+
layout = {},
|
|
1985
|
+
theme = "light",
|
|
1986
|
+
children
|
|
1987
|
+
} = _b, restProps = __objRest(_b, [
|
|
1988
|
+
"forwardedRef",
|
|
1989
|
+
"language",
|
|
1990
|
+
"layout",
|
|
1991
|
+
"theme",
|
|
1992
|
+
"children"
|
|
1993
|
+
]);
|
|
2021
1994
|
const app = useFastboardApp();
|
|
2022
1995
|
const forceUpdate = useForceUpdate();
|
|
2023
1996
|
const i18n = useAsyncValue(() => createI18n({ language }));
|
|
2024
|
-
|
|
1997
|
+
useEffect8(() => {
|
|
2025
1998
|
if (i18n)
|
|
2026
1999
|
i18n.changeLanguage(language);
|
|
2027
2000
|
forceUpdate();
|
|
2028
2001
|
}, [forceUpdate, i18n, language]);
|
|
2002
|
+
useEffect8(() => {
|
|
2003
|
+
app.manager.setPrefersColorScheme(theme);
|
|
2004
|
+
}, [app, theme]);
|
|
2029
2005
|
const useWhiteboard = useCallback13((container) => {
|
|
2030
|
-
container && app
|
|
2006
|
+
if (container && app)
|
|
2007
|
+
app.manager.bindContainer(container);
|
|
2031
2008
|
}, [app]);
|
|
2032
2009
|
const hideControls = useHideControls();
|
|
2033
2010
|
const showControls = !hideControls;
|
|
@@ -2041,9 +2018,10 @@ function FastboardInternal({
|
|
|
2041
2018
|
value: theme
|
|
2042
2019
|
}, React50.createElement(I18nContext.Provider, {
|
|
2043
2020
|
value: i18n
|
|
2044
|
-
}, React50.createElement("div", {
|
|
2045
|
-
className: "fastboard-root"
|
|
2046
|
-
|
|
2021
|
+
}, React50.createElement("div", __spreadProps(__spreadValues({}, restProps), {
|
|
2022
|
+
className: "fastboard-root",
|
|
2023
|
+
ref: forwardedRef
|
|
2024
|
+
}), React50.createElement("div", {
|
|
2047
2025
|
className: "fastboard-view",
|
|
2048
2026
|
ref: useWhiteboard
|
|
2049
2027
|
}), children ? children : React50.createElement(React50.Fragment, null, toolbar && React50.createElement("div", {
|