@selectwin/kit 0.1.196 → 0.1.198

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 (248) hide show
  1. package/README.md +1 -1
  2. package/dist/SelectAccordion.js +54 -0
  3. package/dist/SelectActionCard.js +45 -0
  4. package/dist/SelectActionList.js +55 -0
  5. package/dist/SelectActionMenu.js +33 -0
  6. package/dist/SelectAddButton.js +22 -0
  7. package/dist/SelectAddCard.js +32 -0
  8. package/dist/SelectAlert.js +36 -0
  9. package/dist/SelectAssistant.js +184 -0
  10. package/dist/SelectAuthFx.js +626 -0
  11. package/dist/SelectAvatar.js +34 -0
  12. package/dist/SelectBackLink.js +22 -0
  13. package/dist/SelectBadge.js +18 -0
  14. package/dist/SelectBalanceCard.d.ts +3 -0
  15. package/dist/SelectBalanceCard.js +167 -0
  16. package/dist/SelectBankAccountField.js +71 -0
  17. package/dist/SelectBankIcon.js +162 -0
  18. package/dist/SelectBarChart.js +88 -0
  19. package/dist/SelectBoxPlot.js +127 -0
  20. package/dist/SelectBrandIcon.js +206 -0
  21. package/dist/SelectBreadcrumb.js +45 -0
  22. package/dist/SelectBuilderLayout.js +49 -0
  23. package/dist/SelectBuilderWorkspace.js +273 -0
  24. package/dist/SelectBullet.js +59 -0
  25. package/dist/SelectBump.js +93 -0
  26. package/dist/SelectButton.js +51 -0
  27. package/dist/SelectCalendar.js +450 -0
  28. package/dist/SelectCalendarHeatmap.js +84 -0
  29. package/dist/SelectCandlestick.js +97 -0
  30. package/dist/SelectCard.js +52 -0
  31. package/dist/SelectCardGrid.js +76 -0
  32. package/dist/SelectCertificatePreview.js +108 -0
  33. package/dist/SelectChannelPreview.js +124 -0
  34. package/dist/SelectChartCard.js +50 -0
  35. package/dist/SelectChartLegend.js +34 -0
  36. package/dist/SelectChipInput.js +110 -0
  37. package/dist/SelectChoiceCard.js +113 -0
  38. package/dist/SelectChord.js +93 -0
  39. package/dist/SelectCirclePack.js +111 -0
  40. package/dist/SelectCodeBlock.js +51 -0
  41. package/dist/SelectCollapsible.js +40 -0
  42. package/dist/SelectColorField.js +283 -0
  43. package/dist/SelectColumnChart.js +222 -0
  44. package/dist/SelectComboChart.js +139 -0
  45. package/dist/SelectCombobox.js +158 -0
  46. package/dist/SelectConfirmModal.js +42 -0
  47. package/dist/SelectConversation.js +97 -0
  48. package/dist/SelectCopyRow.js +61 -0
  49. package/dist/SelectCopyableId.js +45 -0
  50. package/dist/SelectDataTable.js +247 -0
  51. package/dist/SelectDateField.js +255 -0
  52. package/dist/SelectDatePicker.js +311 -0
  53. package/dist/SelectDateRangeField.js +57 -0
  54. package/dist/SelectDetail.js +49 -0
  55. package/dist/SelectDisclosureButton.js +23 -0
  56. package/dist/SelectDivider.js +20 -0
  57. package/dist/SelectDnsRecords.js +74 -0
  58. package/dist/SelectDocumentField.js +24 -0
  59. package/dist/SelectDonut.js +103 -0
  60. package/dist/SelectDotField.js +134 -0
  61. package/dist/SelectDumbbell.js +100 -0
  62. package/dist/SelectFactStrip.js +42 -0
  63. package/dist/SelectFeeBreakdown.js +88 -0
  64. package/dist/SelectField.d.ts +24 -6
  65. package/dist/SelectField.js +196 -0
  66. package/dist/SelectFieldGrid.js +15 -0
  67. package/dist/SelectFileDropzone.js +160 -0
  68. package/dist/SelectFileTile.js +53 -0
  69. package/dist/SelectFilterBar.js +292 -0
  70. package/dist/SelectFilterChip.js +32 -0
  71. package/dist/SelectFlowCanvas.js +282 -0
  72. package/dist/SelectFormLayout.js +21 -0
  73. package/dist/SelectFormModal.js +53 -0
  74. package/dist/SelectFunnel.js +49 -0
  75. package/dist/SelectGauge.js +74 -0
  76. package/dist/SelectGaugeBands.js +78 -0
  77. package/dist/SelectGlobe.js +472 -0
  78. package/dist/SelectHeatmap.js +76 -0
  79. package/dist/SelectHexbin.js +59 -0
  80. package/dist/SelectHorizontalBar.js +100 -0
  81. package/dist/SelectHtmlFrame.js +30 -0
  82. package/dist/SelectIcicle.js +87 -0
  83. package/dist/SelectIcon.js +21 -0
  84. package/dist/SelectIconButton.js +24 -0
  85. package/dist/SelectIconPicker.js +79 -0
  86. package/dist/SelectIconTile.js +17 -0
  87. package/dist/SelectIdentityFooter.js +30 -0
  88. package/dist/SelectImageField.js +56 -0
  89. package/dist/SelectImageGalleryField.js +243 -0
  90. package/dist/SelectImageUploadField.js +155 -0
  91. package/dist/SelectImageUrlsField.js +68 -0
  92. package/dist/SelectImageZoomModal.js +26 -0
  93. package/dist/SelectInfoTip.js +31 -0
  94. package/dist/SelectInsight.js +777 -0
  95. package/dist/SelectJourney.js +68 -0
  96. package/dist/SelectJsonViewer.js +294 -0
  97. package/dist/SelectKanban.js +124 -0
  98. package/dist/SelectKbd.js +15 -0
  99. package/dist/SelectKeyValueEditor.js +88 -0
  100. package/dist/SelectKpiBand.js +17 -0
  101. package/dist/SelectKpiCard.js +54 -0
  102. package/dist/SelectLauncher.js +58 -0
  103. package/dist/SelectLayout.js +100 -0
  104. package/dist/SelectLineChart.js +161 -0
  105. package/dist/SelectLinkButton.js +18 -0
  106. package/dist/SelectListCard.js +89 -0
  107. package/dist/SelectLoader.js +27 -0
  108. package/dist/SelectLocale.d.ts +2 -0
  109. package/dist/SelectLocale.js +191 -0
  110. package/dist/SelectMail.js +811 -0
  111. package/dist/SelectMailEditor.js +224 -0
  112. package/dist/SelectMarimekko.js +87 -0
  113. package/dist/SelectMarkStack.js +30 -0
  114. package/dist/SelectMediaCell.js +28 -0
  115. package/dist/SelectMenu.js +110 -0
  116. package/dist/SelectMiniStats.js +37 -0
  117. package/dist/SelectModal.js +177 -0
  118. package/dist/SelectMoney.js +136 -0
  119. package/dist/SelectMoneyField.js +82 -0
  120. package/dist/SelectNetwork.js +122 -0
  121. package/dist/SelectNote.js +26 -0
  122. package/dist/SelectNumberField.js +87 -0
  123. package/dist/SelectNumberedList.js +30 -0
  124. package/dist/SelectOfferPrice.js +48 -0
  125. package/dist/SelectOfflineModal.js +31 -0
  126. package/dist/SelectOptionList.js +54 -0
  127. package/dist/SelectOtpInput.js +64 -0
  128. package/dist/SelectPage.js +85 -0
  129. package/dist/SelectPagination.js +82 -0
  130. package/dist/SelectPanel.js +41 -0
  131. package/dist/SelectParallel.js +100 -0
  132. package/dist/SelectPareto.js +134 -0
  133. package/dist/SelectPasswordStrength.js +82 -0
  134. package/dist/SelectPaymentBrand.js +213 -0
  135. package/dist/SelectPaymentCard.js +53 -0
  136. package/dist/SelectPhoneField.js +139 -0
  137. package/dist/SelectPips.js +25 -0
  138. package/dist/SelectPlanCard.js +64 -0
  139. package/dist/SelectPolarArea.js +82 -0
  140. package/dist/SelectPopover.js +101 -0
  141. package/dist/SelectPreviewFrame.js +119 -0
  142. package/dist/SelectProgressBar.js +54 -0
  143. package/dist/SelectProgressList.js +58 -0
  144. package/dist/SelectPyramid.js +116 -0
  145. package/dist/SelectQrCode.d.ts +12 -0
  146. package/dist/SelectQrCode.js +51 -0
  147. package/dist/SelectQuestionStage.js +183 -0
  148. package/dist/SelectRadar.js +118 -0
  149. package/dist/SelectRadialBar.js +103 -0
  150. package/dist/SelectRadioGroup.js +54 -0
  151. package/dist/SelectRangeBar.js +89 -0
  152. package/dist/SelectRating.js +58 -0
  153. package/dist/SelectRatingQuote.js +31 -0
  154. package/dist/SelectRecordCard.js +144 -0
  155. package/dist/SelectRegions.js +23 -0
  156. package/dist/SelectRepeatingFieldArray.js +104 -0
  157. package/dist/SelectResendButton.js +44 -0
  158. package/dist/SelectRetryStatus.js +79 -0
  159. package/dist/SelectRing.js +53 -0
  160. package/dist/SelectRowActions.js +32 -0
  161. package/dist/SelectSankey.js +92 -0
  162. package/dist/SelectScatter.js +79 -0
  163. package/dist/SelectSearchInput.d.ts +8 -2
  164. package/dist/SelectSearchInput.js +38 -0
  165. package/dist/SelectSearchMenu.js +128 -0
  166. package/dist/SelectSection.js +83 -0
  167. package/dist/SelectSegmented.js +95 -0
  168. package/dist/SelectSelect.d.ts +19 -5
  169. package/dist/SelectSelect.js +84 -0
  170. package/dist/SelectSetting.js +54 -0
  171. package/dist/SelectSetupGuide.js +187 -0
  172. package/dist/SelectShareBar.js +139 -0
  173. package/dist/SelectSideNav.js +263 -0
  174. package/dist/SelectSkeleton.js +56 -0
  175. package/dist/SelectSlope.js +129 -0
  176. package/dist/SelectSortable.js +31 -0
  177. package/dist/SelectSparkline.js +66 -0
  178. package/dist/SelectSplitChain.js +52 -0
  179. package/dist/SelectSpotlight.js +81 -0
  180. package/dist/SelectStackedArea.js +117 -0
  181. package/dist/SelectStatusBadge.js +81 -0
  182. package/dist/SelectStatusPage.js +62 -0
  183. package/dist/SelectSteps.js +54 -0
  184. package/dist/SelectStreamGraph.js +99 -0
  185. package/dist/SelectSunburst.js +101 -0
  186. package/dist/SelectSurface.js +41 -0
  187. package/dist/SelectSwitch.js +24 -0
  188. package/dist/SelectSwitchField.d.ts +5 -1
  189. package/dist/SelectSwitchField.js +45 -0
  190. package/dist/SelectTable.js +243 -0
  191. package/dist/SelectTabs.js +63 -0
  192. package/dist/SelectTagSelect.js +144 -0
  193. package/dist/SelectTaskCard.js +44 -0
  194. package/dist/SelectText.js +25 -0
  195. package/dist/SelectTextarea.d.ts +15 -4
  196. package/dist/SelectTextarea.js +58 -0
  197. package/dist/SelectThemeSwitcher.js +66 -0
  198. package/dist/SelectThumbnail.js +41 -0
  199. package/dist/SelectTicker.js +69 -0
  200. package/dist/SelectTile.js +62 -0
  201. package/dist/SelectTileMap.js +268 -0
  202. package/dist/SelectTimeline.js +76 -0
  203. package/dist/SelectToast.js +159 -0
  204. package/dist/SelectToggle.js +80 -0
  205. package/dist/SelectTogglePanel.js +44 -0
  206. package/dist/SelectTokenTextarea.js +173 -0
  207. package/dist/SelectTooltip.js +100 -0
  208. package/dist/SelectTour.js +210 -0
  209. package/dist/SelectTree.js +86 -0
  210. package/dist/SelectTreemap.js +130 -0
  211. package/dist/SelectUnitInput.js +53 -0
  212. package/dist/SelectVenn.js +75 -0
  213. package/dist/SelectViolin.js +95 -0
  214. package/dist/SelectWaffle.js +56 -0
  215. package/dist/SelectWaterfall.js +123 -0
  216. package/dist/SelectWordCloud.js +27 -0
  217. package/dist/SelectWorkspaceSwitcher.js +40 -0
  218. package/dist/SelectZoomThumbnail.js +40 -0
  219. package/dist/chartTip.js +70 -0
  220. package/dist/chartUtils.js +146 -0
  221. package/dist/detectSelectTheme.js +8 -0
  222. package/dist/icons.js +1696 -0
  223. package/dist/index.d.ts +2 -1
  224. package/dist/index.js +213 -32708
  225. package/dist/internal/dateValue.js +12 -0
  226. package/dist/internal/document.js +16 -0
  227. package/dist/internal/flags.js +187 -0
  228. package/dist/internal/frame.js +17 -0
  229. package/dist/internal/inert.js +13 -0
  230. package/dist/internal/layers.d.ts +8 -0
  231. package/dist/internal/layers.js +35 -0
  232. package/dist/internal/listChrome.js +150 -0
  233. package/dist/internal/money.js +16 -0
  234. package/dist/internal/nativeProps.d.ts +11 -0
  235. package/dist/internal/nativeProps.js +14 -0
  236. package/dist/internal/phone.js +52 -0
  237. package/dist/internal/safeHref.js +17 -0
  238. package/dist/internal/useFocusTrap.d.ts +7 -1
  239. package/dist/internal/useFocusTrap.js +40 -0
  240. package/dist/internal/useMatchMedia.js +18 -0
  241. package/dist/internal/useSelectReveal.js +76 -0
  242. package/dist/jsonTree.js +183 -0
  243. package/dist/positioning.js +22 -0
  244. package/dist/spacing.js +22 -0
  245. package/dist/style.css +1 -1
  246. package/dist/uploadUtils.js +29 -0
  247. package/dist/worldLand.js +10401 -0
  248. package/package.json +4 -1
