@selectwin/kit 0.1.197 → 0.1.199

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 (247) 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.js +167 -0
  15. package/dist/SelectBankAccountField.js +71 -0
  16. package/dist/SelectBankIcon.js +162 -0
  17. package/dist/SelectBarChart.js +88 -0
  18. package/dist/SelectBoxPlot.js +127 -0
  19. package/dist/SelectBrandIcon.js +206 -0
  20. package/dist/SelectBreadcrumb.js +45 -0
  21. package/dist/SelectBuilderLayout.js +49 -0
  22. package/dist/SelectBuilderWorkspace.js +273 -0
  23. package/dist/SelectBullet.js +59 -0
  24. package/dist/SelectBump.js +93 -0
  25. package/dist/SelectButton.js +51 -0
  26. package/dist/SelectCalendar.js +450 -0
  27. package/dist/SelectCalendarHeatmap.js +84 -0
  28. package/dist/SelectCandlestick.js +97 -0
  29. package/dist/SelectCard.js +52 -0
  30. package/dist/SelectCardGrid.js +76 -0
  31. package/dist/SelectCertificatePreview.js +108 -0
  32. package/dist/SelectChannelPreview.js +124 -0
  33. package/dist/SelectChartCard.js +50 -0
  34. package/dist/SelectChartLegend.js +34 -0
  35. package/dist/SelectChipInput.js +110 -0
  36. package/dist/SelectChoiceCard.js +113 -0
  37. package/dist/SelectChord.js +93 -0
  38. package/dist/SelectCirclePack.js +111 -0
  39. package/dist/SelectCodeBlock.js +51 -0
  40. package/dist/SelectCollapsible.js +40 -0
  41. package/dist/SelectColorField.js +283 -0
  42. package/dist/SelectColumnChart.js +222 -0
  43. package/dist/SelectComboChart.js +139 -0
  44. package/dist/SelectCombobox.js +158 -0
  45. package/dist/SelectConfirmModal.js +42 -0
  46. package/dist/SelectConversation.js +97 -0
  47. package/dist/SelectCopyRow.js +61 -0
  48. package/dist/SelectCopyableId.js +45 -0
  49. package/dist/SelectDataTable.js +247 -0
  50. package/dist/SelectDateField.js +255 -0
  51. package/dist/SelectDatePicker.js +311 -0
  52. package/dist/SelectDateRangeField.js +57 -0
  53. package/dist/SelectDetail.js +49 -0
  54. package/dist/SelectDisclosureButton.js +23 -0
  55. package/dist/SelectDivider.js +20 -0
  56. package/dist/SelectDnsRecords.js +74 -0
  57. package/dist/SelectDocumentField.js +24 -0
  58. package/dist/SelectDonut.js +103 -0
  59. package/dist/SelectDotField.js +134 -0
  60. package/dist/SelectDumbbell.js +100 -0
  61. package/dist/SelectFactStrip.js +42 -0
  62. package/dist/SelectFeeBreakdown.js +88 -0
  63. package/dist/SelectField.d.ts +24 -6
  64. package/dist/SelectField.js +196 -0
  65. package/dist/SelectFieldGrid.js +15 -0
  66. package/dist/SelectFileDropzone.js +160 -0
  67. package/dist/SelectFileTile.js +53 -0
  68. package/dist/SelectFilterBar.js +292 -0
  69. package/dist/SelectFilterChip.js +32 -0
  70. package/dist/SelectFlowCanvas.js +282 -0
  71. package/dist/SelectFormLayout.js +21 -0
  72. package/dist/SelectFormModal.js +53 -0
  73. package/dist/SelectFunnel.js +49 -0
  74. package/dist/SelectGauge.js +74 -0
  75. package/dist/SelectGaugeBands.js +78 -0
  76. package/dist/SelectGlobe.js +472 -0
  77. package/dist/SelectHeatmap.js +76 -0
  78. package/dist/SelectHexbin.js +59 -0
  79. package/dist/SelectHorizontalBar.js +100 -0
  80. package/dist/SelectHtmlFrame.js +30 -0
  81. package/dist/SelectIcicle.js +87 -0
  82. package/dist/SelectIcon.js +21 -0
  83. package/dist/SelectIconButton.js +24 -0
  84. package/dist/SelectIconPicker.js +79 -0
  85. package/dist/SelectIconTile.js +17 -0
  86. package/dist/SelectIdentityFooter.js +30 -0
  87. package/dist/SelectImageField.js +56 -0
  88. package/dist/SelectImageGalleryField.js +243 -0
  89. package/dist/SelectImageUploadField.js +155 -0
  90. package/dist/SelectImageUrlsField.js +68 -0
  91. package/dist/SelectImageZoomModal.js +26 -0
  92. package/dist/SelectInfoTip.js +31 -0
  93. package/dist/SelectInsight.js +777 -0
  94. package/dist/SelectJourney.js +68 -0
  95. package/dist/SelectJsonViewer.js +294 -0
  96. package/dist/SelectKanban.js +124 -0
  97. package/dist/SelectKbd.js +15 -0
  98. package/dist/SelectKeyValueEditor.js +88 -0
  99. package/dist/SelectKpiBand.js +17 -0
  100. package/dist/SelectKpiCard.js +54 -0
  101. package/dist/SelectLauncher.js +58 -0
  102. package/dist/SelectLayout.js +100 -0
  103. package/dist/SelectLineChart.js +161 -0
  104. package/dist/SelectLinkButton.js +18 -0
  105. package/dist/SelectListCard.js +89 -0
  106. package/dist/SelectLoader.js +27 -0
  107. package/dist/SelectLocale.d.ts +2 -0
  108. package/dist/SelectLocale.js +191 -0
  109. package/dist/SelectMail.js +811 -0
  110. package/dist/SelectMailEditor.js +224 -0
  111. package/dist/SelectMarimekko.js +87 -0
  112. package/dist/SelectMarkStack.js +30 -0
  113. package/dist/SelectMediaCell.js +28 -0
  114. package/dist/SelectMenu.js +110 -0
  115. package/dist/SelectMiniStats.js +37 -0
  116. package/dist/SelectModal.js +177 -0
  117. package/dist/SelectMoney.js +136 -0
  118. package/dist/SelectMoneyField.js +82 -0
  119. package/dist/SelectNetwork.js +122 -0
  120. package/dist/SelectNote.js +26 -0
  121. package/dist/SelectNumberField.js +87 -0
  122. package/dist/SelectNumberedList.js +30 -0
  123. package/dist/SelectOfferPrice.js +48 -0
  124. package/dist/SelectOfflineModal.js +31 -0
  125. package/dist/SelectOptionList.js +54 -0
  126. package/dist/SelectOtpInput.js +64 -0
  127. package/dist/SelectPage.js +85 -0
  128. package/dist/SelectPagination.js +82 -0
  129. package/dist/SelectPanel.js +41 -0
  130. package/dist/SelectParallel.js +100 -0
  131. package/dist/SelectPareto.js +134 -0
  132. package/dist/SelectPasswordStrength.js +82 -0
  133. package/dist/SelectPaymentBrand.js +213 -0
  134. package/dist/SelectPaymentCard.js +53 -0
  135. package/dist/SelectPhoneField.js +139 -0
  136. package/dist/SelectPips.js +25 -0
  137. package/dist/SelectPlanCard.js +64 -0
  138. package/dist/SelectPolarArea.js +82 -0
  139. package/dist/SelectPopover.js +101 -0
  140. package/dist/SelectPreviewFrame.js +119 -0
  141. package/dist/SelectProgressBar.js +54 -0
  142. package/dist/SelectProgressList.js +58 -0
  143. package/dist/SelectPyramid.js +116 -0
  144. package/dist/SelectQrCode.d.ts +12 -0
  145. package/dist/SelectQrCode.js +51 -0
  146. package/dist/SelectQuestionStage.js +183 -0
  147. package/dist/SelectRadar.js +118 -0
  148. package/dist/SelectRadialBar.js +103 -0
  149. package/dist/SelectRadioGroup.js +54 -0
  150. package/dist/SelectRangeBar.js +89 -0
  151. package/dist/SelectRating.js +58 -0
  152. package/dist/SelectRatingQuote.js +31 -0
  153. package/dist/SelectRecordCard.js +144 -0
  154. package/dist/SelectRegions.js +23 -0
  155. package/dist/SelectRepeatingFieldArray.js +104 -0
  156. package/dist/SelectResendButton.js +44 -0
  157. package/dist/SelectRetryStatus.js +79 -0
  158. package/dist/SelectRing.js +53 -0
  159. package/dist/SelectRowActions.js +32 -0
  160. package/dist/SelectSankey.js +92 -0
  161. package/dist/SelectScatter.js +79 -0
  162. package/dist/SelectSearchInput.d.ts +8 -2
  163. package/dist/SelectSearchInput.js +38 -0
  164. package/dist/SelectSearchMenu.js +128 -0
  165. package/dist/SelectSection.js +83 -0
  166. package/dist/SelectSegmented.js +95 -0
  167. package/dist/SelectSelect.d.ts +19 -5
  168. package/dist/SelectSelect.js +84 -0
  169. package/dist/SelectSetting.js +54 -0
  170. package/dist/SelectSetupGuide.js +187 -0
  171. package/dist/SelectShareBar.js +139 -0
  172. package/dist/SelectSideNav.js +263 -0
  173. package/dist/SelectSkeleton.js +56 -0
  174. package/dist/SelectSlope.js +129 -0
  175. package/dist/SelectSortable.js +31 -0
  176. package/dist/SelectSparkline.js +66 -0
  177. package/dist/SelectSplitChain.js +52 -0
  178. package/dist/SelectSpotlight.js +81 -0
  179. package/dist/SelectStackedArea.js +117 -0
  180. package/dist/SelectStatusBadge.js +81 -0
  181. package/dist/SelectStatusPage.js +62 -0
  182. package/dist/SelectSteps.js +54 -0
  183. package/dist/SelectStreamGraph.js +99 -0
  184. package/dist/SelectSunburst.js +101 -0
  185. package/dist/SelectSurface.js +41 -0
  186. package/dist/SelectSwitch.js +24 -0
  187. package/dist/SelectSwitchField.d.ts +5 -1
  188. package/dist/SelectSwitchField.js +45 -0
  189. package/dist/SelectTable.js +243 -0
  190. package/dist/SelectTabs.js +63 -0
  191. package/dist/SelectTagSelect.js +144 -0
  192. package/dist/SelectTaskCard.js +44 -0
  193. package/dist/SelectText.js +25 -0
  194. package/dist/SelectTextarea.d.ts +15 -4
  195. package/dist/SelectTextarea.js +58 -0
  196. package/dist/SelectThemeSwitcher.js +66 -0
  197. package/dist/SelectThumbnail.js +41 -0
  198. package/dist/SelectTicker.js +69 -0
  199. package/dist/SelectTile.js +62 -0
  200. package/dist/SelectTileMap.js +268 -0
  201. package/dist/SelectTimeline.js +76 -0
  202. package/dist/SelectToast.js +159 -0
  203. package/dist/SelectToggle.js +80 -0
  204. package/dist/SelectTogglePanel.js +44 -0
  205. package/dist/SelectTokenTextarea.js +173 -0
  206. package/dist/SelectTooltip.js +100 -0
  207. package/dist/SelectTour.js +210 -0
  208. package/dist/SelectTree.js +86 -0
  209. package/dist/SelectTreemap.js +130 -0
  210. package/dist/SelectUnitInput.js +53 -0
  211. package/dist/SelectVenn.js +75 -0
  212. package/dist/SelectViolin.js +95 -0
  213. package/dist/SelectWaffle.js +56 -0
  214. package/dist/SelectWaterfall.js +123 -0
  215. package/dist/SelectWordCloud.js +27 -0
  216. package/dist/SelectWorkspaceSwitcher.js +40 -0
  217. package/dist/SelectZoomThumbnail.js +40 -0
  218. package/dist/chartTip.js +70 -0
  219. package/dist/chartUtils.js +146 -0
  220. package/dist/detectSelectTheme.js +8 -0
  221. package/dist/icons.js +1696 -0
  222. package/dist/index.d.ts +2 -1
  223. package/dist/index.js +213 -32711
  224. package/dist/internal/dateValue.js +12 -0
  225. package/dist/internal/document.js +16 -0
  226. package/dist/internal/flags.js +187 -0
  227. package/dist/internal/frame.js +17 -0
  228. package/dist/internal/inert.js +13 -0
  229. package/dist/internal/layers.d.ts +8 -0
  230. package/dist/internal/layers.js +35 -0
  231. package/dist/internal/listChrome.js +150 -0
  232. package/dist/internal/money.js +16 -0
  233. package/dist/internal/nativeProps.d.ts +11 -0
  234. package/dist/internal/nativeProps.js +14 -0
  235. package/dist/internal/phone.js +52 -0
  236. package/dist/internal/safeHref.js +17 -0
  237. package/dist/internal/useFocusTrap.d.ts +7 -1
  238. package/dist/internal/useFocusTrap.js +40 -0
  239. package/dist/internal/useMatchMedia.js +18 -0
  240. package/dist/internal/useSelectReveal.js +76 -0
  241. package/dist/jsonTree.js +183 -0
  242. package/dist/positioning.js +22 -0
  243. package/dist/spacing.js +22 -0
  244. package/dist/style.css +1 -1
  245. package/dist/uploadUtils.js +29 -0
  246. package/dist/worldLand.js +10401 -0
  247. package/package.json +67 -64
