@bysages/react 0.3.1 → 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 (272) hide show
  1. package/dist/{ai-response-BfKTmtCt.mjs → ai-response-B4DX7nmJ.mjs} +3 -1
  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 +1 -1
  8. package/dist/components/ai/index.mjs +5 -3
  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 +16 -44
  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 +10 -14
  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 +4 -1
  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 +6 -1
  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 +2 -11
  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/button/index.d.mts +4 -1
  47. package/dist/components/button/index.mjs +3 -1
  48. package/dist/components/calendar/index.d.mts +3 -1
  49. package/dist/components/calendar/index.mjs +9 -10
  50. package/dist/components/carousel/index.d.mts +21 -1
  51. package/dist/components/carousel/index.mjs +43 -2
  52. package/dist/components/cascade-select/index.d.mts +6 -1
  53. package/dist/components/cascade-select/index.mjs +12 -35
  54. package/dist/components/checkbox/index.d.mts +20 -2
  55. package/dist/components/checkbox/index.mjs +28 -8
  56. package/dist/components/checkbox-group/index.d.mts +8 -6
  57. package/dist/components/checkbox-group/index.mjs +44 -48
  58. package/dist/components/chip/index.d.mts +4 -1
  59. package/dist/components/chip/index.mjs +3 -1
  60. package/dist/components/client-only/index.d.mts +7 -2
  61. package/dist/components/client-only/index.mjs +5 -1
  62. package/dist/components/clipboard/index.d.mts +17 -4
  63. package/dist/components/clipboard/index.mjs +33 -5
  64. package/dist/components/collapsible/index.d.mts +16 -4
  65. package/dist/components/collapsible/index.mjs +25 -1
  66. package/dist/components/color-picker/index.d.mts +20 -4
  67. package/dist/components/color-picker/index.mjs +56 -14
  68. package/dist/components/combobox/index.d.mts +27 -1
  69. package/dist/components/combobox/index.mjs +62 -5
  70. package/dist/components/command/index.d.mts +4 -1
  71. package/dist/components/command/index.mjs +7 -1
  72. package/dist/components/comment/index.d.mts +4 -1
  73. package/dist/components/comment/index.mjs +3 -1
  74. package/dist/components/config-provider/index.d.mts +4 -1
  75. package/dist/components/config-provider/index.mjs +3 -1
  76. package/dist/components/container/index.d.mts +4 -1
  77. package/dist/components/container/index.mjs +3 -1
  78. package/dist/components/data-view/index.d.mts +4 -1
  79. package/dist/components/data-view/index.mjs +3 -1
  80. package/dist/components/date-input/index.d.mts +19 -4
  81. package/dist/components/date-input/index.mjs +33 -9
  82. package/dist/components/date-picker/index.d.mts +21 -4
  83. package/dist/components/date-picker/index.mjs +58 -11
  84. package/dist/components/deferred-content/index.d.mts +4 -1
  85. package/dist/components/deferred-content/index.mjs +3 -1
  86. package/dist/components/descriptions/index.d.mts +10 -2
  87. package/dist/components/descriptions/index.mjs +13 -8
  88. package/dist/components/dialog/index.d.mts +18 -5
  89. package/dist/components/dialog/index.mjs +43 -1
  90. package/dist/components/download-trigger/index.d.mts +7 -2
  91. package/dist/components/download-trigger/index.mjs +5 -1
  92. package/dist/components/drawer/index.d.mts +18 -6
  93. package/dist/components/drawer/index.mjs +40 -1
  94. package/dist/components/dynamic-input/index.d.mts +4 -1
  95. package/dist/components/dynamic-input/index.mjs +10 -18
  96. package/dist/components/editable/index.d.mts +28 -7
  97. package/dist/components/editable/index.mjs +43 -4
  98. package/dist/components/ellipsis/index.d.mts +4 -1
  99. package/dist/components/ellipsis/index.mjs +3 -1
  100. package/dist/components/field/index.d.mts +30 -5
  101. package/dist/components/field/index.mjs +36 -3
  102. package/dist/components/fieldset/index.d.mts +19 -4
  103. package/dist/components/fieldset/index.mjs +28 -3
  104. package/dist/components/file-upload/index.d.mts +29 -9
  105. package/dist/components/file-upload/index.mjs +46 -10
  106. package/dist/components/floating-panel/index.d.mts +18 -6
  107. package/dist/components/floating-panel/index.mjs +55 -1
  108. package/dist/components/focus-trap/index.d.mts +7 -2
  109. package/dist/components/focus-trap/index.mjs +5 -1
  110. package/dist/components/form/index.d.mts +1 -1
  111. package/dist/components/form/index.mjs +5 -2
  112. package/dist/components/frame/index.d.mts +4 -8
  113. package/dist/components/frame/index.mjs +13 -1
  114. package/dist/components/grid/index.d.mts +4 -1
  115. package/dist/components/grid/index.mjs +3 -1
  116. package/dist/components/highlight/index.d.mts +3 -5
  117. package/dist/components/highlight/index.mjs +6 -1
  118. package/dist/components/hover-card/index.d.mts +20 -4
  119. package/dist/components/hover-card/index.mjs +32 -1
  120. package/dist/components/icon/index.d.mts +10 -8
  121. package/dist/components/icon/index.mjs +5 -3
  122. package/dist/components/image/index.d.mts +5 -2
  123. package/dist/components/image/index.mjs +14 -29
  124. package/dist/components/image-cropper/index.d.mts +13 -2
  125. package/dist/components/image-cropper/index.mjs +34 -2
  126. package/dist/components/image-viewer/index.d.mts +2 -24
  127. package/dist/components/image-viewer/index.mjs +3 -113
  128. package/dist/components/input/index.d.mts +3 -1
  129. package/dist/components/input/index.mjs +1 -1
  130. package/dist/components/json-tree-view/index.d.mts +17 -1
  131. package/dist/components/json-tree-view/index.mjs +26 -5
  132. package/dist/components/kbd/index.d.mts +4 -1
  133. package/dist/components/kbd/index.mjs +3 -1
  134. package/dist/components/layout/index.d.mts +25 -7
  135. package/dist/components/layout/index.mjs +157 -63
  136. package/dist/components/link/index.d.mts +4 -1
  137. package/dist/components/link/index.mjs +3 -1
  138. package/dist/components/listbox/index.d.mts +22 -1
  139. package/dist/components/listbox/index.mjs +36 -4
  140. package/dist/components/marquee/index.d.mts +18 -1
  141. package/dist/components/marquee/index.mjs +34 -2
  142. package/dist/components/masonry/index.d.mts +4 -1
  143. package/dist/components/masonry/index.mjs +3 -1
  144. package/dist/components/media-player/index.d.mts +2 -0
  145. package/dist/components/media-player/index.mjs +2 -0
  146. package/dist/components/mentions/index.d.mts +1 -1
  147. package/dist/components/mentions/index.mjs +1 -1
  148. package/dist/components/menu/index.d.mts +29 -11
  149. package/dist/components/menu/index.mjs +34 -12
  150. package/dist/components/menubar/index.d.mts +3 -1
  151. package/dist/components/menubar/index.mjs +6 -1
  152. package/dist/components/navigation-menu/index.d.mts +25 -1
  153. package/dist/components/navigation-menu/index.mjs +36 -1
  154. package/dist/components/number-input/index.d.mts +28 -6
  155. package/dist/components/number-input/index.mjs +33 -8
  156. package/dist/components/order-list/index.d.mts +4 -1
  157. package/dist/components/order-list/index.mjs +26 -24
  158. package/dist/components/pagination/index.d.mts +23 -3
  159. package/dist/components/pagination/index.mjs +57 -12
  160. package/dist/components/password-input/index.d.mts +24 -6
  161. package/dist/components/password-input/index.mjs +31 -8
  162. package/dist/components/pin-input/index.d.mts +23 -5
  163. package/dist/components/pin-input/index.mjs +29 -7
  164. package/dist/components/popconfirm/index.d.mts +9 -5
  165. package/dist/components/popconfirm/index.mjs +23 -18
  166. package/dist/components/popover/index.d.mts +2 -8
  167. package/dist/components/popover/index.mjs +44 -4
  168. package/dist/components/presence/index.d.mts +10 -2
  169. package/dist/components/presence/index.mjs +6 -1
  170. package/dist/components/progress/index.d.mts +18 -3
  171. package/dist/components/progress/index.mjs +34 -9
  172. package/dist/components/progress-group/index.d.mts +4 -1
  173. package/dist/components/progress-group/index.mjs +4 -2
  174. package/dist/components/qr-code/index.d.mts +14 -1
  175. package/dist/components/qr-code/index.mjs +26 -2
  176. package/dist/components/radio-group/index.d.mts +27 -2
  177. package/dist/components/radio-group/index.mjs +32 -8
  178. package/dist/components/rating-group/index.d.mts +20 -3
  179. package/dist/components/rating-group/index.mjs +26 -8
  180. package/dist/components/result/index.d.mts +1 -1
  181. package/dist/components/result/index.mjs +2 -2
  182. package/dist/components/scroll-area/index.d.mts +14 -1
  183. package/dist/components/scroll-area/index.mjs +32 -2
  184. package/dist/components/segment-group/index.d.mts +28 -2
  185. package/dist/components/segment-group/index.mjs +34 -7
  186. package/dist/components/select/index.d.mts +2 -2
  187. package/dist/components/select/index.mjs +1 -1
  188. package/dist/components/separator/index.d.mts +4 -1
  189. package/dist/components/separator/index.mjs +3 -1
  190. package/dist/components/signature-pad/index.d.mts +25 -5
  191. package/dist/components/signature-pad/index.mjs +37 -3
  192. package/dist/components/skeleton/index.d.mts +4 -1
  193. package/dist/components/skeleton/index.mjs +3 -1
  194. package/dist/components/slider/index.d.mts +21 -2
  195. package/dist/components/slider/index.mjs +31 -8
  196. package/dist/components/spinner/index.d.mts +4 -1
  197. package/dist/components/spinner/index.mjs +3 -1
  198. package/dist/components/split-button/index.d.mts +3 -1
  199. package/dist/components/split-button/index.mjs +12 -17
  200. package/dist/components/splitter/index.d.mts +17 -4
  201. package/dist/components/splitter/index.mjs +35 -1
  202. package/dist/components/spotlight/index.d.mts +4 -1
  203. package/dist/components/spotlight/index.mjs +3 -1
  204. package/dist/components/stack/index.d.mts +4 -1
  205. package/dist/components/stack/index.mjs +6 -4
  206. package/dist/components/steps/index.d.mts +26 -6
  207. package/dist/components/steps/index.mjs +26 -11
  208. package/dist/components/swap/index.d.mts +11 -5
  209. package/dist/components/swap/index.mjs +30 -3
  210. package/dist/components/switch/index.d.mts +20 -2
  211. package/dist/components/switch/index.mjs +27 -8
  212. package/dist/components/table/index.d.mts +4 -1
  213. package/dist/components/table/index.mjs +26 -56
  214. package/dist/components/tabs/index.d.mts +24 -2
  215. package/dist/components/tabs/index.mjs +25 -9
  216. package/dist/components/tags-input/index.d.mts +33 -8
  217. package/dist/components/tags-input/index.mjs +41 -9
  218. package/dist/components/terminal/index.d.mts +4 -1
  219. package/dist/components/terminal/index.mjs +3 -1
  220. package/dist/components/textarea/index.d.mts +4 -1
  221. package/dist/components/textarea/index.mjs +3 -1
  222. package/dist/components/timer/index.d.mts +18 -1
  223. package/dist/components/timer/index.mjs +51 -2
  224. package/dist/components/toast/index.d.mts +3 -6
  225. package/dist/components/toast/index.mjs +22 -2
  226. package/dist/components/toc/index.d.mts +19 -5
  227. package/dist/components/toc/index.mjs +31 -5
  228. package/dist/components/toggle/index.d.mts +11 -4
  229. package/dist/components/toggle/index.mjs +21 -1
  230. package/dist/components/toggle-group/index.d.mts +26 -2
  231. package/dist/components/toggle-group/index.mjs +31 -6
  232. package/dist/components/toolbar/index.d.mts +4 -1
  233. package/dist/components/toolbar/index.mjs +3 -1
  234. package/dist/components/tooltip/index.d.mts +17 -4
  235. package/dist/components/tooltip/index.mjs +28 -1
  236. package/dist/components/tour/index.d.mts +18 -9
  237. package/dist/components/tour/index.mjs +44 -2
  238. package/dist/components/transfer/index.d.mts +3 -1
  239. package/dist/components/transfer/index.mjs +14 -26
  240. package/dist/components/tree-select/index.d.mts +3 -1
  241. package/dist/components/tree-select/index.mjs +11 -22
  242. package/dist/components/tree-view/index.d.mts +22 -2
  243. package/dist/components/tree-view/index.mjs +50 -8
  244. package/dist/components/typography/index.d.mts +4 -0
  245. package/dist/components/typography/index.mjs +1 -0
  246. package/dist/components/user/index.d.mts +4 -1
  247. package/dist/components/user/index.mjs +3 -1
  248. package/dist/components/virtual-list/index.d.mts +4 -1
  249. package/dist/components/virtual-list/index.mjs +10 -12
  250. package/dist/components/watermark/index.d.mts +4 -1
  251. package/dist/components/watermark/index.mjs +4 -2
  252. package/dist/family-DE_GQeeM.mjs +9 -0
  253. package/dist/icon-BALgGtNK.mjs +18 -0
  254. package/dist/id-C37UYLwJ.mjs +13 -0
  255. package/dist/image-viewer-Cf6thHax.mjs +141 -0
  256. package/dist/{index-Uefyw7Im.d.mts → index-Bbg4heDO.d.mts} +12 -7
  257. package/dist/index-BcRdWGY-.d.mts +115 -0
  258. package/dist/{index-Iy8m0Qev.d.mts → index-D_iKc2Uw.d.mts} +31 -2
  259. package/dist/{index-Dn5mHf1g.d.mts → index-DdNKngUQ.d.mts} +56 -17
  260. package/dist/index-Dj8S4eyJ.d.mts +41 -0
  261. package/dist/index-Eu-Bttta.d.mts +24 -0
  262. package/dist/{index-uPyYiWaL.d.mts → index-PsgGWW3m.d.mts} +8 -2
  263. package/dist/index.d.mts +36 -35
  264. package/dist/index.mjs +11 -10
  265. package/dist/{input-2oezH-dY.mjs → input-C21Zzuy6.mjs} +3 -1
  266. package/dist/media-player-gQrnxU52.mjs +554 -0
  267. package/dist/{mentions-DMIBCBOd.mjs → mentions-BuWibdci.mjs} +74 -42
  268. package/dist/select-ozUFq0zd.mjs +121 -0
  269. package/package.json +3 -3
  270. package/dist/chevron-BeHvt46K.mjs +0 -17
  271. package/dist/glyph-VI989p8H.mjs +0 -14
  272. package/dist/select-eAHutw56.mjs +0 -70
