@furystack/shades 11.1.0 → 12.0.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/CHANGELOG.md +312 -0
- package/README.md +13 -13
- package/esm/component-factory.spec.js +13 -5
- package/esm/component-factory.spec.js.map +1 -1
- package/esm/components/index.d.ts +4 -1
- package/esm/components/index.d.ts.map +1 -1
- package/esm/components/index.js +4 -1
- package/esm/components/index.js.map +1 -1
- package/esm/components/lazy-load.d.ts +2 -4
- package/esm/components/lazy-load.d.ts.map +1 -1
- package/esm/components/lazy-load.js +40 -24
- package/esm/components/lazy-load.js.map +1 -1
- package/esm/components/lazy-load.spec.js +57 -50
- package/esm/components/lazy-load.spec.js.map +1 -1
- package/esm/components/link-to-route.d.ts +2 -0
- package/esm/components/link-to-route.d.ts.map +1 -1
- package/esm/components/link-to-route.js +3 -2
- package/esm/components/link-to-route.js.map +1 -1
- package/esm/components/link-to-route.spec.js +13 -9
- package/esm/components/link-to-route.spec.js.map +1 -1
- package/esm/components/nested-route-link.d.ts +62 -0
- package/esm/components/nested-route-link.d.ts.map +1 -0
- package/esm/components/nested-route-link.js +66 -0
- package/esm/components/nested-route-link.js.map +1 -0
- package/esm/components/nested-route-link.spec.d.ts +2 -0
- package/esm/components/nested-route-link.spec.d.ts.map +1 -0
- package/esm/components/nested-route-link.spec.js +179 -0
- package/esm/components/nested-route-link.spec.js.map +1 -0
- package/esm/components/nested-route-types.d.ts +37 -0
- package/esm/components/nested-route-types.d.ts.map +1 -0
- package/esm/components/nested-route-types.js +2 -0
- package/esm/components/nested-route-types.js.map +1 -0
- package/esm/components/nested-router.d.ts +103 -0
- package/esm/components/nested-router.d.ts.map +1 -0
- package/esm/components/nested-router.js +183 -0
- package/esm/components/nested-router.js.map +1 -0
- package/esm/components/nested-router.spec.d.ts +2 -0
- package/esm/components/nested-router.spec.d.ts.map +1 -0
- package/esm/components/nested-router.spec.js +737 -0
- package/esm/components/nested-router.spec.js.map +1 -0
- package/esm/components/route-link.d.ts +4 -0
- package/esm/components/route-link.d.ts.map +1 -1
- package/esm/components/route-link.js +5 -5
- package/esm/components/route-link.js.map +1 -1
- package/esm/components/route-link.spec.js +16 -12
- package/esm/components/route-link.spec.js.map +1 -1
- package/esm/components/router.d.ts +20 -2
- package/esm/components/router.d.ts.map +1 -1
- package/esm/components/router.js +12 -7
- package/esm/components/router.js.map +1 -1
- package/esm/components/router.spec.js +141 -74
- package/esm/components/router.spec.js.map +1 -1
- package/esm/initialize.d.ts +11 -0
- package/esm/initialize.d.ts.map +1 -1
- package/esm/initialize.js +5 -0
- package/esm/initialize.js.map +1 -1
- package/esm/jsx.d.ts +83 -2
- package/esm/jsx.d.ts.map +1 -1
- package/esm/models/children-list.d.ts +5 -1
- package/esm/models/children-list.d.ts.map +1 -1
- package/esm/models/partial-element.d.ts +12 -2
- package/esm/models/partial-element.d.ts.map +1 -1
- package/esm/models/render-options.d.ts +89 -3
- package/esm/models/render-options.d.ts.map +1 -1
- package/esm/models/selection-state.d.ts +4 -0
- package/esm/models/selection-state.d.ts.map +1 -1
- package/esm/services/location-service.d.ts +11 -0
- package/esm/services/location-service.d.ts.map +1 -1
- package/esm/services/location-service.js +11 -0
- package/esm/services/location-service.js.map +1 -1
- package/esm/services/resource-manager.d.ts +24 -0
- package/esm/services/resource-manager.d.ts.map +1 -1
- package/esm/services/resource-manager.js +36 -1
- package/esm/services/resource-manager.js.map +1 -1
- package/esm/services/resource-manager.spec.js +102 -0
- package/esm/services/resource-manager.spec.js.map +1 -1
- package/esm/services/screen-service.d.ts +81 -4
- package/esm/services/screen-service.d.ts.map +1 -1
- package/esm/services/screen-service.js +75 -4
- package/esm/services/screen-service.js.map +1 -1
- package/esm/services/screen-service.spec.js +91 -7
- package/esm/services/screen-service.spec.js.map +1 -1
- package/esm/shade-component.d.ts +17 -4
- package/esm/shade-component.d.ts.map +1 -1
- package/esm/shade-component.js +67 -5
- package/esm/shade-component.js.map +1 -1
- package/esm/shade-host-props-ref.integration.spec.d.ts +2 -0
- package/esm/shade-host-props-ref.integration.spec.d.ts.map +1 -0
- package/esm/shade-host-props-ref.integration.spec.js +381 -0
- package/esm/shade-host-props-ref.integration.spec.js.map +1 -0
- package/esm/shade-resources.integration.spec.js +208 -39
- package/esm/shade-resources.integration.spec.js.map +1 -1
- package/esm/shade.d.ts +20 -17
- package/esm/shade.d.ts.map +1 -1
- package/esm/shade.js +172 -33
- package/esm/shade.js.map +1 -1
- package/esm/shade.spec.js +31 -30
- package/esm/shade.spec.js.map +1 -1
- package/esm/shades.integration.spec.js +135 -72
- package/esm/shades.integration.spec.js.map +1 -1
- package/esm/style-manager.d.ts +2 -2
- package/esm/style-manager.js +2 -2
- package/esm/svg-types.d.ts +389 -0
- package/esm/svg-types.d.ts.map +1 -0
- package/esm/svg-types.js +9 -0
- package/esm/svg-types.js.map +1 -0
- package/esm/svg.d.ts +15 -0
- package/esm/svg.d.ts.map +1 -0
- package/esm/svg.js +76 -0
- package/esm/svg.js.map +1 -0
- package/esm/svg.spec.d.ts +2 -0
- package/esm/svg.spec.d.ts.map +1 -0
- package/esm/svg.spec.js +80 -0
- package/esm/svg.spec.js.map +1 -0
- package/esm/vnode.d.ts +103 -0
- package/esm/vnode.d.ts.map +1 -0
- package/esm/vnode.integration.spec.d.ts +2 -0
- package/esm/vnode.integration.spec.d.ts.map +1 -0
- package/esm/vnode.integration.spec.js +494 -0
- package/esm/vnode.integration.spec.js.map +1 -0
- package/esm/vnode.js +453 -0
- package/esm/vnode.js.map +1 -0
- package/esm/vnode.spec.d.ts +2 -0
- package/esm/vnode.spec.d.ts.map +1 -0
- package/esm/vnode.spec.js +473 -0
- package/esm/vnode.spec.js.map +1 -0
- package/package.json +8 -9
- package/src/component-factory.spec.tsx +18 -5
- package/src/components/index.ts +4 -1
- package/src/components/lazy-load.spec.tsx +82 -75
- package/src/components/lazy-load.tsx +49 -27
- package/src/components/link-to-route.spec.tsx +25 -21
- package/src/components/link-to-route.tsx +4 -2
- package/src/components/nested-route-link.spec.tsx +303 -0
- package/src/components/nested-route-link.tsx +100 -0
- package/src/components/nested-route-types.ts +42 -0
- package/src/components/nested-router.spec.tsx +918 -0
- package/src/components/nested-router.tsx +260 -0
- package/src/components/route-link.spec.tsx +22 -18
- package/src/components/route-link.tsx +6 -5
- package/src/components/router.spec.tsx +196 -108
- package/src/components/router.tsx +21 -8
- package/src/initialize.ts +12 -0
- package/src/jsx.ts +129 -2
- package/src/models/children-list.ts +7 -1
- package/src/models/partial-element.ts +13 -2
- package/src/models/render-options.ts +90 -3
- package/src/models/selection-state.ts +4 -0
- package/src/services/location-service.tsx +11 -0
- package/src/services/resource-manager.spec.ts +128 -0
- package/src/services/resource-manager.ts +36 -1
- package/src/services/screen-service.spec.ts +109 -7
- package/src/services/screen-service.ts +81 -4
- package/src/shade-component.ts +72 -6
- package/src/shade-host-props-ref.integration.spec.tsx +460 -0
- package/src/shade-resources.integration.spec.tsx +276 -52
- package/src/shade.spec.tsx +40 -39
- package/src/shade.ts +186 -58
- package/src/shades.integration.spec.tsx +154 -80
- package/src/style-manager.ts +2 -2
- package/src/svg-types.ts +437 -0
- package/src/svg.spec.ts +89 -0
- package/src/svg.ts +78 -0
- package/src/vnode.integration.spec.tsx +657 -0
- package/src/vnode.spec.ts +579 -0
- package/src/vnode.ts +508 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nested-router.spec.js","sourceRoot":"","sources":["../../src/components/nested-router.spec.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import type { PartialElement } from '../models/partial-element.js';
|
|
2
|
+
/** @deprecated Use `NestedRouteLinkProps` from `nested-route-link` instead */
|
|
2
3
|
export type RouteLinkProps = PartialElement<Omit<HTMLAnchorElement, 'onclick'>>;
|
|
4
|
+
/** @deprecated Use `NestedRouteLink` from `nested-route-link` instead */
|
|
3
5
|
export declare const RouteLink: (props: Omit<Partial<Omit<HTMLAnchorElement, "onclick">>, "style"> & {
|
|
4
6
|
style?: Partial<CSSStyleDeclaration>;
|
|
7
|
+
} & {
|
|
8
|
+
ref?: import("../index.js").RefObject<Element>;
|
|
5
9
|
} & Omit<Partial<HTMLElement>, "style">, children?: import("../index.js").ChildrenList) => JSX.Element;
|
|
6
10
|
//# sourceMappingURL=route-link.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-link.d.ts","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route-link.d.ts","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAA;AAKlE,8EAA8E;AAC9E,MAAM,MAAM,cAAc,GAAG,cAAc,CAAC,IAAI,CAAC,iBAAiB,EAAE,SAAS,CAAC,CAAC,CAAA;AAE/E,yEAAyE;AACzE,eAAO,MAAM,SAAS;;;;sGAkBpB,CAAA"}
|
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
import { Shade } from '../shade.js';
|
|
2
1
|
import { LocationService } from '../services/location-service.js';
|
|
3
|
-
import {
|
|
2
|
+
import { createComponent } from '../shade-component.js';
|
|
3
|
+
import { Shade } from '../shade.js';
|
|
4
|
+
/** @deprecated Use `NestedRouteLink` from `nested-route-link` instead */
|
|
4
5
|
export const RouteLink = Shade({
|
|
5
6
|
shadowDomName: 'route-link',
|
|
6
7
|
elementBase: HTMLAnchorElement,
|
|
@@ -9,9 +10,8 @@ export const RouteLink = Shade({
|
|
|
9
10
|
color: 'inherit',
|
|
10
11
|
textDecoration: 'inherit',
|
|
11
12
|
},
|
|
12
|
-
render: ({ children, props, injector,
|
|
13
|
-
|
|
14
|
-
...props,
|
|
13
|
+
render: ({ children, props, injector, useHostProps }) => {
|
|
14
|
+
useHostProps({
|
|
15
15
|
onclick: (ev) => {
|
|
16
16
|
ev.preventDefault();
|
|
17
17
|
history.pushState('', props.title || '', props.href);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-link.js","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"route-link.js","sourceRoot":"","sources":["../../src/components/route-link.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAA;AAKnC,yEAAyE;AACzE,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,CAAiB;IAC7C,aAAa,EAAE,YAAY;IAC3B,WAAW,EAAE,iBAAiB;IAC9B,eAAe,EAAE,GAAG;IACpB,GAAG,EAAE;QACH,KAAK,EAAE,SAAS;QAChB,cAAc,EAAE,SAAS;KAC1B;IACD,MAAM,EAAE,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,EAAE,EAAE;QACtD,YAAY,CAAC;YACX,OAAO,EAAE,CAAC,EAAc,EAAE,EAAE;gBAC1B,EAAE,CAAC,cAAc,EAAE,CAAA;gBACnB,OAAO,CAAC,SAAS,CAAC,EAAE,EAAE,KAAK,CAAC,KAAK,IAAI,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;gBACpD,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,WAAW,EAAE,CAAA;YACrD,CAAC;SACF,CAAC,CAAA;QACF,OAAO,uCAAG,QAAQ,CAAI,CAAA;IACxB,CAAC;CACF,CAAC,CAAA"}
|
|
@@ -1,8 +1,10 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject';
|
|
2
|
+
import { usingAsync } from '@furystack/utils';
|
|
2
3
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
3
4
|
import { initializeShadeRoot } from '../initialize.js';
|
|
4
5
|
import { LocationService } from '../services/location-service.js';
|
|
5
6
|
import { createComponent } from '../shade-component.js';
|
|
7
|
+
import { flushUpdates } from '../shade.js';
|
|
6
8
|
import { RouteLink } from './route-link.js';
|
|
7
9
|
describe('RouteLink', () => {
|
|
8
10
|
beforeEach(() => {
|
|
@@ -12,19 +14,21 @@ describe('RouteLink', () => {
|
|
|
12
14
|
document.body.innerHTML = '';
|
|
13
15
|
});
|
|
14
16
|
it('Shuld display the loader and completed state', async () => {
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
17
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
18
|
+
const rootElement = document.getElementById('root');
|
|
19
|
+
const onRouteChange = vi.fn();
|
|
20
|
+
injector.getInstance(LocationService).onLocationPathChanged.subscribe(onRouteChange);
|
|
21
|
+
initializeShadeRoot({
|
|
22
|
+
injector,
|
|
23
|
+
rootElement,
|
|
24
|
+
jsxElement: (createComponent(RouteLink, { id: "route", href: "/subroute" }, "Link")),
|
|
25
|
+
});
|
|
26
|
+
await flushUpdates();
|
|
27
|
+
expect(document.body.innerHTML).toMatchInlineSnapshot(`"<div id="root"><a is="route-link" id="route" href="/subroute">Link</a></div>"`);
|
|
28
|
+
expect(onRouteChange).not.toBeCalled();
|
|
29
|
+
document.getElementById('route')?.click();
|
|
30
|
+
expect(onRouteChange).toBeCalledTimes(1);
|
|
23
31
|
});
|
|
24
|
-
expect(document.body.innerHTML).toMatchInlineSnapshot(`"<div id="root"><a is="route-link" id="route" href="/subroute">Link</a></div>"`);
|
|
25
|
-
expect(onRouteChange).not.toBeCalled();
|
|
26
|
-
document.getElementById('route')?.click();
|
|
27
|
-
expect(onRouteChange).toBeCalledTimes(1);
|
|
28
32
|
});
|
|
29
33
|
});
|
|
30
34
|
//# sourceMappingURL=route-link.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"route-link.spec.js","sourceRoot":"","sources":["../../src/components/route-link.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,
|
|
1
|
+
{"version":3,"file":"route-link.spec.js","sourceRoot":"","sources":["../../src/components/route-link.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;AAC7C,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,EAAE,EAAE,MAAM,QAAQ,CAAA;AACxE,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAA;AACtD,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAA;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AACvD,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAA;AAE3C,QAAQ,CAAC,WAAW,EAAE,GAAG,EAAE;IACzB,UAAU,CAAC,GAAG,EAAE;QACd,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,uBAAuB,CAAA;IACnD,CAAC,CAAC,CAAA;IACF,SAAS,CAAC,GAAG,EAAE;QACb,QAAQ,CAAC,IAAI,CAAC,SAAS,GAAG,EAAE,CAAA;IAC9B,CAAC,CAAC,CAAA;IAEF,EAAE,CAAC,8CAA8C,EAAE,KAAK,IAAI,EAAE;QAC5D,MAAM,UAAU,CAAC,IAAI,QAAQ,EAAE,EAAE,KAAK,EAAE,QAAQ,EAAE,EAAE;YAClD,MAAM,WAAW,GAAG,QAAQ,CAAC,cAAc,CAAC,MAAM,CAAmB,CAAA;YAErE,MAAM,aAAa,GAAG,EAAE,CAAC,EAAE,EAAE,CAAA;YAE7B,QAAQ,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,qBAAqB,CAAC,SAAS,CAAC,aAAa,CAAC,CAAA;YAEpF,mBAAmB,CAAC;gBAClB,QAAQ;gBACR,WAAW;gBACX,UAAU,EAAE,CACV,gBAAC,SAAS,IAAC,EAAE,EAAC,OAAO,EAAC,IAAI,EAAC,WAAW,WAE1B,CACb;aACF,CAAC,CAAA;YACF,MAAM,YAAY,EAAE,CAAA;YACpB,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,qBAAqB,CACnD,gFAAgF,CACjF,CAAA;YACD,MAAM,CAAC,aAAa,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,CAAA;YACtC,QAAQ,CAAC,cAAc,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,CAAA;YACzC,MAAM,CAAC,aAAa,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC,CAAC,CAAA;IACJ,CAAC,CAAC,CAAA;AACJ,CAAC,CAAC,CAAA"}
|
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
import type { MatchOptions, MatchResult } from 'path-to-regexp';
|
|
2
2
|
import type { RenderOptions } from '../models/render-options.js';
|
|
3
|
+
/**
|
|
4
|
+
* @deprecated Use NestedRouter instead
|
|
5
|
+
*/
|
|
3
6
|
export interface Route<TMatchResult = unknown> {
|
|
4
7
|
url: string;
|
|
5
8
|
component: (options: {
|
|
@@ -7,20 +10,35 @@ export interface Route<TMatchResult = unknown> {
|
|
|
7
10
|
match: MatchResult<TMatchResult extends object ? TMatchResult : object>;
|
|
8
11
|
}) => JSX.Element;
|
|
9
12
|
routingOptions?: MatchOptions;
|
|
10
|
-
onVisit?: (options: RenderOptions<unknown>
|
|
11
|
-
|
|
13
|
+
onVisit?: (options: RenderOptions<unknown> & {
|
|
14
|
+
element: JSX.Element;
|
|
15
|
+
}) => Promise<void>;
|
|
16
|
+
onLeave?: (options: RenderOptions<unknown> & {
|
|
17
|
+
element: JSX.Element;
|
|
18
|
+
}) => Promise<void>;
|
|
12
19
|
}
|
|
20
|
+
/**
|
|
21
|
+
* @deprecated Use NestedRouterProps instead
|
|
22
|
+
*/
|
|
13
23
|
export interface RouterProps {
|
|
14
24
|
style?: CSSStyleDeclaration;
|
|
15
25
|
routes: Array<Route<any>>;
|
|
16
26
|
notFound?: JSX.Element;
|
|
17
27
|
}
|
|
28
|
+
/**
|
|
29
|
+
* @deprecated Use NestedRouterState instead
|
|
30
|
+
*/
|
|
18
31
|
export interface RouterState {
|
|
19
32
|
activeRoute?: Route<unknown> | null;
|
|
20
33
|
activeRouteParams?: unknown;
|
|
21
34
|
jsx: JSX.Element;
|
|
22
35
|
}
|
|
36
|
+
/**
|
|
37
|
+
* @deprecated Use NestedRouter instead
|
|
38
|
+
*/
|
|
23
39
|
export declare const Router: (props: RouterProps & Omit<Partial<HTMLElement>, "style"> & {
|
|
24
40
|
style?: Partial<CSSStyleDeclaration>;
|
|
41
|
+
} & {
|
|
42
|
+
ref?: import("../models/render-options.js").RefObject<Element>;
|
|
25
43
|
}, children?: import("../index.js").ChildrenList) => JSX.Element;
|
|
26
44
|
//# sourceMappingURL=router.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"router.d.ts","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE/D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAA;AAKhE;;GAEG;AACH,MAAM,WAAW,KAAK,CAAC,YAAY,GAAG,OAAO;IAC3C,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,CAAC,OAAO,EAAE;QACnB,UAAU,EAAE,MAAM,CAAA;QAClB,KAAK,EAAE,WAAW,CAAC,YAAY,SAAS,MAAM,GAAG,YAAY,GAAG,MAAM,CAAC,CAAA;KACxE,KAAK,GAAG,CAAC,OAAO,CAAA;IACjB,cAAc,CAAC,EAAE,YAAY,CAAA;IAC7B,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;IACvF,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,aAAa,CAAC,OAAO,CAAC,GAAG;QAAE,OAAO,EAAE,GAAG,CAAC,OAAO,CAAA;KAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAA;CACxF;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,KAAK,CAAC,EAAE,mBAAmB,CAAA;IAC3B,MAAM,EAAE,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAA;IACzB,QAAQ,CAAC,EAAE,GAAG,CAAC,OAAO,CAAA;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAAA;IACnC,iBAAiB,CAAC,EAAE,OAAO,CAAA;IAC3B,GAAG,EAAE,GAAG,CAAC,OAAO,CAAA;CACjB;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;;;;gEA2DjB,CAAA"}
|
package/esm/components/router.js
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
import { ObservableAlreadyDisposedError } from '@furystack/utils';
|
|
2
2
|
import { match } from 'path-to-regexp';
|
|
3
|
-
import { Lock } from 'semaphore-async-await';
|
|
4
3
|
import { LocationService } from '../services/location-service.js';
|
|
5
4
|
import { createComponent } from '../shade-component.js';
|
|
6
5
|
import { Shade } from '../shade.js';
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use NestedRouter instead
|
|
8
|
+
*/
|
|
7
9
|
export const Router = Shade({
|
|
8
10
|
shadowDomName: 'shade-router',
|
|
9
11
|
render: (options) => {
|
|
10
12
|
const { useState, useObservable, injector } = options;
|
|
11
|
-
const [
|
|
13
|
+
const [versionRef] = useState('navVersion', { current: 0 });
|
|
12
14
|
const [state, setState] = useState('routerState', {
|
|
13
15
|
jsx: createComponent("div", null),
|
|
14
16
|
});
|
|
@@ -16,22 +18,29 @@ export const Router = Shade({
|
|
|
16
18
|
const [lastState] = useState('routerState', state);
|
|
17
19
|
const { activeRoute: lastRoute, activeRouteParams: lastRouteParams, jsx: lastJsx } = lastState;
|
|
18
20
|
try {
|
|
19
|
-
await lock.acquire();
|
|
20
21
|
for (const route of options.props.routes) {
|
|
21
22
|
const matchFn = match(route.url, route.routingOptions);
|
|
22
23
|
const matchResult = matchFn(currentUrl);
|
|
23
24
|
if (matchResult) {
|
|
24
25
|
if (route !== lastRoute || JSON.stringify(lastRouteParams) !== JSON.stringify(matchResult.params)) {
|
|
26
|
+
const version = ++versionRef.current;
|
|
25
27
|
await lastRoute?.onLeave?.({ ...options, element: lastState.jsx });
|
|
28
|
+
if (version !== versionRef.current)
|
|
29
|
+
return;
|
|
26
30
|
const newJsx = route.component({ currentUrl, match: matchResult });
|
|
27
31
|
setState({ jsx: newJsx, activeRoute: route, activeRouteParams: matchResult.params });
|
|
28
32
|
await route.onVisit?.({ ...options, element: newJsx });
|
|
33
|
+
if (version !== versionRef.current)
|
|
34
|
+
return;
|
|
29
35
|
}
|
|
30
36
|
return;
|
|
31
37
|
}
|
|
32
38
|
}
|
|
33
39
|
if (lastRoute !== null) {
|
|
40
|
+
const version = ++versionRef.current;
|
|
34
41
|
await lastRoute?.onLeave?.({ ...options, element: lastJsx });
|
|
42
|
+
if (version !== versionRef.current)
|
|
43
|
+
return;
|
|
35
44
|
setState({
|
|
36
45
|
jsx: options.props.notFound || createComponent("div", null),
|
|
37
46
|
activeRoute: null,
|
|
@@ -40,14 +49,10 @@ export const Router = Shade({
|
|
|
40
49
|
}
|
|
41
50
|
}
|
|
42
51
|
catch (e) {
|
|
43
|
-
// path updates can be async, this can be ignored
|
|
44
52
|
if (!(e instanceof ObservableAlreadyDisposedError)) {
|
|
45
53
|
throw e;
|
|
46
54
|
}
|
|
47
55
|
}
|
|
48
|
-
finally {
|
|
49
|
-
lock?.release();
|
|
50
|
-
}
|
|
51
56
|
};
|
|
52
57
|
const [locationPath] = useObservable('locationPathChanged', injector.getInstance(LocationService).onLocationPathChanged, {
|
|
53
58
|
onChange: (newValue) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,8BAA8B,EAAE,MAAM,kBAAkB,CAAA;AAEjE,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"router.js","sourceRoot":"","sources":["../../src/components/router.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { Injector } from '@furystack/inject';
|
|
2
|
-
import { sleepAsync } from '@furystack/utils';
|
|
2
|
+
import { sleepAsync, usingAsync } from '@furystack/utils';
|
|
3
3
|
import { afterEach, beforeEach, describe, expect, it, vi } from 'vitest';
|
|
4
4
|
import { initializeShadeRoot } from '../initialize.js';
|
|
5
5
|
import { LocationService } from '../services/location-service.js';
|
|
@@ -13,81 +13,148 @@ describe('Router', () => {
|
|
|
13
13
|
afterEach(() => {
|
|
14
14
|
document.body.innerHTML = '';
|
|
15
15
|
});
|
|
16
|
+
it('should skip intermediate route when navigating rapidly (latest wins)', async () => {
|
|
17
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
18
|
+
history.pushState(null, '', '/route-a');
|
|
19
|
+
const callOrder = [];
|
|
20
|
+
const onVisitA = vi.fn(async () => {
|
|
21
|
+
callOrder.push('visit-a');
|
|
22
|
+
});
|
|
23
|
+
const onLeaveA = vi.fn(async () => {
|
|
24
|
+
callOrder.push('leave-a');
|
|
25
|
+
});
|
|
26
|
+
const onVisitB = vi.fn(async () => {
|
|
27
|
+
await sleepAsync(200);
|
|
28
|
+
callOrder.push('visit-b');
|
|
29
|
+
});
|
|
30
|
+
const onLeaveB = vi.fn(async () => {
|
|
31
|
+
callOrder.push('leave-b');
|
|
32
|
+
});
|
|
33
|
+
const onVisitC = vi.fn(async () => {
|
|
34
|
+
callOrder.push('visit-c');
|
|
35
|
+
});
|
|
36
|
+
const routeA = {
|
|
37
|
+
url: '/route-a',
|
|
38
|
+
component: () => createComponent("div", { id: "content" }, "route-a"),
|
|
39
|
+
onVisit: onVisitA,
|
|
40
|
+
onLeave: onLeaveA,
|
|
41
|
+
};
|
|
42
|
+
const routeB = {
|
|
43
|
+
url: '/route-b',
|
|
44
|
+
component: () => createComponent("div", { id: "content" }, "route-b"),
|
|
45
|
+
onVisit: onVisitB,
|
|
46
|
+
onLeave: onLeaveB,
|
|
47
|
+
};
|
|
48
|
+
const routeC = {
|
|
49
|
+
url: '/route-c',
|
|
50
|
+
component: () => createComponent("div", { id: "content" }, "route-c"),
|
|
51
|
+
onVisit: onVisitC,
|
|
52
|
+
};
|
|
53
|
+
const rootElement = document.getElementById('root');
|
|
54
|
+
initializeShadeRoot({
|
|
55
|
+
injector,
|
|
56
|
+
rootElement,
|
|
57
|
+
jsxElement: (createComponent("div", null,
|
|
58
|
+
createComponent(RouteLink, { id: "go-a", href: "/route-a" }, "a"),
|
|
59
|
+
createComponent(RouteLink, { id: "go-b", href: "/route-b" }, "b"),
|
|
60
|
+
createComponent(RouteLink, { id: "go-c", href: "/route-c" }, "c"),
|
|
61
|
+
createComponent(Router, { routes: [routeA, routeB, routeC] }))),
|
|
62
|
+
});
|
|
63
|
+
const getContent = () => document.getElementById('content')?.innerHTML;
|
|
64
|
+
const clickOn = (name) => document.getElementById(name)?.click();
|
|
65
|
+
// --- Initial load at /route-a ---
|
|
66
|
+
await sleepAsync(100);
|
|
67
|
+
expect(getContent()).toBe('route-a');
|
|
68
|
+
expect(onVisitA).toHaveBeenCalledTimes(1);
|
|
69
|
+
// --- Rapid navigation: click B then immediately C ---
|
|
70
|
+
callOrder.length = 0;
|
|
71
|
+
clickOn('go-b');
|
|
72
|
+
clickOn('go-c');
|
|
73
|
+
// Wait long enough for both transitions to settle
|
|
74
|
+
await sleepAsync(500);
|
|
75
|
+
// The final destination should be route-c
|
|
76
|
+
expect(getContent()).toBe('route-c');
|
|
77
|
+
expect(onVisitC).toHaveBeenCalledTimes(1);
|
|
78
|
+
// route-b's onVisit should have been abandoned
|
|
79
|
+
expect(callOrder).not.toContain('visit-b');
|
|
80
|
+
});
|
|
81
|
+
});
|
|
16
82
|
it('Shuld display the loader and completed state', async () => {
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
83
|
+
await usingAsync(new Injector(), async (injector) => {
|
|
84
|
+
history.pushState(null, '', '/');
|
|
85
|
+
const onVisit = vi.fn();
|
|
86
|
+
const onLeave = vi.fn();
|
|
87
|
+
const onLastLeave = vi.fn();
|
|
88
|
+
const rootElement = document.getElementById('root');
|
|
89
|
+
const onRouteChange = vi.fn();
|
|
90
|
+
injector.getInstance(LocationService).onLocationPathChanged.subscribe(onRouteChange);
|
|
91
|
+
const route1 = {
|
|
92
|
+
url: '/route-a',
|
|
93
|
+
component: () => createComponent("div", { id: "content" }, "route-a"),
|
|
94
|
+
onVisit,
|
|
95
|
+
onLeave,
|
|
96
|
+
};
|
|
97
|
+
const route2 = {
|
|
98
|
+
url: '/route-b{/:id}',
|
|
99
|
+
component: ({ match }) => createComponent("div", { id: "content" },
|
|
100
|
+
"route-b",
|
|
101
|
+
match.params.id),
|
|
102
|
+
};
|
|
103
|
+
const route3 = {
|
|
104
|
+
url: '/route-c',
|
|
105
|
+
component: () => createComponent("div", { id: "content" }, "route-c"),
|
|
106
|
+
onLeave: onLastLeave,
|
|
107
|
+
};
|
|
108
|
+
const route4 = { url: '/', component: () => createComponent("div", { id: "content" }, "home") };
|
|
109
|
+
initializeShadeRoot({
|
|
110
|
+
injector,
|
|
111
|
+
rootElement,
|
|
112
|
+
jsxElement: (createComponent("div", null,
|
|
113
|
+
createComponent(RouteLink, { id: "home", href: "/" }, "home"),
|
|
114
|
+
createComponent(RouteLink, { id: "a", href: "/route-a" }, "a"),
|
|
115
|
+
createComponent(RouteLink, { id: "b", href: "/route-b" }, "b"),
|
|
116
|
+
createComponent(RouteLink, { id: "b-with-id", href: "/route-b/123" }, "b-with-id"),
|
|
117
|
+
createComponent(RouteLink, { id: "c", href: "/route-c" }, "c"),
|
|
118
|
+
createComponent(RouteLink, { id: "x", href: "/route-x" }, "x"),
|
|
119
|
+
createComponent(Router, { routes: [route1, route2, route3, route4], notFound: createComponent("div", { id: "content" }, "not found") }))),
|
|
120
|
+
});
|
|
121
|
+
const getContent = () => document.getElementById('content')?.innerHTML;
|
|
122
|
+
const getLocation = () => location.pathname;
|
|
123
|
+
const clickOn = (name) => document.getElementById(name)?.click();
|
|
124
|
+
await sleepAsync(100);
|
|
125
|
+
expect(getLocation()).toBe('/');
|
|
126
|
+
expect(getContent()).toBe('home');
|
|
127
|
+
expect(onVisit).not.toBeCalled();
|
|
128
|
+
clickOn('a');
|
|
129
|
+
await sleepAsync(100);
|
|
130
|
+
expect(getContent()).toBe('route-a');
|
|
131
|
+
expect(getLocation()).toBe('/route-a');
|
|
132
|
+
expect(onRouteChange).toBeCalledTimes(1);
|
|
133
|
+
expect(onVisit).toBeCalledTimes(1);
|
|
134
|
+
clickOn('a');
|
|
135
|
+
await sleepAsync(100);
|
|
136
|
+
expect(onVisit).toBeCalledTimes(1);
|
|
137
|
+
expect(onLeave).not.toBeCalled();
|
|
138
|
+
clickOn('b');
|
|
139
|
+
await sleepAsync(100);
|
|
140
|
+
expect(onLeave).toBeCalledTimes(1);
|
|
141
|
+
expect(getContent()).toBe('route-b');
|
|
142
|
+
expect(getLocation()).toBe('/route-b');
|
|
143
|
+
clickOn('b-with-id');
|
|
144
|
+
await sleepAsync(100);
|
|
145
|
+
expect(getContent()).toBe('route-b123');
|
|
146
|
+
expect(getLocation()).toBe('/route-b/123');
|
|
147
|
+
clickOn('c');
|
|
148
|
+
await sleepAsync(100);
|
|
149
|
+
expect(getContent()).toBe('route-c');
|
|
150
|
+
expect(getLocation()).toBe('/route-c');
|
|
151
|
+
expect(onLastLeave).not.toBeCalled();
|
|
152
|
+
clickOn('x');
|
|
153
|
+
await sleepAsync(100);
|
|
154
|
+
expect(getContent()).toBe('not found');
|
|
155
|
+
expect(getLocation()).toBe('/route-x');
|
|
156
|
+
expect(onLastLeave).toBeCalledTimes(1);
|
|
54
157
|
});
|
|
55
|
-
const getContent = () => document.getElementById('content')?.innerHTML;
|
|
56
|
-
const getLocation = () => location.pathname;
|
|
57
|
-
const clickOn = (name) => document.getElementById(name)?.click();
|
|
58
|
-
await sleepAsync(100);
|
|
59
|
-
expect(getLocation()).toBe('/');
|
|
60
|
-
expect(getContent()).toBe('home');
|
|
61
|
-
expect(onVisit).not.toBeCalled();
|
|
62
|
-
clickOn('a');
|
|
63
|
-
await sleepAsync(100);
|
|
64
|
-
expect(getContent()).toBe('route-a');
|
|
65
|
-
expect(getLocation()).toBe('/route-a');
|
|
66
|
-
expect(onRouteChange).toBeCalledTimes(1);
|
|
67
|
-
expect(onVisit).toBeCalledTimes(1);
|
|
68
|
-
clickOn('a');
|
|
69
|
-
await sleepAsync(100);
|
|
70
|
-
expect(onVisit).toBeCalledTimes(1);
|
|
71
|
-
expect(onLeave).not.toBeCalled();
|
|
72
|
-
clickOn('b');
|
|
73
|
-
await sleepAsync(100);
|
|
74
|
-
expect(onLeave).toBeCalledTimes(1);
|
|
75
|
-
expect(getContent()).toBe('route-b');
|
|
76
|
-
expect(getLocation()).toBe('/route-b');
|
|
77
|
-
clickOn('b-with-id');
|
|
78
|
-
await sleepAsync(100);
|
|
79
|
-
expect(getContent()).toBe('route-b123');
|
|
80
|
-
expect(getLocation()).toBe('/route-b/123');
|
|
81
|
-
clickOn('c');
|
|
82
|
-
await sleepAsync(100);
|
|
83
|
-
expect(getContent()).toBe('route-c');
|
|
84
|
-
expect(getLocation()).toBe('/route-c');
|
|
85
|
-
expect(onLastLeave).not.toBeCalled();
|
|
86
|
-
clickOn('x');
|
|
87
|
-
await sleepAsync(100);
|
|
88
|
-
expect(getContent()).toBe('not found');
|
|
89
|
-
expect(getLocation()).toBe('/route-x');
|
|
90
|
-
expect(onLastLeave).toBeCalledTimes(1);
|
|
91
158
|
});
|
|
92
159
|
});
|
|
93
160
|
//# sourceMappingURL=router.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../../src/components/router.spec.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAC5C,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"router.spec.js","sourceRoot":"","sources":["../../src/components/router.spec.tsx"],"names":[],"mappings":"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"}
|
package/esm/initialize.d.ts
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
1
|
import type { Injector } from '@furystack/inject';
|
|
2
|
+
/**
|
|
3
|
+
* Options for bootstrapping a Shades application.
|
|
4
|
+
*/
|
|
2
5
|
export interface InitializeOptions {
|
|
6
|
+
/** The DOM element that will host the application */
|
|
3
7
|
rootElement: HTMLElement;
|
|
8
|
+
/** The root JSX element to render */
|
|
4
9
|
jsxElement: JSX.Element;
|
|
10
|
+
/** The root injector instance for dependency injection */
|
|
5
11
|
injector: Injector;
|
|
6
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Bootstraps a Shades application by attaching the root JSX element to a DOM node
|
|
15
|
+
* and wiring up the dependency injection context.
|
|
16
|
+
* @param options The initialization options
|
|
17
|
+
*/
|
|
7
18
|
export declare const initializeShadeRoot: (options: InitializeOptions) => void;
|
|
8
19
|
//# sourceMappingURL=initialize.d.ts.map
|
package/esm/initialize.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../src/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD,MAAM,WAAW,iBAAiB;IAChC,WAAW,EAAE,WAAW,CAAA;IACxB,UAAU,EAAE,GAAG,CAAC,OAAO,CAAA;IACvB,QAAQ,EAAE,QAAQ,CAAA;CACnB;
|
|
1
|
+
{"version":3,"file":"initialize.d.ts","sourceRoot":"","sources":["../src/initialize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAEjD;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,qDAAqD;IACrD,WAAW,EAAE,WAAW,CAAA;IACxB,qCAAqC;IACrC,UAAU,EAAE,GAAG,CAAC,OAAO,CAAA;IACvB,0DAA0D;IAC1D,QAAQ,EAAE,QAAQ,CAAA;CACnB;AAED;;;;GAIG;AACH,eAAO,MAAM,mBAAmB,GAAI,SAAS,iBAAiB,SAG7D,CAAA"}
|
package/esm/initialize.js
CHANGED
|
@@ -1,3 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Bootstraps a Shades application by attaching the root JSX element to a DOM node
|
|
3
|
+
* and wiring up the dependency injection context.
|
|
4
|
+
* @param options The initialization options
|
|
5
|
+
*/
|
|
1
6
|
export const initializeShadeRoot = (options) => {
|
|
2
7
|
options.jsxElement.injector = options.injector;
|
|
3
8
|
options.rootElement.appendChild(options.jsxElement);
|
package/esm/initialize.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../src/initialize.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"initialize.js","sourceRoot":"","sources":["../src/initialize.ts"],"names":[],"mappings":"AAcA;;;;GAIG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAA0B,EAAE,EAAE;IAChE,OAAO,CAAC,UAAU,CAAC,QAAQ,GAAG,OAAO,CAAC,QAAQ,CAAA;IAC9C,OAAO,CAAC,WAAW,CAAC,WAAW,CAAC,OAAO,CAAC,UAAU,CAAC,CAAA;AACrD,CAAC,CAAA"}
|