@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,18 +1,35 @@
1
- import { ComponentProps } from "react";
2
- import { DatePicker as DatePicker$1, DatePickerFocusChangeDetails, DatePickerOpenChangeDetails, DatePickerValueChangeDetails, DatePickerViewChangeDetails, DatePickerVisibleRangeChangeDetails } from "@ark-ui/react/date-picker";
1
+ import { CSSProperties, ComponentProps } from "react";
2
+ import { DatePicker as DatePicker$1, DatePickerFocusChangeDetails, DatePickerOpenChangeDetails, DatePickerValueChangeDetails, DatePickerViewChangeDetails, DatePickerVisibleRangeChangeDetails, DateValue } from "@ark-ui/react/date-picker";
3
3
  //#region src/components/date-picker/index.d.ts
4
4
  type DatePickerRootProps$1 = ComponentProps<typeof DatePicker$1.Root> & {
5
5
  /** One rung of the control-height ladder for the field row. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function DatePickerRoot({ size, ...rest }: DatePickerRootProps$1): import("react").JSX.Element;
8
+ declare function DatePickerRoot(props: DatePickerRootProps$1): import("react").JSX.Element;
9
9
  /** Ark's DatePicker, dressed in the paper-and-ink system: the popup
10
10
  * dissolves in on elevation, selected days take the flat ink fill, and
11
11
  * range middles run subtle with cut corners. The API is Ark's own —
12
12
  * Root, Label, Control, Input, Trigger, ClearTrigger, Positioner,
13
13
  * Content, View, ViewControl, ViewTrigger, RangeText, PrevTrigger,
14
14
  * NextTrigger, Table*, MonthSelect, YearSelect, PresetTrigger. */
15
- export declare const DatePicker: Omit<typeof DatePicker$1, "Root"> & {
15
+ type DatePickerFacadeValue = DateValue | DateValue[];
16
+ type DatePickerFacadeProps = {
17
+ value?: DatePickerFacadeValue;
18
+ defaultValue?: DatePickerFacadeValue;
19
+ disabled?: boolean;
20
+ invalid?: boolean;
21
+ required?: boolean;
22
+ label?: string;
23
+ placeholder?: string;
24
+ size?: "sm" | "md" | "lg";
25
+ className?: string;
26
+ style?: CSSProperties;
27
+ onValueChange?: (value: DateValue[]) => void;
28
+ };
29
+ /** The complete picker behind one date: the field opens a single day grid,
30
+ * while ranges, multiple selection, and custom views remain anatomy work. */
31
+ declare function DatePickerFacade(props: DatePickerFacadeProps): import("react").JSX.Element;
32
+ export declare const DatePicker: typeof DatePickerFacade & Omit<typeof DatePicker$1, "Root"> & {
16
33
  Root: typeof DatePickerRoot;
17
34
  };
18
35
  //#endregion
@@ -1,23 +1,70 @@
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 { Fragment, jsx, jsxs } from "react/jsx-runtime";
3
5
  import { DatePicker as DatePicker$1 } from "@ark-ui/react/date-picker";
4
6
  //#region src/components/date-picker/index.tsx
5
- function DatePickerRoot({ size = "md", ...rest }) {
7
+ function DatePickerRoot(props) {
8
+ injectComponentStyle("date-picker");
9
+ const id = useElementId("date-picker", props);
10
+ const { size = "md", ...rest } = props;
6
11
  return /* @__PURE__ */ jsx(DatePicker$1.Root, {
7
12
  ...rest,
13
+ id,
8
14
  "data-size": size
9
15
  });
10
16
  }
11
- /** Ark's DatePicker, dressed in the paper-and-ink system: the popup
12
- * dissolves in on elevation, selected days take the flat ink fill, and
13
- * range middles run subtle with cut corners. The API is Ark's own —
14
- * Root, Label, Control, Input, Trigger, ClearTrigger, Positioner,
15
- * Content, View, ViewControl, ViewTrigger, RangeText, PrevTrigger,
16
- * NextTrigger, Table*, MonthSelect, YearSelect, PresetTrigger. */
17
- const DatePicker = {
17
+ function toDatePickerValue(value) {
18
+ if (value === void 0) return void 0;
19
+ return Array.isArray(value) ? value : [value];
20
+ }
21
+ /** The complete picker behind one date: the field opens a single day grid,
22
+ * while ranges, multiple selection, and custom views remain anatomy work. */
23
+ function DatePickerFacade(props) {
24
+ const { value, defaultValue, disabled, invalid, required, label, placeholder, size = "md", className, style, onValueChange } = props;
25
+ return /* @__PURE__ */ jsxs(DatePickerRoot, {
26
+ size,
27
+ defaultValue: toDatePickerValue(defaultValue),
28
+ value: toDatePickerValue(value),
29
+ disabled,
30
+ invalid,
31
+ placeholder,
32
+ required,
33
+ className,
34
+ style,
35
+ onValueChange: (event) => onValueChange?.(event.value),
36
+ children: [
37
+ label ? /* @__PURE__ */ jsx(DatePicker$1.Label, { children: label }) : null,
38
+ /* @__PURE__ */ jsxs(DatePicker$1.Control, { children: [/* @__PURE__ */ jsx(DatePicker$1.Input, { "aria-label": label ? void 0 : placeholder }), /* @__PURE__ */ jsx(DatePicker$1.Trigger, { children: iconNode("calendar", {
39
+ width: 16,
40
+ height: 16
41
+ }) })] }),
42
+ /* @__PURE__ */ jsx(DatePicker$1.Positioner, { children: /* @__PURE__ */ jsx(DatePicker$1.Content, { children: /* @__PURE__ */ jsx(DatePicker$1.View, {
43
+ view: "day",
44
+ children: /* @__PURE__ */ jsx(DatePicker$1.Context, { children: (dp) => /* @__PURE__ */ jsxs(Fragment, { children: [/* @__PURE__ */ jsxs(DatePicker$1.ViewControl, { children: [
45
+ /* @__PURE__ */ jsx(DatePicker$1.PrevTrigger, { children: iconNode("chevron-left", {
46
+ width: 14,
47
+ height: 14
48
+ }) }),
49
+ /* @__PURE__ */ jsx(DatePicker$1.ViewTrigger, { children: /* @__PURE__ */ jsx(DatePicker$1.RangeText, {}) }),
50
+ /* @__PURE__ */ jsx(DatePicker$1.NextTrigger, { children: iconNode("chevron-right", {
51
+ width: 14,
52
+ height: 14
53
+ }) })
54
+ ] }), /* @__PURE__ */ jsxs(DatePicker$1.Table, { children: [/* @__PURE__ */ jsx(DatePicker$1.TableHead, { children: /* @__PURE__ */ jsx(DatePicker$1.TableRow, { children: dp.weekDays.map((day, index) => /* @__PURE__ */ jsx(DatePicker$1.TableHeader, {
55
+ "aria-label": day.long,
56
+ children: day.narrow
57
+ }, index)) }) }), /* @__PURE__ */ jsx(DatePicker$1.TableBody, { children: dp.weeks.map((week, index) => /* @__PURE__ */ jsx(DatePicker$1.TableRow, { children: week.map((day, dayIndex) => /* @__PURE__ */ jsx(DatePicker$1.TableCell, {
58
+ value: day,
59
+ children: /* @__PURE__ */ jsx(DatePicker$1.TableCellTrigger, { children: day.day })
60
+ }, dayIndex)) }, index)) })] })] }) })
61
+ }) }) })
62
+ ]
63
+ });
64
+ }
65
+ const DatePicker = Object.assign(DatePickerFacade, {
18
66
  ...DatePicker$1,
19
67
  Root: DatePickerRoot
20
- };
21
- injectComponentStyle("date-picker");
68
+ });
22
69
  //#endregion
23
70
  export { DatePicker };
@@ -12,5 +12,8 @@ export interface DeferredContentProps extends HTMLAttributes<HTMLDivElement> {
12
12
  * tree until the placeholder scrolls near the viewport, then mounts
13
13
  * once and stays. The placeholder is drawn by the caller, so the late
14
14
  * arrival costs no layout shift it cannot predict. */
15
- export declare function DeferredContent({ threshold, placeholder, children, ...rest }: DeferredContentProps): import("react").JSX.Element;
15
+ declare function DeferredContentImpl({ threshold, placeholder, children, ...rest }: DeferredContentProps): import("react").JSX.Element;
16
+ export declare const DeferredContent: typeof DeferredContentImpl & {
17
+ Root: typeof DeferredContentImpl;
18
+ };
16
19
  //#endregion
@@ -1,3 +1,4 @@
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 { useEffect, useRef, useState } from "react";
@@ -6,7 +7,7 @@ import { useEffect, useRef, useState } from "react";
6
7
  * tree until the placeholder scrolls near the viewport, then mounts
7
8
  * once and stays. The placeholder is drawn by the caller, so the late
8
9
  * arrival costs no layout shift it cannot predict. */
9
- function DeferredContent({ threshold = .2, placeholder, children, ...rest }) {
10
+ function DeferredContentImpl({ threshold = .2, placeholder, children, ...rest }) {
10
11
  injectComponentStyle("deferred-content");
11
12
  const host = useRef(null);
12
13
  const [active, setActive] = useState(false);
@@ -30,5 +31,6 @@ function DeferredContent({ threshold = .2, placeholder, children, ...rest }) {
30
31
  children: active ? children : placeholder
31
32
  });
32
33
  }
34
+ const DeferredContent = withSelfRoot(DeferredContentImpl);
33
35
  //#endregion
34
36
  export { DeferredContent };
@@ -1,5 +1,11 @@
1
1
  import { HTMLAttributes } from "react";
2
2
  //#region src/components/descriptions/index.d.ts
3
+ /** Simple term/detail records for the callable facade. */
4
+ export interface DescriptionsItemData {
5
+ term: string;
6
+ detail: string;
7
+ span?: number;
8
+ }
3
9
  /** A ledger laid flat: term and detail pairs in one quiet grid. The
4
10
  * horizontal layout reads as a table of two columns; the vertical one
5
11
  * stacks each pair for narrow measures. */
@@ -10,16 +16,18 @@ export interface DescriptionsRootProps extends HTMLAttributes<HTMLDListElement>
10
16
  bordered?: boolean;
11
17
  /** Pairs across the grid: one ledger per column. */
12
18
  column?: number;
19
+ items?: DescriptionsItemData[];
13
20
  }
14
- export declare function DescriptionsRoot({ layout, bordered, column, children, ...rest }: DescriptionsRootProps): import("react").JSX.Element;
21
+ export declare function DescriptionsRoot({ layout, bordered, column, items, children, ...rest }: DescriptionsRootProps): import("react").JSX.Element;
15
22
  declare function DescriptionsItem({ span, children, ...rest }: HTMLAttributes<HTMLDivElement> & {
16
23
  span?: number;
17
24
  }): import("react").JSX.Element;
18
25
  declare namespace DescriptionsItem {
19
26
  var displayName: string;
20
27
  }
21
- export declare const Descriptions: {
28
+ export declare const Descriptions: typeof DescriptionsRoot & {
22
29
  Root: typeof DescriptionsRoot;
30
+ } & {
23
31
  Item: typeof DescriptionsItem;
24
32
  Term: {
25
33
  ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
@@ -1,7 +1,8 @@
1
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.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
  //#region src/components/descriptions/index.tsx
4
- function DescriptionsRoot({ layout = "horizontal", bordered = false, column = 1, children, ...rest }) {
5
+ function DescriptionsRoot({ layout = "horizontal", bordered = false, column = 1, items, children, ...rest }) {
5
6
  injectComponentStyle("descriptions");
6
7
  return /* @__PURE__ */ jsx("dl", {
7
8
  ...rest,
@@ -13,7 +14,10 @@ function DescriptionsRoot({ layout = "horizontal", bordered = false, column = 1,
13
14
  ...rest.style,
14
15
  "--bs-desc-columns": String(column)
15
16
  },
16
- children
17
+ children: children ?? items?.map((item) => /* @__PURE__ */ jsxs(DescriptionsItem, {
18
+ span: item.span,
19
+ children: [/* @__PURE__ */ jsx(Term, { children: item.term }), /* @__PURE__ */ jsx(Detail, { children: item.detail })]
20
+ }, item.term))
17
21
  });
18
22
  }
19
23
  function part(name, tag) {
@@ -40,11 +44,12 @@ function DescriptionsItem({ span = 1, children, ...rest }) {
40
44
  });
41
45
  }
42
46
  DescriptionsItem.displayName = "DescriptionsItem";
43
- const Descriptions = {
44
- Root: DescriptionsRoot,
47
+ const Term = part("Term", "dt");
48
+ const Detail = part("Detail", "dd");
49
+ const Descriptions = Object.assign(withSelfRoot(DescriptionsRoot), {
45
50
  Item: DescriptionsItem,
46
- Term: part("Term", "dt"),
47
- Detail: part("Detail", "dd")
48
- };
51
+ Term,
52
+ Detail
53
+ });
49
54
  //#endregion
50
55
  export { Descriptions, DescriptionsRoot };
@@ -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,5 +1,8 @@
1
+ import { t as iconNode } from "../../icon-BALgGtNK.mjs";
2
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
3
+ import { n as useComponentMessages } from "../../messages-1jJWtaYU.mjs";
1
4
  import { Button } from "../button/index.mjs";
2
- import { t as Input } from "../../input-2oezH-dY.mjs";
5
+ import { t as Input } from "../../input-C21Zzuy6.mjs";
3
6
  import { injectComponentStyle } from "@bysages/core";
4
7
  import { jsx, jsxs } from "react/jsx-runtime";
5
8
  //#region src/components/dynamic-input/index.tsx
@@ -11,8 +14,9 @@ import { jsx, jsxs } from "react/jsx-runtime";
11
14
  * grows past `max`, and the group always keeps one row: an entry list
12
15
  * that emptied itself would leave the reader no place to type.
13
16
  */
14
- 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 }) {
15
18
  injectComponentStyle("dynamic-input");
19
+ const messages = useComponentMessages();
16
20
  const values = value ?? [""];
17
21
  const update = (index, next) => {
18
22
  const rows = values.slice();
@@ -47,9 +51,9 @@ function DynamicInput({ value, min = 0, max, placeholder, addLabel = "Add entry"
47
51
  square: true,
48
52
  size,
49
53
  disabled: disabled || !canRemove,
50
- "aria-label": `Remove entry ${index + 1}`,
54
+ "aria-label": messages.dynamicEntry.remove,
51
55
  onClick: () => remove(index),
52
- children: crossIcon()
56
+ children: crossIcon
53
57
  })]
54
58
  }, index)), /* @__PURE__ */ jsx("div", {
55
59
  "data-scope": "dynamic-input",
@@ -64,20 +68,10 @@ function DynamicInput({ value, min = 0, max, placeholder, addLabel = "Add entry"
64
68
  })]
65
69
  });
66
70
  }
67
- /** The one glyph a remove seal needs: a single crossing stroke. */
68
- function crossIcon() {
69
- return /* @__PURE__ */ jsx("svg", {
70
- width: 16,
71
- height: 16,
72
- viewBox: "0 0 24 24",
73
- fill: "none",
74
- stroke: "currentColor",
75
- strokeWidth: 1.75,
76
- strokeLinecap: "round",
77
- strokeLinejoin: "round",
78
- "aria-hidden": "true",
79
- children: /* @__PURE__ */ jsx("path", { d: "M18 6 6 18M6 6l12 12" })
80
- });
81
- }
71
+ const DynamicInput = withSelfRoot(DynamicInputImpl);
72
+ const crossIcon = iconNode("x", {
73
+ width: 16,
74
+ height: 16
75
+ });
82
76
  //#endregion
83
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 };