orn-ui 0.2.8 → 0.2.10

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 +968 -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 +963 -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 +1252 -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,415 @@
1
+ "use strict";
2
+
3
+ import React, { memo, useEffect, useMemo, useRef } from 'react';
4
+ import { Animated, Easing, Text, View } from 'react-native';
5
+ import { createStyles } from '../theme/createStyles';
6
+ import { useAllowFontScaling, useColors } from '../theme/UIProvider';
7
+ import { PressableScale } from '../atoms/PressableScale';
8
+ import { useReduceMotion } from '../atoms/Transition';
9
+ import { Icon } from '../icons/Icon';
10
+
11
+ /**
12
+ * Qué puede hacer un toque.
13
+ * - 'free': cualquier hito responde y la línea sigue a `items` para donde
14
+ * vaya, adelante o atrás. Es el que sirve cuando el recorrido no es un
15
+ * progreso, o cuando lo maneja otra cosa.
16
+ * - 'sequential': sólo responde el que sigue al alcanzado, y la línea no
17
+ * retrocede nunca. Avance estricto.
18
+ * - 'revisit': responden el que sigue y todos los ya alcanzados, y la línea
19
+ * tampoco retrocede. Es el caso de "puedo volver a mirar lo anterior sin
20
+ * perder lo que llevo".
21
+ */
22
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
23
+ const DEFAULT_CURVE = 28;
24
+ const DEFAULT_SPACING = 84;
25
+ const NODE = 14;
26
+ const LINE = 2;
27
+ /** Tramos rectos por cada vano: con menos, la curva se ve poligonal. */
28
+ const SEGMENTS = 14;
29
+ const DOT = 3;
30
+ /** Un punto cada cuántos tramos: el camino entero va punteado por debajo. */
31
+ const DOT_EVERY = 2;
32
+ const DEFAULT_DURATION = 420;
33
+ /**
34
+ * Cuánto tarda un tramo en encenderse, medido en hitos. Chico para que el
35
+ * frente de la línea se lea como un borde y no como un degradado largo.
36
+ */
37
+ const FADE = 0.06;
38
+ /**
39
+ * Capas del halo, de afuera hacia adentro. Son muchas y muy tenues a
40
+ * propósito: con tres capas se ven los anillos, que es justo lo contrario de
41
+ * un difuminado. Cuantos más escalones y más chico el salto de opacidad, más
42
+ * cerca queda de un degradado.
43
+ */
44
+ /** Lo que el halo sobresale de la píldora: es lo que hay que dejarle de aire. */
45
+ const GLOW_BLEED = 20;
46
+ const GLOW_LAYERS = [{
47
+ inset: -GLOW_BLEED,
48
+ opacity: 0.03
49
+ }, {
50
+ inset: -16,
51
+ opacity: 0.035
52
+ }, {
53
+ inset: -12,
54
+ opacity: 0.04
55
+ }, {
56
+ inset: -8,
57
+ opacity: 0.045
58
+ }, {
59
+ inset: -5,
60
+ opacity: 0.05
61
+ }, {
62
+ inset: -2,
63
+ opacity: 0.055
64
+ }];
65
+ const useStyles = createStyles(theme => ({
66
+ root: {
67
+ alignSelf: 'stretch'
68
+ },
69
+ row: {
70
+ flexDirection: 'row',
71
+ alignItems: 'center'
72
+ },
73
+ side: {
74
+ flex: 1,
75
+ justifyContent: 'center'
76
+ },
77
+ sideLeft: {
78
+ alignItems: 'flex-end',
79
+ paddingRight: theme.tokens.spacing.md
80
+ },
81
+ sideRight: {
82
+ alignItems: 'flex-start',
83
+ paddingLeft: theme.tokens.spacing.md
84
+ },
85
+ node: {
86
+ position: 'absolute',
87
+ width: NODE,
88
+ height: NODE,
89
+ borderRadius: NODE / 2,
90
+ borderWidth: LINE
91
+ },
92
+ nodePending: {
93
+ backgroundColor: 'transparent',
94
+ borderColor: theme.colors.border
95
+ },
96
+ // Ocupa el círculo entero menos el borde, así el relleno no lo tapa.
97
+ nodeFill: {
98
+ position: 'absolute',
99
+ top: 0,
100
+ left: 0,
101
+ right: 0,
102
+ bottom: 0,
103
+ borderRadius: NODE / 2
104
+ },
105
+ pill: {
106
+ flexDirection: 'row',
107
+ alignItems: 'center',
108
+ gap: theme.tokens.spacing.sm,
109
+ paddingVertical: theme.tokens.spacing.sm,
110
+ paddingHorizontal: theme.tokens.spacing.lg,
111
+ borderRadius: theme.tokens.radius.full,
112
+ borderWidth: 1,
113
+ borderColor: theme.colors.border,
114
+ backgroundColor: theme.colors.surface
115
+ },
116
+ // El foco se marca con el borde, no con el relleno: el relleno ya está
117
+ // diciendo otra cosa (si el hito está alcanzado o no).
118
+ pillSelected: {
119
+ borderColor: theme.colors.primary,
120
+ borderWidth: 2
121
+ },
122
+ label: {
123
+ fontSize: theme.tokens.fontSize.md,
124
+ color: theme.colors.text
125
+ },
126
+ labelPending: {
127
+ color: theme.colors.textLight
128
+ },
129
+ emoji: {
130
+ fontSize: theme.tokens.fontSize.md
131
+ },
132
+ glow: {
133
+ position: 'absolute',
134
+ borderRadius: theme.tokens.radius.full,
135
+ backgroundColor: theme.colors.text
136
+ },
137
+ // La línea y los nodos viven en la misma capa y se posicionan con las mismas
138
+ // coordenadas. Es lo único que garantiza que el círculo caiga sobre la
139
+ // curva: en el flujo de la fila el nodo lo corre el flex —y los paddings que
140
+ // cada lado necesita para no cortar su píldora—, así que terminaba a un
141
+ // costado de la línea en vez de encima.
142
+ lineLayer: {
143
+ position: 'absolute',
144
+ top: 0,
145
+ left: 0,
146
+ right: 0,
147
+ bottom: 0,
148
+ alignItems: 'center'
149
+ },
150
+ // Hueco del ancho del nodo en la fila: la píldora se separa del centro lo
151
+ // mismo que antes, pero el círculo ya no se dibuja acá.
152
+ nodeSlot: {
153
+ width: NODE
154
+ },
155
+ segment: {
156
+ position: 'absolute',
157
+ width: LINE
158
+ },
159
+ dot: {
160
+ position: 'absolute',
161
+ width: DOT,
162
+ height: DOT,
163
+ borderRadius: DOT / 2
164
+ }
165
+ }));
166
+
167
+ /**
168
+ * Desvío horizontal del nodo `index` respecto del eje. Una onda entera a lo
169
+ * largo de la lista: el primero y el último caen sobre el eje, y los del medio
170
+ * se van a un lado y al otro. Es lo que convierte una columna en un camino.
171
+ */
172
+ function offsetAt(index, count, curve) {
173
+ if (count < 2) return 0;
174
+ return curve * Math.sin(2 * Math.PI * index / (count - 1));
175
+ }
176
+ export const Timeline = /*#__PURE__*/memo(({
177
+ items,
178
+ curve = DEFAULT_CURVE,
179
+ spacing = DEFAULT_SPACING,
180
+ startSide = 'right',
181
+ glow = true,
182
+ onItemPress,
183
+ advance = 'free',
184
+ selectedIndex,
185
+ duration = DEFAULT_DURATION,
186
+ style,
187
+ testID
188
+ }) => {
189
+ const styles = useStyles();
190
+ const colors = useColors();
191
+ const allowFontScaling = useAllowFontScaling();
192
+ const reduceMotion = useReduceMotion();
193
+ const count = items.length;
194
+
195
+ /**
196
+ * Hasta dónde llegó el recorrido, en unidades de hito. Se cuenta desde el
197
+ * principio y se corta en el primer pendiente: un hito cumplido después de
198
+ * uno que no lo está no adelanta la línea, porque el camino es un camino.
199
+ */
200
+ const reached = useMemo(() => {
201
+ let last = -1;
202
+ for (let i = 0; i < items.length; i += 1) {
203
+ if (items[i]?.status === 'pending') break;
204
+ last = i;
205
+ }
206
+ return last;
207
+ }, [items]);
208
+
209
+ /**
210
+ * Marca de agua: salvo en 'free', la línea se queda en lo más lejos que
211
+ * llegó. El progreso es del usuario, no del render — que el padre mande
212
+ * una lista más corta no puede desandar lo que ya recorrió.
213
+ */
214
+ const furthest = useRef(reached);
215
+ if (advance === 'free') furthest.current = reached;else furthest.current = Math.max(furthest.current, reached);
216
+ const lineTo = furthest.current;
217
+ const progress = useRef(new Animated.Value(lineTo)).current;
218
+ useEffect(() => {
219
+ const animation = Animated.timing(progress, {
220
+ toValue: lineTo,
221
+ // Un hito por `duration`: avanzar tres de una vez tarda tres veces
222
+ // más, así se ve el recorrido y no un salto.
223
+ duration: reduceMotion ? 0 : duration,
224
+ easing: Easing.inOut(Easing.cubic),
225
+ useNativeDriver: true
226
+ });
227
+ animation.start();
228
+ return () => animation.stop();
229
+ }, [lineTo, duration, reduceMotion, progress]);
230
+
231
+ /**
232
+ * Cada vano partido en tramos rectos cortos, cada uno con su largo y su
233
+ * ángulo. Es la misma idea que `Gradient`: la plataforma no tiene curvas
234
+ * sin dependencia nativa, así que la curva se compone con pedazos rectos
235
+ * lo bastante chicos como para que el ojo no vea el quiebre.
236
+ */
237
+ const pieces = useMemo(() => {
238
+ const out = [];
239
+ for (let i = 0; i < count - 1; i += 1) {
240
+ for (let step = 0; step < SEGMENTS; step += 1) {
241
+ const from = i + step / SEGMENTS;
242
+ const to = i + (step + 1) / SEGMENTS;
243
+ const x1 = offsetAt(from, count, curve);
244
+ const x2 = offsetAt(to, count, curve);
245
+ const y1 = from * spacing;
246
+ const y2 = to * spacing;
247
+ const dx = x2 - x1;
248
+ const dy = y2 - y1;
249
+ const length = Math.sqrt(dx * dx + dy * dy);
250
+ out.push({
251
+ key: `${i}-${step}`,
252
+ x: (x1 + x2) / 2,
253
+ y: (y1 + y2) / 2,
254
+ length,
255
+ // El tramo se dibuja vertical y se gira hasta la pendiente: el
256
+ // ángulo se mide desde el eje Y, no desde el X.
257
+ angle: `${Math.atan2(dx, dy) * (180 / Math.PI) * -1}deg`,
258
+ // Posición del tramo medida en hitos: es la misma escala que
259
+ // `progress`, así que comparar una cosa con la otra es directo.
260
+ at: to,
261
+ dotted: step % DOT_EVERY === 0
262
+ });
263
+ }
264
+ }
265
+ return out;
266
+ }, [count, curve, spacing]);
267
+ if (count === 0) return null;
268
+ return /*#__PURE__*/_jsxs(View, {
269
+ style: [styles.root, {
270
+ height: count * spacing
271
+ }, style],
272
+ testID: testID,
273
+ children: [/*#__PURE__*/_jsxs(View, {
274
+ style: styles.lineLayer,
275
+ pointerEvents: "none",
276
+ children: [pieces.map(piece => piece.dotted && /*#__PURE__*/_jsx(View, {
277
+ style: [styles.dot, {
278
+ backgroundColor: colors.border,
279
+ top: spacing / 2 + piece.y - DOT / 2,
280
+ transform: [{
281
+ translateX: piece.x
282
+ }]
283
+ }]
284
+ }, `dot-${piece.key}`)), pieces.map(piece => /*#__PURE__*/_jsx(Animated.View, {
285
+ style: [styles.segment, {
286
+ backgroundColor: colors.textLight,
287
+ height: piece.length,
288
+ top: spacing / 2 + piece.y - piece.length / 2,
289
+ opacity: progress.interpolate({
290
+ inputRange: [piece.at - FADE, piece.at],
291
+ outputRange: [0, 1],
292
+ extrapolate: 'clamp'
293
+ }),
294
+ transform: [{
295
+ translateX: piece.x
296
+ }, {
297
+ rotate: piece.angle
298
+ }]
299
+ }]
300
+ }, `line-${piece.key}`)), items.map((item, index) => /*#__PURE__*/_jsx(View, {
301
+ style: [styles.node, styles.nodePending, {
302
+ top: spacing / 2 + index * spacing - NODE / 2,
303
+ transform: [{
304
+ translateX: offsetAt(index, count, curve)
305
+ }]
306
+ }],
307
+ children: /*#__PURE__*/_jsx(Animated.View, {
308
+ style: [styles.nodeFill, {
309
+ backgroundColor: colors.textLight,
310
+ opacity: progress.interpolate({
311
+ inputRange: [index - FADE, index],
312
+ outputRange: [0, 1],
313
+ extrapolate: 'clamp'
314
+ }),
315
+ transform: [{
316
+ scale: progress.interpolate({
317
+ inputRange: [index - FADE, index],
318
+ outputRange: [0.4, 1],
319
+ extrapolate: 'clamp'
320
+ })
321
+ }]
322
+ }]
323
+ })
324
+ }, `node-${item.label}-${index}`))]
325
+ }), items.map((item, index) => {
326
+ const pending = item.status === 'pending';
327
+ const onRight = index % 2 === 0 === (startSide === 'right');
328
+ const offset = offsetAt(index, count, curve);
329
+ // La fila entera se corre con la curva, píldora incluida, así que el
330
+ // lado hacia el que se fue pierde ese espacio contra el borde. Se lo
331
+ // devolvemos como padding, más lo que sobresale el halo: sin esto la
332
+ // píldora de más afuera queda cortada al ras.
333
+ const bleed = glow ? GLOW_BLEED : 0;
334
+ const roomLeft = Math.max(0, -offset) + bleed;
335
+ const roomRight = Math.max(0, offset) + bleed;
336
+ const pill = /*#__PURE__*/_jsxs(View, {
337
+ children: [glow && GLOW_LAYERS.map(layer => /*#__PURE__*/_jsx(View, {
338
+ pointerEvents: "none",
339
+ style: [styles.glow, {
340
+ top: layer.inset,
341
+ bottom: layer.inset,
342
+ left: layer.inset,
343
+ right: layer.inset,
344
+ opacity: pending ? layer.opacity / 2 : layer.opacity
345
+ }]
346
+ }, layer.inset)), /*#__PURE__*/_jsxs(View, {
347
+ style: [styles.pill, index === selectedIndex && styles.pillSelected],
348
+ children: [item.emoji ? /*#__PURE__*/_jsx(Text, {
349
+ allowFontScaling: allowFontScaling,
350
+ style: styles.emoji,
351
+ children: item.emoji
352
+ }) : !!item.iconName && /*#__PURE__*/_jsx(Icon, {
353
+ name: item.iconName,
354
+ size: 16,
355
+ color: pending ? colors.textLight : colors.text
356
+ }), /*#__PURE__*/_jsx(Text, {
357
+ allowFontScaling: allowFontScaling,
358
+ style: [styles.label, pending && styles.labelPending],
359
+ children: item.label
360
+ })]
361
+ })]
362
+ });
363
+
364
+ // 'sequential' deja tocar sólo el que sigue; 'revisit' también los
365
+ // ya recorridos. El que no responde se marca como deshabilitado en
366
+ // vez de quedarse mudo: un botón que no hace nada y no lo dice es
367
+ // peor que un botón apagado.
368
+ const reachable = advance === 'sequential' ? index === lineTo + 1 : advance === 'revisit' ? index <= lineTo + 1 : true;
369
+ const pressable = onItemPress ? /*#__PURE__*/_jsx(PressableScale, {
370
+ onPress: () => onItemPress(index),
371
+ disabled: !reachable,
372
+ accessibilityRole: "button",
373
+ accessibilityLabel: item.label,
374
+ accessibilityState: {
375
+ checked: !pending,
376
+ disabled: !reachable,
377
+ selected: index === selectedIndex
378
+ },
379
+ testID: testID && `${testID}-press-${index}`,
380
+ children: pill
381
+ }) : pill;
382
+ return /*#__PURE__*/_jsxs(View, {
383
+ testID: testID && `${testID}-item-${index}`,
384
+ accessibilityRole: onItemPress ? undefined : 'text',
385
+ accessibilityLabel: onItemPress ? undefined : item.label,
386
+ accessibilityState: onItemPress ? undefined : {
387
+ checked: !pending
388
+ },
389
+ style: [styles.row, {
390
+ height: spacing,
391
+ transform: [{
392
+ translateX: offset
393
+ }]
394
+ }],
395
+ children: [/*#__PURE__*/_jsx(View, {
396
+ testID: testID && `${testID}-item-${index}-left`,
397
+ style: [styles.side, styles.sideLeft, {
398
+ paddingLeft: roomLeft
399
+ }],
400
+ children: !onRight && pressable
401
+ }), /*#__PURE__*/_jsx(View, {
402
+ style: styles.nodeSlot
403
+ }), /*#__PURE__*/_jsx(View, {
404
+ testID: testID && `${testID}-item-${index}-right`,
405
+ style: [styles.side, styles.sideRight, {
406
+ paddingRight: roomRight
407
+ }],
408
+ children: onRight && pressable
409
+ })]
410
+ }, `${item.label}-${index}`);
411
+ })]
412
+ });
413
+ });
414
+ Timeline.displayName = 'Timeline';
415
+ //# sourceMappingURL=Timeline.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["React","memo","useEffect","useMemo","useRef","Animated","Easing","Text","View","createStyles","useAllowFontScaling","useColors","PressableScale","useReduceMotion","Icon","jsx","_jsx","jsxs","_jsxs","DEFAULT_CURVE","DEFAULT_SPACING","NODE","LINE","SEGMENTS","DOT","DOT_EVERY","DEFAULT_DURATION","FADE","GLOW_BLEED","GLOW_LAYERS","inset","opacity","useStyles","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","items","startSide","onItemPress","advance","selectedIndex","duration","style","testID","styles","allowFontScaling","reduceMotion","length","reached","last","i","status","furthest","current","max","lineTo","progress","Value","animation","timing","toValue","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","children","pointerEvents","map","piece","transform","translateX","interpolate","inputRange","outputRange","extrapolate","rotate","item","scale","pending","onRight","offset","bleed","roomLeft","roomRight","layer","iconName","name","size","reachable","pressable","onPress","disabled","accessibilityRole","accessibilityLabel","accessibilityState","checked","selected","undefined","displayName"],"sourceRoot":"../../../src","sources":["organisms/Timeline.tsx"],"mappings":"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","ignoreList":[]}