@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
package/README.md CHANGED
@@ -46,7 +46,7 @@ Peer deps: **react**, **react-dom** (obrigatórios); **gsap** (opcional — só
46
46
  ## Build
47
47
 
48
48
  ```bash
49
- npm run build # → dist/index.js (ESM) + dist/style.css + dist/index.d.ts
49
+ npm run build # → dist/index.js (o barril) + um módulo ESM por componente + dist/style.css + os .d.ts
50
50
  ```
51
51
 
52
52
  `npm publish` roda `prepublishOnly` (= build) e publica só `dist/` (sem sourcemaps).
@@ -0,0 +1,54 @@
1
+ /* empty css */
2
+ import { ChevronDownIcon as e } from "./icons.js";
3
+ import { forwardRef as t, useState as n } from "react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ //#region src/SelectAccordion.tsx
6
+ var a = t(function({ items: t, multiple: a = !1, defaultOpenIds: o = [], className: s, ...c }, l) {
7
+ let [u, d] = n(() => new Set(o)), f = (e) => d((t) => {
8
+ let n = t.has(e), r = new Set(a ? t : []);
9
+ return n ? r.delete(e) : r.add(e), r;
10
+ });
11
+ return /* @__PURE__ */ r("div", {
12
+ ref: l,
13
+ ...c,
14
+ className: `select-accordion${s ? " " + s : ""}`,
15
+ children: t.map((t) => {
16
+ let n = u.has(t.id);
17
+ return /* @__PURE__ */ i("div", {
18
+ className: "select-accordion__item",
19
+ children: [/* @__PURE__ */ i("button", {
20
+ type: "button",
21
+ className: "select-accordion__header",
22
+ "aria-expanded": n,
23
+ "aria-controls": `select-acc-${t.id}`,
24
+ disabled: t.disabled,
25
+ onClick: () => f(t.id),
26
+ children: [/* @__PURE__ */ r("span", {
27
+ className: "select-accordion__title",
28
+ children: t.title
29
+ }), /* @__PURE__ */ r("span", {
30
+ className: `select-accordion__chevron${n ? " is-open" : ""}`,
31
+ "aria-hidden": "true",
32
+ children: /* @__PURE__ */ r(e, {})
33
+ })]
34
+ }), /* @__PURE__ */ r("div", {
35
+ id: `select-acc-${t.id}`,
36
+ className: "select-accordion__collapse",
37
+ "data-open": n,
38
+ "aria-hidden": !n,
39
+ children: /* @__PURE__ */ r("div", {
40
+ className: "select-accordion__panelwrap",
41
+ children: /* @__PURE__ */ r("div", {
42
+ className: "select-accordion__panel",
43
+ children: t.content
44
+ })
45
+ })
46
+ })]
47
+ }, t.id);
48
+ })
49
+ });
50
+ });
51
+ //#endregion
52
+ export { a as SelectAccordion };
53
+
54
+ //# sourceMappingURL=SelectAccordion.js.map
@@ -0,0 +1,45 @@
1
+ import { CloseIcon as e } from "./icons.js";
2
+ import { SelectIconButton as t } from "./SelectIconButton.js";
3
+ import { forwardRef as n } from "react";
4
+ import { jsx as r, jsxs as i } from "react/jsx-runtime";
5
+ //#region src/SelectActionCard.tsx
6
+ var a = n(function({ icon: n, title: a, description: o, action: s, onDismiss: c, className: l, ...u }, d) {
7
+ return /* @__PURE__ */ i("div", {
8
+ ref: d,
9
+ ...u,
10
+ className: `select-actioncard${l ? " " + l : ""}`,
11
+ children: [
12
+ c && /* @__PURE__ */ r("div", {
13
+ className: "select-actioncard__dismiss",
14
+ children: /* @__PURE__ */ r(t, {
15
+ size: "sm",
16
+ icon: /* @__PURE__ */ r(e, {}),
17
+ label: "Dispensar",
18
+ onClick: c
19
+ })
20
+ }),
21
+ n && /* @__PURE__ */ r("span", {
22
+ className: "select-actioncard__icon",
23
+ children: n
24
+ }),
25
+ /* @__PURE__ */ i("div", {
26
+ className: "select-actioncard__text",
27
+ children: [/* @__PURE__ */ r("h4", {
28
+ className: "select-actioncard__title",
29
+ children: a
30
+ }), o && /* @__PURE__ */ r("p", {
31
+ className: "select-actioncard__desc",
32
+ children: o
33
+ })]
34
+ }),
35
+ s && /* @__PURE__ */ r("div", {
36
+ className: "select-actioncard__action",
37
+ children: s
38
+ })
39
+ ]
40
+ });
41
+ });
42
+ //#endregion
43
+ export { a as SelectActionCard };
44
+
45
+ //# sourceMappingURL=SelectActionCard.js.map
@@ -0,0 +1,55 @@
1
+ import { useEffect as e, useRef as t } from "react";
2
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
3
+ //#region src/SelectActionList.tsx
4
+ function i({ items: i, sections: a, onAction: o, autoFocus: s = !0, className: c, ...l }) {
5
+ let u = t(null), d = a ?? (i ? [{ items: i }] : []);
6
+ e(() => {
7
+ var e;
8
+ s && ((e = u.current) == null || (e = e.querySelector("[role=\"menuitem\"]:not(:disabled)")) == null || e.focus({ preventScroll: !0 }));
9
+ }, [s]);
10
+ let f = (e) => {
11
+ let t = u.current;
12
+ if (!t) return;
13
+ let n = Array.from(t.querySelectorAll("[role=\"menuitem\"]:not(:disabled)"));
14
+ if (n.length === 0) return;
15
+ let r = n.indexOf(document.activeElement);
16
+ e.key === "ArrowDown" ? (e.preventDefault(), (n[(r + 1) % n.length] ?? n[0]).focus()) : e.key === "ArrowUp" ? (e.preventDefault(), (n[(r - 1 + n.length) % n.length] ?? n[0]).focus()) : e.key === "Home" ? (e.preventDefault(), n[0].focus()) : e.key === "End" && (e.preventDefault(), n[n.length - 1].focus());
17
+ };
18
+ return /* @__PURE__ */ n("div", {
19
+ ...l,
20
+ className: `select-actionlist${c ? " " + c : ""}`,
21
+ role: "menu",
22
+ ref: u,
23
+ onKeyDown: f,
24
+ children: d.map((e, t) => /* @__PURE__ */ r("div", {
25
+ className: "select-actionlist__section",
26
+ role: "group",
27
+ "aria-label": e.title,
28
+ children: [e.title && /* @__PURE__ */ n("div", {
29
+ className: "select-actionlist__title",
30
+ children: e.title
31
+ }), e.items.map((e, t) => /* @__PURE__ */ r("button", {
32
+ type: "button",
33
+ role: "menuitem",
34
+ tabIndex: -1,
35
+ disabled: e.disabled,
36
+ className: `select-menu__item${e.destructive ? " select-menu__item--critical" : ""}`,
37
+ onClick: () => {
38
+ var t;
39
+ (t = e.onAction) == null || t.call(e), o == null || o();
40
+ },
41
+ children: [e.icon && /* @__PURE__ */ n("span", {
42
+ className: "select-menu__icon",
43
+ children: e.icon
44
+ }), /* @__PURE__ */ n("span", {
45
+ className: "select-menu__label",
46
+ children: e.content
47
+ })]
48
+ }, t))]
49
+ }, t))
50
+ });
51
+ }
52
+ //#endregion
53
+ export { i as SelectActionList };
54
+
55
+ //# sourceMappingURL=SelectActionList.js.map
@@ -0,0 +1,33 @@
1
+ import { SelectButton as e } from "./SelectButton.js";
2
+ import { ChevronDownIcon as t } from "./icons.js";
3
+ import { useSelectMessages as n } from "./SelectLocale.js";
4
+ import { SelectPopover as r } from "./SelectPopover.js";
5
+ import { SelectActionList as i } from "./SelectActionList.js";
6
+ import { useState as a } from "react";
7
+ import { jsx as o } from "react/jsx-runtime";
8
+ //#region src/SelectActionMenu.tsx
9
+ function s({ items: s, label: c, disabled: l }) {
10
+ let u = n().common.actions, d = c ?? u, [f, p] = a(!1);
11
+ return /* @__PURE__ */ o(r, {
12
+ active: f,
13
+ onClose: () => p(!1),
14
+ placement: "bottom-end",
15
+ activator: /* @__PURE__ */ o(e, {
16
+ variant: "secondary",
17
+ size: "sm",
18
+ inline: !0,
19
+ trailingIcon: /* @__PURE__ */ o(t, {}),
20
+ disabled: l,
21
+ onClick: () => p((e) => !e),
22
+ children: d
23
+ }),
24
+ children: /* @__PURE__ */ o(i, {
25
+ items: s,
26
+ onAction: () => p(!1)
27
+ })
28
+ });
29
+ }
30
+ //#endregion
31
+ export { s as SelectActionMenu };
32
+
33
+ //# sourceMappingURL=SelectActionMenu.js.map
@@ -0,0 +1,22 @@
1
+ import { PlusIcon as e } from "./icons.js";
2
+ import { forwardRef as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/SelectAddButton.tsx
5
+ var i = t(function({ children: t, onClick: i, icon: a, className: o, ...s }, c) {
6
+ return /* @__PURE__ */ r("button", {
7
+ ref: c,
8
+ ...s,
9
+ type: "button",
10
+ className: `select-addbtn${o ? " " + o : ""}`,
11
+ onClick: i,
12
+ children: [/* @__PURE__ */ n("span", {
13
+ className: "select-addbtn__icon",
14
+ "aria-hidden": "true",
15
+ children: a ?? /* @__PURE__ */ n(e, {})
16
+ }), t]
17
+ });
18
+ });
19
+ //#endregion
20
+ export { i as SelectAddButton };
21
+
22
+ //# sourceMappingURL=SelectAddButton.js.map
@@ -0,0 +1,32 @@
1
+ import { PlusIcon as e } from "./icons.js";
2
+ import { forwardRef as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/SelectAddCard.tsx
5
+ var i = t(function({ label: t, description: i, onClick: a, icon: o, className: s, ...c }, l) {
6
+ return /* @__PURE__ */ r("button", {
7
+ ref: l,
8
+ ...c,
9
+ type: "button",
10
+ className: `select-addcard${s ? " " + s : ""}`,
11
+ onClick: a,
12
+ children: [
13
+ /* @__PURE__ */ n("span", {
14
+ className: "select-addcard__glyph",
15
+ "aria-hidden": "true",
16
+ children: o ?? /* @__PURE__ */ n(e, {})
17
+ }),
18
+ /* @__PURE__ */ n("span", {
19
+ className: "select-addcard__label",
20
+ children: t
21
+ }),
22
+ i && /* @__PURE__ */ n("span", {
23
+ className: "select-addcard__desc",
24
+ children: i
25
+ })
26
+ ]
27
+ });
28
+ });
29
+ //#endregion
30
+ export { i as SelectAddCard };
31
+
32
+ //# sourceMappingURL=SelectAddCard.js.map
@@ -0,0 +1,36 @@
1
+ import { WarningIcon as e } from "./icons.js";
2
+ import { forwardRef as t } from "react";
3
+ import { jsx as n, jsxs as r } from "react/jsx-runtime";
4
+ //#region src/SelectAlert.tsx
5
+ var i = t(function({ children: t, tone: i = "critical", title: a, action: o, className: s, ...c }, l) {
6
+ let u = i === "critical";
7
+ return /* @__PURE__ */ r("div", {
8
+ ref: l,
9
+ ...c,
10
+ className: `select-alert select-alert--${i}${u ? " select-alert--icon" : ""}${s ? " " + s : ""}`,
11
+ role: "alert",
12
+ children: [
13
+ u && /* @__PURE__ */ n("span", {
14
+ className: "select-alert__icon",
15
+ "aria-hidden": "true",
16
+ children: /* @__PURE__ */ n(e, {})
17
+ }),
18
+ a != null && /* @__PURE__ */ n("p", {
19
+ className: "select-alert__title",
20
+ children: a
21
+ }),
22
+ t != null && /* @__PURE__ */ n("div", {
23
+ className: "select-alert__body",
24
+ children: t
25
+ }),
26
+ o != null && /* @__PURE__ */ n("div", {
27
+ className: "select-alert__action",
28
+ children: o
29
+ })
30
+ ]
31
+ });
32
+ });
33
+ //#endregion
34
+ export { i as SelectAlert };
35
+
36
+ //# sourceMappingURL=SelectAlert.js.map
@@ -0,0 +1,184 @@
1
+ /* empty css */
2
+ import { CloseIcon as e, SendIcon as t } from "./icons.js";
3
+ import { useSelectMessages as n } from "./SelectLocale.js";
4
+ import { useEffect as r, useId as i, useRef as a, useState as o } from "react";
5
+ import { jsx as s, jsxs as c } from "react/jsx-runtime";
6
+ //#region src/SelectAssistant.tsx
7
+ var l = 240;
8
+ function u({ open: u, onOpenChange: d, icon: f, title: h, subtitle: g, launcherLabel: _, badge: v, children: y, scrollKey: b, suggestions: x, onSuggestion: S, onSend: C, placeholder: w, disabled: T = !1, typing: E = !1, headerAction: D, anchor: O = "viewport", closeLabel: k, sendLabel: A, inputLabel: j, className: M }) {
9
+ let N = n(), P = k ?? N.common.close, F = A ?? N.assistant.send, I = j ?? N.assistant.input, L = i(), R = a(null), z = a(null), B = a(null), [V, H] = o(""), U = a(0), W = E !== !1;
10
+ r(() => {
11
+ let e = R.current;
12
+ if (!u || !e) {
13
+ U.current = 0;
14
+ return;
15
+ }
16
+ let t = U.current === 0, n = e.children[U.current];
17
+ U.current = e.children.length;
18
+ let r = e.querySelectorAll(":scope > .select-chat__turn"), i = r.length > 0 ? r[r.length - 1] : null;
19
+ if (!i && n && !t) {
20
+ let e = n.previousElementSibling;
21
+ i = e != null && e.classList.contains("select-chat__msg--user") ? e : n;
22
+ }
23
+ let a = e.scrollHeight - e.clientHeight, o = i ? Math.min(a, i.getBoundingClientRect().top - e.getBoundingClientRect().top + e.scrollTop - 12) : a;
24
+ t ? e.scrollTop = o : o > e.scrollTop + 1 && (typeof e.scrollTo == "function" ? e.scrollTo({
25
+ top: o,
26
+ behavior: m() ? "auto" : "smooth"
27
+ }) : e.scrollTop = o);
28
+ }, [
29
+ u,
30
+ b,
31
+ W
32
+ ]), r(() => {
33
+ var e;
34
+ u && typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(hover: hover) and (pointer: fine)").matches && ((e = z.current) == null || e.focus());
35
+ }, [u]);
36
+ let G = () => {
37
+ var e;
38
+ d(!1), (e = B.current) == null || e.focus();
39
+ }, K = (e) => {
40
+ e.key === "Escape" && (e.stopPropagation(), G());
41
+ }, q = (e) => {
42
+ e.preventDefault();
43
+ let t = V.trim();
44
+ !t || T || W || (C == null || C(t), H(""));
45
+ }, J = typeof v == "number" && v > 0;
46
+ return /* @__PURE__ */ c("div", {
47
+ className: "select-assistant" + (O === "container" ? " select-assistant--container" : "") + (u ? " is-open" : "") + (M ? " " + M : ""),
48
+ children: [u && /* @__PURE__ */ c("section", {
49
+ id: L,
50
+ className: "select-assistant__panel",
51
+ role: "dialog",
52
+ "aria-modal": "false",
53
+ "aria-label": typeof h == "string" ? h : _,
54
+ onKeyDown: K,
55
+ children: [
56
+ /* @__PURE__ */ c("header", {
57
+ className: "select-assistant__head",
58
+ children: [
59
+ /* @__PURE__ */ s("span", {
60
+ className: "select-assistant__mark",
61
+ "aria-hidden": "true",
62
+ children: f
63
+ }),
64
+ /* @__PURE__ */ c("div", {
65
+ className: "select-assistant__heading",
66
+ children: [/* @__PURE__ */ s("span", {
67
+ className: "select-assistant__title",
68
+ children: h
69
+ }), g != null && /* @__PURE__ */ s("span", {
70
+ className: "select-assistant__subtitle",
71
+ children: g
72
+ })]
73
+ }),
74
+ D,
75
+ /* @__PURE__ */ s("button", {
76
+ type: "button",
77
+ className: "select-assistant__close",
78
+ onClick: G,
79
+ "aria-label": P,
80
+ title: P,
81
+ children: /* @__PURE__ */ s(e, {})
82
+ })
83
+ ]
84
+ }),
85
+ /* @__PURE__ */ c("div", {
86
+ ref: R,
87
+ className: "select-assistant__body",
88
+ role: "log",
89
+ "aria-live": "polite",
90
+ children: [y, W ? /* @__PURE__ */ s(p, { label: typeof E == "string" ? E : void 0 }) : null]
91
+ }),
92
+ (C || x && x.length > 0) && /* @__PURE__ */ c("footer", {
93
+ className: "select-assistant__foot",
94
+ children: [x && x.length > 0 && /* @__PURE__ */ s("div", {
95
+ className: "select-assistant__suggestions",
96
+ children: x.map((e) => /* @__PURE__ */ s("button", {
97
+ type: "button",
98
+ className: "select-assistant__chip",
99
+ disabled: T || W,
100
+ onClick: () => S == null ? void 0 : S(e.id),
101
+ children: e.label
102
+ }, e.id))
103
+ }), C && /* @__PURE__ */ c("form", {
104
+ className: "select-assistant__composer",
105
+ onSubmit: q,
106
+ children: [/* @__PURE__ */ s("input", {
107
+ ref: z,
108
+ className: "select-assistant__input",
109
+ type: "text",
110
+ value: V,
111
+ onChange: (e) => H(e.target.value),
112
+ placeholder: w,
113
+ "aria-label": I,
114
+ maxLength: l,
115
+ autoComplete: "off",
116
+ enterKeyHint: "send",
117
+ disabled: T
118
+ }), /* @__PURE__ */ s("button", {
119
+ type: "submit",
120
+ className: "select-assistant__send",
121
+ disabled: T || W || V.trim() === "",
122
+ "aria-label": F,
123
+ title: F,
124
+ children: /* @__PURE__ */ s(t, {})
125
+ })]
126
+ })]
127
+ })
128
+ ]
129
+ }), /* @__PURE__ */ c("button", {
130
+ ref: B,
131
+ type: "button",
132
+ className: "select-assistant__launcher",
133
+ onClick: () => d(!u),
134
+ "aria-expanded": u,
135
+ "aria-controls": u ? L : void 0,
136
+ "aria-label": J ? `${_} (${v})` : _,
137
+ title: _,
138
+ children: [u ? /* @__PURE__ */ s(e, {}) : f, J && !u && /* @__PURE__ */ s("span", {
139
+ className: "select-assistant__badge",
140
+ "aria-hidden": "true",
141
+ children: v > 99 ? "99+" : v
142
+ })]
143
+ })]
144
+ });
145
+ }
146
+ function d({ from: e, bare: t = !1, children: n }) {
147
+ return /* @__PURE__ */ s("div", {
148
+ className: `select-chat__msg select-chat__msg--${e}${t ? " select-chat__msg--bare" : ""}`,
149
+ children: /* @__PURE__ */ s("div", {
150
+ className: "select-chat__bubble",
151
+ children: n
152
+ })
153
+ });
154
+ }
155
+ function f({ children: e }) {
156
+ return /* @__PURE__ */ s("div", {
157
+ className: "select-chat__turn",
158
+ children: e
159
+ });
160
+ }
161
+ function p({ label: e }) {
162
+ let t = n().assistant.typing;
163
+ return /* @__PURE__ */ s("div", {
164
+ className: "select-chat__msg select-chat__msg--assistant select-chat__msg--typing",
165
+ role: "status",
166
+ "aria-label": e ?? t,
167
+ children: /* @__PURE__ */ c("div", {
168
+ className: "select-chat__bubble",
169
+ "aria-hidden": "true",
170
+ children: [
171
+ /* @__PURE__ */ s("span", { className: "select-chat__dot" }),
172
+ /* @__PURE__ */ s("span", { className: "select-chat__dot" }),
173
+ /* @__PURE__ */ s("span", { className: "select-chat__dot" })
174
+ ]
175
+ })
176
+ });
177
+ }
178
+ function m() {
179
+ return typeof window < "u" && typeof window.matchMedia == "function" && window.matchMedia("(prefers-reduced-motion: reduce)").matches;
180
+ }
181
+ //#endregion
182
+ export { u as SelectAssistant, d as SelectChatMessage, f as SelectChatTurn, p as SelectChatTyping };
183
+
184
+ //# sourceMappingURL=SelectAssistant.js.map