fs-router-dom 0.0.1 → 0.0.2
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/README.md +12 -12
- package/dist/FSRouter.d.ts +9 -0
- package/dist/{FileRouter.js → FSRouter.js} +6 -6
- package/dist/FSRouter.js.map +1 -0
- package/dist/{FileRouter.test.js → FSRouter.test.js} +6 -6
- package/dist/FSRouter.test.js.map +1 -0
- package/dist/index.d.ts +1 -1
- package/dist/index.js +4 -4
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
- package/dist/FileRouter.d.ts +0 -9
- package/dist/FileRouter.js.map +0 -1
- package/dist/FileRouter.test.js.map +0 -1
- /package/dist/{FileRouter.test.d.ts → FSRouter.test.d.ts} +0 -0
package/README.md
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
#
|
|
1
|
+
# fs-router-dom
|
|
2
2
|
|
|
3
3
|
Lightweight file-based router for Vite + React Router DOM, like Next.js.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
```
|
|
7
|
-
npm install
|
|
7
|
+
npm install fs-router-dom
|
|
8
8
|
```
|
|
9
9
|
|
|
10
10
|
## Usage
|
|
11
11
|
|
|
12
|
-
### `<
|
|
12
|
+
### `<FSRouter />`
|
|
13
13
|
|
|
14
|
-
The `
|
|
14
|
+
The `FSRouter` component dynamically creates `react-router-dom` routes from a list of file-based modules. It requires being a child of a `BrowserRouter` (or another `react-router` router).
|
|
15
15
|
|
|
16
16
|
```jsx
|
|
17
17
|
// App.tsx
|
|
18
18
|
import { BrowserRouter } from 'react-router-dom';
|
|
19
|
-
import {
|
|
19
|
+
import { FSRouter } from 'fs-router-dom';
|
|
20
20
|
|
|
21
21
|
const routes = import.meta.glob('./pages/**/*.tsx');
|
|
22
22
|
|
|
23
23
|
function App() {
|
|
24
24
|
return (
|
|
25
25
|
<BrowserRouter basename="/app">
|
|
26
|
-
<
|
|
26
|
+
<FSRouter routes={routes} />
|
|
27
27
|
</BrowserRouter>
|
|
28
28
|
);
|
|
29
29
|
}
|
|
@@ -31,22 +31,22 @@ function App() {
|
|
|
31
31
|
export default App;
|
|
32
32
|
```
|
|
33
33
|
|
|
34
|
-
### `<
|
|
34
|
+
### `<FullFSRouter />`
|
|
35
35
|
|
|
36
|
-
The `
|
|
36
|
+
The `FullFSRouter` component is a "batteries-included" component for users who want to quickly set up file-based routing without configuring `react-router-dom`'s `BrowserRouter` separately. It instantiates a `BrowserRouter` and places the `FSRouter` inside it, handling the setup in one step.
|
|
37
37
|
|
|
38
|
-
`
|
|
39
|
-
- `routes`: The same `routes` object required by `
|
|
38
|
+
`FullFSRouter` accepts two types of props:
|
|
39
|
+
- `routes`: The same `routes` object required by `FSRouter`.
|
|
40
40
|
- All props accepted by `react-router-dom`'s `BrowserRouter` (e.g., `basename`, `window`).
|
|
41
41
|
|
|
42
42
|
```jsx
|
|
43
43
|
// App.tsx
|
|
44
|
-
import {
|
|
44
|
+
import { FullFSRouter } from 'fs-router-dom';
|
|
45
45
|
|
|
46
46
|
const routes = import.meta.glob('./pages/**/*.tsx');
|
|
47
47
|
|
|
48
48
|
function App() {
|
|
49
|
-
return <
|
|
49
|
+
return <FullFSRouter routes={routes} basename="/app" />;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
export default App;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { BrowserRouterProps } from 'react-router-dom';
|
|
2
|
+
interface FSRouterProps {
|
|
3
|
+
routes: Record<string, () => Promise<unknown>>;
|
|
4
|
+
}
|
|
5
|
+
export declare function FSRouter({ routes }: FSRouterProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
+
interface FullFSRouterProps extends FSRouterProps, Omit<BrowserRouterProps, 'children'> {
|
|
7
|
+
}
|
|
8
|
+
export declare function FullFSRouter({ routes, ...browserProps }: FullFSRouterProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
+
export {};
|
|
@@ -33,8 +33,8 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
37
|
-
exports.
|
|
36
|
+
exports.FSRouter = FSRouter;
|
|
37
|
+
exports.FullFSRouter = FullFSRouter;
|
|
38
38
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
39
39
|
const react_1 = __importStar(require("react"));
|
|
40
40
|
const react_router_dom_1 = require("react-router-dom");
|
|
@@ -61,7 +61,7 @@ function transformFilePathToRoutePath(filePath) {
|
|
|
61
61
|
path = path.replace(/\[(.*?)\]/g, ':$1');
|
|
62
62
|
return path;
|
|
63
63
|
}
|
|
64
|
-
function
|
|
64
|
+
function FSRouter({ routes }) {
|
|
65
65
|
return ((0, jsx_runtime_1.jsxs)(react_router_dom_1.Routes, { children: [Object.entries(routes).map(([filePath, importFn]) => {
|
|
66
66
|
const path = transformFilePathToRoutePath(filePath);
|
|
67
67
|
const Component = react_1.default.lazy(async () => {
|
|
@@ -71,7 +71,7 @@ function FileRouter({ routes }) {
|
|
|
71
71
|
return ((0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: path, element: (0, jsx_runtime_1.jsx)(react_1.Suspense, { fallback: (0, jsx_runtime_1.jsx)("div", { children: "Loading..." }), children: (0, jsx_runtime_1.jsx)(Component, {}) }) }, path));
|
|
72
72
|
}), (0, jsx_runtime_1.jsx)(react_router_dom_1.Route, { path: "*", element: (0, jsx_runtime_1.jsx)("div", { children: "404 - Not Found" }) })] }));
|
|
73
73
|
}
|
|
74
|
-
function
|
|
75
|
-
return ((0, jsx_runtime_1.jsx)(react_router_dom_1.BrowserRouter, { ...browserProps, children: (0, jsx_runtime_1.jsx)(
|
|
74
|
+
function FullFSRouter({ routes, ...browserProps }) {
|
|
75
|
+
return ((0, jsx_runtime_1.jsx)(react_router_dom_1.BrowserRouter, { ...browserProps, children: (0, jsx_runtime_1.jsx)(FSRouter, { routes: routes }) }));
|
|
76
76
|
}
|
|
77
|
-
//# sourceMappingURL=
|
|
77
|
+
//# sourceMappingURL=FSRouter.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FSRouter.js","sourceRoot":"","sources":["../src/FSRouter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,4BA0BC;AAID,oCAMC;;AAxED,+CAAwC;AACxC,uDAAoF;AAMpF;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,QAAgB;IACpD,gDAAgD;IAChD,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAEhD,wCAAwC;IACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEtC,sBAAsB;IACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAC5C,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC;IACb,CAAC;IAED,+CAA+C;IAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAEzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,QAAQ,CAAC,EAAE,MAAM,EAAiB;IAChD,OAAO,CACL,wBAAC,yBAAM,eACJ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACnD,MAAM,IAAI,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;gBAEpD,MAAM,SAAS,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;oBAChC,OAAO,EAAE,OAAO,EAAG,MAAgD,CAAC,OAAO,EAAE,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,OAAO,CACL,uBAAC,wBAAK,IAEJ,IAAI,EAAE,IAAI,EACV,OAAO,EACL,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,yDAAqB,YACvC,uBAAC,SAAS,KAAG,GACJ,IALR,IAAI,CAOT,CACH,CAAC;YACJ,CAAC,CAAC,EAEF,uBAAC,wBAAK,IAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,8DAA0B,GAAI,IAChD,CACV,CAAC;AACJ,CAAC;AAID,SAAgB,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,EAAqB;IACzE,OAAO,CACL,uBAAC,gCAAa,OAAK,YAAY,YAC7B,uBAAC,QAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,GACd,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -3,7 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
const jsx_runtime_1 = require("react/jsx-runtime");
|
|
4
4
|
const react_1 = require("@testing-library/react");
|
|
5
5
|
const react_router_dom_1 = require("react-router-dom");
|
|
6
|
-
const
|
|
6
|
+
const FSRouter_1 = require("./FSRouter");
|
|
7
7
|
// Mock components
|
|
8
8
|
const Home = () => (0, jsx_runtime_1.jsx)("div", { children: "Home" });
|
|
9
9
|
const About = () => (0, jsx_runtime_1.jsx)("div", { children: "About" });
|
|
@@ -13,18 +13,18 @@ const routes = {
|
|
|
13
13
|
'./pages/about.tsx': () => Promise.resolve({ default: About }),
|
|
14
14
|
'./pages/users/[id].tsx': () => Promise.resolve({ default: User }),
|
|
15
15
|
};
|
|
16
|
-
describe('
|
|
16
|
+
describe('FSRouter', () => {
|
|
17
17
|
it('should render the correct component for a static route', async () => {
|
|
18
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.MemoryRouter, { initialEntries: ['/about'], children: (0, jsx_runtime_1.jsx)(
|
|
18
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.MemoryRouter, { initialEntries: ['/about'], children: (0, jsx_runtime_1.jsx)(FSRouter_1.FSRouter, { routes: routes }) }));
|
|
19
19
|
expect(await react_1.screen.findByText('About')).toBeInTheDocument();
|
|
20
20
|
});
|
|
21
21
|
it('should render the correct component for the root route', async () => {
|
|
22
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.MemoryRouter, { initialEntries: ['/'], children: (0, jsx_runtime_1.jsx)(
|
|
22
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.MemoryRouter, { initialEntries: ['/'], children: (0, jsx_runtime_1.jsx)(FSRouter_1.FSRouter, { routes: routes }) }));
|
|
23
23
|
expect(await react_1.screen.findByText('Home')).toBeInTheDocument();
|
|
24
24
|
});
|
|
25
25
|
it('should render the correct component for a dynamic route', async () => {
|
|
26
|
-
(0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.MemoryRouter, { initialEntries: ['/users/123'], children: (0, jsx_runtime_1.jsx)(
|
|
26
|
+
(0, react_1.render)((0, jsx_runtime_1.jsx)(react_router_dom_1.MemoryRouter, { initialEntries: ['/users/123'], children: (0, jsx_runtime_1.jsx)(FSRouter_1.FSRouter, { routes: routes }) }));
|
|
27
27
|
expect(await react_1.screen.findByText('User')).toBeInTheDocument();
|
|
28
28
|
});
|
|
29
29
|
});
|
|
30
|
-
//# sourceMappingURL=
|
|
30
|
+
//# sourceMappingURL=FSRouter.test.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FSRouter.test.js","sourceRoot":"","sources":["../src/FSRouter.test.tsx"],"names":[],"mappings":";;;AACA,kDAAwD;AACxD,uDAAgD;AAChD,yCAAsC;AAEtC,kBAAkB;AAClB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,mDAAe,CAAC;AACnC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,oDAAgB,CAAC;AACrC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,mDAAe,CAAC;AAEnC,MAAM,MAAM,GAAG;IACb,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7D,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9D,wBAAwB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;CACnE,CAAC;AAEF,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACxB,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,IAAA,cAAM,EACJ,uBAAC,+BAAY,IAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,YACtC,uBAAC,mBAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,GACf,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,cAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,IAAA,cAAM,EACJ,uBAAC,+BAAY,IAAC,cAAc,EAAE,CAAC,GAAG,CAAC,YACjC,uBAAC,mBAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,GACf,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,cAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,IAAA,cAAM,EACJ,uBAAC,+BAAY,IAAC,cAAc,EAAE,CAAC,YAAY,CAAC,YAC1C,uBAAC,mBAAQ,IAAC,MAAM,EAAE,MAAM,GAAI,GACf,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,cAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export {
|
|
1
|
+
export { FSRouter, FullFSRouter } from './FSRouter';
|
package/dist/index.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
var
|
|
5
|
-
Object.defineProperty(exports, "
|
|
6
|
-
Object.defineProperty(exports, "
|
|
3
|
+
exports.FullFSRouter = exports.FSRouter = void 0;
|
|
4
|
+
var FSRouter_1 = require("./FSRouter");
|
|
5
|
+
Object.defineProperty(exports, "FSRouter", { enumerable: true, get: function () { return FSRouter_1.FSRouter; } });
|
|
6
|
+
Object.defineProperty(exports, "FullFSRouter", { enumerable: true, get: function () { return FSRouter_1.FullFSRouter; } });
|
|
7
7
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAAA,uCAAoD;AAA3C,oGAAA,QAAQ,OAAA;AAAE,wGAAA,YAAY,OAAA"}
|
package/package.json
CHANGED
package/dist/FileRouter.d.ts
DELETED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { BrowserRouterProps } from 'react-router-dom';
|
|
2
|
-
interface FileRouterProps {
|
|
3
|
-
routes: Record<string, () => Promise<unknown>>;
|
|
4
|
-
}
|
|
5
|
-
export declare function FileRouter({ routes }: FileRouterProps): import("react/jsx-runtime").JSX.Element;
|
|
6
|
-
interface FullFileRouterProps extends FileRouterProps, Omit<BrowserRouterProps, 'children'> {
|
|
7
|
-
}
|
|
8
|
-
export declare function FullFileRouter({ routes, ...browserProps }: FullFileRouterProps): import("react/jsx-runtime").JSX.Element;
|
|
9
|
-
export {};
|
package/dist/FileRouter.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileRouter.js","sourceRoot":"","sources":["../src/FileRouter.tsx"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoCA,gCA0BC;AAID,wCAMC;;AAxED,+CAAwC;AACxC,uDAAoF;AAMpF;;;;;GAKG;AACH,SAAS,4BAA4B,CAAC,QAAgB;IACpD,gDAAgD;IAChD,IAAI,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC,CAAC;IAEhD,wCAAwC;IACxC,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;IAEtC,sBAAsB;IACtB,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC5B,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB;IAC5C,CAAC;IAED,oBAAoB;IACpB,IAAI,IAAI,KAAK,EAAE,EAAE,CAAC;QAChB,IAAI,GAAG,GAAG,CAAC;IACb,CAAC;IAED,+CAA+C;IAC/C,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,KAAK,CAAC,CAAC;IAEzC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,SAAgB,UAAU,CAAC,EAAE,MAAM,EAAmB;IACpD,OAAO,CACL,wBAAC,yBAAM,eACJ,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,QAAQ,EAAE,QAAQ,CAAC,EAAE,EAAE;gBACnD,MAAM,IAAI,GAAG,4BAA4B,CAAC,QAAQ,CAAC,CAAC;gBAEpD,MAAM,SAAS,GAAG,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;oBACtC,MAAM,MAAM,GAAG,MAAM,QAAQ,EAAE,CAAC;oBAChC,OAAO,EAAE,OAAO,EAAG,MAAgD,CAAC,OAAO,EAAE,CAAC;gBAChF,CAAC,CAAC,CAAC;gBACH,OAAO,CACL,uBAAC,wBAAK,IAEJ,IAAI,EAAE,IAAI,EACV,OAAO,EACL,uBAAC,gBAAQ,IAAC,QAAQ,EAAE,yDAAqB,YACvC,uBAAC,SAAS,KAAG,GACJ,IALR,IAAI,CAOT,CACH,CAAC;YACJ,CAAC,CAAC,EAEF,uBAAC,wBAAK,IAAC,IAAI,EAAC,GAAG,EAAC,OAAO,EAAE,8DAA0B,GAAI,IAChD,CACV,CAAC;AACJ,CAAC;AAID,SAAgB,cAAc,CAAC,EAAE,MAAM,EAAE,GAAG,YAAY,EAAuB;IAC7E,OAAO,CACL,uBAAC,gCAAa,OAAK,YAAY,YAC7B,uBAAC,UAAU,IAAC,MAAM,EAAE,MAAM,GAAI,GAChB,CACjB,CAAC;AACJ,CAAC"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"FileRouter.test.js","sourceRoot":"","sources":["../src/FileRouter.test.tsx"],"names":[],"mappings":";;;AACA,kDAAwD;AACxD,uDAAgD;AAChD,6CAA0C;AAE1C,kBAAkB;AAClB,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,mDAAe,CAAC;AACnC,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC,oDAAgB,CAAC;AACrC,MAAM,IAAI,GAAG,GAAG,EAAE,CAAC,mDAAe,CAAC;AAEnC,MAAM,MAAM,GAAG;IACb,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC7D,mBAAmB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC;IAC9D,wBAAwB,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;CACnE,CAAC;AAEF,QAAQ,CAAC,YAAY,EAAE,GAAG,EAAE;IAC1B,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,IAAA,cAAM,EACJ,uBAAC,+BAAY,IAAC,cAAc,EAAE,CAAC,QAAQ,CAAC,YACtC,uBAAC,uBAAU,IAAC,MAAM,EAAE,MAAM,GAAI,GACjB,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,cAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC/D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,wDAAwD,EAAE,KAAK,IAAI,EAAE;QACtE,IAAA,cAAM,EACJ,uBAAC,+BAAY,IAAC,cAAc,EAAE,CAAC,GAAG,CAAC,YACjC,uBAAC,uBAAU,IAAC,MAAM,EAAE,MAAM,GAAI,GACjB,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,cAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,yDAAyD,EAAE,KAAK,IAAI,EAAE;QACvE,IAAA,cAAM,EACJ,uBAAC,+BAAY,IAAC,cAAc,EAAE,CAAC,YAAY,CAAC,YAC1C,uBAAC,uBAAU,IAAC,MAAM,EAAE,MAAM,GAAI,GACjB,CAChB,CAAC;QACF,MAAM,CAAC,MAAM,cAAM,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,iBAAiB,EAAE,CAAC;IAC9D,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
|
|
File without changes
|