eddev 0.3.3 → 0.3.5
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/blocks/inlineEditing.d.ts +2 -2
- package/components/BrowserRouter.js +32 -10
- package/entry/Root.js +3 -5
- package/package.json +2 -2
- package/routing/routing.d.ts +8 -0
- package/routing/routing.js +13 -1
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { ElementType, FunctionComponent } from "react";
|
|
1
|
+
import { ElementType, FunctionComponent, ComponentPropsWithoutRef } from "react";
|
|
2
2
|
import { ContentBlocksSettings } from ".";
|
|
3
3
|
declare type PropTypes<T extends ElementType> = {
|
|
4
4
|
/** The 'key' of this editable text value */
|
|
@@ -13,7 +13,7 @@ declare type PropTypes<T extends ElementType> = {
|
|
|
13
13
|
defaultValue?: string;
|
|
14
14
|
/** Append a new block when the user hits 'Enter' */
|
|
15
15
|
appendOnEnter?: boolean;
|
|
16
|
-
} &
|
|
16
|
+
} & ComponentPropsWithoutRef<T>;
|
|
17
17
|
export declare function EditableText<T extends ElementType>({ id, as, appendOnEnter, ...props }: PropTypes<T>): import("react/jsx-runtime").JSX.Element | null;
|
|
18
18
|
declare type AppenderConfig = {
|
|
19
19
|
type: "default" | "button" | FunctionComponent<any>;
|
|
@@ -41,6 +41,24 @@ function BrowserRouter(props) {
|
|
|
41
41
|
var url = state.url, data = state.data;
|
|
42
42
|
var _b = (0, react_1.useState)(null), pending = _b[0], setPendingUrl = _b[1];
|
|
43
43
|
var setIsLoading = (0, usePageLoad_1.usePageLoad)(function (s) { return s.setIsLoading; });
|
|
44
|
+
var scrollTo = function (value) {
|
|
45
|
+
if (typeof value !== "number")
|
|
46
|
+
return;
|
|
47
|
+
if (routing_1.customRouterScrollHandler.handler) {
|
|
48
|
+
routing_1.customRouterScrollHandler.handler.set(value);
|
|
49
|
+
}
|
|
50
|
+
else if (document.scrollingElement) {
|
|
51
|
+
document.scrollingElement.scrollTop = value;
|
|
52
|
+
}
|
|
53
|
+
};
|
|
54
|
+
var getScroll = function () {
|
|
55
|
+
if (routing_1.customRouterScrollHandler.handler) {
|
|
56
|
+
return routing_1.customRouterScrollHandler.handler.get();
|
|
57
|
+
}
|
|
58
|
+
else if (document.scrollingElement) {
|
|
59
|
+
return document.scrollingElement.scrollTop;
|
|
60
|
+
}
|
|
61
|
+
};
|
|
44
62
|
(0, react_1.useEffect)(function () {
|
|
45
63
|
if (data.errorStack) {
|
|
46
64
|
(0, reportErrorStack_1.reportErrorStack)(data.errorStack);
|
|
@@ -74,7 +92,7 @@ function BrowserRouter(props) {
|
|
|
74
92
|
var view = views_1.default[data.view];
|
|
75
93
|
var nextUrl = data.canonical || pending.url;
|
|
76
94
|
var finish = function () {
|
|
77
|
-
var _a
|
|
95
|
+
var _a;
|
|
78
96
|
setState({
|
|
79
97
|
url: nextUrl,
|
|
80
98
|
data: data,
|
|
@@ -92,7 +110,7 @@ function BrowserRouter(props) {
|
|
|
92
110
|
(0, updateHeadTags_1.updateHeadTags)(data.meta.head);
|
|
93
111
|
setIsLoading(false);
|
|
94
112
|
if (!pending.popped) {
|
|
95
|
-
history.replaceState({ scrollPosition: (
|
|
113
|
+
history.replaceState({ scrollPosition: getScroll() }, "", document.location.href);
|
|
96
114
|
history.pushState({}, "", nextUrl);
|
|
97
115
|
}
|
|
98
116
|
};
|
|
@@ -109,12 +127,12 @@ function BrowserRouter(props) {
|
|
|
109
127
|
cancelled = true;
|
|
110
128
|
};
|
|
111
129
|
}, [pending]);
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
}, [scrollPosition])
|
|
130
|
+
// const [scrollPosition, setScrollPosition] = useState({ value: null as null | number })
|
|
131
|
+
// useEffect(() => {
|
|
132
|
+
// if (document.scrollingElement && typeof scrollPosition.value === "number") {
|
|
133
|
+
// document.scrollingElement.scrollTop = scrollPosition.value
|
|
134
|
+
// }
|
|
135
|
+
// }, [scrollPosition])
|
|
118
136
|
return ((0, jsx_runtime_1.jsx)(routing_1.RouterRoot, __assign({ url: url, data: data, onNavigateRequest: function (url) {
|
|
119
137
|
setPendingUrl({ popped: false, url: url });
|
|
120
138
|
}, onPreload: function (url) {
|
|
@@ -123,10 +141,14 @@ function BrowserRouter(props) {
|
|
|
123
141
|
}
|
|
124
142
|
}, onNavigated: function () {
|
|
125
143
|
if (pending && typeof pending.scrollPosition === "number") {
|
|
126
|
-
setScrollPosition({ value: pending.scrollPosition })
|
|
144
|
+
// setScrollPosition({ value: pending.scrollPosition })
|
|
145
|
+
// document.scrollingElement!.scrollTop = pending.scrollPosition
|
|
146
|
+
scrollTo(pending.scrollPosition);
|
|
127
147
|
}
|
|
128
148
|
else {
|
|
129
|
-
setScrollPosition({ value: 0 })
|
|
149
|
+
// setScrollPosition({ value: 0 })
|
|
150
|
+
// document.scrollingElement!.scrollTop = 0
|
|
151
|
+
scrollTo(0);
|
|
130
152
|
}
|
|
131
153
|
} }, { children: props.children }), void 0));
|
|
132
154
|
}
|
package/entry/Root.js
CHANGED
|
@@ -38,12 +38,10 @@ var routing_1 = require("../routing");
|
|
|
38
38
|
var loader_1 = require("../dev-ui/loader");
|
|
39
39
|
var next_1 = require("@trpc/next");
|
|
40
40
|
function Root() {
|
|
41
|
+
var _a, _b;
|
|
41
42
|
var route = (0, routing_1.useRoute)();
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
var name = _a[0], Component = _a[1];
|
|
45
|
-
return ((0, jsx_runtime_1.jsx)(routing_1.Route, __assign({ match: function (route) { var _a; return ((_a = route.data) === null || _a === void 0 ? void 0 : _a.view) === name; } }, { children: (0, jsx_runtime_1.jsx)(Component, __assign({}, (_c = (_b = route.data) === null || _b === void 0 ? void 0 : _b.viewData) === null || _c === void 0 ? void 0 : _c.data), void 0) }), name));
|
|
46
|
-
}) }, void 0) }, void 0)] }, void 0));
|
|
43
|
+
var Component = views_1.default[(_a = route.data) === null || _a === void 0 ? void 0 : _a.view];
|
|
44
|
+
return ((0, jsx_runtime_1.jsx)(react_1.Fragment, { children: (0, jsx_runtime_1.jsxs)(routing_1.RouteItemContext, __assign({ route: route }, { children: [process.devUI && (0, jsx_runtime_1.jsx)(loader_1.DevUILoader, {}, void 0), (0, jsx_runtime_1.jsx)(views_1.App, __assign({ path: route.pathname }, { children: Component ? (0, jsx_runtime_1.jsx)(Component, __assign({}, (_b = route.data) === null || _b === void 0 ? void 0 : _b.viewData.data), void 0) : null }), void 0)] }), void 0) }, void 0));
|
|
47
45
|
}
|
|
48
46
|
exports.default = process.rpcEnabled
|
|
49
47
|
? (0, next_1.withTRPC)({
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "eddev",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.5",
|
|
4
4
|
"main": "./index.js",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"bin": {
|
|
@@ -24,7 +24,6 @@
|
|
|
24
24
|
"@types/react-dom": "^18.2.7",
|
|
25
25
|
"@types/react-inspector": "^4.0.2",
|
|
26
26
|
"@types/rimraf": "^3.0.2",
|
|
27
|
-
"@types/url-parse": "^1.4.4",
|
|
28
27
|
"@types/webpack-dev-server": "^3.11.2",
|
|
29
28
|
"csstype": "^3.0.9",
|
|
30
29
|
"next": "^12.1.6",
|
|
@@ -33,6 +32,7 @@
|
|
|
33
32
|
"typescript": "4.5.5"
|
|
34
33
|
},
|
|
35
34
|
"dependencies": {
|
|
35
|
+
"@types/url-parse": "^1.4.4",
|
|
36
36
|
"@babel/core": "^7.15.5",
|
|
37
37
|
"@babel/generator": "^7.15.4",
|
|
38
38
|
"@babel/preset-env": "^7.15.4",
|
package/routing/routing.d.ts
CHANGED
|
@@ -52,6 +52,14 @@ declare type RouteContextType = {
|
|
|
52
52
|
};
|
|
53
53
|
export declare function useRoute(): RouteItem;
|
|
54
54
|
export declare function useRouter(): RouteContextType | undefined;
|
|
55
|
+
export declare type RouterScrollHandler = {
|
|
56
|
+
set: (value: number) => void;
|
|
57
|
+
get: () => number;
|
|
58
|
+
};
|
|
59
|
+
export declare const customRouterScrollHandler: {
|
|
60
|
+
handler: RouterScrollHandler | null;
|
|
61
|
+
};
|
|
62
|
+
export declare function useCustomRouterScrollHandler(handler: RouterScrollHandler): void;
|
|
55
63
|
export declare type RouteProps = RouteContextConfig & {
|
|
56
64
|
children: ReactNode;
|
|
57
65
|
};
|
package/routing/routing.js
CHANGED
|
@@ -50,7 +50,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
50
50
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
51
51
|
};
|
|
52
52
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
53
|
-
exports.RouteItemContext = exports.Switch = exports.Link = exports.urlDescendentsMatch = exports.urlPathsMatch = exports.isInternalPageLink = exports.RouterRoot = exports.createRouteItem = exports.Route = exports.useRouter = exports.useRoute = void 0;
|
|
53
|
+
exports.RouteItemContext = exports.Switch = exports.Link = exports.urlDescendentsMatch = exports.urlPathsMatch = exports.isInternalPageLink = exports.RouterRoot = exports.createRouteItem = exports.Route = exports.useCustomRouterScrollHandler = exports.customRouterScrollHandler = exports.useRouter = exports.useRoute = void 0;
|
|
54
54
|
var jsx_runtime_1 = require("react/jsx-runtime");
|
|
55
55
|
var react_1 = require("react");
|
|
56
56
|
var react_merge_refs_1 = require("react-merge-refs");
|
|
@@ -236,6 +236,18 @@ function useRouter() {
|
|
|
236
236
|
return (0, react_1.useContext)(RouterContext);
|
|
237
237
|
}
|
|
238
238
|
exports.useRouter = useRouter;
|
|
239
|
+
exports.customRouterScrollHandler = {
|
|
240
|
+
handler: null,
|
|
241
|
+
};
|
|
242
|
+
function useCustomRouterScrollHandler(handler) {
|
|
243
|
+
exports.customRouterScrollHandler.handler = handler;
|
|
244
|
+
(0, react_1.useEffect)(function () {
|
|
245
|
+
return function () {
|
|
246
|
+
exports.customRouterScrollHandler.handler = null;
|
|
247
|
+
};
|
|
248
|
+
}, []);
|
|
249
|
+
}
|
|
250
|
+
exports.useCustomRouterScrollHandler = useCustomRouterScrollHandler;
|
|
239
251
|
function Route(props) {
|
|
240
252
|
var ctx = useForkedRouter({
|
|
241
253
|
match: props.match,
|