@@ -1,9 +1,22 @@
1
+ import { ReactNode } from "react";
1
2
  import { Dialog as Dialog$1, DialogOpenChangeDetails } from "@ark-ui/react/dialog";
2
3
  //#region src/components/dialog/index.d.ts
3
- /** Ark's Dialog, dressed in the paper-and-ink system: the sheet dissolves
4
- * in on elevation, the backdrop fades, and nested overlays stack through
5
- * the shared z-index ladder. The API is Ark's own — Root, Trigger,
6
- * Backdrop, Positioner, Content, Title, Description, CloseTrigger. */
7
- export declare const Dialog: typeof Dialog$1;
4
+ export interface DialogFacadeProps {
5
+ open?: boolean;
6
+ defaultOpen?: boolean;
7
+ trigger?: string;
8
+ content?: string;
9
+ label?: string;
10
+ description?: string;
11
+ disabled?: boolean;
12
+ children?: ReactNode;
13
+ onOpenChange?: (open: boolean) => void;
14
+ }
15
+ declare function DialogFacade({ open, defaultOpen, trigger, content, label, description, disabled, children, onOpenChange }: DialogFacadeProps): import("react").JSX.Element;
16
+ declare namespace DialogFacade {
17
+ var displayName: string;
18
+ }
19
+ type DialogParts = typeof Dialog$1;
20
+ export declare const Dialog: typeof DialogFacade & DialogParts;
8
21
  //#endregion
