@vlian/router 1.0.13 → 1.0.15
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/router/router.d.ts +11 -2
- package/dist/router/router.d.ts.map +1 -1
- package/dist/router/router.js +14 -3
- package/package.json +1 -1
package/dist/router/router.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { DOMRouterOpts, type MemoryRouterOpts } from 'react-router-dom';
|
|
1
|
+
import { DOMRouterOpts, type DataRouter, type MemoryRouterOpts } from 'react-router-dom';
|
|
2
2
|
import { navigator } from "../provider";
|
|
3
3
|
import React from 'react';
|
|
4
4
|
import type { RouteItem } from '../types';
|
|
@@ -8,6 +8,15 @@ declare global {
|
|
|
8
8
|
}
|
|
9
9
|
}
|
|
10
10
|
export type RouterMode = 'browser' | 'hash' | 'memory';
|
|
11
|
+
/**
|
|
12
|
+
* RouterProvider 通过 ref 暴露的接口
|
|
13
|
+
*/
|
|
14
|
+
export interface RouterProviderRef {
|
|
15
|
+
/**
|
|
16
|
+
* 获取路由实例
|
|
17
|
+
*/
|
|
18
|
+
getRouter: () => DataRouter | undefined;
|
|
19
|
+
}
|
|
11
20
|
export type RouterProviderProps = {
|
|
12
21
|
fetchRoutes: () => Promise<RouteItem[]>;
|
|
13
22
|
imports: Record<string, any>;
|
|
@@ -21,5 +30,5 @@ export type RouterProviderProps = {
|
|
|
21
30
|
loadingColor?: string;
|
|
22
31
|
loadingOpacity?: number;
|
|
23
32
|
};
|
|
24
|
-
export declare const RouterProvider: React.
|
|
33
|
+
export declare const RouterProvider: React.ForwardRefExoticComponent<RouterProviderProps & React.RefAttributes<RouterProviderRef>>;
|
|
25
34
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/router/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAC,aAAa,EAAE,KAAK,UAAU,EAAyF,KAAK,gBAAgB,EAAC,MAAM,kBAAkB,CAAC;AAC9K,OAAO,EAAqB,SAAS,EAAC,MAAM,aAAa,CAAC;AAC1D,OAAO,KAA6D,MAAM,OAAO,CAAC;AAClF,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C,OAAO,CAAC,MAAM,CAAC;IACb,UAAU,MAAM;QACd,OAAO,EAAE,UAAU,CAAC,OAAO,SAAS,CAAC,CAAC;KACvC;CACF;AAED,MAAM,MAAM,UAAU,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,CAAC;AAEvD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC;;OAEG;IACH,SAAS,EAAE,MAAM,UAAU,GAAG,SAAS,CAAC;CACzC;AAED,MAAM,MAAM,mBAAmB,GAAG;IAChC,WAAW,EAAE,MAAM,OAAO,CAAC,SAAS,EAAE,CAAC,CAAC;IACxC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC7B,UAAU,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAChC,YAAY,CAAC,EAAE,SAAS,EAAE,CAAC;IAC3B,OAAO,CAAC,EAAE,aAAa,GAAG,gBAAgB,CAAC;IAC3C,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,CAAA;AAED,eAAO,MAAM,cAAc,+FAwEzB,CAAC"}
|
package/dist/router/router.js
CHANGED
|
@@ -46,10 +46,10 @@ function _unsupported_iterable_to_array(o, minLen) {
|
|
|
46
46
|
}
|
|
47
47
|
import { RouterProvider as Provider, createBrowserRouter, createHashRouter, createMemoryRouter } from 'react-router-dom';
|
|
48
48
|
import { useRouterTransform, navigator } from "../provider";
|
|
49
|
-
import React, { useState, useEffect } from 'react';
|
|
49
|
+
import React, { useState, useEffect, forwardRef, useImperativeHandle } from 'react';
|
|
50
50
|
import { staticRoutes as defaultStaticRoutes } from './routes';
|
|
51
51
|
import { useSquareRotate2Styles } from '../styles/square-rotate';
|
|
52
|
-
export var RouterProvider = function(param) {
|
|
52
|
+
export var RouterProvider = /*#__PURE__*/ forwardRef(function(param, ref) {
|
|
53
53
|
var fetchRoutes = param.fetchRoutes, imports = param.imports, _param_rootRoutes = param.rootRoutes, rootRoutes = _param_rootRoutes === void 0 ? '/' : _param_rootRoutes, _param_staticRoutes = param.staticRoutes, staticRoutes = _param_staticRoutes === void 0 ? defaultStaticRoutes : _param_staticRoutes, options = param.options, _param_routerMode = param.routerMode, routerMode = _param_routerMode === void 0 ? 'browser' : _param_routerMode, _param_isSubApp = param.isSubApp, isSubApp = _param_isSubApp === void 0 ? false : _param_isSubApp, loadingRender = param.loadingRender, _param_loadingSize = param.loadingSize, loadingSize = _param_loadingSize === void 0 ? '24px' : _param_loadingSize, _param_loadingColor = param.loadingColor, loadingColor = _param_loadingColor === void 0 ? 'currentColor' : _param_loadingColor, _param_loadingOpacity = param.loadingOpacity, loadingOpacity = _param_loadingOpacity === void 0 ? 0.25 : _param_loadingOpacity;
|
|
54
54
|
var _useState = _sliced_to_array(useState(), 2), dataRouter = _useState[0], setDataRouter = _useState[1];
|
|
55
55
|
var styles = useSquareRotate2Styles().styles;
|
|
@@ -88,6 +88,16 @@ export var RouterProvider = function(param) {
|
|
|
88
88
|
options,
|
|
89
89
|
isSubApp
|
|
90
90
|
]);
|
|
91
|
+
// 通过 ref 暴露路由实例
|
|
92
|
+
useImperativeHandle(ref, function() {
|
|
93
|
+
return {
|
|
94
|
+
getRouter: function() {
|
|
95
|
+
return dataRouter;
|
|
96
|
+
}
|
|
97
|
+
};
|
|
98
|
+
}, [
|
|
99
|
+
dataRouter
|
|
100
|
+
]);
|
|
91
101
|
if (!routeObject || !dataRouter) {
|
|
92
102
|
return /*#__PURE__*/ React.createElement("div", {
|
|
93
103
|
className: "w-full h-full flex-center",
|
|
@@ -110,4 +120,5 @@ export var RouterProvider = function(param) {
|
|
|
110
120
|
return /*#__PURE__*/ React.createElement(Provider, {
|
|
111
121
|
router: dataRouter
|
|
112
122
|
});
|
|
113
|
-
};
|
|
123
|
+
});
|
|
124
|
+
RouterProvider.displayName = 'RouterProvider';
|