related-ui-components 2.7.5 → 2.7.7

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.
Files changed (35) hide show
  1. package/lib/module/app.js +17 -57
  2. package/lib/module/app.js.map +1 -1
  3. package/lib/module/components/CarouselCardStack/CarouselCardStack.js +99 -81
  4. package/lib/module/components/CarouselCardStack/CarouselCardStack.js.map +1 -1
  5. package/lib/module/components/TravelBooking/FlightSummary.js +219 -112
  6. package/lib/module/components/TravelBooking/FlightSummary.js.map +1 -1
  7. package/lib/module/components/TravelBooking/HotelSummary.js +168 -37
  8. package/lib/module/components/TravelBooking/HotelSummary.js.map +1 -1
  9. package/lib/module/components/TravelBooking/SummaryBar.js +239 -172
  10. package/lib/module/components/TravelBooking/SummaryBar.js.map +1 -1
  11. package/lib/module/components/TravelBooking/TravelBooking.js +407 -241
  12. package/lib/module/components/TravelBooking/TravelBooking.js.map +1 -1
  13. package/lib/module/components/TravelBooking/index.js +5 -4
  14. package/lib/module/components/TravelBooking/index.js.map +1 -1
  15. package/lib/typescript/src/app.d.ts.map +1 -1
  16. package/lib/typescript/src/components/CarouselCardStack/CarouselCardStack.d.ts.map +1 -1
  17. package/lib/typescript/src/components/TravelBooking/FlightSummary.d.ts +25 -11
  18. package/lib/typescript/src/components/TravelBooking/FlightSummary.d.ts.map +1 -1
  19. package/lib/typescript/src/components/TravelBooking/HotelSummary.d.ts +14 -0
  20. package/lib/typescript/src/components/TravelBooking/HotelSummary.d.ts.map +1 -1
  21. package/lib/typescript/src/components/TravelBooking/SummaryBar.d.ts +1 -16
  22. package/lib/typescript/src/components/TravelBooking/SummaryBar.d.ts.map +1 -1
  23. package/lib/typescript/src/components/TravelBooking/TravelBooking.d.ts +1 -83
  24. package/lib/typescript/src/components/TravelBooking/TravelBooking.d.ts.map +1 -1
  25. package/lib/typescript/src/components/TravelBooking/index.d.ts +0 -4
  26. package/lib/typescript/src/components/TravelBooking/index.d.ts.map +1 -1
  27. package/package.json +1 -1
  28. package/src/app.tsx +18 -39
  29. package/src/components/CarouselCardStack/CarouselCardStack.tsx +130 -120
  30. package/src/components/TravelBooking/FlightSummary.tsx +264 -164
  31. package/src/components/TravelBooking/HotelSummary.tsx +243 -76
  32. package/src/components/TravelBooking/SummaryBar.tsx +239 -239
  33. package/src/components/TravelBooking/TravelBooking.tsx +407 -407
  34. package/src/components/TravelBooking/index.ts +4 -4
  35. package/src/index.ts +1 -1
package/lib/module/app.js CHANGED
@@ -2,43 +2,20 @@
2
2
 
3
3
  import React, { useState } from "react";
4
4
  import { SafeAreaView, StyleSheet, StatusBar } from "react-native";
5
- // Adjust path as needed
5
+ import CarouselCardStack from "./components/CarouselCardStack/CarouselCardStack.js"; // Adjust path as needed
6
6
  import { GestureHandlerRootView } from "react-native-gesture-handler";
7
- import { RedemptionOption, SelaDealCard } from "./components/index.js";
8
7
  import { lightTheme, RelatedProvider, useTheme } from "./theme/index.js";
9
8
  import { BottomSheetStackProvider } from "./contexts/index.js";
10
9
  import { SafeAreaProvider } from "react-native-safe-area-context";
11
- import { Ionicons } from "@expo/vector-icons";
12
-
13
- // Sample data - replace with your actual image URLs
14
10
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
15
- const DUMMY_DATA = [{
16
- id: "1",
17
- image: "https://images.pexels.com/photos/3354648/pexels-photo-3354648.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
18
- title: "Mountain Lake"
19
- },
20
- // {
21
- // id: "2",
22
- // image:
23
- // "https://images.pexels.com/photos/163273/sunrise-speedboat-ocean-water-163273.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
24
- // title: "Sunset Cruise",
25
- // },
26
- {
27
- id: "3",
28
- image: "https://images.pexels.com/photos/1430677/pexels-photo-1430677.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
29
- title: "Ocean Horizon"
30
- }, {
31
- id: "4",
32
- image: "https://images.pexels.com/photos/2387793/pexels-photo-2387793.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
33
- title: "Forest Trail"
34
- }
35
- // {
36
- // id: "5",
37
- // image:
38
- // "https://images.pexels.com/photos/302804/pexels-photo-302804.jpeg?auto=compress&cs=tinysrgb&w=1260&h=750&dpr=1",
39
- // title: "City Lights",
40
- // },
41
- ];
11
+ const DUMMY_DATA = Array.from({
12
+ length: 10
13
+ }, (_, i) => ({
14
+ id: `image-${i + 1}`,
15
+ // Using a random query parameter ensures you get a different image for each ID
16
+ image: `https://picsum.photos/seed/picsum/400/600`,
17
+ title: `Image #${i + 1}`
18
+ }));
42
19
  const App = () => {
43
20
  const {
44
21
  theme
@@ -62,32 +39,15 @@ const App = () => {
62
39
  children: /*#__PURE__*/_jsxs(BottomSheetStackProvider, {
63
40
  children: [/*#__PURE__*/_jsx(StatusBar, {
64
41
  barStyle: "light-content"
65
- }), /*#__PURE__*/_jsxs(SafeAreaView, {
42
+ }), /*#__PURE__*/_jsx(SafeAreaView, {
66
43
  style: styles.appContainer,
67
- children: [/*#__PURE__*/_jsx(SelaDealCard, {
68
- variant: "horizontal",
69
- width: 300,
70
- height: 300,
71
- label: "discount",
72
- description: "HELLO",
73
- providerName: "Riva Club",
74
- price: "100",
75
- backgroundImage: require("./assets/images/namshi-banner.png")
76
- }), /*#__PURE__*/_jsx(RedemptionOption, {
77
- textContainerStyle: {
78
- flex: 1
79
- }
80
- // containerStyle={{ flex: 1, alignItems: "center" }}
81
- ,
82
- text: "hola",
83
- textStyle: {
84
- fontSize: 20
85
- },
86
- icon: /*#__PURE__*/_jsx(Ionicons, {
87
- name: "accessibility"
88
- }),
89
- orientation: "horizontal"
90
- })]
44
+ children: /*#__PURE__*/_jsx(CarouselCardStack, {
45
+ data: DUMMY_DATA
46
+ // backgroundColor="#333" // Set a background color for the component area
47
+ // onActiveIndexChange={(index) => {
48
+ // console.log("Active item index:", index);
49
+ // }}
50
+ })
91
51
  })]
92
52
  })
93
53
  })
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","SafeAreaView","StyleSheet","StatusBar","GestureHandlerRootView","RedemptionOption","SelaDealCard","lightTheme","RelatedProvider","useTheme","BottomSheetStackProvider","SafeAreaProvider","Ionicons","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DUMMY_DATA","id","image","title","App","theme","departureDate","setDepartureDate","undefined","returnDate","setReturnDate","progress","setProgress","handleAnimate","newProgress","Math","floor","random","children","style","flex","barStyle","styles","appContainer","variant","width","height","label","description","providerName","price","backgroundImage","require","textContainerStyle","text","textStyle","fontSize","icon","name","orientation","create","backgroundColor","justifyContent","alignItems"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","useState","SafeAreaView","StyleSheet","StatusBar","CarouselCardStack","GestureHandlerRootView","lightTheme","RelatedProvider","useTheme","BottomSheetStackProvider","SafeAreaProvider","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","DUMMY_DATA","Array","from","length","_","i","id","image","title","App","theme","departureDate","setDepartureDate","undefined","returnDate","setReturnDate","progress","setProgress","handleAnimate","newProgress","Math","floor","random","children","style","flex","barStyle","styles","appContainer","data","create","backgroundColor","justifyContent","alignItems"],"sourceRoot":"..\\..\\src","sources":["app.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAeC,QAAQ,QAAQ,OAAO;AAClD,SAASC,YAAY,EAAEC,UAAU,EAAEC,SAAS,QAAkC,cAAc;AAC5F,OAAOC,iBAAiB,MAAM,qDAAkD,CAAC,CAAC;AAClF,SAASC,sBAAsB,QAAQ,8BAA8B;AAarE,SAAoBC,UAAU,EAAEC,eAAe,EAAEC,QAAQ,QAAQ,kBAAS;AAG1E,SAASC,wBAAwB,QAAQ,qBAAY;AACrD,SAASC,gBAAgB,QAAQ,gCAAgC;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA,EAAAC,QAAA,IAAAC,SAAA;AAIlE,MAAMC,UAAU,GAAGC,KAAK,CAACC,IAAI,CAAC;EAAEC,MAAM,EAAE;AAAG,CAAC,EAAE,CAACC,CAAC,EAAEC,CAAC,MAAM;EACvDC,EAAE,EAAE,SAASD,CAAC,GAAG,CAAC,EAAE;EACpB;EACAE,KAAK,EAAE,2CAA2C;EAClDC,KAAK,EAAE,UAAUH,CAAC,GAAG,CAAC;AACxB,CAAC,CAAC,CAAC;AAEH,MAAMI,GAAG,GAAGA,CAAA,KAAM;EAChB,MAAM;IAAEC;EAAM,CAAC,GAAGnB,QAAQ,CAAC,CAAC;EAE5B,MAAM,CAACoB,aAAa,EAAEC,gBAAgB,CAAC,GAAG7B,QAAQ,CAChD8B,SACF,CAAC;EACD,MAAM,CAACC,UAAU,EAAEC,aAAa,CAAC,GAAGhC,QAAQ,CAAqB8B,SAAS,CAAC;EAE3E,MAAM,CAACG,QAAQ,EAAEC,WAAW,CAAC,GAAGlC,QAAQ,CAAC,EAAE,CAAC;EAC5C,MAAMmC,aAAa,GAAGA,CAAA,KAAM;IAC1B;IACA,MAAMC,WAAW,GAAGC,IAAI,CAACC,KAAK,CAACD,IAAI,CAACE,MAAM,CAAC,CAAC,GAAG,GAAG,CAAC;IACnDL,WAAW,CAACE,WAAW,CAAC;EAC1B,CAAC;EAED,oBACExB,IAAA,CAAAI,SAAA;IAAAwB,QAAA,eACE5B,IAAA,CAACF,gBAAgB;MAAA8B,QAAA,eACf5B,IAAA,CAACP,sBAAsB;QAACoC,KAAK,EAAE;UAAEC,IAAI,EAAE;QAAE,CAAE;QAAAF,QAAA,eACzC5B,IAAA,CAACL,eAAe;UAACoB,KAAK,EAAErB,UAAW;UAAAkC,QAAA,eACjC1B,KAAA,CAACL,wBAAwB;YAAA+B,QAAA,gBACvB5B,IAAA,CAACT,SAAS;cAACwC,QAAQ,EAAC;YAAe,CAAE,CAAC,eACtC/B,IAAA,CAACX,YAAY;cAACwC,KAAK,EAAEG,MAAM,CAACC,YAAa;cAAAL,QAAA,eACvC5B,IAAA,CAACR,iBAAiB;gBAChB0C,IAAI,EAAE7B;gBACN;gBACA;gBACA;gBACA;cAAA,CACD;YAAC,CAyEU,CAAC;UAAA,CACS;QAAC,CACZ;MAAC,CACI;IAAC,CACT;EAAC,CACnB,CAAC;AAEP,CAAC;AAED,MAAM2B,MAAM,GAAG1C,UAAU,CAAC6C,MAAM,CAAC;EAC/BF,YAAY,EAAE;IACZH,IAAI,EAAE,CAAC;IACPM,eAAe,EAAE,MAAM;IACvBC,cAAc,EAAE,QAAQ;IAAE;IAC1BC,UAAU,EAAC;EACb;AACF,CAAC,CAAC;AAEF,eAAexB,GAAG","ignoreList":[]}
@@ -23,12 +23,11 @@ const SPRING_CONFIG = {
23
23
  stiffness: 120,
24
24
  mass: 0.6
25
25
  };
