@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,38 @@
1
+ import { SearchIcon as e } from "./icons.js";
2
+ import { mergeNative as t } from "./internal/nativeProps.js";
3
+ import { useSelectMessages as n } from "./SelectLocale.js";
4
+ import { forwardRef as r } from "react";
5
+ import { jsx as i, jsxs as a } from "react/jsx-runtime";
6
+ //#region src/SelectSearchInput.tsx
7
+ var o = r(function({ value: r, onChange: o, placeholder: s, shortcut: c, inputLabel: l, inputProps: u, inputRef: d, className: f, ...p }, m) {
8
+ let h = n().common.searchPlaceholder, g = s ?? h, _ = t(u, { placeholder: g });
9
+ return /* @__PURE__ */ a("div", {
10
+ ref: m,
11
+ ...p,
12
+ className: `select-search${f ? " " + f : ""}`,
13
+ children: [
14
+ /* @__PURE__ */ i("span", {
15
+ className: "select-search__icon",
16
+ "aria-hidden": "true",
17
+ children: /* @__PURE__ */ i(e, {})
18
+ }),
19
+ /* @__PURE__ */ i("input", {
20
+ ..._,
21
+ ref: d,
22
+ className: "select-search__input",
23
+ type: "search",
24
+ value: r,
25
+ onChange: (e) => o(e.target.value, e),
26
+ "aria-label": l ?? _["aria-label"] ?? g
27
+ }),
28
+ c && /* @__PURE__ */ i("kbd", {
29
+ className: "select-search__kbd",
30
+ children: c
31
+ })
32
+ ]
33
+ });
34
+ });
35
+ //#endregion
36
+ export { o as SelectSearchInput };
37
+
38
+ //# sourceMappingURL=SelectSearchInput.js.map
@@ -0,0 +1,128 @@
1
+ import { CheckIcon as e } from "./icons.js";
2
+ import { useSelectMessages as t } from "./SelectLocale.js";
3
+ import { useSelectReveal as n } from "./internal/useSelectReveal.js";
4
+ import { SelectSearchInput as r } from "./SelectSearchInput.js";
5
+ import { useEffect as i, useRef as a } from "react";
6
+ import { jsx as o, jsxs as s } from "react/jsx-runtime";
7
+ //#region src/SelectSearchMenu.tsx
8
+ var c = "[role=\"option\"]:not([disabled])";
9
+ function l({ search: e, onSearchChange: n, searchPlaceholder: l, status: d, footer: f, width: p = "min(22rem, 86vw)", autoFocus: m = !1, selectFirstOnEnter: h = !1, listMaxHeight: g, children: _ }) {
10
+ let v = t().common.searchPlaceholder, y = l ?? v, b = a(null);
11
+ return i(() => {
12
+ if (!m) return;
13
+ let e = window.setTimeout(() => {
14
+ var e;
15
+ return (e = b.current) == null || (e = e.querySelector("input")) == null ? void 0 : e.focus({ preventScroll: !0 });
16
+ }, 0);
17
+ return () => window.clearTimeout(e);
18
+ }, [m]), /* @__PURE__ */ s("div", {
19
+ ref: b,
20
+ className: "select-combobox__panel select-searchmenu",
21
+ style: { width: p },
22
+ onKeyDown: (e) => {
23
+ let t = b.current;
24
+ if (!t) return;
25
+ let n = t.querySelector("input"), r = Array.from(t.querySelectorAll(c)), i = r.indexOf(document.activeElement);
26
+ if (e.key === "ArrowDown") {
27
+ var a;
28
+ if (r.length === 0) return;
29
+ e.preventDefault(), (a = r[i === -1 ? 0 : Math.min(i + 1, r.length - 1)]) == null || a.focus();
30
+ } else if (e.key === "ArrowUp") {
31
+ var o;
32
+ if (i === -1) return;
33
+ e.preventDefault(), i === 0 ? n == null || n.focus() : (o = r[i - 1]) == null || o.focus();
34
+ } else if ((e.key === "Home" || e.key === "End") && i !== -1) {
35
+ var s;
36
+ e.preventDefault(), (s = r[e.key === "Home" ? 0 : r.length - 1]) == null || s.focus();
37
+ } else if (e.key === "Enter" && h && document.activeElement === n) {
38
+ let t = r[0];
39
+ if (!t) return;
40
+ e.preventDefault(), t.click();
41
+ }
42
+ },
43
+ children: [
44
+ /* @__PURE__ */ o("div", {
45
+ className: "select-combobox__search",
46
+ children: /* @__PURE__ */ o(r, {
47
+ value: e,
48
+ onChange: n,
49
+ placeholder: y
50
+ })
51
+ }),
52
+ d != null && d !== !1 ? /* @__PURE__ */ o("div", {
53
+ className: "select-combobox__empty",
54
+ role: "status",
55
+ children: d
56
+ }) : /* @__PURE__ */ o(u, {
57
+ maxHeight: g,
58
+ children: _
59
+ }),
60
+ f != null && f !== !1 ? /* @__PURE__ */ o("div", {
61
+ className: "select-searchmenu__footer",
62
+ children: f
63
+ }) : null
64
+ ]
65
+ });
66
+ }
67
+ function u({ children: e, maxHeight: t }) {
68
+ let r = n({
69
+ selector: ".select-combobox__option",
70
+ y: 6,
71
+ duration: .3,
72
+ stagger: .02
73
+ });
74
+ return /* @__PURE__ */ o("div", {
75
+ className: "select-combobox__list",
76
+ role: "listbox",
77
+ ref: r,
78
+ style: t ? { maxHeight: t } : void 0,
79
+ children: e
80
+ });
81
+ }
82
+ function d({ label: e, children: t }) {
83
+ return (Array.isArray(t) ? t.some((e) => e != null && e !== !1) : t != null && t !== !1) ? /* @__PURE__ */ s("div", {
84
+ role: "group",
85
+ className: "select-searchmenu__group",
86
+ "aria-label": typeof e == "string" ? e : void 0,
87
+ children: [/* @__PURE__ */ o("div", {
88
+ className: "select-searchmenu__grouplabel",
89
+ "aria-hidden": typeof e == "string" || void 0,
90
+ children: e
91
+ }), t]
92
+ }) : null;
93
+ }
94
+ function f({ label: t, secondary: n, trailing: r, selected: i = !1, disabled: a = !1, onSelect: c }) {
95
+ return /* @__PURE__ */ s("button", {
96
+ type: "button",
97
+ role: "option",
98
+ "aria-selected": i,
99
+ disabled: a,
100
+ className: `select-combobox__option${i ? " is-selected" : ""}`,
101
+ onClick: c,
102
+ children: [
103
+ /* @__PURE__ */ s("span", {
104
+ className: "select-combobox__optiontext",
105
+ children: [/* @__PURE__ */ o("span", {
106
+ className: "select-combobox__optionlabel",
107
+ children: t
108
+ }), n != null && n !== "" ? /* @__PURE__ */ o("span", {
109
+ className: "select-combobox__optionsecondary",
110
+ children: n
111
+ }) : null]
112
+ }),
113
+ r != null && r !== "" ? /* @__PURE__ */ o("span", {
114
+ className: "select-searchmenu__trailing",
115
+ children: r
116
+ }) : null,
117
+ i ? /* @__PURE__ */ o("span", {
118
+ className: "select-combobox__check",
119
+ "aria-hidden": "true",
120
+ children: /* @__PURE__ */ o(e, {})
121
+ }) : null
122
+ ]
123
+ });
124
+ }
125
+ //#endregion
126
+ export { l as SelectSearchMenu, d as SelectSearchMenuGroup, f as SelectSearchMenuOption };
127
+
128
+ //# sourceMappingURL=SelectSearchMenu.js.map
@@ -0,0 +1,83 @@
1
+ /* empty css */
2
+ import { ChevronDownIcon as e } from "./icons.js";
3
+ import { SelectInfoTip as t } from "./SelectInfoTip.js";
4
+ import { FrameBody as n, useInsideFrame as r } from "./internal/frame.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/SelectSection.tsx
8
+ var c = i(function({ title: i, help: c, description: l, action: u, collapsible: d = !1, defaultOpen: f = !0, footer: p, flush: m = !1, children: h, className: g, ..._ }, v) {
9
+ let [y, b] = a(f), x = (r() ? " select-section--nested" : "") + (m ? " select-section--flush" : "");
10
+ return d ? /* @__PURE__ */ s("div", {
11
+ ref: v,
12
+ ..._,
13
+ className: `select-section select-section--collapsible${x}${y ? " is-open" : ""}${g ? " " + g : ""}`,
14
+ children: [/* @__PURE__ */ s("button", {
15
+ type: "button",
16
+ className: "select-section__head select-section__head--toggle",
17
+ "aria-expanded": y,
18
+ onClick: () => b((e) => !e),
19
+ children: [/* @__PURE__ */ s("span", {
20
+ className: "select-section__heading",
21
+ children: [i && /* @__PURE__ */ o("span", {
22
+ className: "select-section__title",
23
+ children: i
24
+ }), l && /* @__PURE__ */ o("span", {
25
+ className: "select-section__desc",
26
+ children: l
27
+ })]
28
+ }), /* @__PURE__ */ o("span", {
29
+ className: "select-section__chevron",
30
+ "aria-hidden": "true",
31
+ children: /* @__PURE__ */ o(e, {})
32
+ })]
33
+ }), /* @__PURE__ */ o("div", {
34
+ className: "select-section__collapse",
35
+ "data-open": y,
36
+ "aria-hidden": !y,
37
+ children: /* @__PURE__ */ s("div", {
38
+ className: "select-section__collapsewrap",
39
+ children: [/* @__PURE__ */ o("div", {
40
+ className: "select-section__body",
41
+ children: /* @__PURE__ */ o(n, { children: h })
42
+ }), p != null && p !== "" && /* @__PURE__ */ o("div", {
43
+ className: "select-section__foot",
44
+ children: p
45
+ })]
46
+ })
47
+ })]
48
+ }) : /* @__PURE__ */ s("div", {
49
+ ref: v,
50
+ ..._,
51
+ className: `select-section${x}${g ? " " + g : ""}`,
52
+ children: [
53
+ (i || l || u) && /* @__PURE__ */ s("div", {
54
+ className: "select-section__head",
55
+ children: [/* @__PURE__ */ s("div", {
56
+ className: "select-section__heading",
57
+ children: [i && /* @__PURE__ */ s("h2", {
58
+ className: `select-section__title${c == null ? "" : " select-section__title--help"}`,
59
+ children: [i, c != null && /* @__PURE__ */ o(t, { content: c })]
60
+ }), l && /* @__PURE__ */ o("p", {
61
+ className: "select-section__desc",
62
+ children: l
63
+ })]
64
+ }), u ? /* @__PURE__ */ o("div", {
65
+ className: "select-section__action",
66
+ children: u
67
+ }) : null]
68
+ }),
69
+ /* @__PURE__ */ o("div", {
70
+ className: "select-section__body",
71
+ children: /* @__PURE__ */ o(n, { children: h })
72
+ }),
73
+ p != null && p !== "" && /* @__PURE__ */ o("div", {
74
+ className: "select-section__foot",
75
+ children: p
76
+ })
77
+ ]
78
+ });
79
+ });
80
+ //#endregion
81
+ export { c as SelectSection };
82
+
83
+ //# sourceMappingURL=SelectSection.js.map
@@ -0,0 +1,95 @@
1
+ import { forwardRef as e, useId as t, useLayoutEffect as n, useRef as r, useState as i } from "react";
2
+ import { jsx as a, jsxs as o } from "react/jsx-runtime";
3
+ //#region src/SelectSegmented.tsx
4
+ var s = e(function({ value: e, onChange: s, options: c, ariaLabel: l, fullWidth: u = !1, label: d, hint: f, disabled: p = !1, error: m, className: h, ...g }, _) {
5
+ let v = t(), y = Math.max(0, c.findIndex((t) => t.value === e)), b = r([]), [x, S] = i(null), C = c.map((e) => e.count ?? "").join(",");
6
+ n(() => {
7
+ let e = () => {
8
+ let e = b.current[y];
9
+ if (!e) return;
10
+ let t = {
11
+ left: e.offsetLeft,
12
+ width: e.offsetWidth
13
+ };
14
+ S((e) => e && e.left === t.left && e.width === t.width ? e : t);
15
+ };
16
+ e();
17
+ let t = typeof ResizeObserver < "u" ? new ResizeObserver(e) : null;
18
+ return b.current.forEach((e) => e && (t == null ? void 0 : t.observe(e))), () => t == null ? void 0 : t.disconnect();
19
+ }, [
20
+ y,
21
+ c.length,
22
+ C
23
+ ]);
24
+ let w = x ? {
25
+ left: x.left,
26
+ width: x.width,
27
+ opacity: 1
28
+ } : { opacity: 0 }, T = /* @__PURE__ */ o("div", {
29
+ ref: d == null ? _ : void 0,
30
+ ...d == null ? g : {},
31
+ className: `select-segmented${u ? " select-segmented--full" : ""}${p ? " select-segmented--disabled" : ""}${m != null && m !== !1 ? " select-segmented--error" : ""}${d == null && h ? " " + h : ""}`,
32
+ role: "tablist",
33
+ "aria-label": l,
34
+ "aria-labelledby": d != null && !l ? v : void 0,
35
+ "aria-disabled": p || void 0,
36
+ children: [/* @__PURE__ */ a("span", {
37
+ className: "select-segmented__pill",
38
+ "aria-hidden": "true",
39
+ style: w
40
+ }), c.map((t, n) => {
41
+ let r = t.value === e, i = !!t.count && t.count > 0, c = t.title && i ? `${t.title}, ${t.countLabel ?? t.count}` : t.title;
42
+ return /* @__PURE__ */ o("button", {
43
+ ref: (e) => {
44
+ b.current[n] = e;
45
+ },
46
+ type: "button",
47
+ role: "tab",
48
+ "aria-selected": r,
49
+ className: `select-segmented__item${r ? " select-segmented__item--active" : ""}`,
50
+ title: t.title,
51
+ "aria-label": c,
52
+ disabled: p,
53
+ onClick: () => s(t.value),
54
+ children: [t.label, i ? /* @__PURE__ */ a("span", {
55
+ className: "select-segmented__count",
56
+ "aria-hidden": t.title ? !0 : void 0,
57
+ children: t.count
58
+ }) : null]
59
+ }, t.value);
60
+ })]
61
+ }), E = m != null && m !== !1 && m !== "";
62
+ return d == null && !E ? T : d == null ? /* @__PURE__ */ o("div", {
63
+ className: "select-field",
64
+ children: [T, /* @__PURE__ */ a("p", {
65
+ className: "select-field__error",
66
+ children: m
67
+ })]
68
+ }) : /* @__PURE__ */ o("div", {
69
+ ref: _,
70
+ ...g,
71
+ className: `select-field${h ? " " + h : ""}`,
72
+ children: [
73
+ /* @__PURE__ */ a("div", {
74
+ className: "select-field__labelrow",
75
+ children: /* @__PURE__ */ a("span", {
76
+ className: "select-field__label",
77
+ id: v,
78
+ children: d
79
+ })
80
+ }),
81
+ T,
82
+ E ? /* @__PURE__ */ a("p", {
83
+ className: "select-field__error",
84
+ children: m
85
+ }) : f != null && /* @__PURE__ */ a("p", {
86
+ className: "select-field__hint",
87
+ children: f
88
+ })
89
+ ]
90
+ });
91
+ });
92
+ //#endregion
93
+ export { s as SelectSegmented };
94
+
95
+ //# sourceMappingURL=SelectSegmented.js.map
@@ -1,21 +1,35 @@
1
- import { ReactNode, ComponentPropsWithoutRef } from 'react';
1
+ import { ChangeEvent, ReactNode, Ref, SelectHTMLAttributes, ComponentPropsWithoutRef } from 'react';
2
2
  export interface SelectSelectOption {
3
3
  label: string;
4
4
  value: string;
5
5
  disabled?: boolean;
6
6
  }
