@buoy-gg/floating-tools-core 7.0.34 → 7.0.36
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/dial.js +3 -2
- package/lib/commonjs/fonts.js +31 -0
- package/lib/commonjs/icons/generated/glyph-icons.g.js +299 -0
- package/lib/commonjs/icons/generated/icon-data.g.js +162 -86
- package/lib/commonjs/icons/icon-primitives.js +32 -12
- package/lib/commonjs/icons/icon-primitives.native.js +50 -32
- package/lib/commonjs/icons/icon-renderer.js +31 -10
- package/lib/commonjs/icons/iconGlow.js +32 -0
- package/lib/commonjs/icons/settings-icon.js +23 -0
- package/lib/commonjs/index.js +177 -0
- package/lib/module/dial.js +3 -2
- package/lib/module/fonts.js +28 -0
- package/lib/module/icons/generated/glyph-icons.g.js +296 -0
- package/lib/module/icons/generated/icon-data.g.js +161 -85
- package/lib/module/icons/icon-primitives.js +32 -12
- package/lib/module/icons/icon-primitives.native.js +50 -32
- package/lib/module/icons/icon-renderer.js +31 -10
- package/lib/module/icons/iconGlow.js +28 -0
- package/lib/module/icons/settings-icon.js +19 -0
- package/lib/module/index.js +10 -0
- package/lib/typescript/commonjs/dial.d.ts +2 -2
- package/lib/typescript/commonjs/dial.d.ts.map +1 -1
- package/lib/typescript/commonjs/fonts.d.ts +20 -0
- package/lib/typescript/commonjs/fonts.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/ask-buoy-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/ask-buoy-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/assets-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/assets-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/benchmark-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/benchmark-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/camera-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/camera-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/console-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/console-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/env-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/env-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/events-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/events-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/generated/glyph-icons.g.d.ts +145 -0
- package/lib/typescript/commonjs/icons/generated/glyph-icons.g.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/generated/icon-data.g.d.ts +1 -0
- package/lib/typescript/commonjs/icons/generated/icon-data.g.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/highlight-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/highlight-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/icon-primitives.d.ts +3 -1
- package/lib/typescript/commonjs/icons/icon-primitives.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/icon-primitives.native.d.ts +7 -0
- package/lib/typescript/commonjs/icons/icon-primitives.native.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/icon-renderer.d.ts +33 -3
- package/lib/typescript/commonjs/icons/icon-renderer.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/iconGlow.d.ts +27 -0
- package/lib/typescript/commonjs/icons/iconGlow.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/image-overlay-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/image-overlay-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/images-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/images-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/impersonate-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/impersonate-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/jotai-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/jotai-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/network-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/network-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/query-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/query-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/redux-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/redux-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/renders-icon.d.ts +2 -2
- package/lib/typescript/commonjs/icons/renders-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/riverpod-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/riverpod-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/routes-icon.d.ts +21 -21
- package/lib/typescript/commonjs/icons/routes-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/scenarios-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/scenarios-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/sentry-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/sentry-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/settings-icon.d.ts +15 -0
- package/lib/typescript/commonjs/icons/settings-icon.d.ts.map +1 -0
- package/lib/typescript/commonjs/icons/storage-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/storage-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/time-machine-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/time-machine-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/wifi-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/wifi-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/icons/zustand-icon.d.ts +1 -1
- package/lib/typescript/commonjs/icons/zustand-icon.d.ts.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +3 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/module/dial.d.ts +2 -2
- package/lib/typescript/module/dial.d.ts.map +1 -1
- package/lib/typescript/module/fonts.d.ts +20 -0
- package/lib/typescript/module/fonts.d.ts.map +1 -0
- package/lib/typescript/module/icons/ask-buoy-icon.d.ts +1 -1
- package/lib/typescript/module/icons/ask-buoy-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/assets-icon.d.ts +1 -1
- package/lib/typescript/module/icons/assets-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/benchmark-icon.d.ts +1 -1
- package/lib/typescript/module/icons/benchmark-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/camera-icon.d.ts +1 -1
- package/lib/typescript/module/icons/camera-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/console-icon.d.ts +1 -1
- package/lib/typescript/module/icons/console-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/env-icon.d.ts +1 -1
- package/lib/typescript/module/icons/env-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/events-icon.d.ts +1 -1
- package/lib/typescript/module/icons/events-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/generated/glyph-icons.g.d.ts +145 -0
- package/lib/typescript/module/icons/generated/glyph-icons.g.d.ts.map +1 -0
- package/lib/typescript/module/icons/generated/icon-data.g.d.ts +1 -0
- package/lib/typescript/module/icons/generated/icon-data.g.d.ts.map +1 -1
- package/lib/typescript/module/icons/highlight-icon.d.ts +1 -1
- package/lib/typescript/module/icons/highlight-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/icon-primitives.d.ts +3 -1
- package/lib/typescript/module/icons/icon-primitives.d.ts.map +1 -1
- package/lib/typescript/module/icons/icon-primitives.native.d.ts +7 -0
- package/lib/typescript/module/icons/icon-primitives.native.d.ts.map +1 -1
- package/lib/typescript/module/icons/icon-renderer.d.ts +33 -3
- package/lib/typescript/module/icons/icon-renderer.d.ts.map +1 -1
- package/lib/typescript/module/icons/iconGlow.d.ts +27 -0
- package/lib/typescript/module/icons/iconGlow.d.ts.map +1 -0
- package/lib/typescript/module/icons/image-overlay-icon.d.ts +1 -1
- package/lib/typescript/module/icons/image-overlay-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/images-icon.d.ts +1 -1
- package/lib/typescript/module/icons/images-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/impersonate-icon.d.ts +1 -1
- package/lib/typescript/module/icons/impersonate-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/jotai-icon.d.ts +1 -1
- package/lib/typescript/module/icons/jotai-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/network-icon.d.ts +1 -1
- package/lib/typescript/module/icons/network-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/query-icon.d.ts +1 -1
- package/lib/typescript/module/icons/query-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/redux-icon.d.ts +1 -1
- package/lib/typescript/module/icons/redux-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/renders-icon.d.ts +2 -2
- package/lib/typescript/module/icons/renders-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/riverpod-icon.d.ts +1 -1
- package/lib/typescript/module/icons/riverpod-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/routes-icon.d.ts +21 -21
- package/lib/typescript/module/icons/routes-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/scenarios-icon.d.ts +1 -1
- package/lib/typescript/module/icons/scenarios-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/sentry-icon.d.ts +1 -1
- package/lib/typescript/module/icons/sentry-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/settings-icon.d.ts +15 -0
- package/lib/typescript/module/icons/settings-icon.d.ts.map +1 -0
- package/lib/typescript/module/icons/storage-icon.d.ts +1 -1
- package/lib/typescript/module/icons/storage-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/time-machine-icon.d.ts +1 -1
- package/lib/typescript/module/icons/time-machine-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/wifi-icon.d.ts +1 -1
- package/lib/typescript/module/icons/wifi-icon.d.ts.map +1 -1
- package/lib/typescript/module/icons/zustand-icon.d.ts +1 -1
- package/lib/typescript/module/icons/zustand-icon.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +3 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { Platform } from "react-native";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The monospace family, per platform — THE seam for every `fontFamily` in Buoy.
|
|
7
|
+
*
|
|
8
|
+
* `"monospace"` is an ANDROID family name. iOS has no family called that, so
|
|
9
|
+
* React Native silently falls back to the system font: every code path, header
|
|
10
|
+
* name, JSON value and status chip Buoy renders "in monospace" was actually
|
|
11
|
+
* proportional on iOS. The cross-framework parity sheet is what surfaced it —
|
|
12
|
+
* Flutter resolves `monospace` to a real monospaced face, so its chips came out
|
|
13
|
+
* wider and taller than their RN twins and looked like a port bug.
|
|
14
|
+
*
|
|
15
|
+
* Menlo ships with every iOS version and is the family the ports can name too
|
|
16
|
+
* (Flutter `buoyMonoFont`, SwiftUI `Font.custom("Menlo", …)`), which is what
|
|
17
|
+
* makes the three frameworks draw the same glyphs.
|
|
18
|
+
*
|
|
19
|
+
* On web (the desktop dashboard, react-native-web) the generic `monospace`
|
|
20
|
+
* resolves to a thin, poorly-hinted browser default, so a curated stack is used
|
|
21
|
+
* there instead — the choice `packages/console` had already made locally.
|
|
22
|
+
*/
|
|
23
|
+
export const monoFont = Platform.select({
|
|
24
|
+
ios: "Menlo",
|
|
25
|
+
android: "monospace",
|
|
26
|
+
web: 'ui-monospace, "SF Mono", "SFMono-Regular", Menlo, Monaco, "Cascadia Code", "Roboto Mono", Consolas, "Liberation Mono", monospace',
|
|
27
|
+
default: "monospace"
|
|
28
|
+
}) ?? "monospace";
|
|
@@ -0,0 +1,296 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
// GENERATED by scripts/gen-icons.mjs — DO NOT EDIT.
|
|
4
|
+
// Source of truth: shared/icons/glyphs/*.json (format: shared/icons/SPEC.md)
|
|
5
|
+
//
|
|
6
|
+
// To change a glyph, edit its JSON and re-run `node scripts/gen-icons.mjs`.
|
|
7
|
+
|
|
8
|
+
import { createIcon } from "../icon-renderer.js";
|
|
9
|
+
import { activityGlyphData, alertCircleGlyphData, alertTriangleGlyphData, arrowDownToLineGlyphData, arrowDownGlyphData, arrowUpGlyphData, barChartGlyphData, bookmarkGlyphData, boxGlyphData, bracesGlyphData, bugGlyphData, checkCircleGlyphData, checkGlyphData, chevronDownGlyphData, chevronLeftGlyphData, chevronRightGlyphData, chevronUpGlyphData, circleGlyphData, clockGlyphData, codeGlyphData, copyGlyphData, cropGlyphData, databaseGlyphData, dockBottomGlyphData, downloadGlyphData, edit3GlyphData, eyeOffGlyphData, eyeGlyphData, fileJsonGlyphData, fileTextGlyphData, filmGlyphData, filterGlyphData, flaskConicalGlyphData, floatWindowGlyphData, gaugeGlyphData, gitBranchGlyphData, globeGlyphData, gripVerticalGlyphData, hashGlyphData, homeGlyphData, imageOffGlyphData, imageGlyphData, infoGlyphData, keyGlyphData, layersGlyphData, linkGlyphData, lockGlyphData, minusGlyphData, moreVerticalGlyphData, musicGlyphData, navigationGlyphData, paletteGlyphData, pauseGlyphData, pinGlyphData, playGlyphData, plusGlyphData, powerGlyphData, refreshCwGlyphData, searchGlyphData, serverGlyphData, settingsGlyphData, shieldGlyphData, trash2GlyphData, unlockGlyphData, uploadGlyphData, userGlyphData, wifiGlyphData, xCircleGlyphData, xGlyphData, zapGlyphData } from "./icon-data.g.js";
|
|
10
|
+
|
|
11
|
+
/** `{ glyph: true }` = the caller's `strokeWidth` replaces the authored one. */
|
|
12
|
+
|
|
13
|
+
export const ActivityGlyph = createIcon(activityGlyphData, {
|
|
14
|
+
glyph: true
|
|
15
|
+
});
|
|
16
|
+
export const AlertCircleGlyph = createIcon(alertCircleGlyphData, {
|
|
17
|
+
glyph: true
|
|
18
|
+
});
|
|
19
|
+
export const AlertTriangleGlyph = createIcon(alertTriangleGlyphData, {
|
|
20
|
+
glyph: true
|
|
21
|
+
});
|
|
22
|
+
export const ArrowDownToLineGlyph = createIcon(arrowDownToLineGlyphData, {
|
|
23
|
+
glyph: true
|
|
24
|
+
});
|
|
25
|
+
export const ArrowDownGlyph = createIcon(arrowDownGlyphData, {
|
|
26
|
+
glyph: true
|
|
27
|
+
});
|
|
28
|
+
export const ArrowUpGlyph = createIcon(arrowUpGlyphData, {
|
|
29
|
+
glyph: true
|
|
30
|
+
});
|
|
31
|
+
export const BarChartGlyph = createIcon(barChartGlyphData, {
|
|
32
|
+
glyph: true
|
|
33
|
+
});
|
|
34
|
+
export const BookmarkGlyph = createIcon(bookmarkGlyphData, {
|
|
35
|
+
glyph: true
|
|
36
|
+
});
|
|
37
|
+
export const BoxGlyph = createIcon(boxGlyphData, {
|
|
38
|
+
glyph: true
|
|
39
|
+
});
|
|
40
|
+
export const BracesGlyph = createIcon(bracesGlyphData, {
|
|
41
|
+
glyph: true
|
|
42
|
+
});
|
|
43
|
+
export const BugGlyph = createIcon(bugGlyphData, {
|
|
44
|
+
glyph: true
|
|
45
|
+
});
|
|
46
|
+
export const CheckCircleGlyph = createIcon(checkCircleGlyphData, {
|
|
47
|
+
glyph: true
|
|
48
|
+
});
|
|
49
|
+
export const CheckGlyph = createIcon(checkGlyphData, {
|
|
50
|
+
glyph: true
|
|
51
|
+
});
|
|
52
|
+
export const ChevronDownGlyph = createIcon(chevronDownGlyphData, {
|
|
53
|
+
glyph: true
|
|
54
|
+
});
|
|
55
|
+
export const ChevronLeftGlyph = createIcon(chevronLeftGlyphData, {
|
|
56
|
+
glyph: true
|
|
57
|
+
});
|
|
58
|
+
export const ChevronRightGlyph = createIcon(chevronRightGlyphData, {
|
|
59
|
+
glyph: true
|
|
60
|
+
});
|
|
61
|
+
export const ChevronUpGlyph = createIcon(chevronUpGlyphData, {
|
|
62
|
+
glyph: true
|
|
63
|
+
});
|
|
64
|
+
export const CircleGlyph = createIcon(circleGlyphData, {
|
|
65
|
+
glyph: true
|
|
66
|
+
});
|
|
67
|
+
export const ClockGlyph = createIcon(clockGlyphData, {
|
|
68
|
+
glyph: true
|
|
69
|
+
});
|
|
70
|
+
export const CodeGlyph = createIcon(codeGlyphData, {
|
|
71
|
+
glyph: true
|
|
72
|
+
});
|
|
73
|
+
export const CopyGlyph = createIcon(copyGlyphData, {
|
|
74
|
+
glyph: true
|
|
75
|
+
});
|
|
76
|
+
export const CropGlyph = createIcon(cropGlyphData, {
|
|
77
|
+
glyph: true
|
|
78
|
+
});
|
|
79
|
+
export const DatabaseGlyph = createIcon(databaseGlyphData, {
|
|
80
|
+
glyph: true
|
|
81
|
+
});
|
|
82
|
+
export const DockBottomGlyph = createIcon(dockBottomGlyphData, {
|
|
83
|
+
glyph: true
|
|
84
|
+
});
|
|
85
|
+
export const DownloadGlyph = createIcon(downloadGlyphData, {
|
|
86
|
+
glyph: true
|
|
87
|
+
});
|
|
88
|
+
export const Edit3Glyph = createIcon(edit3GlyphData, {
|
|
89
|
+
glyph: true
|
|
90
|
+
});
|
|
91
|
+
export const EyeOffGlyph = createIcon(eyeOffGlyphData, {
|
|
92
|
+
glyph: true
|
|
93
|
+
});
|
|
94
|
+
export const EyeGlyph = createIcon(eyeGlyphData, {
|
|
95
|
+
glyph: true
|
|
96
|
+
});
|
|
97
|
+
export const FileJsonGlyph = createIcon(fileJsonGlyphData, {
|
|
98
|
+
glyph: true
|
|
99
|
+
});
|
|
100
|
+
export const FileTextGlyph = createIcon(fileTextGlyphData, {
|
|
101
|
+
glyph: true
|
|
102
|
+
});
|
|
103
|
+
export const FilmGlyph = createIcon(filmGlyphData, {
|
|
104
|
+
glyph: true
|
|
105
|
+
});
|
|
106
|
+
export const FilterGlyph = createIcon(filterGlyphData, {
|
|
107
|
+
glyph: true
|
|
108
|
+
});
|
|
109
|
+
export const FlaskConicalGlyph = createIcon(flaskConicalGlyphData, {
|
|
110
|
+
glyph: true
|
|
111
|
+
});
|
|
112
|
+
export const FloatWindowGlyph = createIcon(floatWindowGlyphData, {
|
|
113
|
+
glyph: true
|
|
114
|
+
});
|
|
115
|
+
export const GaugeGlyph = createIcon(gaugeGlyphData, {
|
|
116
|
+
glyph: true
|
|
117
|
+
});
|
|
118
|
+
export const GitBranchGlyph = createIcon(gitBranchGlyphData, {
|
|
119
|
+
glyph: true
|
|
120
|
+
});
|
|
121
|
+
export const GlobeGlyph = createIcon(globeGlyphData, {
|
|
122
|
+
glyph: true
|
|
123
|
+
});
|
|
124
|
+
export const GripVerticalGlyph = createIcon(gripVerticalGlyphData, {
|
|
125
|
+
glyph: true
|
|
126
|
+
});
|
|
127
|
+
export const HashGlyph = createIcon(hashGlyphData, {
|
|
128
|
+
glyph: true
|
|
129
|
+
});
|
|
130
|
+
export const HomeGlyph = createIcon(homeGlyphData, {
|
|
131
|
+
glyph: true
|
|
132
|
+
});
|
|
133
|
+
export const ImageOffGlyph = createIcon(imageOffGlyphData, {
|
|
134
|
+
glyph: true
|
|
135
|
+
});
|
|
136
|
+
export const ImageGlyph = createIcon(imageGlyphData, {
|
|
137
|
+
glyph: true
|
|
138
|
+
});
|
|
139
|
+
export const InfoGlyph = createIcon(infoGlyphData, {
|
|
140
|
+
glyph: true
|
|
141
|
+
});
|
|
142
|
+
export const KeyGlyph = createIcon(keyGlyphData, {
|
|
143
|
+
glyph: true
|
|
144
|
+
});
|
|
145
|
+
export const LayersGlyph = createIcon(layersGlyphData, {
|
|
146
|
+
glyph: true
|
|
147
|
+
});
|
|
148
|
+
export const LinkGlyph = createIcon(linkGlyphData, {
|
|
149
|
+
glyph: true
|
|
150
|
+
});
|
|
151
|
+
export const LockGlyph = createIcon(lockGlyphData, {
|
|
152
|
+
glyph: true
|
|
153
|
+
});
|
|
154
|
+
export const MinusGlyph = createIcon(minusGlyphData, {
|
|
155
|
+
glyph: true
|
|
156
|
+
});
|
|
157
|
+
export const MoreVerticalGlyph = createIcon(moreVerticalGlyphData, {
|
|
158
|
+
glyph: true
|
|
159
|
+
});
|
|
160
|
+
export const MusicGlyph = createIcon(musicGlyphData, {
|
|
161
|
+
glyph: true
|
|
162
|
+
});
|
|
163
|
+
export const NavigationGlyph = createIcon(navigationGlyphData, {
|
|
164
|
+
glyph: true
|
|
165
|
+
});
|
|
166
|
+
export const PaletteGlyph = createIcon(paletteGlyphData, {
|
|
167
|
+
glyph: true
|
|
168
|
+
});
|
|
169
|
+
export const PauseGlyph = createIcon(pauseGlyphData, {
|
|
170
|
+
glyph: true
|
|
171
|
+
});
|
|
172
|
+
export const PinGlyph = createIcon(pinGlyphData, {
|
|
173
|
+
glyph: true
|
|
174
|
+
});
|
|
175
|
+
export const PlayGlyph = createIcon(playGlyphData, {
|
|
176
|
+
glyph: true
|
|
177
|
+
});
|
|
178
|
+
export const PlusGlyph = createIcon(plusGlyphData, {
|
|
179
|
+
glyph: true
|
|
180
|
+
});
|
|
181
|
+
export const PowerGlyph = createIcon(powerGlyphData, {
|
|
182
|
+
glyph: true
|
|
183
|
+
});
|
|
184
|
+
export const RefreshCwGlyph = createIcon(refreshCwGlyphData, {
|
|
185
|
+
glyph: true
|
|
186
|
+
});
|
|
187
|
+
export const SearchGlyph = createIcon(searchGlyphData, {
|
|
188
|
+
glyph: true
|
|
189
|
+
});
|
|
190
|
+
export const ServerGlyph = createIcon(serverGlyphData, {
|
|
191
|
+
glyph: true
|
|
192
|
+
});
|
|
193
|
+
export const SettingsGlyph = createIcon(settingsGlyphData, {
|
|
194
|
+
glyph: true
|
|
195
|
+
});
|
|
196
|
+
export const ShieldGlyph = createIcon(shieldGlyphData, {
|
|
197
|
+
glyph: true
|
|
198
|
+
});
|
|
199
|
+
export const Trash2Glyph = createIcon(trash2GlyphData, {
|
|
200
|
+
glyph: true
|
|
201
|
+
});
|
|
202
|
+
export const UnlockGlyph = createIcon(unlockGlyphData, {
|
|
203
|
+
glyph: true
|
|
204
|
+
});
|
|
205
|
+
export const UploadGlyph = createIcon(uploadGlyphData, {
|
|
206
|
+
glyph: true
|
|
207
|
+
});
|
|
208
|
+
export const UserGlyph = createIcon(userGlyphData, {
|
|
209
|
+
glyph: true
|
|
210
|
+
});
|
|
211
|
+
export const WifiGlyph = createIcon(wifiGlyphData, {
|
|
212
|
+
glyph: true
|
|
213
|
+
});
|
|
214
|
+
export const XCircleGlyph = createIcon(xCircleGlyphData, {
|
|
215
|
+
glyph: true
|
|
216
|
+
});
|
|
217
|
+
export const XGlyph = createIcon(xGlyphData, {
|
|
218
|
+
glyph: true
|
|
219
|
+
});
|
|
220
|
+
export const ZapGlyph = createIcon(zapGlyphData, {
|
|
221
|
+
glyph: true
|
|
222
|
+
});
|
|
223
|
+
|
|
224
|
+
/** Every glyph component, keyed by its source filename. */
|
|
225
|
+
export const glyphsByName = {
|
|
226
|
+
'activity': ActivityGlyph,
|
|
227
|
+
'alert-circle': AlertCircleGlyph,
|
|
228
|
+
'alert-triangle': AlertTriangleGlyph,
|
|
229
|
+
'arrow-down-to-line': ArrowDownToLineGlyph,
|
|
230
|
+
'arrow-down': ArrowDownGlyph,
|
|
231
|
+
'arrow-up': ArrowUpGlyph,
|
|
232
|
+
'bar-chart': BarChartGlyph,
|
|
233
|
+
'bookmark': BookmarkGlyph,
|
|
234
|
+
'box': BoxGlyph,
|
|
235
|
+
'braces': BracesGlyph,
|
|
236
|
+
'bug': BugGlyph,
|
|
237
|
+
'check-circle': CheckCircleGlyph,
|
|
238
|
+
'check': CheckGlyph,
|
|
239
|
+
'chevron-down': ChevronDownGlyph,
|
|
240
|
+
'chevron-left': ChevronLeftGlyph,
|
|
241
|
+
'chevron-right': ChevronRightGlyph,
|
|
242
|
+
'chevron-up': ChevronUpGlyph,
|
|
243
|
+
'circle': CircleGlyph,
|
|
244
|
+
'clock': ClockGlyph,
|
|
245
|
+
'code': CodeGlyph,
|
|
246
|
+
'copy': CopyGlyph,
|
|
247
|
+
'crop': CropGlyph,
|
|
248
|
+
'database': DatabaseGlyph,
|
|
249
|
+
'dock-bottom': DockBottomGlyph,
|
|
250
|
+
'download': DownloadGlyph,
|
|
251
|
+
'edit-3': Edit3Glyph,
|
|
252
|
+
'eye-off': EyeOffGlyph,
|
|
253
|
+
'eye': EyeGlyph,
|
|
254
|
+
'file-json': FileJsonGlyph,
|
|
255
|
+
'file-text': FileTextGlyph,
|
|
256
|
+
'film': FilmGlyph,
|
|
257
|
+
'filter': FilterGlyph,
|
|
258
|
+
'flask-conical': FlaskConicalGlyph,
|
|
259
|
+
'float-window': FloatWindowGlyph,
|
|
260
|
+
'gauge': GaugeGlyph,
|
|
261
|
+
'git-branch': GitBranchGlyph,
|
|
262
|
+
'globe': GlobeGlyph,
|
|
263
|
+
'grip-vertical': GripVerticalGlyph,
|
|
264
|
+
'hash': HashGlyph,
|
|
265
|
+
'home': HomeGlyph,
|
|
266
|
+
'image-off': ImageOffGlyph,
|
|
267
|
+
'image': ImageGlyph,
|
|
268
|
+
'info': InfoGlyph,
|
|
269
|
+
'key': KeyGlyph,
|
|
270
|
+
'layers': LayersGlyph,
|
|
271
|
+
'link': LinkGlyph,
|
|
272
|
+
'lock': LockGlyph,
|
|
273
|
+
'minus': MinusGlyph,
|
|
274
|
+
'more-vertical': MoreVerticalGlyph,
|
|
275
|
+
'music': MusicGlyph,
|
|
276
|
+
'navigation': NavigationGlyph,
|
|
277
|
+
'palette': PaletteGlyph,
|
|
278
|
+
'pause': PauseGlyph,
|
|
279
|
+
'pin': PinGlyph,
|
|
280
|
+
'play': PlayGlyph,
|
|
281
|
+
'plus': PlusGlyph,
|
|
282
|
+
'power': PowerGlyph,
|
|
283
|
+
'refresh-cw': RefreshCwGlyph,
|
|
284
|
+
'search': SearchGlyph,
|
|
285
|
+
'server': ServerGlyph,
|
|
286
|
+
'settings': SettingsGlyph,
|
|
287
|
+
'shield': ShieldGlyph,
|
|
288
|
+
'trash-2': Trash2Glyph,
|
|
289
|
+
'unlock': UnlockGlyph,
|
|
290
|
+
'upload': UploadGlyph,
|
|
291
|
+
'user': UserGlyph,
|
|
292
|
+
'wifi': WifiGlyph,
|
|
293
|
+
'x-circle': XCircleGlyph,
|
|
294
|
+
'x': XGlyph,
|
|
295
|
+
'zap': ZapGlyph
|
|
296
|
+
};
|
|
@@ -156,15 +156,15 @@ export const benchmarkIconData = {
|
|
|
156
156
|
opacity: 0.9
|
|
157
157
|
}, {
|
|
158
158
|
type: 'rect',
|
|
159
|
-
x:
|
|
160
|
-
y:
|
|
161
|
-
width:
|
|
162
|
-
height: 5,
|
|
159
|
+
x: 0,
|
|
160
|
+
y: 0.25,
|
|
161
|
+
width: 5,
|
|
162
|
+
height: 1.5,
|
|
163
163
|
fill: 'color',
|
|
164
164
|
borderRadius: 1,
|
|
165
165
|
opacity: 0.9,
|
|
166
|
-
rotation: -
|
|
167
|
-
rotateFromCenter:
|
|
166
|
+
rotation: -135,
|
|
167
|
+
rotateFromCenter: false
|
|
168
168
|
}, {
|
|
169
169
|
type: 'circle',
|
|
170
170
|
cx: 0,
|
|
@@ -3378,123 +3378,199 @@ export const sentryIconData = {
|
|
|
3378
3378
|
color: SENTRY_ICON_COLOR,
|
|
3379
3379
|
bgColor: '#000',
|
|
3380
3380
|
elements: [{
|
|
3381
|
-
type: '
|
|
3381
|
+
type: 'arc',
|
|
3382
|
+
cx: -10.5,
|
|
3383
|
+
cy: 8.55,
|
|
3384
|
+
r: 14.3,
|
|
3385
|
+
startAngle: -60,
|
|
3386
|
+
endAngle: -0.4,
|
|
3387
|
+
segments: 24,
|
|
3388
|
+
strokeWidth: 1.54
|
|
3389
|
+
}, {
|
|
3390
|
+
type: 'line',
|
|
3391
|
+
x1: -3.343,
|
|
3392
|
+
y1: -3.835,
|
|
3393
|
+
x2: -0.98,
|
|
3394
|
+
y2: -7.883,
|
|
3395
|
+
strokeWidth: 1.62
|
|
3396
|
+
}, {
|
|
3397
|
+
type: 'semicircle',
|
|
3382
3398
|
cx: 0,
|
|
3383
|
-
cy:
|
|
3384
|
-
r:
|
|
3385
|
-
|
|
3386
|
-
|
|
3399
|
+
cy: -7.3,
|
|
3400
|
+
r: 1.96,
|
|
3401
|
+
half: 'top',
|
|
3402
|
+
fill: 'color'
|
|
3387
3403
|
}, {
|
|
3388
|
-
type: '
|
|
3389
|
-
|
|
3390
|
-
|
|
3391
|
-
|
|
3392
|
-
|
|
3393
|
-
|
|
3394
|
-
|
|
3395
|
-
|
|
3404
|
+
type: 'line',
|
|
3405
|
+
x1: 0.96,
|
|
3406
|
+
y1: -7.868,
|
|
3407
|
+
x2: 9.551,
|
|
3408
|
+
y2: 6.754,
|
|
3409
|
+
strokeWidth: 1.67
|
|
3410
|
+
}, {
|
|
3411
|
+
type: 'semicircle',
|
|
3412
|
+
cx: 8.568,
|
|
3413
|
+
cy: 7.333,
|
|
3414
|
+
r: 1.977,
|
|
3415
|
+
half: 'right',
|
|
3416
|
+
fill: 'color'
|
|
3396
3417
|
}, {
|
|
3397
3418
|
type: 'rect',
|
|
3398
|
-
x:
|
|
3399
|
-
y:
|
|
3400
|
-
width:
|
|
3401
|
-
height: 6,
|
|
3402
|
-
fill: 'color'
|
|
3403
|
-
|
|
3404
|
-
|
|
3419
|
+
x: 6.552,
|
|
3420
|
+
y: 7.657,
|
|
3421
|
+
width: 2.008,
|
|
3422
|
+
height: 1.6,
|
|
3423
|
+
fill: 'color'
|
|
3424
|
+
}, {
|
|
3425
|
+
type: 'arc',
|
|
3426
|
+
cx: -10.5,
|
|
3427
|
+
cy: 8.55,
|
|
3428
|
+
r: 10.83,
|
|
3429
|
+
startAngle: -60,
|
|
3430
|
+
endAngle: -0.53,
|
|
3431
|
+
segments: 20,
|
|
3432
|
+
strokeWidth: 1.6
|
|
3405
3433
|
}, {
|
|
3406
3434
|
type: 'rect',
|
|
3407
|
-
x: -
|
|
3408
|
-
y:
|
|
3409
|
-
width:
|
|
3410
|
-
height:
|
|
3411
|
-
fill: 'color'
|
|
3412
|
-
|
|
3413
|
-
|
|
3435
|
+
x: -0.521,
|
|
3436
|
+
y: 7.64,
|
|
3437
|
+
width: 5.17,
|
|
3438
|
+
height: 1.6,
|
|
3439
|
+
fill: 'color'
|
|
3440
|
+
}, {
|
|
3441
|
+
type: 'line',
|
|
3442
|
+
x1: -5.086,
|
|
3443
|
+
y1: -0.823,
|
|
3444
|
+
x2: -6.791,
|
|
3445
|
+
y2: 2.125,
|
|
3446
|
+
strokeWidth: 1.62
|
|
3447
|
+
}, {
|
|
3448
|
+
type: 'arc',
|
|
3449
|
+
cx: -10.5,
|
|
3450
|
+
cy: 8.55,
|
|
3451
|
+
r: 7.42,
|
|
3452
|
+
startAngle: -60,
|
|
3453
|
+
endAngle: -0.83,
|
|
3454
|
+
segments: 16,
|
|
3455
|
+
strokeWidth: 1.46
|
|
3456
|
+
}, {
|
|
3457
|
+
type: 'rect',
|
|
3458
|
+
x: -8.547,
|
|
3459
|
+
y: 7.631,
|
|
3460
|
+
width: 6.09,
|
|
3461
|
+
height: 1.609,
|
|
3462
|
+
fill: 'color'
|
|
3463
|
+
}, {
|
|
3464
|
+
type: 'semicircle',
|
|
3465
|
+
cx: -8.547,
|
|
3466
|
+
cy: 7.308,
|
|
3467
|
+
r: 1.931,
|
|
3468
|
+
half: 'left',
|
|
3469
|
+
fill: 'color'
|
|
3414
3470
|
}, {
|
|
3471
|
+
type: 'line',
|
|
3472
|
+
x1: -9.517,
|
|
3473
|
+
y1: 6.737,
|
|
3474
|
+
x2: -8.639,
|
|
3475
|
+
y2: 5.33,
|
|
3476
|
+
strokeWidth: 1.61
|
|
3477
|
+
}]
|
|
3478
|
+
};
|
|
3479
|
+
|
|
3480
|
+
// ===========================================
|
|
3481
|
+
// SETTINGS
|
|
3482
|
+
// ===========================================
|
|
3483
|
+
|
|
3484
|
+
export const settingsIconData = {
|
|
3485
|
+
color: '#E0E0E0',
|
|
3486
|
+
bgColor: '#0a0a0f',
|
|
3487
|
+
elements: [{
|
|
3415
3488
|
type: 'circle',
|
|
3416
|
-
cx:
|
|
3417
|
-
cy:
|
|
3418
|
-
r:
|
|
3419
|
-
|
|
3420
|
-
|
|
3489
|
+
cx: 0,
|
|
3490
|
+
cy: 0,
|
|
3491
|
+
r: 7.09,
|
|
3492
|
+
border: true,
|
|
3493
|
+
borderWidth: 3.6
|
|
3421
3494
|
}, {
|
|
3422
3495
|
type: 'rect',
|
|
3423
|
-
x:
|
|
3424
|
-
y: -
|
|
3425
|
-
width:
|
|
3426
|
-
height:
|
|
3496
|
+
x: 6,
|
|
3497
|
+
y: -1.785,
|
|
3498
|
+
width: 4,
|
|
3499
|
+
height: 3.57,
|
|
3427
3500
|
fill: 'color',
|
|
3428
|
-
|
|
3429
|
-
rotation:
|
|
3501
|
+
borderRadius: 0.45,
|
|
3502
|
+
rotation: 0,
|
|
3503
|
+
rotateFromCenter: true
|
|
3430
3504
|
}, {
|
|
3431
|
-
type: '
|
|
3432
|
-
|
|
3433
|
-
|
|
3434
|
-
|
|
3505
|
+
type: 'rect',
|
|
3506
|
+
x: 3.657,
|
|
3507
|
+
y: 3.872,
|
|
3508
|
+
width: 4,
|
|
3509
|
+
height: 3.57,
|
|
3435
3510
|
fill: 'color',
|
|
3436
|
-
|
|
3511
|
+
borderRadius: 0.45,
|
|
3512
|
+
rotation: 45,
|
|
3513
|
+
rotateFromCenter: true
|
|
3437
3514
|
}, {
|
|
3438
3515
|
type: 'rect',
|
|
3439
|
-
x: -
|
|
3440
|
-
y:
|
|
3516
|
+
x: -2,
|
|
3517
|
+
y: 6.215,
|
|
3441
3518
|
width: 4,
|
|
3442
|
-
height:
|
|
3519
|
+
height: 3.57,
|
|
3443
3520
|
fill: 'color',
|
|
3444
|
-
|
|
3445
|
-
rotation:
|
|
3521
|
+
borderRadius: 0.45,
|
|
3522
|
+
rotation: 90,
|
|
3523
|
+
rotateFromCenter: true
|
|
3446
3524
|
}, {
|
|
3447
3525
|
type: 'rect',
|
|
3448
|
-
x: -
|
|
3449
|
-
y:
|
|
3526
|
+
x: -7.657,
|
|
3527
|
+
y: 3.872,
|
|
3450
3528
|
width: 4,
|
|
3451
|
-
height:
|
|
3529
|
+
height: 3.57,
|
|
3452
3530
|
fill: 'color',
|
|
3453
|
-
|
|
3454
|
-
rotation:
|
|
3531
|
+
borderRadius: 0.45,
|
|
3532
|
+
rotation: 135,
|
|
3533
|
+
rotateFromCenter: true
|
|
3455
3534
|
}, {
|
|
3456
3535
|
type: 'rect',
|
|
3457
3536
|
x: -10,
|
|
3458
|
-
y:
|
|
3537
|
+
y: -1.785,
|
|
3459
3538
|
width: 4,
|
|
3460
|
-
height:
|
|
3539
|
+
height: 3.57,
|
|
3461
3540
|
fill: 'color',
|
|
3462
|
-
|
|
3463
|
-
rotation:
|
|
3541
|
+
borderRadius: 0.45,
|
|
3542
|
+
rotation: 180,
|
|
3543
|
+
rotateFromCenter: true
|
|
3464
3544
|
}, {
|
|
3465
3545
|
type: 'rect',
|
|
3466
|
-
x:
|
|
3467
|
-
y: -
|
|
3546
|
+
x: -7.657,
|
|
3547
|
+
y: -7.442,
|
|
3468
3548
|
width: 4,
|
|
3469
|
-
height:
|
|
3549
|
+
height: 3.57,
|
|
3470
3550
|
fill: 'color',
|
|
3471
|
-
|
|
3472
|
-
rotation:
|
|
3551
|
+
borderRadius: 0.45,
|
|
3552
|
+
rotation: 225,
|
|
3553
|
+
rotateFromCenter: true
|
|
3473
3554
|
}, {
|
|
3474
3555
|
type: 'rect',
|
|
3475
|
-
x:
|
|
3476
|
-
y:
|
|
3556
|
+
x: -2,
|
|
3557
|
+
y: -9.785,
|
|
3477
3558
|
width: 4,
|
|
3478
|
-
height:
|
|
3559
|
+
height: 3.57,
|
|
3479
3560
|
fill: 'color',
|
|
3480
|
-
|
|
3481
|
-
rotation:
|
|
3561
|
+
borderRadius: 0.45,
|
|
3562
|
+
rotation: 270,
|
|
3563
|
+
rotateFromCenter: true
|
|
3482
3564
|
}, {
|
|
3483
3565
|
type: 'rect',
|
|
3484
|
-
x:
|
|
3485
|
-
y:
|
|
3566
|
+
x: 3.657,
|
|
3567
|
+
y: -7.442,
|
|
3486
3568
|
width: 4,
|
|
3487
|
-
height:
|
|
3569
|
+
height: 3.57,
|
|
3488
3570
|
fill: 'color',
|
|
3489
|
-
|
|
3490
|
-
rotation:
|
|
3491
|
-
|
|
3492
|
-
type: 'circle',
|
|
3493
|
-
cx: 0,
|
|
3494
|
-
cy: 1,
|
|
3495
|
-
r: 1,
|
|
3496
|
-
fill: '#fff',
|
|
3497
|
-
opacity: 0.3
|
|
3571
|
+
borderRadius: 0.45,
|
|
3572
|
+
rotation: 315,
|
|
3573
|
+
rotateFromCenter: true
|
|
3498
3574
|
}]
|
|
3499
3575
|
};
|
|
3500
3576
|
|
|
@@ -30,15 +30,19 @@ const r2 = n => Math.round(n * 100) / 100;
|
|
|
30
30
|
|
|
31
31
|
export const IconContainer = ({
|
|
32
32
|
size,
|
|
33
|
-
children
|
|
33
|
+
children,
|
|
34
|
+
style
|
|
34
35
|
}) => {
|
|
35
|
-
const
|
|
36
|
+
const box = {
|
|
36
37
|
position: 'relative',
|
|
37
38
|
width: r2(size),
|
|
38
39
|
height: r2(size)
|
|
39
40
|
};
|
|
40
41
|
return /*#__PURE__*/_jsx("div", {
|
|
41
|
-
style:
|
|
42
|
+
style: {
|
|
43
|
+
...box,
|
|
44
|
+
...style
|
|
45
|
+
},
|
|
42
46
|
children: children
|
|
43
47
|
});
|
|
44
48
|
};
|
|
@@ -291,14 +295,24 @@ const IconLineImpl = ({
|
|
|
291
295
|
const segCenterX = (prev.x + pt.x) / 2;
|
|
292
296
|
const segCenterY = (prev.y + pt.y) / 2;
|
|
293
297
|
|
|
294
|
-
// A capsule
|
|
295
|
-
//
|
|
298
|
+
// A capsule per segment. Interior joints OVERLAP by half a stroke on each side (a
|
|
299
|
+
// capsule exactly segLength long shrinks to a blob when the segment is shorter than
|
|
300
|
+
// the stroke, and neighbouring round ends leave notches on the outside of a turn —
|
|
301
|
+
// the route-path icon rendered as dashes). The chain's two ends stay exactly at the
|
|
302
|
+
// authored endpoints so a curve is the same length as a straight line.
|
|
303
|
+
const extS = i > 1 ? strokeWidth / 2 : 0;
|
|
304
|
+
const extE = i < segments ? strokeWidth / 2 : 0;
|
|
305
|
+
const ux = segLength > 0 ? segDx / segLength : 0;
|
|
306
|
+
const uy = segLength > 0 ? segDy / segLength : 0;
|
|
307
|
+
const capLength = segLength + extS + extE;
|
|
308
|
+
const capCenterX = segCenterX + ux * (extE - extS) / 2;
|
|
309
|
+
const capCenterY = segCenterY + uy * (extE - extS) / 2;
|
|
296
310
|
elements.push(/*#__PURE__*/_jsx("div", {
|
|
297
311
|
style: {
|
|
298
312
|
position: 'absolute',
|
|
299
|
-
left: r2(
|
|
300
|
-
top: r2(
|
|
301
|
-
width: r2(
|
|
313
|
+
left: r2(capCenterX - capLength / 2),
|
|
314
|
+
top: r2(capCenterY - strokeWidth / 2),
|
|
315
|
+
width: r2(capLength),
|
|
302
316
|
height: r2(strokeWidth),
|
|
303
317
|
borderRadius: r2(strokeWidth / 2),
|
|
304
318
|
backgroundColor: stroke,
|
|
@@ -460,13 +474,19 @@ const IconArcImpl = ({
|
|
|
460
474
|
const x2 = cx + r * Math.cos(rad2);
|
|
461
475
|
const y2 = cy + r * Math.sin(rad2);
|
|
462
476
|
|
|
463
|
-
// Calculate segment geometry
|
|
477
|
+
// Calculate segment geometry. Interior joints overlap by half a stroke (same reason
|
|
478
|
+
// as the curved-line chain above); the arc's two ends stay at the authored angles.
|
|
464
479
|
const dx = x2 - x1;
|
|
465
480
|
const dy = y2 - y1;
|
|
466
|
-
const
|
|
481
|
+
const segLen = Math.sqrt(dx * dx + dy * dy);
|
|
467
482
|
const angle = Math.atan2(dy, dx) * (180 / Math.PI);
|
|
468
|
-
const
|
|
469
|
-
const
|
|
483
|
+
const extS = i > 0 ? strokeWidth / 2 : 0;
|
|
484
|
+
const extE = i < numSegments - 1 ? strokeWidth / 2 : 0;
|
|
485
|
+
const ux = segLen > 0 ? dx / segLen : 0;
|
|
486
|
+
const uy = segLen > 0 ? dy / segLen : 0;
|
|
487
|
+
const length = segLen + extS + extE;
|
|
488
|
+
const midX = (x1 + x2) / 2 + ux * (extE - extS) / 2;
|
|
489
|
+
const midY = (y1 + y2) / 2 + uy * (extE - extS) / 2;
|
|
470
490
|
const style = {
|
|
471
491
|
position: 'absolute',
|
|
472
492
|
left: r2(midX - length / 2),
|