26
- const FADE_SPRING_CONFIG = {
27
- damping: 35,
28
- stiffness: 50,
29
- mass: 1.2
30
- };
31
26
  const SIDE_CARD_ROTATION_DEGREES = 7;
27
+
28
+ // Only render visible items + buffer
29
+ const VISIBLE_RANGE = 2; // Items on each side of active item
30
+
32
31
  const createVirtualData = originalData => {
33
32
  if (!originalData || originalData.length === 0) return [];
34
33
  const prefixItems = (items, segmentPrefix) => items.map((item, idx) => ({
@@ -40,6 +39,75 @@ const createVirtualData = originalData => {
40
39
  const nextSegment = prefixItems(originalData, "next");
41
40
  return [...prevSegment, ...currSegment, ...nextSegment];
42
41
  };
42
+
43
+ // Memoized card component
44
+ const CarouselCard = /*#__PURE__*/React.memo(({
45
+ item,
46
+ index,
47
+ activeIndex,
48
+ gestureTranslateX,
49
+ cardWidth,
50
+ cardHeight,
51
+ virtualDataLength
52
+ }) => {
53
+ const animatedStyle = useAnimatedStyle(() => {
54
+ const currentCardDragOffset = gestureTranslateX.value / cardWidth;
55
+ const displayOffset = index - (activeIndex.value - currentCardDragOffset);
56
+
57
+ // Early return for items that are too far away to optimize performance
58
+ const absDisplayOffset = Math.abs(displayOffset);
59
+ if (absDisplayOffset > 2.5) {
60
+ return {
61
+ opacity: 0,
62
+ transform: [{
63
+ translateX: 0
64
+ }, {
65
+ scale: 0.8
66
+ }, {
67
+ rotateZ: '0deg'
68
+ }],
69
+ zIndex: 0
70
+ };
71
+ }
72
+ const scale = interpolate(displayOffset, [-1, 0, 1], [SIDE_CARD_SCALE_FACTOR, ACTIVE_CARD_SCALE, SIDE_CARD_SCALE_FACTOR], Extrapolation.CLAMP);
73
+ const translateX = interpolate(displayOffset, [-1, 0, 1], [-SIDE_CARD_TRANSLATE_X, 0, SIDE_CARD_TRANSLATE_X], Extrapolation.CLAMP);
74
+ const rotation = interpolate(displayOffset, [-1, 0, 1], [-SIDE_CARD_ROTATION_DEGREES, 0, SIDE_CARD_ROTATION_DEGREES], Extrapolation.CLAMP);
75
+ const opacity = interpolate(absDisplayOffset, [0, 1, 2, 2.75], [1, 1, 0.6, 0], Extrapolation.CLAMP);
76
+ const snappedDisplayOffset = index - Math.round(activeIndex.value);
77
+ const zIndex = virtualDataLength - Math.abs(snappedDisplayOffset);
78
+ return {
79
+ transform: [{
80
+ translateX
81
+ }, {
82
+ scale
83
+ }, {
84
+ rotateZ: `${rotation}deg`
85
+ }],
86
+ opacity,
87
+ zIndex
88
+ };
89
+ }, [index, cardWidth, virtualDataLength]);
90
+ return /*#__PURE__*/_jsxs(Animated.View, {
91
+ style: [styles.card, {
92
+ width: cardWidth,
93
+ height: cardHeight
94
+ }, animatedStyle],
95
+ children: [/*#__PURE__*/_jsx(Image, {
96
+ source: {
97
+ uri: item.image
98
+ },
99
+ style: styles.cardImage,
100
+ resizeMode: "cover",
101
+ fadeDuration: 0
102
+ }), item.title && /*#__PURE__*/_jsx(View, {
103
+ style: styles.titleContainer,
104
+ children: /*#__PURE__*/_jsx(Text, {
105
+ style: styles.cardTitle,
106
+ children: item.title
107
+ })
108
+ })]
109
+ });
110
+ });
43
111
  const CarouselCardStack = ({
44
112
  data: originalData,
45
113
  cardHeight = CARD_HEIGHT,
@@ -59,28 +127,19 @@ const CarouselCardStack = ({
59
127
  gestureTranslateX.value = 0;
60
128
  }, [N_original, activeIndex, gestureTranslateX]);
61
129
 
62
- // Worklet to handle the loop reset
63
- const handleLoopReset = () => {
64
- "worklet";
65
-
66
- if (N_original === 0) return;
67
- const currentValue = Math.round(activeIndex.value);
68
-
69
- // If in the "next" segment (indices >= 2*N_original)
70
- if (currentValue >= N_original * 2) {
71
- activeIndex.value = currentValue - N_original;
72
- }
73
- // If in the "prev" segment (indices < N_original)
74
- else if (currentValue < N_original) {
75
- activeIndex.value = currentValue + N_original;
76
- }
77
- };
130
+ // Calculate visible items - moved outside of render
131
+ const visibleItems = useDerivedValue(() => {
132
+ const center = Math.round(activeIndex.value);
133
+ const start = Math.max(0, center - VISIBLE_RANGE);
134
+ const end = Math.min(virtualData.length - 1, center + VISIBLE_RANGE);
135
+ return virtualData.slice(start, end + 1).map((item, sliceIndex) => ({
136
+ item,
137
+ originalIndex: start + sliceIndex
138
+ }));
139
+ });
78
140
  useDerivedValue(() => {
79
141
  const currentValue = Math.round(activeIndex.value);
80
-
81
- // Only reset if we're at the boundaries and not currently animating (gestureTranslateX is 0)
82
142
  if (gestureTranslateX.value === 0) {
83
- // i.e., spring animation for gesture has finished
84
143
  if (currentValue >= N_original * 2) {
85
144
  activeIndex.value = currentValue - N_original;
86
145
  } else if (currentValue < N_original) {
@@ -101,16 +160,8 @@ const CarouselCardStack = ({
101
160
  } else if (event.translationX > threshold) {
102
161
  newTargetVirtualIndex = activeIndex.value - 1;
103
162
  }
104
-
105
- // Clamp to virtual data bounds
106
163
  newTargetVirtualIndex = Math.max(0, Math.min(newTargetVirtualIndex, virtualData.length - 1));
107
- activeIndex.value = withSpring(newTargetVirtualIndex, SPRING_CONFIG, finished => {
108
- "worklet";
109
-
110
- if (finished) {
111
- handleLoopReset();
112
- }
113
- });
164
+ activeIndex.value = withSpring(newTargetVirtualIndex, SPRING_CONFIG);
114
165
  gestureTranslateX.value = withSpring(0, SPRING_CONFIG);
115
166
  contextX.value = 0;
116
167
  });
@@ -133,7 +184,7 @@ const CarouselCardStack = ({
133
184
  return /*#__PURE__*/_jsxs(View, {
134
185
  style: [styles.container, {
135
186
  height: cardHeight + 60,
136
- backgroundColor: backgroundColor
187
+ backgroundColor
137
188
  }],
138
189
  children: [/*#__PURE__*/_jsx(GestureDetector, {
139
190
  gesture: panGesture,
@@ -141,61 +192,28 @@ const CarouselCardStack = ({
141
192
  style: [styles.cardContainer, {
142
193
  height: cardHeight
143
194
  }],
144
- children: virtualData.map((item, index) => {
145
- const animatedStyle = useAnimatedStyle(() => {
146
- const currentCardDragOffset = gestureTranslateX.value / cardWidth;
147
- const displayOffset = index - (activeIndex.value - currentCardDragOffset);
148
- const scale = interpolate(displayOffset, [-1, 0, 1], [SIDE_CARD_SCALE_FACTOR, ACTIVE_CARD_SCALE, SIDE_CARD_SCALE_FACTOR], Extrapolation.CLAMP);
149
- const translateX = interpolate(displayOffset, [-1, 0, 1], [-SIDE_CARD_TRANSLATE_X, 0, SIDE_CARD_TRANSLATE_X], Extrapolation.CLAMP);
150
- const rotation = interpolate(displayOffset, [-1, 0, 1], [-SIDE_CARD_ROTATION_DEGREES, 0, SIDE_CARD_ROTATION_DEGREES], Extrapolation.CLAMP);
151
- const opacity = interpolate(Math.abs(displayOffset), [0, 1, 2, 2.75], [1, 1, 0.6, 0], Extrapolation.CLAMP);
152
- const snappedDisplayOffset = index - Math.round(activeIndex.value);
153
- const zIndex = virtualData.length - Math.abs(snappedDisplayOffset);
154
- return {
155
- transform: [{
156
- translateX
157
- }, {
158
- scale
159
- }, {
160
- rotateZ: `${rotation}deg`
161
- }],
162
- opacity,
163
- zIndex
164
- };
165
- });
166
- return /*#__PURE__*/_jsxs(Animated.View, {
167
- style: [styles.card, {
168
- width: cardWidth,
169
- height: cardHeight
170
- }, animatedStyle],
171
- children: [/*#__PURE__*/_jsx(Image, {
172
- source: {
173
- uri: item.image
174
- },
175
- style: styles.cardImage
176
- }), item.title && /*#__PURE__*/_jsx(View, {
177
- style: styles.titleContainer,
178
- children: /*#__PURE__*/_jsx(Text, {
179
- style: styles.cardTitle,
180
- children: item.title
181
- })
182
- })]
183
- }, item.uniqueId);
184
- })
195
+ children: virtualData.map((item, index) => /*#__PURE__*/_jsx(CarouselCard, {
196
+ item: item,
197
+ index: index,
198
+ activeIndex: activeIndex,
199
+ gestureTranslateX: gestureTranslateX,
200
+ cardWidth: cardWidth,
201
+ cardHeight: cardHeight,
202
+ virtualDataLength: virtualData.length
203
+ }, item.uniqueId))
185
204
  })
186
205
  }), N_original > 0 && /*#__PURE__*/_jsx(View, {
187
206
  style: styles.paginationContainer,
188
207
  children: originalData.map((_, i) => {
189
- const isActiveDot = useDerivedValue(() => {
190
- return activeDotIndex.value === i;
191
- });
192
208
  const dotStyle = useAnimatedStyle(() => {
209
+ const isActive = activeDotIndex.value === i;
193
210
  return {
194
- width: withSpring(isActiveDot.value ? 24 : 8, SPRING_CONFIG),
211
+ width: withSpring(isActive ? 24 : 8, SPRING_CONFIG),
195
212
  height: 8,
196
213
  borderRadius: 4,
197
- backgroundColor: isActiveDot.value ? theme.primary : "#FFFFFF",
198
- marginHorizontal: 4
214
+ backgroundColor: isActive ? theme.primary : "#FFFFFF",
215
+ marginHorizontal: 4,
216
+ opacity: isActive ? 1 : 0.5
199
217
  };
200
218
  });
201
219
  return /*#__PURE__*/_jsx(Animated.View, {
@@ -1 +1 @@
1
- {"version":3,"names":["React","useEffect","useMemo","View","StyleSheet","Image","Dimensions","Text","Gesture","GestureDetector","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolate","useDerivedValue","Extrapolation","useTheme","jsx","_jsx","jsxs","_jsxs","width","SCREEN_WIDTH","get","CARD_WIDTH_FACTOR","CARD_ASPECT_RATIO","SIDE_CARD_SCALE_FACTOR","CARD_WIDTH","CARD_HEIGHT","MAX_X_FACTOR","SIDE_CARD_TRANSLATE_X_FACTOR","Math","min","SIDE_CARD_TRANSLATE_X","ACTIVE_CARD_SCALE","SPRING_CONFIG","damping","stiffness","mass","FADE_SPRING_CONFIG","SIDE_CARD_ROTATION_DEGREES","createVirtualData","originalData","length","prefixItems","items","segmentPrefix","map","item","idx","uniqueId","id","prevSegment","currSegment","nextSegment","CarouselCardStack","data","cardHeight","cardWidth","backgroundColor","theme","N_original","virtualData","activeIndex","gestureTranslateX","contextX","value","handleLoopReset","currentValue","round","panGesture","Pan","activeOffsetX","onBegin","onUpdate","event","translationX","onEnd","threshold","newTargetVirtualIndex","max","finished","activeDotIndex","currentVal","style","styles","container","height","children","emptyText","gesture","cardContainer","index","animatedStyle","currentCardDragOffset","displayOffset","scale","CLAMP","translateX","rotation","opacity","abs","snappedDisplayOffset","zIndex","transform","rotateZ","card","source","uri","image","cardImage","title","titleContainer","cardTitle","paginationContainer","_","i","isActiveDot","dotStyle","borderRadius","primary","marginHorizontal","create","alignItems","justifyContent","position","overflow","resizeMode","bottom","left","right","padding","color","fontSize","fontWeight","flexDirection","marginTop","marginBottom"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CarouselCardStack/CarouselCardStack.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAcC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC3D,SAASC,IAAI,EAAEC,UAAU,EAAEC,KAAK,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACxE,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,WAAW,EAEXC,eAAe,EAEfC,aAAa,QACR,yBAAyB;AAChC,SAASC,QAAQ,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvC,MAAM;EAAEC,KAAK,EAAEC;AAAa,CAAC,GAAGjB,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC;AAExD,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,sBAAsB,GAAG,IAAI;AACnC,MAAMC,UAAU,GAAGL,YAAY,GAAGE,iBAAiB;AACnD,MAAMI,WAAW,GAAGD,UAAU,GAAGF,iBAAiB;AAClD,MAAMI,YAAY,GAAG,GAAG,GAAGL,iBAAiB,GAAGE,sBAAsB,GAAG,CAAC;AACzE,MAAMI,4BAA4B,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,EAAEH,YAAY,CAAC;AACjE,MAAMI,qBAAqB,GAAGN,UAAU,GAAGG,4BAA4B;AACvE,MAAMI,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,aAAa,GAAG;EAAEC,OAAO,EAAE,EAAE;EAAEC,SAAS,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAI,CAAC;AAChE,MAAMC,kBAAkB,GAAG;EAAEH,OAAO,EAAE,EAAE;EAAEC,SAAS,EAAE,EAAE;EAAEC,IAAI,EAAE;AAAI,CAAC;AACpE,MAAME,0BAA0B,GAAG,CAAC;AAmBpC,MAAMC,iBAAiB,GACrBC,YAAoC,IACV;EAC1B,IAAI,CAACA,YAAY,IAAIA,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAEzD,MAAMC,WAAW,GAAGA,CAClBC,KAA6B,EAC7BC,aAAqB,KAErBD,KAAK,CAACE,GAAG,CAAC,CAACC,IAAI,EAAEC,GAAG,MAAM;IACxB,GAAGD,IAAI;IACPE,QAAQ,EAAE,GAAGJ,aAAa,IAAIE,IAAI,CAACG,EAAE,IAAIF,GAAG;EAC9C,CAAC,CAAC,CAAC;EAEL,MAAMG,WAAW,GAAGR,WAAW,CAACF,YAAY,EAAE,MAAM,CAAC;EACrD,MAAMW,WAAW,GAAGT,WAAW,CAACF,YAAY,EAAE,MAAM,CAAC;EACrD,MAAMY,WAAW,GAAGV,WAAW,CAACF,YAAY,EAAE,MAAM,CAAC;EAErD,OAAO,CAAC,GAAGU,WAAW,EAAE,GAAGC,WAAW,EAAE,GAAGC,WAAW,CAAC;AACzD,CAAC;AAED,MAAMC,iBAAmD,GAAGA,CAAC;EAC3DC,IAAI,EAAEd,YAAY;EAClBe,UAAU,GAAG7B,WAAW;EACxB8B,SAAS,GAAG/B,UAAU;EACtBgC,eAAe,GAAG;AACpB,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAG5C,QAAQ,CAAC,CAAC;EAE5B,MAAM6C,UAAU,GAAGnB,YAAY,CAACC,MAAM;EAEtC,MAAMmB,WAAW,GAAG7D,OAAO,CACzB,MAAMwC,iBAAiB,CAACC,YAAY,CAAC,EACrC,CAACA,YAAY,CACf,CAAC;EAED,MAAMqB,WAAW,GAAGrD,cAAc,CAACmD,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAC,CAAC;EACnE,MAAMG,iBAAiB,GAAGtD,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMuD,QAAQ,GAAGvD,cAAc,CAAC,CAAC,CAAC;EAElCV,SAAS,CAAC,MAAM;IACd+D,WAAW,CAACG,KAAK,GAAGL,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAC;IACnDG,iBAAiB,CAACE,KAAK,GAAG,CAAC;EAC7B,CAAC,EAAE,CAACL,UAAU,EAAEE,WAAW,EAAEC,iBAAiB,CAAC,CAAC;;EAEhD;EACA,MAAMG,eAAe,GAAGA,CAAA,KAAM;IAC5B,SAAS;;IACT,IAAIN,UAAU,KAAK,CAAC,EAAE;IAEtB,MAAMO,YAAY,GAAGrC,IAAI,CAACsC,KAAK,CAACN,WAAW,CAACG,KAAK,CAAC;;IAElD;IACA,IAAIE,YAAY,IAAIP,UAAU,GAAG,CAAC,EAAE;MAClCE,WAAW,CAACG,KAAK,GAAGE,YAAY,GAAGP,UAAU;IAC/C;IACA;IAAA,KACK,IAAIO,YAAY,GAAGP,UAAU,EAAE;MAClCE,WAAW,CAACG,KAAK,GAAGE,YAAY,GAAGP,UAAU;IAC/C;EACF,CAAC;EAED/C,eAAe,CAAC,MAAM;IACtB,MAAMsD,YAAY,GAAGrC,IAAI,CAACsC,KAAK,CAACN,WAAW,CAACG,KAAK,CAAC;;IAElD;IACA,IAAIF,iBAAiB,CAACE,KAAK,KAAK,CAAC,EAAE;MAAE;MACnC,IAAIE,YAAY,IAAIP,UAAU,GAAG,CAAC,EAAE;QAClCE,WAAW,CAACG,KAAK,GAAGE,YAAY,GAAGP,UAAU;MAC/C,CAAC,MAAM,IAAIO,YAAY,GAAGP,UAAU,EAAE;QACpCE,WAAW,CAACG,KAAK,GAAGE,YAAY,GAAGP,UAAU;MAC/C;IACF;EACF,CAAC,CAAC;EAEA,MAAMS,UAAU,GAAG/D,OAAO,CAACgE,GAAG,CAAC,CAAC,CAC7BC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACxBC,OAAO,CAAC,MAAM;IACbR,QAAQ,CAACC,KAAK,GAAGF,iBAAiB,CAACE,KAAK;EAC1C,CAAC,CAAC,CACDQ,QAAQ,CAAEC,KAAK,IAAK;IACnBX,iBAAiB,CAACE,KAAK,GAAGS,KAAK,CAACC,YAAY;EAC9C,CAAC,CAAC,CACDC,KAAK,CAAEF,KAAK,IAAK;IAChB,IAAIb,WAAW,CAACnB,MAAM,KAAK,CAAC,EAAE;IAE9B,MAAMmC,SAAS,GAAGpB,SAAS,GAAG,CAAC;IAC/B,IAAIqB,qBAAqB,GAAGhB,WAAW,CAACG,KAAK;IAE7C,IAAIS,KAAK,CAACC,YAAY,GAAG,CAACE,SAAS,EAAE;MACnCC,qBAAqB,GAAGhB,WAAW,CAACG,KAAK,GAAG,CAAC;IAC/C,CAAC,MAAM,IAAIS,KAAK,CAACC,YAAY,GAAGE,SAAS,EAAE;MACzCC,qBAAqB,GAAGhB,WAAW,CAACG,KAAK,GAAG,CAAC;IAC/C;;IAEA;IACAa,qBAAqB,GAAGhD,IAAI,CAACiD,GAAG,CAC9B,CAAC,EACDjD,IAAI,CAACC,GAAG,CAAC+C,qBAAqB,EAAEjB,WAAW,CAACnB,MAAM,GAAG,CAAC,CACxD,CAAC;IAEDoB,WAAW,CAACG,KAAK,GAAGtD,UAAU,CAC5BmE,qBAAqB,EACrB5C,aAAa,EACZ8C,QAAQ,IAAK;MACZ,SAAS;;MACT,IAAIA,QAAQ,EAAE;QACZd,eAAe,CAAC,CAAC;MACnB;IACF,CACF,CAAC;IACDH,iBAAiB,CAACE,KAAK,GAAGtD,UAAU,CAAC,CAAC,EAAEuB,aAAa,CAAC;IACtD8B,QAAQ,CAACC,KAAK,GAAG,CAAC;EACpB,CAAC,CAAC;EAEJ,MAAMgB,cAAc,GAAGpE,eAAe,CAAC,MAAM;IAC3C,IAAI+C,UAAU,KAAK,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAMsB,UAAU,GAAGpD,IAAI,CAACsC,KAAK,CAACN,WAAW,CAACG,KAAK,CAAC;IAChD,OAAO,CAAEiB,UAAU,GAAGtB,UAAU,GAAIA,UAAU,IAAIA,UAAU;EAC9D,CAAC,CAAC;EAEF,IAAIC,WAAW,CAACnB,MAAM,KAAK,CAAC,EAAE;IAC5B,oBACEzB,IAAA,CAAChB,IAAI;MAACkF,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;QAAEC,MAAM,EAAE9B,UAAU,GAAG;MAAG,CAAC,CAAE;MAAA+B,QAAA,eAC3DtE,IAAA,CAACZ,IAAI;QAAC8E,KAAK,EAAEC,MAAM,CAACI,SAAU;QAAAD,QAAA,EAAC;MAAmB,CAAM;IAAC,CACrD,CAAC;EAEX;EAEA,oBACEpE,KAAA,CAAClB,IAAI;IAACkF,KAAK,EAAE,CAACC,MAAM,CAACC,SAAS,EAAE;MAAEC,MAAM,EAAE9B,UAAU,GAAG,EAAE;MAAEE,eAAe,EAAEA;IAAe,CAAC,CAAE;IAAA6B,QAAA,gBAC5FtE,IAAA,CAACV,eAAe;MAACkF,OAAO,EAAEpB,UAAW;MAAAkB,QAAA,eACnCtE,IAAA,CAACT,QAAQ,CAACP,IAAI;QAACkF,KAAK,EAAE,CAACC,MAAM,CAACM,aAAa,EAAE;UAAEJ,MAAM,EAAE9B;QAAW,CAAC,CAAE;QAAA+B,QAAA,EAClE1B,WAAW,CAACf,GAAG,CAAC,CAACC,IAAI,EAAE4C,KAAK,KAAK;UAChC,MAAMC,aAAa,GAAGlF,gBAAgB,CAAC,MAAM;YAC3C,MAAMmF,qBAAqB,GAAG9B,iBAAiB,CAACE,KAAK,GAAGR,SAAS;YACjE,MAAMqC,aAAa,GACjBH,KAAK,IAAI7B,WAAW,CAACG,KAAK,GAAG4B,qBAAqB,CAAC;YAErD,MAAME,KAAK,GAAGnF,WAAW,CACvBkF,aAAa,EACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CACErE,sBAAsB,EACtBQ,iBAAiB,EACjBR,sBAAsB,CACvB,EACDX,aAAa,CAACkF,KAChB,CAAC;YAED,MAAMC,UAAU,GAAGrF,WAAW,CAC5BkF,aAAa,EACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,CAAC9D,qBAAqB,EAAE,CAAC,EAAEA,qBAAqB,CAAC,EAClDlB,aAAa,CAACkF,KAChB,CAAC;YAED,MAAME,QAAQ,GAAGtF,WAAW,CAC1BkF,aAAa,EACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CACE,CAACvD,0BAA0B,EAC3B,CAAC,EACDA,0BAA0B,CAC3B,EACDzB,aAAa,CAACkF,KAChB,CAAC;YAED,MAAMG,OAAO,GAAGvF,WAAW,CACzBkB,IAAI,CAACsE,GAAG,CAACN,aAAa,CAAC,EACvB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EACdhF,aAAa,CAACkF,KAChB,CAAC;YAED,MAAMK,oBAAoB,GACxBV,KAAK,GAAG7D,IAAI,CAACsC,KAAK,CAACN,WAAW,CAACG,KAAK,CAAC;YACvC,MAAMqC,MAAM,GACVzC,WAAW,CAACnB,MAAM,GAAGZ,IAAI,CAACsE,GAAG,CAACC,oBAAoB,CAAC;YAGrD,OAAO;cACLE,SAAS,EAAE,CAAC;gBAAEN;cAAW,CAAC,EAAE;gBAAEF;cAAM,CAAC,EAAE;gBAAES,OAAO,EAAE,GAAGN,QAAQ;cAAM,CAAC,CAAC;cACrEC,OAAO;cACPG;YACF,CAAC;UACH,CAAC,CAAC;UAEF,oBACEnF,KAAA,CAACX,QAAQ,CAACP,IAAI;YAEZkF,KAAK,EAAE,CACLC,MAAM,CAACqB,IAAI,EACX;cAAErF,KAAK,EAAEqC,SAAS;cAAE6B,MAAM,EAAE9B;YAAW,CAAC,EACxCoC,aAAa,CACb;YAAAL,QAAA,gBAEFtE,IAAA,CAACd,KAAK;cAACuG,MAAM,EAAE;gBAAEC,GAAG,EAAE5D,IAAI,CAAC6D;cAAM,CAAE;cAACzB,KAAK,EAAEC,MAAM,CAACyB;YAAU,CAAE,CAAC,EAC9D9D,IAAI,CAAC+D,KAAK,iBACT7F,IAAA,CAAChB,IAAI;cAACkF,KAAK,EAAEC,MAAM,CAAC2B,cAAe;cAAAxB,QAAA,eACjCtE,IAAA,CAACZ,IAAI;gBAAC8E,KAAK,EAAEC,MAAM,CAAC4B,SAAU;gBAAAzB,QAAA,EAAExC,IAAI,CAAC+D;cAAK,CAAO;YAAC,CAC9C,CACP;UAAA,GAZI/D,IAAI,CAACE,QAaG,CAAC;QAEpB,CAAC;MAAC,CACW;IAAC,CACD,CAAC,EAEjBW,UAAU,GAAG,CAAC,iBACb3C,IAAA,CAAChB,IAAI;MAACkF,KAAK,EAAEC,MAAM,CAAC6B,mBAAoB;MAAA1B,QAAA,EACrC9C,YAAY,CAACK,GAAG,CAAC,CAACoE,CAAC,EAAEC,CAAC,KAAK;QAC1B,MAAMC,WAAW,GAAGvG,eAAe,CAAC,MAAM;UACxC,OAAOoE,cAAc,CAAChB,KAAK,KAAKkD,CAAC;QACnC,CAAC,CAAC;QACF,MAAME,QAAQ,GAAG3G,gBAAgB,CAAC,MAAM;UACtC,OAAO;YACLU,KAAK,EAAET,UAAU,CAACyG,WAAW,CAACnD,KAAK,GAAG,EAAE,GAAG,CAAC,EAAE/B,aAAa,CAAC;YAC5DoD,MAAM,EAAE,CAAC;YACTgC,YAAY,EAAE,CAAC;YACf5D,eAAe,EAAE0D,WAAW,CAACnD,KAAK,GAAGN,KAAK,CAAC4D,OAAO,GAAG,SAAS;YAC9DC,gBAAgB,EAAE;UACpB,CAAC;QACH,CAAC,CAAC;QACF,oBAAOvG,IAAA,CAACT,QAAQ,CAACP,IAAI;UAAkBkF,KAAK,EAAEkC;QAAS,GAA5B,OAAOF,CAAC,EAAsB,CAAC;MAC5D,CAAC;IAAC,CACE,CACP;EAAA,CACG,CAAC;AAEX,CAAC;AAED,MAAM/B,MAAM,GAAGlF,UAAU,CAACuH,MAAM,CAAC;EAC/BpC,SAAS,EAAE;IACTqC,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBjE,eAAe,EAAE;EACnB,CAAC;EACDgC,aAAa,EAAE;IACbtE,KAAK,EAAEC,YAAY;IACnBqG,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDlB,IAAI,EAAE;IACJmB,QAAQ,EAAE,UAAU;IACpBN,YAAY,EAAE,EAAE;IAChBO,QAAQ,EAAE;EACZ,CAAC;EACDhB,SAAS,EAAE;IACTzF,KAAK,EAAE,MAAM;IACbkE,MAAM,EAAE,MAAM;IACdwC,UAAU,EAAE;EACd,CAAC;EACDf,cAAc,EAAE;IACda,QAAQ,EAAE,UAAU;IACpBG,MAAM,EAAE,EAAE;IACVC,IAAI,EAAE,EAAE;IACRC,KAAK,EAAE,EAAE;IACTvE,eAAe,EAAE,iBAAiB;IAClCwE,OAAO,EAAE,CAAC;IACVZ,YAAY,EAAE;EAChB,CAAC;EACDN,SAAS,EAAE;IACTmB,KAAK,EAAE,OAAO;IACdC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDpB,mBAAmB,EAAE;IACnBqB,aAAa,EAAE,KAAK;IACpBX,cAAc,EAAE,QAAQ;IACxBD,UAAU,EAAE,QAAQ;IACpBa,SAAS,EAAE,EAAE;IACbC,YAAY,EAAE;EAChB,CAAC;EACDhD,SAAS,EAAE;IACT2C,KAAK,EAAE,SAAS;IAChBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAe9E,iBAAiB","ignoreList":[]}
1
+ {"version":3,"names":["React","useEffect","useMemo","View","StyleSheet","Image","Dimensions","Text","Gesture","GestureDetector","Animated","useSharedValue","useAnimatedStyle","withSpring","interpolate","useDerivedValue","Extrapolation","useTheme","jsx","_jsx","jsxs","_jsxs","width","SCREEN_WIDTH","get","CARD_WIDTH_FACTOR","CARD_ASPECT_RATIO","SIDE_CARD_SCALE_FACTOR","CARD_WIDTH","CARD_HEIGHT","MAX_X_FACTOR","SIDE_CARD_TRANSLATE_X_FACTOR","Math","min","SIDE_CARD_TRANSLATE_X","ACTIVE_CARD_SCALE","SPRING_CONFIG","damping","stiffness","mass","SIDE_CARD_ROTATION_DEGREES","VISIBLE_RANGE","createVirtualData","originalData","length","prefixItems","items","segmentPrefix","map","item","idx","uniqueId","id","prevSegment","currSegment","nextSegment","CarouselCard","memo","index","activeIndex","gestureTranslateX","cardWidth","cardHeight","virtualDataLength","animatedStyle","currentCardDragOffset","value","displayOffset","absDisplayOffset","abs","opacity","transform","translateX","scale","rotateZ","zIndex","CLAMP","rotation","snappedDisplayOffset","round","style","styles","card","height","children","source","uri","image","cardImage","resizeMode","fadeDuration","title","titleContainer","cardTitle","CarouselCardStack","data","backgroundColor","theme","N_original","virtualData","contextX","visibleItems","center","start","max","end","slice","sliceIndex","originalIndex","currentValue","panGesture","Pan","activeOffsetX","onBegin","onUpdate","event","translationX","onEnd","threshold","newTargetVirtualIndex","activeDotIndex","currentVal","container","emptyText","gesture","cardContainer","paginationContainer","_","i","dotStyle","isActive","borderRadius","primary","marginHorizontal","create","alignItems","justifyContent","position","overflow","bottom","left","right","padding","color","fontSize","fontWeight","flexDirection","marginTop","marginBottom"],"sourceRoot":"..\\..\\..\\..\\src","sources":["components/CarouselCardStack/CarouselCardStack.tsx"],"mappings":";;AAAA,OAAOA,KAAK,IAAcC,SAAS,EAAEC,OAAO,QAAQ,OAAO;AAC3D,SAASC,IAAI,EAAEC,UAAU,EAAEC,KAAK,EAAEC,UAAU,EAAEC,IAAI,QAAQ,cAAc;AACxE,SAASC,OAAO,EAAEC,eAAe,QAAQ,8BAA8B;AACvE,OAAOC,QAAQ,IACbC,cAAc,EACdC,gBAAgB,EAChBC,UAAU,EACVC,WAAW,EAEXC,eAAe,EAEfC,aAAa,QACR,yBAAyB;AAChC,SAASC,QAAQ,QAAQ,sBAAa;AAAC,SAAAC,GAAA,IAAAC,IAAA,EAAAC,IAAA,IAAAC,KAAA;AAEvC,MAAM;EAAEC,KAAK,EAAEC;AAAa,CAAC,GAAGjB,UAAU,CAACkB,GAAG,CAAC,QAAQ,CAAC;AAExD,MAAMC,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,iBAAiB,GAAG,IAAI;AAC9B,MAAMC,sBAAsB,GAAG,IAAI;AACnC,MAAMC,UAAU,GAAGL,YAAY,GAAGE,iBAAiB;AACnD,MAAMI,WAAW,GAAGD,UAAU,GAAGF,iBAAiB;AAClD,MAAMI,YAAY,GAAG,GAAG,GAAGL,iBAAiB,GAAGE,sBAAsB,GAAG,CAAC;AACzE,MAAMI,4BAA4B,GAAGC,IAAI,CAACC,GAAG,CAAC,IAAI,EAAEH,YAAY,CAAC;AACjE,MAAMI,qBAAqB,GAAGN,UAAU,GAAGG,4BAA4B;AACvE,MAAMI,iBAAiB,GAAG,GAAG;AAC7B,MAAMC,aAAa,GAAG;EAAEC,OAAO,EAAE,EAAE;EAAEC,SAAS,EAAE,GAAG;EAAEC,IAAI,EAAE;AAAI,CAAC;AAChE,MAAMC,0BAA0B,GAAG,CAAC;;AAEpC;AACA,MAAMC,aAAa,GAAG,CAAC,CAAC,CAAC;;AAmBzB,MAAMC,iBAAiB,GACrBC,YAAoC,IACV;EAC1B,IAAI,CAACA,YAAY,IAAIA,YAAY,CAACC,MAAM,KAAK,CAAC,EAAE,OAAO,EAAE;EAEzD,MAAMC,WAAW,GAAGA,CAClBC,KAA6B,EAC7BC,aAAqB,KAErBD,KAAK,CAACE,GAAG,CAAC,CAACC,IAAI,EAAEC,GAAG,MAAM;IACxB,GAAGD,IAAI;IACPE,QAAQ,EAAE,GAAGJ,aAAa,IAAIE,IAAI,CAACG,EAAE,IAAIF,GAAG;EAC9C,CAAC,CAAC,CAAC;EAEL,MAAMG,WAAW,GAAGR,WAAW,CAACF,YAAY,EAAE,MAAM,CAAC;EACrD,MAAMW,WAAW,GAAGT,WAAW,CAACF,YAAY,EAAE,MAAM,CAAC;EACrD,MAAMY,WAAW,GAAGV,WAAW,CAACF,YAAY,EAAE,MAAM,CAAC;EAErD,OAAO,CAAC,GAAGU,WAAW,EAAE,GAAGC,WAAW,EAAE,GAAGC,WAAW,CAAC;AACzD,CAAC;;AAED;AACA,MAAMC,YAAY,gBAAGxD,KAAK,CAACyD,IAAI,CAQ5B,CAAC;EAAER,IAAI;EAAES,KAAK;EAAEC,WAAW;EAAEC,iBAAiB;EAAEC,SAAS;EAAEC,UAAU;EAAEC;AAAkB,CAAC,KAAK;EAChG,MAAMC,aAAa,GAAGpD,gBAAgB,CAAC,MAAM;IAC3C,MAAMqD,qBAAqB,GAAGL,iBAAiB,CAACM,KAAK,GAAGL,SAAS;IACjE,MAAMM,aAAa,GAAGT,KAAK,IAAIC,WAAW,CAACO,KAAK,GAAGD,qBAAqB,CAAC;;IAEzE;IACA,MAAMG,gBAAgB,GAAGpC,IAAI,CAACqC,GAAG,CAACF,aAAa,CAAC;IAChD,IAAIC,gBAAgB,GAAG,GAAG,EAAE;MAC1B,OAAO;QACLE,OAAO,EAAE,CAAC;QACVC,SAAS,EAAE,CAAC;UAAEC,UAAU,EAAE;QAAE,CAAC,EAAE;UAAEC,KAAK,EAAE;QAAI,CAAC,EAAE;UAAEC,OAAO,EAAE;QAAO,CAAC,CAAC;QACnEC,MAAM,EAAE;MACV,CAAC;IACH;IAEA,MAAMF,KAAK,GAAG3D,WAAW,CACvBqD,aAAa,EACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CAACxC,sBAAsB,EAAEQ,iBAAiB,EAAER,sBAAsB,CAAC,EACnEX,aAAa,CAAC4D,KAChB,CAAC;IAED,MAAMJ,UAAU,GAAG1D,WAAW,CAC5BqD,aAAa,EACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,CAACjC,qBAAqB,EAAE,CAAC,EAAEA,qBAAqB,CAAC,EAClDlB,aAAa,CAAC4D,KAChB,CAAC;IAED,MAAMC,QAAQ,GAAG/D,WAAW,CAC1BqD,aAAa,EACb,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,EACV,CAAC,CAAC3B,0BAA0B,EAAE,CAAC,EAAEA,0BAA0B,CAAC,EAC5DxB,aAAa,CAAC4D,KAChB,CAAC;IAED,MAAMN,OAAO,GAAGxD,WAAW,CACzBsD,gBAAgB,EAChB,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,IAAI,CAAC,EACf,CAAC,CAAC,EAAE,CAAC,EAAE,GAAG,EAAE,CAAC,CAAC,EACdpD,aAAa,CAAC4D,KAChB,CAAC;IAED,MAAME,oBAAoB,GAAGpB,KAAK,GAAG1B,IAAI,CAAC+C,KAAK,CAACpB,WAAW,CAACO,KAAK,CAAC;IAClE,MAAMS,MAAM,GAAGZ,iBAAiB,GAAG/B,IAAI,CAACqC,GAAG,CAACS,oBAAoB,CAAC;IAEjE,OAAO;MACLP,SAAS,EAAE,CAAC;QAAEC;MAAW,CAAC,EAAE;QAAEC;MAAM,CAAC,EAAE;QAAEC,OAAO,EAAE,GAAGG,QAAQ;MAAM,CAAC,CAAC;MACrEP,OAAO;MACPK;IACF,CAAC;EACH,CAAC,EAAE,CAACjB,KAAK,EAAEG,SAAS,EAAEE,iBAAiB,CAAC,CAAC;EAEzC,oBACE1C,KAAA,CAACX,QAAQ,CAACP,IAAI;IACZ6E,KAAK,EAAE,CACLC,MAAM,CAACC,IAAI,EACX;MAAE5D,KAAK,EAAEuC,SAAS;MAAEsB,MAAM,EAAErB;IAAW,CAAC,EACxCE,aAAa,CACb;IAAAoB,QAAA,gBAEFjE,IAAA,CAACd,KAAK;MACJgF,MAAM,EAAE;QAAEC,GAAG,EAAErC,IAAI,CAACsC;MAAM,CAAE;MAC5BP,KAAK,EAAEC,MAAM,CAACO,SAAU;MACxBC,UAAU,EAAC,OAAO;MAClBC,YAAY,EAAE;IAAE,CACjB,CAAC,EACDzC,IAAI,CAAC0C,KAAK,iBACTxE,IAAA,CAAChB,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAACW,cAAe;MAAAR,QAAA,eACjCjE,IAAA,CAACZ,IAAI;QAACyE,KAAK,EAAEC,MAAM,CAACY,SAAU;QAAAT,QAAA,EAAEnC,IAAI,CAAC0C;MAAK,CAAO;IAAC,CAC9C,CACP;EAAA,CACY,CAAC;AAEpB,CAAC,CAAC;AAEF,MAAMG,iBAAmD,GAAGA,CAAC;EAC3DC,IAAI,EAAEpD,YAAY;EAClBmB,UAAU,GAAGjC,WAAW;EACxBgC,SAAS,GAAGjC,UAAU;EACtBoE,eAAe,GAAG;AACpB,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAM,CAAC,GAAGhF,QAAQ,CAAC,CAAC;EAC5B,MAAMiF,UAAU,GAAGvD,YAAY,CAACC,MAAM;EAEtC,MAAMuD,WAAW,GAAGjG,OAAO,CACzB,MAAMwC,iBAAiB,CAACC,YAAY,CAAC,EACrC,CAACA,YAAY,CACf,CAAC;EAED,MAAMgB,WAAW,GAAGhD,cAAc,CAACuF,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAC,CAAC;EACnE,MAAMtC,iBAAiB,GAAGjD,cAAc,CAAC,CAAC,CAAC;EAC3C,MAAMyF,QAAQ,GAAGzF,cAAc,CAAC,CAAC,CAAC;EAElCV,SAAS,CAAC,MAAM;IACd0D,WAAW,CAACO,KAAK,GAAGgC,UAAU,GAAG,CAAC,GAAGA,UAAU,GAAG,CAAC;IACnDtC,iBAAiB,CAACM,KAAK,GAAG,CAAC;EAC7B,CAAC,EAAE,CAACgC,UAAU,EAAEvC,WAAW,EAAEC,iBAAiB,CAAC,CAAC;;EAEhD;EACA,MAAMyC,YAAY,GAAGtF,eAAe,CAAC,MAAM;IACzC,MAAMuF,MAAM,GAAGtE,IAAI,CAAC+C,KAAK,CAACpB,WAAW,CAACO,KAAK,CAAC;IAC5C,MAAMqC,KAAK,GAAGvE,IAAI,CAACwE,GAAG,CAAC,CAAC,EAAEF,MAAM,GAAG7D,aAAa,CAAC;IACjD,MAAMgE,GAAG,GAAGzE,IAAI,CAACC,GAAG,CAACkE,WAAW,CAACvD,MAAM,GAAG,CAAC,EAAE0D,MAAM,GAAG7D,aAAa,CAAC;IAEpE,OAAO0D,WAAW,CAACO,KAAK,CAACH,KAAK,EAAEE,GAAG,GAAG,CAAC,CAAC,CAACzD,GAAG,CAAC,CAACC,IAAI,EAAE0D,UAAU,MAAM;MAClE1D,IAAI;MACJ2D,aAAa,EAAEL,KAAK,GAAGI;IACzB,CAAC,CAAC,CAAC;EACL,CAAC,CAAC;EAEF5F,eAAe,CAAC,MAAM;IACpB,MAAM8F,YAAY,GAAG7E,IAAI,CAAC+C,KAAK,CAACpB,WAAW,CAACO,KAAK,CAAC;IAElD,IAAIN,iBAAiB,CAACM,KAAK,KAAK,CAAC,EAAE;MACjC,IAAI2C,YAAY,IAAIX,UAAU,GAAG,CAAC,EAAE;QAClCvC,WAAW,CAACO,KAAK,GAAG2C,YAAY,GAAGX,UAAU;MAC/C,CAAC,MAAM,IAAIW,YAAY,GAAGX,UAAU,EAAE;QACpCvC,WAAW,CAACO,KAAK,GAAG2C,YAAY,GAAGX,UAAU;MAC/C;IACF;EACF,CAAC,CAAC;EAEF,MAAMY,UAAU,GAAGtG,OAAO,CAACuG,GAAG,CAAC,CAAC,CAC7BC,aAAa,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,CAAC,CACxBC,OAAO,CAAC,MAAM;IACbb,QAAQ,CAAClC,KAAK,GAAGN,iBAAiB,CAACM,KAAK;EAC1C,CAAC,CAAC,CACDgD,QAAQ,CAAEC,KAAK,IAAK;IACnBvD,iBAAiB,CAACM,KAAK,GAAGiD,KAAK,CAACC,YAAY;EAC9C,CAAC,CAAC,CACDC,KAAK,CAAEF,KAAK,IAAK;IAChB,IAAIhB,WAAW,CAACvD,MAAM,KAAK,CAAC,EAAE;IAE9B,MAAM0E,SAAS,GAAGzD,SAAS,GAAG,CAAC;IAC/B,IAAI0D,qBAAqB,GAAG5D,WAAW,CAACO,KAAK;IAE7C,IAAIiD,KAAK,CAACC,YAAY,GAAG,CAACE,SAAS,EAAE;MACnCC,qBAAqB,GAAG5D,WAAW,CAACO,KAAK,GAAG,CAAC;IAC/C,CAAC,MAAM,IAAIiD,KAAK,CAACC,YAAY,GAAGE,SAAS,EAAE;MACzCC,qBAAqB,GAAG5D,WAAW,CAACO,KAAK,GAAG,CAAC;IAC/C;IAEAqD,qBAAqB,GAAGvF,IAAI,CAACwE,GAAG,CAC9B,CAAC,EACDxE,IAAI,CAACC,GAAG,CAACsF,qBAAqB,EAAEpB,WAAW,CAACvD,MAAM,GAAG,CAAC,CACxD,CAAC;IAEDe,WAAW,CAACO,KAAK,GAAGrD,UAAU,CAAC0G,qBAAqB,EAAEnF,aAAa,CAAC;IACpEwB,iBAAiB,CAACM,KAAK,GAAGrD,UAAU,CAAC,CAAC,EAAEuB,aAAa,CAAC;IACtDgE,QAAQ,CAAClC,KAAK,GAAG,CAAC;EACpB,CAAC,CAAC;EAEJ,MAAMsD,cAAc,GAAGzG,eAAe,CAAC,MAAM;IAC3C,IAAImF,UAAU,KAAK,CAAC,EAAE,OAAO,CAAC;IAC9B,MAAMuB,UAAU,GAAGzF,IAAI,CAAC+C,KAAK,CAACpB,WAAW,CAACO,KAAK,CAAC;IAChD,OAAO,CAAEuD,UAAU,GAAGvB,UAAU,GAAIA,UAAU,IAAIA,UAAU;EAC9D,CAAC,CAAC;EAEF,IAAIC,WAAW,CAACvD,MAAM,KAAK,CAAC,EAAE;IAC5B,oBACEzB,IAAA,CAAChB,IAAI;MAAC6E,KAAK,EAAE,CAACC,MAAM,CAACyC,SAAS,EAAE;QAAEvC,MAAM,EAAErB,UAAU,GAAG;MAAG,CAAC,CAAE;MAAAsB,QAAA,eAC3DjE,IAAA,CAACZ,IAAI;QAACyE,KAAK,EAAEC,MAAM,CAAC0C,SAAU;QAAAvC,QAAA,EAAC;MAAmB,CAAM;IAAC,CACrD,CAAC;EAEX;EAEA,oBACE/D,KAAA,CAAClB,IAAI;IAAC6E,KAAK,EAAE,CAACC,MAAM,CAACyC,SAAS,EAAE;MAAEvC,MAAM,EAAErB,UAAU,GAAG,EAAE;MAAEkC;IAAgB,CAAC,CAAE;IAAAZ,QAAA,gBAC5EjE,IAAA,CAACV,eAAe;MAACmH,OAAO,EAAEd,UAAW;MAAA1B,QAAA,eACnCjE,IAAA,CAACT,QAAQ,CAACP,IAAI;QAAC6E,KAAK,EAAE,CAACC,MAAM,CAAC4C,aAAa,EAAE;UAAE1C,MAAM,EAAErB;QAAW,CAAC,CAAE;QAAAsB,QAAA,EAElEe,WAAW,CAACnD,GAAG,CAAC,CAACC,IAAI,EAAES,KAAK,kBAC3BvC,IAAA,CAACqC,YAAY;UAEXP,IAAI,EAAEA,IAAK;UACXS,KAAK,EAAEA,KAAM;UACbC,WAAW,EAAEA,WAAY;UACzBC,iBAAiB,EAAEA,iBAAkB;UACrCC,SAAS,EAAEA,SAAU;UACrBC,UAAU,EAAEA,UAAW;UACvBC,iBAAiB,EAAEoC,WAAW,CAACvD;QAAO,GAPjCK,IAAI,CAACE,QAQX,CACF;MAAC,CACW;IAAC,CACD,CAAC,EAEjB+C,UAAU,GAAG,CAAC,iBACb/E,IAAA,CAAChB,IAAI;MAAC6E,KAAK,EAAEC,MAAM,CAAC6C,mBAAoB;MAAA1C,QAAA,EACrCzC,YAAY,CAACK,GAAG,CAAC,CAAC+E,CAAC,EAAEC,CAAC,KAAK;QAC1B,MAAMC,QAAQ,GAAGrH,gBAAgB,CAAC,MAAM;UACtC,MAAMsH,QAAQ,GAAGV,cAAc,CAACtD,KAAK,KAAK8D,CAAC;UAC3C,OAAO;YACL1G,KAAK,EAAET,UAAU,CAACqH,QAAQ,GAAG,EAAE,GAAG,CAAC,EAAE9F,aAAa,CAAC;YACnD+C,MAAM,EAAE,CAAC;YACTgD,YAAY,EAAE,CAAC;YACfnC,eAAe,EAAEkC,QAAQ,GAAGjC,KAAK,CAACmC,OAAO,GAAG,SAAS;YACrDC,gBAAgB,EAAE,CAAC;YACnB/D,OAAO,EAAE4D,QAAQ,GAAG,CAAC,GAAG;UAC1B,CAAC;QACH,CAAC,CAAC;QAEF,oBAAO/G,IAAA,CAACT,QAAQ,CAACP,IAAI;UAAkB6E,KAAK,EAAEiD;QAAS,GAA5B,OAAOD,CAAC,EAAsB,CAAC;MAC5D,CAAC;IAAC,CACE,CACP;EAAA,CACG,CAAC;AAEX,CAAC;AAED,MAAM/C,MAAM,GAAG7E,UAAU,CAACkI,MAAM,CAAC;EAC/BZ,SAAS,EAAE;IACTa,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE,QAAQ;IACxBxC,eAAe,EAAE;EACnB,CAAC;EACD6B,aAAa,EAAE;IACbvG,KAAK,EAAEC,YAAY;IACnBgH,UAAU,EAAE,QAAQ;IACpBC,cAAc,EAAE;EAClB,CAAC;EACDtD,IAAI,EAAE;IACJuD,QAAQ,EAAE,UAAU;IACpBN,YAAY,EAAE,EAAE;IAChBO,QAAQ,EAAE;EACZ,CAAC;EACDlD,SAAS,EAAE;IACTlE,KAAK,EAAE,MAAM;IACb6D,MAAM,EAAE,MAAM;IACdM,UAAU,EAAE;EACd,CAAC;EACDG,cAAc,EAAE;IACd6C,QAAQ,EAAE,UAAU;IACpBE,MAAM,EAAE,EAAE;IACVC,IAAI,EAAE,EAAE;IACRC,KAAK,EAAE,EAAE;IACT7C,eAAe,EAAE,iBAAiB;IAClC8C,OAAO,EAAE,CAAC;IACVX,YAAY,EAAE;EAChB,CAAC;EACDtC,SAAS,EAAE;IACTkD,KAAK,EAAE,OAAO;IACdC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE;EACd,CAAC;EACDnB,mBAAmB,EAAE;IACnBoB,aAAa,EAAE,KAAK;IACpBV,cAAc,EAAE,QAAQ;IACxBD,UAAU,EAAE,QAAQ;IACpBY,SAAS,EAAE,EAAE;IACbC,YAAY,EAAE;EAChB,CAAC;EACDzB,SAAS,EAAE;IACToB,KAAK,EAAE,SAAS;IAChBC,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC;AAEF,eAAelD,iBAAiB","ignoreList":[]}