@bysages/react 0.3.0 → 0.4.0

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 (277) hide show
  1. package/dist/{ai-response-jZy-0Tvv.mjs → ai-response-B4DX7nmJ.mjs} +10 -4
  2. package/dist/chevron-a2nIZKN4.mjs +6 -0
  3. package/dist/components/accordion/index.d.mts +22 -4
  4. package/dist/components/accordion/index.mjs +31 -1
  5. package/dist/components/affix/index.d.mts +4 -1
  6. package/dist/components/affix/index.mjs +5 -3
  7. package/dist/components/ai/index.d.mts +2 -2
  8. package/dist/components/ai/index.mjs +29 -12
  9. package/dist/components/ai-action/index.d.mts +4 -1
  10. package/dist/components/ai-action/index.mjs +3 -1
  11. package/dist/components/ai-attachments/index.d.mts +10 -4
  12. package/dist/components/ai-attachments/index.mjs +19 -45
  13. package/dist/components/ai-message/index.d.mts +4 -1
  14. package/dist/components/ai-message/index.mjs +3 -1
  15. package/dist/components/ai-prompt-input/index.d.mts +5 -2
  16. package/dist/components/ai-prompt-input/index.mjs +17 -17
  17. package/dist/components/ai-reasoning/index.d.mts +4 -1
  18. package/dist/components/ai-reasoning/index.mjs +4 -2
  19. package/dist/components/ai-response/index.d.mts +8 -3
  20. package/dist/components/ai-response/index.mjs +1 -1
  21. package/dist/components/ai-source/index.d.mts +8 -2
  22. package/dist/components/ai-source/index.mjs +5 -2
  23. package/dist/components/ai-suggestion/index.d.mts +4 -1
  24. package/dist/components/ai-suggestion/index.mjs +3 -1
  25. package/dist/components/ai-tool/index.d.mts +4 -1
  26. package/dist/components/ai-tool/index.mjs +4 -2
  27. package/dist/components/alert/index.d.mts +2 -0
  28. package/dist/components/alert/index.mjs +11 -18
  29. package/dist/components/angle-slider/index.d.mts +19 -2
  30. package/dist/components/angle-slider/index.mjs +31 -8
  31. package/dist/components/aspect-ratio/index.d.mts +4 -1
  32. package/dist/components/aspect-ratio/index.mjs +3 -1
  33. package/dist/components/autocomplete/index.d.mts +3 -1
  34. package/dist/components/autocomplete/index.mjs +9 -2
  35. package/dist/components/avatar/index.d.mts +2 -2
  36. package/dist/components/avatar/index.mjs +9 -2
  37. package/dist/components/avatar-group/index.d.mts +4 -1
  38. package/dist/components/avatar-group/index.mjs +3 -1
  39. package/dist/components/back-top/index.d.mts +7 -1
  40. package/dist/components/back-top/index.mjs +12 -17
  41. package/dist/components/badge/index.d.mts +4 -1
  42. package/dist/components/badge/index.mjs +3 -1
  43. package/dist/components/banner/index.mjs +13 -18
  44. package/dist/components/block-ui/index.d.mts +4 -1
  45. package/dist/components/block-ui/index.mjs +3 -1
  46. package/dist/components/breadcrumb/index.d.mts +3 -8
  47. package/dist/components/breadcrumb/index.mjs +11 -1
  48. package/dist/components/button/index.d.mts +4 -1
  49. package/dist/components/button/index.mjs +3 -1
  50. package/dist/components/calendar/index.d.mts +3 -1
  51. package/dist/components/calendar/index.mjs +9 -10
  52. package/dist/components/carousel/index.d.mts +21 -1
  53. package/dist/components/carousel/index.mjs +43 -2
  54. package/dist/components/cascade-select/index.d.mts +6 -1
  55. package/dist/components/cascade-select/index.mjs +18 -37
  56. package/dist/components/checkbox/index.d.mts +20 -2
  57. package/dist/components/checkbox/index.mjs +28 -8
  58. package/dist/components/checkbox-group/index.d.mts +8 -6
  59. package/dist/components/checkbox-group/index.mjs +44 -48
  60. package/dist/components/chip/index.d.mts +4 -1
  61. package/dist/components/chip/index.mjs +3 -1
  62. package/dist/components/client-only/index.d.mts +7 -2
  63. package/dist/components/client-only/index.mjs +5 -1
  64. package/dist/components/clipboard/index.d.mts +17 -4
  65. package/dist/components/clipboard/index.mjs +33 -5
  66. package/dist/components/collapsible/index.d.mts +16 -4
  67. package/dist/components/collapsible/index.mjs +25 -1
  68. package/dist/components/color-picker/index.d.mts +20 -4
  69. package/dist/components/color-picker/index.mjs +56 -14
  70. package/dist/components/combobox/index.d.mts +27 -1
  71. package/dist/components/combobox/index.mjs +62 -5
  72. package/dist/components/command/index.d.mts +4 -1
  73. package/dist/components/command/index.mjs +15 -3
  74. package/dist/components/comment/index.d.mts +4 -1
  75. package/dist/components/comment/index.mjs +3 -1
  76. package/dist/components/config-provider/index.d.mts +8 -2
  77. package/dist/components/config-provider/index.mjs +5 -2
  78. package/dist/components/container/index.d.mts +4 -1
  79. package/dist/components/container/index.mjs +3 -1
  80. package/dist/components/data-view/index.d.mts +4 -1
  81. package/dist/components/data-view/index.mjs +7 -3
  82. package/dist/components/date-input/index.d.mts +19 -4
  83. package/dist/components/date-input/index.mjs +33 -9
  84. package/dist/components/date-picker/index.d.mts +21 -4
  85. package/dist/components/date-picker/index.mjs +58 -11
  86. package/dist/components/deferred-content/index.d.mts +4 -1
  87. package/dist/components/deferred-content/index.mjs +3 -1
  88. package/dist/components/descriptions/index.d.mts +10 -2
  89. package/dist/components/descriptions/index.mjs +13 -8
  90. package/dist/components/dialog/index.d.mts +18 -5
  91. package/dist/components/dialog/index.mjs +43 -1
  92. package/dist/components/download-trigger/index.d.mts +7 -2
  93. package/dist/components/download-trigger/index.mjs +5 -1
  94. package/dist/components/drawer/index.d.mts +18 -6
  95. package/dist/components/drawer/index.mjs +40 -1
  96. package/dist/components/dynamic-input/index.d.mts +4 -1
  97. package/dist/components/dynamic-input/index.mjs +13 -19
  98. package/dist/components/editable/index.d.mts +28 -7
  99. package/dist/components/editable/index.mjs +43 -4
  100. package/dist/components/ellipsis/index.d.mts +4 -1
  101. package/dist/components/ellipsis/index.mjs +3 -1
  102. package/dist/components/field/index.d.mts +30 -5
  103. package/dist/components/field/index.mjs +36 -3
  104. package/dist/components/fieldset/index.d.mts +19 -4
  105. package/dist/components/fieldset/index.mjs +28 -3
  106. package/dist/components/file-upload/index.d.mts +36 -9
  107. package/dist/components/file-upload/index.mjs +66 -11
  108. package/dist/components/float-button/index.mjs +3 -1
  109. package/dist/components/floating-panel/index.d.mts +18 -6
  110. package/dist/components/floating-panel/index.mjs +55 -1
  111. package/dist/components/focus-trap/index.d.mts +7 -2
  112. package/dist/components/focus-trap/index.mjs +5 -1
  113. package/dist/components/form/index.d.mts +1 -1
  114. package/dist/components/form/index.mjs +5 -2
  115. package/dist/components/frame/index.d.mts +4 -8
  116. package/dist/components/frame/index.mjs +13 -1
  117. package/dist/components/grid/index.d.mts +4 -1
  118. package/dist/components/grid/index.mjs +3 -1
  119. package/dist/components/highlight/index.d.mts +3 -5
  120. package/dist/components/highlight/index.mjs +6 -1
  121. package/dist/components/hover-card/index.d.mts +20 -4
  122. package/dist/components/hover-card/index.mjs +32 -1
  123. package/dist/components/icon/index.d.mts +10 -8
  124. package/dist/components/icon/index.mjs +5 -3
  125. package/dist/components/image/index.d.mts +11 -2
  126. package/dist/components/image/index.mjs +16 -29
  127. package/dist/components/image-cropper/index.d.mts +13 -2
  128. package/dist/components/image-cropper/index.mjs +34 -2
  129. package/dist/components/image-viewer/index.d.mts +2 -18
  130. package/dist/components/image-viewer/index.mjs +3 -109
  131. package/dist/components/input/index.d.mts +3 -1
  132. package/dist/components/input/index.mjs +1 -1
  133. package/dist/components/json-tree-view/index.d.mts +20 -4
  134. package/dist/components/json-tree-view/index.mjs +38 -4
  135. package/dist/components/kbd/index.d.mts +4 -1
  136. package/dist/components/kbd/index.mjs +3 -1
  137. package/dist/components/layout/index.d.mts +25 -7
  138. package/dist/components/layout/index.mjs +159 -63
  139. package/dist/components/link/index.d.mts +4 -1
  140. package/dist/components/link/index.mjs +3 -1
  141. package/dist/components/list/index.d.mts +5 -4
  142. package/dist/components/list/index.mjs +10 -1
  143. package/dist/components/listbox/index.d.mts +22 -1
  144. package/dist/components/listbox/index.mjs +36 -4
  145. package/dist/components/marquee/index.d.mts +18 -1
  146. package/dist/components/marquee/index.mjs +34 -2
  147. package/dist/components/masonry/index.d.mts +4 -1
  148. package/dist/components/masonry/index.mjs +3 -1
  149. package/dist/components/media-player/index.d.mts +2 -0
  150. package/dist/components/media-player/index.mjs +2 -0
  151. package/dist/components/mentions/index.d.mts +1 -1
  152. package/dist/components/mentions/index.mjs +1 -1
  153. package/dist/components/menu/index.d.mts +29 -11
  154. package/dist/components/menu/index.mjs +34 -12
  155. package/dist/components/menubar/index.d.mts +3 -1
  156. package/dist/components/menubar/index.mjs +7 -1
  157. package/dist/components/navigation-menu/index.d.mts +25 -1
  158. package/dist/components/navigation-menu/index.mjs +36 -1
  159. package/dist/components/number-input/index.d.mts +28 -6
  160. package/dist/components/number-input/index.mjs +33 -8
  161. package/dist/components/order-list/index.d.mts +4 -1
  162. package/dist/components/order-list/index.mjs +34 -33
  163. package/dist/components/pagination/index.d.mts +23 -3
  164. package/dist/components/pagination/index.mjs +57 -12
  165. package/dist/components/password-input/index.d.mts +24 -6
  166. package/dist/components/password-input/index.mjs +31 -8
  167. package/dist/components/pin-input/index.d.mts +23 -5
  168. package/dist/components/pin-input/index.mjs +29 -7
  169. package/dist/components/popconfirm/index.d.mts +9 -5
  170. package/dist/components/popconfirm/index.mjs +23 -18
  171. package/dist/components/popover/index.d.mts +2 -8
  172. package/dist/components/popover/index.mjs +44 -4
  173. package/dist/components/presence/index.d.mts +10 -2
  174. package/dist/components/presence/index.mjs +6 -1
  175. package/dist/components/progress/index.d.mts +18 -3
  176. package/dist/components/progress/index.mjs +34 -9
  177. package/dist/components/progress-group/index.d.mts +4 -1
  178. package/dist/components/progress-group/index.mjs +4 -2
  179. package/dist/components/qr-code/index.d.mts +14 -1
  180. package/dist/components/qr-code/index.mjs +26 -2
  181. package/dist/components/radio-group/index.d.mts +27 -2
  182. package/dist/components/radio-group/index.mjs +32 -8
  183. package/dist/components/rating-group/index.d.mts +20 -3
  184. package/dist/components/rating-group/index.mjs +26 -8
  185. package/dist/components/result/index.d.mts +1 -1
  186. package/dist/components/result/index.mjs +2 -2
  187. package/dist/components/scroll-area/index.d.mts +14 -1
  188. package/dist/components/scroll-area/index.mjs +32 -2
  189. package/dist/components/segment-group/index.d.mts +28 -2
  190. package/dist/components/segment-group/index.mjs +34 -7
  191. package/dist/components/select/index.d.mts +2 -2
  192. package/dist/components/select/index.mjs +1 -1
  193. package/dist/components/separator/index.d.mts +4 -1
  194. package/dist/components/separator/index.mjs +3 -1
  195. package/dist/components/signature-pad/index.d.mts +25 -5
  196. package/dist/components/signature-pad/index.mjs +37 -3
  197. package/dist/components/skeleton/index.d.mts +4 -1
  198. package/dist/components/skeleton/index.mjs +3 -1
  199. package/dist/components/slider/index.d.mts +21 -2
  200. package/dist/components/slider/index.mjs +31 -8
  201. package/dist/components/spinner/index.d.mts +4 -1
  202. package/dist/components/spinner/index.mjs +6 -2
  203. package/dist/components/split-button/index.d.mts +3 -1
  204. package/dist/components/split-button/index.mjs +15 -18
  205. package/dist/components/splitter/index.d.mts +17 -4
  206. package/dist/components/splitter/index.mjs +35 -1
  207. package/dist/components/spotlight/index.d.mts +4 -1
  208. package/dist/components/spotlight/index.mjs +3 -1
  209. package/dist/components/stack/index.d.mts +4 -1
  210. package/dist/components/stack/index.mjs +6 -4
  211. package/dist/components/steps/index.d.mts +27 -3
  212. package/dist/components/steps/index.mjs +36 -12
  213. package/dist/components/swap/index.d.mts +11 -5
  214. package/dist/components/swap/index.mjs +30 -3
  215. package/dist/components/switch/index.d.mts +20 -2
  216. package/dist/components/switch/index.mjs +27 -8
  217. package/dist/components/table/index.d.mts +4 -1
  218. package/dist/components/table/index.mjs +44 -70
  219. package/dist/components/tabs/index.d.mts +24 -2
  220. package/dist/components/tabs/index.mjs +25 -9
  221. package/dist/components/tags-input/index.d.mts +33 -8
  222. package/dist/components/tags-input/index.mjs +41 -9
  223. package/dist/components/terminal/index.d.mts +4 -1
  224. package/dist/components/terminal/index.mjs +8 -3
  225. package/dist/components/textarea/index.d.mts +4 -1
  226. package/dist/components/textarea/index.mjs +3 -1
  227. package/dist/components/timer/index.d.mts +18 -1
  228. package/dist/components/timer/index.mjs +51 -2
  229. package/dist/components/toast/index.d.mts +3 -6
  230. package/dist/components/toast/index.mjs +22 -2
  231. package/dist/components/toc/index.d.mts +24 -4
  232. package/dist/components/toc/index.mjs +41 -3
  233. package/dist/components/toggle/index.d.mts +11 -4
  234. package/dist/components/toggle/index.mjs +21 -1
  235. package/dist/components/toggle-group/index.d.mts +26 -2
  236. package/dist/components/toggle-group/index.mjs +31 -6
  237. package/dist/components/toolbar/index.d.mts +4 -1
  238. package/dist/components/toolbar/index.mjs +3 -1
  239. package/dist/components/tooltip/index.d.mts +17 -4
  240. package/dist/components/tooltip/index.mjs +28 -1
  241. package/dist/components/tour/index.d.mts +18 -9
  242. package/dist/components/tour/index.mjs +44 -2
  243. package/dist/components/transfer/index.d.mts +3 -1
  244. package/dist/components/transfer/index.mjs +20 -30
  245. package/dist/components/tree-select/index.d.mts +3 -1
  246. package/dist/components/tree-select/index.mjs +15 -24
  247. package/dist/components/tree-view/index.d.mts +30 -1
  248. package/dist/components/tree-view/index.mjs +69 -6
  249. package/dist/components/typography/index.d.mts +4 -0
  250. package/dist/components/typography/index.mjs +1 -0
  251. package/dist/components/user/index.d.mts +4 -1
  252. package/dist/components/user/index.mjs +3 -1
  253. package/dist/components/virtual-list/index.d.mts +4 -1
  254. package/dist/components/virtual-list/index.mjs +11 -12
  255. package/dist/components/watermark/index.d.mts +4 -1
  256. package/dist/components/watermark/index.mjs +4 -2
  257. package/dist/family-DE_GQeeM.mjs +9 -0
  258. package/dist/icon-BALgGtNK.mjs +18 -0
  259. package/dist/id-C37UYLwJ.mjs +13 -0
  260. package/dist/image-viewer-Cf6thHax.mjs +141 -0
  261. package/dist/{index-Uefyw7Im.d.mts → index-Bbg4heDO.d.mts} +12 -7
  262. package/dist/index-BcRdWGY-.d.mts +115 -0
  263. package/dist/{index-DFN9F5Zt.d.mts → index-D_iKc2Uw.d.mts} +32 -3
  264. package/dist/{index-CsfxYv6J.d.mts → index-DdNKngUQ.d.mts} +63 -39
  265. package/dist/index-Dj8S4eyJ.d.mts +41 -0
  266. package/dist/index-Eu-Bttta.d.mts +24 -0
  267. package/dist/{index-uPyYiWaL.d.mts → index-PsgGWW3m.d.mts} +8 -2
  268. package/dist/index.d.mts +36 -35
  269. package/dist/index.mjs +13 -12
  270. package/dist/{input-2oezH-dY.mjs → input-C21Zzuy6.mjs} +3 -1
  271. package/dist/media-player-gQrnxU52.mjs +554 -0
  272. package/dist/{mentions-DMIBCBOd.mjs → mentions-BuWibdci.mjs} +74 -42
  273. package/dist/messages-1jJWtaYU.mjs +16 -0
  274. package/dist/select-ozUFq0zd.mjs +121 -0
  275. package/package.json +3 -3
  276. package/dist/chevron-BeHvt46K.mjs +0 -17
  277. package/dist/select-D1xiT1oJ.mjs +0 -68