9
22
  export type { DialogOpenChangeDetails };
@@ -1,11 +1,53 @@
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";
2
5
  import { Dialog as Dialog$1 } from "@ark-ui/react/dialog";
3
6
  //#region src/components/dialog/index.tsx
4
7
  /** Ark's Dialog, dressed in the paper-and-ink system: the sheet dissolves
5
8
  * in on elevation, the backdrop fades, and nested overlays stack through
6
9
  * the shared z-index ladder. The API is Ark's own — Root, Trigger,
7
10
  * Backdrop, Positioner, Content, Title, Description, CloseTrigger. */
8
- const Dialog = Dialog$1;
11
+ function DialogRoot(props) {
12
+ const id = useElementId("dialog", props);
13
+ return /* @__PURE__ */ jsx(Dialog$1.Root, {
14
+ ...props,
15
+ id
16
+ });
17
+ }
18
+ function DialogFacade({ open, defaultOpen, trigger, content, label, description, disabled = false, children, onOpenChange }) {
19
+ const title = label ?? trigger;
20
+ return /* @__PURE__ */ jsxs(DialogRoot, {
21
+ ...open === void 0 ? {} : { open },
22
+ ...defaultOpen === void 0 ? {} : { defaultOpen },
23
+ onOpenChange: (details) => onOpenChange?.(details.open),
24
+ children: [
25
+ /* @__PURE__ */ jsx(Dialog$1.Trigger, {
26
+ disabled,
27
+ children: trigger ?? title ?? "Open"
28
+ }),
29
+ /* @__PURE__ */ jsx(Dialog$1.Backdrop, {}),
30
+ /* @__PURE__ */ jsx(Dialog$1.Positioner, { children: /* @__PURE__ */ jsxs(Dialog$1.Content, { children: [
31
+ /* @__PURE__ */ jsx(Dialog$1.Title, { children: title }),
32
+ description ? /* @__PURE__ */ jsx(Dialog$1.Description, { children: description }) : null,
33
+ content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
34
+ children,
35
+ /* @__PURE__ */ jsx(Dialog$1.CloseTrigger, {
36
+ "aria-label": "Close",
37
+ children: iconNode("x", {
38
+ width: 14,
39
+ height: 14
40
+ })
41
+ })
42
+ ] }) })
43
+ ]
44
+ });
45
+ }
46
+ DialogFacade.displayName = "SDialog";
47
+ const Dialog = Object.assign(DialogFacade, {
48
+ ...Dialog$1,
49
+ Root: DialogRoot
50
+ });
9
51
  injectComponentStyle("dialog");
