@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.js
CHANGED
|
@@ -640,58 +640,21 @@ function ZoomControl({
|
|
|
640
640
|
|
|
641
641
|
// src/components/PageControl/hooks.ts
|
|
642
642
|
var import_react16 = require("react");
|
|
643
|
-
function usePageControl(
|
|
644
|
-
const
|
|
645
|
-
const
|
|
643
|
+
function usePageControl() {
|
|
644
|
+
const app = useFastboardApp();
|
|
645
|
+
const pageIndex = useFastboardValue(app.sceneIndex);
|
|
646
|
+
const pageCount = useFastboardValue(app.sceneLength);
|
|
646
647
|
const addPage = (0, import_react16.useCallback)(async () => {
|
|
647
|
-
|
|
648
|
-
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
}, [room, manager, pageIndex]);
|
|
658
|
-
const prevPage = (0, import_react16.useCallback)(() => {
|
|
659
|
-
if (manager) {
|
|
660
|
-
manager.setMainViewSceneIndex(pageIndex - 1);
|
|
661
|
-
} else if (room) {
|
|
662
|
-
room.pptPreviousStep();
|
|
663
|
-
}
|
|
664
|
-
}, [room, manager, pageIndex]);
|
|
665
|
-
const nextPage = (0, import_react16.useCallback)(() => {
|
|
666
|
-
if (manager) {
|
|
667
|
-
manager.setMainViewSceneIndex(pageIndex + 1);
|
|
668
|
-
} else if (room) {
|
|
669
|
-
room.pptNextStep();
|
|
670
|
-
}
|
|
671
|
-
}, [room, manager, pageIndex]);
|
|
672
|
-
(0, import_react16.useEffect)(() => {
|
|
673
|
-
if (room) {
|
|
674
|
-
setPageIndex(room.state.sceneState.index);
|
|
675
|
-
setPageCount(room.state.sceneState.scenes.length);
|
|
676
|
-
if (manager) {
|
|
677
|
-
manager.emitter.on("mainViewSceneIndexChange", setPageIndex);
|
|
678
|
-
return () => {
|
|
679
|
-
manager.emitter.off("mainViewSceneIndexChange", setPageIndex);
|
|
680
|
-
};
|
|
681
|
-
} else {
|
|
682
|
-
const onRoomStateChanged = (modifyState) => {
|
|
683
|
-
if (modifyState.sceneState) {
|
|
684
|
-
setPageIndex(modifyState.sceneState.index);
|
|
685
|
-
setPageCount(modifyState.sceneState.scenes.length);
|
|
686
|
-
}
|
|
687
|
-
};
|
|
688
|
-
room.callbacks.on("onRoomStateChanged", onRoomStateChanged);
|
|
689
|
-
return () => {
|
|
690
|
-
room.callbacks.off("onRoomStateChanged", onRoomStateChanged);
|
|
691
|
-
};
|
|
692
|
-
}
|
|
693
|
-
}
|
|
694
|
-
}, [room, manager]);
|
|
648
|
+
await app.manager.switchMainViewToWriter();
|
|
649
|
+
app.room.putScenes(app.manager.mainViewSceneDir, [{}], pageIndex + 1);
|
|
650
|
+
await app.manager.setMainViewSceneIndex(pageIndex + 1);
|
|
651
|
+
}, [app, pageIndex]);
|
|
652
|
+
const prevPage = (0, import_react16.useCallback)(async () => {
|
|
653
|
+
await app.manager.setMainViewSceneIndex(pageIndex - 1);
|
|
654
|
+
}, [app, pageIndex]);
|
|
655
|
+
const nextPage = (0, import_react16.useCallback)(async () => {
|
|
656
|
+
await app.manager.setMainViewSceneIndex(pageIndex + 1);
|
|
657
|
+
}, [app, pageIndex]);
|
|
695
658
|
return { pageIndex, pageCount, prevPage, nextPage, addPage };
|
|
696
659
|
}
|
|
697
660
|
|
|
@@ -756,11 +719,10 @@ function PageControl({
|
|
|
756
719
|
nextIcon,
|
|
757
720
|
nextIconDisable
|
|
758
721
|
}) {
|
|
759
|
-
const app = useFastboardApp();
|
|
760
722
|
theme = useTheme(theme);
|
|
761
723
|
const { t } = useTranslation();
|
|
762
724
|
const writable = useWritable();
|
|
763
|
-
const _a = usePageControl(
|
|
725
|
+
const _a = usePageControl(), { pageIndex, pageCount } = _a, actions = __objRest(_a, ["pageIndex", "pageCount"]);
|
|
764
726
|
const disabled = !writable;
|
|
765
727
|
return import_react21.default.createElement("div", {
|
|
766
728
|
className: (0, import_clsx3.default)(name3, theme)
|
|
@@ -2059,23 +2021,34 @@ function renderSpeeds({ speed: current, setSpeed }) {
|
|
|
2059
2021
|
|
|
2060
2022
|
// src/components/Fastboard.tsx
|
|
2061
2023
|
var import_react70 = __toESM(require("react"));
|
|
2062
|
-
|
|
2063
|
-
var _b = _a, { app } = _b, restProps = __objRest(_b, ["app"]);
|
|
2024
|
+
var Fastboard = (0, import_react70.forwardRef)(function Fastboard2(_a, ref) {
|
|
2025
|
+
var _b = _a, { app, theme, layout, language } = _b, restProps = __objRest(_b, ["app", "theme", "layout", "language"]);
|
|
2064
2026
|
if (!app) {
|
|
2065
|
-
return import_react70.default.createElement("div", {
|
|
2066
|
-
className: "fastboard-root"
|
|
2067
|
-
|
|
2027
|
+
return import_react70.default.createElement("div", __spreadValues({
|
|
2028
|
+
className: "fastboard-root",
|
|
2029
|
+
ref
|
|
2030
|
+
}, restProps));
|
|
2068
2031
|
}
|
|
2069
2032
|
return import_react70.default.createElement(FastboardAppContext.Provider, {
|
|
2070
2033
|
value: app
|
|
2071
|
-
}, import_react70.default.createElement(FastboardInternal, __spreadValues({
|
|
2072
|
-
|
|
2073
|
-
|
|
2074
|
-
|
|
2075
|
-
|
|
2076
|
-
|
|
2077
|
-
|
|
2078
|
-
|
|
2034
|
+
}, import_react70.default.createElement(FastboardInternal, __spreadValues(__spreadValues({
|
|
2035
|
+
forwardedRef: ref
|
|
2036
|
+
}, { theme, layout, language }), restProps)));
|
|
2037
|
+
});
|
|
2038
|
+
function FastboardInternal(_a) {
|
|
2039
|
+
var _b = _a, {
|
|
2040
|
+
forwardedRef,
|
|
2041
|
+
language,
|
|
2042
|
+
layout = {},
|
|
2043
|
+
theme = "light",
|
|
2044
|
+
children
|
|
2045
|
+
} = _b, restProps = __objRest(_b, [
|
|
2046
|
+
"forwardedRef",
|
|
2047
|
+
"language",
|
|
2048
|
+
"layout",
|
|
2049
|
+
"theme",
|
|
2050
|
+
"children"
|
|
2051
|
+
]);
|
|
2079
2052
|
const app = useFastboardApp();
|
|
2080
2053
|
const forceUpdate = useForceUpdate();
|
|
2081
2054
|
const i18n = useAsyncValue(() => createI18n({ language }));
|
|
@@ -2084,8 +2057,12 @@ function FastboardInternal({
|
|
|
2084
2057
|
i18n.changeLanguage(language);
|
|
2085
2058
|
forceUpdate();
|
|
2086
2059
|
}, [forceUpdate, i18n, language]);
|
|
2060
|
+
(0, import_react70.useEffect)(() => {
|
|
2061
|
+
app.manager.setPrefersColorScheme(theme);
|
|
2062
|
+
}, [app, theme]);
|
|
2087
2063
|
const useWhiteboard = (0, import_react70.useCallback)((container) => {
|
|
2088
|
-
container && app
|
|
2064
|
+
if (container && app)
|
|
2065
|
+
app.manager.bindContainer(container);
|
|
2089
2066
|
}, [app]);
|
|
2090
2067
|
const hideControls = useHideControls();
|
|
2091
2068
|
const showControls = !hideControls;
|
|
@@ -2099,9 +2076,10 @@ function FastboardInternal({
|
|
|
2099
2076
|
value: theme
|
|
2100
2077
|
}, import_react70.default.createElement(I18nContext.Provider, {
|
|
2101
2078
|
value: i18n
|
|
2102
|
-
}, import_react70.default.createElement("div", {
|
|
2103
|
-
className: "fastboard-root"
|
|
2104
|
-
|
|
2079
|
+
}, import_react70.default.createElement("div", __spreadProps(__spreadValues({}, restProps), {
|
|
2080
|
+
className: "fastboard-root",
|
|
2081
|
+
ref: forwardedRef
|
|
2082
|
+
}), import_react70.default.createElement("div", {
|
|
2105
2083
|
className: "fastboard-view",
|
|
2106
2084
|
ref: useWhiteboard
|
|
2107
2085
|
}), children ? children : import_react70.default.createElement(import_react70.default.Fragment, null, toolbar && import_react70.default.createElement("div", {
|