7
7
  type SelectSelectOwnProps = {
8
- label?: string;
8
+ /** 0.1.198: aceita um nó. */
9
+ label?: ReactNode;
9
10
  value: string;
10
- onChange: (value: string) => void;
11
- options: SelectSelectOption[];
11
+ /** O valor novo e, desde a 0.1.198, o evento nativo. */
12
+ onChange: (value: string, event: ChangeEvent<HTMLSelectElement>) => void;
13
+ /** As opções. Desde a 0.1.198, ou elas ou os `<option>`/`<optgroup>` em `children` (os grupos de um seletor longo). */
14
+ options?: SelectSelectOption[];
15
+ /** 0.1.198: os `<option>` e `<optgroup>` nativos, no lugar de `options`. */
16
+ children?: ReactNode;
17
+ /** 0.1.198: o "(opcional)" depois do rótulo. */
18
+ optional?: boolean;
19
+ /** 0.1.198: os atributos nativos do `<select>` (o `form`, o `autoFocus`, o `aria-*`…). */
20
+ selectProps?: Omit<SelectHTMLAttributes<HTMLSelectElement>, 'value' | 'defaultValue' | 'onChange' | 'id' | 'className' | 'children'>;
21
+ /** 0.1.198: a referência do `<select>`. */
22
+ selectRef?: Ref<HTMLSelectElement>;
23
+ /** 0.1.198: o id do `<select>` (um rótulo de fora aponta para ele). */
24
+ id?: string;
12
25
  labelAction?: ReactNode;
13
26
  /** Ajuda contextual: vira o "!" (SelectInfoTip) ao lado do rotulo. Use para o que
14
27
  * explica a plataforma; `hint` e so restricao/estado do proprio campo. */
15
28
  help?: ReactNode;
16
29
  info?: string;
17
30
  description?: ReactNode;
18
- hint?: string;
31
+ /** 0.1.198: aceita um nó (um link). */
32
+ hint?: ReactNode;
19
33
  error?: string;
20
34
  placeholder?: string;
21
35
  name?: string;
@@ -0,0 +1,84 @@
1
+ import { ChevronDownIcon as e, InfoIcon as t } from "./icons.js";
2
+ import { joinIds as n, mergeNative as r } from "./internal/nativeProps.js";
3
+ import { useSelectMessages as i } from "./SelectLocale.js";
4
+ import { SelectInfoTip as a } from "./SelectInfoTip.js";
5
+ import { forwardRef as o, useId as s } from "react";
6
+ import { jsx as c, jsxs as l } from "react/jsx-runtime";
7
+ //#region src/SelectSelect.tsx
8
+ var u = o(function({ label: o, value: u, onChange: d, options: f = [], children: p, labelAction: m, help: h, info: g, description: _, hint: v, error: y, placeholder: b, name: x, required: S, disabled: C, size: w = "md", ariaLabel: T, optional: E = !1, selectProps: D, selectRef: O, id: k, className: A, ...j }, M) {
9
+ let N = i(), P = s(), F = k ?? P, I = y ? `${F}-err` : v ? `${F}-hint` : void 0, L = r(D, {
10
+ name: x,
11
+ required: S,
12
+ disabled: C
13
+ });
14
+ return /* @__PURE__ */ l("div", {
15
+ ref: M,
16
+ ...j,
17
+ className: `select-field${w === "sm" ? " select-field--sm" : ""}${A ? " " + A : ""}`,
18
+ children: [
19
+ (o || h || g || m) && /* @__PURE__ */ l("div", {
20
+ className: "select-field__labelrow",
21
+ children: [/* @__PURE__ */ l("span", {
22
+ className: "select-field__labelwrap",
23
+ children: [o && /* @__PURE__ */ l("label", {
24
+ className: "select-field__label",
25
+ htmlFor: F,
26
+ children: [o, E && /* @__PURE__ */ l("span", {
27
+ className: "select-field__optional",
28
+ children: [" ", N.common.optional]
29
+ })]
30
+ }), h != null && h !== "" ? /* @__PURE__ */ c(a, { content: h }) : g && /* @__PURE__ */ c("span", {
31
+ className: "select-field__info",
32
+ title: g,
33
+ "aria-label": g,
34
+ children: /* @__PURE__ */ c(t, {})
35
+ })]
36
+ }), m]
37
+ }),
38
+ _ && /* @__PURE__ */ c("p", {
39
+ className: "select-field__desc",
40
+ children: _
41
+ }),
42
+ /* @__PURE__ */ l("div", {
43
+ className: "select-select-wrap",
44
+ children: [/* @__PURE__ */ l("select", {
45
+ ...L,
46
+ ref: O,
47
+ id: F,
48
+ className: `select-input select-select${y ? " select-input--error" : ""}`,
49
+ value: u,
50
+ onChange: (e) => d(e.target.value, e),
51
+ "aria-invalid": y ? !0 : L["aria-invalid"],
52
+ "aria-describedby": n(I, D == null ? void 0 : D["aria-describedby"]),
53
+ "aria-label": o ? void 0 : T ?? L["aria-label"],
54
+ children: [b && /* @__PURE__ */ c("option", {
55
+ value: "",
56
+ disabled: !0,
57
+ children: b
58
+ }), p ?? f.map((e) => /* @__PURE__ */ c("option", {
59
+ value: e.value,
60
+ disabled: e.disabled,
61
+ children: e.label
62
+ }, e.value))]
63
+ }), /* @__PURE__ */ c("span", {
64
+ className: "select-select-caret",
65
+ "aria-hidden": "true",
66
+ children: /* @__PURE__ */ c(e, {})
67
+ })]
68
+ }),
69
+ y ? /* @__PURE__ */ c("p", {
70
+ id: `${F}-err`,
71
+ className: "select-field__error",
72
+ children: y
73
+ }) : v ? /* @__PURE__ */ c("p", {
74
+ id: `${F}-hint`,
75
+ className: "select-field__hint",
76
+ children: v
77
+ }) : null
78
+ ]
79
+ });
80
+ });
81
+ //#endregion
82
+ export { u as SelectSelect };
83
+
84
+ //# sourceMappingURL=SelectSelect.js.map
@@ -0,0 +1,54 @@
1
+ import { forwardRef as e } from "react";
2
+ import { jsx as t, jsxs as n } from "react/jsx-runtime";
3
+ //#region src/SelectSetting.tsx
4
+ var r = e(function({ children: e, className: n, ...r }, i) {
5
+ return /* @__PURE__ */ t("div", {
6
+ ref: i,
7
+ ...r,
8
+ className: `select-settinglist${n ? " " + n : ""}`,
9
+ children: e
10
+ });
11
+ }), i = e(function({ control: e, title: r, badge: i, description: a, children: o, bodyOpen: s, className: c, ...l }, u) {
12
+ return /* @__PURE__ */ n("div", {
13
+ ref: u,
14
+ ...l,
15
+ className: `select-setting${c ? " " + c : ""}`,
16
+ children: [e && /* @__PURE__ */ t("div", {
17
+ className: "select-setting__control",
18
+ children: e
19
+ }), /* @__PURE__ */ n("div", {
20
+ className: "select-setting__main",
21
+ children: [
22
+ /* @__PURE__ */ n("div", {
23
+ className: "select-setting__head",
24
+ children: [/* @__PURE__ */ t("span", {
25
+ className: "select-setting__title",
26
+ children: r
27
+ }), i]
28
+ }),
29
+ a && /* @__PURE__ */ t("p", {
30
+ className: "select-setting__desc",
31
+ children: a
32
+ }),
33
+ o && (s === void 0 ? /* @__PURE__ */ t("div", {
34
+ className: "select-setting__body",
35
+ children: o
36
+ }) : /* @__PURE__ */ t("div", {
37
+ className: `select-setting__bodywrap${s ? " is-open" : ""}`,
38
+ children: /* @__PURE__ */ t("div", {
39
+ className: "select-setting__bodyclip",
40
+ "aria-hidden": !s,
41
+ children: /* @__PURE__ */ t("div", {
42
+ className: "select-setting__body",
43
+ children: o
44
+ })
45
+ })
46
+ }))
47
+ ]
48
+ })]
49
+ });
50
+ });
51
+ //#endregion
52
+ export { r as SelectSettingList, i as SelectSettingRow };
53
+
54
+ //# sourceMappingURL=SelectSetting.js.map