10
52
  //#endregion
11
53
  export { Dialog };
@@ -1,2 +1,7 @@
1
- import { DownloadTrigger, DownloadTriggerBaseProps, DownloadTriggerProps, DownloadableData, UseDownloadProps, UseDownloadReturn, useDownload } from "@ark-ui/react/download-trigger";
2
- export { DownloadTrigger, type DownloadTriggerBaseProps, type DownloadTriggerProps, type DownloadableData, type UseDownloadProps, type UseDownloadReturn, useDownload };
1
+ import { DownloadTriggerBaseProps, DownloadTriggerProps, DownloadableData, UseDownloadProps, UseDownloadReturn, useDownload } from "@ark-ui/react/download-trigger";
2
+ //#region src/components/download-trigger/index.d.ts
3
+ export declare const DownloadTrigger: import("react").ForwardRefExoticComponent<import("@ark-ui/react/download-trigger").DownloadTriggerProps & import("react").RefAttributes<HTMLButtonElement>> & {
4
+ Root: import("react").ForwardRefExoticComponent<import("@ark-ui/react/download-trigger").DownloadTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
5
+ };
6
+ //#endregion
7
+ export { type DownloadTriggerBaseProps, type DownloadTriggerProps, type DownloadableData, type UseDownloadProps, type UseDownloadReturn, useDownload };
@@ -1,2 +1,6 @@
1
- import { DownloadTrigger, useDownload } from "@ark-ui/react/download-trigger";
1
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
2
+ import { DownloadTrigger as DownloadTrigger$1, useDownload } from "@ark-ui/react/download-trigger";
3
+ //#region src/components/download-trigger/index.tsx
4
+ const DownloadTrigger = withSelfRoot(DownloadTrigger$1);
5
+ //#endregion
2
6
  export { DownloadTrigger, useDownload };
@@ -1,9 +1,21 @@
1
+ import { ReactNode } from "react";
1
2
  import { Drawer as Drawer$1 } from "@ark-ui/react/drawer";
2
3
  //#region src/components/drawer/index.d.ts
3
- /** Ark's Drawer, dressed in the paper-and-ink system: a full-height sheet
4
- * cut flush to the edge it rises from, sliding on the machine's translate
5
- * under the grabber's hand. The API is Ark's own — Root, Trigger,
6
- * Backdrop, Positioner, Content, Grabber, GrabberIndicator, Title,
7
- * Description, CloseTrigger, SwipeArea. */
8
- export declare const Drawer: typeof Drawer$1;
4
+ export interface DrawerFacadeProps {
5
+ open?: boolean;
6
+ defaultOpen?: boolean;
7
+ trigger?: string;
8
+ content?: string;
9
+ label: string;
10
+ description?: string;
11
+ disabled?: boolean;
12
+ children?: ReactNode;
13
+ onOpenChange?: (open: boolean) => void;
14
+ }
15
+ declare function DrawerFacade({ open, defaultOpen, trigger, content, label, description, disabled, children, onOpenChange }: DrawerFacadeProps): import("react").JSX.Element;
16
+ declare namespace DrawerFacade {
17
+ var displayName: string;
18
+ }
19
+ type DrawerParts = typeof Drawer$1;
20
+ export declare const Drawer: typeof DrawerFacade & DrawerParts;
9
21
  //#endregion
@@ -1,4 +1,7 @@
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";
2
5
  import { Drawer as Drawer$1 } from "@ark-ui/react/drawer";
3
6
  //#region src/components/drawer/index.tsx
4
7
  /** Ark's Drawer, dressed in the paper-and-ink system: a full-height sheet
@@ -6,7 +9,43 @@ import { Drawer as Drawer$1 } from "@ark-ui/react/drawer";
6
9
  * under the grabber's hand. The API is Ark's own — Root, Trigger,
7
10
  * Backdrop, Positioner, Content, Grabber, GrabberIndicator, Title,
8
11
  * Description, CloseTrigger, SwipeArea. */
9
- const Drawer = Drawer$1;
12
+ function DrawerRoot(props) {
13
+ const id = useElementId("drawer", props);
14
+ return /* @__PURE__ */ jsx(Drawer$1.Root, {
15
+ ...props,
16
+ id
17
+ });
18
+ }
19
+ function DrawerFacade({ open, defaultOpen, trigger, content, label, description, disabled = false, children, onOpenChange }) {
20
+ return /* @__PURE__ */ jsxs(DrawerRoot, {
21
+ ...open === void 0 ? {} : { open },
22
+ ...defaultOpen === void 0 ? {} : { defaultOpen },
23
+ onOpenChange: (details) => onOpenChange?.(details.open),
24
+ children: [
25
+ /* @__PURE__ */ jsx(Drawer$1.Trigger, {
26
+ disabled,
27
+ children: trigger ?? label
28
+ }),
29
+ /* @__PURE__ */ jsx(Drawer$1.Backdrop, {}),
30
+ /* @__PURE__ */ jsx(Drawer$1.Positioner, { children: /* @__PURE__ */ jsxs(Drawer$1.Content, { children: [
31
+ /* @__PURE__ */ jsx(Drawer$1.Grabber, { children: /* @__PURE__ */ jsx(Drawer$1.GrabberIndicator, {}) }),
32
+ /* @__PURE__ */ jsx(Drawer$1.Title, { children: label }),
33
+ description ? /* @__PURE__ */ jsx(Drawer$1.Description, { children: description }) : null,
34
+ content ? /* @__PURE__ */ jsx("p", { children: content }) : null,
35
+ children,
36
+ /* @__PURE__ */ jsx(Drawer$1.CloseTrigger, {
37
+ "aria-label": "Close",
38
+ children: iconNode("x")
39
+ })
40
+ ] }) })
41
+ ]
42
+ });
43
+ }
44
+ DrawerFacade.displayName = "SDrawer";
45
+ const Drawer = Object.assign(DrawerFacade, {
46
+ ...Drawer$1,
47
+ Root: DrawerRoot
48
+ });
10
49
  injectComponentStyle("drawer");
