orn-ui 0.2.8 → 0.2.9

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 (80) hide show
  1. package/AGENTS.md +6 -2
  2. package/README.md +6 -6
  3. package/lib/commonjs/atoms/ShinyText.js +188 -0
  4. package/lib/commonjs/atoms/ShinyText.js.map +1 -0
  5. package/lib/commonjs/atoms/index.js +7 -0
  6. package/lib/commonjs/atoms/index.js.map +1 -1
  7. package/lib/commonjs/organisms/Chart.js +947 -0
  8. package/lib/commonjs/organisms/Chart.js.map +1 -0
  9. package/lib/commonjs/organisms/OptionWheel.js +408 -0
  10. package/lib/commonjs/organisms/OptionWheel.js.map +1 -0
  11. package/lib/commonjs/organisms/Timeline.js +420 -0
  12. package/lib/commonjs/organisms/Timeline.js.map +1 -0
  13. package/lib/commonjs/organisms/chart/frame.js +373 -0
  14. package/lib/commonjs/organisms/chart/frame.js.map +1 -0
  15. package/lib/commonjs/organisms/chart/marks.js +316 -0
  16. package/lib/commonjs/organisms/chart/marks.js.map +1 -0
  17. package/lib/commonjs/organisms/chart/math.js +468 -0
  18. package/lib/commonjs/organisms/chart/math.js.map +1 -0
  19. package/lib/commonjs/organisms/chart/palette.js +120 -0
  20. package/lib/commonjs/organisms/chart/palette.js.map +1 -0
  21. package/lib/commonjs/organisms/index.js +21 -0
  22. package/lib/commonjs/organisms/index.js.map +1 -1
  23. package/lib/module/atoms/ShinyText.js +183 -0
  24. package/lib/module/atoms/ShinyText.js.map +1 -0
  25. package/lib/module/atoms/index.js +1 -0
  26. package/lib/module/atoms/index.js.map +1 -1
  27. package/lib/module/organisms/Chart.js +942 -0
  28. package/lib/module/organisms/Chart.js.map +1 -0
  29. package/lib/module/organisms/OptionWheel.js +403 -0
  30. package/lib/module/organisms/OptionWheel.js.map +1 -0
  31. package/lib/module/organisms/Timeline.js +415 -0
  32. package/lib/module/organisms/Timeline.js.map +1 -0
  33. package/lib/module/organisms/chart/frame.js +367 -0
  34. package/lib/module/organisms/chart/frame.js.map +1 -0
  35. package/lib/module/organisms/chart/marks.js +310 -0
  36. package/lib/module/organisms/chart/marks.js.map +1 -0
  37. package/lib/module/organisms/chart/math.js +445 -0
  38. package/lib/module/organisms/chart/math.js.map +1 -0
  39. package/lib/module/organisms/chart/palette.js +114 -0
  40. package/lib/module/organisms/chart/palette.js.map +1 -0
  41. package/lib/module/organisms/index.js +3 -0
  42. package/lib/module/organisms/index.js.map +1 -1
  43. package/lib/typescript/atoms/ShinyText.d.ts +48 -0
  44. package/lib/typescript/atoms/ShinyText.d.ts.map +1 -0
  45. package/lib/typescript/atoms/index.d.ts +2 -0
  46. package/lib/typescript/atoms/index.d.ts.map +1 -1
  47. package/lib/typescript/organisms/Chart.d.ts +208 -0
  48. package/lib/typescript/organisms/Chart.d.ts.map +1 -0
  49. package/lib/typescript/organisms/OptionWheel.d.ts +78 -0
  50. package/lib/typescript/organisms/OptionWheel.d.ts.map +1 -0
  51. package/lib/typescript/organisms/Timeline.d.ts +61 -0
  52. package/lib/typescript/organisms/Timeline.d.ts.map +1 -0
  53. package/lib/typescript/organisms/chart/frame.d.ts +85 -0
  54. package/lib/typescript/organisms/chart/frame.d.ts.map +1 -0
  55. package/lib/typescript/organisms/chart/marks.d.ts +88 -0
  56. package/lib/typescript/organisms/chart/marks.d.ts.map +1 -0
  57. package/lib/typescript/organisms/chart/math.d.ts +161 -0
  58. package/lib/typescript/organisms/chart/math.d.ts.map +1 -0
  59. package/lib/typescript/organisms/chart/palette.d.ts +6 -0
  60. package/lib/typescript/organisms/chart/palette.d.ts.map +1 -0
  61. package/lib/typescript/organisms/index.d.ts +6 -0
  62. package/lib/typescript/organisms/index.d.ts.map +1 -1
  63. package/llms.txt +3 -3
  64. package/package.json +23 -2
  65. package/registry/chart.json +35 -0
  66. package/registry/index.json +53 -0
  67. package/registry/manifest.json +28 -0
  68. package/registry/option-wheel.json +19 -0
  69. package/registry/shiny-text.json +19 -0
  70. package/registry/timeline.json +20 -0
  71. package/src/atoms/ShinyText.tsx +226 -0
  72. package/src/atoms/index.ts +2 -0
  73. package/src/organisms/Chart.tsx +1223 -0
  74. package/src/organisms/OptionWheel.tsx +476 -0
  75. package/src/organisms/Timeline.tsx +467 -0
  76. package/src/organisms/chart/frame.tsx +349 -0
  77. package/src/organisms/chart/marks.tsx +295 -0
  78. package/src/organisms/chart/math.ts +475 -0
  79. package/src/organisms/chart/palette.ts +112 -0
  80. package/src/organisms/index.ts +14 -0