@@ -0,0 +1,134 @@
1
+ import { useEffect as e, useRef as t } from "react";
2
+ import n from "gsap";
3
+ import { jsx as r } from "react/jsx-runtime";
4
+ //#region src/SelectDotField.tsx
5
+ var i = (e, t, n) => e < t ? t : e > n ? n : e;
6
+ function a(e, t, n) {
7
+ let r = e.getPropertyValue(t).match(/(\d+)\s*,\s*(\d+)\s*,\s*(\d+)/);
8
+ return r ? [
9
+ Number(r[1]),
10
+ Number(r[2]),
11
+ Number(r[3])
12
+ ] : n;
13
+ }
14
+ function o(e, t) {
15
+ let n = e.trim();
16
+ if (n.startsWith("#")) {
17
+ let e = n.slice(1);
18
+ if (e.length === 3 && (e = e.split("").map((e) => e + e).join("")), e.length >= 6) {
19
+ let t = parseInt(e.slice(0, 6), 16);
20
+ return [
21
+ t >> 16 & 255,
22
+ t >> 8 & 255,
23
+ t & 255
24
+ ];
25
+ }
26
+ }
27
+ let r = n.match(/(\d+)[,\s]+(\d+)[,\s]+(\d+)/);
28
+ return r ? [
29
+ Number(r[1]),
30
+ Number(r[2]),
31
+ Number(r[3])
32
+ ] : t;
33
+ }
34
+ function s({ className: s, theme: c, glowTarget: l }) {
35
+ let u = t(null);
36
+ return e(() => {
37
+ var e, t;
38
+ let r = u.current;
39
+ if (!r) return;
40
+ let s = r.getContext("2d");
41
+ if (!s) return;
42
+ let d = ((e = (t = window).matchMedia) == null ? void 0 : e.call(t, "(prefers-reduced-motion: reduce)").matches) ?? !1, f = c === "dark", p = 1.2, m = .32, h = Math.PI * 2, g = getComputedStyle(r), [_, v, y] = a(g, "--select-dot", f ? [
43
+ 235,
44
+ 238,
45
+ 255
46
+ ] : [
47
+ 64,
48
+ 68,
49
+ 92
50
+ ]), [b, x, S] = o(g.getPropertyValue("--select-primary"), f ? [
51
+ 255,
52
+ 255,
53
+ 255
54
+ ] : [
55
+ 33,
56
+ 37,
57
+ 41
58
+ ]), C = 0, w = 0, T = [], E = 0, D = 0, O = null, k = 0, A = {
59
+ x: 0,
60
+ y: 0
61
+ }, j = 0, M = 0, N = -10, P = n.quickTo(A, "x", {
62
+ duration: .5,
63
+ ease: "power3.out"
64
+ }), F = n.quickTo(A, "y", {
65
+ duration: .5,
66
+ ease: "power3.out"
67
+ });
68
+ function I() {
69
+ let e = r.getBoundingClientRect();
70
+ E = e.left, D = e.top, C = e.width, w = e.height;
71
+ let t = Math.min(window.devicePixelRatio || 1, 2);
72
+ r.width = Math.round(C * t), r.height = Math.round(w * t), s.setTransform(t, 0, 0, t, 0, 0);
73
+ let n = r.closest(".select-auth") ?? document;
74
+ O = l ? n.querySelector(l) : null, T = [];
75
+ let i = Math.ceil(C / 30) + 1, a = Math.ceil(w / 30) + 1, o = (C - (i - 1) * 30) / 2, c = (w - (a - 1) * 30) / 2;
76
+ for (let e = 0; e < a; e++) for (let t = 0; t < i; t++) {
77
+ let n = o + t * 30, r = c + e * 30;
78
+ T.push({
79
+ x: n,
80
+ y: r,
81
+ phase: (n + r) * .013
82
+ });
83
+ }
84
+ A.x === 0 && A.y === 0 && (A.x = j = C / 2, A.y = M = w / 2);
85
+ }
86
+ function L(e, t, n, r, a) {
87
+ if (!O) return;
88
+ let o = O.getBoundingClientRect(), s = o.left - E + o.width / 2, c = o.top - D + o.height / 2, l = o.width / 2, u = o.height / 2, d = (e - s) / (l + 18), f = (t - c) / (u + 18), p = Math.sqrt(d * d + f * f), m = p < 1 ? 1 - p : 0, h = m * m * (3 - 2 * m);
89
+ if (h > .001 || k > .001) {
90
+ let o = i((e - s) / Math.max(l, 1), -1, 1) * 10 * h, d = i((t - c) / Math.max(u, 1), -1, 1) * 10 * h;
91
+ O.style.setProperty("--select-card-glow", h.toFixed(3)), O.style.setProperty("--select-card-glow-rgb", `${n}, ${r}, ${a}`), O.style.setProperty("--select-card-glow-x", `${o.toFixed(1)}px`), O.style.setProperty("--select-card-glow-y", `${d.toFixed(1)}px`);
92
+ }
93
+ k = h;
94
+ }
95
+ function R() {
96
+ s.clearRect(0, 0, C, w), s.fillStyle = `rgba(${_},${v},${y},${m})`;
97
+ for (let e of T) s.beginPath(), s.arc(e.x, e.y, p, 0, h), s.fill();
98
+ O == null || O.style.setProperty("--select-card-glow", "0");
99
+ }
100
+ function z(e) {
101
+ let t, n;
102
+ e - N < 1.4 ? (t = j, n = M) : (t = C * .5 + Math.cos(e * .45) * C * .3, n = w * .5 + Math.sin(e * .6) * w * .28), P(t), F(n);
103
+ let r = A.x, i = A.y;
104
+ s.clearRect(0, 0, C, w);
105
+ for (let t = 0; t < T.length; t++) {
106
+ let n = T[t], a = n.x - r, o = n.y - i, c = Math.sqrt(a * a + o * o), l = c < 160 ? 1 - c / 160 : 0, u = l * l, d = Math.sin(e * 1.4 + n.phase) * .5 + .5, f = u * 8, g = c > 1e-4 ? 1 / c : 0, C = n.x - a * g * f, w = n.y - o * g * f, E = 1 + u * 1.9 + d * .14, D = Math.min(1, m + d * .08 + u * .6799999999999999), O = _ + (b - _) * u | 0, k = v + (x - v) * u | 0, A = y + (S - y) * u | 0;
107
+ u > .12 ? (s.shadowColor = `rgba(${b},${x},${S},${.6 * u})`, s.shadowBlur = 12 * u) : s.shadowBlur = 0, s.beginPath(), s.arc(C, w, p * E, 0, h), s.fillStyle = `rgba(${O},${k},${A},${D})`, s.fill();
108
+ }
109
+ s.shadowBlur = 0, L(r, i, b, x, S);
110
+ }
111
+ function B(e) {
112
+ j = e.clientX - E, M = e.clientY - D, N = n.ticker.time;
113
+ }
114
+ function V() {
115
+ let e = r.getBoundingClientRect();
116
+ E = e.left, D = e.top;
117
+ }
118
+ I();
119
+ let H = new ResizeObserver(() => {
120
+ I(), d && R();
121
+ });
122
+ return H.observe(r), d ? (R(), () => H.disconnect()) : (window.addEventListener("pointermove", B, { passive: !0 }), window.addEventListener("scroll", V, { passive: !0 }), n.ticker.add(z), () => {
123
+ n.ticker.remove(z), n.killTweensOf(A), window.removeEventListener("pointermove", B), window.removeEventListener("scroll", V), H.disconnect(), O == null || O.style.removeProperty("--select-card-glow");
124
+ });
125
+ }, [c, l]), /* @__PURE__ */ r("canvas", {
126
+ ref: u,
127
+ className: s,
128
+ "aria-hidden": "true"
129
+ });
130
+ }
131
+ //#endregion
132
+ export { s as SelectDotField };
133
+
134
+ //# sourceMappingURL=SelectDotField.js.map
@@ -0,0 +1,100 @@
1
+ /* empty css */
2
+ import { formatCompact as e, niceMax as t, ticks as n, useChartSize as r } from "./chartUtils.js";
3
+ import { ChartTooltip as i, useChartTooltip as a } from "./chartTip.js";
4
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
5
+ //#region src/SelectDumbbell.tsx
6
+ function c({ data: c, height: l, format: u = e, fromLabel: d = "Antes", toLabel: f = "Depois", labelWidth: p = 96, className: m, ...h }) {
7
+ let g = l ?? c.length * 34 + 6 + 26, { ref: _, width: v } = r(g), y = a(), b = "var(--select-chart-2)", x = "var(--select-chart-1)", S = t(Math.max(1, ...c.flatMap((e) => [e.from, e.to]))), C = p, w = Math.max(0, v - C - 14), T = g - 6 - 26, E = c.length ? T / c.length : 0, D = (e) => C + e / S * w;
8
+ return /* @__PURE__ */ s("div", {
9
+ ...h,
10
+ className: `select-chart-wrap${m ? " " + m : ""}`,
11
+ ref: _,
12
+ children: [v > 0 && /* @__PURE__ */ s("svg", {
13
+ width: v,
14
+ height: g,
15
+ className: "select-chart",
16
+ children: [n(S).map((e, t) => /* @__PURE__ */ s("g", { children: [/* @__PURE__ */ o("line", {
17
+ x1: D(e),
18
+ x2: D(e),
19
+ y1: 6,
20
+ y2: 6 + T,
21
+ className: t === 0 ? "select-chart__axis" : "select-chart__grid"
22
+ }), /* @__PURE__ */ o("text", {
23
+ x: D(e),
24
+ y: g - 26 + 16,
25
+ className: "select-chart__xlabel",
26
+ textAnchor: "middle",
27
+ children: u(e)
28
+ })] }, t)), c.map((e, t) => {
29
+ let n = 6 + E * t + E / 2;
30
+ return /* @__PURE__ */ s("g", { children: [
31
+ /* @__PURE__ */ o("line", {
32
+ x1: D(e.from),
33
+ x2: D(e.to),
34
+ y1: n,
35
+ y2: n,
36
+ stroke: "var(--select-chart-track)",
37
+ strokeWidth: 4,
38
+ strokeLinecap: "round"
39
+ }),
40
+ /* @__PURE__ */ o("circle", {
41
+ cx: D(e.from),
42
+ cy: n,
43
+ r: 5,
44
+ fill: b,
45
+ className: "select-chart__dot"
46
+ }),
47
+ /* @__PURE__ */ o("circle", {
48
+ cx: D(e.to),
49
+ cy: n,
50
+ r: 5,
51
+ fill: x,
52
+ className: "select-chart__dot"
53
+ }),
54
+ /* @__PURE__ */ o("text", {
55
+ x: C - 8,
56
+ y: n,
57
+ className: "select-chart__ylabel",
58
+ dominantBaseline: "middle",
59
+ textAnchor: "end",
60
+ children: e.label
61
+ }),
62
+ /* @__PURE__ */ o("rect", {
63
+ x: C,
64
+ y: n - E / 2,
65
+ width: w,
66
+ height: E,
67
+ fill: "transparent",
68
+ onMouseEnter: () => y.show({
69
+ x: (D(e.from) + D(e.to)) / 2,
70
+ y: n - 8,
71
+ place: n - 8 < 50 ? "bottom" : "top",
72
+ title: e.label,
73
+ rows: [
74
+ {
75
+ label: d,
76
+ value: u(e.from),
77
+ color: b
78
+ },
79
+ {
80
+ label: f,
81
+ value: u(e.to),
82
+ color: x
83
+ },
84
+ {
85
+ label: "Δ",
86
+ value: `${e.to - e.from >= 0 ? "+" : ""}${u(e.to - e.from)}`
87
+ }
88
+ ]
89
+ }),
90
+ onMouseLeave: y.hide
91
+ })
92
+ ] }, t);
93
+ })]
94
+ }), /* @__PURE__ */ o(i, { tip: y.tip })]
95
+ });
96
+ }
97
+ //#endregion
98
+ export { c as SelectDumbbell };
99
+
100
+ //# sourceMappingURL=SelectDumbbell.js.map
@@ -0,0 +1,42 @@
1
+ /* empty css */
2
+ import { CheckIcon as e } from "./icons.js";
3
+ import { useSelectMessages as t } from "./SelectLocale.js";
4
+ import { forwardRef as n } from "react";
5
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
6
+ //#region src/SelectFactStrip.tsx
7
+ var a = n(function({ items: n, className: a, ...o }, s) {
8
+ let c = t().factStrip;
9
+ return /* @__PURE__ */ r("dl", {
10
+ ref: s,
11
+ ...o,
12
+ className: `select-factstrip${a ? " " + a : ""}`,
13
+ children: n.map((t, n) => /* @__PURE__ */ i("div", {
14
+ className: `select-factstrip__item${t.state ? ` select-factstrip__item--step select-factstrip__item--${t.state}` : ""}`,
15
+ children: [t.state && /* @__PURE__ */ r("span", {
16
+ className: "select-factstrip__mark",
17
+ "aria-hidden": "true",
18
+ children: t.state === "done" ? /* @__PURE__ */ r(e, {}) : t.state === "wait" ? /* @__PURE__ */ r("span", { className: "select-factstrip__ring" }) : "!"
19
+ }), /* @__PURE__ */ i("div", {
20
+ className: "select-factstrip__text",
21
+ children: [/* @__PURE__ */ i("dt", {
22
+ className: "select-factstrip__label",
23
+ children: [t.label, t.state && /* @__PURE__ */ i("span", {
24
+ className: "select-factstrip__sr",
25
+ children: [
26
+ " (",
27
+ c[t.state],
28
+ ")"
29
+ ]
30
+ })]
31
+ }), t.value != null && t.value !== "" && /* @__PURE__ */ r("dd", {
32
+ className: `select-factstrip__value${t.tone ? ` select-factstrip__value--${t.tone}` : ""}`,
33
+ children: t.value
34
+ })]
35
+ })]
36
+ }, n))
37
+ });
38
+ });
39
+ //#endregion
40
+ export { a as SelectFactStrip };
41
+
42
+ //# sourceMappingURL=SelectFactStrip.js.map
@@ -0,0 +1,88 @@
1
+ import { SelectMoney as e } from "./SelectMoney.js";
2
+ import { forwardRef as t } from "react";
3
+ import { Fragment as n, jsx as r, jsxs as i } from "react/jsx-runtime";
4
+ //#region src/SelectFeeBreakdown.tsx
5
+ var a = t(function({ grossCents: t, fees: a, netCents: o, grossLabel: s = "Valor bruto", netLabel: c = "Valor líquido", bar: l = !1, barLabel: u, className: d, ...f }, p) {
6
+ let m = o ?? t - a.reduce((e, t) => e + t.cents, 0), h = Math.max(0, t - m), g = l && t > 0 && m >= 0, _ = t > 0 ? h / t * 100 : 0;
7
+ return /* @__PURE__ */ i("div", {
8
+ ref: p,
9
+ ...f,
10
+ className: `select-fees${g ? " select-fees--bar" : ""}${d ? " " + d : ""}`,
11
+ children: [
12
+ g && /* @__PURE__ */ i("div", {
13
+ className: "select-fees__visual",
14
+ children: [/* @__PURE__ */ i("div", {
15
+ className: "select-fees__bar",
16
+ "aria-hidden": "true",
17
+ children: [/* @__PURE__ */ r("span", {
18
+ className: "select-fees__barnet",
19
+ style: { flexGrow: m },
20
+ children: /* @__PURE__ */ r("span", {
21
+ className: "select-fees__barlabel",
22
+ children: u ?? /* @__PURE__ */ i(n, { children: [
23
+ c,
24
+ " · ",
25
+ /* @__PURE__ */ r(e, { cents: m })
26
+ ] })
27
+ })
28
+ }), h > 0 && /* @__PURE__ */ r("span", {
29
+ className: "select-fees__barfee",
30
+ style: { flexGrow: h }
31
+ })]
32
+ }), /* @__PURE__ */ i("div", {
33
+ className: "select-fees__legend",
34
+ children: [h > 0 && /* @__PURE__ */ i("span", {
35
+ className: "select-fees__legenditem",
36
+ children: [
37
+ /* @__PURE__ */ r("span", {
38
+ className: "select-fees__dot select-fees__dot--fee",
39
+ "aria-hidden": "true"
40
+ }),
41
+ "Taxas ",
42
+ /* @__PURE__ */ r(e, { cents: h }),
43
+ " (",
44
+ _.toLocaleString("pt-BR", {
45
+ maximumFractionDigits: 1,
46
+ minimumFractionDigits: 1
47
+ }),
48
+ "%)"
49
+ ]
50
+ }), /* @__PURE__ */ i("span", {
51
+ className: "select-fees__legenditem",
52
+ children: [
53
+ /* @__PURE__ */ r("span", {
54
+ className: "select-fees__dot select-fees__dot--net",
55
+ "aria-hidden": "true"
56
+ }),
57
+ "Líquido ",
58
+ /* @__PURE__ */ r(e, { cents: m })
59
+ ]
60
+ })]
61
+ })]
62
+ }),
63
+ /* @__PURE__ */ i("div", {
64
+ className: "select-fees__row",
65
+ children: [/* @__PURE__ */ r("span", { children: s }), /* @__PURE__ */ r("span", { children: /* @__PURE__ */ r(e, { cents: t }) })]
66
+ }),
67
+ a.map((t) => /* @__PURE__ */ i("div", {
68
+ className: "select-fees__row",
69
+ children: [/* @__PURE__ */ r("span", { children: t.label }), /* @__PURE__ */ i("span", {
70
+ className: "select-fees__neg",
71
+ children: ["−\xA0", /* @__PURE__ */ r(e, { cents: t.cents })]
72
+ })]
73
+ }, t.label)),
74
+ /* @__PURE__ */ r("div", { className: "select-fees__divider" }),
75
+ /* @__PURE__ */ i("div", {
76
+ className: "select-fees__row select-fees__row--net",
77
+ children: [/* @__PURE__ */ r("span", { children: c }), /* @__PURE__ */ r("span", {
78
+ className: "select-fees__netvalue",
79
+ children: /* @__PURE__ */ r(e, { cents: m })
80
+ })]
81
+ })
82
+ ]
83
+ });
84
+ });
85
+ //#endregion
86
+ export { a as SelectFeeBreakdown };
87
+
88
+ //# sourceMappingURL=SelectFeeBreakdown.js.map
@@ -1,4 +1,4 @@
1
- import { KeyboardEvent, ReactNode, ComponentPropsWithoutRef } from 'react';
1
+ import { ChangeEvent, InputHTMLAttributes, KeyboardEvent, ReactNode, Ref, ComponentPropsWithoutRef } from 'react';
2
2
  /** Shared label row: label text, an optional ⓘ info affordance, and a right action. */
