@telia-ace/widget-types-grid 1.0.23 → 1.0.24
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 +660 -551
- package/dist/index.js.map +1 -1
- package/dist/render.1ff5268d.js +51 -0
- package/dist/render.1ff5268d.js.map +1 -0
- package/dist/ui/component.d.ts +0 -1
- package/dist/ui/html-element-handlers.d.ts +1 -1
- package/dist/ui/prepare-dom.d.ts +2 -2
- package/dist/ui/wrapper.d.ts +1 -1
- package/dist/unmount.b0816844.js.map +1 -1
- package/package.json +10 -9
- package/dist/render.20e0f363.js +0 -59
- package/dist/render.20e0f363.js.map +0 -1
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import n, { useState as i, useEffect as m } from "react";
|
|
2
|
+
import { render as p } from "react-dom";
|
|
3
|
+
import { useIsMounted as l, useComponentPlatform as a, ContainerContext as d, RoutingContext as f } from "@telia-ace/widget-ui";
|
|
4
|
+
import { Router as h } from "react-router-dom";
|
|
5
|
+
import { Component as y } from "./index.js";
|
|
6
|
+
import "@telia-ace/widget-core";
|
|
7
|
+
import "styled-components";
|
|
8
|
+
import "@telia-ace/widget-utilities";
|
|
9
|
+
import "react-transition-group";
|
|
10
|
+
import "react-router";
|
|
11
|
+
import "@telia-ace/widget-routing";
|
|
12
|
+
import "@telia-ace/widget-services";
|
|
13
|
+
import "@webprovisions/bootstrapping";
|
|
14
|
+
import "@webprovisions/platform";
|
|
15
|
+
const b = (e) => {
|
|
16
|
+
const [t, r] = i(null), o = l();
|
|
17
|
+
return m(() => {
|
|
18
|
+
e.getAsync("router").then((s) => {
|
|
19
|
+
o.current && r(s);
|
|
20
|
+
});
|
|
21
|
+
}, [e, o]), t;
|
|
22
|
+
}, E = ({ container: e }) => {
|
|
23
|
+
const t = a(e), r = b(e), [o, s] = i(null);
|
|
24
|
+
return m(() => {
|
|
25
|
+
if (t)
|
|
26
|
+
return s(t.nodes.root.children.default[0].id || null), t.events.subscribe(
|
|
27
|
+
"components:root-children-changed",
|
|
28
|
+
(R, { node: u }) => {
|
|
29
|
+
if (u.parent && u.parent.type === "root") {
|
|
30
|
+
const c = u.parent.children.default[0].id;
|
|
31
|
+
s(c);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
);
|
|
35
|
+
}, [t]), !r || !r.history || !t || !o ? null : /* @__PURE__ */ n.createElement(h, {
|
|
36
|
+
history: r.history
|
|
37
|
+
}, /* @__PURE__ */ n.createElement(d.Provider, {
|
|
38
|
+
value: e
|
|
39
|
+
}, /* @__PURE__ */ n.createElement(f.Provider, {
|
|
40
|
+
value: r
|
|
41
|
+
}, /* @__PURE__ */ n.createElement(y, {
|
|
42
|
+
id: o,
|
|
43
|
+
branch: "default"
|
|
44
|
+
}))));
|
|
45
|
+
}, v = E, B = (e, t) => p(/* @__PURE__ */ n.createElement(v, {
|
|
46
|
+
container: e
|
|
47
|
+
}), t);
|
|
48
|
+
export {
|
|
49
|
+
B as default
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=render.1ff5268d.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"render.1ff5268d.js","sources":["../src/ui/use-router.ts","../src/ui/wrapper.tsx","../src/ui/render.tsx"],"sourcesContent":["import { RoutingService } from '@telia-ace/widget-routing';\r\nimport { useIsMounted } from '@telia-ace/widget-ui';\r\nimport { Container } from '@webprovisions/platform';\r\nimport { useEffect, useState } from 'react';\r\n\r\nexport default (container: Container): RoutingService | null => {\r\n const [router, setRouter] = useState<RoutingService | null>(null);\r\n const isMounted = useIsMounted();\r\n\r\n useEffect(() => {\r\n container.getAsync('router').then((router: RoutingService) => {\r\n if (isMounted.current) {\r\n setRouter(router);\r\n }\r\n });\r\n }, [container, isMounted]);\r\n\r\n return router;\r\n};\r\n","import { ContainerContext, RoutingContext, useComponentPlatform } from '@telia-ace/widget-ui';\r\nimport { Container } from '@webprovisions/platform';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Router } from 'react-router-dom';\r\nimport Component from './component';\r\nimport useRouter from './use-router';\r\n\r\nconst keyNavigationKeys = ['Tab', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'];\r\n\r\ntype Props = {\r\n container: Container;\r\n};\r\n\r\nconst Wrapper: React.FC<Props> = ({ container }) => {\r\n const components = useComponentPlatform(container);\r\n const router = useRouter(container);\r\n const [entry, setEntry] = useState<string | null>(null);\r\n\r\n useEffect(() => {\r\n if (components) {\r\n setEntry(components.nodes.root.children.default[0].id || null);\r\n const unsubscribe = components.events.subscribe(\r\n 'components:root-children-changed',\r\n (event, { node }) => {\r\n if (node.parent && node.parent.type === 'root') {\r\n const entry = node.parent.children.default[0].id;\r\n setEntry(entry);\r\n }\r\n }\r\n );\r\n\r\n return unsubscribe;\r\n }\r\n }, [components]);\r\n\r\n if (!router || !router.history || !components) {\r\n return null;\r\n }\r\n\r\n if (!entry) {\r\n return null;\r\n }\r\n\r\n return (\r\n <Router history={router.history}>\r\n <ContainerContext.Provider value={container}>\r\n <RoutingContext.Provider value={router}>\r\n <Component id={entry} branch=\"default\" />\r\n </RoutingContext.Provider>\r\n </ContainerContext.Provider>\r\n </Router>\r\n );\r\n};\r\n\r\nexport default Wrapper;\r\n","import { Container } from '@webprovisions/platform';\r\nimport React from 'react';\r\nimport { render } from 'react-dom';\r\nimport Wrapper from './wrapper';\r\n\r\nexport default (container: Container, element: HTMLElement) =>\r\n render(<Wrapper container={container} />, element);\r\n"],"names":["useRouter","container","router","setRouter","useState","isMounted","useIsMounted","useEffect","Wrapper","components","useComponentPlatform","entry","setEntry","event","node","React","Router","ContainerContext","RoutingContext","Component","Wrapper$1","render","element"],"mappings":";;;;;;;;;;;;;;AAKA,MAAeA,IAAA,CAACC,MAAgD;AAC5D,QAAM,CAACC,GAAQC,CAAS,IAAIC,EAAgC,IAAI,GAC1DC,IAAYC;AAElB,SAAAC,EAAU,MAAM;AACZ,IAAAN,EAAU,SAAS,QAAQ,EAAE,KAAK,CAACC,MAA2B;AAC1D,MAAIG,EAAU,WACVF,EAAUD,CAAM;AAAA,IACpB,CACH;AAAA,EAAA,GACF,CAACD,GAAWI,CAAS,CAAC,GAElBH;AACX,GCLMM,IAA2B,CAAC,EAAE,WAAAP,QAAgB;AAC1C,QAAAQ,IAAaC,EAAqBT,CAAS,GAC3CC,IAASF,EAAUC,CAAS,GAC5B,CAACU,GAAOC,CAAQ,IAAIR,EAAwB,IAAI;AAuBtD,SArBAG,EAAU,MAAM;AACZ,QAAIE;AACA,aAAAG,EAASH,EAAW,MAAM,KAAK,SAAS,QAAQ,GAAG,MAAM,IAAI,GACzCA,EAAW,OAAO;AAAA,QAClC;AAAA,QACA,CAACI,GAAO,EAAE,MAAAC,QAAW;AACjB,cAAIA,EAAK,UAAUA,EAAK,OAAO,SAAS,QAAQ;AAC5C,kBAAMH,IAAQG,EAAK,OAAO,SAAS,QAAQ,GAAG;AAC9C,YAAAF,EAASD,CAAK;AAAA,UAClB;AAAA,QACJ;AAAA,MAAA;AAAA,EAIR,GACD,CAACF,CAAU,CAAC,GAEX,CAACP,KAAU,CAACA,EAAO,WAAW,CAACO,KAI/B,CAACE,IACM,OAIN,gBAAAI,EAAA,cAAAC,GAAA;AAAA,IAAO,SAASd,EAAO;AAAA,EACpB,GAAA,gBAAAa,EAAA,cAACE,EAAiB,UAAjB;AAAA,IAA0B,OAAOhB;AAAA,EAC9B,GAAA,gBAAAc,EAAA,cAACG,EAAe,UAAf;AAAA,IAAwB,OAAOhB;AAAA,EAAA,GAC3B,gBAAAa,EAAA,cAAAI,GAAA;AAAA,IAAU,IAAIR;AAAA,IAAO,QAAO;AAAA,EAAA,CAAU,CAC3C,CACJ,CACJ;AAER,GAEAS,IAAeZ,GCjDfa,IAAe,CAACpB,GAAsBqB,MAClCD,EAAQ,gBAAAN,EAAA,cAAAP,GAAA;AAAA,EAAQ,WAAAP;AAAA,CAAsB,GAAIqB,CAAO;"}
|
package/dist/ui/component.d.ts
CHANGED
package/dist/ui/prepare-dom.d.ts
CHANGED
|
@@ -11,10 +11,10 @@ export declare enum TriggerType {
|
|
|
11
11
|
Badge = "badge",
|
|
12
12
|
Unsupported = "unsupported"
|
|
13
13
|
}
|
|
14
|
-
export declare const determineProvidedElements: (widgetDOMElement?: HTMLElement
|
|
14
|
+
export declare const determineProvidedElements: (widgetDOMElement?: HTMLElement, triggerDOMElement?: HTMLElement) => ProvidedElements;
|
|
15
15
|
export declare const determineTriggerType: (triggerDefinition?: any) => TriggerType;
|
|
16
16
|
declare type PrepareDOMElementsOutput = ViewOutletOptions & {
|
|
17
17
|
callback?: () => void;
|
|
18
18
|
};
|
|
19
|
-
export declare const prepareDOMElements: (name: string, providedWidgetElement?: HTMLElement
|
|
19
|
+
export declare const prepareDOMElements: (name: string, providedWidgetElement?: HTMLElement, providedTriggerElement?: HTMLElement, triggerDefinition?: any, waitWithReplace?: boolean) => PrepareDOMElementsOutput;
|
|
20
20
|
export {};
|
package/dist/ui/wrapper.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"unmount.b0816844.js","sources":["../src/ui/unmount.tsx"],"sourcesContent":["import { unmountComponentAtNode } from 'react-dom';\r\n\r\nexport default (element: HTMLElement) => unmountComponentAtNode(element);\r\n"],"names":[],"mappings":";AAEA,
|
|
1
|
+
{"version":3,"file":"unmount.b0816844.js","sources":["../src/ui/unmount.tsx"],"sourcesContent":["import { unmountComponentAtNode } from 'react-dom';\r\n\r\nexport default (element: HTMLElement) => unmountComponentAtNode(element);\r\n"],"names":["unmount","element","unmountComponentAtNode"],"mappings":";AAEA,MAAAA,IAAe,CAACC,MAAyBC,EAAuBD,CAAO;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@telia-ace/widget-types-grid",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.24",
|
|
4
4
|
"description": "Type definition for Grid widget.",
|
|
5
5
|
"license": "SEE LICENSE IN LICENSE.txt",
|
|
6
6
|
"author": "Telia Company AB",
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
"telia"
|
|
9
9
|
],
|
|
10
10
|
"main": "dist/index.js",
|
|
11
|
+
"sourceMain": "src/index.ts",
|
|
11
12
|
"type": "module",
|
|
12
13
|
"types": "dist/index.d.ts",
|
|
13
14
|
"files": [
|
|
@@ -25,13 +26,13 @@
|
|
|
25
26
|
},
|
|
26
27
|
"sideEffects": false,
|
|
27
28
|
"dependencies": {
|
|
28
|
-
"@telia-ace/knowledge-serviceclient": "^1.0.
|
|
29
|
-
"@telia-ace/widget-core": "^1.0.
|
|
30
|
-
"@telia-ace/widget-forms": "^1.0.
|
|
31
|
-
"@telia-ace/widget-routing": "^1.0.
|
|
32
|
-
"@telia-ace/widget-services": "^1.0.
|
|
33
|
-
"@telia-ace/widget-ui": "^1.0.
|
|
34
|
-
"@telia-ace/widget-utilities": "^1.0.
|
|
29
|
+
"@telia-ace/knowledge-serviceclient": "^1.0.8",
|
|
30
|
+
"@telia-ace/widget-core": "^1.0.15",
|
|
31
|
+
"@telia-ace/widget-forms": "^1.0.22",
|
|
32
|
+
"@telia-ace/widget-routing": "^1.0.16",
|
|
33
|
+
"@telia-ace/widget-services": "^1.0.15",
|
|
34
|
+
"@telia-ace/widget-ui": "^1.0.22",
|
|
35
|
+
"@telia-ace/widget-utilities": "^1.0.4",
|
|
35
36
|
"@webprovisions/bootstrapping": "^1.0.12",
|
|
36
37
|
"@webprovisions/platform": "^1.1.2"
|
|
37
38
|
},
|
|
@@ -50,5 +51,5 @@
|
|
|
50
51
|
"@types/react-transition-group": "^4.4.4",
|
|
51
52
|
"@types/styled-components": "^5.1.7"
|
|
52
53
|
},
|
|
53
|
-
"gitHead": "
|
|
54
|
+
"gitHead": "9cb0d80e6c65317a2e27a381ebe24fd0662f33e8"
|
|
54
55
|
}
|
package/dist/render.20e0f363.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import s, { useState as u, useEffect as m } from "react";
|
|
2
|
-
import { render as b } from "react-dom";
|
|
3
|
-
import { useIsMounted as w, useComponentPlatform as g, ContainerContext as y, RoutingContext as h } from "@telia-ace/widget-ui";
|
|
4
|
-
import { appendClassNames as E } from "@telia-ace/widget-utilities";
|
|
5
|
-
import { Router as k } from "react-router-dom";
|
|
6
|
-
import { Component as v } from "./index.js";
|
|
7
|
-
import "@telia-ace/widget-core";
|
|
8
|
-
import "styled-components";
|
|
9
|
-
import "react-transition-group";
|
|
10
|
-
import "react-router";
|
|
11
|
-
import "@telia-ace/widget-routing";
|
|
12
|
-
import "@telia-ace/widget-services";
|
|
13
|
-
import "@webprovisions/bootstrapping";
|
|
14
|
-
import "@webprovisions/platform";
|
|
15
|
-
const C = (t) => {
|
|
16
|
-
const [r, o] = u(null), e = w();
|
|
17
|
-
return m(() => {
|
|
18
|
-
t.getAsync("router").then((i) => {
|
|
19
|
-
e.current && o(i);
|
|
20
|
-
});
|
|
21
|
-
}, [t, e]), r;
|
|
22
|
-
}, R = ["Tab", "ArrowDown", "ArrowUp", "ArrowRight", "ArrowLeft"], T = ({ container: t }) => {
|
|
23
|
-
const r = g(t), o = C(t), e = t.get("$environment"), [i, l] = u((e == null ? void 0 : e.container.get("isTabbing")) || !1), [d, p] = u(null);
|
|
24
|
-
return m(() => {
|
|
25
|
-
const a = (n) => {
|
|
26
|
-
R.indexOf(n.key) > -1 && (i || e == null || e.container.register("isTabbing", !0), l(!0));
|
|
27
|
-
}, c = (n) => {
|
|
28
|
-
n.screenX === 0 && n.screenY === 0 || (i && (e == null || e.container.register("isTabbing", !1)), l(!1));
|
|
29
|
-
};
|
|
30
|
-
return window.addEventListener("keydown", a), window.addEventListener("click", c), () => {
|
|
31
|
-
window.removeEventListener("keydown", a), window.removeEventListener("click", c);
|
|
32
|
-
};
|
|
33
|
-
}, []), m(() => {
|
|
34
|
-
if (r)
|
|
35
|
-
return p(r.nodes.root.children.default[0].id || null), r.events.subscribe("components:root-children-changed", (c, { node: n }) => {
|
|
36
|
-
if (n.parent && n.parent.type === "root") {
|
|
37
|
-
const f = n.parent.children.default[0].id;
|
|
38
|
-
p(f);
|
|
39
|
-
}
|
|
40
|
-
});
|
|
41
|
-
}, [r]), !o || !o.history || !r || !d ? null : /* @__PURE__ */ s.createElement(k, {
|
|
42
|
-
history: o.history
|
|
43
|
-
}, /* @__PURE__ */ s.createElement(y.Provider, {
|
|
44
|
-
value: t
|
|
45
|
-
}, /* @__PURE__ */ s.createElement(h.Provider, {
|
|
46
|
-
value: o
|
|
47
|
-
}, /* @__PURE__ */ s.createElement(v, {
|
|
48
|
-
className: E([i, "humany-is-tabbing"]),
|
|
49
|
-
isTabbing: i,
|
|
50
|
-
id: d,
|
|
51
|
-
branch: "default"
|
|
52
|
-
}))));
|
|
53
|
-
}, A = T, Y = (t, r) => b(/* @__PURE__ */ s.createElement(A, {
|
|
54
|
-
container: t
|
|
55
|
-
}), r);
|
|
56
|
-
export {
|
|
57
|
-
Y as default
|
|
58
|
-
};
|
|
59
|
-
//# sourceMappingURL=render.20e0f363.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"render.20e0f363.js","sources":["../src/ui/use-router.ts","../src/ui/wrapper.tsx","../src/ui/render.tsx"],"sourcesContent":["import { RoutingService } from '@telia-ace/widget-routing';\r\nimport { useIsMounted } from '@telia-ace/widget-ui';\r\nimport { Container } from '@webprovisions/platform';\r\nimport { useEffect, useState } from 'react';\r\n\r\nexport default (container: Container): RoutingService | null => {\r\n const [router, setRouter] = useState<RoutingService | null>(null);\r\n const isMounted = useIsMounted();\r\n\r\n useEffect(() => {\r\n container.getAsync('router').then((router: RoutingService) => {\r\n if (isMounted.current) {\r\n setRouter(router);\r\n }\r\n });\r\n }, [container, isMounted]);\r\n\r\n return router;\r\n};\r\n","import { ContainerContext, RoutingContext, useComponentPlatform } from '@telia-ace/widget-ui';\r\nimport { appendClassNames } from '@telia-ace/widget-utilities';\r\nimport { Container } from '@webprovisions/platform';\r\nimport React, { useEffect, useState } from 'react';\r\nimport { Router } from 'react-router-dom';\r\nimport Component from './component';\r\nimport useRouter from './use-router';\r\n\r\nconst keyNavigationKeys = ['Tab', 'ArrowDown', 'ArrowUp', 'ArrowRight', 'ArrowLeft'];\r\n\r\ntype Props = {\r\n container: Container;\r\n};\r\n\r\nconst Wrapper: React.SFC<Props> = ({ container }) => {\r\n const components = useComponentPlatform(container);\r\n const router = useRouter(container);\r\n const env = container.get('$environment');\r\n const [isTabbing, setIsTabbing] = useState(env?.container.get('isTabbing') || false);\r\n const [entry, setEntry] = useState<string | null>(null);\r\n\r\n useEffect(() => {\r\n const keydown = (event: KeyboardEvent) => {\r\n if (keyNavigationKeys.indexOf(event.key) > -1) {\r\n if (!isTabbing) {\r\n env?.container.register('isTabbing', true);\r\n }\r\n setIsTabbing(true);\r\n }\r\n };\r\n const click = (event: any) => {\r\n if (event.screenX === 0 && event.screenY === 0) {\r\n return;\r\n }\r\n if (isTabbing) {\r\n env?.container.register('isTabbing', false);\r\n }\r\n setIsTabbing(false);\r\n };\r\n window.addEventListener('keydown', keydown);\r\n window.addEventListener('click', click);\r\n return () => {\r\n window.removeEventListener('keydown', keydown);\r\n window.removeEventListener('click', click);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (components) {\r\n setEntry(components.nodes.root.children.default[0].id || null);\r\n const unsubscribe = components.events.subscribe(\r\n 'components:root-children-changed',\r\n (event, { node }) => {\r\n if (node.parent && node.parent.type === 'root') {\r\n const entry = node.parent.children.default[0].id;\r\n setEntry(entry);\r\n }\r\n }\r\n );\r\n\r\n return unsubscribe;\r\n }\r\n }, [components]);\r\n\r\n if (!router || !router.history || !components) {\r\n return null;\r\n }\r\n\r\n if (!entry) {\r\n return null;\r\n }\r\n\r\n return (\r\n <Router history={router.history}>\r\n <ContainerContext.Provider value={container}>\r\n <RoutingContext.Provider value={router}>\r\n <Component\r\n className={appendClassNames([isTabbing, 'humany-is-tabbing'])}\r\n isTabbing={isTabbing}\r\n id={entry}\r\n branch=\"default\"\r\n />\r\n </RoutingContext.Provider>\r\n </ContainerContext.Provider>\r\n </Router>\r\n );\r\n};\r\n\r\nexport default Wrapper;\r\n","import { Container } from '@webprovisions/platform';\r\nimport React from 'react';\r\nimport { render } from 'react-dom';\r\nimport Wrapper from './wrapper';\r\n\r\nexport default (container: Container, element: HTMLElement) =>\r\n render(<Wrapper container={container} />, element);\r\n"],"names":["render","Wrapper"],"mappings":";;;;;;;;;;;;;;AAKA,MAAe,IAAA,CAAC,MAAgD;AAC5D,QAAM,CAAC,GAAQ,KAAa,EAAgC,IAAI,GAC1D,IAAY;AAElB,WAAU,MAAM;AACZ,MAAU,SAAS,QAAQ,EAAE,KAAK,CAAC,MAA2B;AAC1D,MAAI,EAAU,WACV,EAAU,CAAM;AAAA,IACpB,CACH;AAAA,EAAA,GACF,CAAC,GAAW,CAAS,CAAC,GAElB;AACX,GCVM,IAAoB,CAAC,OAAO,aAAa,WAAW,cAAc,WAAW,GAM7E,IAA4B,CAAC,EAAE,mBAAgB;AAC3C,QAAA,IAAa,EAAqB,CAAS,GAC3C,IAAS,EAAU,CAAS,GAC5B,IAAM,EAAU,IAAI,cAAc,GAClC,CAAC,GAAW,KAAgB,EAAS,wBAAK,UAAU,IAAI,iBAAgB,EAAK,GAC7E,CAAC,GAAO,KAAY,EAAwB,IAAI;AAiDtD,SA/CA,EAAU,MAAM;AACN,UAAA,IAAU,CAAC,MAAyB;AACtC,MAAI,EAAkB,QAAQ,EAAM,GAAG,IAAI,MAClC,MACI,eAAA,UAAU,SAAS,aAAa,KAEzC,EAAa,EAAI;AAAA,IACrB,GAEE,IAAQ,CAAC,MAAe;AAC1B,MAAI,EAAM,YAAY,KAAK,EAAM,YAAY,KAGzC,MACK,gBAAA,UAAU,SAAS,aAAa,MAEzC,EAAa,EAAK;AAAA,IAAA;AAEf,kBAAA,iBAAiB,WAAW,CAAO,GACnC,OAAA,iBAAiB,SAAS,CAAK,GAC/B,MAAM;AACF,aAAA,oBAAoB,WAAW,CAAO,GACtC,OAAA,oBAAoB,SAAS,CAAK;AAAA,IAAA;AAAA,EAEjD,GAAG,CAAE,CAAA,GAEL,EAAU,MAAM;AACZ,QAAI;AACA,eAAS,EAAW,MAAM,KAAK,SAAS,QAAQ,GAAG,MAAM,IAAI,GACzC,EAAW,OAAO,UAClC,oCACA,CAAC,GAAO,EAAE,cAAW;AACjB,YAAI,EAAK,UAAU,EAAK,OAAO,SAAS,QAAQ;AAC5C,gBAAM,IAAQ,EAAK,OAAO,SAAS,QAAQ,GAAG;AAC9C,YAAS,CAAK;AAAA,QAClB;AAAA,MAAA,CAER;AAAA,EAGJ,GACD,CAAC,CAAU,CAAC,GAEX,CAAC,KAAU,CAAC,EAAO,WAAW,CAAC,KAI/B,CAAC,IACM,OAIN,kBAAA,cAAA,GAAA;AAAA,IAAO,SAAS,EAAO;AAAA,EACpB,GAAA,kBAAA,cAAC,EAAiB,UAAjB;AAAA,IAA0B,OAAO;AAAA,EAC9B,GAAA,kBAAA,cAAC,EAAe,UAAf;AAAA,IAAwB,OAAO;AAAA,EAAA,GAC3B,kBAAA,cAAA,GAAA;AAAA,IACG,WAAW,EAAiB,CAAC,GAAW,mBAAmB,CAAC;AAAA,IAC5D;AAAA,IACA,IAAI;AAAA,IACJ,QAAO;AAAA,EAAA,CACX,CACJ,CACJ,CACJ;AAER,GAEA,IAAe,GCnFf,IAAe,CAAC,GAAsB,MAClCA,EAAQ,kBAAA,cAAAC,GAAA;AAAA,EAAQ;AAAA,CAAsB,GAAI,CAAO;"}
|