@@ -0,0 +1,472 @@
1
+ /* empty css */
2
+ import { formatCompact as e, useMeasuredWidth as t } from "./chartUtils.js";
3
+ import { ChartTooltip as n, useChartTooltip as r } from "./chartTip.js";
4
+ import { WORLD_LAND as i } from "./worldLand.js";
5
+ import { forwardRef as a, useEffect as o, useId as s, useMemo as c, useRef as l, useState as u } from "react";
6
+ import { jsx as d, jsxs as f } from "react/jsx-runtime";
7
+ //#region src/SelectGlobe.tsx
8
+ var p = Math.PI / 180;
9
+ function m(e, t) {
10
+ let n = e * p, r = t * p;
11
+ return [
12
+ Math.cos(n) * Math.sin(r),
13
+ Math.sin(n),
14
+ Math.cos(n) * Math.cos(r)
15
+ ];
16
+ }
17
+ function h([e, t, n], r, i) {
18
+ let a = r * p, o = e * Math.cos(a) + n * Math.sin(a), s = -e * Math.sin(a) + n * Math.cos(a), c = i * p;
19
+ return [
20
+ o,
21
+ t * Math.cos(c) - s * Math.sin(c),
22
+ t * Math.sin(c) + s * Math.cos(c)
23
+ ];
24
+ }
25
+ function ee(e, t, n) {
26
+ let r = e[0] * t[0] + e[1] * t[1] + e[2] * t[2];
27
+ r = Math.max(-1, Math.min(1, r));
28
+ let i = Math.acos(r);
29
+ if (i < 1e-6) return e;
30
+ let a = Math.sin(i), o = Math.sin((1 - n) * i) / a, s = Math.sin(n * i) / a;
31
+ return [
32
+ e[0] * o + t[0] * s,
33
+ e[1] * o + t[1] * s,
34
+ e[2] * o + t[2] * s
35
+ ];
36
+ }
37
+ var g = (e, t) => Math.abs(e.lat - t.lat) < 1e-6 && Math.abs(e.lng - t.lng) < 1e-6, _ = a(function({ points: a = [], arcs: p = [], size: _ = 320, tilt: v = -18, spin: te = !0, speed: ne = 7, color: y = "var(--select-chart-1)", format: b = e, legend: re = !0, map: x = !0, fluid: ie = !1, onZoomChange: S, className: C, ...ae }, oe) {
38
+ var w, se;
39
+ let T = s(), E = r(), D = l(null), O = t(D, _), ce = a.length ? a.reduce((e, t) => e + t.lng, 0) / a.length : 0, k = l(typeof window < "u" && !!((w = (se = window).matchMedia) != null && w.call(se, "(prefers-reduced-motion: reduce)").matches)), A = l({
40
+ lng: -ce,
41
+ lat: v
42
+ }), j = l({
43
+ lng: 0,
44
+ lat: 0
45
+ }), M = l(1), N = l(null), P = l(null), F = l(!1), I = l(0), L = l(0), R = l(0), [, z] = u(0), [le, ue] = u(!1), [B, V] = u(null), H = () => {
46
+ L.current || (R.current = performance.now(), L.current = requestAnimationFrame(U));
47
+ };
48
+ function U(e) {
49
+ let t = Math.min(.05, (e - R.current) / 1e3);
50
+ R.current = e, I.current += t;
51
+ let n = j.current, r = Math.abs(n.lng) + Math.abs(n.lat) > .02;
52
+ if (!P.current) {
53
+ if (N.current) {
54
+ let e = Math.min(1, t * 6);
55
+ A.current.lng += (N.current.lng - A.current.lng) * e, A.current.lat += (N.current.lat - A.current.lat) * e, Math.abs(N.current.lng - A.current.lng) < .2 && Math.abs(N.current.lat - A.current.lat) < .2 && (N.current = null);
56
+ } else r ? (A.current.lng += n.lng * t * 60, A.current.lat = Math.max(-85, Math.min(85, A.current.lat + n.lat * t * 60)), n.lng *= .94, n.lat *= .94) : (n.lng = 0, n.lat = 0, te && !k.current && !F.current && (A.current.lng += ne * t));
57
+ }
58
+ z((e) => (e + 1) % 1e6), !k.current || P.current || N.current || Math.abs(n.lng) + Math.abs(n.lat) > .02 ? L.current = requestAnimationFrame(U) : L.current = 0;
59
+ }
60
+ o(() => (k.current || H(), () => {
61
+ L.current && cancelAnimationFrame(L.current), L.current = 0;
62
+ }), []);
63
+ let W = l(S);
64
+ W.current = S, o(() => {
65
+ let e = D.current;
66
+ if (!e) return;
67
+ let t = (e) => {
68
+ var t;
69
+ e.preventDefault();
70
+ let n = Math.max(-240, Math.min(240, e.deltaMode ? e.deltaY * 40 : e.deltaY)), r = M.current * Math.exp(-n * .0012);
71
+ M.current = Math.max(.8, Math.min(1.8, r)), (t = W.current) == null || t.call(W, M.current), H(), z((e) => (e + 1) % 1e6);
72
+ };
73
+ return e.addEventListener("wheel", t, { passive: !1 }), () => e.removeEventListener("wheel", t);
74
+ }, []);
75
+ let de = (e) => {
76
+ var t, n;
77
+ (t = (n = e.target).setPointerCapture) == null || t.call(n, e.pointerId), P.current = {
78
+ x: e.clientX,
79
+ y: e.clientY
80
+ }, j.current = {
81
+ lng: 0,
82
+ lat: 0
83
+ }, N.current = null, ue(!0), H();
84
+ }, fe = (e) => {
85
+ if (!P.current) return;
86
+ let t = .34 / M.current, n = e.clientX - P.current.x, r = e.clientY - P.current.y;
87
+ P.current = {
88
+ x: e.clientX,
89
+ y: e.clientY
90
+ }, A.current.lng += n * t, A.current.lat = Math.max(-85, Math.min(85, A.current.lat + r * t)), j.current = {
91
+ lng: n * t,
92
+ lat: r * t
93
+ };
94
+ }, G = (e) => {
95
+ var t, n;
96
+ P.current && ((t = (n = e.target).releasePointerCapture) == null || t.call(n, e.pointerId), P.current = null, ue(!1), H());
97
+ }, K = (O / 2 - 6) * M.current, q = O / 2, J = O / 2, Y = (e) => {
98
+ let t = h(e, A.current.lng, A.current.lat);
99
+ return {
100
+ x: q + K * t[0],
101
+ y: J - K * t[1],
102
+ z: t[2]
103
+ };
104
+ }, pe = c(() => {
105
+ let e = [];
106
+ for (let t = -180; t < 180; t += 30) {
107
+ let n = [];
108
+ for (let e = 0; e <= 48; e++) n.push(m(-90 + 180 * e / 48, t));
109
+ e.push(n);
110
+ }
111
+ for (let t = -60; t <= 60; t += 30) {
112
+ let n = [];
113
+ for (let e = 0; e <= 48; e++) n.push(m(t, -180 + 360 * e / 48));
114
+ e.push(n);
115
+ }
116
+ return e;
117
+ }, []), me = c(() => i.map((e) => {
118
+ let t = [];
119
+ for (let n = 0; n < e.length; n += 2) t.push(m(e[n + 1], e[n]));
120
+ return t;
121
+ }), []), X = (e) => ({
122
+ x: q + K * e[0],
123
+ y: J - K * e[1]
124
+ }), Z = "", Q = "";
125
+ if (x) for (let e of me) {
126
+ let t = e.map((e) => h(e, A.current.lng, A.current.lat)), n = t.length, r = !1;
127
+ for (let e of t) if (e[2] > 0) {
128
+ let t = X(e);
129
+ Q += `${r ? "L" : "M"}${t.x.toFixed(1)},${t.y.toFixed(1)}`, r = !0;
130
+ } else r = !1;
131
+ let i = [];
132
+ for (let e = 0; e < n; e++) {
133
+ let r = t[e], a = t[(e + 1) % n], o = r[2] > 0, s = a[2] > 0;
134
+ if (o && i.push({
135
+ v: r,
136
+ edge: !1
137
+ }), o !== s) {
138
+ let e = r[2] / (r[2] - a[2]);
139
+ i.push({
140
+ v: [
141
+ r[0] + (a[0] - r[0]) * e,
142
+ r[1] + (a[1] - r[1]) * e,
143
+ 0
144
+ ],
145
+ edge: !0
146
+ });
147
+ }
148
+ }
149
+ if (i.length >= 3) {
150
+ let e = (e, t) => {
151
+ let n = X(t.v);
152
+ if (e.edge && t.edge) {
153
+ let t = Math.atan2(X(e.v).y - J, X(e.v).x - q), r = Math.atan2(n.y - J, n.x - q) - t;
154
+ for (; r > Math.PI;) r -= 2 * Math.PI;
155
+ for (; r < -Math.PI;) r += 2 * Math.PI;
156
+ let i = +(r > 0);
157
+ return `A${K.toFixed(1)},${K.toFixed(1)} 0 0 ${i} ${n.x.toFixed(1)},${n.y.toFixed(1)}`;
158
+ }
159
+ return `L${n.x.toFixed(1)},${n.y.toFixed(1)}`;
160
+ }, t = X(i[0].v);
161
+ Z += `M${t.x.toFixed(1)},${t.y.toFixed(1)}`;
162
+ for (let t = 1; t < i.length; t++) Z += e(i[t - 1], i[t]);
163
+ Z += e(i[i.length - 1], i[0]), Z += "Z";
164
+ }
165
+ }
166
+ let he = (e) => {
167
+ let t = "", n = !1;
168
+ for (let r of e) {
169
+ let e = Y(r);
170
+ e.z > 0 ? (t += `${n ? "L" : "M"}${e.x.toFixed(1)},${e.y.toFixed(1)}`, n = !0) : n = !1;
171
+ }
172
+ return t;
173
+ }, ge = Math.max(1, ...a.map((e) => e.value ?? 0)), _e = a.map((e, t) => {
174
+ let n = Y(m(e.lat, e.lng));
175
+ return {
176
+ ...e,
177
+ i: t,
178
+ p: n,
179
+ vis: n.z > 0,
180
+ r: 3 + Math.max(0, e.value ?? 0) / ge * 6,
181
+ col: e.color ?? y
182
+ };
183
+ }), $ = B == null ? null : a[B], ve = p.map((e, t) => {
184
+ let n = m(e.from.lat, e.from.lng), r = m(e.to.lat, e.to.lng), i = "", a = !1;
185
+ for (let e = 0; e <= 40; e++) {
186
+ let t = e / 40, o = ee(n, r, t), s = 1 + .34 * Math.sin(Math.PI * t), c = h(o, A.current.lng, A.current.lat), l = Y([
187
+ o[0] * s,
188
+ o[1] * s,
189
+ o[2] * s
190
+ ]);
191
+ c[2] > -.05 ? (i += `${a ? "L" : "M"}${l.x.toFixed(1)},${l.y.toFixed(1)}`, a = !0) : a = !1;
192
+ }
193
+ let o = k.current ? .5 : (I.current * .16 + t * .27) % 1, s = ee(n, r, o), c = 1 + .34 * Math.sin(Math.PI * o), l = h(s, A.current.lng, A.current.lat), u = Y([
194
+ s[0] * c,
195
+ s[1] * c,
196
+ s[2] * c
197
+ ]), d = $ != null && (g(e.from, $) || g(e.to, $));
198
+ return {
199
+ d: i,
200
+ col: e.color ?? y,
201
+ i: t,
202
+ flow: {
203
+ ...u,
204
+ vis: l[2] > 0
205
+ },
206
+ active: d
207
+ };
208
+ }), ye = $ != null, be = re ? [...a].sort((e, t) => (t.value ?? 0) - (e.value ?? 0)).slice(0, 6) : [];
209
+ return /* @__PURE__ */ f("div", {
210
+ ref: oe,
211
+ ...ae,
212
+ className: `select-globe${C ? " " + C : ""}`,
213
+ children: [/* @__PURE__ */ f("div", {
214
+ ref: D,
215
+ className: `select-globe__stage${le ? " is-grabbing" : ""}`,
216
+ style: {
217
+ width: ie ? "100%" : `${_ / 16}rem`,
218
+ aspectRatio: "1"
219
+ },
220
+ onPointerEnter: () => {
221
+ F.current = !0;
222
+ },
223
+ onPointerLeave: (e) => {
224
+ F.current = !1, G(e), V(null), E.hide(), H();
225
+ },
226
+ onPointerDown: de,
227
+ onPointerMove: fe,
228
+ onPointerUp: G,
229
+ children: [/* @__PURE__ */ f("svg", {
230
+ width: O,
231
+ height: O,
232
+ viewBox: `0 0 ${O} ${O}`,
233
+ className: "select-chart",
234
+ children: [
235
+ /* @__PURE__ */ f("defs", { children: [
236
+ /* @__PURE__ */ f("radialGradient", {
237
+ id: `${T}-sphere`,
238
+ cx: "35%",
239
+ cy: "32%",
240
+ r: "80%",
241
+ children: [/* @__PURE__ */ d("stop", {
242
+ offset: "0%",
243
+ stopColor: y,
244
+ stopOpacity: .1
245
+ }), /* @__PURE__ */ d("stop", {
246
+ offset: "100%",
247
+ stopColor: y,
248
+ stopOpacity: .52
249
+ })]
250
+ }),
251
+ /* @__PURE__ */ f("radialGradient", {
252
+ id: `${T}-glow`,
253
+ cx: "35%",
254
+ cy: "28%",
255
+ r: "36%",
256
+ children: [/* @__PURE__ */ d("stop", {
257
+ offset: "0%",
258
+ stopColor: y,
259
+ stopOpacity: .5
260
+ }), /* @__PURE__ */ d("stop", {
261
+ offset: "100%",
262
+ stopColor: y,
263
+ stopOpacity: 0
264
+ })]
265
+ }),
266
+ /* @__PURE__ */ f("radialGradient", {
267
+ id: `${T}-spec`,
268
+ cx: "35%",
269
+ cy: "28%",
270
+ r: "36%",
271
+ children: [/* @__PURE__ */ d("stop", {
272
+ offset: "0%",
273
+ stopColor: "white",
274
+ stopOpacity: .18
275
+ }), /* @__PURE__ */ d("stop", {
276
+ offset: "100%",
277
+ stopColor: "white",
278
+ stopOpacity: 0
279
+ })]
280
+ }),
281
+ /* @__PURE__ */ f("radialGradient", {
282
+ id: `${T}-atmo`,
283
+ cx: "50%",
284
+ cy: "50%",
285
+ r: "50%",
286
+ children: [
287
+ /* @__PURE__ */ d("stop", {
288
+ offset: "68%",
289
+ stopColor: y,
290
+ stopOpacity: 0
291
+ }),
292
+ /* @__PURE__ */ d("stop", {
293
+ offset: "84%",
294
+ stopColor: y,
295
+ stopOpacity: .3
296
+ }),
297
+ /* @__PURE__ */ d("stop", {
298
+ offset: "100%",
299
+ stopColor: y,
300
+ stopOpacity: 0
301
+ })
302
+ ]
303
+ }),
304
+ /* @__PURE__ */ f("linearGradient", {
305
+ id: `${T}-arc`,
306
+ x1: "0",
307
+ y1: "0",
308
+ x2: "0",
309
+ y2: "1",
310
+ children: [/* @__PURE__ */ d("stop", {
311
+ offset: "0%",
312
+ stopColor: y,
313
+ stopOpacity: .95
314
+ }), /* @__PURE__ */ d("stop", {
315
+ offset: "100%",
316
+ stopColor: y,
317
+ stopOpacity: .3
318
+ })]
319
+ }),
320
+ /* @__PURE__ */ d("clipPath", {
321
+ id: `${T}-clip`,
322
+ children: /* @__PURE__ */ d("circle", {
323
+ cx: q,
324
+ cy: J,
325
+ r: K
326
+ })
327
+ })
328
+ ] }),
329
+ /* @__PURE__ */ d("circle", {
330
+ cx: q,
331
+ cy: J,
332
+ r: K + 24,
333
+ fill: `url(#${T}-atmo)`
334
+ }),
335
+ /* @__PURE__ */ d("circle", {
336
+ cx: q,
337
+ cy: J,
338
+ r: K,
339
+ fill: `url(#${T}-sphere)`,
340
+ stroke: `color-mix(in srgb, ${y} 40%, transparent)`,
341
+ strokeWidth: 1
342
+ }),
343
+ /* @__PURE__ */ d("circle", {
344
+ cx: q,
345
+ cy: J,
346
+ r: K,
347
+ fill: `url(#${T}-glow)`
348
+ }),
349
+ /* @__PURE__ */ d("circle", {
350
+ cx: q,
351
+ cy: J,
352
+ r: K,
353
+ fill: `url(#${T}-spec)`
354
+ }),
355
+ /* @__PURE__ */ f("g", {
356
+ clipPath: `url(#${T}-clip)`,
357
+ children: [
358
+ x && Z && /* @__PURE__ */ d("path", {
359
+ d: Z,
360
+ className: "select-globe__land",
361
+ fill: `color-mix(in srgb, ${y} 38%, transparent)`
362
+ }),
363
+ x && Q && /* @__PURE__ */ d("path", {
364
+ d: Q,
365
+ className: "select-globe__coast",
366
+ fill: "none",
367
+ stroke: `color-mix(in srgb, ${y} 68%, transparent)`
368
+ }),
369
+ pe.map((e, t) => /* @__PURE__ */ d("path", {
370
+ d: he(e),
371
+ className: "select-globe__grid"
372
+ }, `g${t}`)),
373
+ ve.map((e) => /* @__PURE__ */ f("g", {
374
+ className: "select-globe__arcgrp",
375
+ style: { opacity: ye && !e.active ? .18 : 1 },
376
+ children: [/* @__PURE__ */ d("path", {
377
+ d: e.d,
378
+ className: "select-globe__arc",
379
+ stroke: e.col === y ? `url(#${T}-arc)` : e.col,
380
+ strokeWidth: e.active ? 2.5 : 1.75
381
+ }), e.flow.vis && /* @__PURE__ */ d("circle", {
382
+ cx: e.flow.x,
383
+ cy: e.flow.y,
384
+ r: e.active ? 3 : 2.2,
385
+ fill: e.col,
386
+ className: "select-globe__flow",
387
+ style: { filter: `drop-shadow(0 0 4px ${e.col})` }
388
+ })]
389
+ }, `a${e.i}`))
390
+ ]
391
+ }),
392
+ _e.filter((e) => e.vis).map((e) => {
393
+ let t = B === e.i;
394
+ return /* @__PURE__ */ f("g", {
395
+ style: { opacity: ye && !t ? .45 : 1 },
396
+ children: [
397
+ /* @__PURE__ */ d("circle", {
398
+ cx: e.p.x,
399
+ cy: e.p.y,
400
+ r: e.r,
401
+ fill: e.col,
402
+ className: "select-globe__pulse"
403
+ }),
404
+ t && /* @__PURE__ */ d("circle", {
405
+ cx: e.p.x,
406
+ cy: e.p.y,
407
+ r: e.r + 4,
408
+ fill: "none",
409
+ stroke: e.col,
410
+ strokeWidth: 1.5,
411
+ opacity: .6
412
+ }),
413
+ /* @__PURE__ */ d("circle", {
414
+ cx: e.p.x,
415
+ cy: e.p.y,
416
+ r: t ? e.r + 1.5 : e.r,
417
+ fill: e.col,
418
+ className: "select-globe__point",
419
+ onPointerEnter: () => {
420
+ V(e.i), E.show({
421
+ x: e.p.x,
422
+ y: e.p.y - e.r - 4,
423
+ place: e.p.y < J ? "bottom" : "top",
424
+ title: e.label,
425
+ rows: e.value == null ? [] : [{
426
+ label: "Volume",
427
+ value: b(e.value),
428
+ color: e.col
429
+ }]
430
+ });
431
+ },
432
+ onPointerLeave: () => {
433
+ V(null), E.hide();
434
+ },
435
+ onClick: () => {
436
+ N.current = {
437
+ lng: -e.lng,
438
+ lat: v
439
+ }, H();
440
+ }
441
+ })
442
+ ]
443
+ }, `m${e.i}`);
444
+ })
445
+ ]
446
+ }), /* @__PURE__ */ d(n, { tip: E.tip })]
447
+ }), be.length > 0 && /* @__PURE__ */ d("ul", {
448
+ className: "select-donut__legend",
449
+ children: be.map((e, t) => /* @__PURE__ */ f("li", {
450
+ className: "select-donut__legitem",
451
+ children: [
452
+ /* @__PURE__ */ d("span", {
453
+ className: "select-donut__dot",
454
+ style: { background: e.color ?? y }
455
+ }),
456
+ /* @__PURE__ */ d("span", {
457
+ className: "select-donut__leglabel",
458
+ children: e.label
459
+ }),
460
+ e.value != null && /* @__PURE__ */ d("span", {
461
+ className: "select-donut__legval",
462
+ children: b(e.value)
463
+ })
464
+ ]
465
+ }, t))
466
+ })]
467
+ });
468
+ });
469
+ //#endregion
470
+ export { _ as SelectGlobe };
471
+
472
+ //# sourceMappingURL=SelectGlobe.js.map
@@ -0,0 +1,76 @@
1
+ /* empty css */
2
+ import { formatCompact as e } from "./chartUtils.js";
3
+ import { FloatingChartTooltip as t, useChartTooltip as n } from "./chartTip.js";
4
+ import { Fragment as r, forwardRef as i } from "react";
5
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
6
+ //#region src/SelectHeatmap.tsx
7
+ var s = i(function({ columns: i, rows: s, format: c = e, formatValue: l, color: u = "var(--select-chart-1)", showValues: d = !0, min: f, max: p, cellSize: m = 40, maxCellSize: h = 96, cellHeight: g = 30, columnLabelEvery: _ = 1, className: v, ...y }, b) {
8
+ let x = n(), S = s.flatMap((e) => e.values).filter((e) => e != null && Number.isFinite(e)), C = f ?? (S.length ? Math.min(...S) : 0), w = (p ?? (S.length ? Math.max(...S) : 1)) - C || 1, T = { "--heat-color": u }, E = {
9
+ gridTemplateColumns: `minmax(56px, max-content) repeat(${i.length}, minmax(${m}px, ${Math.max(m, h)}px))`,
10
+ width: "fit-content",
11
+ maxWidth: "100%",
12
+ minWidth: 0
13
+ }, D = {
14
+ minHeight: g,
15
+ ...g >= 40 ? { fontSize: "0.8125rem" } : null
16
+ };
17
+ return /* @__PURE__ */ o("div", {
18
+ ref: b,
19
+ ...y,
20
+ className: `select-chart-wrap select-heatmap${v ? " " + v : ""}`,
21
+ style: T,
22
+ children: [/* @__PURE__ */ o("div", {
23
+ className: "select-heatmap__grid",
24
+ style: E,
25
+ children: [
26
+ /* @__PURE__ */ a("div", { className: "select-heatmap__corner" }),
27
+ i.map((e, t) => /* @__PURE__ */ a("div", {
28
+ className: "select-heatmap__colhead",
29
+ children: t % Math.max(1, Math.floor(_)) === 0 ? e : null
30
+ }, e)),
31
+ s.map((e) => /* @__PURE__ */ o(r, { children: [/* @__PURE__ */ a("div", {
32
+ className: "select-heatmap__rowhead",
33
+ children: e.label
34
+ }), e.values.map((t, n) => {
35
+ let r = `${e.label}-${i[n] ?? n}`;
36
+ if (t == null || !Number.isFinite(t)) return /* @__PURE__ */ a("div", {
37
+ className: "select-heatmap__cell select-heatmap__cell--empty",
38
+ style: D
39
+ }, r);
40
+ let o = Math.max(0, Math.min(1, (t - C) / w)), s = Math.round((.14 + o * .86) * 100), f = Math.max(6, s - 16);
41
+ return /* @__PURE__ */ a("div", {
42
+ className: "select-heatmap__cell",
43
+ style: {
44
+ ...D,
45
+ background: `linear-gradient(150deg, color-mix(in srgb, ${u} ${f}%, transparent), color-mix(in srgb, ${u} ${s}%, transparent))`,
46
+ color: o > .55 ? "#fff" : "var(--select-text)"
47
+ },
48
+ onMouseEnter: (r) => {
49
+ let a = r.currentTarget.getBoundingClientRect(), o = a.top < 72 ? "bottom" : "top";
50
+ x.show({
51
+ x: a.left + a.width / 2,
52
+ y: o === "bottom" ? a.bottom : a.top,
53
+ place: o,
54
+ title: `${e.label} · ${i[n] ?? ""}`,
55
+ rows: [{
56
+ label: "Valor",
57
+ value: (l ?? c)(t),
58
+ color: u
59
+ }]
60
+ });
61
+ },
62
+ onMouseLeave: x.hide,
63
+ children: d ? c(t) : ""
64
+ }, r);
65
+ })] }, e.label))
66
+ ]
67
+ }), /* @__PURE__ */ a(t, {
68
+ tip: x.tip,
69
+ onDismiss: x.hide
70
+ })]
71
+ });
72
+ });
73
+ //#endregion
74
+ export { s as SelectHeatmap };
75
+
76
+ //# sourceMappingURL=SelectHeatmap.js.map
@@ -0,0 +1,59 @@
1
+ /* empty css */
2
+ import { formatCompact as e, useChartSize as t } from "./chartUtils.js";
3
+ import { ChartTooltip as n, useChartTooltip as r } from "./chartTip.js";
4
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
5
+ //#region src/SelectHexbin.tsx
6
+ function o({ points: o, height: s = 240, radius: c = 16, color: l = "var(--select-chart-1)", xMax: u, yMax: d, format: f = e, className: p, ...m }) {
7
+ let { ref: h, width: g } = t(s), _ = r(), v = Math.max(0, g - 24), y = s - 24, b = u ?? Math.max(1, ...o.map((e) => e.x)), x = d ?? Math.max(1, ...o.map((e) => e.y)), S = (e) => 12 + e / b * v, C = (e) => 12 + y - e / x * y, w = c, T = Math.sqrt(3), E = (e, t) => {
8
+ let n = e, r = t, i = -n - r, a = Math.round(n), o = Math.round(i), s = Math.round(r), c = Math.abs(a - n), l = Math.abs(o - i), u = Math.abs(s - r);
9
+ return c > l && c > u ? a = -o - s : l > u ? o = -a - s : s = -a - o, [a, s];
10
+ }, D = (e, t) => [w * T * (e + t / 2), 3 / 2 * w * t], O = (e, t) => {
11
+ let n = "";
12
+ for (let r = 0; r < 6; r++) {
13
+ let i = Math.PI / 180 * (60 * r - 30);
14
+ n += `${r === 0 ? "M" : "L"}${(e + w * Math.cos(i)).toFixed(1)},${(t + w * Math.sin(i)).toFixed(1)}`;
15
+ }
16
+ return n + "Z";
17
+ }, k = /* @__PURE__ */ new Map();
18
+ for (let e of o) {
19
+ let t = S(e.x), n = C(e.y), [r, i] = E((T / 3 * t - 1 / 3 * n) / w, 2 / 3 * n / w), a = `${r},${i}`;
20
+ k.set(a, (k.get(a) ?? 0) + 1);
21
+ }
22
+ let A = Math.max(1, ...k.values());
23
+ return /* @__PURE__ */ a("div", {
24
+ ...m,
25
+ className: `select-chart-wrap${p ? " " + p : ""}`,
26
+ ref: h,
27
+ children: [g > 0 && /* @__PURE__ */ i("svg", {
28
+ width: g,
29
+ height: s,
30
+ className: "select-chart",
31
+ children: [...k].map(([e, t]) => {
32
+ let [n, r] = e.split(",").map(Number), [a, o] = D(n, r), s = t / A, c = Math.round((.16 + s * .84) * 100);
33
+ return /* @__PURE__ */ i("path", {
34
+ d: O(a, o),
35
+ className: "select-chart__calcell",
36
+ style: {
37
+ fill: `color-mix(in srgb, ${l} ${c}%, transparent)`,
38
+ "--heat-color": l
39
+ },
40
+ onMouseEnter: () => _.show({
41
+ x: a,
42
+ y: o - w,
43
+ place: o - w < 52 ? "bottom" : "top",
44
+ rows: [{
45
+ label: "Pontos",
46
+ value: f(t),
47
+ color: l
48
+ }]
49
+ }),
50
+ onMouseLeave: _.hide
51
+ }, e);
52
+ })
53
+ }), /* @__PURE__ */ i(n, { tip: _.tip })]
54
+ });
55
+ }
56
+ //#endregion
57
+ export { o as SelectHexbin };
58
+
59
+ //# sourceMappingURL=SelectHexbin.js.map