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,373 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.Tooltip = exports.RadarGrid = exports.Legend = exports.CartesianGrid = exports.AxisLabels = 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 _math = require("./math");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ 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); }
14
+ /**
15
+ * El marco de Chart: todo lo que rodea a las marcas — grilla, ejes, leyenda y
16
+ * tooltip. Nada de acá conoce el tipo de chart; recibe números y textos ya
17
+ * resueltos.
18
+ *
19
+ * Gestalt: la grilla usa `border`, dos escalones por debajo del color de las
20
+ * series, para que el dato quede como figura y la referencia como fondo. La
21
+ * leyenda repite el color exacto de cada serie (similitud) y por eso puede
22
+ * hacer de control de filtro sin explicar qué apaga: se apaga lo que tiene ese
23
+ * color.
24
+ */
25
+
26
+ const useStyles = (0, _createStyles.createStyles)(theme => ({
27
+ gridLine: {
28
+ position: 'absolute',
29
+ backgroundColor: theme.colors.border
30
+ },
31
+ axisLabel: {
32
+ position: 'absolute',
33
+ fontSize: theme.tokens.fontSize.xs,
34
+ color: theme.colors.textLight
35
+ },
36
+ legend: {
37
+ flexDirection: 'row',
38
+ flexWrap: 'wrap',
39
+ justifyContent: 'center',
40
+ gap: theme.tokens.spacing.sm,
41
+ marginTop: theme.tokens.spacing.sm
42
+ },
43
+ legendItem: {
44
+ flexDirection: 'row',
45
+ alignItems: 'center',
46
+ gap: theme.tokens.spacing.xs,
47
+ paddingVertical: theme.tokens.spacing.xxs,
48
+ paddingHorizontal: theme.tokens.spacing.sm,
49
+ borderRadius: theme.tokens.radius.full,
50
+ backgroundColor: theme.colors.inputBackground
51
+ },
52
+ legendItemOff: {
53
+ backgroundColor: 'transparent',
54
+ borderWidth: 1,
55
+ borderColor: theme.colors.border
56
+ },
57
+ swatch: {
58
+ width: 10,
59
+ height: 10,
60
+ borderRadius: theme.tokens.radius.xs
61
+ },
62
+ legendLabel: {
63
+ fontSize: theme.tokens.fontSize.xs,
64
+ color: theme.colors.text
65
+ },
66
+ legendLabelOff: {
67
+ color: theme.colors.textLight
68
+ },
69
+ tooltip: {
70
+ position: 'absolute',
71
+ paddingVertical: theme.tokens.spacing.sm,
72
+ paddingHorizontal: theme.tokens.spacing.md,
73
+ borderRadius: theme.tokens.radius.md,
74
+ backgroundColor: theme.colors.surface,
75
+ borderWidth: 1,
76
+ borderColor: theme.colors.border,
77
+ gap: theme.tokens.spacing.xxs,
78
+ ...theme.tokens.shadow.md
79
+ },
80
+ tooltipTitle: {
81
+ fontSize: theme.tokens.fontSize.xs,
82
+ fontWeight: theme.tokens.fontWeight.semibold,
83
+ color: theme.colors.text
84
+ },
85
+ tooltipRow: {
86
+ flexDirection: 'row',
87
+ alignItems: 'center',
88
+ gap: theme.tokens.spacing.xs
89
+ },
90
+ tooltipLabel: {
91
+ fontSize: theme.tokens.fontSize.xs,
92
+ color: theme.colors.textLight
93
+ },
94
+ tooltipValue: {
95
+ fontSize: theme.tokens.fontSize.xs,
96
+ fontWeight: theme.tokens.fontWeight.semibold,
97
+ color: theme.colors.text,
98
+ marginLeft: 'auto'
99
+ }
100
+ }));
101
+
102
+ // ── grilla y ejes cartesianos ──────────────────────────────────────────────
103
+
104
+ const CartesianGrid = exports.CartesianGrid = /*#__PURE__*/(0, _react.memo)(({
105
+ width,
106
+ height,
107
+ lines,
108
+ orientation,
109
+ zeroIndex,
110
+ testID
111
+ }) => {
112
+ const styles = useStyles();
113
+ const colors = (0, _UIProvider.useColors)();
114
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
115
+ testID: testID,
116
+ pointerEvents: "none",
117
+ style: {
118
+ position: 'absolute',
119
+ left: 0,
120
+ top: 0,
121
+ width,
122
+ height
123
+ },
124
+ children: lines.map((position, index) => {
125
+ const isZero = index === zeroIndex;
126
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
127
+ style: [styles.gridLine, orientation === 'horizontal' ? {
128
+ left: 0,
129
+ width,
130
+ top: position,
131
+ height: 1
132
+ } : {
133
+ top: 0,
134
+ height,
135
+ left: position,
136
+ width: 1
137
+ },
138
+ // La línea del cero es una referencia distinta de las demás: no
139
+ // divide el espacio, separa lo que suma de lo que resta.
140
+ isZero && {
141
+ backgroundColor: colors.textLight
142
+ }]
143
+ }, index);
144
+ })
145
+ });
146
+ });
147
+ CartesianGrid.displayName = 'CartesianGrid';
148
+ const LABEL_HEIGHT = 14;
149
+ const AxisLabels = exports.AxisLabels = /*#__PURE__*/(0, _react.memo)(({
150
+ labels,
151
+ axis,
152
+ gutter,
153
+ span,
154
+ testID
155
+ }) => {
156
+ const styles = useStyles();
157
+ const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
158
+ // Una etiqueta de x se centra bajo su categoría y puede pisar a la vecina;
159
+ // se le da como ancho el reparto parejo del plot y se trunca a una línea.
160
+ const slot = axis === 'x' ? Math.max(24, span / Math.max(1, labels.length)) : gutter;
161
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
162
+ testID: testID,
163
+ pointerEvents: "none",
164
+ style: {
165
+ position: 'absolute',
166
+ left: 0,
167
+ top: 0,
168
+ right: 0,
169
+ bottom: 0
170
+ },
171
+ children: labels.map((label, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
172
+ numberOfLines: 1,
173
+ allowFontScaling: allowFontScaling,
174
+ style: [styles.axisLabel, axis === 'x' ? {
175
+ left: label.position - slot / 2,
176
+ width: slot,
177
+ top: 0,
178
+ textAlign: 'center'
179
+ } : {
180
+ left: 0,
181
+ width: gutter,
182
+ top: label.position - LABEL_HEIGHT / 2,
183
+ height: LABEL_HEIGHT,
184
+ textAlign: 'right'
185
+ }],
186
+ children: label.text
187
+ }, `${label.text}-${index}`))
188
+ });
189
+ });
190
+ AxisLabels.displayName = 'AxisLabels';
191
+
192
+ // ── grilla del radar ───────────────────────────────────────────────────────
193
+
194
+ /**
195
+ * Anillos y radios del radar. Los anillos son polígonos, no círculos: un
196
+ * círculo sugiere que entre eje y eje hay valores, y no los hay — sólo hay
197
+ * los ejes que se pasaron.
198
+ */
199
+ const RadarGrid = exports.RadarGrid = /*#__PURE__*/(0, _react.memo)(({
200
+ center,
201
+ radius,
202
+ angles,
203
+ levels,
204
+ testID
205
+ }) => {
206
+ const colors = (0, _UIProvider.useColors)();
207
+ if (angles.length < 3 || radius <= 0) return null;
208
+ const rings = Array.from({
209
+ length: levels
210
+ }, (_, index) => radius * (index + 1) / levels);
211
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
212
+ testID: testID,
213
+ pointerEvents: "none",
214
+ style: {
215
+ position: 'absolute',
216
+ left: 0,
217
+ top: 0,
218
+ right: 0,
219
+ bottom: 0
220
+ },
221
+ children: [rings.map((ringRadius, ringIndex) => {
222
+ const points = angles.map(angle => (0, _math.polar)(center, ringRadius, angle));
223
+ return points.map((point, index) => {
224
+ const next = points[(index + 1) % points.length];
225
+ const dx = next.x - point.x;
226
+ const dy = next.y - point.y;
227
+ const length = Math.hypot(dx, dy);
228
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
229
+ style: {
230
+ position: 'absolute',
231
+ left: (point.x + next.x) / 2 - length / 2,
232
+ top: (point.y + next.y) / 2 - 0.5,
233
+ width: length,
234
+ height: 1,
235
+ backgroundColor: colors.border,
236
+ transform: [{
237
+ rotate: `${Math.atan2(dy, dx) * 180 / Math.PI}deg`
238
+ }]
239
+ }
240
+ }, `ring-${ringIndex}-${index}`);
241
+ });
242
+ }), angles.map((angle, index) => {
243
+ const tip = (0, _math.polar)(center, radius, angle);
244
+ const dx = tip.x - center.x;
245
+ const dy = tip.y - center.y;
246
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
247
+ style: {
248
+ position: 'absolute',
249
+ left: (center.x + tip.x) / 2 - radius / 2,
250
+ top: (center.y + tip.y) / 2 - 0.5,
251
+ width: radius,
252
+ height: 1,
253
+ backgroundColor: colors.border,
254
+ transform: [{
255
+ rotate: `${Math.atan2(dy, dx) * 180 / Math.PI}deg`
256
+ }]
257
+ }
258
+ }, `spoke-${index}`);
259
+ })]
260
+ });
261
+ });
262
+ RadarGrid.displayName = 'RadarGrid';
263
+
264
+ // ── leyenda ────────────────────────────────────────────────────────────────
265
+
266
+ const Legend = exports.Legend = /*#__PURE__*/(0, _react.memo)(({
267
+ items,
268
+ hidden,
269
+ onToggle,
270
+ testID
271
+ }) => {
272
+ const styles = useStyles();
273
+ const colors = (0, _UIProvider.useColors)();
274
+ const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
275
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
276
+ style: styles.legend,
277
+ testID: testID,
278
+ children: items.map(item => {
279
+ const off = hidden.includes(item.key);
280
+ const content = /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
281
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
282
+ style: [styles.swatch, {
283
+ backgroundColor: off ? colors.border : item.color
284
+ }]
285
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
286
+ allowFontScaling: allowFontScaling,
287
+ style: [styles.legendLabel, off && styles.legendLabelOff],
288
+ children: item.label
289
+ })]
290
+ });
291
+ if (!onToggle) {
292
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
293
+ style: styles.legendItem,
294
+ testID: testID && `${testID}-${item.key}`,
295
+ children: content
296
+ }, item.key);
297
+ }
298
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
299
+ style: [styles.legendItem, off && styles.legendItemOff],
300
+ onPress: () => onToggle(item.key),
301
+ accessibilityRole: "switch",
302
+ accessibilityState: {
303
+ checked: !off
304
+ },
305
+ accessibilityLabel: item.label,
306
+ testID: testID && `${testID}-${item.key}`,
307
+ children: content
308
+ }, item.key);
309
+ })
310
+ });
311
+ });
312
+ Legend.displayName = 'Legend';
313
+
314
+ // ── tooltip ────────────────────────────────────────────────────────────────
315
+
316
+ const TOOLTIP_WIDTH = 148;
317
+ const TOOLTIP_GAP = 10;
318
+ /** Alto estimado del globo: el real no se sabe hasta después de medirlo, y
319
+ * medirlo para decidir dónde ponerlo lo haría aparecer corrido un frame. */
320
+ const TOOLTIP_TITLE = 22;
321
+ const TOOLTIP_ROW = 17;
322
+ const Tooltip = exports.Tooltip = /*#__PURE__*/(0, _react.memo)(({
323
+ title,
324
+ rows,
325
+ anchor,
326
+ containerWidth,
327
+ style,
328
+ testID
329
+ }) => {
330
+ const styles = useStyles();
331
+ const allowFontScaling = (0, _UIProvider.useAllowFontScaling)();
332
+ // Clamp en vez de flip: moverlo al otro lado del dedo hace que salte de lado
333
+ // mientras se arrastra, y el salto se lee como un error.
334
+ const left = Math.max(0, Math.min(containerWidth - TOOLTIP_WIDTH, anchor.x - TOOLTIP_WIDTH / 2));
335
+ // Va arriba del punto, salvo que no haya lugar: ahí baja, porque taparse
336
+ // contra el borde superior lo deja ilegible.
337
+ const estimated = TOOLTIP_TITLE + rows.length * TOOLTIP_ROW;
338
+ const above = anchor.y - TOOLTIP_GAP - estimated;
339
+ const top = above >= 0 ? above : anchor.y + TOOLTIP_GAP;
340
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
341
+ testID: testID,
342
+ pointerEvents: "none",
343
+ accessibilityRole: "alert",
344
+ style: [styles.tooltip, {
345
+ left,
346
+ width: TOOLTIP_WIDTH,
347
+ top
348
+ }, style],
349
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
350
+ allowFontScaling: allowFontScaling,
351
+ style: styles.tooltipTitle,
352
+ children: title
353
+ }), rows.map(row => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
354
+ style: styles.tooltipRow,
355
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
356
+ style: [styles.swatch, {
357
+ backgroundColor: row.color
358
+ }]
359
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
360
+ allowFontScaling: allowFontScaling,
361
+ numberOfLines: 1,
362
+ style: styles.tooltipLabel,
363
+ children: row.label
364
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
365
+ allowFontScaling: allowFontScaling,
366
+ style: styles.tooltipValue,
367
+ children: row.value
368
+ })]
369
+ }, row.key))]
370
+ });
371
+ });
372
+ Tooltip.displayName = 'Tooltip';
373
+ //# sourceMappingURL=frame.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","_interopRequireWildcard","require","_reactNative","_createStyles","_UIProvider","_math","_jsxRuntime","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","useStyles","createStyles","theme","gridLine","position","backgroundColor","colors","border","axisLabel","fontSize","tokens","xs","color","textLight","legend","flexDirection","flexWrap","justifyContent","gap","spacing","sm","marginTop","legendItem","alignItems","paddingVertical","xxs","paddingHorizontal","borderRadius","radius","full","inputBackground","legendItemOff","borderWidth","borderColor","swatch","width","height","legendLabel","text","legendLabelOff","tooltip","md","surface","shadow","tooltipTitle","fontWeight","semibold","tooltipRow","tooltipLabel","tooltipValue","marginLeft","CartesianGrid","exports","memo","lines","orientation","zeroIndex","testID","styles","useColors","jsx","View","pointerEvents","style","left","top","children","map","index","isZero","displayName","LABEL_HEIGHT","AxisLabels","labels","axis","gutter","span","allowFontScaling","useAllowFontScaling","slot","Math","max","length","right","bottom","label","Text","numberOfLines","textAlign","RadarGrid","center","angles","levels","rings","Array","from","_","jsxs","ringRadius","ringIndex","points","angle","polar","point","next","dx","x","dy","y","hypot","transform","rotate","atan2","PI","tip","Legend","items","hidden","onToggle","item","off","includes","key","content","Fragment","TouchableOpacity","onPress","accessibilityRole","accessibilityState","checked","accessibilityLabel","TOOLTIP_WIDTH","TOOLTIP_GAP","TOOLTIP_TITLE","TOOLTIP_ROW","Tooltip","title","rows","anchor","containerWidth","min","estimated","above","row","value"],"sourceRoot":"../../../../src","sources":["organisms/chart/frame.tsx"],"mappings":"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","ignoreList":[]}