@admin-layout/tailwind-design-pro 10.0.9-alpha.44 → 10.0.9-alpha.45
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/lib/components/Layout/BasicLayout/index.d.ts +1 -4
- package/lib/components/Layout/BasicLayout/index.d.ts.map +1 -1
- package/lib/components/Layout/BasicLayout/index.js +18 -51
- package/lib/components/Layout/BasicLayout/index.js.map +1 -1
- package/lib/components/SettingDrawer/RegionalSettings.js +9 -9
- package/lib/components/SettingDrawer/RegionalSettings.js.map +1 -1
- package/package.json +2 -2
- package/lib/hooks/useScrollThreshold.js +0 -60
- package/lib/hooks/useScrollThreshold.js.map +0 -1
|
@@ -1,12 +1,9 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
import { BasicLayoutProps, GlobalHeaderProps } from '@admin-layout/client';
|
|
3
|
-
export declare const useHorizontalScroll: ({
|
|
4
|
-
scrolled: any;
|
|
3
|
+
export declare const useHorizontalScroll: ({ setScrolled, setSearchOptionsShown, onScrollReachEnd }: {
|
|
5
4
|
setScrolled: any;
|
|
6
5
|
setSearchOptionsShown: any;
|
|
7
6
|
onScrollReachEnd: any;
|
|
8
|
-
settings: any;
|
|
9
|
-
onSettingChange: any;
|
|
10
7
|
}) => React.MutableRefObject<undefined>;
|
|
11
8
|
export declare const BasicLayout: React.FC<BasicLayoutProps & GlobalHeaderProps & {
|
|
12
9
|
routeParams?: any;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiE,MAAM,OAAO,CAAC;AAOtF,OAAO,EACH,gBAAgB,EAGhB,iBAAiB,EAIpB,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAiE,MAAM,OAAO,CAAC;AAOtF,OAAO,EACH,gBAAgB,EAGhB,iBAAiB,EAIpB,MAAM,sBAAsB,CAAC;AAQ9B,eAAO,MAAM,mBAAmB;;;;uCA4B/B,CAAC;AAgCF,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAC9B,gBAAgB,GAAG,iBAAiB,GAAG;IAAE,WAAW,CAAC,EAAE,GAAG,CAAC;IAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAA;CAAE,CAiL3F,CAAC"}
|
|
@@ -1,10 +1,7 @@
|
|
|
1
|
-
import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {Sidebar}from'../Sidebar/Sidebar.js';import {GlobalHeader}from'../GlobalHeader/Header.js';import {Outlet}from'@remix-run/react';import warning from'warning';import {omit}from'lodash-es';import {SettingDrawer}from'../../SettingDrawer/SettingDrawer.js';import {defaultSettings,useComponentSize,getMenuSeparation,getThemeColors}from'@admin-layout/client';import isBrowser from'../../../utils/isBrowser/index.js';import {getPageTitleInfo}from'../getPageTitle.js';import {useTheme}from'../../ThemeProvider/ThemeProvider.js';import {MainHeader}from'../GlobalHeader/MainHeader.js';import'../GlobalHeader/Logo.js';import'react-router';import'../../../helpers/DynamicIcon.js';import'@app/dialog/WrappedDialogsSwitch';import'@common-stack/components-pro';import {FooterSlot}from'../slot-fill/Footer.js';import'reflect-metadata';import'@admin-layout/client/lib/constants/layout.js';import {config}from'../../../config/env-config.js';
|
|
2
|
-
scrolled,
|
|
1
|
+
import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'react';import {Sidebar}from'../Sidebar/Sidebar.js';import {GlobalHeader}from'../GlobalHeader/Header.js';import {Outlet}from'@remix-run/react';import warning from'warning';import {omit}from'lodash-es';import {SettingDrawer}from'../../SettingDrawer/SettingDrawer.js';import {defaultSettings,useComponentSize,getMenuSeparation,getThemeColors}from'@admin-layout/client';import isBrowser from'../../../utils/isBrowser/index.js';import {getPageTitleInfo}from'../getPageTitle.js';import {useTheme}from'../../ThemeProvider/ThemeProvider.js';import {MainHeader}from'../GlobalHeader/MainHeader.js';import'../GlobalHeader/Logo.js';import'react-router';import'../../../helpers/DynamicIcon.js';import'@app/dialog/WrappedDialogsSwitch';import'@common-stack/components-pro';import {FooterSlot}from'../slot-fill/Footer.js';import'reflect-metadata';import'@admin-layout/client/lib/constants/layout.js';import {config}from'../../../config/env-config.js';const useHorizontalScroll = ({
|
|
3
2
|
setScrolled,
|
|
4
3
|
setSearchOptionsShown,
|
|
5
|
-
onScrollReachEnd
|
|
6
|
-
settings,
|
|
7
|
-
onSettingChange
|
|
4
|
+
onScrollReachEnd
|
|
8
5
|
}) => {
|
|
9
6
|
const elRef = useRef();
|
|
10
7
|
useEffect(() => {
|
|
@@ -14,37 +11,11 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'
|
|
|
14
11
|
if (e.deltaY == 0) return;
|
|
15
12
|
e.preventDefault();
|
|
16
13
|
setSearchOptionsShown(false);
|
|
17
|
-
if (
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
...settings,
|
|
23
|
-
regions: {
|
|
24
|
-
...settings.regions,
|
|
25
|
-
searchBarRender: true
|
|
26
|
-
}
|
|
27
|
-
});
|
|
28
|
-
}
|
|
29
|
-
if (window.scrollY < 25) {
|
|
30
|
-
setScrolled(false);
|
|
31
|
-
// Hide search bar when scrolling back to top
|
|
32
|
-
onSettingChange({
|
|
33
|
-
...settings,
|
|
34
|
-
regions: {
|
|
35
|
-
...settings.regions,
|
|
36
|
-
searchBarRender: false
|
|
37
|
-
}
|
|
38
|
-
});
|
|
39
|
-
}
|
|
40
|
-
} else {
|
|
41
|
-
// For permanent search bar, just update scroll state
|
|
42
|
-
if (window.scrollY > 50) {
|
|
43
|
-
setScrolled(true);
|
|
44
|
-
}
|
|
45
|
-
if (window.scrollY < 25) {
|
|
46
|
-
setScrolled(false);
|
|
47
|
-
}
|
|
14
|
+
if (window.scrollY > 50) {
|
|
15
|
+
setScrolled(true);
|
|
16
|
+
}
|
|
17
|
+
if (window.scrollY < 25) {
|
|
18
|
+
setScrolled(false);
|
|
48
19
|
}
|
|
49
20
|
if (window.innerHeight + window.scrollY >= document.body.scrollHeight) {
|
|
50
21
|
onScrollReachEnd();
|
|
@@ -55,7 +26,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useState,useRef,useEffect}from'
|
|
|
55
26
|
window.removeEventListener('scroll', onWheel);
|
|
56
27
|
};
|
|
57
28
|
}
|
|
58
|
-
}, [
|
|
29
|
+
}, []);
|
|
59
30
|
return elRef;
|
|
60
31
|
};
|
|
61
32
|
const defaultPageTitleRender = (pageProps, props) => {
|
|
@@ -129,12 +100,9 @@ const BasicLayout = props => {
|
|
|
129
100
|
setScrollEnd(prevScrollEnd => !prevScrollEnd);
|
|
130
101
|
};
|
|
131
102
|
const horizontalScrollRef = useHorizontalScroll({
|
|
132
|
-
scrolled,
|
|
133
103
|
setScrolled,
|
|
134
104
|
setSearchOptionsShown,
|
|
135
|
-
onScrollReachEnd
|
|
136
|
-
settings,
|
|
137
|
-
onSettingChange
|
|
105
|
+
onScrollReachEnd
|
|
138
106
|
});
|
|
139
107
|
const defaultProps = omit({
|
|
140
108
|
...propsWithSettings
|
|
@@ -144,14 +112,14 @@ const BasicLayout = props => {
|
|
|
144
112
|
...defaultProps
|
|
145
113
|
}, propsWithSettings);
|
|
146
114
|
const settingRef = useRef(settings);
|
|
147
|
-
|
|
148
|
-
const {
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
115
|
+
settings?.regions?.scrollThreshold || 50;
|
|
116
|
+
// const { componentVisibility } = useScrollThreshold([
|
|
117
|
+
// {
|
|
118
|
+
// threshold: scrollThreshold,
|
|
119
|
+
// id: 'search-bar',
|
|
120
|
+
// useWindowScroll: true,
|
|
121
|
+
// },
|
|
122
|
+
// ]);
|
|
155
123
|
useEffect(() => {
|
|
156
124
|
// Only update if the primaryColor actually needs to change
|
|
157
125
|
if (settingRef.current?.primaryColor === '#3FA541C' && primaryColor !== '#3FA541C') {
|
|
@@ -220,8 +188,7 @@ const BasicLayout = props => {
|
|
|
220
188
|
searchOptionsShown: searchOptionsShown,
|
|
221
189
|
setSearchOptionsShown: setSearchOptionsShown,
|
|
222
190
|
authorities: authorities,
|
|
223
|
-
picture: picture
|
|
224
|
-
componentVisibility: componentVisibility
|
|
191
|
+
picture: picture
|
|
225
192
|
}), jsx(SettingDrawer, {
|
|
226
193
|
primaryColor: primaryColor,
|
|
227
194
|
settings: settings,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../../../src/components/Layout/BasicLayout/index.tsx"],"sourcesContent":[null],"names":[],"mappings":"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"}
|
|
@@ -10,7 +10,7 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useTranslation}from'react-i18ne
|
|
|
10
10
|
regions = {},
|
|
11
11
|
navTheme
|
|
12
12
|
} = settings || {};
|
|
13
|
-
const
|
|
13
|
+
const scrollThresholdConfig = JSON.parse(config.SCROLL_THRESHOLD);
|
|
14
14
|
const handleRegionChange = (key, value) => {
|
|
15
15
|
if (!changeSetting) return;
|
|
16
16
|
changeSetting('regions', {
|
|
@@ -138,26 +138,26 @@ import {jsxs,jsx}from'react/jsx-runtime';import {useTranslation}from'react-i18ne
|
|
|
138
138
|
style: {
|
|
139
139
|
color: navTheme === 'dark' ? '#ffff' : 'black'
|
|
140
140
|
},
|
|
141
|
-
children: [regions.scrollThreshold ||
|
|
141
|
+
children: [regions.scrollThreshold || scrollThresholdConfig.DEFAULT, "px"]
|
|
142
142
|
})]
|
|
143
143
|
}), jsxs("div", {
|
|
144
144
|
className: "relative",
|
|
145
145
|
children: [jsx("input", {
|
|
146
146
|
type: "range",
|
|
147
|
-
min:
|
|
148
|
-
max:
|
|
149
|
-
step:
|
|
150
|
-
value: regions.scrollThreshold ||
|
|
147
|
+
min: scrollThresholdConfig.MIN,
|
|
148
|
+
max: scrollThresholdConfig.MAX,
|
|
149
|
+
step: scrollThresholdConfig.STEP,
|
|
150
|
+
value: regions.scrollThreshold || scrollThresholdConfig.DEFAULT,
|
|
151
151
|
onChange: e => handleThresholdChange(parseInt(e.target.value)),
|
|
152
152
|
className: "w-full h-2 bg-gray-200 rounded-lg appearance-none cursor-pointer"
|
|
153
153
|
}), jsxs("div", {
|
|
154
154
|
className: "flex justify-between text-xs mt-2",
|
|
155
155
|
children: [jsxs("span", {
|
|
156
|
-
children: [
|
|
156
|
+
children: [scrollThresholdConfig.MIN, "px"]
|
|
157
157
|
}), jsxs("span", {
|
|
158
|
-
children: [
|
|
158
|
+
children: [scrollThresholdConfig.MAX / 2, "px"]
|
|
159
159
|
}), jsxs("span", {
|
|
160
|
-
children: [
|
|
160
|
+
children: [scrollThresholdConfig.MAX, "px"]
|
|
161
161
|
})]
|
|
162
162
|
})]
|
|
163
163
|
})]
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"RegionalSettings.js","sources":["../../../src/components/SettingDrawer/RegionalSettings.tsx"],"sourcesContent":[null],"names":[],"mappings":"mOAOwB,SAAA,gBAAgB,CAAC,KAA6B,EAAA;AAClE,EAAA,MAAA;IACA,QAAQ;IACR;MACM,KAAA;AAEN,EAAA,MAAA;AACI,IAAA;oBAA2B,CAAA,UAAA,CAAA;QAE3B;AACI,IAAA,OAAA,GAAA,EAAU;;AAEb,GAAA,GAAA,QAAE,IAAA,EAAA;AACP,EAAA,MAAE,
|
|
1
|
+
{"version":3,"file":"RegionalSettings.js","sources":["../../../src/components/SettingDrawer/RegionalSettings.tsx"],"sourcesContent":[null],"names":[],"mappings":"mOAOwB,SAAA,gBAAgB,CAAC,KAA6B,EAAA;AAClE,EAAA,MAAA;IACA,QAAQ;IACR;MACM,KAAA;AAEN,EAAA,MAAA;AACI,IAAA;oBAA2B,CAAA,UAAA,CAAA;QAE3B;AACI,IAAA,OAAA,GAAA,EAAU;;AAEb,GAAA,GAAA,QAAE,IAAA,EAAA;AACP,EAAA,MAAE,qBAAA,GAAA,IAAA,CAAA,KAAA,CAAA,MAAA,CAAA,gBAAA,CAAA;AAEF,EAAA,MAAA,kBAAmC,GAAA,CAAA,GAAA,EAAA,KAAA,KAAI;AACnC,IAAA,IAAA,CAAA,aAAkB,EAAA;iBAAS,CAAA,SAAA,EAAA;SAEd,OAAA;AACT,MAAA,CAAA,GAAA,GAAA;AACA,KAAA,CAAA;AACH,GAAA;AACL,EAAA,MAAE,6BAAA,GAAA,KAAA,IAAA;AAEF,IAAA,IAAA,CAAA,aAA2B,EAAA;AACvB,IAAA,aAAkB,CAAA,SAAA,EAAA;gBAAS;iCAEF,iBAAA,CAAA,SAAA,GAAA,iBAAA,CAAA;AACrB,KAAA,CAAA;AACA,GAAA;AACH,EAAA,MAAA,qBAAE,GAAA,KAAA,IAAA;AACP,IAAA,IAAE,CAAA,aAAA,EAAA;AAEF,IAAA,aACI,CAAA,SAAA,EAAA;AA0ER,MAAC,GAAA,OAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@admin-layout/tailwind-design-pro",
|
|
3
|
-
"version": "10.0.9-alpha.
|
|
3
|
+
"version": "10.0.9-alpha.45",
|
|
4
4
|
"description": "Sample core for higher packages to depend on",
|
|
5
5
|
"license": "ISC",
|
|
6
6
|
"author": "CDMBase LLC",
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
}
|
|
59
59
|
}
|
|
60
60
|
},
|
|
61
|
-
"gitHead": "
|
|
61
|
+
"gitHead": "cc117c37d680992e47398160de4fe42f0ff5ea18",
|
|
62
62
|
"typescript": {
|
|
63
63
|
"definition": "lib/index.d.ts"
|
|
64
64
|
}
|
|
@@ -1,60 +0,0 @@
|
|
|
1
|
-
import {useState,useRef,useCallback,useEffect}from'react';const throttle = (fn, wait = 100) => {
|
|
2
|
-
let time = Date.now();
|
|
3
|
-
return function (...args) {
|
|
4
|
-
if (time + wait - Date.now() < 0) {
|
|
5
|
-
fn(...args);
|
|
6
|
-
time = Date.now();
|
|
7
|
-
}
|
|
8
|
-
};
|
|
9
|
-
};
|
|
10
|
-
const useScrollThreshold = configs => {
|
|
11
|
-
const [componentVisibility, setComponentVisibility] = useState({});
|
|
12
|
-
const containerRef = useRef(null);
|
|
13
|
-
const visibilityRef = useRef({});
|
|
14
|
-
const updateVisibility = useCallback(scrollPosition => {
|
|
15
|
-
const newVisibility = {};
|
|
16
|
-
let hasChanges = false;
|
|
17
|
-
configs.forEach(({
|
|
18
|
-
threshold,
|
|
19
|
-
id
|
|
20
|
-
}) => {
|
|
21
|
-
const isVisible = scrollPosition >= threshold;
|
|
22
|
-
if (visibilityRef.current[id] !== isVisible) {
|
|
23
|
-
hasChanges = true;
|
|
24
|
-
}
|
|
25
|
-
newVisibility[id] = isVisible;
|
|
26
|
-
});
|
|
27
|
-
if (hasChanges) {
|
|
28
|
-
visibilityRef.current = newVisibility;
|
|
29
|
-
setComponentVisibility(newVisibility);
|
|
30
|
-
}
|
|
31
|
-
}, [configs]);
|
|
32
|
-
useEffect(() => {
|
|
33
|
-
const config = configs[0]; // Assuming we're only using one config for now
|
|
34
|
-
const useWindowScroll = config?.useWindowScroll ?? false;
|
|
35
|
-
const throttledUpdate = throttle(() => {
|
|
36
|
-
const scrollPosition = useWindowScroll ? window.scrollY : containerRef.current?.scrollTop ?? 0;
|
|
37
|
-
updateVisibility(scrollPosition);
|
|
38
|
-
}, 50);
|
|
39
|
-
const handleScroll = () => {
|
|
40
|
-
throttledUpdate();
|
|
41
|
-
};
|
|
42
|
-
if (useWindowScroll) {
|
|
43
|
-
window.addEventListener('scroll', handleScroll);
|
|
44
|
-
} else if (containerRef.current) {
|
|
45
|
-
containerRef.current.addEventListener('scroll', handleScroll);
|
|
46
|
-
}
|
|
47
|
-
updateVisibility(useWindowScroll ? window.scrollY : containerRef.current?.scrollTop ?? 0);
|
|
48
|
-
return () => {
|
|
49
|
-
if (useWindowScroll) {
|
|
50
|
-
window.removeEventListener('scroll', handleScroll);
|
|
51
|
-
} else if (containerRef.current) {
|
|
52
|
-
containerRef.current.removeEventListener('scroll', handleScroll);
|
|
53
|
-
}
|
|
54
|
-
};
|
|
55
|
-
}, [configs, updateVisibility]);
|
|
56
|
-
return {
|
|
57
|
-
containerRef,
|
|
58
|
-
componentVisibility
|
|
59
|
-
};
|
|
60
|
-
};export{useScrollThreshold};//# sourceMappingURL=useScrollThreshold.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"useScrollThreshold.js","sources":["../../src/hooks/useScrollThreshold.ts"],"sourcesContent":[null],"names":[],"mappings":"0DAQA,MAAM,QAAQ,GAAG,CAAC,EAAY,EAAE,IAAe,GAAA,GAAG,KAAI;AAClD,EAAA,IAAA,OAAW,IAAA,CAAA,GAAK,EAAG;SACZ,UAAA,OAAwB,EAAA;QAC3B,IAAI,GAAA,IAAO,GAAA,IAAO,CAAA,GAAI,EAAC,GAAK,CAAA,EAAA;AACxB,MAAA,EAAA,CAAA,GAAA,IAAG,CAAA;AACH,MAAA,IAAA,GAAA,IAAO,CAAA,GAAA,EAAI;;AAEnB,GAAA;AACJ,CAAC;AAEY,MAAA,kBAAkB,GAAG,OAAC,IAAoC;QAC7D,CAAA,mBAAoB,EAAA,sBAAwB,CAAA,WAAY,CAAA,EAA0B,CAAE;AAC1F,EAAA,MAAA,eAAqB,MAAA,CAAA,IAAuB,CAAA;AAC5C,EAAA,MAAA,gBAAsB,MAAA,CAAA,EAAgC,CAAA;AAEtD,EAAA,MAAA,mBAAyB,WAAA,CAAA,cACpB;UACS,aAAA,GAAA,EAAyC;QAC/C,UAAI,GAAA,KAAa;WAEV,CAAA,OAAQ,CAAA,CAAA;AACX,MAAA,SAAA;;;YAGA,SAAC,GAAA,cAAA,IAAA,SAAA;AACD,MAAA,IAAA,aAAA,CAAA,OAAiB,CAAG,iBAAU,EAAA;AAClC,QAAA,UAAG,GAAA,IAAA;;AAGC,MAAA,aAAA,CAAA,EAAA,CAAA,GAAc,SAAU;;QAE5B,UAAC,EAAA;AACL,MACA,aACF,CAAA,OAAA,GAAA,aAAA;MAEO,sBAAM,CAAA,aAAA,CAAA;;AAEX,GAAA,EAAA,CAAA,OAAA,CAAM;AAEN,EAAA,SAAA,CAAA,MAAqB;AACjB,IAAA,MAAA,MAAA;yBACgB,GAAA,MAAe,EAAA,eAAE,IAAA,KAAA;UACpC,eAAM,GAAA,QAAA,CAAA,MAAA;YAED,cAAY,GAAG,eAAK,GAAA,MAAA,CAAA,OAAA,GAAA,YAAA,CAAA,OAAA,EAAA,SAAA,IAAA,CAAA;AACtB,MAAA,gBAAA,CAAA,cAAkB,CAAA;AACtB,KAAA,EAAA,EAAC,CAAC;UAEE,YAAA,GAAA,MAAkB;AAClB,MAAA,eAAuB,EAAA;;AACpB,IAAA,IAAA,eAAgB,EAAA;YACnB,CAAY,yBAAS,EAAA,YAAyB,CAAA;WACjD,IAAA,YAAA,CAAA,OAAA,EAAA;AAED,MAAA,YAAA,CAAA,OAAgC,CAAA,gBAAG,CAAA,QAAc,EAAA,YAAG,CAAA;AAEpD;oBACQ,CAAA,eAAkB,GAAA,MAAA,CAAA,OAAA,GAAA,YAAA,CAAA,OAAA,EAAA,SAAA,IAAA,CAAA,CAAA;AAClB,IAAA,OAAA,MAAA;yBACH,EAAA;AAAM,QAAA,MAAA,CAAA,mBAAiB,CAAO,QAAE,EAAC,YAAA,CAAA;iBAClB,YAAC,QAAQ,EAAA;oBACxB,CAAA,OAAA,CAAA,mBAAA,CAAA,QAAA,EAAA,YAAA,CAAA;AACL;AACJ,KAAC;KAEM,CAAA,OAAA,EAAA,gBAAA,CAAA,CAAA;SACS;gBACO;;AAE3B,GAAE;"}
|