@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,21 +1,44 @@
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 { PasswordInput as PasswordInput$1 } from "@ark-ui/react/password-input";
4
6
  //#region src/components/password-input/index.tsx
5
- function PasswordInputRoot({ size = "md", ...rest }) {
7
+ function PasswordInputRoot(props) {
8
+ const id = useElementId("password-input", props);
9
+ const { size = "md", ...rest } = props;
6
10
  return /* @__PURE__ */ jsx(PasswordInput$1.Root, {
7
11
  ...rest,
12
+ id,
8
13
  "data-size": size
9
14
  });
10
15
  }
11
- /** Ark's PasswordInput, dressed in the paper-and-ink system: the reveal
12
- * eye sits quiet at the field's edge and swaps in place — no shift, no
13
- * noise. The API is Ark's own — Root, Label, Control, Input, Indicator,
14
- * VisibilityTrigger. */
15
- const PasswordInput = {
16
+ /** The one-tag path: the masked field and reveal control. Visibility
17
+ * state, password-manager rules, and validation stay on the anatomy. */
18
+ function PasswordInputFacade({ value, defaultValue, label, placeholder, autoComplete, disabled = false, invalid = false, required = false, size = "md", onValueChange }) {
19
+ return /* @__PURE__ */ jsxs(PasswordInputRoot, {
20
+ size,
21
+ autoComplete,
22
+ disabled,
23
+ invalid,
24
+ required,
25
+ children: [label ? /* @__PURE__ */ jsx(PasswordInput$1.Label, { children: label }) : null, /* @__PURE__ */ jsxs(PasswordInput$1.Control, { children: [/* @__PURE__ */ jsx(PasswordInput$1.Input, {
26
+ placeholder,
27
+ defaultValue,
28
+ ...value === void 0 ? {} : {
29
+ value,
30
+ onChange: (event) => onValueChange?.(event.target.value)
31
+ }
32
+ }), /* @__PURE__ */ jsx(PasswordInput$1.VisibilityTrigger, { children: /* @__PURE__ */ jsx(PasswordInput$1.Indicator, {
33
+ fallback: iconNode("eye-off"),
34
+ children: iconNode("eye")
35
+ }) })] })]
36
+ });
37
+ }
38
+ const PasswordInput = Object.assign(PasswordInputFacade, {
16
39
  ...PasswordInput$1,
17
40
  Root: PasswordInputRoot
18
- };
41
+ });
19
42
  injectComponentStyle("password-input");
20
43
  //#endregion
21
44
  export { PasswordInput };
@@ -5,11 +5,29 @@ type PinInputRootProps = ComponentProps<typeof PinInput$1.Root> & {
5
5
  /** One rung of the control-height ladder each seal stands on. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function PinInputRoot({ size, ...rest }: PinInputRootProps): import("react").JSX.Element;
9
- /** Ark's PinInput, dressed in the paper-and-ink system: one character per
10
- * square-cut seal, centered ink in tabular figures. The API is Ark's own —
11
- * Root, Label, Control, Input, HiddenInput. */
12
- export declare const PinInput: Omit<typeof PinInput$1, "Root"> & {
8
+ declare function PinInputRoot(props: PinInputRootProps): import("react").JSX.Element;
9
+ interface PinInputFacadeProps {
10
+ value?: string[];
11
+ defaultValue?: string[];
12
+ label?: string;
13
+ placeholder?: string;
14
+ disabled?: boolean;
15
+ invalid?: boolean;
16
+ required?: boolean;
17
+ length?: number;
18
+ size?: "sm" | "md" | "lg";
19
+ onValueChange?: (value: string[]) => void;
20
+ }
21
+ /** The one-tag path for an even run of seals; OTP, masks, and custom
22
+ * validation stay on the anatomy. */
23
+ declare function PinInputFacade({ value, defaultValue, label, placeholder, disabled, invalid, required, length, size, onValueChange }: PinInputFacadeProps): import("react").JSX.Element;
24
+ export declare const PinInput: typeof PinInputFacade & {
13
25
  Root: typeof PinInputRoot;
26
+ Context: (props: PinInput$1.ContextProps) => import("react").ReactNode;
27
+ Control: import("react").ForwardRefExoticComponent<PinInput$1.ControlProps & import("react").RefAttributes<HTMLDivElement>>;
28
+ HiddenInput: import("react").ForwardRefExoticComponent<PinInput$1.HiddenInputProps & import("react").RefAttributes<HTMLInputElement>>;
29
+ Input: import("react").ForwardRefExoticComponent<PinInput$1.InputProps & import("react").RefAttributes<HTMLInputElement>>;
30
+ Label: import("react").ForwardRefExoticComponent<PinInput$1.LabelProps & import("react").RefAttributes<HTMLLabelElement>>;
31
+ RootProvider: import("react").ForwardRefExoticComponent<PinInput$1.RootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
14
32
  };
15
33
  //#endregion
@@ -1,20 +1,42 @@
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 { PinInput as PinInput$1 } from "@ark-ui/react/pin-input";
4
5
  //#region src/components/pin-input/index.tsx
5
- function PinInputRoot({ size = "md", ...rest }) {
6
+ function PinInputRoot(props) {
7
+ const id = useElementId("pin-input", props);
8
+ const { size = "md", ...rest } = props;
6
9
  return /* @__PURE__ */ jsx(PinInput$1.Root, {
7
10
  ...rest,
11
+ id,
8
12
  "data-size": size
9
13
  });
10
14
  }
11
- /** Ark's PinInput, dressed in the paper-and-ink system: one character per
12
- * square-cut seal, centered ink in tabular figures. The API is Ark's own —
13
- * Root, Label, Control, Input, HiddenInput. */
14
- const PinInput = {
15
+ /** The one-tag path for an even run of seals; OTP, masks, and custom
16
+ * validation stay on the anatomy. */
17
+ function PinInputFacade({ value, defaultValue, label, placeholder = "·", disabled = false, invalid = false, required = false, length = 4, size = "md", onValueChange }) {
18
+ return /* @__PURE__ */ jsxs(PinInputRoot, {
19
+ size,
20
+ disabled,
21
+ invalid,
22
+ required,
23
+ placeholder,
24
+ defaultValue,
25
+ ...value === void 0 ? {} : {
26
+ value,
27
+ onValueChange: (details) => onValueChange?.(details.value)
28
+ },
29
+ children: [
30
+ label ? /* @__PURE__ */ jsx(PinInput$1.Label, { children: label }) : null,
31
+ /* @__PURE__ */ jsx(PinInput$1.Control, { children: Array.from({ length }, (_, index) => /* @__PURE__ */ jsx(PinInput$1.Input, { index }, index)) }),
32
+ /* @__PURE__ */ jsx(PinInput$1.HiddenInput, {})
33
+ ]
34
+ });
35
+ }
36
+ const PinInput = Object.assign(PinInputFacade, {
15
37
  ...PinInput$1,
16
38
  Root: PinInputRoot
17
- };
39
+ });
18
40
  injectComponentStyle("pin-input");
19
41
  //#endregion
20
42
  export { PinInput };
@@ -1,13 +1,16 @@
1
+ import { t as Popover } from "../../index-Eu-Bttta.mjs";
1
2
  import { ReactNode } from "react";
2
3
  //#region src/components/popconfirm/index.d.ts
3
4
  /**
4
5
  * A question at the point of no return: the trigger opens a small
5
- * anchored vessel carrying the message and two answers. Confirmation
6
- * and cancellation are the caller's to act on — the panel closes
7
- * either way. The children are the trigger; give it a single element
8
- * (wrap a group in a span otherwise).
6
+ * anchored vessel carrying the message and two answers. Each answer is
7
+ * a close trigger: the answer reports through its own handler and the
8
+ * popover machine folds the panel either way. The children are the
9
+ * trigger; give it a single element (wrap a group in a span
10
+ * otherwise).
9
11
  */
10
12
  export interface PopconfirmProps {
13
+ id?: string;
11
14
  /** The question the reader is answering. */
12
15
  message: string;
13
16
  confirmText?: string;
@@ -16,5 +19,6 @@ export interface PopconfirmProps {
16
19
  onConfirm?: () => void;
17
20
  onCancel?: () => void;
18
21
  }
19
- export declare function Popconfirm({ message, confirmText, cancelText, children, onConfirm, onCancel }: PopconfirmProps): import("react").JSX.Element;
22
+ declare function PopconfirmImpl({ message, confirmText, cancelText, children, onConfirm, onCancel, id }: PopconfirmProps): import("react").JSX.Element;
23
+ export declare const Popconfirm: typeof PopconfirmImpl & typeof Popover;
20
24
  //#endregion
@@ -1,20 +1,16 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
2
  import { Button } from "../button/index.mjs";
3
+ import { Popover as Popover$1 } from "../popover/index.mjs";
2
4
  import { injectComponentStyle } from "@bysages/core";
3
5
  import { jsx, jsxs } from "react/jsx-runtime";
4
- import { useState } from "react";
5
6
  import { Popover } from "@ark-ui/react/popover";
6
7
  import { Portal } from "@ark-ui/react/portal";
7
8
  //#region src/components/popconfirm/index.tsx
8
- function Popconfirm({ message, confirmText = "Confirm", cancelText = "Cancel", children, onConfirm, onCancel }) {
9
+ function PopconfirmImpl({ message, confirmText = "Confirm", cancelText = "Cancel", children, onConfirm, onCancel, id }) {
9
10
  injectComponentStyle("popconfirm");
10
- const [open, setOpen] = useState(false);
11
- function settle(confirmed) {
12
- setOpen(false);
13
- (confirmed ? onConfirm : onCancel)?.();
14
- }
11
+ const hostId = useElementId("popconfirm", { id });
15
12
  return /* @__PURE__ */ jsxs(Popover.Root, {
16
- open,
17
- onOpenChange: (details) => setOpen(details.open),
13
+ id: `${hostId}:popover`,
18
14
  positioning: { placement: "top" },
19
15
  children: [/* @__PURE__ */ jsx(Popover.Trigger, {
20
16
  asChild: true,
@@ -26,19 +22,28 @@ function Popconfirm({ message, confirmText = "Confirm", cancelText = "Cancel", c
26
22
  children: message
27
23
  }), /* @__PURE__ */ jsxs("div", {
28
24
  "data-part": "actions",
29
- children: [/* @__PURE__ */ jsx(Button, {
30
- variant: "ghost",
31
- size: "sm",
32
- onClick: () => settle(false),
33
- children: cancelText
34
- }), /* @__PURE__ */ jsx(Button, {
35
- size: "sm",
36
- onClick: () => settle(true),
37
- children: confirmText
25
+ children: [/* @__PURE__ */ jsx(Popover.CloseTrigger, {
26
+ asChild: true,
27
+ children: /* @__PURE__ */ jsx(Button, {
28
+ variant: "ghost",
29
+ size: "sm",
30
+ "aria-label": cancelText,
31
+ onClick: () => onCancel?.(),
32
+ children: cancelText
33
+ })
34
+ }), /* @__PURE__ */ jsx(Popover.CloseTrigger, {
35
+ asChild: true,
36
+ children: /* @__PURE__ */ jsx(Button, {
37
+ size: "sm",
38
+ "aria-label": confirmText,
39
+ onClick: () => onConfirm?.(),
40
+ children: confirmText
41
+ })
38
42
  })]
39
43
  })]
40
44
  }) }) })]
41
45
  });
42
46
  }
47
+ const Popconfirm = Object.assign(PopconfirmImpl, Popover$1);
43
48
  //#endregion
44
49
  export { Popconfirm };
@@ -1,8 +1,2 @@
1
- import { Popover as Popover$1 } from "@ark-ui/react/popover";
2
- //#region src/components/popover/index.d.ts
3
- /** Ark's Popover, dressed in the paper-and-ink system: a paper vessel that
4
- * dissolves in on elevation, anchored to its trigger by a whisker arrow. The
5
- * API is Ark's own — Root, Trigger, Anchor, Indicator, Positioner, Content,
6
- * Title, Description, CloseTrigger, Arrow, ArrowTip. */
7
- export declare const Popover: typeof Popover$1;
8
- //#endregion
1
+ import { n as PopoverFacadeProps, t as Popover } from "../../index-Eu-Bttta.mjs";
2
+ export { Popover, PopoverFacadeProps };
@@ -1,11 +1,51 @@
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";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { isValidElement } from "react";
2
6
  import { Popover as Popover$1 } from "@ark-ui/react/popover";
3
7
  //#region src/components/popover/index.tsx
4
8
  /** Ark's Popover, dressed in the paper-and-ink system: a paper vessel that
5
- * dissolves in on elevation, anchored to its trigger by a whisker arrow. The
6
- * API is Ark's own — Root, Trigger, Anchor, Indicator, Positioner, Content,
7
- * Title, Description, CloseTrigger, Arrow, ArrowTip. */
8
- const Popover = Popover$1;
9
+ * dissolves in on elevation, anchored to its trigger by a whisker arrow.
10
+ * The API is Ark's own — Root, Trigger, Anchor, Indicator, Positioner,
11
+ * Content, Title, Description, CloseTrigger, Arrow, ArrowTip. */
12
+ function PopoverRoot(props) {
13
+ const id = useElementId("popover", props);
14
+ return /* @__PURE__ */ jsx(Popover$1.Root, {
15
+ ...props,
16
+ id
17
+ });
18
+ }
19
+ function PopoverFacade({ open, defaultOpen, trigger, content, label, description, disabled = false, placement, children, onOpenChange }) {
20
+ return /* @__PURE__ */ jsxs(PopoverRoot, {
21
+ ...placement === void 0 ? {} : { positioning: { placement } },
22
+ ...open === void 0 ? {} : { open },
23
+ ...defaultOpen === void 0 ? {} : { defaultOpen },
24
+ onOpenChange: (details) => onOpenChange?.(details.open),
25
+ children: [/* @__PURE__ */ jsx(Popover$1.Trigger, {
26
+ asChild: isValidElement(trigger),
27
+ disabled,
28
+ children: trigger ?? label
29
+ }), /* @__PURE__ */ jsx(Popover$1.Positioner, { children: /* @__PURE__ */ jsxs(Popover$1.Content, { children: [
30
+ /* @__PURE__ */ jsx(Popover$1.CloseTrigger, {
31
+ "aria-label": "Close",
32
+ children: iconNode("x", {
33
+ width: 14,
34
+ height: 14
35
+ })
36
+ }),
37
+ /* @__PURE__ */ jsx(Popover$1.Title, { children: label }),
38
+ description ? /* @__PURE__ */ jsx(Popover$1.Description, { children: description }) : null,
39
+ content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
40
+ children
41
+ ] }) })]
42
+ });
43
+ }
44
+ PopoverFacade.displayName = "SPopover";
45
+ const Popover = Object.assign(PopoverFacade, {
46
+ ...Popover$1,
47
+ Root: PopoverRoot
48
+ });
9
49
  injectComponentStyle("popover");
10
50
  //#endregion
11
51
  export { Popover };
@@ -1,2 +1,10 @@
1
- import { Presence, PresenceBaseProps, PresenceProps, PresenceProvider, UsePresenceContext, UsePresenceProps, UsePresenceReturn, usePresence, usePresenceContext } from "@ark-ui/react/presence";
2
- export { Presence, type PresenceBaseProps, type PresenceProps, PresenceProvider, type UsePresenceContext, type UsePresenceProps, type UsePresenceReturn, usePresence, usePresenceContext };
1
+ import { PresenceBaseProps, PresenceProps, UsePresenceContext, UsePresenceProps, UsePresenceReturn, usePresence, usePresenceContext } from "@ark-ui/react/presence";
2
+ //#region src/components/presence/index.d.ts
3
+ export declare const Presence: import("react").ForwardRefExoticComponent<import("@ark-ui/react/presence").PresenceProps & import("react").RefAttributes<HTMLDivElement>> & {
4
+ Root: import("react").ForwardRefExoticComponent<import("@ark-ui/react/presence").PresenceProps & import("react").RefAttributes<HTMLDivElement>>;
5
+ };
6
+ export declare const PresenceProvider: import("react").Provider<import("@ark-ui/react/presence").UsePresenceContext> & {
7
+ Root: import("react").Provider<import("@ark-ui/react/presence").UsePresenceContext>;
8
+ };
9
+ //#endregion
10
+ export { type PresenceBaseProps, type PresenceProps, type UsePresenceContext, type UsePresenceProps, type UsePresenceReturn, usePresence, usePresenceContext };
@@ -1,2 +1,7 @@
1
- import { Presence, PresenceProvider, usePresence, usePresenceContext } from "@ark-ui/react/presence";
1
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
2
+ import { Presence as Presence$1, PresenceProvider as PresenceProvider$1, usePresence, usePresenceContext } from "@ark-ui/react/presence";
3
+ //#region src/components/presence/index.tsx
4
+ const Presence = withSelfRoot(Presence$1);
5
+ const PresenceProvider = withSelfRoot(PresenceProvider$1);
6
+ //#endregion
2
7
  export { Presence, PresenceProvider, usePresence, usePresenceContext };
@@ -1,16 +1,31 @@
1
- import { ComponentProps } from "react";
1
+ import { CSSProperties, ComponentProps } from "react";
2
2
  import { Progress as Progress$1 } from "@ark-ui/react/progress";
3
3
  //#region src/components/progress/index.d.ts
4
4
  type ProgressRootProps = ComponentProps<typeof Progress$1.Root> & {
5
5
  /** One rung of the groove ladder — the track's thickness. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function ProgressRoot({ size, ...rest }: ProgressRootProps): import("react").JSX.Element;
8
+ declare function ProgressRoot(props: ProgressRootProps): import("react").JSX.Element;
9
9
  /** Ark's Progress, dressed in the paper-and-ink system: a quiet hairline
10
10
  * groove that the primary ink fills at the machine's pace. The API is
11
11
  * Ark's own — Root, Label, ValueText, Track, Range, View, Circle,
12
12
  * CircleTrack, CircleRange. */
13
- export declare const Progress: Omit<typeof Progress$1, "Root"> & {
13
+ type ProgressFacadeProps = {
14
+ value?: number | null;
15
+ defaultValue?: number | null;
16
+ min?: number;
17
+ max?: number;
18
+ label?: string;
19
+ variant?: "linear" | "circle";
20
+ size?: "sm" | "md" | "lg";
21
+ className?: string;
22
+ style?: CSSProperties;
23
+ onValueChange?: (value: number | null) => void;
24
+ };
25
+ /** The complete progress behind one value: a labelled linear groove by
26
+ * default, with a circular variant for compact status. */
27
+ declare function ProgressFacade(props: ProgressFacadeProps): import("react").JSX.Element;
28
+ export declare const Progress: typeof ProgressFacade & Omit<typeof Progress$1, "Root"> & {
14
29
  Root: typeof ProgressRoot;
15
30
  };
16
31
  //#endregion
@@ -1,21 +1,46 @@
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 { Progress as Progress$1 } from "@ark-ui/react/progress";
4
5
  //#region src/components/progress/index.tsx
5
- function ProgressRoot({ size = "md", ...rest }) {
6
+ const ProgressView = Progress$1.View;
7
+ function ProgressRoot(props) {
8
+ injectComponentStyle("progress");
9
+ const id = useElementId("progress", props);
10
+ const { size = "md", ...rest } = props;
6
11
  return /* @__PURE__ */ jsx(Progress$1.Root, {
7
12
  ...rest,
13
+ id,
8
14
  "data-size": size
9
15
  });
10
16
  }
11
- /** Ark's Progress, dressed in the paper-and-ink system: a quiet hairline
12
- * groove that the primary ink fills at the machine's pace. The API is
13
- * Ark's own — Root, Label, ValueText, Track, Range, View, Circle,
14
- * CircleTrack, CircleRange. */
15
- const Progress = {
17
+ /** The complete progress behind one value: a labelled linear groove by
18
+ * default, with a circular variant for compact status. */
19
+ function ProgressFacade(props) {
20
+ const { value, defaultValue, min, max, label, variant = "linear", size = "md", className, style, onValueChange } = props;
21
+ return /* @__PURE__ */ jsxs(ProgressRoot, {
22
+ size,
23
+ "data-variant": variant,
24
+ defaultValue,
25
+ value,
26
+ min,
27
+ max,
28
+ className,
29
+ style,
30
+ onValueChange: (event) => onValueChange?.(event.value),
31
+ children: [
32
+ label ? /* @__PURE__ */ jsx(Progress$1.Label, { children: label }) : null,
33
+ /* @__PURE__ */ jsx(Progress$1.ValueText, {}),
34
+ variant === "circle" ? /* @__PURE__ */ jsx(ProgressView, {
35
+ view: "circle",
36
+ children: /* @__PURE__ */ jsx(Progress$1.Circle, { children: /* @__PURE__ */ jsx(Progress$1.CircleRange, {}) })
37
+ }) : /* @__PURE__ */ jsx(Progress$1.Track, { children: /* @__PURE__ */ jsx(Progress$1.Range, {}) })
38
+ ]
39
+ });
40
+ }
41
+ const Progress = Object.assign(ProgressFacade, {
16
42
  ...Progress$1,
17
43
  Root: ProgressRoot
18
- };
19
- injectComponentStyle("progress");
44
+ });
20
45
  //#endregion
21
46
  export { Progress };
@@ -18,5 +18,8 @@ export interface ProgressGroupProps extends HTMLAttributes<HTMLDivElement> {
18
18
  max?: number;
19
19
  showLegend?: boolean;
20
20
  }
21
- export declare function ProgressGroup({ segments, max, showLegend, ...rest }: ProgressGroupProps): import("react").JSX.Element;
21
+ declare function ProgressGroupImpl({ segments, max, showLegend, ...rest }: ProgressGroupProps): import("react").JSX.Element;
22
+ export declare const ProgressGroup: typeof ProgressGroupImpl & {
23
+ Root: typeof ProgressGroupImpl;
24
+ };
22
25
  //#endregion
@@ -1,7 +1,8 @@
1
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import { jsx, jsxs } from "react/jsx-runtime";
3
4
  //#region src/components/progress-group/index.tsx
4
- function ProgressGroup({ segments, max, showLegend = true, ...rest }) {
5
+ function ProgressGroupImpl({ segments, max, showLegend = true, ...rest }) {
5
6
  injectComponentStyle("progress-group");
6
7
  const total = max ?? segments.reduce((sum, segment) => sum + segment.value, 0);
7
8
  const share = (value) => total > 0 ? `${value / total * 100}%` : "0%";
@@ -22,7 +23,7 @@ function ProgressGroup({ segments, max, showLegend = true, ...rest }) {
22
23
  "aria-valuemin": 0,
23
24
  "aria-valuemax": total,
24
25
  "aria-label": nameOf(segment, index),
25
- style: { inlineSize: share(segment.value) }
26
+ style: { "--bs-progress-group-share": share(segment.value) }
26
27
  }, index))
27
28
  }), showLegend ? /* @__PURE__ */ jsx("div", {
28
29
  "data-scope": "progress-group",
@@ -52,5 +53,6 @@ function ProgressGroup({ segments, max, showLegend = true, ...rest }) {
52
53
  }) : null]
53
54
  });
54
55
  }
56
+ const ProgressGroup = withSelfRoot(ProgressGroupImpl);
55
57
  //#endregion
56
58
  export { ProgressGroup };
@@ -1,8 +1,21 @@
1
+ import { CSSProperties, ComponentProps } from "react";
1
2
  import { QrCode as QrCode$1 } from "@ark-ui/react/qr-code";
2
3
  //#region src/components/qr-code/index.d.ts
3
4
  /** Ark's QrCode, dressed in the paper-and-ink system: the pattern prints in
4
5
  * ink on the page, with an optional paper badge and a seal-cut download
5
6
  * control. The API is Ark's own — Root, Frame, Pattern, Overlay,
6
7
  * DownloadTrigger. */
7
- export declare const QrCode: typeof QrCode$1;
8
+ declare function QrCodeRoot(props: ComponentProps<typeof QrCode$1.Root>): import("react").JSX.Element;
9
+ type QrCodeFacadeProps = {
10
+ value?: string;
11
+ defaultValue?: string;
12
+ className?: string;
13
+ style?: CSSProperties;
14
+ onValueChange?: (value: string) => void;
15
+ };
16
+ /** The complete printable code behind one payload. */
17
+ declare function QrCodeFacade(props: QrCodeFacadeProps): import("react").JSX.Element;
18
+ export declare const QrCode: typeof QrCodeFacade & Omit<typeof QrCode$1, "Root"> & {
19
+ Root: typeof QrCodeRoot;
20
+ };
8
21
  //#endregion
@@ -1,11 +1,35 @@
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 { QrCode as QrCode$1 } from "@ark-ui/react/qr-code";
3
5
  //#region src/components/qr-code/index.tsx
4
6
  /** Ark's QrCode, dressed in the paper-and-ink system: the pattern prints in
5
7
  * ink on the page, with an optional paper badge and a seal-cut download
6
8
  * control. The API is Ark's own — Root, Frame, Pattern, Overlay,
7
9
  * DownloadTrigger. */
8
- const QrCode = QrCode$1;
9
- injectComponentStyle("qr-code");
10
+ function QrCodeRoot(props) {
11
+ injectComponentStyle("qr-code");
12
+ const id = useElementId("qr-code", props);
13
+ return /* @__PURE__ */ jsx(QrCode$1.Root, {
14
+ ...props,
15
+ id
16
+ });
17
+ }
18
+ /** The complete printable code behind one payload. */
19
+ function QrCodeFacade(props) {
20
+ const { value, defaultValue, className, style, onValueChange } = props;
21
+ return /* @__PURE__ */ jsx(QrCodeRoot, {
22
+ defaultValue,
23
+ value,
24
+ className,
25
+ style,
26
+ onValueChange: (event) => onValueChange?.(event.value),
27
+ children: /* @__PURE__ */ jsx(QrCode$1.Frame, { children: /* @__PURE__ */ jsx(QrCode$1.Pattern, {}) })
28
+ });
29
+ }
30
+ const QrCode = Object.assign(QrCodeFacade, {
31
+ ...QrCode$1,
32
+ Root: QrCodeRoot
33
+ });
10
34
  //#endregion
11
35
  export { QrCode };
@@ -5,12 +5,37 @@ type RadioGroupRootProps = ComponentProps<typeof RadioGroup$1.Root> & {
5
5
  /** One rung for the dial; the chosen dot rides it. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function RadioGroupRoot({ size, ...rest }: RadioGroupRootProps): import("react").JSX.Element;
8
+ declare function RadioGroupRoot(props: RadioGroupRootProps): import("react").JSX.Element;
9
+ export type RadioGroupItem = {
10
+ value: string;
11
+ label: string;
12
+ disabled?: boolean;
13
+ };
14
+ export interface RadioGroupFacadeProps {
15
+ value?: string;
16
+ defaultValue?: string;
17
+ items: RadioGroupItem[];
18
+ label?: string;
19
+ disabled?: boolean;
20
+ invalid?: boolean;
21
+ required?: boolean;
22
+ readOnly?: boolean;
23
+ orientation?: "horizontal" | "vertical";
24
+ /** One rung for the dial; the chosen dot rides it. */
25
+ size?: "sm" | "md" | "lg";
26
+ className?: string;
27
+ onValueChange?: (value: string) => void;
28
+ }
29
+ declare function RadioGroupFacade({ value, defaultValue, items, label, disabled, invalid, required, readOnly, orientation, size, className, onValueChange }: RadioGroupFacadeProps): import("react").JSX.Element;
30
+ declare namespace RadioGroupFacade {
31
+ var displayName: string;
32
+ }
9
33
  /** Ark's RadioGroup, dressed in the paper-and-ink system: a column of
10
34
  * full-circle seals that fill flat with primary ink when chosen, the dot
11
35
  * punched through as paper. The API is Ark's own — Root, Label, Item,
12
36
  * ItemText, ItemControl, Indicator, ItemHiddenInput. */
13
- export declare const RadioGroup: Omit<typeof RadioGroup$1, "Root"> & {
37
+ type RadioGroupParts = Omit<typeof RadioGroup$1, "Root"> & {
14
38
  Root: typeof RadioGroupRoot;
15
39
  };
40
+ export declare const RadioGroup: typeof RadioGroupFacade & RadioGroupParts;
16
41
  //#endregion
@@ -1,21 +1,45 @@
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 { RadioGroup as RadioGroup$1 } from "@ark-ui/react/radio-group";
4
5
  //#region src/components/radio-group/index.tsx
5
- function RadioGroupRoot({ size = "md", ...rest }) {
6
+ function RadioGroupRoot(props) {
7
+ const id = useElementId("radio-group", props);
8
+ const { size = "md", ...rest } = props;
6
9
  return /* @__PURE__ */ jsx(RadioGroup$1.Root, {
7
10
  ...rest,
11
+ id,
8
12
  "data-size": size
9
13
  });
10
14
  }
11
- /** Ark's RadioGroup, dressed in the paper-and-ink system: a column of
12
- * full-circle seals that fill flat with primary ink when chosen, the dot
13
- * punched through as paper. The API is Ark's own — Root, Label, Item,
14
- * ItemText, ItemControl, Indicator, ItemHiddenInput. */
15
- const RadioGroup = {
15
+ function RadioGroupFacade({ value, defaultValue, items, label, disabled = false, invalid = false, required = false, readOnly = false, orientation = "vertical", size = "md", className, onValueChange }) {
16
+ return /* @__PURE__ */ jsxs(RadioGroupRoot, {
17
+ className,
18
+ size,
19
+ disabled,
20
+ invalid,
21
+ readOnly,
22
+ required,
23
+ orientation,
24
+ defaultValue,
25
+ ...value === void 0 ? {} : { value },
26
+ onValueChange: (details) => onValueChange?.(details.value ?? ""),
27
+ children: [label ? /* @__PURE__ */ jsx(RadioGroup$1.Label, { children: label }) : null, items.map((item) => /* @__PURE__ */ jsxs(RadioGroup$1.Item, {
28
+ value: item.value,
29
+ disabled: item.disabled,
30
+ children: [
31
+ /* @__PURE__ */ jsx(RadioGroup$1.ItemControl, {}),
32
+ /* @__PURE__ */ jsx(RadioGroup$1.ItemText, { children: item.label }),
33
+ /* @__PURE__ */ jsx(RadioGroup$1.ItemHiddenInput, {})
34
+ ]
35
+ }, item.value))]
36
+ });
37
+ }
38
+ RadioGroupFacade.displayName = "SRadioGroup";
39
+ const RadioGroup = Object.assign(RadioGroupFacade, {
16
40
  ...RadioGroup$1,
17
41
  Root: RadioGroupRoot
18
- };
42
+ });
19
43
  injectComponentStyle("radio-group");
20
44
  //#endregion
21
45
  export { RadioGroup };
@@ -5,12 +5,29 @@ type RatingGroupRootProps = ComponentProps<typeof RatingGroup$1.Root> & {
5
5
  /** One rung of the control-height ladder every seal stands on. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function RatingGroupRoot({ size, ...rest }: RatingGroupRootProps): import("react").JSX.Element;
8
+ declare function RatingGroupRoot(props: RatingGroupRootProps): import("react").JSX.Element;
9
+ export interface RatingGroupFacadeProps {
10
+ value?: number;
11
+ defaultValue?: number;
12
+ label?: string;
13
+ count?: number;
14
+ disabled?: boolean;
15
+ readOnly?: boolean;
16
+ /** One rung of the control-height ladder every seal stands on. */
17
+ size?: "sm" | "md" | "lg";
18
+ className?: string;
19
+ onValueChange?: (value: number) => void;
20
+ }
21
+ declare function RatingGroupFacade({ value, defaultValue, label, count, disabled, readOnly, size, className, onValueChange }: RatingGroupFacadeProps): import("react").JSX.Element;
22
+ declare namespace RatingGroupFacade {
23
+ var displayName: string;
24
+ }
9
25
  /** Ark's RatingGroup, dressed in the paper-and-ink system: a row of quiet
10
- * seals whose glyphs take the primary pigment as they light up. The API is
26
+ * seals whose icons take the primary pigment as they light up. The API is
11
27
  * Ark's own — Root, Label, Control, Item, HiddenInput (plus the Context and
12
28
  * ItemContext render helpers). */
13
- export declare const RatingGroup: Omit<typeof RatingGroup$1, "Root"> & {
29
+ type RatingGroupParts = Omit<typeof RatingGroup$1, "Root"> & {
14
30
  Root: typeof RatingGroupRoot;
15
31
  };
32
+ export declare const RatingGroup: typeof RatingGroupFacade & RatingGroupParts;
16
33
  //#endregion