@@ -1,6 +1,27 @@
1
- import { ComponentProps } from "react";
1
+ import { ComponentProps, ReactNode } from "react";
2
2
  import { Tabs as Tabs$1 } from "@ark-ui/react/tabs";
3
3
  //#region src/components/tabs/index.d.ts
4
+ export type TabsItem = {
5
+ value: string;
6
+ label: string;
7
+ content?: ReactNode;
8
+ };
9
+ export interface TabsFacadeProps {
10
+ value?: string;
11
+ defaultValue?: string;
12
+ items: TabsItem[];
13
+ /** The register: a ruled line (default), or each tab its own card. */
14
+ variant?: "line" | "card";
15
+ orientation?: "horizontal" | "vertical";
16
+ /** One rung of the control-height ladder for the tab rows. */
17
+ size?: "sm" | "md" | "lg";
18
+ className?: string;
19
+ onValueChange?: (value: string) => void;
20
+ }
21
+ declare function TabsFacade({ value, defaultValue, items, variant, orientation, size, className, onValueChange }: TabsFacadeProps): import("react").JSX.Element;
22
+ declare namespace TabsFacade {
23
+ var displayName: string;
24
+ }
4
25
  type TabsRootProps = ComponentProps<typeof Tabs$1.Root> & {
5
26
  /** One rung of the control-height ladder for the tab rows. */
6
27
  size?: "sm" | "md" | "lg";
@@ -14,7 +35,8 @@ declare function TabsRoot({ size, variant, ...rest }: TabsRootProps): import("re
14
35
  * Parts: Root, List, Trigger, Content, Indicator (machine-positioned ink
15
36
  * bar on the list rule).
16
37
  */
17
- export declare const Tabs: Omit<typeof Tabs$1, "Root"> & {
38
+ type TabsParts = Omit<typeof Tabs$1, "Root"> & {
18
39
  Root: typeof TabsRoot;
19
40
  };
41
+ export declare const Tabs: typeof TabsFacade & TabsParts;
20
42
  //#endregion
@@ -1,24 +1,40 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
- import { jsx } from "react/jsx-runtime";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
3
4
  import { Tabs as Tabs$1 } from "@ark-ui/react/tabs";
4
5
  //#region src/components/tabs/index.tsx
6
+ function TabsFacade({ value, defaultValue, items, variant = "line", orientation = "horizontal", size = "md", className, onValueChange }) {
7
+ return /* @__PURE__ */ jsxs(TabsRoot, {
8
+ className,
9
+ size,
10
+ variant,
11
+ orientation,
12
+ defaultValue,
13
+ ...value === void 0 ? {} : { value },
14
+ onValueChange: (details) => onValueChange?.(details.value),
15
+ children: [/* @__PURE__ */ jsxs(Tabs$1.List, { children: [items.map((item) => /* @__PURE__ */ jsx(Tabs$1.Trigger, {
16
+ value: item.value,
17
+ children: item.label
18
+ }, item.value)), /* @__PURE__ */ jsx(Tabs$1.Indicator, {})] }), items.map((item) => /* @__PURE__ */ jsx(Tabs$1.Content, {
19
+ value: item.value,
20
+ children: item.content
21
+ }, item.value))]
22
+ });
23
+ }
24
+ TabsFacade.displayName = "STabs";
5
25
  function TabsRoot({ size = "md", variant = "line", ...rest }) {
26
+ const id = useElementId("tabs", rest);
6
27
  return /* @__PURE__ */ jsx(Tabs$1.Root, {
7
28
  ...rest,
29
+ id,
8
30
  "data-size": size,
9
31
  "data-variant": variant
10
32
  });
11
33
  }
12
- /**
13
- * Tabs — tabbed navigation.
14
- *
15
- * Parts: Root, List, Trigger, Content, Indicator (machine-positioned ink
16
- * bar on the list rule).
17
- */
18
- const Tabs = {
34
+ const Tabs = Object.assign(TabsFacade, {
19
35
  ...Tabs$1,
20
36
  Root: TabsRoot
21
- };
37
+ });
22
38
  injectComponentStyle("tabs");
23
39
  //#endregion
24
40
  export { Tabs };
@@ -1,17 +1,42 @@
1
- import { ComponentProps } from "react";
1
+ import { ComponentProps, ReactNode } from "react";
2
2
  import { TagsInput as TagsInput$1 } from "@ark-ui/react/tags-input";
3
3
  //#region src/components/tags-input/index.d.ts
4
4
  type TagsInputRootProps = ComponentProps<typeof TagsInput$1.Root> & {
5
5
  /** One rung of the control-height ladder for the vessel at rest. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function TagsInputRoot({ size, ...rest }: TagsInputRootProps): import("react").JSX.Element;
9
- /** Ark's TagsInput, dressed in the paper-and-ink system: one field vessel
10
- * whose chips rest as quiet ink and lift only a tone when edited. The API
11
- * is Ark's own — Root, Label, Control, Input, ClearTrigger, Item,
12
- * ItemPreview, ItemText, ItemInput, ItemDeleteTrigger, HiddenInput,
13
- * Context. */
14
- export declare const TagsInput: Omit<typeof TagsInput$1, "Root"> & {
8
+ declare function TagsInputRoot(props: TagsInputRootProps): import("react").JSX.Element;
9
+ interface TagsInputFacadeProps {
10
+ value?: string[];
11
+ defaultValue?: string[];
12
+ label?: string;
13
+ placeholder?: string;
14
+ disabled?: boolean;
15
+ invalid?: boolean;
16
+ required?: boolean;
17
+ /** Show the clear-all control when values exist. */
18
+ clearable?: boolean;
19
+ size?: "sm" | "md" | "lg";
20
+ onValueChange?: (value: string[]) => void;
21
+ children?: ReactNode;
22
+ }
23
+ /** The one-tag path: one labelled vessel whose values become editable
24
+ * chips. Delimiters, limits, and custom validation stay on the anatomy. */
25
+ declare function TagsInputFacade({ value, defaultValue, label, placeholder, disabled, invalid, required, clearable, size, onValueChange }: TagsInputFacadeProps): import("react").JSX.Element;
26
+ export declare const TagsInput: typeof TagsInputFacade & {
15
27
  Root: typeof TagsInputRoot;
28
+ ClearTrigger: import("react").ForwardRefExoticComponent<TagsInput$1.ClearTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
29
+ Context: (props: TagsInput$1.ContextProps) => ReactNode;
30
+ Control: import("react").ForwardRefExoticComponent<TagsInput$1.ControlProps & import("react").RefAttributes<HTMLDivElement>>;
31
+ HiddenInput: import("react").ForwardRefExoticComponent<TagsInput$1.HiddenInputProps & import("react").RefAttributes<HTMLInputElement>>;
32
+ Input: import("react").ForwardRefExoticComponent<TagsInput$1.InputProps & import("react").RefAttributes<HTMLInputElement>>;
33
+ Item: import("react").ForwardRefExoticComponent<TagsInput$1.ItemProps & import("react").RefAttributes<HTMLDivElement>>;
34
+ ItemContext: (props: TagsInput$1.ItemContextProps) => ReactNode;
35
+ ItemDeleteTrigger: import("react").ForwardRefExoticComponent<TagsInput$1.ItemDeleteTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
36
+ ItemInput: import("react").ForwardRefExoticComponent<TagsInput$1.ItemInputProps & import("react").RefAttributes<HTMLInputElement>>;
37
+ ItemPreview: import("react").ForwardRefExoticComponent<TagsInput$1.ItemPreviewProps & import("react").RefAttributes<HTMLDivElement>>;
38
+ ItemText: import("react").ForwardRefExoticComponent<TagsInput$1.ItemTextProps & import("react").RefAttributes<HTMLSpanElement>>;
39
+ Label: import("react").ForwardRefExoticComponent<TagsInput$1.LabelProps & import("react").RefAttributes<HTMLLabelElement>>;
40
+ RootProvider: import("react").ForwardRefExoticComponent<TagsInput$1.RootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
16
41
  };
17
42
  //#endregion
@@ -1,22 +1,54 @@
1
+ import { t as iconNode } from "../../icon-BALgGtNK.mjs";
2
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
- import { jsx } from "react/jsx-runtime";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
3
5
  import { TagsInput as TagsInput$1 } from "@ark-ui/react/tags-input";
4
6
  //#region src/components/tags-input/index.tsx
5
- function TagsInputRoot({ size = "md", ...rest }) {
7
+ function TagsInputRoot(props) {
8
+ const id = useElementId("tags-input", props);
9
+ const { size = "md", ...rest } = props;
6
10
  return /* @__PURE__ */ jsx(TagsInput$1.Root, {
7
11
  ...rest,
12
+ id,
8
13
  "data-size": size
9
14
  });
10
15
  }
11
- /** Ark's TagsInput, dressed in the paper-and-ink system: one field vessel
12
- * whose chips rest as quiet ink and lift only a tone when edited. The API
13
- * is Ark's own — Root, Label, Control, Input, ClearTrigger, Item,
14
- * ItemPreview, ItemText, ItemInput, ItemDeleteTrigger, HiddenInput,
15
- * Context. */
16
- const TagsInput = {
16
+ const closeIcon = iconNode("x", {
17
+ width: 14,
18
+ height: 14
19
+ });
20
+ /** The one-tag path: one labelled vessel whose values become editable
21
+ * chips. Delimiters, limits, and custom validation stay on the anatomy. */
22
+ function TagsInputFacade({ value, defaultValue, label, placeholder, disabled = false, invalid = false, required = false, clearable = true, size = "md", onValueChange }) {
23
+ return /* @__PURE__ */ jsxs(TagsInputRoot, {
24
+ size,
25
+ disabled,
26
+ invalid,
27
+ required,
28
+ defaultValue,
29
+ ...value === void 0 ? {} : {
30
+ value,
31
+ onValueChange: (details) => onValueChange?.(details.value)
32
+ },
33
+ children: [
34
+ label ? /* @__PURE__ */ jsx(TagsInput$1.Label, { children: label }) : null,
35
+ /* @__PURE__ */ jsxs(TagsInput$1.Control, { children: [
36
+ /* @__PURE__ */ jsx(TagsInput$1.Context, { children: (tagsInput) => tagsInput.value.map((tag, index) => /* @__PURE__ */ jsxs(TagsInput$1.Item, {
37
+ index,
38
+ value: tag,
39
+ children: [/* @__PURE__ */ jsxs(TagsInput$1.ItemPreview, { children: [/* @__PURE__ */ jsx(TagsInput$1.ItemText, { children: tag }), /* @__PURE__ */ jsx(TagsInput$1.ItemDeleteTrigger, { children: closeIcon })] }), /* @__PURE__ */ jsx(TagsInput$1.ItemInput, {})]
40
+ }, `${tag}-${index}`)) }),
41
+ /* @__PURE__ */ jsx(TagsInput$1.Input, { placeholder }),
42
+ clearable ? /* @__PURE__ */ jsx(TagsInput$1.ClearTrigger, { children: closeIcon }) : null
43
+ ] }),
44
+ /* @__PURE__ */ jsx(TagsInput$1.HiddenInput, {})
45
+ ]
46
+ });
47
+ }
48
+ const TagsInput = Object.assign(TagsInputFacade, {
17
49
  ...TagsInput$1,
18
50
  Root: TagsInputRoot
19
- };
51
+ });
20
52
  injectComponentStyle("tags-input");
21
53
  //#endregion
22
54
  export { TagsInput };
@@ -13,5 +13,8 @@ export interface TerminalProps extends HTMLAttributes<HTMLDivElement> {
13
13
  * component owns only the reading and the caret — each entered line
14
14
  * leaves as an event, and the caller answers through the lines prop,
15
15
  * so history stays theirs to shape. */
16
- export declare function Terminal({ lines, prompt, placeholder, label, onCommand, ...rest }: TerminalProps): import("react").JSX.Element;
16
+ declare function TerminalImpl({ lines, prompt, placeholder, label, onCommand, ...rest }: TerminalProps): import("react").JSX.Element;
17
+ export declare const Terminal: typeof TerminalImpl & {
18
+ Root: typeof TerminalImpl;
19
+ };
17
20
  //#endregion
@@ -1,3 +1,5 @@
1
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
2
+ import { n as useComponentMessages } from "../../messages-1jJWtaYU.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
4
  import { jsx, jsxs } from "react/jsx-runtime";
3
5
  import { useEffect, useRef, useState } from "react";
@@ -6,8 +8,10 @@ import { useEffect, useRef, useState } from "react";
6
8
  * component owns only the reading and the caret — each entered line
7
9
  * leaves as an event, and the caller answers through the lines prop,
8
10
  * so history stays theirs to shape. */
9
- function Terminal({ lines = [], prompt = "$", placeholder, label, onCommand, ...rest }) {
11
+ function TerminalImpl({ lines = [], prompt = "$", placeholder, label, onCommand, ...rest }) {
10
12
  injectComponentStyle("terminal");
13
+ const messages = useComponentMessages();
14
+ const commandLineLabel = label ?? messages.terminal.commandLine;
11
15
  const [draft, setDraft] = useState("");
12
16
  const scroll = useRef(null);
13
17
  useEffect(() => {
@@ -22,7 +26,7 @@ function Terminal({ lines = [], prompt = "$", placeholder, label, onCommand, ...
22
26
  return /* @__PURE__ */ jsxs("div", {
23
27
  ...rest,
24
28
  role: "log",
25
- "aria-label": label ?? void 0,
29
+ "aria-label": commandLineLabel,
26
30
  "data-scope": "terminal",
27
31
  "data-part": "root",
28
32
  children: [/* @__PURE__ */ jsx("div", {
@@ -47,7 +51,7 @@ function Terminal({ lines = [], prompt = "$", placeholder, label, onCommand, ...
47
51
  "data-part": "input",
48
52
  value: draft,
49
53
  placeholder,
50
- "aria-label": label ? `${label} command line` : "Command line",
54
+ "aria-label": commandLineLabel,
51
55
  spellCheck: false,
52
56
  autoComplete: "off",
53
57
  onInput: (event) => setDraft(event.target.value),
@@ -61,5 +65,6 @@ function Terminal({ lines = [], prompt = "$", placeholder, label, onCommand, ...
61
65
  })]
62
66
  });
63
67
  }
68
+ const Terminal = withSelfRoot(TerminalImpl);
64
69
  //#endregion
65
70
  export { Terminal };
@@ -10,5 +10,8 @@ export interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElemen
10
10
  invalid?: boolean;
11
11
  onValueChange?: (value: string) => void;
12
12
  }
13
- export declare function Textarea({ value, invalid, onValueChange, ...rest }: TextareaProps): import("react").JSX.Element;
13
+ declare function TextareaImpl({ value, invalid, onValueChange, ...rest }: TextareaProps): import("react").JSX.Element;
14
+ export declare const Textarea: typeof TextareaImpl & {
15
+ Root: typeof TextareaImpl;
16
+ };
14
17
  //#endregion
@@ -1,8 +1,9 @@
1
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  import { useFieldContext } from "@ark-ui/react/field";
4
5
  //#region src/components/textarea/index.tsx
5
- function Textarea({ value, invalid = false, onValueChange, ...rest }) {
6
+ function TextareaImpl({ value, invalid = false, onValueChange, ...rest }) {
6
7
  injectComponentStyle("textarea");
7
8
  const field = useFieldContext();
8
9
  const fieldProps = field?.getTextareaProps() ?? {};
@@ -16,5 +17,6 @@ function Textarea({ value, invalid = false, onValueChange, ...rest }) {
16
17
  onChange: (event) => onValueChange?.(event.target.value)
17
18
  });
18
19
  }
20
+ const Textarea = withSelfRoot(TextareaImpl);
19
21
  //#endregion
20
22
  export { Textarea };
@@ -1,8 +1,25 @@
1
+ import { CSSProperties, ComponentProps } from "react";
1
2
  import { Timer as Timer$1 } from "@ark-ui/react/timer";
2
3
  //#region src/components/timer/index.d.ts
3
4
  /** Ark's Timer, dressed in the paper-and-ink system: monospaced digits
4
5
  * that never jitter, quiet action triggers on the control recipe. The API
5
6
  * is Ark's own — Root, Area, Control, Item, Separator, ActionTrigger,
6
7
  * Context. Unit labels are plain content, not a machine part. */
7
- export declare const Timer: typeof Timer$1;
8
+ declare function TimerRoot(props: ComponentProps<typeof Timer$1.Root>): import("react").JSX.Element;
9
+ type TimerFacadeProps = {
10
+ startMs?: number;
11
+ targetMs?: number;
12
+ countdown?: boolean;
13
+ autoStart?: boolean;
14
+ label?: string;
15
+ className?: string;
16
+ style?: CSSProperties;
17
+ };
18
+ /** The complete timer behind one duration: minute and second digits with
19
+ * start, pause, resume, and reset. Finer intervals and custom faces remain
20
+ * anatomy work. */
21
+ declare function TimerFacade(props: TimerFacadeProps): import("react").JSX.Element;
22
+ export declare const Timer: typeof TimerFacade & Omit<typeof Timer$1, "Root"> & {
23
+ Root: typeof TimerRoot;
24
+ };
8
25
  //#endregion
@@ -1,11 +1,60 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
2
4
  import { Timer as Timer$1 } from "@ark-ui/react/timer";
3
5
  //#region src/components/timer/index.tsx
4
6
  /** Ark's Timer, dressed in the paper-and-ink system: monospaced digits
5
7
  * that never jitter, quiet action triggers on the control recipe. The API
6
8
  * is Ark's own — Root, Area, Control, Item, Separator, ActionTrigger,
7
9
  * Context. Unit labels are plain content, not a machine part. */
8
- const Timer = Timer$1;
9
- injectComponentStyle("timer");
10
+ function TimerRoot(props) {
11
+ injectComponentStyle("timer");
12
+ const id = useElementId("timer", props);
13
+ return /* @__PURE__ */ jsx(Timer$1.Root, {
14
+ ...props,
15
+ id
16
+ });
17
+ }
18
+ /** The complete timer behind one duration: minute and second digits with
19
+ * start, pause, resume, and reset. Finer intervals and custom faces remain
20
+ * anatomy work. */
21
+ function TimerFacade(props) {
22
+ const { startMs = 0, targetMs, countdown, autoStart, label, className, style } = props;
23
+ return /* @__PURE__ */ jsxs(TimerRoot, {
24
+ "aria-label": label,
25
+ startMs,
26
+ targetMs,
27
+ countdown,
28
+ autoStart,
29
+ className,
30
+ style,
31
+ children: [/* @__PURE__ */ jsxs(Timer$1.Area, { children: [
32
+ /* @__PURE__ */ jsx(Timer$1.Item, { type: "minutes" }),
33
+ /* @__PURE__ */ jsx(Timer$1.Separator, { children: ":" }),
34
+ /* @__PURE__ */ jsx(Timer$1.Item, { type: "seconds" })
35
+ ] }), /* @__PURE__ */ jsxs(Timer$1.Control, { children: [
36
+ /* @__PURE__ */ jsx(Timer$1.ActionTrigger, {
37
+ action: "start",
38
+ children: "Start"
39
+ }),
40
+ /* @__PURE__ */ jsx(Timer$1.ActionTrigger, {
41
+ action: "pause",
42
+ children: "Pause"
43
+ }),
44
+ /* @__PURE__ */ jsx(Timer$1.ActionTrigger, {
45
+ action: "resume",
46
+ children: "Resume"
47
+ }),
48
+ /* @__PURE__ */ jsx(Timer$1.ActionTrigger, {
49
+ action: "reset",
50
+ children: "Reset"
51
+ })
52
+ ] })]
53
+ });
54
+ }
55
+ const Timer = Object.assign(TimerFacade, {
56
+ ...Timer$1,
57
+ Root: TimerRoot
58
+ });
10
59
  //#endregion
11
60
  export { Timer };
@@ -1,11 +1,8 @@
1
1
  import { CreateToasterReturn, Toast as Toast$1, createToaster } from "@ark-ui/react/toast";
2
2
  //#region src/components/toast/index.d.ts
3
- /** Ark's Toast, dressed in the paper-and-ink system: each notice rides the
4
- * popup vessel while a pigment accents the title by type, and the machine's
5
- * translate variables carry the slide. The API is Ark's own — Toaster,
6
- * Root, Title, Description, ActionTrigger, CloseTrigger, plus
7
- * createToaster. */
8
3
  export declare const Toast: typeof Toast$1;
9
- export declare const Toaster: import("react").ForwardRefExoticComponent<import("@ark-ui/react/toast").ToasterProps & import("react").RefAttributes<HTMLDivElement>>;
4
+ export declare const Toaster: import("react").ForwardRefExoticComponent<import("@ark-ui/react/toast").ToasterProps & import("react").RefAttributes<HTMLDivElement>> & {
5
+ Root: import("react").ForwardRefExoticComponent<import("@ark-ui/react/toast").ToasterProps & import("react").RefAttributes<HTMLDivElement>>;
6
+ };
10
7
  //#endregion
11
8
  export { type CreateToasterReturn, createToaster };
@@ -1,4 +1,8 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
2
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
4
+ import { jsx } from "react/jsx-runtime";
5
+ import { forwardRef } from "react";
2
6
  import { Toast as Toast$1, Toaster as Toaster$1, createToaster } from "@ark-ui/react/toast";
3
7
  //#region src/components/toast/index.tsx
4
8
  /** Ark's Toast, dressed in the paper-and-ink system: each notice rides the
@@ -6,8 +10,24 @@ import { Toast as Toast$1, Toaster as Toaster$1, createToaster } from "@ark-ui/r
6
10
  * translate variables carry the slide. The API is Ark's own — Toaster,
7
11
  * Root, Title, Description, ActionTrigger, CloseTrigger, plus
8
12
  * createToaster. */
9
- const Toast = Toast$1;
10
- const Toaster = Toaster$1;
13
+ function ToastRoot(props) {
14
+ const id = useElementId("toast", props);
15
+ return /* @__PURE__ */ jsx(Toast$1.Root, {
16
+ ...props,
17
+ id
18
+ });
19
+ }
20
+ const Toast = {
21
+ ...Toast$1,
22
+ Root: ToastRoot
23
+ };
24
+ const ToasterRoot = forwardRef(function ToasterRoot(props, ref) {
25
+ return /* @__PURE__ */ jsx(Toaster$1, {
26
+ ref,
27
+ ...props
28
+ });
29
+ });
30
+ const Toaster = withSelfRoot(ToasterRoot);
11
31
  injectComponentStyle("toast");
12
32
  //#endregion
13
33
  export { Toast, Toaster, createToaster };
@@ -1,7 +1,27 @@
1
- import { Toc as Toc$1 } from "@ark-ui/react/toc";
1
+ import { CSSProperties, ComponentProps } from "react";
2
+ import { Toc as Toc$1, TocItemData } from "@ark-ui/react/toc";
2
3
  //#region src/components/toc/index.d.ts
3
- /** Ark's Toc, dressed in the paper-and-ink system: a quiet rail of links
4
+ /** Toc, dressed in the paper-and-ink system: a quiet rail of links
4
5
  * beside the scroll, one stroke of primary ink marking where the reader
5
- * stands. The API is Ark's own — Root, Title, List, Item, Link, Indicator. */
6
- export declare const Toc: typeof Toc$1;
6
+ * stands. The parts — Root, Title, List, Item, Link, Indicator. */
7
+ declare function TocRoot(props: ComponentProps<typeof Toc$1.Root>): import("react").JSX.Element;
8
+ /** The active stroke is decoration; hidden so the list reads as links
9
+ * alone. */
10
+ declare function TocIndicator(props: ComponentProps<typeof Toc$1.Indicator>): import("react").JSX.Element;
11
+ export interface TocFacadeProps {
12
+ items: Array<TocItemData & {
13
+ label: string;
14
+ }>;
15
+ scrollEl?: () => HTMLElement | null;
16
+ title?: string;
17
+ className?: string;
18
+ style?: CSSProperties;
19
+ }
20
+ /** The complete rail behind one page: items become anchor rows, the
21
+ * title names the list, and the active stroke follows the scroller. */
22
+ declare function TocFacade({ items, scrollEl, title, className, style }: TocFacadeProps): import("react").JSX.Element;
23
+ export declare const Toc: typeof TocFacade & Omit<typeof Toc$1, "Root" | "Indicator"> & {
24
+ Root: typeof TocRoot;
25
+ Indicator: typeof TocIndicator;
26
+ };
7
27
  //#endregion
@@ -1,10 +1,48 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
2
4
  import { Toc as Toc$1 } from "@ark-ui/react/toc";
3
5
  //#region src/components/toc/index.tsx
4
- /** Ark's Toc, dressed in the paper-and-ink system: a quiet rail of links
6
+ /** Toc, dressed in the paper-and-ink system: a quiet rail of links
5
7
  * beside the scroll, one stroke of primary ink marking where the reader
6
- * stands. The API is Ark's own — Root, Title, List, Item, Link, Indicator. */
7
- const Toc = Toc$1;
8
+ * stands. The parts — Root, Title, List, Item, Link, Indicator. */
9
+ function TocRoot(props) {
10
+ const id = useElementId("toc", props);
11
+ return /* @__PURE__ */ jsx(Toc$1.Root, {
12
+ ...props,
13
+ id
14
+ });
15
+ }
16
+ /** The active stroke is decoration; hidden so the list reads as links
17
+ * alone. */
18
+ function TocIndicator(props) {
19
+ return /* @__PURE__ */ jsx(Toc$1.Indicator, {
20
+ ...props,
21
+ "aria-hidden": "true"
22
+ });
23
+ }
24
+ /** The complete rail behind one page: items become anchor rows, the
25
+ * title names the list, and the active stroke follows the scroller. */
26
+ function TocFacade({ items, scrollEl, title = "On this page", className, style }) {
27
+ return /* @__PURE__ */ jsx(TocRoot, {
28
+ className,
29
+ style,
30
+ items,
31
+ scrollEl,
32
+ children: /* @__PURE__ */ jsxs(Toc$1.Nav, { children: [title ? /* @__PURE__ */ jsx(Toc$1.Title, { children: title }) : null, /* @__PURE__ */ jsxs(Toc$1.List, { children: [/* @__PURE__ */ jsx(TocIndicator, {}), items.map((item) => /* @__PURE__ */ jsx(Toc$1.Item, {
33
+ item,
34
+ children: /* @__PURE__ */ jsx(Toc$1.Link, {
35
+ href: `#${item.value}`,
36
+ children: item.label
37
+ })
38
+ }, item.value))] })] })
39
+ });
40
+ }
41
+ const Toc = Object.assign(TocFacade, {
42
+ ...Toc$1,
43
+ Root: TocRoot,
44
+ Indicator: TocIndicator
45
+ });
8
46
  injectComponentStyle("toc");
9
47
  //#endregion
10
48
  export { Toc };
@@ -1,7 +1,14 @@
1
+ import { ComponentProps } from "react";
1
2
  import { Toggle as Toggle$1 } from "@ark-ui/react/toggle";
2
3
  //#region src/components/toggle/index.d.ts
3
- /** Ark's Toggle, dressed in the paper-and-ink system: a standalone seal that
4
- * settles into the flat ink fill while pressed on. The API is Ark's own —
5
- * Root, Indicator. */
6
- export declare const Toggle: typeof Toggle$1;
4
+ export interface ToggleFacadeProps extends ComponentProps<typeof Toggle$1.Root> {
5
+ /** The accessible name when the content is only an icon. */
6
+ label?: string;
7
+ }
8
+ declare function ToggleFacade({ label, children, ...rest }: ToggleFacadeProps): import("react").JSX.Element;
9
+ declare namespace ToggleFacade {
10
+ var displayName: string;
11
+ }
12
+ type ToggleParts = typeof Toggle$1;
13
+ export declare const Toggle: typeof ToggleFacade & ToggleParts;
7
14
  //#endregion
@@ -1,10 +1,30 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
3
+ import { jsx } from "react/jsx-runtime";
2
4
  import { Toggle as Toggle$1 } from "@ark-ui/react/toggle";
3
5
  //#region src/components/toggle/index.tsx
4
6
  /** Ark's Toggle, dressed in the paper-and-ink system: a standalone seal that
5
7
  * settles into the flat ink fill while pressed on. The API is Ark's own —
6
8
  * Root, Indicator. */
7
- const Toggle = Toggle$1;
9
+ function ToggleRoot(props) {
10
+ const id = useElementId("toggle", props);
11
+ return /* @__PURE__ */ jsx(Toggle$1.Root, {
12
+ ...props,
13
+ id
14
+ });
15
+ }
16
+ function ToggleFacade({ label, children, ...rest }) {
17
+ return /* @__PURE__ */ jsx(ToggleRoot, {
18
+ ...rest,
19
+ "aria-label": label ?? rest["aria-label"],
20
+ children: /* @__PURE__ */ jsx(Toggle$1.Indicator, { children })
21
+ });
22
+ }
23
+ ToggleFacade.displayName = "SToggle";
24
+ const Toggle = Object.assign(ToggleFacade, {
25
+ ...Toggle$1,
26
+ Root: ToggleRoot
27
+ });
8
28
  injectComponentStyle("toggle");
9
29
  //#endregion
10
30
  export { Toggle };
@@ -5,11 +5,35 @@ type ToggleGroupRootProps = ComponentProps<typeof ToggleGroup$1.Root> & {
5
5
  /** One rung of the control-height ladder for the items. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function ToggleGroupRoot({ size, ...rest }: ToggleGroupRootProps): import("react").JSX.Element;
8
+ declare function ToggleGroupRoot(props: ToggleGroupRootProps): import("react").JSX.Element;
9
+ export type ToggleGroupItem = {
10
+ value: string;
11
+ label: string;
12
+ /** A built-in core-registry icon; omit it to render the label as text. */
13
+ icon?: string;
14
+ disabled?: boolean;
15
+ };
16
+ export interface ToggleGroupFacadeProps {
17
+ value?: string | string[];
18
+ defaultValue?: string | string[];
19
+ items: ToggleGroupItem[];
20
+ label?: string;
21
+ multiple?: boolean;
22
+ disabled?: boolean;
23
+ /** One rung of the control-height ladder for the items. */
24
+ size?: "sm" | "md" | "lg";
25
+ className?: string;
26
+ onValueChange?: (value: string | string[]) => void;
27
+ }
28
+ declare function ToggleGroupFacade({ value, defaultValue, items, label, multiple, disabled, size, className, onValueChange }: ToggleGroupFacadeProps): import("react").JSX.Element;
29
+ declare namespace ToggleGroupFacade {
30
+ var displayName: string;
31
+ }
9
32
  /** Ark's ToggleGroup, dressed in the paper-and-ink system: a hairline tray
10
33
  * of quiet seals where the pressed item takes the flat ink fill. The API is
11
34
  * Ark's own — Root, Item. */
12
- export declare const ToggleGroup: Omit<typeof ToggleGroup$1, "Root"> & {
35
+ type ToggleGroupParts = Omit<typeof ToggleGroup$1, "Root"> & {
13
36
  Root: typeof ToggleGroupRoot;
14
37
  };
38
+ export declare const ToggleGroup: typeof ToggleGroupFacade & ToggleGroupParts;
15
39
  //#endregion