3
3
  type SelectLabelRowOwnProps = {
4
4
  htmlFor: string;
@@ -8,6 +8,8 @@ type SelectLabelRowOwnProps = {
8
8
  /** @deprecated use `help` — este usa `title` nativo (sem tema, invisivel no touch). */
9
9
  info?: string;
10
10
  action?: ReactNode;
11
+ /** 0.1.198: o "(opcional)" depois do rótulo, dentro dele (o leitor de tela ouve "Nome (opcional)"). */
12
+ optional?: boolean;
11
13
  };
12
14
  export type SelectLabelRowProps = SelectLabelRowOwnProps & Omit<ComponentPropsWithoutRef<'div'>, keyof SelectLabelRowOwnProps>;
13
15
  export declare const SelectLabelRow: import('react').ForwardRefExoticComponent<SelectLabelRowOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectLabelRowOwnProps> & import('react').RefAttributes<HTMLDivElement>>;
@@ -15,12 +17,24 @@ export declare const SelectLabelRow: import('react').ForwardRefExoticComponent<S
15
17
  export declare function charCount(value: string, maxLength: number | undefined): ReactNode;
16
18
  /** Junta o contador à ação do rótulo — os dois cabem na mesma ponta da linha. */
17
19
  export declare function withCount(action: ReactNode, count: ReactNode): ReactNode;
20
+ /**
21
+ * Os atributos nativos do `<input>` que o campo repassa (0.1.198): `inputMode`, `spellCheck`, `form`, `pattern`,
22
+ * `aria-*`, `data-*`, os eventos… Os que o campo controla (o valor, o tipo, o id, a classe) ficam de fora.
23
+ */
24
+ export type SelectNativeInputProps = Omit<InputHTMLAttributes<HTMLInputElement>, 'value' | 'defaultValue' | 'onChange' | 'type' | 'id' | 'className' | 'size' | 'prefix'>;
18
25
  export interface SelectFieldProps {
19
- /** Field label. Omit when an outer row already labels the field. */
20
- label?: string;
26
+ /** Field label. Omit when an outer row already labels the field. 0.1.198: aceita um nó. */
27
+ label?: ReactNode;
21
28
  value: string;
22
- onChange: (value: string) => void;
23
- type?: 'text' | 'email' | 'password' | 'url' | 'tel' | 'date' | 'datetime-local' | 'number';
29
+ /** O valor novo e, desde a 0.1.198, o evento nativo (ausente quando quem muda é o passo do número). */
30
+ onChange: (value: string, event?: ChangeEvent<HTMLInputElement>) => void;
31
+ type?: 'text' | 'email' | 'password' | 'url' | 'tel' | 'date' | 'datetime-local' | 'number' | 'search' | 'time' | 'month' | 'week';
32
+ /** 0.1.198: o "(opcional)" depois do rótulo. */
33
+ optional?: boolean;
34
+ /** 0.1.198: os atributos nativos do `<input>` (ver `SelectNativeInputProps`). */
35
+ inputProps?: SelectNativeInputProps;
36
+ /** 0.1.198: a referência do `<input>` (o `ref` do componente é o da caixa). */
37
+ inputRef?: Ref<HTMLInputElement>;
24
38
  /** Right-aligned action next to the label (e.g. a recovery link). */
25
39
  labelAction?: ReactNode;
26
40
  /** Ajuda contextual: vira o "!" (SelectInfoTip) ao lado do rotulo. Use para o que
@@ -80,10 +94,14 @@ export declare const SelectField: import('react').ForwardRefExoticComponent<Sele
80
94
  type SelectCheckboxOwnProps = {
81
95
  label: ReactNode;
82
96
  checked: boolean;
83
- onChange: (checked: boolean) => void;
97
+ /** O estado novo e, desde a 0.1.198, o evento nativo. */
98
+ onChange: (checked: boolean, event: ChangeEvent<HTMLInputElement>) => void;
84
99
  disabled?: boolean;
100
+ /** A explicação embaixo do rótulo; desde a 0.1.198 ela é a descrição da caixa (`aria-describedby`). */
85
101
  hint?: ReactNode;
86
102
  name?: string;
103
+ /** 0.1.198: os atributos nativos do `<input type="checkbox">` (o `value`, o `form`, o `aria-*`…). */
104
+ inputProps?: Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'checked' | 'defaultChecked' | 'onChange'>;
87
105
  };
88
106
  export type SelectCheckboxProps = SelectCheckboxOwnProps & Omit<ComponentPropsWithoutRef<'span'>, keyof SelectCheckboxOwnProps>;
89
107
  export declare const SelectCheckbox: import('react').ForwardRefExoticComponent<SelectCheckboxOwnProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLSpanElement>, HTMLSpanElement>, "ref">, keyof SelectCheckboxOwnProps> & import('react').RefAttributes<HTMLSpanElement>>;
@@ -0,0 +1,196 @@
1
+ import { CheckIcon as e, ChevronDownIcon as t, ChevronUpIcon as n, EyeIcon as r, EyeOffIcon as i, InfoIcon as a } from "./icons.js";
2
+ import { joinIds as o, mergeNative as s } from "./internal/nativeProps.js";
3
+ import { useSelectMessages as c } from "./SelectLocale.js";
4
+ import { SelectInfoTip as l } from "./SelectInfoTip.js";
5
+ import { forwardRef as u, useId as d, useState as f } from "react";
6
+ import { jsx as p, jsxs as m } from "react/jsx-runtime";
7
+ //#region src/SelectField.tsx
8
+ var h = u(function({ htmlFor: e, label: t, help: n, info: r, action: i, optional: o = !1, className: s, ...u }, d) {
9
+ let f = c();
10
+ return /* @__PURE__ */ m("div", {
11
+ ref: d,
12
+ ...u,
13
+ className: `select-field__labelrow${s ? " " + s : ""}`,
14
+ children: [/* @__PURE__ */ m("span", {
15
+ className: "select-field__labelwrap",
16
+ children: [/* @__PURE__ */ m("label", {
17
+ className: "select-field__label",
18
+ htmlFor: e,
19
+ children: [t, o && /* @__PURE__ */ m("span", {
20
+ className: "select-field__optional",
21
+ children: [" ", f.common.optional]
22
+ })]
23
+ }), n != null && n !== "" ? /* @__PURE__ */ p(l, { content: n }) : r && /* @__PURE__ */ p("span", {
24
+ className: "select-field__info",
25
+ title: r,
26
+ "aria-label": r,
27
+ children: /* @__PURE__ */ p(a, {})
28
+ })]
29
+ }), i]
30
+ });
31
+ });
32
+ function g(e, t) {
33
+ if (t == null) return null;
34
+ let n = e.length;
35
+ return /* @__PURE__ */ m("span", {
36
+ className: `select-field__count${n >= t ? " is-full" : ""}`,
37
+ "aria-hidden": "true",
38
+ children: [
39
+ n,
40
+ "/",
41
+ t
42
+ ]
43
+ });
44
+ }
45
+ function _(e, t) {
46
+ return t == null ? e : e == null || e === !1 ? t : /* @__PURE__ */ m("span", {
47
+ className: "select-field__actions",
48
+ children: [t, e]
49
+ });
50
+ }
51
+ var v = u(function({ label: e, value: a, onChange: l, type: u = "text", labelAction: v, help: y, info: b, description: x, hint: S, error: C, prefix: w, suffix: T, trailingAction: E, mono: ee, autoComplete: te, placeholder: ne, required: D, disabled: O, readOnly: k, name: A, id: j, minLength: re, maxLength: M, showCount: N = !1, min: P, max: F, step: I, inputMode: ie, autoFocus: ae, onBlur: oe, onKeyDown: se, size: ce = "md", optional: le = !1, inputProps: L, inputRef: R, className: z, ...B }, V) {
52
+ let H = c(), U = d(), W = j ?? U, [G, ue] = f(!1), K = u === "password", de = K && G ? "text" : u, fe = C ? `${W}-err` : S ? `${W}-hint` : void 0, q = w != null || T != null, J = u === "number" && !q && !k, Y = a === "" ? null : Number(a), X = (e) => {
53
+ let t = Number(I ?? 1) || 1, n = (Y != null && Number.isFinite(Y) ? Y : 0) + e * t;
54
+ P != null && (n = Math.max(Number(P), n)), F != null && (n = Math.min(Number(F), n)), l(String(n));
55
+ }, pe = P != null && Y != null && Y <= Number(P), me = F != null && Y != null && Y >= Number(F), Z = s(L, {
56
+ onBlur: oe,
57
+ onKeyDown: se,
58
+ autoComplete: te,
59
+ placeholder: ne,
60
+ required: D,
61
+ disabled: O,
62
+ readOnly: k,
63
+ name: A,
64
+ minLength: re,
65
+ maxLength: M,
66
+ min: P,
67
+ max: F,
68
+ step: I,
69
+ inputMode: ie,
70
+ autoFocus: ae
71
+ }), he = /* @__PURE__ */ p("input", {
72
+ ...Z,
73
+ ref: R,
74
+ id: W,
75
+ className: `select-input${K ? " select-input--has-suffix" : ""}${J ? " select-input--has-stepper" : ""}${ee ? " select-input--mono" : ""}${C ? " select-input--error" : ""}`,
76
+ type: de,
77
+ value: a,
78
+ onChange: (e) => l(e.target.value, e),
79
+ "aria-invalid": C ? !0 : Z["aria-invalid"],
80
+ "aria-describedby": o(fe, L == null ? void 0 : L["aria-describedby"])
81
+ }), Q = /* @__PURE__ */ m("div", {
82
+ className: `select-input-wrap${q ? " select-input-wrap--affixed" : ""}${C ? " select-input-wrap--error" : ""}`,
83
+ children: [
84
+ w != null && /* @__PURE__ */ p("span", {
85
+ className: "select-input__affix select-input__affix--prefix",
86
+ children: w
87
+ }),
88
+ he,
89
+ T != null && /* @__PURE__ */ p("span", {
90
+ className: "select-input__affix select-input__affix--suffix",
91
+ children: T
92
+ }),
93
+ K && /* @__PURE__ */ p("button", {
94
+ type: "button",
95
+ className: "select-input__reveal",
96
+ onClick: () => ue((e) => !e),
97
+ "aria-label": G ? H.common.hidePassword : H.common.showPassword,
98
+ children: p(G ? i : r, {})
99
+ }),
100
+ J && /* @__PURE__ */ m("span", {
101
+ className: "select-stepper",
102
+ children: [/* @__PURE__ */ p("button", {
103
+ type: "button",
104
+ tabIndex: -1,
105
+ className: "select-stepper__btn",
106
+ "aria-label": "Aumentar",
107
+ disabled: O || me,
108
+ onClick: () => X(1),
109
+ children: /* @__PURE__ */ p(n, {})
110
+ }), /* @__PURE__ */ p("button", {
111
+ type: "button",
112
+ tabIndex: -1,
113
+ className: "select-stepper__btn",
114
+ "aria-label": "Diminuir",
115
+ disabled: O || pe,
116
+ onClick: () => X(-1),
117
+ children: /* @__PURE__ */ p(t, {})
118
+ })]
119
+ })
120
+ ]
121
+ }), $ = _(v, N ? g(a, M) : null);
122
+ return /* @__PURE__ */ m("div", {
123
+ ref: V,
124
+ ...B,
125
+ className: `select-field${ce === "sm" ? " select-field--sm" : ""}${z ? " " + z : ""}`,
126
+ children: [
127
+ (e || y || b || $) && /* @__PURE__ */ p(h, {
128
+ htmlFor: W,
129
+ label: e,
130
+ help: y,
131
+ info: b,
132
+ action: $,
133
+ optional: le
134
+ }),
135
+ x && /* @__PURE__ */ p("p", {
136
+ className: "select-field__desc",
137
+ children: x
138
+ }),
139
+ E == null ? Q : /* @__PURE__ */ m("div", {
140
+ className: "select-field__control",
141
+ children: [Q, /* @__PURE__ */ p("span", {
142
+ className: "select-field__trailing",
143
+ children: E
144
+ })]
145
+ }),
146
+ C ? /* @__PURE__ */ p("p", {
147
+ id: `${W}-err`,
148
+ className: "select-field__error",
149
+ children: C
150
+ }) : S ? /* @__PURE__ */ p("p", {
151
+ id: `${W}-hint`,
152
+ className: "select-field__hint",
153
+ children: S
154
+ }) : null
155
+ ]
156
+ });
157
+ }), y = u(function({ label: t, checked: n, onChange: r, disabled: i, hint: a, name: c, inputProps: l, className: u, ...f }, h) {
158
+ let g = d(), _ = s(l, {
159
+ disabled: i,
160
+ name: c
161
+ });
162
+ return /* @__PURE__ */ m("span", {
163
+ ref: h,
164
+ ...f,
165
+ className: `select-checkbox-field${i ? " select-checkbox-field--disabled" : ""}${u ? " " + u : ""}`,
166
+ children: [/* @__PURE__ */ m("label", {
167
+ className: "select-checkbox",
168
+ children: [
169
+ /* @__PURE__ */ p("input", {
170
+ ..._,
171
+ type: "checkbox",
172
+ checked: n,
173
+ onChange: (e) => r(e.target.checked, e),
174
+ "aria-describedby": o(a ? g : void 0, l == null ? void 0 : l["aria-describedby"])
175
+ }),
176
+ /* @__PURE__ */ p("span", {
177
+ className: "select-checkbox__box",
178
+ "aria-hidden": "true",
179
+ children: /* @__PURE__ */ p(e, {})
180
+ }),
181
+ /* @__PURE__ */ p("span", {
182
+ className: "select-checkbox__label",
183
+ children: t
184
+ })
185
+ ]
186
+ }), a && /* @__PURE__ */ p("span", {
187
+ id: g,
188
+ className: "select-checkbox__hint",
189
+ children: a
190
+ })]
191
+ });
192
+ });
193
+ //#endregion
194
+ export { y as SelectCheckbox, v as SelectField, h as SelectLabelRow, g as charCount, _ as withCount };
195
+
196
+ //# sourceMappingURL=SelectField.js.map
@@ -0,0 +1,15 @@
1
+ import { forwardRef as e } from "react";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/SelectFieldGrid.tsx
4
+ var n = e(function({ children: e, columns: n = 2, className: r, ...i }, a) {
5
+ return /* @__PURE__ */ t("div", {
6
+ ref: a,
7
+ ...i,
8
+ className: `select-fieldgrid select-fieldgrid--${n}${r ? " " + r : ""}`,
9
+ children: e
10
+ });
11
+ });
12
+ //#endregion
13
+ export { n as SelectFieldGrid };
14
+
15
+ //# sourceMappingURL=SelectFieldGrid.js.map