@buoy-gg/floating-tools-core 7.0.17 → 7.0.18
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/icons/generated/icon-data.g.js +1713 -484
- package/lib/commonjs/icons/icon-primitives.js +121 -77
- package/lib/commonjs/icons/icon-primitives.native.js +51 -1
- package/lib/commonjs/icons/icon-renderer.js +23 -3
- package/lib/commonjs/icons/riverpod-icon.js +26 -0
- package/lib/commonjs/icons/time-machine-icon.js +1 -1
- package/lib/commonjs/index.js +13 -0
- package/lib/module/icons/generated/icon-data.g.js +1711 -482
- package/lib/module/icons/icon-primitives.js +118 -75
- package/lib/module/icons/icon-primitives.native.js +50 -1
- package/lib/module/icons/icon-renderer.js +24 -4
- package/lib/module/icons/riverpod-icon.js +17 -0
- package/lib/module/icons/time-machine-icon.js +1 -1
- package/lib/module/index.js +1 -0
- package/lib/typescript/commonjs/icons/generated/icon-data.g.d.ts +4 -1
- package/lib/typescript/commonjs/icons/generated/icon-data.g.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/icon-primitives.d.ts +15 -0
- package/lib/typescript/commonjs/icons/icon-primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/icon-primitives.native.d.ts +15 -0
- package/lib/typescript/commonjs/icons/icon-primitives.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/icon-renderer.d.ts +22 -1
- package/lib/typescript/commonjs/icons/icon-renderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/riverpod-icon.d.ts +14 -0
- package/lib/typescript/commonjs/icons/riverpod-icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/time-machine-icon.d.ts +1 -1
- package/lib/typescript/commonjs/index.d.ts +1 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/module/icons/generated/icon-data.g.d.ts +4 -1
- package/lib/typescript/module/icons/generated/icon-data.g.d.ts.map +1 -1
- package/lib/typescript/module/icons/icon-primitives.d.ts +15 -0
- package/lib/typescript/module/icons/icon-primitives.d.ts.map +1 -1
- package/lib/typescript/module/icons/icon-primitives.native.d.ts +15 -0
- package/lib/typescript/module/icons/icon-primitives.native.d.ts.map +1 -1
- package/lib/typescript/module/icons/icon-renderer.d.ts +22 -1
- package/lib/typescript/module/icons/icon-renderer.d.ts.map +1 -1
- package/lib/typescript/module/icons/riverpod-icon.d.ts +14 -0
- package/lib/typescript/module/icons/riverpod-icon.d.ts.map +1 -0
- package/lib/typescript/module/icons/time-machine-icon.d.ts +1 -1
- package/lib/typescript/module/index.d.ts +1 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -8,6 +8,16 @@ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
|
8
8
|
* Mobile bundlers (Metro) pick icon-primitives.native.tsx instead.
|
|
9
9
|
*/
|
|
10
10
|
|
|
11
|
+
/**
|
|
12
|
+
* Round to 2 decimals. Computed geometry must not carry full float precision
|
|
13
|
+
* into inline styles: the browser's CSSOM re-serializes numbers to ~6
|
|
14
|
+
* significant digits (e.g. rotate(117.64597536373869deg) -> "117.646deg"), so
|
|
15
|
+
* on server-rendered pages (buoy.gg docs) every full-precision value becomes a
|
|
16
|
+
* React hydration mismatch. Two decimals round-trip exactly and are far below
|
|
17
|
+
* visual tolerance at icon sizes.
|
|
18
|
+
*/
|
|
19
|
+
const r2 = n => Math.round(n * 100) / 100;
|
|
20
|
+
|
|
11
21
|
// ===========================================
|
|
12
22
|
// Types
|
|
13
23
|
// ===========================================
|
|
@@ -22,8 +32,8 @@ export const IconContainer = ({
|
|
|
22
32
|
}) => {
|
|
23
33
|
const style = {
|
|
24
34
|
position: 'relative',
|
|
25
|
-
width: size,
|
|
26
|
-
height: size
|
|
35
|
+
width: r2(size),
|
|
36
|
+
height: r2(size)
|
|
27
37
|
};
|
|
28
38
|
return /*#__PURE__*/_jsx("div", {
|
|
29
39
|
style: style,
|
|
@@ -40,15 +50,15 @@ function createNeonGlow(color, radius) {
|
|
|
40
50
|
// Layer 2: Medium spread
|
|
41
51
|
// Layer 3: Wide soft outer glow
|
|
42
52
|
// Layer 4: Very wide ambient glow
|
|
43
|
-
return [`0 0 ${radius * 0.15}px ${color}`,
|
|
53
|
+
return [`0 0 ${r2(radius * 0.15)}px ${color}`,
|
|
44
54
|
// Bright core
|
|
45
|
-
`0 0 ${radius * 0.3}px ${color}`,
|
|
55
|
+
`0 0 ${r2(radius * 0.3)}px ${color}`,
|
|
46
56
|
// Inner glow
|
|
47
|
-
`0 0 ${radius * 0.6}px ${color}cc`,
|
|
57
|
+
`0 0 ${r2(radius * 0.6)}px ${color}cc`,
|
|
48
58
|
// Medium glow (80% opacity)
|
|
49
|
-
`0 0 ${radius}px ${color}80`,
|
|
59
|
+
`0 0 ${r2(radius)}px ${color}80`,
|
|
50
60
|
// Outer glow (50% opacity)
|
|
51
|
-
`0 0 ${radius * 1.5}px ${color}40` // Ambient glow (25% opacity)
|
|
61
|
+
`0 0 ${r2(radius * 1.5)}px ${color}40` // Ambient glow (25% opacity)
|
|
52
62
|
].join(', ');
|
|
53
63
|
}
|
|
54
64
|
export const IconCircle = ({
|
|
@@ -67,18 +77,18 @@ export const IconCircle = ({
|
|
|
67
77
|
}) => {
|
|
68
78
|
const diameter = r * 2;
|
|
69
79
|
const transforms = [];
|
|
70
|
-
if (scaleX !== 1) transforms.push(`scaleX(${scaleX})`);
|
|
71
|
-
if (scaleY !== 1) transforms.push(`scaleY(${scaleY})`);
|
|
72
|
-
if (rotation !== 0) transforms.push(`rotate(${rotation}deg)`);
|
|
80
|
+
if (scaleX !== 1) transforms.push(`scaleX(${r2(scaleX)})`);
|
|
81
|
+
if (scaleY !== 1) transforms.push(`scaleY(${r2(scaleY)})`);
|
|
82
|
+
if (rotation !== 0) transforms.push(`rotate(${r2(rotation)}deg)`);
|
|
73
83
|
const style = {
|
|
74
84
|
position: 'absolute',
|
|
75
|
-
left: cx - r,
|
|
76
|
-
top: cy - r,
|
|
77
|
-
width: diameter,
|
|
78
|
-
height: diameter,
|
|
79
|
-
borderRadius: r,
|
|
85
|
+
left: r2(cx - r),
|
|
86
|
+
top: r2(cy - r),
|
|
87
|
+
width: r2(diameter),
|
|
88
|
+
height: r2(diameter),
|
|
89
|
+
borderRadius: r2(r),
|
|
80
90
|
backgroundColor: fill,
|
|
81
|
-
border: borderColor ? `${borderWidth}px solid ${borderColor}` : undefined,
|
|
91
|
+
border: borderColor ? `${r2(borderWidth)}px solid ${borderColor}` : undefined,
|
|
82
92
|
opacity,
|
|
83
93
|
transform: transforms.length > 0 ? transforms.join(' ') : undefined,
|
|
84
94
|
transformOrigin: '50% 50%',
|
|
@@ -107,23 +117,56 @@ export const IconRect = ({
|
|
|
107
117
|
}) => {
|
|
108
118
|
const style = {
|
|
109
119
|
position: 'absolute',
|
|
110
|
-
left: x,
|
|
111
|
-
top: y,
|
|
112
|
-
width,
|
|
113
|
-
height,
|
|
114
|
-
borderRadius,
|
|
120
|
+
left: r2(x),
|
|
121
|
+
top: r2(y),
|
|
122
|
+
width: r2(width),
|
|
123
|
+
height: r2(height),
|
|
124
|
+
borderRadius: r2(borderRadius),
|
|
115
125
|
backgroundColor: fill,
|
|
116
|
-
border: borderColor ? `${borderWidth}px solid ${borderColor}` : undefined,
|
|
126
|
+
border: borderColor ? `${r2(borderWidth)}px solid ${borderColor}` : undefined,
|
|
117
127
|
opacity,
|
|
118
128
|
boxShadow: glowColor && glowRadius > 0 ? createNeonGlow(glowColor, glowRadius) : undefined,
|
|
119
129
|
boxSizing: 'border-box',
|
|
120
|
-
transform: rotation !== undefined ? `rotate(${rotation}deg)` : undefined,
|
|
121
|
-
transformOrigin: rotation !== undefined ? `${originX * 100}% ${originY * 100}%` : undefined
|
|
130
|
+
transform: rotation !== undefined ? `rotate(${r2(rotation)}deg)` : undefined,
|
|
131
|
+
transformOrigin: rotation !== undefined ? `${r2(originX * 100)}% ${r2(originY * 100)}%` : undefined
|
|
122
132
|
};
|
|
123
133
|
return /*#__PURE__*/_jsx("div", {
|
|
124
134
|
style: style
|
|
125
135
|
});
|
|
126
136
|
};
|
|
137
|
+
export const IconText = ({
|
|
138
|
+
x,
|
|
139
|
+
y,
|
|
140
|
+
text,
|
|
141
|
+
fontSize,
|
|
142
|
+
fontWeight = 700,
|
|
143
|
+
align = 'center',
|
|
144
|
+
fill,
|
|
145
|
+
opacity = 1,
|
|
146
|
+
rotation,
|
|
147
|
+
letterSpacing = 0
|
|
148
|
+
}) => {
|
|
149
|
+
const translateX = align === 'left' ? '0%' : align === 'right' ? '-100%' : '-50%';
|
|
150
|
+
const style = {
|
|
151
|
+
position: 'absolute',
|
|
152
|
+
left: r2(x),
|
|
153
|
+
top: r2(y),
|
|
154
|
+
transform: `translate(${translateX}, -50%)${rotation !== undefined ? ` rotate(${r2(rotation)}deg)` : ''}`,
|
|
155
|
+
color: fill,
|
|
156
|
+
fontSize: r2(fontSize),
|
|
157
|
+
fontWeight,
|
|
158
|
+
lineHeight: 1,
|
|
159
|
+
whiteSpace: 'nowrap',
|
|
160
|
+
fontFamily: "'Helvetica Neue', Arial, sans-serif",
|
|
161
|
+
letterSpacing,
|
|
162
|
+
opacity,
|
|
163
|
+
userSelect: 'none'
|
|
164
|
+
};
|
|
165
|
+
return /*#__PURE__*/_jsx("div", {
|
|
166
|
+
style: style,
|
|
167
|
+
children: text
|
|
168
|
+
});
|
|
169
|
+
};
|
|
127
170
|
|
|
128
171
|
/**
|
|
129
172
|
* Calculates a point on a quadratic Bezier curve (1 control point)
|
|
@@ -214,10 +257,10 @@ export const IconLine = ({
|
|
|
214
257
|
const pt = isCubic ? getCubicBezierPoint(t, x1, y1, control1X, control1Y, control2X, control2Y, x2, y2) : getQuadraticBezierPoint(t, x1, y1, hasCurve1 ? control1X : control2X, hasCurve1 ? control1Y : control2Y, x2, y2);
|
|
215
258
|
const circleStyle = {
|
|
216
259
|
position: 'absolute',
|
|
217
|
-
left: pt.x - strokeWidth / 2,
|
|
218
|
-
top: pt.y - strokeWidth / 2,
|
|
219
|
-
width: strokeWidth,
|
|
220
|
-
height: strokeWidth,
|
|
260
|
+
left: r2(pt.x - strokeWidth / 2),
|
|
261
|
+
top: r2(pt.y - strokeWidth / 2),
|
|
262
|
+
width: r2(strokeWidth),
|
|
263
|
+
height: r2(strokeWidth),
|
|
221
264
|
borderRadius: '50%',
|
|
222
265
|
backgroundColor: stroke,
|
|
223
266
|
opacity,
|
|
@@ -246,15 +289,15 @@ export const IconLine = ({
|
|
|
246
289
|
const totalRotation = angle + rotation;
|
|
247
290
|
const style = {
|
|
248
291
|
position: 'absolute',
|
|
249
|
-
left: centerX - length / 2,
|
|
250
|
-
top: centerY - strokeWidth / 2,
|
|
251
|
-
width: length,
|
|
252
|
-
height: strokeWidth,
|
|
292
|
+
left: r2(centerX - length / 2),
|
|
293
|
+
top: r2(centerY - strokeWidth / 2),
|
|
294
|
+
width: r2(length),
|
|
295
|
+
height: r2(strokeWidth),
|
|
253
296
|
backgroundColor: stroke,
|
|
254
297
|
opacity,
|
|
255
|
-
transform: `rotate(${totalRotation}deg)`,
|
|
298
|
+
transform: `rotate(${r2(totalRotation)}deg)`,
|
|
256
299
|
transformOrigin: '50% 50%',
|
|
257
|
-
borderRadius: strokeWidth / 2,
|
|
300
|
+
borderRadius: r2(strokeWidth / 2),
|
|
258
301
|
boxShadow: glowColor && glowRadius > 0 ? createNeonGlow(glowColor, glowRadius) : undefined
|
|
259
302
|
};
|
|
260
303
|
return /*#__PURE__*/_jsx("div", {
|
|
@@ -277,7 +320,7 @@ export const IconTriangle = ({
|
|
|
277
320
|
}) => {
|
|
278
321
|
// CSS border trick: use transparent borders to create triangle
|
|
279
322
|
// The size is the height of the triangle, width is size * 2 / sqrt(3) for equilateral
|
|
280
|
-
const halfWidth = size * 0.577; // size / sqrt(3) for equilateral-ish triangle
|
|
323
|
+
const halfWidth = r2(size * 0.577); // size / sqrt(3) for equilateral-ish triangle
|
|
281
324
|
|
|
282
325
|
// Build border styles based on direction
|
|
283
326
|
let borderStyles = {};
|
|
@@ -288,7 +331,7 @@ export const IconTriangle = ({
|
|
|
288
331
|
borderStyles = {
|
|
289
332
|
borderLeft: `${halfWidth}px solid transparent`,
|
|
290
333
|
borderRight: `${halfWidth}px solid transparent`,
|
|
291
|
-
borderTop: `${size}px solid ${fill}`
|
|
334
|
+
borderTop: `${r2(size)}px solid ${fill}`
|
|
292
335
|
};
|
|
293
336
|
offsetX = -halfWidth;
|
|
294
337
|
offsetY = 0;
|
|
@@ -297,7 +340,7 @@ export const IconTriangle = ({
|
|
|
297
340
|
borderStyles = {
|
|
298
341
|
borderLeft: `${halfWidth}px solid transparent`,
|
|
299
342
|
borderRight: `${halfWidth}px solid transparent`,
|
|
300
|
-
borderBottom: `${size}px solid ${fill}`
|
|
343
|
+
borderBottom: `${r2(size)}px solid ${fill}`
|
|
301
344
|
};
|
|
302
345
|
offsetX = -halfWidth;
|
|
303
346
|
offsetY = -size;
|
|
@@ -306,7 +349,7 @@ export const IconTriangle = ({
|
|
|
306
349
|
borderStyles = {
|
|
307
350
|
borderTop: `${halfWidth}px solid transparent`,
|
|
308
351
|
borderBottom: `${halfWidth}px solid transparent`,
|
|
309
|
-
borderRight: `${size}px solid ${fill}`
|
|
352
|
+
borderRight: `${r2(size)}px solid ${fill}`
|
|
310
353
|
};
|
|
311
354
|
offsetX = -size;
|
|
312
355
|
offsetY = -halfWidth;
|
|
@@ -315,7 +358,7 @@ export const IconTriangle = ({
|
|
|
315
358
|
borderStyles = {
|
|
316
359
|
borderTop: `${halfWidth}px solid transparent`,
|
|
317
360
|
borderBottom: `${halfWidth}px solid transparent`,
|
|
318
|
-
borderLeft: `${size}px solid ${fill}`
|
|
361
|
+
borderLeft: `${r2(size)}px solid ${fill}`
|
|
319
362
|
};
|
|
320
363
|
offsetX = 0;
|
|
321
364
|
offsetY = -halfWidth;
|
|
@@ -323,12 +366,12 @@ export const IconTriangle = ({
|
|
|
323
366
|
}
|
|
324
367
|
const transforms = [];
|
|
325
368
|
if (rotation !== undefined) {
|
|
326
|
-
transforms.push(`rotate(${rotation}deg)`);
|
|
369
|
+
transforms.push(`rotate(${r2(rotation)}deg)`);
|
|
327
370
|
}
|
|
328
371
|
const style = {
|
|
329
372
|
position: 'absolute',
|
|
330
|
-
left: x + offsetX,
|
|
331
|
-
top: y + offsetY,
|
|
373
|
+
left: r2(x + offsetX),
|
|
374
|
+
top: r2(y + offsetY),
|
|
332
375
|
width: 0,
|
|
333
376
|
height: 0,
|
|
334
377
|
opacity,
|
|
@@ -387,15 +430,15 @@ export const IconArc = ({
|
|
|
387
430
|
const midY = (y1 + y2) / 2;
|
|
388
431
|
const style = {
|
|
389
432
|
position: 'absolute',
|
|
390
|
-
left: midX - length / 2,
|
|
391
|
-
top: midY - strokeWidth / 2,
|
|
392
|
-
width: length,
|
|
393
|
-
height: strokeWidth,
|
|
433
|
+
left: r2(midX - length / 2),
|
|
434
|
+
top: r2(midY - strokeWidth / 2),
|
|
435
|
+
width: r2(length),
|
|
436
|
+
height: r2(strokeWidth),
|
|
394
437
|
backgroundColor: stroke,
|
|
395
438
|
opacity,
|
|
396
|
-
transform: `rotate(${angle}deg)`,
|
|
439
|
+
transform: `rotate(${r2(angle)}deg)`,
|
|
397
440
|
transformOrigin: '50% 50%',
|
|
398
|
-
borderRadius: strokeWidth / 2
|
|
441
|
+
borderRadius: r2(strokeWidth / 2)
|
|
399
442
|
};
|
|
400
443
|
lines.push(/*#__PURE__*/_jsx("div", {
|
|
401
444
|
style: style
|
|
@@ -432,32 +475,32 @@ export const IconSemicircle = ({
|
|
|
432
475
|
let borderRadius;
|
|
433
476
|
switch (half) {
|
|
434
477
|
case 'top':
|
|
435
|
-
left = cx - r;
|
|
436
|
-
top = cy - r;
|
|
437
|
-
width = diameter;
|
|
438
|
-
height = r;
|
|
439
|
-
borderRadius = `${r}px ${r}px 0 0`;
|
|
478
|
+
left = r2(cx - r);
|
|
479
|
+
top = r2(cy - r);
|
|
480
|
+
width = r2(diameter);
|
|
481
|
+
height = r2(r);
|
|
482
|
+
borderRadius = `${r2(r)}px ${r2(r)}px 0 0`;
|
|
440
483
|
break;
|
|
441
484
|
case 'bottom':
|
|
442
|
-
left = cx - r;
|
|
443
|
-
top = cy;
|
|
444
|
-
width = diameter;
|
|
445
|
-
height = r;
|
|
446
|
-
borderRadius = `0 0 ${r}px ${r}px`;
|
|
485
|
+
left = r2(cx - r);
|
|
486
|
+
top = r2(cy);
|
|
487
|
+
width = r2(diameter);
|
|
488
|
+
height = r2(r);
|
|
489
|
+
borderRadius = `0 0 ${r2(r)}px ${r2(r)}px`;
|
|
447
490
|
break;
|
|
448
491
|
case 'left':
|
|
449
|
-
left = cx - r;
|
|
450
|
-
top = cy - r;
|
|
451
|
-
width = r;
|
|
452
|
-
height = diameter;
|
|
453
|
-
borderRadius = `${r}px 0 0 ${r}px`;
|
|
492
|
+
left = r2(cx - r);
|
|
493
|
+
top = r2(cy - r);
|
|
494
|
+
width = r2(r);
|
|
495
|
+
height = r2(diameter);
|
|
496
|
+
borderRadius = `${r2(r)}px 0 0 ${r2(r)}px`;
|
|
454
497
|
break;
|
|
455
498
|
case 'right':
|
|
456
|
-
left = cx;
|
|
457
|
-
top = cy - r;
|
|
458
|
-
width = r;
|
|
459
|
-
height = diameter;
|
|
460
|
-
borderRadius = `0 ${r}px ${r}px 0`;
|
|
499
|
+
left = r2(cx);
|
|
500
|
+
top = r2(cy - r);
|
|
501
|
+
width = r2(r);
|
|
502
|
+
height = r2(diameter);
|
|
503
|
+
borderRadius = `0 ${r2(r)}px ${r2(r)}px 0`;
|
|
461
504
|
break;
|
|
462
505
|
}
|
|
463
506
|
const style = {
|
|
@@ -468,7 +511,7 @@ export const IconSemicircle = ({
|
|
|
468
511
|
height,
|
|
469
512
|
borderRadius,
|
|
470
513
|
backgroundColor: fill,
|
|
471
|
-
border: borderColor ? `${borderWidth}px solid ${borderColor}` : undefined,
|
|
514
|
+
border: borderColor ? `${r2(borderWidth)}px solid ${borderColor}` : undefined,
|
|
472
515
|
opacity,
|
|
473
516
|
boxShadow: glowColor && glowRadius > 0 ? createNeonGlow(glowColor, glowRadius) : undefined,
|
|
474
517
|
boxSizing: 'border-box'
|
|
@@ -527,12 +570,12 @@ export const IconSmoothArc = ({
|
|
|
527
570
|
}
|
|
528
571
|
const style = {
|
|
529
572
|
position: 'absolute',
|
|
530
|
-
left: cx - r,
|
|
531
|
-
top: cy - r,
|
|
532
|
-
width: diameter,
|
|
533
|
-
height: diameter,
|
|
534
|
-
borderRadius: r,
|
|
535
|
-
borderWidth: strokeWidth,
|
|
573
|
+
left: r2(cx - r),
|
|
574
|
+
top: r2(cy - r),
|
|
575
|
+
width: r2(diameter),
|
|
576
|
+
height: r2(diameter),
|
|
577
|
+
borderRadius: r2(r),
|
|
578
|
+
borderWidth: r2(strokeWidth),
|
|
536
579
|
borderStyle: 'solid',
|
|
537
580
|
borderTopColor,
|
|
538
581
|
borderBottomColor,
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Web bundlers pick icon-primitives.tsx instead.
|
|
8
8
|
*/
|
|
9
9
|
|
|
10
|
-
import { View } from 'react-native';
|
|
10
|
+
import { Text, View } from 'react-native';
|
|
11
11
|
|
|
12
12
|
// ===========================================
|
|
13
13
|
// Types
|
|
@@ -264,6 +264,55 @@ function getCubicBezierPoint(t, p0x, p0y, p1x, p1y, p2x, p2y, p3x, p3y) {
|
|
|
264
264
|
y: mt3 * p0y + 3 * mt2 * t * p1y + 3 * mt * t2 * p2y + t3 * p3y
|
|
265
265
|
};
|
|
266
266
|
}
|
|
267
|
+
export const IconText = ({
|
|
268
|
+
x,
|
|
269
|
+
y,
|
|
270
|
+
text,
|
|
271
|
+
fontSize,
|
|
272
|
+
fontWeight = 700,
|
|
273
|
+
align = 'center',
|
|
274
|
+
fill,
|
|
275
|
+
opacity = 1,
|
|
276
|
+
rotation,
|
|
277
|
+
letterSpacing = 0
|
|
278
|
+
}) => {
|
|
279
|
+
// RN has no translate(-50%), so anchor via an estimated-width container with
|
|
280
|
+
// matching textAlign. The estimate only pads the container; alignment inside
|
|
281
|
+
// it is exact for left/right and near-exact for center.
|
|
282
|
+
const estWidth = text.length * fontSize * 0.75 + Math.max(0, text.length - 1) * letterSpacing + fontSize;
|
|
283
|
+
const height = fontSize * 1.5;
|
|
284
|
+
const left = align === 'left' ? x : align === 'right' ? x - estWidth : x - estWidth / 2;
|
|
285
|
+
const containerStyle = {
|
|
286
|
+
position: 'absolute',
|
|
287
|
+
left,
|
|
288
|
+
top: y - height / 2,
|
|
289
|
+
width: estWidth,
|
|
290
|
+
height,
|
|
291
|
+
justifyContent: 'center',
|
|
292
|
+
transform: rotation !== undefined ? [{
|
|
293
|
+
rotate: `${rotation}deg`
|
|
294
|
+
}] : undefined
|
|
295
|
+
};
|
|
296
|
+
const textStyle = {
|
|
297
|
+
color: fill,
|
|
298
|
+
fontSize,
|
|
299
|
+
fontWeight: String(fontWeight),
|
|
300
|
+
textAlign: align,
|
|
301
|
+
letterSpacing,
|
|
302
|
+
opacity,
|
|
303
|
+
includeFontPadding: false
|
|
304
|
+
};
|
|
305
|
+
return /*#__PURE__*/_jsx(View, {
|
|
306
|
+
style: containerStyle,
|
|
307
|
+
pointerEvents: "none",
|
|
308
|
+
children: /*#__PURE__*/_jsx(Text, {
|
|
309
|
+
style: textStyle,
|
|
310
|
+
numberOfLines: 1,
|
|
311
|
+
allowFontScaling: false,
|
|
312
|
+
children: text
|
|
313
|
+
})
|
|
314
|
+
});
|
|
315
|
+
};
|
|
267
316
|
|
|
268
317
|
/**
|
|
269
318
|
* IconLine - draws a line between two points
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
* ONE renderer for ALL icons. Icons are just data.
|
|
7
7
|
*/
|
|
8
8
|
|
|
9
|
-
import { IconContainer, IconCircle, IconRect, IconLine, IconTriangle, IconArc, IconSemicircle, IconSmoothArc } from './icon-primitives';
|
|
9
|
+
import { IconContainer, IconCircle, IconRect, IconLine, IconText, IconTriangle, IconArc, IconSemicircle, IconSmoothArc } from './icon-primitives';
|
|
10
10
|
|
|
11
11
|
// ===========================================
|
|
12
12
|
// Icon Data Types
|
|
@@ -38,6 +38,12 @@ import { IconContainer, IconCircle, IconRect, IconLine, IconTriangle, IconArc, I
|
|
|
38
38
|
* Uses bordered circles with partial borders hidden - gives perfect anti-aliased curves!
|
|
39
39
|
* This is the "clever trick" for WiFi-style arcs.
|
|
40
40
|
*/
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Text element - a short label (sign lettering, badges).
|
|
44
|
+
* Currently TS targets only: icons containing text are excluded from the
|
|
45
|
+
* Flutter/NativeScript generators until those renderers support it.
|
|
46
|
+
*/
|
|
41
47
|
import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
|
|
42
48
|
// ===========================================
|
|
43
49
|
// Color Utilities
|
|
@@ -134,7 +140,7 @@ export function renderIconData(data, size, colorOverride, bgColorOverride) {
|
|
|
134
140
|
cy: center + el.cy * scale,
|
|
135
141
|
r: el.r * scale,
|
|
136
142
|
fill: resolveColor(el.fill, color, bgColor),
|
|
137
|
-
borderColor: el.border ? color : undefined,
|
|
143
|
+
borderColor: el.border ? resolveColor(el.borderColor, color, bgColor) ?? color : undefined,
|
|
138
144
|
borderWidth: el.border ? (el.borderWidth ?? 2) * scale : 0,
|
|
139
145
|
opacity: el.opacity,
|
|
140
146
|
scaleX: el.scaleX,
|
|
@@ -155,7 +161,7 @@ export function renderIconData(data, size, colorOverride, bgColorOverride) {
|
|
|
155
161
|
width: el.width * scale,
|
|
156
162
|
height: el.height * scale,
|
|
157
163
|
fill: resolveColor(el.fill, color, bgColor),
|
|
158
|
-
borderColor: el.border ? color : undefined,
|
|
164
|
+
borderColor: el.border ? resolveColor(el.borderColor, color, bgColor) ?? color : undefined,
|
|
159
165
|
borderWidth: el.border ? (el.borderWidth ?? 1) * scale : 0,
|
|
160
166
|
borderRadius: (el.borderRadius ?? 0) * scale,
|
|
161
167
|
opacity: el.opacity,
|
|
@@ -215,13 +221,27 @@ export function renderIconData(data, size, colorOverride, bgColorOverride) {
|
|
|
215
221
|
r: el.r * scale,
|
|
216
222
|
half: el.half,
|
|
217
223
|
fill: resolveColor(el.fill, color, bgColor),
|
|
218
|
-
borderColor: el.border ? color : undefined,
|
|
224
|
+
borderColor: el.border ? resolveColor(el.borderColor, color, bgColor) ?? color : undefined,
|
|
219
225
|
borderWidth: el.border ? (el.borderWidth ?? 2) * scale : 0,
|
|
220
226
|
opacity: el.opacity,
|
|
221
227
|
glowColor: el.glow ? color : undefined,
|
|
222
228
|
glowRadius: el.glow ? (el.glowRadius ?? 4) * scale : 0
|
|
223
229
|
}, i);
|
|
224
230
|
}
|
|
231
|
+
if (el.type === 'text') {
|
|
232
|
+
return /*#__PURE__*/_jsx(IconText, {
|
|
233
|
+
x: center + el.x * scale,
|
|
234
|
+
y: center + el.y * scale,
|
|
235
|
+
text: el.text,
|
|
236
|
+
fontSize: (el.size ?? 2) * scale,
|
|
237
|
+
fontWeight: el.weight,
|
|
238
|
+
align: el.align,
|
|
239
|
+
letterSpacing: el.letterSpacing !== undefined ? el.letterSpacing * scale : undefined,
|
|
240
|
+
fill: resolveColor(el.fill ?? 'color', color, bgColor),
|
|
241
|
+
opacity: el.opacity,
|
|
242
|
+
rotation: el.rotation
|
|
243
|
+
}, i);
|
|
244
|
+
}
|
|
225
245
|
if (el.type === 'smootharc') {
|
|
226
246
|
return /*#__PURE__*/_jsx(IconSmoothArc, {
|
|
227
247
|
cx: center + el.cx * scale,
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* RiverpodIcon - Data-driven icon
|
|
5
|
+
*
|
|
6
|
+
* Water-drop mark for the Flutter Riverpod inspector (paired color with Jotai).
|
|
7
|
+
*
|
|
8
|
+
* Defined as pure data in shared/icons/riverpod.json (Buoy Icon Format), so this
|
|
9
|
+
* is the same artwork the Flutter build renders.
|
|
10
|
+
*
|
|
11
|
+
* To change: edit that JSON, then run `node scripts/gen-icons.mjs`.
|
|
12
|
+
*/
|
|
13
|
+
|
|
14
|
+
import { createIcon } from "./icon-renderer.js";
|
|
15
|
+
import { riverpodIconData, RIVERPOD_ICON_COLOR } from "./generated/icon-data.g.js";
|
|
16
|
+
export { RIVERPOD_ICON_COLOR };
|
|
17
|
+
export const RiverpodIcon = createIcon(riverpodIconData);
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
/**
|
|
4
4
|
* TimeMachineIcon - Data-driven icon
|
|
5
5
|
*
|
|
6
|
-
*
|
|
6
|
+
* Police box (a very specific time machine) — snapshot & restore app state.
|
|
7
7
|
*
|
|
8
8
|
* Defined as pure data in shared/icons/time-machine.json (Buoy Icon Format),
|
|
9
9
|
* so this is the same artwork the Flutter build renders.
|
package/lib/module/index.js
CHANGED
|
@@ -106,6 +106,7 @@ export { ImpersonateIcon, IMPERSONATE_ICON_COLOR } from "./icons/impersonate-ico
|
|
|
106
106
|
export { ImageOverlayIcon, IMAGE_OVERLAY_ICON_COLOR } from "./icons/image-overlay-icon.js";
|
|
107
107
|
export { ZustandIcon, ZUSTAND_ICON_COLOR } from "./icons/zustand-icon.js";
|
|
108
108
|
export { JotaiIcon, JOTAI_ICON_COLOR } from "./icons/jotai-icon.js";
|
|
109
|
+
export { RiverpodIcon, RIVERPOD_ICON_COLOR } from "./icons/riverpod-icon.js";
|
|
109
110
|
|
|
110
111
|
// Icon Factories - Helper functions for creating icon elements
|
|
111
112
|
export { createNode, createLine, createRing, createDot, createGlow, createArrow, createBar } from "./icons/icon-factories.js";
|
|
@@ -42,10 +42,13 @@ export declare const JOTAI_ICON_COLOR = "#6C47FF";
|
|
|
42
42
|
export declare const jotaiIconData: IconData;
|
|
43
43
|
export declare const NETWORK_ICON_COLOR = "#00D4FF";
|
|
44
44
|
export declare const networkIconData: IconData;
|
|
45
|
-
export declare const
|
|
45
|
+
export declare const policeBoxIconData: IconData;
|
|
46
|
+
export declare const QUERY_ICON_COLOR = "#02CEE2";
|
|
46
47
|
export declare const queryIconData: IconData;
|
|
47
48
|
export declare const REDUX_ICON_COLOR = "#764abc";
|
|
48
49
|
export declare const reduxIconData: IconData;
|
|
50
|
+
export declare const RIVERPOD_ICON_COLOR = "#6C47FF";
|
|
51
|
+
export declare const riverpodIconData: IconData;
|
|
49
52
|
export declare const routeDotIconData: IconData;
|
|
50
53
|
export declare const routePathIconData: IconData;
|
|
51
54
|
export declare const routePinIconData: IconData;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-data.g.d.ts","sourceRoot":"","sources":["../../../../../src/icons/generated/icon-data.g.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAMjD,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,eAAO,MAAM,cAAc,EAAE,QAU5B,CAAC;AAMF,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,eAAO,MAAM,iBAAiB,EAAE,QAe/B,CAAC;AAMF,eAAO,MAAM,kBAAkB,YAAY,CAAC;AAE5C,eAAO,MAAM,eAAe,EAAE,QAU7B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAM5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,EAAE,QAO5B,CAAC;AAMF,eAAO,MAAM,cAAc,YAAY,CAAC;AAExC,eAAO,MAAM,WAAW,EAAE,QAkCzB,CAAC;AAMF,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,eAAO,MAAM,cAAc,EAAE,QAkC5B,CAAC;AAMF,eAAO,MAAM,oBAAoB,YAAY,CAAC;AAE9C,eAAO,MAAM,iBAAiB,EAAE,QAkB/B,CAAC;AAMF,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAChD,eAAO,MAAM,kBAAkB,YAAyB,CAAC;AAEzD,eAAO,MAAM,mBAAmB,EAAE,QAkBjC,CAAC;AAEF,kEAAkE;AAClE,eAAO,MAAM,eAAe,UAAsB,CAAC;AAMnD,eAAO,MAAM,wBAAwB,YAAY,CAAC;AAElD,eAAO,MAAM,oBAAoB,EAAE,QAelC,CAAC;AAMF,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAE3C,eAAO,MAAM,cAAc,EAAE,QAW5B,CAAC;AAMF,eAAO,MAAM,sBAAsB,YAAY,CAAC;AAEhD,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"icon-data.g.d.ts","sourceRoot":"","sources":["../../../../../src/icons/generated/icon-data.g.ts"],"names":[],"mappings":"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"}
|
|
@@ -39,6 +39,20 @@ export interface IconRectProps {
|
|
|
39
39
|
originX?: number;
|
|
40
40
|
originY?: number;
|
|
41
41
|
}
|
|
42
|
+
export interface IconTextProps {
|
|
43
|
+
/** Anchor point X in px. Meaning depends on align: left edge, center, or right edge. */
|
|
44
|
+
x: number;
|
|
45
|
+
/** Vertical center of the text in px. */
|
|
46
|
+
y: number;
|
|
47
|
+
text: string;
|
|
48
|
+
fontSize: number;
|
|
49
|
+
fontWeight?: number;
|
|
50
|
+
align?: 'left' | 'center' | 'right';
|
|
51
|
+
fill?: string;
|
|
52
|
+
opacity?: number;
|
|
53
|
+
rotation?: number;
|
|
54
|
+
letterSpacing?: number;
|
|
55
|
+
}
|
|
42
56
|
export interface IconLineProps {
|
|
43
57
|
x1: number;
|
|
44
58
|
y1: number;
|
|
@@ -100,6 +114,7 @@ export interface IconSmoothArcProps {
|
|
|
100
114
|
export declare const IconContainer: FC<IconContainerProps>;
|
|
101
115
|
export declare const IconCircle: FC<IconCircleProps>;
|
|
102
116
|
export declare const IconRect: FC<IconRectProps>;
|
|
117
|
+
export declare const IconText: FC<IconTextProps>;
|
|
103
118
|
/**
|
|
104
119
|
* IconLine - draws a line between two points
|
|
105
120
|
* Auto-calculates length and rotation from coordinates!
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-primitives.d.ts","sourceRoot":"","sources":["../../../../src/icons/icon-primitives.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,EAAE,EAAE,SAAS,EAAiB,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"icon-primitives.d.ts","sourceRoot":"","sources":["../../../../src/icons/icon-primitives.tsx"],"names":[],"mappings":"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"}
|
|
@@ -54,6 +54,20 @@ export interface IconLineProps {
|
|
|
54
54
|
curve2X?: number;
|
|
55
55
|
curve2Y?: number;
|
|
56
56
|
}
|
|
57
|
+
export interface IconTextProps {
|
|
58
|
+
/** Anchor point X in px. Meaning depends on align: left edge, center, or right edge. */
|
|
59
|
+
x: number;
|
|
60
|
+
/** Vertical center of the text in px. */
|
|
61
|
+
y: number;
|
|
62
|
+
text: string;
|
|
63
|
+
fontSize: number;
|
|
64
|
+
fontWeight?: number;
|
|
65
|
+
align?: 'left' | 'center' | 'right';
|
|
66
|
+
fill?: string;
|
|
67
|
+
opacity?: number;
|
|
68
|
+
rotation?: number;
|
|
69
|
+
letterSpacing?: number;
|
|
70
|
+
}
|
|
57
71
|
export interface IconTriangleProps {
|
|
58
72
|
x: number;
|
|
59
73
|
y: number;
|
|
@@ -99,6 +113,7 @@ export interface IconSmoothArcProps {
|
|
|
99
113
|
export declare const IconContainer: FC<IconContainerProps>;
|
|
100
114
|
export declare const IconCircle: FC<IconCircleProps>;
|
|
101
115
|
export declare const IconRect: FC<IconRectProps>;
|
|
116
|
+
export declare const IconText: FC<IconTextProps>;
|
|
102
117
|
/**
|
|
103
118
|
* IconLine - draws a line between two points
|
|
104
119
|
* Auto-calculates length and rotation from coordinates!
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"icon-primitives.native.d.ts","sourceRoot":"","sources":["../../../../src/icons/icon-primitives.native.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"icon-primitives.native.d.ts","sourceRoot":"","sources":["../../../../src/icons/icon-primitives.native.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAOtC,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,SAAS,CAAC;CACrB;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,aAAa;IAC5B,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,wFAAwF;IACxF,CAAC,EAAE,MAAM,CAAC;IACV,yCAAyC;IACzC,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,CAAC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,iBAAiB;IAChC,CAAC,EAAE,MAAM,CAAC;IACV,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAC5C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,IAAI,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,OAAO,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0FAA0F;IAC1F,OAAO,CAAC,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,OAAO,CAAC;CAC/C;AAMD,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAOhD,CAAC;AAEF,eAAO,MAAM,UAAU,EAAE,EAAE,CAAC,eAAe,CAiF1C,CAAC;AAEF,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAuGtC,CAAC;AAyCF,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CA4CtC,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,QAAQ,EAAE,EAAE,CAAC,aAAa,CAqItC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,EAAE,EAAE,CAAC,iBAAiB,CAuF9C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,EAAE,EAAE,CAAC,YAAY,CA0DpC,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,EAAE,CAAC,mBAAmB,CAgIlD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA4DhD,CAAC"}
|