@wavemaker-ai/app-rn-runtime 12.0.2-rc.647771 → 12.1.0-rc.347
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/components/advanced/webview/webview.component.js +1 -1
- package/components/advanced/webview/webview.component.js.map +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js +1 -1
- package/components/basic/bottomsheet/bottomsheet.component.js.map +1 -1
- package/components/basic/label/label.component.js +2 -2
- package/components/basic/label/label.component.js.map +1 -1
- package/components/chart/bubble-chart/bubble-chart.component.js.map +1 -1
- package/components/container/tabs/tabheader/tabheader.component.js +10 -3
- package/components/container/tabs/tabheader/tabheader.component.js.map +1 -1
- package/components/data/form/form-field/form-field.component.js +5 -0
- package/components/data/form/form-field/form-field.component.js.map +1 -1
- package/components/data/form/form.component.js +12 -8
- package/components/data/form/form.component.js.map +1 -1
- package/components/data/list/list.component.js +5 -2
- package/components/data/list/list.component.js.map +1 -1
- package/components/dialogs/dialog/dialog.component.js +1 -1
- package/components/dialogs/dialog/dialog.component.js.map +1 -1
- package/components/input/chips/chips.component.js +1 -1
- package/components/input/chips/chips.component.js.map +1 -1
- package/components/input/chips/chips.props.js +1 -0
- package/components/input/chips/chips.props.js.map +1 -1
- package/components/input/textarea/textarea.component.js +1 -1
- package/components/input/textarea/textarea.component.js.map +1 -1
- package/components/page/page-content/page-content.component.js +152 -17
- package/components/page/page-content/page-content.component.js.map +1 -1
- package/components/page/page-content/page-content.props.js +5 -0
- package/components/page/page-content/page-content.props.js.map +1 -1
- package/components/page/page-content/pull-to-refresh.component.js +288 -0
- package/components/page/page-content/pull-to-refresh.component.js.map +1 -0
- package/core/AppConfig.js.map +1 -1
- package/core/base.component.js +14 -0
- package/core/base.component.js.map +1 -1
- package/core/sticky-wrapper.js +37 -34
- package/core/sticky-wrapper.js.map +1 -1
- package/gestures/carousel-swipe.animation.js +1 -0
- package/gestures/carousel-swipe.animation.js.map +1 -1
- package/npm-shrinkwrap.json +1285 -570
- package/package-lock.json +1285 -570
- package/package.json +3 -3
- package/runtime/App.js +52 -36
- package/runtime/App.js.map +1 -1
- package/runtime/App.navigator.js +4 -1
- package/runtime/App.navigator.js.map +1 -1
- package/runtime/base-fragment.component.js +1 -0
- package/runtime/base-fragment.component.js.map +1 -1
- package/runtime/services/app-security.service.js +40 -19
- package/runtime/services/app-security.service.js.map +1 -1
- package/runtime/services/browser.constants.js +3 -0
- package/runtime/services/browser.constants.js.map +1 -0
- package/runtime/services/browser.service.js +321 -0
- package/runtime/services/browser.service.js.map +1 -0
- package/runtime/services/external-auth-callback.service.js +44 -0
- package/runtime/services/external-auth-callback.service.js.map +1 -0
- package/runtime/services/webprocess.service.js +8 -3
- package/runtime/services/webprocess.service.js.map +1 -1
- package/styles/background.component.js +61 -2
- package/styles/background.component.js.map +1 -1
- package/styles/style-prop.validator.js +4 -0
- package/styles/style-prop.validator.js.map +1 -1
- package/styles/style-props.js +2 -0
- package/styles/style-props.js.map +1 -1
- package/styles/theme.js +52 -11
- package/styles/theme.js.map +1 -1
- package/components-prism/basic/search/search.component.js +0 -208
- package/components-prism/basic/search/search.component.js.map +0 -1
- package/components-prism/basic/search/search.props.js +0 -16
- package/components-prism/basic/search/search.props.js.map +0 -1
- package/components-prism/basic/search/search.styles.js +0 -127
- package/components-prism/basic/search/search.styles.js.map +0 -1
- package/core/outside-press-handler.js +0 -65
- package/core/outside-press-handler.js.map +0 -1
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }
|
|
2
|
-
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
|
-
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
|
-
import WmSearchPropsBase from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.props';
|
|
5
|
-
export default class WmSearchProps extends WmSearchPropsBase {
|
|
6
|
-
constructor(...args) {
|
|
7
|
-
super(...args);
|
|
8
|
-
_defineProperty(this, "leadingiconclass", void 0);
|
|
9
|
-
_defineProperty(this, "leadingiconurl", void 0);
|
|
10
|
-
_defineProperty(this, "backsearchiconclass", void 0);
|
|
11
|
-
_defineProperty(this, "backsearchiconurl", void 0);
|
|
12
|
-
_defineProperty(this, "scrollablesearchresults", true);
|
|
13
|
-
_defineProperty(this, "noresultsfoundmessage", 'No results found');
|
|
14
|
-
}
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=search.props.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["WmSearchPropsBase","WmSearchProps","constructor","args","_defineProperty"],"sources":["search.props.ts"],"sourcesContent":["import WmSearchPropsBase from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.props';\n\nexport default class WmSearchProps extends WmSearchPropsBase {\n leadingiconclass?: string;\n leadingiconurl?: string;\n backsearchiconclass?: string;\n backsearchiconurl?: string;\n scrollablesearchresults?: boolean = true;\n noresultsfoundmessage?: string = 'No results found';\n}\n"],"mappings":";;;AAAA,OAAOA,iBAAiB,MAAM,mEAAmE;AAEjG,eAAe,MAAMC,aAAa,SAASD,iBAAiB,CAAC;EAAAE,YAAA,GAAAC,IAAA;IAAA,SAAAA,IAAA;IAAAC,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA;IAAAA,eAAA,kCAKvB,IAAI;IAAAA,eAAA,gCACP,kBAAkB;EAAA;AACrD","ignoreList":[]}
|
|
@@ -1,127 +0,0 @@
|
|
|
1
|
-
import '@wavemaker-ai/app-rn-runtime/components/basic/search/search.styles';
|
|
2
|
-
import { Platform } from 'react-native';
|
|
3
|
-
import BASE_THEME from '@wavemaker-ai/app-rn-runtime/styles/theme';
|
|
4
|
-
import { defineStyles } from '@wavemaker-ai/app-rn-runtime/core/base.component';
|
|
5
|
-
export const DEFAULT_CLASS = 'app-search';
|
|
6
|
-
const M3_ICON_TOUCH_SIZE = 48;
|
|
7
|
-
const M3_ICON_SIZE = 24;
|
|
8
|
-
const M3_DROPDOWN_MAX_HEIGHT = 320;
|
|
9
|
-
const m3Elevation1 = Platform.select({
|
|
10
|
-
ios: {
|
|
11
|
-
shadowColor: '#000',
|
|
12
|
-
shadowOffset: {
|
|
13
|
-
width: 0,
|
|
14
|
-
height: 1
|
|
15
|
-
},
|
|
16
|
-
shadowOpacity: 0.15,
|
|
17
|
-
shadowRadius: 3
|
|
18
|
-
},
|
|
19
|
-
android: {
|
|
20
|
-
elevation: 1
|
|
21
|
-
},
|
|
22
|
-
default: {}
|
|
23
|
-
});
|
|
24
|
-
const m3Elevation2 = Platform.select({
|
|
25
|
-
ios: {
|
|
26
|
-
shadowColor: '#000',
|
|
27
|
-
shadowOffset: {
|
|
28
|
-
width: 0,
|
|
29
|
-
height: 2
|
|
30
|
-
},
|
|
31
|
-
shadowOpacity: 0.15,
|
|
32
|
-
shadowRadius: 6
|
|
33
|
-
},
|
|
34
|
-
android: {
|
|
35
|
-
elevation: 3
|
|
36
|
-
},
|
|
37
|
-
default: {}
|
|
38
|
-
});
|
|
39
|
-
BASE_THEME.registerStyle((themeVariables, addStyle) => {
|
|
40
|
-
const prismSearchLayout = defineStyles({
|
|
41
|
-
rootWrapper: {
|
|
42
|
-
position: 'relative'
|
|
43
|
-
},
|
|
44
|
-
rootWrapperDropdownOpen: {
|
|
45
|
-
zIndex: 10
|
|
46
|
-
},
|
|
47
|
-
root: {
|
|
48
|
-
...m3Elevation1
|
|
49
|
-
},
|
|
50
|
-
text: {},
|
|
51
|
-
inputWeb: {
|
|
52
|
-
outline: 'none',
|
|
53
|
-
boxShadow: 'none'
|
|
54
|
-
},
|
|
55
|
-
leadingIcon: {
|
|
56
|
-
root: {
|
|
57
|
-
width: M3_ICON_TOUCH_SIZE,
|
|
58
|
-
height: M3_ICON_TOUCH_SIZE,
|
|
59
|
-
justifyContent: 'center',
|
|
60
|
-
alignItems: 'center'
|
|
61
|
-
},
|
|
62
|
-
icon: {
|
|
63
|
-
fontSize: M3_ICON_SIZE
|
|
64
|
-
},
|
|
65
|
-
text: {}
|
|
66
|
-
},
|
|
67
|
-
trailingIcon: {
|
|
68
|
-
root: {
|
|
69
|
-
width: M3_ICON_TOUCH_SIZE,
|
|
70
|
-
height: M3_ICON_TOUCH_SIZE,
|
|
71
|
-
justifyContent: 'center',
|
|
72
|
-
alignItems: 'center'
|
|
73
|
-
},
|
|
74
|
-
icon: {
|
|
75
|
-
fontSize: M3_ICON_SIZE
|
|
76
|
-
},
|
|
77
|
-
text: {}
|
|
78
|
-
},
|
|
79
|
-
inputWithLeadingIcon: {
|
|
80
|
-
paddingLeft: 52
|
|
81
|
-
},
|
|
82
|
-
inputWithTrailingIcon: {
|
|
83
|
-
paddingRight: 52
|
|
84
|
-
},
|
|
85
|
-
iconWrapper: {
|
|
86
|
-
position: 'absolute',
|
|
87
|
-
top: 0,
|
|
88
|
-
bottom: 0,
|
|
89
|
-
justifyContent: 'center',
|
|
90
|
-
pointerEvents: 'box-none'
|
|
91
|
-
},
|
|
92
|
-
modalContent: {
|
|
93
|
-
position: 'absolute'
|
|
94
|
-
},
|
|
95
|
-
dropdownContainer: {
|
|
96
|
-
position: 'absolute',
|
|
97
|
-
left: 0,
|
|
98
|
-
zIndex: 999,
|
|
99
|
-
maxHeight: M3_DROPDOWN_MAX_HEIGHT,
|
|
100
|
-
overflow: 'hidden',
|
|
101
|
-
...m3Elevation2,
|
|
102
|
-
...(Platform.OS === 'android' ? {
|
|
103
|
-
elevation: 8
|
|
104
|
-
} : {})
|
|
105
|
-
},
|
|
106
|
-
searchItem: {
|
|
107
|
-
flexDirection: 'row',
|
|
108
|
-
alignItems: 'center',
|
|
109
|
-
gap: 12
|
|
110
|
-
}
|
|
111
|
-
});
|
|
112
|
-
addStyle(DEFAULT_CLASS, '', prismSearchLayout);
|
|
113
|
-
addStyle(DEFAULT_CLASS + '-disabled', '', {
|
|
114
|
-
root: {
|
|
115
|
-
opacity: 0.38
|
|
116
|
-
}
|
|
117
|
-
});
|
|
118
|
-
addStyle(DEFAULT_CLASS + '-rtl', '', {
|
|
119
|
-
root: {
|
|
120
|
-
flexDirection: 'row-reverse'
|
|
121
|
-
},
|
|
122
|
-
searchItem: {
|
|
123
|
-
flexDirection: 'row-reverse'
|
|
124
|
-
}
|
|
125
|
-
});
|
|
126
|
-
});
|
|
127
|
-
//# sourceMappingURL=search.styles.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["Platform","BASE_THEME","defineStyles","DEFAULT_CLASS","M3_ICON_TOUCH_SIZE","M3_ICON_SIZE","M3_DROPDOWN_MAX_HEIGHT","m3Elevation1","select","ios","shadowColor","shadowOffset","width","height","shadowOpacity","shadowRadius","android","elevation","default","m3Elevation2","registerStyle","themeVariables","addStyle","prismSearchLayout","rootWrapper","position","rootWrapperDropdownOpen","zIndex","root","text","inputWeb","outline","boxShadow","leadingIcon","justifyContent","alignItems","icon","fontSize","trailingIcon","inputWithLeadingIcon","paddingLeft","inputWithTrailingIcon","paddingRight","iconWrapper","top","bottom","pointerEvents","modalContent","dropdownContainer","left","maxHeight","overflow","OS","searchItem","flexDirection","gap","opacity"],"sources":["search.styles.ts"],"sourcesContent":["import '@wavemaker-ai/app-rn-runtime/components/basic/search/search.styles';\n\nimport { Platform } from 'react-native';\nimport BASE_THEME, {\n AllStyle,\n} from '@wavemaker-ai/app-rn-runtime/styles/theme';\nimport { defineStyles } from '@wavemaker-ai/app-rn-runtime/core/base.component';\nimport { WmIconStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/icon/icon.styles';\nimport { WmSearchStyles } from '@wavemaker-ai/app-rn-runtime/components/basic/search/search.styles';\n\nexport type WmSearchPrismStyles = WmSearchStyles & {\n inputWeb: AllStyle;\n leadingIcon: WmIconStyles;\n trailingIcon: WmIconStyles;\n iconWrapper: AllStyle;\n inputWithLeadingIcon: AllStyle;\n inputWithTrailingIcon: AllStyle;\n dropdownContainer: AllStyle;\n rootWrapperDropdownOpen: AllStyle;\n rootWrapper: AllStyle;\n};\n\nexport const DEFAULT_CLASS = 'app-search';\n\nconst M3_ICON_TOUCH_SIZE = 48;\nconst M3_ICON_SIZE = 24;\nconst M3_DROPDOWN_MAX_HEIGHT = 320;\n\nconst m3Elevation1 = Platform.select({\n ios: {\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 1 },\n shadowOpacity: 0.15,\n shadowRadius: 3,\n },\n android: { elevation: 1 },\n default: {},\n}) as AllStyle;\n\nconst m3Elevation2 = Platform.select({\n ios: {\n shadowColor: '#000',\n shadowOffset: { width: 0, height: 2 },\n shadowOpacity: 0.15,\n shadowRadius: 6,\n },\n android: { elevation: 3 },\n default: {},\n}) as AllStyle;\n\nBASE_THEME.registerStyle((themeVariables, addStyle) => {\n const prismSearchLayout = defineStyles({\n rootWrapper: {\n position: 'relative',\n },\n rootWrapperDropdownOpen: {\n zIndex: 10,\n },\n root: {\n ...m3Elevation1,\n },\n text: {},\n inputWeb: {\n outline: 'none',\n boxShadow: 'none',\n },\n leadingIcon: {\n root: {\n width: M3_ICON_TOUCH_SIZE,\n height: M3_ICON_TOUCH_SIZE,\n justifyContent: 'center',\n alignItems: 'center',\n },\n icon: { fontSize: M3_ICON_SIZE },\n text: {},\n } as WmIconStyles,\n trailingIcon: {\n root: {\n width: M3_ICON_TOUCH_SIZE,\n height: M3_ICON_TOUCH_SIZE,\n justifyContent: 'center',\n alignItems: 'center',\n },\n icon: { fontSize: M3_ICON_SIZE },\n text: {},\n } as WmIconStyles,\n inputWithLeadingIcon: {\n paddingLeft: 52,\n },\n inputWithTrailingIcon: {\n paddingRight: 52,\n },\n iconWrapper: {\n position: 'absolute',\n top: 0,\n bottom: 0,\n justifyContent: 'center',\n pointerEvents: 'box-none',\n },\n modalContent: {\n position: 'absolute',\n },\n dropdownContainer: {\n position: 'absolute',\n left: 0,\n zIndex: 999,\n maxHeight: M3_DROPDOWN_MAX_HEIGHT,\n overflow: 'hidden',\n ...m3Elevation2,\n ...(Platform.OS === 'android' ? { elevation: 8 } : {}),\n },\n searchItem: {\n flexDirection: 'row',\n alignItems: 'center',\n gap: 12,\n },\n }) as any;\n\n addStyle(DEFAULT_CLASS, '', prismSearchLayout);\n\n addStyle(DEFAULT_CLASS + '-disabled', '', {\n root: {\n opacity: 0.38,\n },\n });\n\n addStyle(DEFAULT_CLASS + '-rtl', '', {\n root: {\n flexDirection: 'row-reverse',\n },\n searchItem: {\n flexDirection: 'row-reverse',\n },\n });\n});\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,65 +0,0 @@
|
|
|
1
|
-
import React, { useEffect, useRef } from 'react';
|
|
2
|
-
import { Dimensions, Platform, StyleSheet, View } from 'react-native';
|
|
3
|
-
const WebOutsidePressHandler = ({
|
|
4
|
-
onOutsidePress,
|
|
5
|
-
children,
|
|
6
|
-
disabled = false,
|
|
7
|
-
style
|
|
8
|
-
}) => {
|
|
9
|
-
const containerRef = useRef(null);
|
|
10
|
-
useEffect(() => {
|
|
11
|
-
if (disabled) return;
|
|
12
|
-
const doc = globalThis.document;
|
|
13
|
-
if (!doc) return;
|
|
14
|
-
const handlePress = event => {
|
|
15
|
-
var _containerRef$current;
|
|
16
|
-
if (!((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(event.target))) {
|
|
17
|
-
onOutsidePress();
|
|
18
|
-
}
|
|
19
|
-
};
|
|
20
|
-
doc.addEventListener('mousedown', handlePress);
|
|
21
|
-
return () => doc.removeEventListener('mousedown', handlePress);
|
|
22
|
-
}, [onOutsidePress, disabled]);
|
|
23
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
24
|
-
ref: containerRef,
|
|
25
|
-
style: style
|
|
26
|
-
}, children);
|
|
27
|
-
};
|
|
28
|
-
const NativeOutsidePressHandler = ({
|
|
29
|
-
onOutsidePress,
|
|
30
|
-
children,
|
|
31
|
-
disabled = false,
|
|
32
|
-
style
|
|
33
|
-
}) => {
|
|
34
|
-
return /*#__PURE__*/React.createElement(View, {
|
|
35
|
-
style: [styles.container, style]
|
|
36
|
-
}, !disabled && /*#__PURE__*/React.createElement(View, {
|
|
37
|
-
style: styles.backdrop,
|
|
38
|
-
onStartShouldSetResponder: () => true,
|
|
39
|
-
onResponderEnd: () => onOutsidePress()
|
|
40
|
-
}), /*#__PURE__*/React.createElement(View, {
|
|
41
|
-
style: styles.content
|
|
42
|
-
}, children));
|
|
43
|
-
};
|
|
44
|
-
const {
|
|
45
|
-
width: SCREEN_W,
|
|
46
|
-
height: SCREEN_H
|
|
47
|
-
} = Dimensions.get('screen');
|
|
48
|
-
const styles = StyleSheet.create({
|
|
49
|
-
container: {
|
|
50
|
-
overflow: 'visible'
|
|
51
|
-
},
|
|
52
|
-
backdrop: {
|
|
53
|
-
position: 'absolute',
|
|
54
|
-
top: -SCREEN_H * 3,
|
|
55
|
-
left: -SCREEN_W * 3,
|
|
56
|
-
width: SCREEN_W * 7,
|
|
57
|
-
height: SCREEN_H * 7
|
|
58
|
-
},
|
|
59
|
-
content: {
|
|
60
|
-
zIndex: 1
|
|
61
|
-
}
|
|
62
|
-
});
|
|
63
|
-
const OutsidePressHandler = Platform.OS === 'web' ? WebOutsidePressHandler : NativeOutsidePressHandler;
|
|
64
|
-
export default OutsidePressHandler;
|
|
65
|
-
//# sourceMappingURL=outside-press-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["React","useEffect","useRef","Dimensions","Platform","StyleSheet","View","WebOutsidePressHandler","onOutsidePress","children","disabled","style","containerRef","doc","globalThis","document","handlePress","event","_containerRef$current","current","contains","target","addEventListener","removeEventListener","createElement","ref","NativeOutsidePressHandler","styles","container","backdrop","onStartShouldSetResponder","onResponderEnd","content","width","SCREEN_W","height","SCREEN_H","get","create","overflow","position","top","left","zIndex","OutsidePressHandler","OS"],"sources":["outside-press-handler.tsx"],"sourcesContent":["import React, { useEffect, useRef } from 'react';\nimport { Dimensions, Platform, StyleSheet, View } from 'react-native';\n\ntype OutsidePressHandlerProps = {\n onOutsidePress: () => void;\n children: React.ReactNode;\n disabled?: boolean;\n style?: any;\n};\n\nconst WebOutsidePressHandler = ({\n onOutsidePress,\n children,\n disabled = false,\n style,\n}: OutsidePressHandlerProps) => {\n const containerRef = useRef<View>(null);\n\n useEffect(() => {\n if (disabled) return;\n\n const doc = (globalThis as any).document;\n if (!doc) return;\n\n const handlePress = (event: any) => {\n if (!(containerRef.current as any)?.contains(event.target)) {\n onOutsidePress();\n }\n };\n\n doc.addEventListener('mousedown', handlePress);\n return () => doc.removeEventListener('mousedown', handlePress);\n }, [onOutsidePress, disabled]);\n\n return (\n <View ref={containerRef} style={style}>\n {children}\n </View>\n );\n};\n\nconst NativeOutsidePressHandler = ({\n onOutsidePress,\n children,\n disabled = false,\n style,\n}: OutsidePressHandlerProps) => {\n return (\n <View style={[styles.container, style]}>\n {!disabled && (\n <View\n style={styles.backdrop}\n onStartShouldSetResponder={() => true}\n onResponderEnd={() => onOutsidePress()}\n />\n )}\n <View style={styles.content}>\n {children}\n </View>\n </View>\n );\n};\n\nconst { width: SCREEN_W, height: SCREEN_H } = Dimensions.get('screen');\n\nconst styles = StyleSheet.create({\n container: {\n overflow: 'visible',\n } as any,\n backdrop: {\n position: 'absolute',\n top: -SCREEN_H * 3,\n left: -SCREEN_W * 3,\n width: SCREEN_W * 7,\n height: SCREEN_H * 7,\n },\n content: {\n zIndex: 1,\n },\n});\n\nconst OutsidePressHandler: React.FC<OutsidePressHandlerProps> =\n Platform.OS === 'web' ? WebOutsidePressHandler : NativeOutsidePressHandler;\n\nexport default OutsidePressHandler;\n"],"mappings":"AAAA,OAAOA,KAAK,IAAIC,SAAS,EAAEC,MAAM,QAAQ,OAAO;AAChD,SAASC,UAAU,EAAEC,QAAQ,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AASrE,MAAMC,sBAAsB,GAAGA,CAAC;EAC9BC,cAAc;EACdC,QAAQ;EACRC,QAAQ,GAAG,KAAK;EAChBC;AACwB,CAAC,KAAK;EAC9B,MAAMC,YAAY,GAAGV,MAAM,CAAO,IAAI,CAAC;EAEvCD,SAAS,CAAC,MAAM;IACd,IAAIS,QAAQ,EAAE;IAEd,MAAMG,GAAG,GAAIC,UAAU,CAASC,QAAQ;IACxC,IAAI,CAACF,GAAG,EAAE;IAEV,MAAMG,WAAW,GAAIC,KAAU,IAAK;MAAA,IAAAC,qBAAA;MAClC,IAAI,GAAAA,qBAAA,GAAEN,YAAY,CAACO,OAAO,cAAAD,qBAAA,eAArBA,qBAAA,CAA+BE,QAAQ,CAACH,KAAK,CAACI,MAAM,CAAC,GAAE;QAC1Db,cAAc,CAAC,CAAC;MAClB;IACF,CAAC;IAEDK,GAAG,CAACS,gBAAgB,CAAC,WAAW,EAAEN,WAAW,CAAC;IAC9C,OAAO,MAAMH,GAAG,CAACU,mBAAmB,CAAC,WAAW,EAAEP,WAAW,CAAC;EAChE,CAAC,EAAE,CAACR,cAAc,EAAEE,QAAQ,CAAC,CAAC;EAE9B,oBACEV,KAAA,CAAAwB,aAAA,CAAClB,IAAI;IAACmB,GAAG,EAAEb,YAAa;IAACD,KAAK,EAAEA;EAAM,GACnCF,QACG,CAAC;AAEX,CAAC;AAED,MAAMiB,yBAAyB,GAAGA,CAAC;EACjClB,cAAc;EACdC,QAAQ;EACRC,QAAQ,GAAG,KAAK;EAChBC;AACwB,CAAC,KAAK;EAC9B,oBACEX,KAAA,CAAAwB,aAAA,CAAClB,IAAI;IAACK,KAAK,EAAE,CAACgB,MAAM,CAACC,SAAS,EAAEjB,KAAK;EAAE,GACpC,CAACD,QAAQ,iBACRV,KAAA,CAAAwB,aAAA,CAAClB,IAAI;IACHK,KAAK,EAAEgB,MAAM,CAACE,QAAS;IACvBC,yBAAyB,EAAEA,CAAA,KAAM,IAAK;IACtCC,cAAc,EAAEA,CAAA,KAAMvB,cAAc,CAAC;EAAE,CACxC,CACF,eACDR,KAAA,CAAAwB,aAAA,CAAClB,IAAI;IAACK,KAAK,EAAEgB,MAAM,CAACK;EAAQ,GACzBvB,QACG,CACF,CAAC;AAEX,CAAC;AAED,MAAM;EAAEwB,KAAK,EAAEC,QAAQ;EAAEC,MAAM,EAAEC;AAAS,CAAC,GAAGjC,UAAU,CAACkC,GAAG,CAAC,QAAQ,CAAC;AAEtE,MAAMV,MAAM,GAAGtB,UAAU,CAACiC,MAAM,CAAC;EAC/BV,SAAS,EAAE;IACTW,QAAQ,EAAE;EACZ,CAAQ;EACRV,QAAQ,EAAE;IACRW,QAAQ,EAAE,UAAU;IACpBC,GAAG,EAAE,CAACL,QAAQ,GAAG,CAAC;IAClBM,IAAI,EAAE,CAACR,QAAQ,GAAG,CAAC;IACnBD,KAAK,EAAEC,QAAQ,GAAG,CAAC;IACnBC,MAAM,EAAEC,QAAQ,GAAG;EACrB,CAAC;EACDJ,OAAO,EAAE;IACPW,MAAM,EAAE;EACV;AACF,CAAC,CAAC;AAEF,MAAMC,mBAAuD,GAC3DxC,QAAQ,CAACyC,EAAE,KAAK,KAAK,GAAGtC,sBAAsB,GAAGmB,yBAAyB;AAE5E,eAAekB,mBAAmB","ignoreList":[]}
|