@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,113 @@
1
+ /* empty css */
2
+ import { safeHref as e } from "./internal/safeHref.js";
3
+ import { SelectIcon as t } from "./SelectIcon.js";
4
+ import { forwardRef as n } from "react";
5
+ import { Fragment as r, jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ import { Link as o } from "react-router-dom";
7
+ //#region src/SelectChoiceCard.tsx
8
+ var s = n(function({ icon: n, media: s, accent: c, title: l, description: u, badge: d, meta: f, cta: p, to: m, onClick: h, selected: g, disabled: _ = !1, className: v, ...y }, b) {
9
+ let x = `select-choicecard${g ? " is-selected" : ""}${_ ? " is-disabled" : ""}${v ? " " + v : ""}`, S = c ? { "--select-choice-accent": c } : void 0, C = /* @__PURE__ */ a(r, { children: [
10
+ s == null ? /* @__PURE__ */ a("span", {
11
+ className: "select-choicecard__top",
12
+ children: [n != null && /* @__PURE__ */ i("span", {
13
+ className: "select-choicecard__icon",
14
+ "aria-hidden": "true",
15
+ children: /* @__PURE__ */ i(t, {
16
+ size: "1.375rem",
17
+ children: n
18
+ })
19
+ }), d != null && /* @__PURE__ */ i("span", {
20
+ className: "select-choicecard__badge",
21
+ children: d
22
+ })]
23
+ }) : /* @__PURE__ */ a("span", {
24
+ className: "select-choicecard__media",
25
+ "aria-hidden": "true",
26
+ children: [s, d != null && /* @__PURE__ */ i("span", {
27
+ className: "select-choicecard__badge",
28
+ children: d
29
+ })]
30
+ }),
31
+ /* @__PURE__ */ i("span", {
32
+ className: "select-choicecard__title",
33
+ children: l
34
+ }),
35
+ u != null && /* @__PURE__ */ i("span", {
36
+ className: "select-choicecard__desc",
37
+ children: u
38
+ }),
39
+ (f != null || p != null) && /* @__PURE__ */ a("span", {
40
+ className: "select-choicecard__foot",
41
+ children: [/* @__PURE__ */ i("span", {
42
+ className: "select-choicecard__meta",
43
+ children: f
44
+ }), p != null && /* @__PURE__ */ a("span", {
45
+ className: "select-choicecard__cta",
46
+ children: [
47
+ p,
48
+ " ",
49
+ /* @__PURE__ */ i("span", {
50
+ "aria-hidden": "true",
51
+ children: "→"
52
+ })
53
+ ]
54
+ })]
55
+ })
56
+ ] }), w = _ ? void 0 : e(m);
57
+ return w ? /* @__PURE__ */ i(o, {
58
+ ref: b,
59
+ to: w,
60
+ className: x,
61
+ style: S,
62
+ "data-tour": y["data-tour"],
63
+ children: C
64
+ }) : /* @__PURE__ */ i("button", {
65
+ ref: b,
66
+ type: "button",
67
+ className: x,
68
+ style: S,
69
+ onClick: h,
70
+ disabled: _,
71
+ "aria-pressed": g ?? void 0,
72
+ "data-tour": y["data-tour"],
73
+ children: C
74
+ });
75
+ });
76
+ function c({ badge: e = !0 }) {
77
+ return /* @__PURE__ */ a("div", {
78
+ className: "select-choicecard select-choicecard--skeleton",
79
+ "aria-hidden": "true",
80
+ children: [
81
+ /* @__PURE__ */ a("span", {
82
+ className: "select-choicecard__top",
83
+ children: [/* @__PURE__ */ i("span", { className: "select-skeleton select-choicecard__skelicon" }), e && /* @__PURE__ */ i("span", { className: "select-skeleton select-choicecard__skelbadge" })]
84
+ }),
85
+ /* @__PURE__ */ i("span", { className: "select-skeleton select-choicecard__skeltitle" }),
86
+ /* @__PURE__ */ a("span", {
87
+ className: "select-choicecard__skeldesc",
88
+ children: [/* @__PURE__ */ i("span", { className: "select-skeleton" }), /* @__PURE__ */ i("span", { className: "select-skeleton" })]
89
+ }),
90
+ /* @__PURE__ */ a("span", {
91
+ className: "select-choicecard__foot",
92
+ children: [/* @__PURE__ */ i("span", { className: "select-skeleton select-choicecard__skelmeta" }), /* @__PURE__ */ i("span", { className: "select-skeleton select-choicecard__skelcta" })]
93
+ })
94
+ ]
95
+ });
96
+ }
97
+ var l = n(function({ children: e, minCardWidth: t = "15rem", loading: n = !1, skeletonCount: r = 4, listOnPhone: a = !1, className: o, style: s, ...l }, u) {
98
+ return /* @__PURE__ */ i("div", {
99
+ ref: u,
100
+ ...l,
101
+ "aria-busy": n || void 0,
102
+ className: `select-choicegrid${a ? " select-choicegrid--phone-list" : ""}${o ? " " + o : ""}`,
103
+ style: {
104
+ "--select-choice-min": t,
105
+ ...s
106
+ },
107
+ children: n ? Array.from({ length: r }, (e, t) => /* @__PURE__ */ i(c, {}, t)) : e
108
+ });
109
+ });
110
+ //#endregion
111
+ export { s as SelectChoiceCard, c as SelectChoiceCardSkeleton, l as SelectChoiceGrid };
112
+
113
+ //# sourceMappingURL=SelectChoiceCard.js.map
@@ -0,0 +1,93 @@
1
+ /* empty css */
2
+ import { chartColor as e, donutSegment as t, formatCompact as n } from "./chartUtils.js";
3
+ import { ChartTooltip as r, useChartTooltip as i } from "./chartTip.js";
4
+ import { forwardRef as a } from "react";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
+ //#region src/SelectChord.tsx
7
+ var c = a(function({ matrix: a, labels: c, size: l = 240, format: u = n, padAngle: d = .05, className: f, ...p }, m) {
8
+ let h = i(), g = c.length, _ = l / 2, v = l / 2, y = l / 2 - 22, b = y - 9, x = a.map((e) => e.reduce((e, t) => e + t, 0)), S = x.reduce((e, t) => e + t, 0) || 1, C = (2 * Math.PI - g * d) / S, w = [], T = 0;
9
+ for (let e = 0; e < g; e++) {
10
+ let t = T, n = T + x[e] * C;
11
+ w.push({
12
+ a0: t,
13
+ a1: n
14
+ }), T = n + d;
15
+ }
16
+ let E = a.map(() => []);
17
+ for (let e = 0; e < g; e++) {
18
+ let t = w[e].a0;
19
+ for (let n = 0; n < g; n++) {
20
+ let r = a[e][n] * C;
21
+ E[e][n] = [t, t + r], t += r;
22
+ }
23
+ }
24
+ let D = (e, t) => [_ + t * Math.cos(e - Math.PI / 2), v + t * Math.sin(e - Math.PI / 2)], O = (e, t, n, r) => {
25
+ let [i, a] = D(e, b), [o, s] = D(t, b), [c, l] = D(n, b), [u, d] = D(r, b);
26
+ return `M${i.toFixed(2)},${a.toFixed(2)} A${b},${b} 0 0 1 ${o.toFixed(2)},${s.toFixed(2)} Q${_},${v} ${c.toFixed(2)},${l.toFixed(2)} A${b},${b} 0 0 1 ${u.toFixed(2)},${d.toFixed(2)} Q${_},${v} ${i.toFixed(2)},${a.toFixed(2)} Z`;
27
+ }, k = (e) => e * 180 / Math.PI, A = [];
28
+ for (let t = 0; t < g; t++) for (let n = t; n < g; n++) {
29
+ if (t === n || a[t][n] + a[n][t] <= 0) continue;
30
+ let [r, i] = E[t][n], [o, s] = E[n][t];
31
+ A.push({
32
+ d: O(r, i, o, s),
33
+ color: e(t),
34
+ i: t,
35
+ j: n,
36
+ value: a[t][n] + a[n][t]
37
+ });
38
+ }
39
+ return /* @__PURE__ */ o("div", {
40
+ ref: m,
41
+ ...p,
42
+ className: `select-donut-wrap${f ? " " + f : ""}`,
43
+ children: /* @__PURE__ */ s("div", {
44
+ className: "select-radial",
45
+ style: {
46
+ width: l,
47
+ aspectRatio: "1"
48
+ },
49
+ children: [/* @__PURE__ */ s("svg", {
50
+ width: l,
51
+ height: l,
52
+ viewBox: `0 0 ${l} ${l}`,
53
+ className: "select-chart",
54
+ "aria-hidden": "true",
55
+ children: [A.map((e, t) => /* @__PURE__ */ o("path", {
56
+ d: e.d,
57
+ fill: e.color,
58
+ className: "select-chord__ribbon",
59
+ onMouseEnter: () => h.show({
60
+ x: _,
61
+ y: v,
62
+ place: "top",
63
+ title: `${c[e.i]} ↔ ${c[e.j]}`,
64
+ rows: [{
65
+ label: "Fluxo",
66
+ value: u(e.value),
67
+ color: e.color
68
+ }]
69
+ }),
70
+ onMouseLeave: h.hide
71
+ }, t)), w.map((n, r) => {
72
+ let i = (n.a0 + n.a1) / 2, [a, l] = D(i, y + 12);
73
+ return /* @__PURE__ */ s("g", { children: [/* @__PURE__ */ o("path", {
74
+ d: t(_, v, y, b, k(n.a0), k(n.a1)),
75
+ fill: e(r),
76
+ className: "select-chord__arc"
77
+ }), /* @__PURE__ */ o("text", {
78
+ x: a,
79
+ y: l,
80
+ className: "select-chart__xlabel",
81
+ dominantBaseline: "middle",
82
+ textAnchor: Math.abs(a - _) < 6 ? "middle" : a > _ ? "start" : "end",
83
+ children: c[r]
84
+ })] }, r);
85
+ })]
86
+ }), /* @__PURE__ */ o(r, { tip: h.tip })]
87
+ })
88
+ });
89
+ });
90
+ //#endregion
91
+ export { c as SelectChord };
92
+
93
+ //# sourceMappingURL=SelectChord.js.map
@@ -0,0 +1,111 @@
1
+ /* empty css */
2
+ import { chartColor as e, formatCompact as t } from "./chartUtils.js";
3
+ import { ChartTooltip as n, useChartTooltip as r } from "./chartTip.js";
4
+ import { forwardRef as i, useState as a } from "react";
5
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
6
+ //#region src/SelectCirclePack.tsx
7
+ var c = i(function({ data: i, size: c = 260, format: l = t, className: u, ...d }, f) {
8
+ let p = r(), [m, h] = a(null), g = Math.max(1, ...i.map((e) => e.value)), _ = i.map((e, t) => ({
9
+ d: e,
10
+ i: t,
11
+ r: 8 + Math.sqrt(e.value / g) * 40
12
+ })).sort((e, t) => t.r - e.r), v = [];
13
+ for (let e of _) {
14
+ if (v.length === 0) {
15
+ v.push({
16
+ d: e.d,
17
+ i: e.i,
18
+ x: 0,
19
+ y: 0,
20
+ r: e.r
21
+ });
22
+ continue;
23
+ }
24
+ let t = 0, n = 0, r = null;
25
+ for (let i = 0; i < 8e3; i++) {
26
+ let i = Math.cos(t) * n, a = Math.sin(t) * n, o = !0;
27
+ for (let t of v) if (Math.hypot(i - t.x, a - t.y) < t.r + e.r + 2) {
28
+ o = !1;
29
+ break;
30
+ }
31
+ if (o) {
32
+ r = [i, a];
33
+ break;
34
+ }
35
+ t += .5, n += .7;
36
+ }
37
+ r && v.push({
38
+ d: e.d,
39
+ i: e.i,
40
+ x: r[0],
41
+ y: r[1],
42
+ r: e.r
43
+ });
44
+ }
45
+ let y = Math.min(...v.map((e) => e.x - e.r)), b = Math.max(...v.map((e) => e.x + e.r)), x = Math.min(...v.map((e) => e.y - e.r)), S = Math.max(...v.map((e) => e.y + e.r)), C = b - y || 1, w = S - x || 1, T = Math.min((c - 16) / C, (c - 16) / w), E = (c - C * T) / 2 - y * T, D = (c - w * T) / 2 - x * T, O = (e) => e * T + E, k = (e) => e * T + D;
46
+ return /* @__PURE__ */ s("div", {
47
+ ref: f,
48
+ ...d,
49
+ className: `select-donut-wrap${u ? " " + u : ""}`,
50
+ children: [/* @__PURE__ */ o("div", {
51
+ className: "select-radial",
52
+ style: {
53
+ width: c,
54
+ aspectRatio: "1"
55
+ },
56
+ children: /* @__PURE__ */ o("svg", {
57
+ width: c,
58
+ height: c,
59
+ viewBox: `0 0 ${c} ${c}`,
60
+ className: "select-chart",
61
+ onMouseLeave: () => {
62
+ h(null), p.hide();
63
+ },
64
+ children: v.map((t) => {
65
+ let n = t.d.color ?? e(t.i), r = t.r * T;
66
+ return /* @__PURE__ */ s("g", {
67
+ style: { opacity: m === null || m === t.i ? 1 : .5 },
68
+ children: [/* @__PURE__ */ o("circle", {
69
+ cx: O(t.x),
70
+ cy: k(t.y),
71
+ r,
72
+ fill: n,
73
+ fillOpacity: .3,
74
+ stroke: n,
75
+ strokeWidth: 1.5,
76
+ className: "select-pack__circle",
77
+ onMouseEnter: () => {
78
+ h(t.i), p.show({
79
+ x: O(t.x),
80
+ y: k(t.y) - r,
81
+ place: k(t.y) - r < 40 ? "bottom" : "top",
82
+ title: t.d.label,
83
+ rows: [{
84
+ label: "Valor",
85
+ value: l(t.d.value),
86
+ color: n
87
+ }]
88
+ });
89
+ },
90
+ onMouseLeave: () => {
91
+ h(null), p.hide();
92
+ }
93
+ }), r > 18 && /* @__PURE__ */ o("text", {
94
+ x: O(t.x),
95
+ y: k(t.y),
96
+ className: "select-chart__xlabel",
97
+ textAnchor: "middle",
98
+ dominantBaseline: "middle",
99
+ style: { fontWeight: 600 },
100
+ children: t.d.label
101
+ })]
102
+ }, t.i);
103
+ })
104
+ })
105
+ }), /* @__PURE__ */ o(n, { tip: p.tip })]
106
+ });
107
+ });
108
+ //#endregion
109
+ export { c as SelectCirclePack };
110
+
111
+ //# sourceMappingURL=SelectCirclePack.js.map
@@ -0,0 +1,51 @@
1
+ /* empty css */
2
+ import { CheckIcon as e, CopyIcon as t } from "./icons.js";
3
+ import { useSelectMessages as n } from "./SelectLocale.js";
4
+ import { SelectIconButton as r } from "./SelectIconButton.js";
5
+ import { forwardRef as i, useState as a } from "react";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ //#region src/SelectCodeBlock.tsx
8
+ function c(e) {
9
+ try {
10
+ return JSON.stringify(JSON.parse(e), null, 2);
11
+ } catch {
12
+ return e;
13
+ }
14
+ }
15
+ var l = i(function({ value: i, label: l, pretty: u = !1, maxHeight: d = 14, copyable: f = !0, tone: p = "neutral", className: m, style: h, ...g }, _) {
16
+ let v = n(), [y, b] = a(!1), x = u ? c(i) : i, S = () => {
17
+ var e;
18
+ (e = navigator.clipboard) == null || e.writeText(x).then(() => {
19
+ b(!0), setTimeout(() => b(!1), 1200);
20
+ });
21
+ };
22
+ return /* @__PURE__ */ s("div", {
23
+ ref: _,
24
+ ...g,
25
+ className: `select-codeblock${p === "critical" ? " select-codeblock--critical" : ""}${m ? " " + m : ""}`,
26
+ style: h,
27
+ children: [l != null && /* @__PURE__ */ o("span", {
28
+ className: "select-codeblock__label",
29
+ children: l
30
+ }), /* @__PURE__ */ s("div", {
31
+ className: "select-codeblock__box",
32
+ children: [/* @__PURE__ */ o("pre", {
33
+ className: "select-codeblock__pre",
34
+ style: { maxHeight: `${d}rem` },
35
+ children: x
36
+ }), f && /* @__PURE__ */ o("span", {
37
+ className: "select-codeblock__copy",
38
+ children: /* @__PURE__ */ o(r, {
39
+ size: "sm",
40
+ icon: o(y ? e : t, {}),
41
+ label: y ? v.common.copied : v.common.copy,
42
+ onClick: S
43
+ })
44
+ })]
45
+ })]
46
+ });
47
+ });
48
+ //#endregion
49
+ export { l as SelectCodeBlock, c as prettyCode };
50
+
51
+ //# sourceMappingURL=SelectCodeBlock.js.map
@@ -0,0 +1,40 @@
1
+ import { ChevronDownIcon as e } from "./icons.js";
2
+ import { forwardRef as t, useState as n } from "react";
3
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ //#region src/SelectCollapsible.tsx
5
+ var a = t(function({ title: t, children: a, defaultOpen: o = !1, plain: s = !1, className: c, ...l }, u) {
6
+ let [d, f] = n(o);
7
+ return /* @__PURE__ */ i("div", {
8
+ ref: u,
9
+ ...l,
10
+ className: `select-collapsible${s ? " select-collapsible--plain" : ""}${d ? " is-open" : ""}${c ? " " + c : ""}`,
11
+ children: [/* @__PURE__ */ i("button", {
12
+ type: "button",
13
+ className: "select-collapsible__header",
14
+ onClick: () => f((e) => !e),
15
+ "aria-expanded": d,
16
+ children: [/* @__PURE__ */ r("span", {
17
+ className: "select-collapsible__title",
18
+ children: t
19
+ }), /* @__PURE__ */ r("span", {
20
+ className: "select-collapsible__chevron",
21
+ "aria-hidden": "true",
22
+ children: /* @__PURE__ */ r(e, {})
23
+ })]
24
+ }), /* @__PURE__ */ r("div", {
25
+ className: "select-collapsible__bodywrap",
26
+ children: /* @__PURE__ */ r("div", {
27
+ className: "select-collapsible__bodyclip",
28
+ "aria-hidden": !d,
29
+ children: /* @__PURE__ */ r("div", {
30
+ className: "select-collapsible__body",
31
+ children: a
32
+ })
33
+ })
34
+ })]
35
+ });
36
+ });
37
+ //#endregion
38
+ export { a as SelectCollapsible };
39
+
40
+ //# sourceMappingURL=SelectCollapsible.js.map
@@ -0,0 +1,283 @@
1
+ /* empty css */
2
+ import { SelectLabelRow as e } from "./SelectField.js";
3
+ import { SelectPopover as t } from "./SelectPopover.js";
4
+ import { useEffect as n, useId as r, useRef as i, useState as a } from "react";
5
+ import { Fragment as o, jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ //#region src/SelectColorField.tsx
7
+ var l = [
8
+ "#212529",
9
+ "#495057",
10
+ "#868E96",
11
+ "#F1F3F5",
12
+ "#1D4ED8",
13
+ "#2563EB",
14
+ "#0891B2",
15
+ "#0D9488",
16
+ "#15803D",
17
+ "#65A30D",
18
+ "#CA8A04",
19
+ "#EA580C",
20
+ "#DC2626",
21
+ "#DB2777",
22
+ "#9333EA",
23
+ "#6D28D9"
24
+ ], u = /^#?([0-9a-f]{3}|[0-9a-f]{6})$/i;
25
+ function d(e) {
26
+ let t = u.exec((e ?? "").trim());
27
+ return t ? `#${(t[1].length === 3 ? t[1].split("").map((e) => e + e).join("") : t[1]).toUpperCase()}` : null;
28
+ }
29
+ function f(e) {
30
+ let t = d(e);
31
+ if (!t) return 0;
32
+ let [n, r, i] = [
33
+ 1,
34
+ 3,
35
+ 5
36
+ ].map((e) => parseInt(t.slice(e, e + 2), 16) / 255).map((e) => e <= .03928 ? e / 12.92 : ((e + .055) / 1.055) ** 2.4);
37
+ return .2126 * n + .7152 * r + .0722 * i;
38
+ }
39
+ function p(e, t) {
40
+ let [n, r] = [f(e), f(t)].sort((e, t) => t - e);
41
+ return (n + .05) / (r + .05);
42
+ }
43
+ var m = (e) => Math.min(1, Math.max(0, e));
44
+ function h(e) {
45
+ let t = d(e) ?? "#000000", [n, r, i] = [
46
+ 1,
47
+ 3,
48
+ 5
49
+ ].map((e) => parseInt(t.slice(e, e + 2), 16) / 255), a = Math.max(n, r, i), o = a - Math.min(n, r, i), s = 0;
50
+ return o && (s = a === n ? (r - i) / o % 6 : a === r ? (i - n) / o + 2 : (n - r) / o + 4, s *= 60, s < 0 && (s += 360)), {
51
+ h: s,
52
+ s: a ? o / a : 0,
53
+ v: a
54
+ };
55
+ }
56
+ function g({ h: e, s: t, v: n }) {
57
+ let r = (r) => {
58
+ let i = (r + e / 60) % 6;
59
+ return n - n * t * Math.max(0, Math.min(i, 4 - i, 1));
60
+ };
61
+ return `#${[
62
+ r(5),
63
+ r(3),
64
+ r(1)
65
+ ].map((e) => Math.round(e * 255).toString(16).padStart(2, "0")).join("").toUpperCase()}`;
66
+ }
67
+ function _({ hex: e, onPick: t }) {
68
+ let [r, l] = a(() => h(e ?? "#1D4ED8")), u = i(r), d = (e) => {
69
+ u.current = e, l(e);
70
+ };
71
+ n(() => {
72
+ if (!e || g(u.current) === e) return;
73
+ let t = h(e);
74
+ d(t.s === 0 || t.v === 0 ? {
75
+ ...t,
76
+ h: u.current.h
77
+ } : t);
78
+ }, [e]);
79
+ let f = (e) => {
80
+ d(e), t(g(e));
81
+ }, p = (e, t, n) => {
82
+ var r;
83
+ (r = e.setPointerCapture) == null || r.call(e, t.pointerId);
84
+ let i = (t) => {
85
+ let r = e.getBoundingClientRect();
86
+ n(m((t.clientX - r.left) / (r.width || 1)), m((t.clientY - r.top) / (r.height || 1)));
87
+ };
88
+ i(t);
89
+ let a = (e) => i(e), o = () => {
90
+ e.removeEventListener("pointermove", a), e.removeEventListener("pointerup", o), e.removeEventListener("pointercancel", o);
91
+ };
92
+ e.addEventListener("pointermove", a), e.addEventListener("pointerup", o), e.addEventListener("pointercancel", o);
93
+ }, _ = (e) => {
94
+ let t = e.shiftKey ? .1 : .01, { h: n, s: r, v: i } = u.current, a = e.key === "ArrowLeft" ? {
95
+ h: n,
96
+ s: m(r - t),
97
+ v: i
98
+ } : e.key === "ArrowRight" ? {
99
+ h: n,
100
+ s: m(r + t),
101
+ v: i
102
+ } : e.key === "ArrowUp" ? {
103
+ h: n,
104
+ s: r,
105
+ v: m(i + t)
106
+ } : e.key === "ArrowDown" ? {
107
+ h: n,
108
+ s: r,
109
+ v: m(i - t)
110
+ } : null;
111
+ a && (e.preventDefault(), f(a));
112
+ }, v = (e) => {
113
+ let t = e.shiftKey ? 10 : 1, { h: n, s: r, v: i } = u.current, a = e.key === "ArrowLeft" || e.key === "ArrowDown" ? Math.max(0, n - t) : e.key === "ArrowRight" || e.key === "ArrowUp" ? Math.min(360, n + t) : e.key === "Home" ? 0 : e.key === "End" ? 360 : null;
114
+ a != null && (e.preventDefault(), f({
115
+ h: a,
116
+ s: r,
117
+ v: i
118
+ }));
119
+ }, y = g({
120
+ h: r.h,
121
+ s: 1,
122
+ v: 1
123
+ }), b = g(r);
124
+ return /* @__PURE__ */ c(o, { children: [/* @__PURE__ */ s("div", {
125
+ className: "select-colorfield__sv",
126
+ style: { backgroundColor: y },
127
+ role: "slider",
128
+ tabIndex: 0,
129
+ "aria-label": "Saturação e brilho",
130
+ "aria-valuetext": `${b} — saturação ${Math.round(r.s * 100)}%, brilho ${Math.round(r.v * 100)}%`,
131
+ onPointerDown: (e) => p(e.currentTarget, e, (e, t) => f({
132
+ h: u.current.h,
133
+ s: e,
134
+ v: 1 - t
135
+ })),
136
+ onKeyDown: _,
137
+ children: /* @__PURE__ */ s("span", {
138
+ className: "select-colorfield__svthumb",
139
+ style: {
140
+ left: `${r.s * 100}%`,
141
+ top: `${(1 - r.v) * 100}%`,
142
+ background: b
143
+ }
144
+ })
145
+ }), /* @__PURE__ */ s("div", {
146
+ className: "select-colorfield__hue",
147
+ role: "slider",
148
+ tabIndex: 0,
149
+ "aria-label": "Matiz",
150
+ "aria-valuemin": 0,
151
+ "aria-valuemax": 360,
152
+ "aria-valuenow": Math.round(r.h),
153
+ onPointerDown: (e) => p(e.currentTarget, e, (e) => f({
154
+ ...u.current,
155
+ h: e * 360
156
+ })),
157
+ onKeyDown: v,
158
+ children: /* @__PURE__ */ s("span", {
159
+ className: "select-colorfield__huethumb",
160
+ style: {
161
+ left: `${r.h / 360 * 100}%`,
162
+ background: y
163
+ }
164
+ })
165
+ })] });
166
+ }
167
+ var v = (e) => e.toFixed(1).replace(".", ",");
168
+ function y({ label: i, help: u, hint: m, error: h, value: g, onChange: y, presets: b = l, disabled: x = !1, allowEmpty: S = !1, contrastWith: C, contrastLabel: w = "o texto", id: T }) {
169
+ let E = r(), D = T ?? `color-${E}`, [O, k] = a(!1), [A, j] = a(g ?? ""), [M, N] = a(null);
170
+ n(() => {
171
+ j(g ?? ""), N(null);
172
+ }, [g]);
173
+ let P = d(g ?? ""), F = (e) => {
174
+ if (!e.trim()) {
175
+ S ? (N(null), y("")) : j(g ?? "");
176
+ return;
177
+ }
178
+ let t = d(e);
179
+ if (!t) {
180
+ N("Use o formato #RRGGBB (ex.: #1D4ED8).");
181
+ return;
182
+ }
183
+ N(null), j(t), t !== P && y(t);
184
+ }, I = C ? d(C) : null, L = P && I ? p(P, I) : null, R = h ?? M, z = R ? `${D}-err` : m || L != null ? `${D}-hint` : void 0;
185
+ return /* @__PURE__ */ c("div", {
186
+ className: `select-field select-colorfield${x ? " is-disabled" : ""}`,
187
+ children: [
188
+ (i || u) && /* @__PURE__ */ s(e, {
189
+ htmlFor: D,
190
+ label: i,
191
+ help: u
192
+ }),
193
+ /* @__PURE__ */ c("div", {
194
+ className: `select-input-wrap select-input-wrap--affixed select-colorfield__control${R ? " select-input-wrap--error" : ""}`,
195
+ children: [/* @__PURE__ */ s(t, {
196
+ active: O,
197
+ onClose: () => k(!1),
198
+ placement: "bottom-start",
199
+ role: "dialog",
200
+ activator: /* @__PURE__ */ s("button", {
201
+ type: "button",
202
+ className: `select-colorfield__swatch${P ? "" : " is-empty"}`,
203
+ style: P ? { background: P } : void 0,
204
+ onClick: () => !x && k((e) => !e),
205
+ disabled: x,
206
+ "aria-label": P ? `Cor ${P} — abrir a paleta` : "Escolher uma cor",
207
+ "aria-expanded": O
208
+ }),
209
+ children: /* @__PURE__ */ c("div", {
210
+ className: "select-colorfield__panel",
211
+ children: [
212
+ /* @__PURE__ */ s(_, {
213
+ hex: P,
214
+ onPick: F
215
+ }),
216
+ /* @__PURE__ */ s("div", {
217
+ className: "select-colorfield__presets",
218
+ role: "group",
219
+ "aria-label": "Cores prontas",
220
+ children: b.map((e) => {
221
+ let t = d(e) ?? e, n = t === P;
222
+ return /* @__PURE__ */ s("button", {
223
+ type: "button",
224
+ className: `select-colorfield__preset${n ? " is-selected" : ""}`,
225
+ style: { background: t },
226
+ "aria-label": t,
227
+ "aria-pressed": n,
228
+ onClick: () => {
229
+ F(t), k(!1);
230
+ }
231
+ }, t);
232
+ })
233
+ }),
234
+ S && P && /* @__PURE__ */ s("div", {
235
+ className: "select-colorfield__row",
236
+ children: /* @__PURE__ */ s("button", {
237
+ type: "button",
238
+ className: "select-colorfield__clear",
239
+ onClick: () => {
240
+ F(""), k(!1);
241
+ },
242
+ children: "Usar a cor padrão"
243
+ })
244
+ })
245
+ ]
246
+ })
247
+ }), /* @__PURE__ */ s("input", {
248
+ id: D,
249
+ className: "select-input select-input--mono select-colorfield__hex",
250
+ value: A,
251
+ onChange: (e) => {
252
+ j(e.target.value), e.target.value.replace("#", "").length === 6 && d(e.target.value) && F(e.target.value);
253
+ },
254
+ onBlur: () => F(A),
255
+ placeholder: S ? "Padrão" : "#000000",
256
+ maxLength: 7,
257
+ spellCheck: !1,
258
+ autoComplete: "off",
259
+ disabled: x,
260
+ "aria-invalid": R ? !0 : void 0,
261
+ "aria-describedby": z
262
+ })]
263
+ }),
264
+ R ? /* @__PURE__ */ s("p", {
265
+ id: `${D}-err`,
266
+ className: "select-field__error",
267
+ children: R
268
+ }) : L == null ? m ? /* @__PURE__ */ s("p", {
269
+ id: `${D}-hint`,
270
+ className: "select-field__hint",
271
+ children: m
272
+ }) : null : /* @__PURE__ */ c("p", {
273
+ id: `${D}-hint`,
274
+ className: `select-field__hint select-colorfield__contrast${L < 4.5 ? " is-low" : ""}`,
275
+ children: [L >= 4.5 ? `Contraste com ${w}: ${v(L)}:1 — legível.` : `Contraste com ${w}: ${v(L)}:1 — difícil de ler. Escolha uma cor ${f(P) < f(I) ? "mais escura" : "mais clara"}.`, m ? /* @__PURE__ */ c(o, { children: [" ", m] }) : null]
276
+ })
277
+ ]
278
+ });
279
+ }
280
+ //#endregion
281
+ export { l as SELECT_COLOR_PRESETS, y as SelectColorField, p as contrastRatio, h as hexToHsv, g as hsvToHex, d as normalizeHex };
282
+
283
+ //# sourceMappingURL=SelectColorField.js.map