11
50
  //#endregion
12
51
  export { Drawer };
@@ -24,5 +24,8 @@ export interface DynamicInputProps extends HTMLAttributes<HTMLDivElement> {
24
24
  * grows past `max`, and the group always keeps one row: an entry list
25
25
  * that emptied itself would leave the reader no place to type.
26
26
  */
27
- export declare function DynamicInput({ value, min, max, placeholder, addLabel, disabled, invalid, size, onValueChange, children: _children, ...rest }: DynamicInputProps): import("react").JSX.Element;
27
+ declare function DynamicInputImpl({ value, min, max, placeholder, addLabel, disabled, invalid, size, onValueChange, children: _children, ...rest }: DynamicInputProps): import("react").JSX.Element;
28
+ export declare const DynamicInput: typeof DynamicInputImpl & {
29
+ Root: typeof DynamicInputImpl;
30
+ };
28
31
  //#endregion
@@ -1,6 +1,8 @@
1
+ import { t as iconNode } from "../../icon-BALgGtNK.mjs";
2
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
1
3
  import { n as useComponentMessages } from "../../messages-1jJWtaYU.mjs";
2
4
  import { Button } from "../button/index.mjs";
3
- import { t as Input } from "../../input-2oezH-dY.mjs";
5
+ import { t as Input } from "../../input-C21Zzuy6.mjs";
4
6
  import { injectComponentStyle } from "@bysages/core";
5
7
  import { jsx, jsxs } from "react/jsx-runtime";
6
8
  //#region src/components/dynamic-input/index.tsx
@@ -12,7 +14,7 @@ import { jsx, jsxs } from "react/jsx-runtime";
12
14
  * grows past `max`, and the group always keeps one row: an entry list
13
15
  * that emptied itself would leave the reader no place to type.
14
16
  */
15
- function DynamicInput({ value, min = 0, max, placeholder, addLabel = "Add entry", disabled = false, invalid = false, size = "md", onValueChange, children: _children, ...rest }) {
17
+ function DynamicInputImpl({ value, min = 0, max, placeholder, addLabel = "Add entry", disabled = false, invalid = false, size = "md", onValueChange, children: _children, ...rest }) {
16
18
  injectComponentStyle("dynamic-input");
17
19
  const messages = useComponentMessages();
18
20
  const values = value ?? [""];
@@ -51,7 +53,7 @@ function DynamicInput({ value, min = 0, max, placeholder, addLabel = "Add entry"
51
53
  disabled: disabled || !canRemove,
52
54
  "aria-label": messages.dynamicEntry.remove,
53
55
  onClick: () => remove(index),
54
- children: crossIcon()
56
+ children: crossIcon
55
57
  })]
56
58
  }, index)), /* @__PURE__ */ jsx("div", {
57
59
  "data-scope": "dynamic-input",
@@ -66,20 +68,10 @@ function DynamicInput({ value, min = 0, max, placeholder, addLabel = "Add entry"
66
68
  })]
67
69
  });
68
70
  }
69
- /** The one glyph a remove seal needs: a single crossing stroke. */
70
- function crossIcon() {
71
- return /* @__PURE__ */ jsx("svg", {
72
- width: 16,
73
- height: 16,
74
- viewBox: "0 0 24 24",
75
- fill: "none",
76
- stroke: "currentColor",
77
- strokeWidth: 1.75,
78
- strokeLinecap: "round",
79
- strokeLinejoin: "round",
80
- "aria-hidden": "true",
81
- children: /* @__PURE__ */ jsx("path", { d: "M18 6 6 18M6 6l12 12" })
82
- });
83
- }
71
+ const DynamicInput = withSelfRoot(DynamicInputImpl);
72
+ const crossIcon = iconNode("x", {
73
+ width: 16,
74
+ height: 16
75
+ });
84
76
  //#endregion
85
77
  export { DynamicInput };
@@ -1,16 +1,37 @@
1
- import { ComponentProps } from "react";
1
+ import { ComponentProps, ReactNode } from "react";
2
2
  import { Editable as Editable$1 } from "@ark-ui/react/editable";
3
3
  //#region src/components/editable/index.d.ts
4
- /** Ark's Editable, dressed in the paper-and-ink system: bare ink while
5
- * reading, the full field recipe while editing. The API is Ark's own —
6
- * Root, Area, Label, Preview, Input, EditTrigger, SubmitTrigger,
7
- * CancelTrigger, Control. */
8
4
  type EditableRootProps = ComponentProps<typeof Editable$1.Root> & {
9
5
  /** One rung of the control-height ladder for the editing field. */
10
6
  size?: "sm" | "md" | "lg";
11
7
  };