@@ -0,0 +1,420 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Timeline = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _createStyles = require("../theme/createStyles");
10
+ var _UIProvider = require("../theme/UIProvider");
11
+ var _PressableScale = require("../atoms/PressableScale");
12
+ var _Transition = require("../atoms/Transition");
13
+ var _Icon = require("../icons/Icon");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
16
+ /**
17
+ * Qué puede hacer un toque.
18
+ * - 'free': cualquier hito responde y la línea sigue a `items` para donde
19
+ * vaya, adelante o atrás. Es el que sirve cuando el recorrido no es un
20
+ * progreso, o cuando lo maneja otra cosa.
21
+ * - 'sequential': sólo responde el que sigue al alcanzado, y la línea no
22
+ * retrocede nunca. Avance estricto.
23
+ * - 'revisit': responden el que sigue y todos los ya alcanzados, y la línea
24
+ * tampoco retrocede. Es el caso de "puedo volver a mirar lo anterior sin
25
+ * perder lo que llevo".
26
+ */
27
+
28
+ const DEFAULT_CURVE = 28;
29
+ const DEFAULT_SPACING = 84;
30
+ const NODE = 14;
31
+ const LINE = 2;
32
+ /** Tramos rectos por cada vano: con menos, la curva se ve poligonal. */
33
+ const SEGMENTS = 14;
34
+ const DOT = 3;
35
+ /** Un punto cada cuántos tramos: el camino entero va punteado por debajo. */
36
+ const DOT_EVERY = 2;
37
+ const DEFAULT_DURATION = 420;
38
+ /**
39
+ * Cuánto tarda un tramo en encenderse, medido en hitos. Chico para que el
40
+ * frente de la línea se lea como un borde y no como un degradado largo.
41
+ */
42
+ const FADE = 0.06;
43
+ /**
44
+ * Capas del halo, de afuera hacia adentro. Son muchas y muy tenues a
45
+ * propósito: con tres capas se ven los anillos, que es justo lo contrario de
46
+ * un difuminado. Cuantos más escalones y más chico el salto de opacidad, más
47
+ * cerca queda de un degradado.
48
+ */
49
+ /** Lo que el halo sobresale de la píldora: es lo que hay que dejarle de aire. */
50
+ const GLOW_BLEED = 20;
51
+ const GLOW_LAYERS = [{
52
+ inset: -GLOW_BLEED,
53
+ opacity: 0.03
54
+ }, {
55
+ inset: -16,
56
+ opacity: 0.035
57
+ }, {
58
+ inset: -12,
59
+ opacity: 0.04
60
+ }, {
61
+ inset: -8,
62
+ opacity: 0.045
63
+ }, {
64
+ inset: -5,
65
+ opacity: 0.05
66
+ }, {
67
+ inset: -2,
68
+ opacity: 0.055
69
+ }];
70
+ const useStyles = (0, _createStyles.createStyles)(theme => ({
71
+ root: {
72
+ alignSelf: 'stretch'
73
+ },
74
+ row: {
75
+ flexDirection: 'row',
76
+ alignItems: 'center'
77
+ },
78
+ side: {
79
+ flex: 1,
80
+ justifyContent: 'center'
81
+ },
82
+ sideLeft: {
83
+ alignItems: 'flex-end',
84
+ paddingRight: theme.tokens.spacing.md
85
+ },
86
+ sideRight: {
87
+ alignItems: 'flex-start',
88
+ paddingLeft: theme.tokens.spacing.md
89
+ },
90
+ node: {
91
+ position: 'absolute',
92
+ width: NODE,
93
+ height: NODE,
94
+ borderRadius: NODE / 2,
95
+ borderWidth: LINE
96
+ },
97
+ nodePending: {
98
+ backgroundColor: 'transparent',
99
+ borderColor: theme.colors.border
100
+ },
101
+ // Ocupa el círculo entero menos el borde, así el relleno no lo tapa.
102
+ nodeFill: {
103
+ position: 'absolute',
104
+ top: 0,
105
+ left: 0,
106
+ right: 0,
107
+ bottom: 0,
108
+ borderRadius: NODE / 2
109
+ },
110
+ pill: {
111
+ flexDirection: 'row',
112
+ alignItems: 'center',
113
+ gap: theme.tokens.spacing.sm,
114
+ paddingVertical: theme.tokens.spacing.sm,
115
+ paddingHorizontal: theme.tokens.spacing.lg,
116
+ borderRadius: theme.tokens.radius.full,
117
+ borderWidth: 1,
118
+ borderColor: theme.colors.border,
119
+ backgroundColor: theme.colors.surface
120
+ },
121
+ // El foco se marca con el borde, no con el relleno: el relleno ya está
122
+ // diciendo otra cosa (si el hito está alcanzado o no).
123
+ pillSelected: {
124
+ borderColor: theme.colors.primary,
125
+ borderWidth: 2
126
+ },
127
+ label: {
128
+ fontSize: theme.tokens.fontSize.md,
129
+ color: theme.colors.text
130
+ },
131
+ labelPending: {
132
+ color: theme.colors.textLight
133
+ },
134
+ emoji: {
135
+ fontSize: theme.tokens.fontSize.md
136
+ },
137
+ glow: {
138
+ position: 'absolute',
139
+ borderRadius: theme.tokens.radius.full,
140
+ backgroundColor: theme.colors.text
141
+ },
142
+ // La línea y los nodos viven en la misma capa y se posicionan con las mismas
143
+ // coordenadas. Es lo único que garantiza que el círculo caiga sobre la
144
+ // curva: en el flujo de la fila el nodo lo corre el flex —y los paddings que
145
+ // cada lado necesita para no cortar su píldora—, así que terminaba a un
146
+ // costado de la línea en vez de encima.
147
+ lineLayer: {
148
+ position: 'absolute',
149
+ top: 0,
150
+ left: 0,
151
+ right: 0,
152
+ bottom: 0,
153
+ alignItems: 'center'
154
+ },
155
+ // Hueco del ancho del nodo en la fila: la píldora se separa del centro lo
156
+ // mismo que antes, pero el círculo ya no se dibuja acá.
157
+ nodeSlot: {
158
+ width: NODE
159
+ },
160
+ segment: {
161
+ position: 'absolute',
162
+ width: LINE
163
+ },
164
+ dot: {
165
+ position: 'absolute',
166
+ width: DOT,
167
+ height: DOT,
168
+ borderRadius: DOT / 2
169
+ }
170
+ }));
171
+
172
+ /**
173
+ * Desvío horizontal del nodo `index` respecto del eje. Una onda entera a lo
174
+ * largo de la lista: el primero y el último caen sobre el eje, y los del medio
175
+ * se van a un lado y al otro. Es lo que convierte una columna en un camino.
176
+ */
177
+ function offsetAt(index, count, curve) {
178
+ if (count < 2) return 0;
179
+ return curve * Math.sin(2 * Math.PI * index / (count - 1));
180
+ }
181
+ const Timeline = exports.Timeline = /*#__PURE__*/(0, _react.memo)(({
182
+ items,
183
+ curve = DEFAULT_CURVE,
184
+ spacing = DEFAULT_SPACING,
185
+ startSide = 'right',
186
+ glow = true,
187
+ onItemPress,
188
+ advance = 'free',
189
+ selectedIndex,
190
+ duration = DEFAULT_DURATION,
191
+ style,
192
+ testID
193
+ }) => {
194
+ const styles = useStyles();
195
+ const colors = (0, _UIProvider.useColors)();
196
+ const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
197
+ const reduceMotion = (0, _Transition.useReduceMotion)();
198
+ const count = items.length;
199
+
200
+ /**
201
+ * Hasta dónde llegó el recorrido, en unidades de hito. Se cuenta desde el
202
+ * principio y se corta en el primer pendiente: un hito cumplido después de
203
+ * uno que no lo está no adelanta la línea, porque el camino es un camino.
204
+ */
205
+ const reached = (0, _react.useMemo)(() => {
206
+ let last = -1;
207
+ for (let i = 0; i < items.length; i += 1) {
208
+ if (items[i]?.status === 'pending') break;
209
+ last = i;
210
+ }
211
+ return last;
212
+ }, [items]);
213
+
214
+ /**
215
+ * Marca de agua: salvo en 'free', la línea se queda en lo más lejos que
216
+ * llegó. El progreso es del usuario, no del render — que el padre mande
217
+ * una lista más corta no puede desandar lo que ya recorrió.
218
+ */
219
+ const furthest = (0, _react.useRef)(reached);
220
+ if (advance === 'free') furthest.current = reached;else furthest.current = Math.max(furthest.current, reached);
221
+ const lineTo = furthest.current;
222
+ const progress = (0, _react.useRef)(new _reactNative.Animated.Value(lineTo)).current;
223
+ (0, _react.useEffect)(() => {
224
+ const animation = _reactNative.Animated.timing(progress, {
225
+ toValue: lineTo,
226
+ // Un hito por `duration`: avanzar tres de una vez tarda tres veces
227
+ // más, así se ve el recorrido y no un salto.
228
+ duration: reduceMotion ? 0 : duration,
229
+ easing: _reactNative.Easing.inOut(_reactNative.Easing.cubic),
230
+ useNativeDriver: true
231
+ });
232
+ animation.start();
233
+ return () => animation.stop();
234
+ }, [lineTo, duration, reduceMotion, progress]);
235
+
236
+ /**
237
+ * Cada vano partido en tramos rectos cortos, cada uno con su largo y su
238
+ * ángulo. Es la misma idea que `Gradient`: la plataforma no tiene curvas
239
+ * sin dependencia nativa, así que la curva se compone con pedazos rectos
240
+ * lo bastante chicos como para que el ojo no vea el quiebre.
241
+ */
242
+ const pieces = (0, _react.useMemo)(() => {
243
+ const out = [];
244
+ for (let i = 0; i < count - 1; i += 1) {
245
+ for (let step = 0; step < SEGMENTS; step += 1) {
246
+ const from = i + step / SEGMENTS;
247
+ const to = i + (step + 1) / SEGMENTS;
248
+ const x1 = offsetAt(from, count, curve);
249
+ const x2 = offsetAt(to, count, curve);
250
+ const y1 = from * spacing;
251
+ const y2 = to * spacing;
252
+ const dx = x2 - x1;
253
+ const dy = y2 - y1;
254
+ const length = Math.sqrt(dx * dx + dy * dy);
255
+ out.push({
256
+ key: `${i}-${step}`,
257
+ x: (x1 + x2) / 2,
258
+ y: (y1 + y2) / 2,
259
+ length,
260
+ // El tramo se dibuja vertical y se gira hasta la pendiente: el
261
+ // ángulo se mide desde el eje Y, no desde el X.
262
+ angle: `${Math.atan2(dx, dy) * (180 / Math.PI) * -1}deg`,
263
+ // Posición del tramo medida en hitos: es la misma escala que
264
+ // `progress`, así que comparar una cosa con la otra es directo.
265
+ at: to,
266
+ dotted: step % DOT_EVERY === 0
267
+ });
268
+ }
269
+ }
270
+ return out;
271
+ }, [count, curve, spacing]);
272
+ if (count === 0) return null;
273
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
274
+ style: [styles.root, {
275
+ height: count * spacing
276
+ }, style],
277
+ testID: testID,
278
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
279
+ style: styles.lineLayer,
280
+ pointerEvents: "none",
281
+ children: [pieces.map(piece => piece.dotted && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
282
+ style: [styles.dot, {
283
+ backgroundColor: colors.border,
284
+ top: spacing / 2 + piece.y - DOT / 2,
285
+ transform: [{
286
+ translateX: piece.x
287
+ }]
288
+ }]
289
+ }, `dot-${piece.key}`)), pieces.map(piece => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
290
+ style: [styles.segment, {
291
+ backgroundColor: colors.textLight,
292
+ height: piece.length,
293
+ top: spacing / 2 + piece.y - piece.length / 2,
294
+ opacity: progress.interpolate({
295
+ inputRange: [piece.at - FADE, piece.at],
296
+ outputRange: [0, 1],
297
+ extrapolate: 'clamp'
298
+ }),
299
+ transform: [{
300
+ translateX: piece.x
301
+ }, {
302
+ rotate: piece.angle
303
+ }]
304
+ }]
305
+ }, `line-${piece.key}`)), items.map((item, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
306
+ style: [styles.node, styles.nodePending, {
307
+ top: spacing / 2 + index * spacing - NODE / 2,
308
+ transform: [{
309
+ translateX: offsetAt(index, count, curve)
310
+ }]
311
+ }],
312
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
313
+ style: [styles.nodeFill, {
314
+ backgroundColor: colors.textLight,
315
+ opacity: progress.interpolate({
316
+ inputRange: [index - FADE, index],
317
+ outputRange: [0, 1],
318
+ extrapolate: 'clamp'
319
+ }),
320
+ transform: [{
321
+ scale: progress.interpolate({
322
+ inputRange: [index - FADE, index],
323
+ outputRange: [0.4, 1],
324
+ extrapolate: 'clamp'
325
+ })
326
+ }]
327
+ }]
328
+ })
329
+ }, `node-${item.label}-${index}`))]
330
+ }), items.map((item, index) => {
331
+ const pending = item.status === 'pending';
332
+ const onRight = index % 2 === 0 === (startSide === 'right');
333
+ const offset = offsetAt(index, count, curve);
334
+ // La fila entera se corre con la curva, píldora incluida, así que el
335
+ // lado hacia el que se fue pierde ese espacio contra el borde. Se lo
336
+ // devolvemos como padding, más lo que sobresale el halo: sin esto la
337
+ // píldora de más afuera queda cortada al ras.
338
+ const bleed = glow ? GLOW_BLEED : 0;
339
+ const roomLeft = Math.max(0, -offset) + bleed;
340
+ const roomRight = Math.max(0, offset) + bleed;
341
+ const pill = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
342
+ children: [glow && GLOW_LAYERS.map(layer => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
343
+ pointerEvents: "none",
344
+ style: [styles.glow, {
345
+ top: layer.inset,
346
+ bottom: layer.inset,
347
+ left: layer.inset,
348
+ right: layer.inset,
349
+ opacity: pending ? layer.opacity / 2 : layer.opacity
350
+ }]
351
+ }, layer.inset)), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
352
+ style: [styles.pill, index === selectedIndex && styles.pillSelected],
353
+ children: [item.emoji ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
354
+ allowFontScaling: allowFontScaling,
355
+ style: styles.emoji,
356
+ children: item.emoji
357
+ }) : !!item.iconName && /*#__PURE__*/(0, _jsxRuntime.jsx)(_Icon.Icon, {
358
+ name: item.iconName,
359
+ size: 16,
360
+ color: pending ? colors.textLight : colors.text
361
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
362
+ allowFontScaling: allowFontScaling,
363
+ style: [styles.label, pending && styles.labelPending],
364
+ children: item.label
365
+ })]
366
+ })]
367
+ });
368
+
369
+ // 'sequential' deja tocar sólo el que sigue; 'revisit' también los
370
+ // ya recorridos. El que no responde se marca como deshabilitado en
371
+ // vez de quedarse mudo: un botón que no hace nada y no lo dice es
372
+ // peor que un botón apagado.
373
+ const reachable = advance === 'sequential' ? index === lineTo + 1 : advance === 'revisit' ? index <= lineTo + 1 : true;
374
+ const pressable = onItemPress ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_PressableScale.PressableScale, {
375
+ onPress: () => onItemPress(index),
376
+ disabled: !reachable,
377
+ accessibilityRole: "button",
378
+ accessibilityLabel: item.label,
379
+ accessibilityState: {
380
+ checked: !pending,
381
+ disabled: !reachable,
382
+ selected: index === selectedIndex
383
+ },
384
+ testID: testID && `${testID}-press-${index}`,
385
+ children: pill
386
+ }) : pill;
387
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
388
+ testID: testID && `${testID}-item-${index}`,
389
+ accessibilityRole: onItemPress ? undefined : 'text',
390
+ accessibilityLabel: onItemPress ? undefined : item.label,
391
+ accessibilityState: onItemPress ? undefined : {
392
+ checked: !pending
393
+ },
394
+ style: [styles.row, {
395
+ height: spacing,
396
+ transform: [{
397
+ translateX: offset
398
+ }]
399
+ }],
400
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
401
+ testID: testID && `${testID}-item-${index}-left`,
402
+ style: [styles.side, styles.sideLeft, {
403
+ paddingLeft: roomLeft
404
+ }],
405
+ children: !onRight && pressable
406
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
407
+ style: styles.nodeSlot
408
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
409
+ testID: testID && `${testID}-item-${index}-right`,
410
+ style: [styles.side, styles.sideRight, {
411
+ paddingRight: roomRight
412
+ }],
413
+ children: onRight && pressable
414
+ })]
415
+ }, `${item.label}-${index}`);
416
+ })]
417
+ });
418
+ });
419
+ Timeline.displayName = 'Timeline';
420
+ //# sourceMappingURL=Timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_PressableScale","_Transition","_Icon","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","DEFAULT_CURVE","DEFAULT_SPACING","NODE","LINE","SEGMENTS","DOT","DOT_EVERY","DEFAULT_DURATION","FADE","GLOW_BLEED","GLOW_LAYERS","inset","opacity","useStyles","createStyles","theme","root","alignSelf","row","flexDirection","alignItems","side","flex","justifyContent","sideLeft","paddingRight","tokens","spacing","md","sideRight","paddingLeft","node","position","width","height","borderRadius","borderWidth","nodePending","backgroundColor","borderColor","colors","border","nodeFill","top","left","right","bottom","pill","gap","sm","paddingVertical","paddingHorizontal","lg","radius","full","surface","pillSelected","primary","label","fontSize","color","text","labelPending","textLight","emoji","glow","lineLayer","nodeSlot","segment","dot","offsetAt","index","count","curve","Math","sin","PI","Timeline","exports","memo","items","startSide","onItemPress","advance","selectedIndex","duration","style","testID","styles","useColors","allowFontScaling","useAllowFontScaling","reduceMotion","useReduceMotion","length","reached","useMemo","last","status","furthest","useRef","current","max","lineTo","progress","Animated","Value","useEffect","animation","timing","toValue","easing","Easing","inOut","cubic","useNativeDriver","start","stop","pieces","out","step","from","to","x1","x2","y1","y2","dx","dy","sqrt","push","key","x","y","angle","atan2","at","dotted","jsxs","View","children","pointerEvents","map","piece","jsx","transform","translateX","interpolate","inputRange","outputRange","extrapolate","rotate","item","scale","pending","onRight","offset","bleed","roomLeft","roomRight","layer","Text","iconName","Icon","name","size","reachable","pressable","PressableScale","onPress","disabled","accessibilityRole","accessibilityLabel","accessibilityState","checked","selected","undefined","displayName"],"sourceRoot":"../../../src","sources":["organisms/Timeline.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,uBAAA,CAAAC,OAAA;AACA,IAAAC,YAAA,GAAAD,OAAA;AACA,IAAAE,aAAA,GAAAF,OAAA;AACA,IAAAG,WAAA,GAAAH,OAAA;AACA,IAAAI,eAAA,GAAAJ,OAAA;AACA,IAAAK,WAAA,GAAAL,OAAA;AACA,IAAAM,KAAA,GAAAN,OAAA;AAAqC,IAAAO,WAAA,GAAAP,OAAA;AAAA,SAAAD,wBAAAS,CAAA,EAAAC,CAAA,6BAAAC,OAAA,MAAAC,CAAA,OAAAD,OAAA,IAAAE,CAAA,OAAAF,OAAA,YAAAX,uBAAA,YAAAA,CAAAS,CAAA,EAAAC,CAAA,SAAAA,CAAA,IAAAD,CAAA,IAAAA,CAAA,CAAAK,UAAA,SAAAL,CAAA,MAAAM,CAAA,EAAAC,CAAA,EAAAC,CAAA,KAAAC,SAAA,QAAAC,OAAA,EAAAV,CAAA,iBAAAA,CAAA,uBAAAA,CAAA,yBAAAA,CAAA,SAAAQ,CAAA,MAAAF,CAAA,GAAAL,CAAA,GAAAG,CAAA,GAAAD,CAAA,QAAAG,CAAA,CAAAK,GAAA,CAAAX,CAAA,UAAAM,CAAA,CAAAM,GAAA,CAAAZ,CAAA,GAAAM,CAAA,CAAAO,GAAA,CAAAb,CAAA,EAAAQ,CAAA,gBAAAP,CAAA,IAAAD,CAAA,gBAAAC,CAAA,OAAAa,cAAA,CAAAC,IAAA,CAAAf,CAAA,EAAAC,CAAA,OAAAM,CAAA,IAAAD,CAAA,GAAAU,MAAA,CAAAC,cAAA,KAAAD,MAAA,CAAAE,wBAAA,CAAAlB,CAAA,EAAAC,CAAA,OAAAM,CAAA,CAAAK,GAAA,IAAAL,CAAA,CAAAM,GAAA,IAAAP,CAAA,CAAAE,CAAA,EAAAP,CAAA,EAAAM,CAAA,IAAAC,CAAA,CAAAP,CAAA,IAAAD,CAAA,CAAAC,CAAA,WAAAO,CAAA,KAAAR,CAAA,EAAAC,CAAA;AAKrC;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAgDA,MAAMkB,aAAa,GAAG,EAAE;AACxB,MAAMC,eAAe,GAAG,EAAE;AAC1B,MAAMC,IAAI,GAAG,EAAE;AACf,MAAMC,IAAI,GAAG,CAAC;AACd;AACA,MAAMC,QAAQ,GAAG,EAAE;AACnB,MAAMC,GAAG,GAAG,CAAC;AACb;AACA,MAAMC,SAAS,GAAG,CAAC;AACnB,MAAMC,gBAAgB,GAAG,GAAG;AAC5B;AACA;AACA;AACA;AACA,MAAMC,IAAI,GAAG,IAAI;AACjB;AACA;AACA;AACA;AACA;AACA;AACA;AACA,MAAMC,UAAU,GAAG,EAAE;AACrB,MAAMC,WAAW,GAAG,CAClB;EAAEC,KAAK,EAAE,CAACF,UAAU;EAAEG,OAAO,EAAE;AAAK,CAAC,EACrC;EAAED,KAAK,EAAE,CAAC,EAAE;EAAEC,OAAO,EAAE;AAAM,CAAC,EAC9B;EAAED,KAAK,EAAE,CAAC,EAAE;EAAEC,OAAO,EAAE;AAAK,CAAC,EAC7B;EAAED,KAAK,EAAE,CAAC,CAAC;EAAEC,OAAO,EAAE;AAAM,CAAC,EAC7B;EAAED,KAAK,EAAE,CAAC,CAAC;EAAEC,OAAO,EAAE;AAAK,CAAC,EAC5B;EAAED,KAAK,EAAE,CAAC,CAAC;EAAEC,OAAO,EAAE;AAAM,CAAC,CAC9B;AAED,MAAMC,SAAS,GAAG,IAAAC,0BAAY,EAAEC,KAAK,KAAM;EACzCC,IAAI,EAAE;IAAEC,SAAS,EAAE;EAAU,CAAC;EAC9BC,GAAG,EAAE;IAAEC,aAAa,EAAE,KAAK;IAAEC,UAAU,EAAE;EAAS,CAAC;EACnDC,IAAI,EAAE;IAAEC,IAAI,EAAE,CAAC;IAAEC,cAAc,EAAE;EAAS,CAAC;EAC3CC,QAAQ,EAAE;IAAEJ,UAAU,EAAE,UAAU;IAAEK,YAAY,EAAEV,KAAK,CAACW,MAAM,CAACC,OAAO,CAACC;EAAG,CAAC;EAC3EC,SAAS,EAAE;IAAET,UAAU,EAAE,YAAY;IAAEU,WAAW,EAAEf,KAAK,CAACW,MAAM,CAACC,OAAO,CAACC;EAAG,CAAC;EAC7EG,IAAI,EAAE;IACJC,QAAQ,EAAE,UAAU;IACpBC,KAAK,EAAE/B,IAAI;IACXgC,MAAM,EAAEhC,IAAI;IACZiC,YAAY,EAAEjC,IAAI,GAAG,CAAC;IACtBkC,WAAW,EAAEjC;EACf,CAAC;EACDkC,WAAW,EAAE;IAAEC,eAAe,EAAE,aAAa;IAAEC,WAAW,EAAExB,KAAK,CAACyB,MAAM,CAACC;EAAO,CAAC;EACjF;EACAC,QAAQ,EAAE;IAAEV,QAAQ,EAAE,UAAU;IAAEW,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE,CAAC;IAAEX,YAAY,EAAEjC,IAAI,GAAG;EAAE,CAAC;EAChG6C,IAAI,EAAE;IACJ5B,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,QAAQ;IACpB4B,GAAG,EAAEjC,KAAK,CAACW,MAAM,CAACC,OAAO,CAACsB,EAAE;IAC5BC,eAAe,EAAEnC,KAAK,CAACW,MAAM,CAACC,OAAO,CAACsB,EAAE;IACxCE,iBAAiB,EAAEpC,KAAK,CAACW,MAAM,CAACC,OAAO,CAACyB,EAAE;IAC1CjB,YAAY,EAAEpB,KAAK,CAACW,MAAM,CAAC2B,MAAM,CAACC,IAAI;IACtClB,WAAW,EAAE,CAAC;IACdG,WAAW,EAAExB,KAAK,CAACyB,MAAM,CAACC,MAAM;IAChCH,eAAe,EAAEvB,KAAK,CAACyB,MAAM,CAACe;EAChC,CAAC;EACD;EACA;EACAC,YAAY,EAAE;IAAEjB,WAAW,EAAExB,KAAK,CAACyB,MAAM,CAACiB,OAAO;IAAErB,WAAW,EAAE;EAAE,CAAC;EACnEsB,KAAK,EAAE;IAAEC,QAAQ,EAAE5C,KAAK,CAACW,MAAM,CAACiC,QAAQ,CAAC/B,EAAE;IAAEgC,KAAK,EAAE7C,KAAK,CAACyB,MAAM,CAACqB;EAAK,CAAC;EACvEC,YAAY,EAAE;IAAEF,KAAK,EAAE7C,KAAK,CAACyB,MAAM,CAACuB;EAAU,CAAC;EAC/CC,KAAK,EAAE;IAAEL,QAAQ,EAAE5C,KAAK,CAACW,MAAM,CAACiC,QAAQ,CAAC/B;EAAG,CAAC;EAC7CqC,IAAI,EAAE;IACJjC,QAAQ,EAAE,UAAU;IACpBG,YAAY,EAAEpB,KAAK,CAACW,MAAM,CAAC2B,MAAM,CAACC,IAAI;IACtChB,eAAe,EAAEvB,KAAK,CAACyB,MAAM,CAACqB;EAChC,CAAC;EACD;EACA;EACA;EACA;EACA;EACAK,SAAS,EAAE;IAAElC,QAAQ,EAAE,UAAU;IAAEW,GAAG,EAAE,CAAC;IAAEC,IAAI,EAAE,CAAC;IAAEC,KAAK,EAAE,CAAC;IAAEC,MAAM,EAAE,CAAC;IAAE1B,UAAU,EAAE;EAAS,CAAC;EAC/F;EACA;EACA+C,QAAQ,EAAE;IAAElC,KAAK,EAAE/B;EAAK,CAAC;EACzBkE,OAAO,EAAE;IAAEpC,QAAQ,EAAE,UAAU;IAAEC,KAAK,EAAE9B;EAAK,CAAC;EAC9CkE,GAAG,EAAE;IAAErC,QAAQ,EAAE,UAAU;IAAEC,KAAK,EAAE5B,GAAG;IAAE6B,MAAM,EAAE7B,GAAG;IAAE8B,YAAY,EAAE9B,GAAG,GAAG;EAAE;AAC9E,CAAC,CAAC,CAAC;;AAEH;AACA;AACA;AACA;AACA;AACA,SAASiE,QAAQA,CAACC,KAAa,EAAEC,KAAa,EAAEC,KAAa,EAAU;EACrE,IAAID,KAAK,GAAG,CAAC,EAAE,OAAO,CAAC;EACvB,OAAOC,KAAK,GAAGC,IAAI,CAACC,GAAG,CAAE,CAAC,GAAGD,IAAI,CAACE,EAAE,GAAGL,KAAK,IAAKC,KAAK,GAAG,CAAC,CAAC,CAAC;AAC9D;AAEO,MAAMK,QAAQ,GAAAC,OAAA,CAAAD,QAAA,gBAAG,IAAAE,WAAI,EAC1B,CAAC;EACCC,KAAK;EACLP,KAAK,GAAGzE,aAAa;EACrB2B,OAAO,GAAG1B,eAAe;EACzBgF,SAAS,GAAG,OAAO;EACnBhB,IAAI,GAAG,IAAI;EACXiB,WAAW;EACXC,OAAO,GAAG,MAAM;EAChBC,aAAa;EACbC,QAAQ,GAAG9E,gBAAgB;EAC3B+E,KAAK;EACLC;AACa,CAAC,KAAK;EACnB,MAAMC,MAAM,GAAG3E,SAAS,CAAC,CAAC;EAC1B,MAAM2B,MAAM,GAAG,IAAAiD,qBAAS,EAAC,CAAC;EAC1B,MAAMC,gBAAgB,GAAG,IAAAC,+BAAmB,EAAC,CAAC;EAC9C,MAAMC,YAAY,GAAG,IAAAC,2BAAe,EAAC,CAAC;EAEtC,MAAMrB,KAAK,GAAGQ,KAAK,CAACc,MAAM;;EAE1B;AACJ;AACA;AACA;AACA;EACI,MAAMC,OAAO,GAAG,IAAAC,cAAO,EAAC,MAAM;IAC5B,IAAIC,IAAI,GAAG,CAAC,CAAC;IACb,KAAK,IAAI7G,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAG4F,KAAK,CAACc,MAAM,EAAE1G,CAAC,IAAI,CAAC,EAAE;MACxC,IAAI4F,KAAK,CAAC5F,CAAC,CAAC,EAAE8G,MAAM,KAAK,SAAS,EAAE;MACpCD,IAAI,GAAG7G,CAAC;IACV;IACA,OAAO6G,IAAI;EACb,CAAC,EAAE,CAACjB,KAAK,CAAC,CAAC;;EAEX;AACJ;AACA;AACA;AACA;EACI,MAAMmB,QAAQ,GAAG,IAAAC,aAAM,EAACL,OAAO,CAAC;EAChC,IAAIZ,OAAO,KAAK,MAAM,EAAEgB,QAAQ,CAACE,OAAO,GAAGN,OAAO,CAAC,KAC9CI,QAAQ,CAACE,OAAO,GAAG3B,IAAI,CAAC4B,GAAG,CAACH,QAAQ,CAACE,OAAO,EAAEN,OAAO,CAAC;EAC3D,MAAMQ,MAAM,GAAGJ,QAAQ,CAACE,OAAO;EAE/B,MAAMG,QAAQ,GAAG,IAAAJ,aAAM,EAAC,IAAIK,qBAAQ,CAACC,KAAK,CAACH,MAAM,CAAC,CAAC,CAACF,OAAO;EAE3D,IAAAM,gBAAS,EAAC,MAAM;IACd,MAAMC,SAAS,GAAGH,qBAAQ,CAACI,MAAM,CAACL,QAAQ,EAAE;MAC1CM,OAAO,EAAEP,MAAM;MACf;MACA;MACAlB,QAAQ,EAAEO,YAAY,GAAG,CAAC,GAAGP,QAAQ;MACrC0B,MAAM,EAAEC,mBAAM,CAACC,KAAK,CAACD,mBAAM,CAACE,KAAK,CAAC;MAClCC,eAAe,EAAE;IACnB,CAAC,CAAC;IACFP,SAAS,CAACQ,KAAK,CAAC,CAAC;IACjB,OAAO,MAAMR,SAAS,CAACS,IAAI,CAAC,CAAC;EAC/B,CAAC,EAAE,CAACd,MAAM,EAAElB,QAAQ,EAAEO,YAAY,EAAEY,QAAQ,CAAC,CAAC;;EAE9C;AACJ;AACA;AACA;AACA;AACA;EACI,MAAMc,MAAM,GAAG,IAAAtB,cAAO,EAAC,MAAM;IAC3B,MAAMuB,GAQH,GAAG,EAAE;IAER,KAAK,IAAInI,CAAC,GAAG,CAAC,EAAEA,CAAC,GAAGoF,KAAK,GAAG,CAAC,EAAEpF,CAAC,IAAI,CAAC,EAAE;MACrC,KAAK,IAAIoI,IAAI,GAAG,CAAC,EAAEA,IAAI,GAAGpH,QAAQ,EAAEoH,IAAI,IAAI,CAAC,EAAE;QAC7C,MAAMC,IAAI,GAAGrI,CAAC,GAAGoI,IAAI,GAAGpH,QAAQ;QAChC,MAAMsH,EAAE,GAAGtI,CAAC,GAAG,CAACoI,IAAI,GAAG,CAAC,IAAIpH,QAAQ;QACpC,MAAMuH,EAAE,GAAGrD,QAAQ,CAACmD,IAAI,EAAEjD,KAAK,EAAEC,KAAK,CAAC;QACvC,MAAMmD,EAAE,GAAGtD,QAAQ,CAACoD,EAAE,EAAElD,KAAK,EAAEC,KAAK,CAAC;QACrC,MAAMoD,EAAE,GAAGJ,IAAI,GAAG9F,OAAO;QACzB,MAAMmG,EAAE,GAAGJ,EAAE,GAAG/F,OAAO;QACvB,MAAMoG,EAAE,GAAGH,EAAE,GAAGD,EAAE;QAClB,MAAMK,EAAE,GAAGF,EAAE,GAAGD,EAAE;QAClB,MAAM/B,MAAM,GAAGpB,IAAI,CAACuD,IAAI,CAACF,EAAE,GAAGA,EAAE,GAAGC,EAAE,GAAGA,EAAE,CAAC;QAE3CT,GAAG,CAACW,IAAI,CAAC;UACPC,GAAG,EAAE,GAAG/I,CAAC,IAAIoI,IAAI,EAAE;UACnBY,CAAC,EAAE,CAACT,EAAE,GAAGC,EAAE,IAAI,CAAC;UAChBS,CAAC,EAAE,CAACR,EAAE,GAAGC,EAAE,IAAI,CAAC;UAChBhC,MAAM;UACN;UACA;UACAwC,KAAK,EAAE,GAAG5D,IAAI,CAAC6D,KAAK,CAACR,EAAE,EAAEC,EAAE,CAAC,IAAI,GAAG,GAAGtD,IAAI,CAACE,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK;UACxD;UACA;UACA4D,EAAE,EAAEd,EAAE;UACNe,MAAM,EAAEjB,IAAI,GAAGlH,SAAS,KAAK;QAC/B,CAAC,CAAC;MACJ;IACF;IAEA,OAAOiH,GAAG;EACZ,CAAC,EAAE,CAAC/C,KAAK,EAAEC,KAAK,EAAE9C,OAAO,CAAC,CAAC;EAE3B,IAAI6C,KAAK,KAAK,CAAC,EAAE,OAAO,IAAI;EAE5B,oBACE,IAAA5F,WAAA,CAAA8J,IAAA,EAACpK,YAAA,CAAAqK,IAAI;IACHrD,KAAK,EAAE,CACLE,MAAM,CAACxE,IAAI,EACX;MAAEkB,MAAM,EAAEsC,KAAK,GAAG7C;IAAQ,CAAC,EAC3B2D,KAAK,CACL;IACFC,MAAM,EAAEA,MAAO;IAAAqD,QAAA,gBAEf,IAAAhK,WAAA,CAAA8J,IAAA,EAACpK,YAAA,CAAAqK,IAAI;MAACrD,KAAK,EAAEE,MAAM,CAACtB,SAAU;MAAC2E,aAAa,EAAC,MAAM;MAAAD,QAAA,GAEhDtB,MAAM,CAACwB,GAAG,CACRC,KAAK,IACJA,KAAK,CAACN,MAAM,iBACV,IAAA7J,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAqK,IAAI;QAEHrD,KAAK,EAAE,CACLE,MAAM,CAACnB,GAAG,EACV;UACE/B,eAAe,EAAEE,MAAM,CAACC,MAAM;UAC9BE,GAAG,EAAEhB,OAAO,GAAG,CAAC,GAAGoH,KAAK,CAACV,CAAC,GAAGhI,GAAG,GAAG,CAAC;UACpC4I,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAEH,KAAK,CAACX;UAAE,CAAC;QACrC,CAAC;MACD,GARG,OAAOW,KAAK,CAACZ,GAAG,EAStB,CAEP,CAAC,EAKAb,MAAM,CAACwB,GAAG,CAAEC,KAAK,iBAChB,IAAAnK,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAmI,QAAQ,CAACkC,IAAI;QAEZrD,KAAK,EAAE,CACLE,MAAM,CAACpB,OAAO,EACd;UACE9B,eAAe,EAAEE,MAAM,CAACuB,SAAS;UACjC7B,MAAM,EAAE6G,KAAK,CAACjD,MAAM;UACpBnD,GAAG,EAAEhB,OAAO,GAAG,CAAC,GAAGoH,KAAK,CAACV,CAAC,GAAGU,KAAK,CAACjD,MAAM,GAAG,CAAC;UAC7ClF,OAAO,EAAE4F,QAAQ,CAAC2C,WAAW,CAAC;YAC5BC,UAAU,EAAE,CAACL,KAAK,CAACP,EAAE,GAAGhI,IAAI,EAAEuI,KAAK,CAACP,EAAE,CAAC;YACvCa,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;YACnBC,WAAW,EAAE;UACf,CAAC,CAAC;UACFL,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAEH,KAAK,CAACX;UAAE,CAAC,EAAE;YAAEmB,MAAM,EAAER,KAAK,CAACT;UAAM,CAAC;QAC9D,CAAC;MACD,GAdG,QAAQS,KAAK,CAACZ,GAAG,EAevB,CACF,CAAC,EAEDnD,KAAK,CAAC8D,GAAG,CAAC,CAACU,IAAI,EAAEjF,KAAK,kBACrB,IAAA3F,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAqK,IAAI;QAEHrD,KAAK,EAAE,CACLE,MAAM,CAACzD,IAAI,EACXyD,MAAM,CAACnD,WAAW,EAClB;UACEM,GAAG,EAAEhB,OAAO,GAAG,CAAC,GAAG4C,KAAK,GAAG5C,OAAO,GAAGzB,IAAI,GAAG,CAAC;UAC7C+I,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAE5E,QAAQ,CAACC,KAAK,EAAEC,KAAK,EAAEC,KAAK;UAAE,CAAC;QAC3D,CAAC,CACD;QAAAmE,QAAA,eAIF,IAAAhK,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAmI,QAAQ,CAACkC,IAAI;UACZrD,KAAK,EAAE,CACLE,MAAM,CAAC9C,QAAQ,EACf;YACEJ,eAAe,EAAEE,MAAM,CAACuB,SAAS;YACjCnD,OAAO,EAAE4F,QAAQ,CAAC2C,WAAW,CAAC;cAC5BC,UAAU,EAAE,CAAC7E,KAAK,GAAG/D,IAAI,EAAE+D,KAAK,CAAC;cACjC8E,WAAW,EAAE,CAAC,CAAC,EAAE,CAAC,CAAC;cACnBC,WAAW,EAAE;YACf,CAAC,CAAC;YACFL,SAAS,EAAE,CACT;cACEQ,KAAK,EAAEjD,QAAQ,CAAC2C,WAAW,CAAC;gBAC1BC,UAAU,EAAE,CAAC7E,KAAK,GAAG/D,IAAI,EAAE+D,KAAK,CAAC;gBACjC8E,WAAW,EAAE,CAAC,GAAG,EAAE,CAAC,CAAC;gBACrBC,WAAW,EAAE;cACf,CAAC;YACH,CAAC;UAEL,CAAC;QACD,CACH;MAAC,GAjCG,QAAQE,IAAI,CAAC9F,KAAK,IAAIa,KAAK,EAkC5B,CACP,CAAC;IAAA,CACE,CAAC,EAENS,KAAK,CAAC8D,GAAG,CAAC,CAACU,IAAI,EAAEjF,KAAK,KAAK;MAC1B,MAAMmF,OAAO,GAAGF,IAAI,CAACtD,MAAM,KAAK,SAAS;MACzC,MAAMyD,OAAO,GAAIpF,KAAK,GAAG,CAAC,KAAK,CAAC,MAAOU,SAAS,KAAK,OAAO,CAAC;MAC7D,MAAM2E,MAAM,GAAGtF,QAAQ,CAACC,KAAK,EAAEC,KAAK,EAAEC,KAAK,CAAC;MAC5C;MACA;MACA;MACA;MACA,MAAMoF,KAAK,GAAG5F,IAAI,GAAGxD,UAAU,GAAG,CAAC;MACnC,MAAMqJ,QAAQ,GAAGpF,IAAI,CAAC4B,GAAG,CAAC,CAAC,EAAE,CAACsD,MAAM,CAAC,GAAGC,KAAK;MAC7C,MAAME,SAAS,GAAGrF,IAAI,CAAC4B,GAAG,CAAC,CAAC,EAAEsD,MAAM,CAAC,GAAGC,KAAK;MAE7C,MAAM9G,IAAI,gBACR,IAAAnE,WAAA,CAAA8J,IAAA,EAACpK,YAAA,CAAAqK,IAAI;QAAAC,QAAA,GACF3E,IAAI,IACHvD,WAAW,CAACoI,GAAG,CAAEkB,KAAK,iBACpB,IAAApL,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAqK,IAAI;UAEHE,aAAa,EAAC,MAAM;UACpBvD,KAAK,EAAE,CACLE,MAAM,CAACvB,IAAI,EACX;YACEtB,GAAG,EAAEqH,KAAK,CAACrJ,KAAK;YAChBmC,MAAM,EAAEkH,KAAK,CAACrJ,KAAK;YACnBiC,IAAI,EAAEoH,KAAK,CAACrJ,KAAK;YACjBkC,KAAK,EAAEmH,KAAK,CAACrJ,KAAK;YAClBC,OAAO,EAAE8I,OAAO,GAAGM,KAAK,CAACpJ,OAAO,GAAG,CAAC,GAAGoJ,KAAK,CAACpJ;UAC/C,CAAC;QACD,GAXGoJ,KAAK,CAACrJ,KAYZ,CACF,CAAC,eACJ,IAAA/B,WAAA,CAAA8J,IAAA,EAACpK,YAAA,CAAAqK,IAAI;UAACrD,KAAK,EAAE,CAACE,MAAM,CAACzC,IAAI,EAAEwB,KAAK,KAAKa,aAAa,IAAII,MAAM,CAAChC,YAAY,CAAE;UAAAoF,QAAA,GACxEY,IAAI,CAACxF,KAAK,gBACT,IAAApF,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAA2L,IAAI;YAACvE,gBAAgB,EAAEA,gBAAiB;YAACJ,KAAK,EAAEE,MAAM,CAACxB,KAAM;YAAA4E,QAAA,EAC3DY,IAAI,CAACxF;UAAK,CACP,CAAC,GAEP,CAAC,CAACwF,IAAI,CAACU,QAAQ,iBACb,IAAAtL,WAAA,CAAAoK,GAAA,EAACrK,KAAA,CAAAwL,IAAI;YAACC,IAAI,EAAEZ,IAAI,CAACU,QAAS;YAACG,IAAI,EAAE,EAAG;YAACzG,KAAK,EAAE8F,OAAO,GAAGlH,MAAM,CAACuB,SAAS,GAAGvB,MAAM,CAACqB;UAAK,CAAE,CAE1F,eACD,IAAAjF,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAA2L,IAAI;YAACvE,gBAAgB,EAAEA,gBAAiB;YAACJ,KAAK,EAAE,CAACE,MAAM,CAAC9B,KAAK,EAAEgG,OAAO,IAAIlE,MAAM,CAAC1B,YAAY,CAAE;YAAA8E,QAAA,EAC7FY,IAAI,CAAC9F;UAAK,CACP,CAAC;QAAA,CACH,CAAC;MAAA,CACH,CACP;;MAED;MACA;MACA;MACA;MACA,MAAM4G,SAAS,GACbnF,OAAO,KAAK,YAAY,GACpBZ,KAAK,KAAKgC,MAAM,GAAG,CAAC,GACpBpB,OAAO,KAAK,SAAS,GACnBZ,KAAK,IAAIgC,MAAM,GAAG,CAAC,GACnB,IAAI;MAEZ,MAAMgE,SAAS,GAAGrF,WAAW,gBAC3B,IAAAtG,WAAA,CAAAoK,GAAA,EAACvK,eAAA,CAAA+L,cAAc;QACbC,OAAO,EAAEA,CAAA,KAAMvF,WAAW,CAACX,KAAK,CAAE;QAClCmG,QAAQ,EAAE,CAACJ,SAAU;QACrBK,iBAAiB,EAAC,QAAQ;QAC1BC,kBAAkB,EAAEpB,IAAI,CAAC9F,KAAM;QAC/BmH,kBAAkB,EAAE;UAAEC,OAAO,EAAE,CAACpB,OAAO;UAAEgB,QAAQ,EAAE,CAACJ,SAAS;UAAES,QAAQ,EAAExG,KAAK,KAAKa;QAAc,CAAE;QACnGG,MAAM,EAAEA,MAAM,IAAI,GAAGA,MAAM,UAAUhB,KAAK,EAAG;QAAAqE,QAAA,EAE5C7F;MAAI,CACS,CAAC,GAEjBA,IACD;MAED,oBACE,IAAAnE,WAAA,CAAA8J,IAAA,EAACpK,YAAA,CAAAqK,IAAI;QAEHpD,MAAM,EAAEA,MAAM,IAAI,GAAGA,MAAM,SAAShB,KAAK,EAAG;QAC5CoG,iBAAiB,EAAEzF,WAAW,GAAG8F,SAAS,GAAG,MAAO;QACpDJ,kBAAkB,EAAE1F,WAAW,GAAG8F,SAAS,GAAGxB,IAAI,CAAC9F,KAAM;QACzDmH,kBAAkB,EAAE3F,WAAW,GAAG8F,SAAS,GAAG;UAAEF,OAAO,EAAE,CAACpB;QAAQ,CAAE;QACpEpE,KAAK,EAAE,CAACE,MAAM,CAACtE,GAAG,EAAE;UAAEgB,MAAM,EAAEP,OAAO;UAAEsH,SAAS,EAAE,CAAC;YAAEC,UAAU,EAAEU;UAAO,CAAC;QAAE,CAAC,CAAE;QAAAhB,QAAA,gBAE9E,IAAAhK,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAqK,IAAI;UACHpD,MAAM,EAAEA,MAAM,IAAI,GAAGA,MAAM,SAAShB,KAAK,OAAQ;UACjDe,KAAK,EAAE,CAACE,MAAM,CAACnE,IAAI,EAAEmE,MAAM,CAAChE,QAAQ,EAAE;YAAEM,WAAW,EAAEgI;UAAS,CAAC,CAAE;UAAAlB,QAAA,EAEhE,CAACe,OAAO,IAAIY;QAAS,CAClB,CAAC,eACP,IAAA3L,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAqK,IAAI;UAACrD,KAAK,EAAEE,MAAM,CAACrB;QAAS,CAAE,CAAC,eAChC,IAAAvF,WAAA,CAAAoK,GAAA,EAAC1K,YAAA,CAAAqK,IAAI;UACHpD,MAAM,EAAEA,MAAM,IAAI,GAAGA,MAAM,SAAShB,KAAK,QAAS;UAClDe,KAAK,EAAE,CAACE,MAAM,CAACnE,IAAI,EAAEmE,MAAM,CAAC3D,SAAS,EAAE;YAAEJ,YAAY,EAAEsI;UAAU,CAAC,CAAE;UAAAnB,QAAA,EAEnEe,OAAO,IAAIY;QAAS,CACjB,CAAC;MAAA,GAnBF,GAAGf,IAAI,CAAC9F,KAAK,IAAIa,KAAK,EAoBvB,CAAC;IAEX,CAAC,CAAC;EAAA,CACE,CAAC;AAEX,CACF,CAAC;AACDM,QAAQ,CAACoG,WAAW,GAAG,UAAU","ignoreList":[]}