@kwiz/fluentui 1.0.88 → 1.0.90
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/controls/centered.d.ts +4 -1
- package/dist/controls/centered.js +4 -3
- package/dist/controls/centered.js.map +1 -1
- package/dist/controls/prompt.js +18 -4
- package/dist/controls/prompt.js.map +1 -1
- package/dist/controls/section.js +2 -11
- package/dist/controls/section.js.map +1 -1
- package/dist/helpers/hooks.d.ts +3 -1
- package/dist/helpers/hooks.js +13 -2
- package/dist/helpers/hooks.js.map +1 -1
- package/package.json +1 -1
@@ -1,5 +1,8 @@
|
|
1
1
|
import React from 'react';
|
2
2
|
interface IProps {
|
3
|
+
css?: string[];
|
3
4
|
}
|
4
|
-
export declare const Centered:
|
5
|
+
export declare const Centered: (props: IProps & {
|
6
|
+
children?: React.ReactNode | undefined;
|
7
|
+
} & React.RefAttributes<HTMLDivElement>) => React.JSX.Element | null;
|
5
8
|
export {};
|
@@ -1,7 +1,8 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
|
+
import React from 'react';
|
2
3
|
import { Horizontal } from './horizontal';
|
3
4
|
import { Vertical } from './vertical';
|
4
|
-
export const Centered = (props) => {
|
5
|
-
return (_jsx(Vertical, { main: true, vCentered: true, children: _jsx(Horizontal, { hCentered: true, children: props.children }) }));
|
6
|
-
};
|
5
|
+
export const Centered = React.forwardRef((props, ref) => {
|
6
|
+
return (_jsx(Vertical, { main: true, vCentered: true, css: props.css, ref: ref, children: _jsx(Horizontal, { hCentered: true, children: props.children }) }));
|
7
|
+
});
|
7
8
|
//# sourceMappingURL=centered.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"centered.js","sourceRoot":"","sources":["../../src/controls/centered.tsx"],"names":[],"mappings":";
|
1
|
+
{"version":3,"file":"centered.js","sourceRoot":"","sources":["../../src/controls/centered.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAMtC,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,CAAC,UAAU,CAAkD,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;IACrG,OAAO,CACH,KAAC,QAAQ,IAAC,IAAI,QAAC,SAAS,QAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,YAC7C,KAAC,UAAU,IAAC,SAAS,kBAChB,KAAK,CAAC,QAAQ,GACN,GACN,CACd,CAAC;AACN,CAAC,CAAC,CAAC"}
|
package/dist/controls/prompt.js
CHANGED
@@ -1,21 +1,35 @@
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
2
|
-
import { Dialog, DialogActions, DialogBody, DialogContent, DialogSurface, DialogTitle, DialogTrigger, useId } from '@fluentui/react-components';
|
2
|
+
import { Dialog, DialogActions, DialogBody, DialogContent, DialogSurface, DialogTitle, DialogTrigger, useFocusFinders, useId } from '@fluentui/react-components';
|
3
3
|
import { DismissRegular } from '@fluentui/react-icons';
|
4
4
|
import { isNotEmptyArray, isNullOrEmptyString, noops, PushNoDuplicate, RemoveItemFromArr, stopEvent } from '@kwiz/common';
|
5
5
|
import React from 'react';
|
6
|
+
import { useRefWithState } from '../helpers';
|
6
7
|
import { useKWIZFluentContext } from '../helpers/context-internal';
|
7
8
|
import { useKeyDown } from '../helpers/hooks-events';
|
8
9
|
import { ButtonEX, ButtonEXSecondary } from './button';
|
9
|
-
const dialogsOrder = [];
|
10
|
+
const dialogsOrder = []; //can use dialogsDictionary keys but this would be faster and more efficient
|
11
|
+
const dialogsDictionary = {};
|
10
12
|
export const Prompter = React.forwardRef((props, ref) => {
|
11
13
|
const ctx = useKWIZFluentContext();
|
12
14
|
const disableKeyboardActions = React.useRef(props.disableKeyboardActions);
|
13
15
|
disableKeyboardActions.current = props.disableKeyboardActions;
|
16
|
+
const bodyRef = useRefWithState(undefined, undefined, ref);
|
17
|
+
const { findFirstFocusable } = useFocusFinders();
|
14
18
|
const myId = useId();
|
15
19
|
React.useEffect(() => {
|
16
20
|
PushNoDuplicate(dialogsOrder, myId);
|
21
|
+
dialogsDictionary[myId] = { findFirstFocusable, bodyRef: bodyRef.ref };
|
17
22
|
//cleanup
|
18
|
-
return () =>
|
23
|
+
return () => {
|
24
|
+
var _a;
|
25
|
+
RemoveItemFromArr(dialogsOrder, myId); //cleanup
|
26
|
+
delete dialogsDictionary[myId]; //cleanup
|
27
|
+
//find top most dialog and restore focus:
|
28
|
+
const restore = dialogsDictionary[dialogsOrder[dialogsOrder.length - 1]];
|
29
|
+
if (restore && restore.bodyRef.current) {
|
30
|
+
(_a = restore.findFirstFocusable(restore.bodyRef.current)) === null || _a === void 0 ? void 0 : _a.focus();
|
31
|
+
}
|
32
|
+
};
|
19
33
|
}, [myId]);
|
20
34
|
const onOK = props.onOK || noops;
|
21
35
|
const onCancel = props.onCancel || noops;
|
@@ -47,6 +61,6 @@ export const Prompter = React.forwardRef((props, ref) => {
|
|
47
61
|
const titleActions = props.titleActions ? [...props.titleActions] : [];
|
48
62
|
if (props.showCancelInTitle)
|
49
63
|
titleActions.push(_jsx(DialogTrigger, { disableButtonEnhancement: true, children: _jsx(ButtonEX, Object.assign({}, cancelProps, { icon: _jsx(DismissRegular, {}) })) }, 'cancel'));
|
50
|
-
return (_jsx(Dialog, { open: true, modalType: props.modalType, children: _jsx(DialogSurface, { mountNode: props.mountNode || ctx.mountNode, style: !isNullOrEmptyString(props.maxWidth) ? { maxWidth: props.maxWidth } : undefined, children: _jsxs(DialogBody, { children: [(!isNullOrEmptyString(props.title) || isNotEmptyArray(titleActions)) && _jsx(DialogTitle, { action: titleActions, children: props.title }), _jsx(DialogContent, { ref:
|
64
|
+
return (_jsx(Dialog, { open: true, modalType: props.modalType, children: _jsx(DialogSurface, { mountNode: props.mountNode || ctx.mountNode, style: !isNullOrEmptyString(props.maxWidth) ? { maxWidth: props.maxWidth } : undefined, children: _jsxs(DialogBody, { children: [(!isNullOrEmptyString(props.title) || isNotEmptyArray(titleActions)) && _jsx(DialogTitle, { action: titleActions, children: props.title }), _jsx(DialogContent, { ref: bodyRef.set, children: props.children }), isNotEmptyArray(actions) && _jsx(DialogActions, { fluid: actions.length > 2, children: actions })] }) }) }));
|
51
65
|
});
|
52
66
|
//# sourceMappingURL=prompt.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/controls/prompt.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,aAAa,EAAmB,aAAa,EAAE,WAAW,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;
|
1
|
+
{"version":3,"file":"prompt.js","sourceRoot":"","sources":["../../src/controls/prompt.tsx"],"names":[],"mappings":"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"}
|
package/dist/controls/section.js
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
import { jsx as _jsx } from "react/jsx-runtime";
|
2
2
|
import { makeStyles, mergeClasses, Portal, tokens } from '@fluentui/react-components';
|
3
|
-
import { getScrollParent, isFunction, isNotEmptyArray, isNotEmptyString
|
3
|
+
import { getScrollParent, isFunction, isNotEmptyArray, isNotEmptyString } from '@kwiz/common';
|
4
4
|
import React, { useEffect, useState } from 'react';
|
5
5
|
import { useElementSize, useRefWithState } from '../helpers';
|
6
6
|
import { useKWIZFluentContext } from '../helpers/context-internal';
|
@@ -39,18 +39,9 @@ export const Section = React.forwardRef((props, ref) => {
|
|
39
39
|
}
|
40
40
|
/** need scrollparent if we are sticky */
|
41
41
|
const [scrollParent, setScrollParent] = useState(null);
|
42
|
-
const divRef = useRefWithState();
|
42
|
+
const divRef = useRefWithState(undefined, undefined, ref);
|
43
43
|
//wait for my content to finish loading, it might change scrollparent
|
44
44
|
const mySize = useElementSize(divRef.ref.current);
|
45
|
-
useEffect(() => {
|
46
|
-
//setting the forwardRef
|
47
|
-
if (!isNullOrUndefined(ref)) {
|
48
|
-
if (isFunction(ref))
|
49
|
-
ref(divRef.ref.current);
|
50
|
-
else
|
51
|
-
ref.current = divRef.ref.current;
|
52
|
-
}
|
53
|
-
}, [divRef.value]);
|
54
45
|
useEffect(() => {
|
55
46
|
if (props.sticky) {
|
56
47
|
let scrollParent = getScrollParent(divRef.ref.current ? divRef.ref.current.parentElement : null);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/controls/section.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,4BAA4B,CAAC;AACtF,OAAO,EAAE,eAAe,EAAE,UAAU,EAAE,eAAe,EAAE,gBAAgB,EAAE,
|
1
|
+
{"version":3,"file":"section.js","sourceRoot":"","sources":["../../src/controls/section.tsx"],"names":[],"mappings":"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"}
|
package/dist/helpers/hooks.d.ts
CHANGED
@@ -13,7 +13,9 @@ export declare function useStateEX<ValueType>(initialValue: ValueType, options?:
|
|
13
13
|
MutableRefObject<ValueType>
|
14
14
|
];
|
15
15
|
/** use a ref, that can be tracked as useEffect dependency */
|
16
|
-
export declare function useRefWithState<T>(initialValue?: T, stateOptions?: stateExOptions<T
|
16
|
+
export declare function useRefWithState<T>(initialValue?: T, stateOptions?: stateExOptions<T>,
|
17
|
+
/** if used in a control that also needs a forwardRef, set this to keep them in sync */
|
18
|
+
forwardRef?: React.Ref<T>): {
|
17
19
|
/** ref object for getting latest value in handlers */
|
18
20
|
ref: MutableRefObject<T>;
|
19
21
|
/** for useEffect dependency */
|
package/dist/helpers/hooks.js
CHANGED
@@ -1,5 +1,5 @@
|
|
1
1
|
import { makeStyles } from "@fluentui/react-components";
|
2
|
-
import { isFunction, isNotEmptyArray, isNullOrEmptyString, isPrimitiveValue, jsonClone, jsonStringify, LoggerLevel, objectsEqual } from "@kwiz/common";
|
2
|
+
import { isFunction, isNotEmptyArray, isNullOrEmptyString, isNullOrUndefined, isPrimitiveValue, jsonClone, jsonStringify, LoggerLevel, objectsEqual } from "@kwiz/common";
|
3
3
|
import { useCallback, useEffect, useRef, useState } from "react";
|
4
4
|
import { GetLogger } from "../_modules/config";
|
5
5
|
import { mixins } from "../styles/styles";
|
@@ -122,13 +122,24 @@ export function useStateEX(initialValue, options) {
|
|
122
122
|
return [value, setValue, currentValue];
|
123
123
|
}
|
124
124
|
/** use a ref, that can be tracked as useEffect dependency */
|
125
|
-
export function useRefWithState(initialValue, stateOptions = { skipUpdateIfSame: true, name: "useRefWithState" }
|
125
|
+
export function useRefWithState(initialValue, stateOptions = { skipUpdateIfSame: true, name: "useRefWithState" },
|
126
|
+
/** if used in a control that also needs a forwardRef, set this to keep them in sync */
|
127
|
+
forwardRef) {
|
126
128
|
let asRef = useRef(initialValue);
|
127
129
|
let [asState, setState] = useStateEX(initialValue, stateOptions);
|
128
130
|
let setRef = useCallback((newValue) => {
|
129
131
|
asRef.current = newValue;
|
130
132
|
setState(newValue);
|
131
133
|
}, useEffectOnlyOnMount);
|
134
|
+
useEffect(() => {
|
135
|
+
//setting the forwardRef
|
136
|
+
if (!isNullOrUndefined(forwardRef)) {
|
137
|
+
if (isFunction(forwardRef))
|
138
|
+
forwardRef(asRef.current);
|
139
|
+
else
|
140
|
+
forwardRef.current = asRef.current;
|
141
|
+
}
|
142
|
+
}, [asState]);
|
132
143
|
return {
|
133
144
|
/** ref object for getting latest value in handlers */
|
134
145
|
ref: asRef,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/helpers/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/helpers/hooks.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AACxD,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAC1K,OAAO,EAAoD,WAAW,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnH,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAE1C,2DAA2D;AAC3D,MAAM,CAAC,MAAM,oBAAoB,GAAG,EAAE,CAAC;AASvC,SAAS,kBAAkB,CAAC,CAAM;IAC9B,IAAI,CAAC;QACD,IAAI,CAAC,YAAY,WAAW;YACxB,OAAO,CAAC,CAAC,SAAS,CAAC;IAC3B,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,IAAI,CAAC;QACD,IAAI,IAAI,GAAG,aAAa,CAAC,CAAC,CAAC,CAAC;QAC5B,IAAI,IAAI,KAAK,IAAI;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAA,wDAAwD;;YACnG,OAAO,IAAI,CAAC;IACrB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,IAAI,CAAC;QACD,OAAO,CAAC,CAAC,QAAQ,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,OAAO,EAAE,CAAC;AACd,CAAC;AACD,uIAAuI;AACvI,MAAM,UAAU,UAAU,CAAY,YAAuB,EAAE,OAAmC;IAE9F,OAAO,GAAG,OAAO,IAAI,EAAE,CAAC;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC;IAEhC,IAAI,MAAM,GAAG,SAAS,CAAC,oBAAoB,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1F,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;IAElC,MAAM,CAAC,KAAK,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAY,YAAY,CAAC,CAAC;IAEnE,MAAM,YAAY,GAAG,MAAM,EAAa,CAAC;IACzC,8HAA8H;IAC9H,MAAM,qBAAqB,GAAG,MAAM,EAAa,CAAC;IAClD,SAAS,CAAC,GAAG,EAAE;QACX,gBAAgB,CAAC,YAAY,CAAC,CAAC;IACnC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAEzB,kEAAkE;IAClE,MAAM,QAAQ,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;IAC1C,QAAQ,CAAC,OAAO,GAAG,OAAO,CAAC,QAAQ,CAAC;IAEpC,wFAAwF;IACxF,MAAM,YAAY,GAAG,MAAM,CAA6B,EAAE,CAAC,CAAC;IAC5D,MAAM,SAAS,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC;IAEhC,SAAS,CAAC,GAAG,EAAE;QACX,SAAS,CAAC,OAAO,GAAG,IAAI,CAAC;QAEzB,OAAO,GAAG,EAAE;YACR,SAAS,CAAC,OAAO,GAAG,KAAK,CAAC;QAC9B,CAAC,CAAC;IACN,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAEzB,SAAS,eAAe;QACpB,IAAI,eAAe,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,IAAI,SAAS,GAAG,YAAY,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YAC7C,YAAY,CAAC,OAAO,GAAG,EAAE,CAAC,CAAA,OAAO;YACjC,SAAS,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC,CAAC;QAChD,CAAC;IACL,CAAC;IAAA,CAAC;IACF,SAAS,CAAC,GAAG,EAAE;QACX,eAAe,EAAE,CAAC;IACtB,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;IAEZ,SAAS,iBAAiB,CAAC,QAAmB;QAC1C,IAAI,KAAK,GAAU,IAAI,CAAC;QACxB,IAAI,MAAe,CAAC;QACpB,IAAI,CAAC;YACD,IAAI,CAAC,YAAY,CAAC,QAAkB,EAAE,qBAAqB,CAAC,OAAiB,CAAC,EAAE,CAAC;gBAC7E,MAAM,GAAG,IAAI,CAAC;YAClB,CAAC;iBACI,CAAC;gBACF,MAAM,GAAG,KAAK,CAAC;YACnB,CAAC;QACL,CAAC;QAAC,OAAO,CAAC,EAAE,CAAC;YACT,KAAK,GAAG,CAAC,CAAC;YACV,MAAM,GAAG,IAAI,CAAC;QAClB,CAAC;QAED,OAAO,MAAM,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,eAAe,CAAC,CAAC,CAAC,mBAAmB,EAAE,GAAG,CAAC,EAAE;YAC1E,IAAI,MAAM,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,OAAO,EAAE,CAAC;gBAC5C,GAAG,CAAC,OAAO,GAAG,kBAAkB,CAAC,qBAAqB,CAAC,OAAO,CAAC,CAAC,CAAC;gBACjE,GAAG,CAAC,OAAO,GAAG,kBAAkB,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC5C,IAAI,KAAK;oBAAE,GAAG,CAAC,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,MAAM,CAAC;QAClB,CAAC,CAAC,CAAC;IACP,CAAC;IAAA,CAAC;IACF,SAAS,gBAAgB,CAAC,QAAmB;QACzC,YAAY,CAAC,OAAO,GAAG,QAAQ,CAAC;QAChC,qBAAqB,CAAC,OAAO,GAAG,gBAAgB,CAAC,QAAQ,CAAC,IAAI,UAAU,CAAC,QAAQ,CAAC;YAC9E,CAAC,CAAC,QAAQ;YACV,0CAA0C;YAC1C,oFAAoF;YACpF,qEAAqE;YACrE,sEAAsE;YACtE,CAAC,CAAC,SAAS,CAAC,QAAQ,CAAc,CAAC;IAC3C,CAAC;IAED,MAAM,QAAQ,GAAG,WAAW,CAAC,CAAC,QAAmB,EAAE,EAAE,CAAC,IAAI,OAAO,CAAY,OAAO,CAAC,EAAE;QACnF,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,CAAC;YACrB,6BAA6B;YAC7B,MAAM,CAAC,GAAG,CAAC,uBAAuB,CAAC,CAAC;YACpC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACtB,CAAC;aACI,CAAC;YACF,YAAY,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;YACnC,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,gBAAgB;gBACtE,CAAC,CAAC,iBAAiB,CAAC,QAAQ,CAAC,CAAA,kGAAkG;gBAC/H,CAAC,CAAC,IAAI,CAAC;YACX,IAAI,UAAU,CAAC,QAAQ,CAAC,OAAO,CAAC;gBAC5B,QAAQ,GAAG,QAAQ,CAAC,OAAO,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;YAErD,mCAAmC;YACnC,gBAAgB,CAAC,QAAQ,CAAC,CAAC;YAE3B,WAAW;YACX,IAAI,CAAC,OAAO,CAAC,gBAAgB,IAAI,SAAS;gBACtC,eAAe,CAAC,QAAQ,CAAC,CAAC;iBAC1B,6EAA6E;gBAC7E,eAAe,EAAE,CAAC;QAC1B,CAAC;IACL,CAAC,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAE1B,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC;AAC3C,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,eAAe,CAAI,YAAgB,EAC/C,eAAkC,EAAE,gBAAgB,EAAE,IAAI,EAAE,IAAI,EAAE,iBAAiB,EAAE;AACrF,uFAAuF;AACvF,UAAyB;IACzB,IAAI,KAAK,GAAG,MAAM,CAAI,YAAY,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,EAAE,QAAQ,CAAC,GAAG,UAAU,CAAI,YAAY,EAAE,YAAY,CAAC,CAAC;IACpE,IAAI,MAAM,GAAG,WAAW,CAAC,CAAC,QAAW,EAAE,EAAE;QACrC,KAAK,CAAC,OAAO,GAAG,QAAQ,CAAC;QACzB,QAAQ,CAAC,QAAQ,CAAC,CAAC;IACvB,CAAC,EAAE,oBAAoB,CAAC,CAAC;IAEzB,SAAS,CAAC,GAAG,EAAE;QACX,yBAAyB;QACzB,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YACjC,IAAI,UAAU,CAAC,UAAU,CAAC;gBAAE,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;;gBAChD,UAAwC,CAAC,OAAO,GAAG,KAAK,CAAC,OAAO,CAAC;QAC3E,CAAC;IACL,CAAC,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC;IAEd,OAAO;QACH,sDAAsD;QACtD,GAAG,EAAE,KAAK;QACV,+BAA+B;QAC/B,KAAK,EAAE,OAAO;QACd,0CAA0C;QAC1C,GAAG,EAAE,MAAM;KACd,CAAC;AACN,CAAC;AAED,MAAM,SAAS,GAAG,UAAU,CAAC;IACzB,SAAS,EAAE,MAAM,CAAC,SAAS;CAC9B,CAAC,CAAC;AAEH,kFAAkF;AAClF,MAAM,UAAU,eAAe;IAC3B,MAAM,QAAQ,GAAG,SAAS,EAAE,CAAC;IAE7B,MAAM,KAAK,GAAmC;QAC1C,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,QAAQ,EAAE,CAAC;QACX,SAAS,EAAE,CAAC,CAAC,EAAE;YACX,IAAI,CAAC,CAAC,GAAG,KAAK,OAAO;gBAAG,CAAC,CAAC,MAAyB,CAAC,KAAK,EAAE,CAAC;QAChE,CAAC;KACJ,CAAC;IAEF,OAAO,KAAK,CAAC;AACjB,CAAC"}
|