12
- declare function EditableRoot({ size, ...rest }: EditableRootProps): import("react").JSX.Element;
13
- export declare const Editable: Omit<typeof Editable$1, "Root"> & {
8
+ declare function EditableRoot(props: EditableRootProps): import("react").JSX.Element;
9
+ interface EditableFacadeProps {
10
+ value?: string;
11
+ defaultValue?: string;
12
+ label?: string;
13
+ placeholder?: string;
14
+ disabled?: boolean;
15
+ invalid?: boolean;
16
+ required?: boolean;
17
+ size?: "sm" | "md" | "lg";
18
+ onValueChange?: (value: string) => void;
19
+ children?: ReactNode;
20
+ }
21
+ /** The one-tag path: a named value with the house edit controls. Modes,
22
+ * custom triggers, and alternate editors stay on the anatomy. */
23
+ declare function EditableFacade({ value, defaultValue, label, placeholder, disabled, invalid, required, size, onValueChange }: EditableFacadeProps): import("react").JSX.Element;
24
+ export declare const Editable: typeof EditableFacade & {
14
25
  Root: typeof EditableRoot;
26
+ Area: import("react").ForwardRefExoticComponent<Editable$1.AreaProps & import("react").RefAttributes<HTMLDivElement>>;
27
+ CancelTrigger: import("react").ForwardRefExoticComponent<Editable$1.CancelTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
28
+ Context: (props: Editable$1.ContextProps) => ReactNode;
29
+ Control: import("react").ForwardRefExoticComponent<Editable$1.ControlProps & import("react").RefAttributes<HTMLDivElement>>;
30
+ EditTrigger: import("react").ForwardRefExoticComponent<Editable$1.EditTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
31
+ Input: import("react").ForwardRefExoticComponent<Editable$1.InputProps & import("react").RefAttributes<HTMLInputElement>>;
32
+ Label: import("react").ForwardRefExoticComponent<Editable$1.LabelProps & import("react").RefAttributes<HTMLLabelElement>>;
33
+ Preview: import("react").ForwardRefExoticComponent<Editable$1.PreviewProps & import("react").RefAttributes<HTMLSpanElement>>;
34
+ RootProvider: import("react").ForwardRefExoticComponent<Editable$1.RootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
35
+ SubmitTrigger: import("react").ForwardRefExoticComponent<Editable$1.SubmitTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
15
36
  };
16
37
  //#endregion
@@ -1,17 +1,56 @@
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 { Editable as Editable$1 } from "@ark-ui/react/editable";
4
6
  //#region src/components/editable/index.tsx
5
- function EditableRoot({ size = "md", ...rest }) {
7
+ function EditableRoot(props) {
8
+ const id = useElementId("editable", props);
9
+ const { size = "md", ...rest } = props;
6
10
  return /* @__PURE__ */ jsx(Editable$1.Root, {
7
11
  ...rest,
12
+ id,
8
13
  "data-size": size
9
14
  });
10
15
  }
11
- const Editable = {
16
+ /** The one-tag path: a named value with the house edit controls. Modes,
17
+ * custom triggers, and alternate editors stay on the anatomy. */
18
+ function EditableFacade({ value, defaultValue, label, placeholder, disabled = false, invalid = false, required = false, size = "md", onValueChange }) {
19
+ return /* @__PURE__ */ jsxs(EditableRoot, {
20
+ size,
21
+ disabled,
22
+ invalid,
23
+ required,
24
+ placeholder,
25
+ defaultValue,
26
+ ...value === void 0 ? {} : {
27
+ value,
28
+ onValueChange: (details) => onValueChange?.(details.value)
29
+ },
30
+ children: [
31
+ label ? /* @__PURE__ */ jsx(Editable$1.Label, { children: label }) : null,
32
+ /* @__PURE__ */ jsxs(Editable$1.Area, { children: [/* @__PURE__ */ jsx(Editable$1.Preview, {}), /* @__PURE__ */ jsx(Editable$1.Input, {})] }),
33
+ /* @__PURE__ */ jsxs(Editable$1.Control, { children: [
34
+ /* @__PURE__ */ jsx(Editable$1.EditTrigger, {
35
+ "aria-label": "Edit",
36
+ children: iconNode("pencil")
37
+ }),
38
+ /* @__PURE__ */ jsx(Editable$1.SubmitTrigger, {
39
+ "aria-label": "Submit",
40
+ children: iconNode("check")
41
+ }),
42
+ /* @__PURE__ */ jsx(Editable$1.CancelTrigger, {
43
+ "aria-label": "Cancel",
44
+ children: iconNode("x")
45
+ })
46
+ ] })
47
+ ]
48
+ });
49
+ }
50
+ const Editable = Object.assign(EditableFacade, {
12
51
  ...Editable$1,
13
52
  Root: EditableRoot
14
- };
53
+ });
15
54
  injectComponentStyle("editable");
16
55
  //#endregion
17
56
  export { Editable };
@@ -6,5 +6,8 @@ import { HTMLAttributes } from "react";
6
6
  export interface EllipsisProps extends HTMLAttributes<HTMLElement> {
7
7
  lines?: number;
8
8
  }
9
- export declare function Ellipsis({ lines, ...rest }: EllipsisProps): import("react").JSX.Element;
9
+ declare function EllipsisImpl({ lines, ...rest }: EllipsisProps): import("react").JSX.Element;
10
+ export declare const Ellipsis: typeof EllipsisImpl & {
11
+ Root: typeof EllipsisImpl;
12
+ };
10
13
  //#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 } from "react/jsx-runtime";
3
4
  //#region src/components/ellipsis/index.tsx
4
- function Ellipsis({ lines = 1, ...rest }) {
5
+ function EllipsisImpl({ lines = 1, ...rest }) {
5
6
  injectComponentStyle("ellipsis");
6
7
  const multiline = lines > 1;
7
8
  return /* @__PURE__ */ jsx("span", {
@@ -15,5 +16,6 @@ function Ellipsis({ lines = 1, ...rest }) {
15
16
  "data-multiline": multiline ? "" : void 0
16
17
  });
17
18
  }
19
+ const Ellipsis = withSelfRoot(EllipsisImpl);
18
20
  //#endregion
19
21
  export { Ellipsis };
@@ -1,8 +1,33 @@
1
1
  import { Field as Field$1 } from "@ark-ui/react/field";
2
2
  //#region src/components/field/index.d.ts
3
- /** Ark's Field, dressed in the paper-and-ink system: a tracked label, a
4
- * border-and-halo control, and quiet help text. The API is Ark's own —
5
- * Root, Label, Input, Textarea, Select, HelperText, ErrorText,
6
- * RequiredIndicator. */
7
- export declare const Field: typeof Field$1;
3
+ interface FieldFacadeProps {
4
+ value?: string | number;
5
+ defaultValue?: string | number;
6
+ label?: string;
7
+ description?: string;
8
+ placeholder?: string;
9
+ disabled?: boolean;
10
+ invalid?: boolean;
11
+ required?: boolean;
12
+ onValueChange?: (value: string) => void;
13
+ }
14
+ /** The one-tag path for a simple text field; textarea, select, and
15
+ * custom controls keep the anatomy. */
16
+ declare function FieldFacade({ value, defaultValue, label, description, placeholder, disabled, invalid, required, onValueChange }: FieldFacadeProps): import("react").JSX.Element;
17
+ export declare const Field: typeof FieldFacade & {
18
+ Root: typeof Field$1.Root;
19
+ Context: (props: Field$1.ContextProps) => import("react").ReactNode;
20
+ ErrorText: import("react").ForwardRefExoticComponent<Field$1.ErrorTextProps & import("react").RefAttributes<HTMLSpanElement>>;
21
+ HelperText: import("react").ForwardRefExoticComponent<Field$1.HelperTextProps & import("react").RefAttributes<HTMLSpanElement>>;
22
+ Input: import("react").ForwardRefExoticComponent<Field$1.InputProps & import("react").RefAttributes<HTMLInputElement>>;
23
+ Item: {
24
+ (props: Field$1.ItemProps): import("react").JSX.Element;
25
+ displayName: string;
26
+ };
27
+ Label: import("react").ForwardRefExoticComponent<Field$1.LabelProps & import("react").RefAttributes<HTMLLabelElement>>;
28
+ RequiredIndicator: import("react").ForwardRefExoticComponent<Field$1.RequiredIndicatorProps & import("react").RefAttributes<HTMLSpanElement>>;
29
+ RootProvider: import("react").ForwardRefExoticComponent<Field$1.RootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
30
+ Select: import("react").ForwardRefExoticComponent<Field$1.SelectProps & import("react").RefAttributes<HTMLSelectElement>>;
31
+ Textarea: import("react").ForwardRefExoticComponent<Field$1.TextareaProps & import("react").RefAttributes<HTMLTextAreaElement>>;
32
+ };
8
33
  //#endregion
@@ -1,11 +1,44 @@
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 { Field as Field$1 } from "@ark-ui/react/field";
3
5
  //#region src/components/field/index.tsx
4
- /** Ark's Field, dressed in the paper-and-ink system: a tracked label, a
5
- * border-and-halo control, and quiet help text. The API is Ark's own —
6
+ /** Field, dressed in the paper-and-ink system: a tracked label, a
7
+ * border-and-halo control, and quiet help text. The parts —
6
8
  * Root, Label, Input, Textarea, Select, HelperText, ErrorText,
7
9
  * RequiredIndicator. */
8
- const Field = Field$1;
10
+ function FieldRoot(props) {
11
+ const id = useElementId("field", props);
12
+ return /* @__PURE__ */ jsx(Field$1.Root, {
13
+ ...props,
14
+ id
15
+ });
16
+ }
17
+ /** The one-tag path for a simple text field; textarea, select, and
18
+ * custom controls keep the anatomy. */
19
+ function FieldFacade({ value, defaultValue, label, description, placeholder, disabled = false, invalid = false, required = false, onValueChange }) {
20
+ return /* @__PURE__ */ jsxs(FieldRoot, {
21
+ disabled,
22
+ invalid,
23
+ required,
24
+ children: [
25
+ label ? /* @__PURE__ */ jsx(Field$1.Label, { children: label }) : null,
26
+ /* @__PURE__ */ jsx(Field$1.Input, {
27
+ placeholder,
28
+ defaultValue,
29
+ ...value === void 0 ? {} : {
30
+ value,
31
+ onChange: (event) => onValueChange?.(event.target.value)
32
+ }
33
+ }),
34
+ description ? /* @__PURE__ */ jsx(Field$1.HelperText, { children: description }) : null
35
+ ]
36
+ });
37
+ }
38
+ const Field = Object.assign(FieldFacade, {
39
+ ...Field$1,
40
+ Root: FieldRoot
41
+ });
9
42
  injectComponentStyle("field");
10
43
  //#endregion
11
44
  export { Field };
@@ -1,7 +1,22 @@
1
+ import { ReactNode } from "react";
1
2
  import { Fieldset as Fieldset$1 } from "@ark-ui/react/fieldset";
2
3
  //#region src/components/fieldset/index.d.ts
3
- /** Ark's Fieldset, dressed in the paper-and-ink system: a song-serif
4
- * legend heading a column of fields. The API is Ark's own — Root, Legend,
5
- * HelperText, ErrorText. */
6
- export declare const Fieldset: typeof Fieldset$1;
4
+ interface FieldsetFacadeProps {
5
+ label?: string;
6
+ description?: string;
7
+ disabled?: boolean;
8
+ invalid?: boolean;
9
+ children?: ReactNode;
10
+ }
11
+ /** The one-tag path: one label and optional description around the
12
+ * caller controls; compound or bespoke groups keep the anatomy. */
13
+ declare function FieldsetFacade({ label, description, disabled, invalid, children }: FieldsetFacadeProps): import("react").JSX.Element;
14
+ export declare const Fieldset: typeof FieldsetFacade & {
15
+ Root: typeof Fieldset$1.Root;
16
+ Context: (props: Fieldset$1.ContextProps) => ReactNode;
17
+ ErrorText: import("react").ForwardRefExoticComponent<Fieldset$1.ErrorTextProps & import("react").RefAttributes<HTMLSpanElement>>;
18
+ HelperText: import("react").ForwardRefExoticComponent<Fieldset$1.HelperTextProps & import("react").RefAttributes<HTMLSpanElement>>;
19
+ Legend: import("react").ForwardRefExoticComponent<Fieldset$1.LegendProps & import("react").RefAttributes<HTMLLegendElement>>;
20
+ RootProvider: import("react").ForwardRefExoticComponent<Fieldset$1.RootProviderProps & import("react").RefAttributes<HTMLFieldSetElement>>;
21
+ };
7
22
  //#endregion
@@ -1,10 +1,35 @@
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 { Fieldset as Fieldset$1 } from "@ark-ui/react/fieldset";
3
5
  //#region src/components/fieldset/index.tsx
4
- /** Ark's Fieldset, dressed in the paper-and-ink system: a song-serif
5
- * legend heading a column of fields. The API is Ark's own — Root, Legend,
6
+ /** Fieldset, dressed in the paper-and-ink system: a song-serif
7
+ * legend heading a column of fields. The parts — Root, Legend,
6
8
  * HelperText, ErrorText. */
7
- const Fieldset = Fieldset$1;
9
+ function FieldsetRoot(props) {
10
+ const id = useElementId("fieldset", props);
11
+ return /* @__PURE__ */ jsx(Fieldset$1.Root, {
12
+ ...props,
13
+ id
14
+ });
15
+ }
16
+ /** The one-tag path: one label and optional description around the
17
+ * caller controls; compound or bespoke groups keep the anatomy. */
18
+ function FieldsetFacade({ label, description, disabled = false, invalid = false, children }) {
19
+ return /* @__PURE__ */ jsxs(FieldsetRoot, {
20
+ disabled,
21
+ invalid,
22
+ children: [
23
+ label ? /* @__PURE__ */ jsx(Fieldset$1.Legend, { children: label }) : null,
24
+ children,
25
+ description ? /* @__PURE__ */ jsx(Fieldset$1.HelperText, { children: description }) : null
26
+ ]
27
+ });
28
+ }
29
+ const Fieldset = Object.assign(FieldsetFacade, {
30
+ ...Fieldset$1,
31
+ Root: FieldsetRoot
32
+ });
8
33
  injectComponentStyle("fieldset");
9
34
  //#endregion
10
35
  export { Fieldset };
@@ -1,25 +1,45 @@
1
- import { ComponentProps } from "react";
1
+ import { ComponentProps, ReactNode } from "react";
2
2
  import { FileUpload as FileUpload$1 } from "@ark-ui/react/file-upload";
3
3
  //#region src/components/file-upload/index.d.ts
4
4
  type FileUploadRootProps = ComponentProps<typeof FileUpload$1.Root> & {
5
5
  /** One rung of the control-height ladder for the trigger. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function FileUploadRoot({ size, ...rest }: FileUploadRootProps): import("react").JSX.Element;
8
+ declare function FileUploadRoot(props: FileUploadRootProps): import("react").JSX.Element;
9
9
  /** The inner trigger repeats the click binding the dropzone already
10
10
  * owns, and no flavor of taming a nested button survives the audit —
11
11
  * assistive tech can still land on it. So the visual cue is a plain
12
12
  * span wearing the trigger props; the dropzone stays the one real
13
13
  * control, keyboard included. */
14
14
  declare function FileUploadTrigger(props: ComponentProps<typeof FileUpload$1.Trigger>): import("react").JSX.Element;
15
- /** Ark's FileUpload, dressed in the paper-and-ink system: a dashed
16
- * dropzone that floods with subtle light on drag-over, and accepted files
17
- * as loose hairline slips. The API is Ark's own — Root, Label, Trigger,
18
- * Dropzone, HiddenInput, ItemGroup, Item, ItemName, ItemSizeText,
19
- * ItemPreview, ItemPreviewImage, ItemDeleteTrigger, ClearTrigger,
20
- * Context. */
21
- export declare const FileUpload: Omit<typeof FileUpload$1, "Root" | "Trigger"> & {
15
+ interface FileUploadFacadeProps {
16
+ label?: string;
17
+ placeholder?: string;
18
+ disabled?: boolean;
19
+ invalid?: boolean;
20
+ required?: boolean;
21
+ maxFiles?: number;
22
+ size?: "sm" | "md" | "lg";
23
+ children?: ReactNode;
24
+ }
25
+ /** The one-tag path: a labelled dropzone and its accepted slips; MIME
26
+ * rules, directories, and controlled files stay on the anatomy. */
27
+ declare function FileUploadFacade({ label, placeholder, disabled, invalid, required, maxFiles, size }: FileUploadFacadeProps): import("react").JSX.Element;
28
+ export declare const FileUpload: typeof FileUploadFacade & {
22
29
  Root: typeof FileUploadRoot;
23
30
  Trigger: typeof FileUploadTrigger;
31
+ ClearTrigger: import("react").ForwardRefExoticComponent<FileUpload$1.ClearTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
32
+ Context: (props: FileUpload$1.ContextProps) => ReactNode;
33
+ Dropzone: import("react").ForwardRefExoticComponent<FileUpload$1.DropzoneProps & import("react").RefAttributes<HTMLDivElement>>;
34
+ HiddenInput: import("react").ForwardRefExoticComponent<FileUpload$1.HiddenInputProps & import("react").RefAttributes<HTMLInputElement>>;
35
+ Item: import("react").ForwardRefExoticComponent<FileUpload$1.ItemProps & import("react").RefAttributes<HTMLLIElement>>;
36
+ ItemDeleteTrigger: import("react").ForwardRefExoticComponent<FileUpload$1.ItemDeleteTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
37
+ ItemGroup: import("react").ForwardRefExoticComponent<FileUpload$1.ItemGroupProps & import("react").RefAttributes<HTMLUListElement>>;
38
+ ItemName: import("react").ForwardRefExoticComponent<FileUpload$1.ItemNameProps & import("react").RefAttributes<HTMLDivElement>>;
39
+ ItemPreview: import("react").ForwardRefExoticComponent<FileUpload$1.ItemPreviewProps & import("react").RefAttributes<HTMLImageElement>>;
40
+ ItemPreviewImage: import("react").ForwardRefExoticComponent<FileUpload$1.ItemPreviewImageProps & import("react").RefAttributes<HTMLImageElement>>;
41
+ ItemSizeText: import("react").ForwardRefExoticComponent<FileUpload$1.ItemSizeTextProps & import("react").RefAttributes<HTMLDivElement>>;
42
+ Label: import("react").ForwardRefExoticComponent<FileUpload$1.LabelProps & import("react").RefAttributes<HTMLLabelElement>>;
43
+ RootProvider: import("react").ForwardRefExoticComponent<FileUpload$1.RootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
24
44
  };
25
45
  //#endregion