@selectwin/kit 0.1.197 → 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 (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 +4 -1
@@ -0,0 +1,99 @@
1
+ /* empty css */
2
+ import { chartColor as e, formatCompact as t, smoothBandPath as n, useChartSize as r } from "./chartUtils.js";
3
+ import { ChartTooltip as i, useChartTooltip as a } from "./chartTip.js";
4
+ import { useId as o, useState as s } from "react";
5
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
6
+ //#region src/SelectStreamGraph.tsx
7
+ function u({ series: u, labels: d, height: f = 240, format: p = t, className: m, ...h }) {
8
+ let { ref: g, width: _ } = r(f), v = a(), y = o(), [b, x] = s(null), S = d.length, C = {
9
+ top: 14,
10
+ right: 14,
11
+ bottom: 28,
12
+ left: 14
13
+ }, w = Math.max(0, _ - C.left - C.right), T = f - C.top - C.bottom, E = d.map((e, t) => u.reduce((e, n) => e + (n.data[t] ?? 0), 0)), D = T / Math.max(1, ...E), O = (e) => C.left + (S <= 1 ? w / 2 : e / (S - 1) * w), k = d.map(() => 0), A = u.map((t, n) => {
14
+ let r = [], i = [];
15
+ return d.forEach((e, n) => {
16
+ let a = C.top + (T - E[n] * D) / 2 + k[n] * D, o = a + (t.data[n] ?? 0) * D;
17
+ r.push([O(n), a]), i.push([O(n), o]), k[n] = k[n] + (t.data[n] ?? 0);
18
+ }), {
19
+ upper: r,
20
+ lower: i,
21
+ color: t.color ?? e(n),
22
+ name: t.name
23
+ };
24
+ });
25
+ return /* @__PURE__ */ l("div", {
26
+ ...h,
27
+ className: `select-chart-wrap${m ? " " + m : ""}`,
28
+ ref: g,
29
+ children: [_ > 0 && /* @__PURE__ */ l("svg", {
30
+ width: _,
31
+ height: f,
32
+ className: "select-chart",
33
+ children: [
34
+ /* @__PURE__ */ c("defs", { children: A.map((e, t) => /* @__PURE__ */ l("linearGradient", {
35
+ id: `${y}-st${t}`,
36
+ x1: "0",
37
+ y1: "0",
38
+ x2: "0",
39
+ y2: "1",
40
+ children: [/* @__PURE__ */ c("stop", {
41
+ offset: "0%",
42
+ stopColor: e.color,
43
+ stopOpacity: .95
44
+ }), /* @__PURE__ */ c("stop", {
45
+ offset: "100%",
46
+ stopColor: e.color,
47
+ stopOpacity: .6
48
+ })]
49
+ }, t)) }),
50
+ A.map((e, t) => /* @__PURE__ */ c("path", {
51
+ d: n(e.upper, e.lower),
52
+ fill: `url(#${y}-st${t})`,
53
+ className: "select-chart__area"
54
+ }, t)),
55
+ b != null && /* @__PURE__ */ c("line", {
56
+ x1: O(b),
57
+ x2: O(b),
58
+ y1: C.top,
59
+ y2: C.top + T,
60
+ className: "select-chart__crosshair"
61
+ }),
62
+ d.map((e, t) => t % Math.max(1, Math.ceil(S / 7)) === 0 || t === S - 1 ? /* @__PURE__ */ c("text", {
63
+ x: O(t),
64
+ y: f - C.bottom + 16,
65
+ className: "select-chart__xlabel",
66
+ textAnchor: "middle",
67
+ children: e
68
+ }, t) : null),
69
+ d.map((t, n) => /* @__PURE__ */ c("rect", {
70
+ x: O(n) - w / Math.max(1, S) / 2,
71
+ y: C.top,
72
+ width: w / Math.max(1, S),
73
+ height: T,
74
+ fill: "transparent",
75
+ onMouseEnter: () => {
76
+ x(n), v.show({
77
+ x: O(n),
78
+ y: C.top + T / 2,
79
+ place: "top",
80
+ title: t,
81
+ rows: u.map((t, r) => ({
82
+ label: t.name,
83
+ value: p(t.data[n] ?? 0),
84
+ color: t.color ?? e(r)
85
+ }))
86
+ });
87
+ },
88
+ onMouseLeave: () => {
89
+ x(null), v.hide();
90
+ }
91
+ }, `h${n}`))
92
+ ]
93
+ }), /* @__PURE__ */ c(i, { tip: v.tip })]
94
+ });
95
+ }
96
+ //#endregion
97
+ export { u as SelectStreamGraph };
98
+
99
+ //# sourceMappingURL=SelectStreamGraph.js.map
@@ -0,0 +1,101 @@
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/SelectSunburst.tsx
7
+ var c = a(function({ data: a, size: c = 220, format: l = n, legend: u = !0, className: d, ...f }, p) {
8
+ let m = i(), h = c / 2, g = c / 2, _ = c / 2 - 2, v = _ * .62, y = _ * .32, b = a.map((e) => {
9
+ var t;
10
+ return (t = e.children) != null && t.length ? e.children.reduce((e, t) => e + t.value, 0) : e.value ?? 0;
11
+ }), x = b.reduce((e, t) => e + t, 0) || 1, S = 0;
12
+ return /* @__PURE__ */ s("div", {
13
+ ref: p,
14
+ ...f,
15
+ className: `select-donut-wrap${d ? " " + d : ""}`,
16
+ children: [/* @__PURE__ */ s("div", {
17
+ className: "select-radial",
18
+ style: {
19
+ width: c,
20
+ aspectRatio: "1"
21
+ },
22
+ children: [/* @__PURE__ */ o("svg", {
23
+ width: c,
24
+ height: c,
25
+ viewBox: `0 0 ${c} ${c}`,
26
+ className: "select-chart select-donut",
27
+ "aria-hidden": "true",
28
+ children: a.map((n, r) => {
29
+ let i = b[r], a = S / x * 360;
30
+ S += i;
31
+ let c = S / x * 360, u = n.color ?? e(r), d = a;
32
+ return /* @__PURE__ */ s("g", { children: [/* @__PURE__ */ o("path", {
33
+ d: t(h, g, v, y, a + .6, Math.max(a + .7, c - .6)),
34
+ fill: u,
35
+ className: "select-chart__seg",
36
+ onMouseEnter: () => m.show({
37
+ x: h,
38
+ y: g - v,
39
+ place: g - v < 44 ? "bottom" : "top",
40
+ title: n.label,
41
+ rows: [{
42
+ label: "Total",
43
+ value: l(i),
44
+ color: u
45
+ }]
46
+ }),
47
+ onMouseLeave: m.hide
48
+ }), (n.children ?? []).map((e, r) => {
49
+ let a = d;
50
+ d += e.value / x * 360;
51
+ let s = d, c = e.color ?? u, f = .45 + r % 3 * .2, p = ((a + s) / 2 - 90) * (Math.PI / 180);
52
+ return /* @__PURE__ */ o("path", {
53
+ d: t(h, g, _, v + 2, a + .5, Math.max(a + .6, s - .5)),
54
+ fill: c,
55
+ fillOpacity: f,
56
+ className: "select-chart__seg",
57
+ onMouseEnter: () => m.show({
58
+ x: h + (_ - 6) * Math.cos(p),
59
+ y: g + (_ - 6) * Math.sin(p),
60
+ place: g + (_ - 6) * Math.sin(p) < g ? "top" : "bottom",
61
+ title: `${n.label} · ${e.label}`,
62
+ rows: [{
63
+ label: "Valor",
64
+ value: l(e.value),
65
+ color: u
66
+ }, {
67
+ label: "Share",
68
+ value: `${Math.round(e.value / (i || 1) * 100)}%`
69
+ }]
70
+ }),
71
+ onMouseLeave: m.hide
72
+ }, r);
73
+ })] }, r);
74
+ })
75
+ }), /* @__PURE__ */ o(r, { tip: m.tip })]
76
+ }), u && /* @__PURE__ */ o("ul", {
77
+ className: "select-donut__legend",
78
+ children: a.map((t, n) => /* @__PURE__ */ s("li", {
79
+ className: "select-donut__legitem",
80
+ children: [
81
+ /* @__PURE__ */ o("span", {
82
+ className: "select-donut__dot",
83
+ style: { background: t.color ?? e(n) }
84
+ }),
85
+ /* @__PURE__ */ o("span", {
86
+ className: "select-donut__leglabel",
87
+ children: t.label
88
+ }),
89
+ /* @__PURE__ */ o("span", {
90
+ className: "select-donut__legval",
91
+ children: l(b[n])
92
+ })
93
+ ]
94
+ }, n))
95
+ })]
96
+ });
97
+ });
98
+ //#endregion
99
+ export { c as SelectSunburst };
100
+
101
+ //# sourceMappingURL=SelectSunburst.js.map
@@ -0,0 +1,41 @@
1
+ /* empty css */
2
+ import { forwardRef as e } from "react";
3
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
4
+ //#region src/SelectSurface.tsx
5
+ var r = e(function({ title: e, description: r, headerAction: i, footer: a, children: o, flush: s = !1, className: c, ...l }, u) {
6
+ return /* @__PURE__ */ n("div", {
7
+ ref: u,
8
+ ...l,
9
+ className: `select-surface${c ? " " + c : ""}`,
10
+ children: [
11
+ (e || r || i) && /* @__PURE__ */ n("div", {
12
+ className: "select-surface__header",
13
+ children: [/* @__PURE__ */ n("div", {
14
+ className: "select-surface__heading",
15
+ children: [e && /* @__PURE__ */ t("h3", {
16
+ className: "select-surface__title",
17
+ children: e
18
+ }), r && /* @__PURE__ */ t("p", {
19
+ className: "select-surface__desc",
20
+ children: r
21
+ })]
22
+ }), i && /* @__PURE__ */ t("div", {
23
+ className: "select-surface__headeraction",
24
+ children: i
25
+ })]
26
+ }),
27
+ /* @__PURE__ */ t("div", {
28
+ className: `select-surface__body${s ? " select-surface__body--flush" : ""}`,
29
+ children: o
30
+ }),
31
+ a && /* @__PURE__ */ t("div", {
32
+ className: "select-surface__footer",
33
+ children: a
34
+ })
35
+ ]
36
+ });
37
+ });
38
+ //#endregion
39
+ export { r as SelectSurface };
40
+
41
+ //# sourceMappingURL=SelectSurface.js.map
@@ -0,0 +1,24 @@
1
+ import { forwardRef as e } from "react";
2
+ import { jsx as t } from "react/jsx-runtime";
3
+ //#region src/SelectSwitch.tsx
4
+ var n = e(function({ checked: e, onChange: n, disabled: r = !1, label: i, className: a, ...o }, s) {
5
+ return /* @__PURE__ */ t("button", {
6
+ ref: s,
7
+ ...o,
8
+ type: "button",
9
+ role: "switch",
10
+ "aria-checked": e,
11
+ "aria-label": i,
12
+ disabled: r,
13
+ className: `select-switch${e ? " select-switch--on" : ""}${a ? " " + a : ""}`,
14
+ onClick: () => n(!e),
15
+ children: /* @__PURE__ */ t("span", {
16
+ className: "select-switch__knob",
17
+ "aria-hidden": "true"
18
+ })
19
+ });
20
+ });
21
+ //#endregion
22
+ export { n as SelectSwitch };
23
+
24
+ //# sourceMappingURL=SelectSwitch.js.map
@@ -1,12 +1,16 @@
1
1
  import { ReactNode } from 'react';
2
2
  export interface SelectSwitchFieldProps {
3
- label: string;
3
+ /** 0.1.198: aceita um nó — o interruptor é nomeado pelo rótulo na tela (`aria-labelledby`), não por uma cópia. */
4
+ label: ReactNode;
4
5
  checked: boolean;
5
6
  onChange: (checked: boolean) => void;
6
7
  disabled?: boolean;
8
+ /** A explicação embaixo; desde a 0.1.198 ela é a descrição do interruptor (`aria-describedby`). */
7
9
  hint?: ReactNode;
8
10
  /** Ajuda contextual: vira o "!" (SelectInfoTip) ao lado do rotulo. Use para o que
9
11
  * explica a plataforma; `hint` e so restricao/estado do proprio campo. */
10
12
  help?: ReactNode;
13
+ /** 0.1.198: o id do interruptor. */
14
+ switchId?: string;
11
15
  }
12
16
  export declare const SelectSwitchField: import('react').ForwardRefExoticComponent<SelectSwitchFieldProps & Omit<Omit<import('react').DetailedHTMLProps<import('react').HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref">, keyof SelectSwitchFieldProps> & import('react').RefAttributes<HTMLDivElement>>;
@@ -0,0 +1,45 @@
1
+ /* empty css */
2
+ import { SelectInfoTip as e } from "./SelectInfoTip.js";
3
+ import { SelectSwitch as t } from "./SelectSwitch.js";
4
+ import { forwardRef as n, useId as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ //#region src/SelectSwitchField.tsx
7
+ var o = n(function({ label: n, checked: o, onChange: s, disabled: c = !1, hint: l, help: u, switchId: d, className: f, ...p }, m) {
8
+ let h = r(), g = l != null && l !== "";
9
+ return /* @__PURE__ */ a("div", {
10
+ ref: m,
11
+ ...p,
12
+ className: `select-switchfield${c ? " is-disabled" : ""}${f ? " " + f : ""}`,
13
+ children: [/* @__PURE__ */ a("div", {
14
+ className: "select-switchfield__row",
15
+ children: [
16
+ /* @__PURE__ */ i(t, {
17
+ id: d,
18
+ checked: o,
19
+ onChange: s,
20
+ disabled: c,
21
+ label: typeof n == "string" ? n : void 0,
22
+ "aria-labelledby": `${h}-label`,
23
+ "aria-describedby": g ? `${h}-hint` : void 0
24
+ }),
25
+ /* @__PURE__ */ i("span", {
26
+ id: `${h}-label`,
27
+ className: "select-switchfield__label",
28
+ onClick: () => {
29
+ c || s(!o);
30
+ },
31
+ children: n
32
+ }),
33
+ u != null && u !== "" && /* @__PURE__ */ i(e, { content: u })
34
+ ]
35
+ }), g && /* @__PURE__ */ i("span", {
36
+ id: `${h}-hint`,
37
+ className: "select-switchfield__hint",
38
+ children: l
39
+ })]
40
+ });
41
+ });
42
+ //#endregion
43
+ export { o as SelectSwitchField };
44
+
45
+ //# sourceMappingURL=SelectSwitchField.js.map
@@ -0,0 +1,243 @@
1
+ import { ChevronDownIcon as e, ChevronRightIcon as t } from "./icons.js";
2
+ import { useSelectReveal as n } from "./internal/useSelectReveal.js";
3
+ import { FrameBody as r, useInsideFrame as i } from "./internal/frame.js";
4
+ import { SelectAvatar as a } from "./SelectAvatar.js";
5
+ import { SelectListChrome as o, listChromeShape as s } from "./internal/listChrome.js";
6
+ import { Children as c, forwardRef as l, useCallback as u, useId as d, useLayoutEffect as f, useRef as p, useState as m } from "react";
7
+ import { Fragment as h, jsx as g, jsxs as _ } from "react/jsx-runtime";
8
+ //#region src/SelectTable.tsx
9
+ var v = 40, y = 1200, b = 8;
10
+ function x(e) {
11
+ let t = parseFloat(getComputedStyle(document.documentElement).fontSize) || 16;
12
+ return `${Math.round(e / t * 1e3) / 1e3}rem`;
13
+ }
14
+ var S = l(function({ columns: t, children: a, empty: l, footer: h, title: S, help: w, description: T, action: E, filters: D, tools: O, onColumnResize: k, onColumnResizeReset: A, collapsible: j = !1, defaultOpen: M = !0, flush: N = !1, className: P, ...F }, I) {
15
+ let [L, R] = m(M), z = d(), B = j && S != null ? {
16
+ open: L,
17
+ onToggle: () => R((e) => !e),
18
+ controls: z
19
+ } : void 0, V = c.count(a) === 0, H = V && !!l, { hasFilters: U, hasTitleRow: W } = s({
20
+ title: S,
21
+ description: T,
22
+ action: E,
23
+ filters: D,
24
+ tools: O
25
+ }), G = H && !W && !U, K = i(), q = n({
26
+ selector: ".select-table__row",
27
+ y: 8,
28
+ duration: .45,
29
+ stagger: .05,
30
+ scroll: !0
31
+ }), J = t.length ? t.map((e) => e.width ?? `minmax(${e.minWidth ?? "var(--select-table-col-min, 6.5rem)"}, ${e.grow ?? 1}fr)`).join(" ") : "1fr", Y = p(null), X = u((e) => {
32
+ Y.current = e, typeof I == "function" ? I(e) : I && (I.current = e);
33
+ }, [I]);
34
+ f(() => {
35
+ var e;
36
+ (e = Y.current) == null || e.style.setProperty("--select-table-cols", J);
37
+ }, [J]);
38
+ let Z = (e, n) => {
39
+ let r = Y.current;
40
+ if (!r) return;
41
+ let i = t.map((t, r) => r === e ? `${n}px` : t.width ?? `minmax(${t.minWidth ?? "var(--select-table-col-min, 6.5rem)"}, ${t.grow ?? 1}fr)`);
42
+ r.style.setProperty("--select-table-cols", i.join(" "));
43
+ }, Q = (e) => (t) => {
44
+ var n;
45
+ if (!k || t.button !== 0) return;
46
+ let r = (n = t.currentTarget.parentElement) == null ? void 0 : n.getBoundingClientRect();
47
+ if (!r) return;
48
+ let i = t.clientX, a = r.width;
49
+ t.preventDefault(), t.stopPropagation(), t.currentTarget.setPointerCapture(t.pointerId);
50
+ let o = Y.current;
51
+ o == null || o.classList.add("select-table--resizing");
52
+ let s = a, c = (t) => {
53
+ s = Math.min(y, Math.max(v, a + (t.clientX - i))), Z(e, s);
54
+ }, l = () => {
55
+ window.removeEventListener("pointermove", c), window.removeEventListener("pointerup", l), window.removeEventListener("pointercancel", l), o == null || o.classList.remove("select-table--resizing"), k(e, x(s));
56
+ };
57
+ window.addEventListener("pointermove", c), window.addEventListener("pointerup", l), window.addEventListener("pointercancel", l);
58
+ }, $ = (e) => (t) => {
59
+ var n;
60
+ if (!k) return;
61
+ let r = t.key === "ArrowRight" ? 1 : t.key === "ArrowLeft" ? -1 : 0;
62
+ if (r === 0) return;
63
+ let i = (n = t.currentTarget.parentElement) == null ? void 0 : n.getBoundingClientRect();
64
+ if (!i) return;
65
+ t.preventDefault();
66
+ let a = b * (t.shiftKey ? 10 : 1), o = Math.min(y, Math.max(v, i.width + r * a));
67
+ Z(e, o), k(e, x(o));
68
+ };
69
+ return /* @__PURE__ */ _("div", {
70
+ ref: X,
71
+ ...F,
72
+ className: `select-table${G ? " select-table--empty" : ""}${K && !N ? " select-table--nested" : ""}${N ? " select-table--flush" : ""}${B ? ` select-table--collapsible${L ? " is-open" : ""}` : ""}${P ? " " + P : ""}`,
73
+ style: { "--select-table-cols": J },
74
+ children: [/* @__PURE__ */ g(o, {
75
+ title: S,
76
+ help: B ? void 0 : w,
77
+ description: T,
78
+ action: E,
79
+ filters: B ? void 0 : D,
80
+ tools: B ? void 0 : O,
81
+ toggle: B
82
+ }), /* @__PURE__ */ _(C, {
83
+ enabled: !!B,
84
+ open: L,
85
+ id: z,
86
+ children: [
87
+ B && (D != null || O != null) ? /* @__PURE__ */ g(o, {
88
+ filters: D,
89
+ tools: O
90
+ }) : null,
91
+ /* @__PURE__ */ g("div", {
92
+ className: `select-table__scroll${H ? " select-table__scroll--empty" : ""}`,
93
+ children: /* @__PURE__ */ _("div", {
94
+ className: "select-table__scrollinner",
95
+ children: [!H && /* @__PURE__ */ g("div", {
96
+ className: "select-table__head",
97
+ role: "row",
98
+ children: t.map((n, r) => /* @__PURE__ */ _("div", {
99
+ role: "columnheader",
100
+ "aria-sort": n.sortable ? n.sortDir === "asc" ? "ascending" : n.sortDir === "desc" ? "descending" : "none" : void 0,
101
+ className: `select-table__th select-table__cell--${n.align ?? "start"}${n.tone ? ` select-table__th--${n.tone}` : ""}`,
102
+ children: [n.sortable ? /* @__PURE__ */ _("button", {
103
+ type: "button",
104
+ className: `select-table__sortbtn${n.sortDir === "asc" ? " select-table__sortbtn--asc" : ""}${n.sortDir == null ? "" : " select-table__sortbtn--active"}`,
105
+ onClick: n.onSort,
106
+ children: [n.label, /* @__PURE__ */ g(e, {})]
107
+ }) : n.label, k && n.resizable !== !1 && r < t.length - 1 && /* @__PURE__ */ g("span", {
108
+ role: "separator",
109
+ "aria-orientation": "vertical",
110
+ "aria-label": "Ajustar a largura da coluna",
111
+ tabIndex: 0,
112
+ className: "select-table__resizer",
113
+ onPointerDown: Q(r),
114
+ onKeyDown: $(r),
115
+ onDoubleClick: A ? () => A(r) : void 0
116
+ })]
117
+ }, r))
118
+ }), /* @__PURE__ */ g("div", {
119
+ className: "select-table__body",
120
+ children: /* @__PURE__ */ g("div", {
121
+ className: "select-table__rows",
122
+ ref: q,
123
+ children: /* @__PURE__ */ g(r, { children: V && l ? /* @__PURE__ */ g("div", {
124
+ className: "select-table__empty",
125
+ children: l
126
+ }) : a })
127
+ })
128
+ })]
129
+ })
130
+ }),
131
+ h && /* @__PURE__ */ g("div", {
132
+ className: "select-table__footer",
133
+ children: h
134
+ })
135
+ ]
136
+ })]
137
+ });
138
+ });
139
+ function C({ enabled: e, open: t, id: n, children: r }) {
140
+ return e ? /* @__PURE__ */ g("div", {
141
+ className: "select-table__collapse",
142
+ id: n,
143
+ "data-open": t,
144
+ "aria-hidden": !t,
145
+ children: /* @__PURE__ */ g("div", {
146
+ className: "select-table__collapsewrap",
147
+ children: r
148
+ })
149
+ }) : /* @__PURE__ */ g(h, { children: r });
150
+ }
151
+ var w = l(function({ name: e, secondary: t, src: n, badge: r, className: i, ...o }, s) {
152
+ return /* @__PURE__ */ _("span", {
153
+ ref: s,
154
+ ...o,
155
+ className: `select-usercell${i ? " " + i : ""}`,
156
+ children: [/* @__PURE__ */ g(a, {
157
+ name: typeof e == "string" ? e : void 0,
158
+ src: n
159
+ }), /* @__PURE__ */ _("span", {
160
+ className: "select-usercell__text",
161
+ children: [r ? /* @__PURE__ */ _("span", {
162
+ className: "select-usercell__line",
163
+ children: [/* @__PURE__ */ g("span", {
164
+ className: "select-usercell__name",
165
+ children: e
166
+ }), r]
167
+ }) : /* @__PURE__ */ g("span", {
168
+ className: "select-usercell__name",
169
+ children: e
170
+ }), t && /* @__PURE__ */ g("span", {
171
+ className: "select-usercell__secondary",
172
+ children: t
173
+ })]
174
+ })]
175
+ });
176
+ });
177
+ function T({ children: e, onClick: t, expanded: n, nested: r = !1 }) {
178
+ let i = `select-table__row${t ? " select-table__row--clickable" : ""}${r ? " select-table__row--nested" : ""}${n ? " is-expanded" : ""}`;
179
+ return t ? /* @__PURE__ */ g("div", {
180
+ className: i,
181
+ role: "row",
182
+ tabIndex: 0,
183
+ "aria-expanded": n,
184
+ onClick: (e) => {
185
+ D(e.target, e.currentTarget) || t();
186
+ },
187
+ onKeyDown: (e) => {
188
+ e.target !== e.currentTarget || e.key !== "Enter" && e.key !== " " || (e.preventDefault(), t());
189
+ },
190
+ children: e
191
+ }) : /* @__PURE__ */ g("div", {
192
+ className: i,
193
+ role: "row",
194
+ children: e
195
+ });
196
+ }
197
+ var E = "button, a[href], input, select, textarea, label, summary, [role=\"button\"], [role=\"menuitem\"], [role=\"checkbox\"], [role=\"switch\"], [data-row-click=\"ignore\"]";
198
+ function D(e, t) {
199
+ if (!(e instanceof Element) || !t.contains(e)) return !0;
200
+ let n = e.closest(E);
201
+ return n !== null && n !== t && t.contains(n);
202
+ }
203
+ var O = l(function({ children: e, align: n = "start", disclosure: r, className: i, ...a }, o) {
204
+ return /* @__PURE__ */ _("div", {
205
+ ref: o,
206
+ ...a,
207
+ role: "cell",
208
+ className: `select-table__td select-table__cell--${n}${i ? " " + i : ""}`,
209
+ children: [r ? /* @__PURE__ */ g("span", {
210
+ className: `select-table__disclosure${r === "open" ? " is-open" : ""}`,
211
+ "aria-hidden": "true",
212
+ children: r !== "none" && /* @__PURE__ */ g(t, {})
213
+ }) : null, e]
214
+ });
215
+ }), k = l(function({ icon: e, title: t, subtitle: n, action: r, className: i, ...a }, o) {
216
+ return /* @__PURE__ */ _("div", {
217
+ ref: o,
218
+ ...a,
219
+ className: `select-table-empty${i ? " " + i : ""}`,
220
+ children: [
221
+ e && /* @__PURE__ */ g("span", {
222
+ className: "select-table-empty__icon",
223
+ children: e
224
+ }),
225
+ /* @__PURE__ */ g("p", {
226
+ className: "select-table-empty__title",
227
+ children: t
228
+ }),
229
+ n && /* @__PURE__ */ g("p", {
230
+ className: "select-table-empty__subtitle",
231
+ children: n
232
+ }),
233
+ r && /* @__PURE__ */ g("div", {
234
+ className: "select-table-empty__action",
235
+ children: r
236
+ })
237
+ ]
238
+ });
239
+ });
240
+ //#endregion
241
+ export { S as SelectTable, O as SelectTableCell, k as SelectTableEmpty, T as SelectTableRow, w as SelectUserCell };
242
+
243
+ //# sourceMappingURL=SelectTable.js.map
@@ -0,0 +1,63 @@
1
+ import { useLayoutEffect as e, useRef as t, useState as n } from "react";
2
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
3
+ //#region src/SelectTabs.tsx
4
+ function a({ tabs: a, value: o, onChange: s, end: c, className: l, ...u }) {
5
+ let d = t(null), [f, p] = n({
6
+ left: 0,
7
+ width: 0
8
+ });
9
+ e(() => {
10
+ let e = d.current;
11
+ if (!e) return;
12
+ let t = () => {
13
+ let t = e.querySelector(".select-tab--active");
14
+ if (!t) {
15
+ p((e) => e.width === 0 ? e : {
16
+ left: e.left,
17
+ width: 0
18
+ });
19
+ return;
20
+ }
21
+ let n = t.offsetLeft, r = t.offsetWidth;
22
+ p((e) => e.left === n && e.width === r ? e : {
23
+ left: n,
24
+ width: r
25
+ });
26
+ };
27
+ t();
28
+ let n = typeof ResizeObserver < "u" ? new ResizeObserver(t) : null;
29
+ return n == null || n.observe(e), () => n == null ? void 0 : n.disconnect();
30
+ }, [o, a.length]);
31
+ let m = {
32
+ "--tab-ind-left": `${f.left}px`,
33
+ "--tab-ind-width": `${f.width}px`
34
+ };
35
+ return /* @__PURE__ */ i("div", {
36
+ ...u,
37
+ className: `select-tabs${l ? " " + l : ""}`,
38
+ role: "tablist",
39
+ ref: d,
40
+ style: m,
41
+ children: [a.map((e) => {
42
+ let t = e.id === o;
43
+ return /* @__PURE__ */ i("button", {
44
+ type: "button",
45
+ role: "tab",
46
+ "aria-selected": t,
47
+ className: `select-tab${t ? " select-tab--active" : ""}`,
48
+ onClick: () => s(e.id),
49
+ children: [e.dot && /* @__PURE__ */ r("span", {
50
+ className: `select-tab__dot select-tab__dot--${e.dot}`,
51
+ "aria-hidden": "true"
52
+ }), e.label]
53
+ }, e.id);
54
+ }), c != null && /* @__PURE__ */ r("div", {
55
+ className: "select-tabs__end",
56
+ children: c
57
+ })]
58
+ });
59
+ }
60
+ //#endregion
61
+ export { a as SelectTabs };
62
+
63
+ //# sourceMappingURL=SelectTabs.js.map