@bysages/react 0.2.2 → 0.2.3

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 (263) hide show
  1. package/dist/ai-response-jZy-0Tvv.mjs +127 -0
  2. package/dist/chevron-BeHvt46K.mjs +17 -0
  3. package/dist/components/accordion/index.d.mts +7 -0
  4. package/dist/components/accordion/index.mjs +10 -0
  5. package/dist/components/affix/index.d.mts +20 -0
  6. package/dist/components/affix/index.mjs +18 -0
  7. package/dist/components/ai/index.d.mts +2 -0
  8. package/dist/components/ai/index.mjs +65 -0
  9. package/dist/components/ai-action/index.d.mts +14 -0
  10. package/dist/components/ai-action/index.mjs +18 -0
  11. package/dist/components/ai-attachments/index.d.mts +19 -0
  12. package/dist/components/ai-attachments/index.mjs +106 -0
  13. package/dist/components/ai-message/index.d.mts +11 -0
  14. package/dist/components/ai-message/index.mjs +15 -0
  15. package/dist/components/ai-prompt-input/index.d.mts +47 -0
  16. package/dist/components/ai-prompt-input/index.mjs +135 -0
  17. package/dist/components/ai-reasoning/index.d.mts +13 -0
  18. package/dist/components/ai-reasoning/index.mjs +19 -0
  19. package/dist/components/ai-response/index.d.mts +22 -0
  20. package/dist/components/ai-response/index.mjs +2 -0
  21. package/dist/components/ai-source/index.d.mts +17 -0
  22. package/dist/components/ai-source/index.mjs +27 -0
  23. package/dist/components/ai-suggestion/index.d.mts +13 -0
  24. package/dist/components/ai-suggestion/index.mjs +16 -0
  25. package/dist/components/ai-tool/index.d.mts +21 -0
  26. package/dist/components/ai-tool/index.mjs +36 -0
  27. package/dist/components/alert/index.d.mts +23 -0
  28. package/dist/components/alert/index.mjs +80 -0
  29. package/dist/components/angle-slider/index.d.mts +16 -0
  30. package/dist/components/angle-slider/index.mjs +21 -0
  31. package/dist/components/aspect-ratio/index.d.mts +10 -0
  32. package/dist/components/aspect-ratio/index.mjs +17 -0
  33. package/dist/components/autocomplete/index.d.mts +21 -0
  34. package/dist/components/autocomplete/index.mjs +35 -0
  35. package/dist/components/avatar/index.d.mts +20 -0
  36. package/dist/components/avatar/index.mjs +14 -0
  37. package/dist/components/avatar-group/index.d.mts +11 -0
  38. package/dist/components/avatar-group/index.mjs +15 -0
  39. package/dist/components/back-top/index.d.mts +29 -0
  40. package/dist/components/back-top/index.mjs +82 -0
  41. package/dist/components/badge/index.d.mts +10 -0
  42. package/dist/components/badge/index.mjs +15 -0
  43. package/dist/components/banner/index.d.mts +31 -0
  44. package/dist/components/banner/index.mjs +63 -0
  45. package/dist/components/breadcrumb/index.d.mts +32 -0
  46. package/dist/components/breadcrumb/index.mjs +35 -0
  47. package/dist/components/button/index.d.mts +19 -0
  48. package/dist/components/button/index.mjs +29 -0
  49. package/dist/components/button-group/index.d.mts +24 -0
  50. package/dist/components/button-group/index.mjs +25 -0
  51. package/dist/components/calendar/index.d.mts +17 -0
  52. package/dist/components/calendar/index.mjs +96 -0
  53. package/dist/components/card/index.d.mts +46 -0
  54. package/dist/components/card/index.mjs +44 -0
  55. package/dist/components/carousel/index.d.mts +9 -0
  56. package/dist/components/carousel/index.mjs +12 -0
  57. package/dist/components/cascade-select/index.d.mts +31 -0
  58. package/dist/components/cascade-select/index.mjs +223 -0
  59. package/dist/components/checkbox/index.d.mts +16 -0
  60. package/dist/components/checkbox/index.mjs +21 -0
  61. package/dist/components/checkbox-group/index.d.mts +28 -0
  62. package/dist/components/checkbox-group/index.mjs +65 -0
  63. package/dist/components/chip/index.d.mts +12 -0
  64. package/dist/components/chip/index.mjs +17 -0
  65. package/dist/components/client-only/index.d.mts +2 -0
  66. package/dist/components/client-only/index.mjs +2 -0
  67. package/dist/components/clipboard/index.d.mts +17 -0
  68. package/dist/components/clipboard/index.mjs +17 -0
  69. package/dist/components/collapsible/index.d.mts +7 -0
  70. package/dist/components/collapsible/index.mjs +10 -0
  71. package/dist/components/collection/index.d.mts +2 -0
  72. package/dist/components/collection/index.mjs +2 -0
  73. package/dist/components/color-picker/index.d.mts +20 -0
  74. package/dist/components/color-picker/index.mjs +25 -0
  75. package/dist/components/combobox/index.d.mts +17 -0
  76. package/dist/components/combobox/index.mjs +18 -0
  77. package/dist/components/command/index.d.mts +43 -0
  78. package/dist/components/command/index.mjs +137 -0
  79. package/dist/components/comment/index.d.mts +17 -0
  80. package/dist/components/comment/index.mjs +47 -0
  81. package/dist/components/config-provider/index.d.mts +46 -0
  82. package/dist/components/config-provider/index.mjs +41 -0
  83. package/dist/components/container/index.d.mts +13 -0
  84. package/dist/components/container/index.mjs +15 -0
  85. package/dist/components/date-input/index.d.mts +17 -0
  86. package/dist/components/date-input/index.mjs +21 -0
  87. package/dist/components/date-picker/index.d.mts +19 -0
  88. package/dist/components/date-picker/index.mjs +23 -0
  89. package/dist/components/descriptions/index.d.mts +25 -0
  90. package/dist/components/descriptions/index.mjs +32 -0
  91. package/dist/components/dialog/index.d.mts +9 -0
  92. package/dist/components/dialog/index.mjs +11 -0
  93. package/dist/components/download-trigger/index.d.mts +2 -0
  94. package/dist/components/download-trigger/index.mjs +2 -0
  95. package/dist/components/drawer/index.d.mts +9 -0
  96. package/dist/components/drawer/index.mjs +12 -0
  97. package/dist/components/dynamic-input/index.d.mts +28 -0
  98. package/dist/components/dynamic-input/index.mjs +83 -0
  99. package/dist/components/editable/index.d.mts +16 -0
  100. package/dist/components/editable/index.mjs +17 -0
  101. package/dist/components/ellipsis/index.d.mts +10 -0
  102. package/dist/components/ellipsis/index.mjs +19 -0
  103. package/dist/components/empty/index.d.mts +28 -0
  104. package/dist/components/empty/index.mjs +32 -0
  105. package/dist/components/field/index.d.mts +8 -0
  106. package/dist/components/field/index.mjs +11 -0
  107. package/dist/components/fieldset/index.d.mts +7 -0
  108. package/dist/components/fieldset/index.mjs +10 -0
  109. package/dist/components/file-upload/index.d.mts +18 -0
  110. package/dist/components/file-upload/index.mjs +23 -0
  111. package/dist/components/float-button/index.d.mts +59 -0
  112. package/dist/components/float-button/index.mjs +90 -0
  113. package/dist/components/floating-panel/index.d.mts +9 -0
  114. package/dist/components/floating-panel/index.mjs +12 -0
  115. package/dist/components/focus-trap/index.d.mts +2 -0
  116. package/dist/components/focus-trap/index.mjs +2 -0
  117. package/dist/components/form/index.d.mts +2 -0
  118. package/dist/components/form/index.mjs +67 -0
  119. package/dist/components/format/index.d.mts +9 -0
  120. package/dist/components/format/index.mjs +10 -0
  121. package/dist/components/frame/index.d.mts +10 -0
  122. package/dist/components/frame/index.mjs +12 -0
  123. package/dist/components/grid/index.d.mts +13 -0
  124. package/dist/components/grid/index.mjs +31 -0
  125. package/dist/components/highlight/index.d.mts +7 -0
  126. package/dist/components/highlight/index.mjs +11 -0
  127. package/dist/components/hover-card/index.d.mts +7 -0
  128. package/dist/components/hover-card/index.mjs +10 -0
  129. package/dist/components/icon/index.d.mts +19 -0
  130. package/dist/components/icon/index.mjs +26 -0
  131. package/dist/components/image/index.d.mts +17 -0
  132. package/dist/components/image/index.mjs +57 -0
  133. package/dist/components/image-cropper/index.d.mts +8 -0
  134. package/dist/components/image-cropper/index.mjs +11 -0
  135. package/dist/components/image-viewer/index.d.mts +18 -0
  136. package/dist/components/image-viewer/index.mjs +110 -0
  137. package/dist/components/input/index.d.mts +16 -0
  138. package/dist/components/input/index.mjs +21 -0
  139. package/dist/components/input-group/index.d.mts +17 -0
  140. package/dist/components/input-group/index.mjs +31 -0
  141. package/dist/components/json-tree-view/index.d.mts +7 -0
  142. package/dist/components/json-tree-view/index.mjs +10 -0
  143. package/dist/components/kbd/index.d.mts +6 -0
  144. package/dist/components/kbd/index.mjs +14 -0
  145. package/dist/components/layout/index.d.mts +63 -0
  146. package/dist/components/layout/index.mjs +133 -0
  147. package/dist/components/link/index.d.mts +10 -0
  148. package/dist/components/link/index.mjs +18 -0
  149. package/dist/components/list/index.d.mts +39 -0
  150. package/dist/components/list/index.mjs +66 -0
  151. package/dist/components/listbox/index.d.mts +18 -0
  152. package/dist/components/listbox/index.mjs +18 -0
  153. package/dist/components/marquee/index.d.mts +7 -0
  154. package/dist/components/marquee/index.mjs +10 -0
  155. package/dist/components/masonry/index.d.mts +11 -0
  156. package/dist/components/masonry/index.mjs +29 -0
  157. package/dist/components/mentions/index.d.mts +2 -0
  158. package/dist/components/mentions/index.mjs +2 -0
  159. package/dist/components/menu/index.d.mts +20 -0
  160. package/dist/components/menu/index.mjs +37 -0
  161. package/dist/components/menubar/index.d.mts +32 -0
  162. package/dist/components/menubar/index.mjs +35 -0
  163. package/dist/components/meter/index.d.mts +26 -0
  164. package/dist/components/meter/index.mjs +59 -0
  165. package/dist/components/navigation-menu/index.d.mts +8 -0
  166. package/dist/components/navigation-menu/index.mjs +11 -0
  167. package/dist/components/number-input/index.d.mts +16 -0
  168. package/dist/components/number-input/index.mjs +21 -0
  169. package/dist/components/page-header/index.d.mts +32 -0
  170. package/dist/components/page-header/index.mjs +34 -0
  171. package/dist/components/pagination/index.d.mts +18 -0
  172. package/dist/components/pagination/index.mjs +23 -0
  173. package/dist/components/password-input/index.d.mts +16 -0
  174. package/dist/components/password-input/index.mjs +21 -0
  175. package/dist/components/pin-input/index.d.mts +15 -0
  176. package/dist/components/pin-input/index.mjs +20 -0
  177. package/dist/components/popconfirm/index.d.mts +20 -0
  178. package/dist/components/popconfirm/index.mjs +44 -0
  179. package/dist/components/popover/index.d.mts +8 -0
  180. package/dist/components/popover/index.mjs +11 -0
  181. package/dist/components/presence/index.d.mts +2 -0
  182. package/dist/components/presence/index.mjs +2 -0
  183. package/dist/components/progress/index.d.mts +16 -0
  184. package/dist/components/progress/index.mjs +21 -0
  185. package/dist/components/progress-group/index.d.mts +22 -0
  186. package/dist/components/progress-group/index.mjs +56 -0
  187. package/dist/components/qr-code/index.d.mts +8 -0
  188. package/dist/components/qr-code/index.mjs +11 -0
  189. package/dist/components/radio-group/index.d.mts +16 -0
  190. package/dist/components/radio-group/index.mjs +21 -0
  191. package/dist/components/rating-group/index.d.mts +16 -0
  192. package/dist/components/rating-group/index.mjs +21 -0
  193. package/dist/components/scroll-area/index.d.mts +7 -0
  194. package/dist/components/scroll-area/index.mjs +10 -0
  195. package/dist/components/segment-group/index.d.mts +18 -0
  196. package/dist/components/segment-group/index.mjs +20 -0
  197. package/dist/components/select/index.d.mts +17 -0
  198. package/dist/components/select/index.mjs +18 -0
  199. package/dist/components/separator/index.d.mts +11 -0
  200. package/dist/components/separator/index.mjs +16 -0
  201. package/dist/components/signature-pad/index.d.mts +8 -0
  202. package/dist/components/signature-pad/index.mjs +11 -0
  203. package/dist/components/skeleton/index.d.mts +7 -0
  204. package/dist/components/skeleton/index.mjs +13 -0
  205. package/dist/components/slider/index.d.mts +16 -0
  206. package/dist/components/slider/index.mjs +21 -0
  207. package/dist/components/spinner/index.d.mts +9 -0
  208. package/dist/components/spinner/index.mjs +36 -0
  209. package/dist/components/split-button/index.d.mts +36 -0
  210. package/dist/components/split-button/index.mjs +71 -0
  211. package/dist/components/splitter/index.d.mts +7 -0
  212. package/dist/components/splitter/index.mjs +10 -0
  213. package/dist/components/stack/index.d.mts +11 -0
  214. package/dist/components/stack/index.mjs +32 -0
  215. package/dist/components/stat/index.d.mts +29 -0
  216. package/dist/components/stat/index.mjs +37 -0
  217. package/dist/components/steps/index.d.mts +19 -0
  218. package/dist/components/steps/index.mjs +24 -0
  219. package/dist/components/swap/index.d.mts +8 -0
  220. package/dist/components/swap/index.mjs +11 -0
  221. package/dist/components/switch/index.d.mts +16 -0
  222. package/dist/components/switch/index.mjs +21 -0
  223. package/dist/components/table/index.d.mts +79 -0
  224. package/dist/components/table/index.mjs +688 -0
  225. package/dist/components/tabs/index.d.mts +18 -0
  226. package/dist/components/tabs/index.mjs +23 -0
  227. package/dist/components/tags-input/index.d.mts +17 -0
  228. package/dist/components/tags-input/index.mjs +22 -0
  229. package/dist/components/textarea/index.d.mts +14 -0
  230. package/dist/components/textarea/index.mjs +20 -0
  231. package/dist/components/timeline/index.d.mts +24 -0
  232. package/dist/components/timeline/index.mjs +30 -0
  233. package/dist/components/timer/index.d.mts +8 -0
  234. package/dist/components/timer/index.mjs +11 -0
  235. package/dist/components/toast/index.d.mts +11 -0
  236. package/dist/components/toast/index.mjs +13 -0
  237. package/dist/components/toc/index.d.mts +7 -0
  238. package/dist/components/toc/index.mjs +10 -0
  239. package/dist/components/toggle/index.d.mts +7 -0
  240. package/dist/components/toggle/index.mjs +10 -0
  241. package/dist/components/toggle-group/index.d.mts +15 -0
  242. package/dist/components/toggle-group/index.mjs +20 -0
  243. package/dist/components/tooltip/index.d.mts +7 -0
  244. package/dist/components/tooltip/index.mjs +10 -0
  245. package/dist/components/tour/index.d.mts +11 -0
  246. package/dist/components/tour/index.mjs +13 -0
  247. package/dist/components/transfer/index.d.mts +23 -0
  248. package/dist/components/transfer/index.mjs +154 -0
  249. package/dist/components/tree-select/index.d.mts +28 -0
  250. package/dist/components/tree-select/index.mjs +157 -0
  251. package/dist/components/tree-view/index.d.mts +19 -0
  252. package/dist/components/tree-view/index.mjs +18 -0
  253. package/dist/components/typography/index.d.mts +32 -0
  254. package/dist/components/typography/index.mjs +34 -0
  255. package/dist/components/watermark/index.d.mts +16 -0
  256. package/dist/components/watermark/index.mjs +80 -0
  257. package/dist/index-DaAbbSz9.d.mts +13416 -0
  258. package/dist/index-Uefyw7Im.d.mts +108 -0
  259. package/dist/index-uPyYiWaL.d.mts +1813 -0
  260. package/dist/index.d.mts +128 -15446
  261. package/dist/index.mjs +128 -4871
  262. package/dist/mentions-DMIBCBOd.mjs +181 -0
  263. package/package.json +77 -4
@@ -0,0 +1,18 @@
1
+ import { ComponentProps } from "react";
2
+ import { Tabs as Tabs$1 } from "@ark-ui/react/tabs";
3
+ //#region src/components/tabs/index.d.ts
4
+ type TabsRootProps = ComponentProps<typeof Tabs$1.Root> & {
5
+ /** One rung of the control-height ladder for the tab rows. */
6
+ size?: "sm" | "md" | "lg";
7
+ };
8
+ declare function TabsRoot({ size, ...rest }: TabsRootProps): import("react").JSX.Element;
9
+ /**
10
+ * Tabs — tabbed navigation.
11
+ *
12
+ * Parts: Root, List, Trigger, Content, Indicator (machine-positioned ink
13
+ * bar on the list rule).
14
+ */
15
+ export declare const Tabs: Omit<typeof Tabs$1, "Root"> & {
16
+ Root: typeof TabsRoot;
17
+ };
18
+ //#endregion
@@ -0,0 +1,23 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { Tabs as Tabs$1 } from "@ark-ui/react/tabs";
4
+ //#region src/components/tabs/index.tsx
5
+ function TabsRoot({ size = "md", ...rest }) {
6
+ return /* @__PURE__ */ jsx(Tabs$1.Root, {
7
+ ...rest,
8
+ "data-size": size
9
+ });
10
+ }
11
+ /**
12
+ * Tabs — tabbed navigation.
13
+ *
14
+ * Parts: Root, List, Trigger, Content, Indicator (machine-positioned ink
15
+ * bar on the list rule).
16
+ */
17
+ const Tabs = {
18
+ ...Tabs$1,
19
+ Root: TabsRoot
20
+ };
21
+ injectComponentStyle("tabs");
22
+ //#endregion
23
+ export { Tabs };
@@ -0,0 +1,17 @@
1
+ import { ComponentProps } from "react";
2
+ import { TagsInput as TagsInput$1 } from "@ark-ui/react/tags-input";
3
+ //#region src/components/tags-input/index.d.ts
4
+ type TagsInputRootProps = ComponentProps<typeof TagsInput$1.Root> & {
5
+ /** One rung of the control-height ladder for the vessel at rest. */
6
+ size?: "sm" | "md" | "lg";
7
+ };
8
+ declare function TagsInputRoot({ size, ...rest }: TagsInputRootProps): import("react").JSX.Element;
9
+ /** Ark's TagsInput, dressed in the paper-and-ink system: one field vessel
10
+ * whose chips rest as quiet ink and lift only a tone when edited. The API
11
+ * is Ark's own — Root, Label, Control, Input, ClearTrigger, Item,
12
+ * ItemPreview, ItemText, ItemInput, ItemDeleteTrigger, HiddenInput,
13
+ * Context. */
14
+ export declare const TagsInput: Omit<typeof TagsInput$1, "Root"> & {
15
+ Root: typeof TagsInputRoot;
16
+ };
17
+ //#endregion
@@ -0,0 +1,22 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { TagsInput as TagsInput$1 } from "@ark-ui/react/tags-input";
4
+ //#region src/components/tags-input/index.tsx
5
+ function TagsInputRoot({ size = "md", ...rest }) {
6
+ return /* @__PURE__ */ jsx(TagsInput$1.Root, {
7
+ ...rest,
8
+ "data-size": size
9
+ });
10
+ }
11
+ /** Ark's TagsInput, dressed in the paper-and-ink system: one field vessel
12
+ * whose chips rest as quiet ink and lift only a tone when edited. The API
13
+ * is Ark's own — Root, Label, Control, Input, ClearTrigger, Item,
14
+ * ItemPreview, ItemText, ItemInput, ItemDeleteTrigger, HiddenInput,
15
+ * Context. */
16
+ const TagsInput = {
17
+ ...TagsInput$1,
18
+ Root: TagsInputRoot
19
+ };
20
+ injectComponentStyle("tags-input");
21
+ //#endregion
22
+ export { TagsInput };
@@ -0,0 +1,14 @@
1
+ import { TextareaHTMLAttributes } from "react";
2
+ //#region src/components/textarea/index.d.ts
3
+ /** The bare multi-line input: the field recipe on a `<textarea>`, sized
4
+ * by rows and resizable in the block direction. Standing alone it styles
5
+ * itself from the `invalid` prop; inside a `Field.Root` it consumes the
6
+ * field context, picking up the label id, the described-by wiring and
7
+ * the invalid state for free. Disabled rides the native attribute. */
8
+ export interface TextareaProps extends TextareaHTMLAttributes<HTMLTextAreaElement> {
9
+ value?: string;
10
+ invalid?: boolean;
11
+ onValueChange?: (value: string) => void;
12
+ }
13
+ export declare function Textarea({ value, invalid, onValueChange, ...rest }: TextareaProps): import("react").JSX.Element;
14
+ //#endregion
@@ -0,0 +1,20 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { useFieldContext } from "@ark-ui/react/field";
4
+ //#region src/components/textarea/index.tsx
5
+ function Textarea({ value, invalid = false, onValueChange, ...rest }) {
6
+ injectComponentStyle("textarea");
7
+ const field = useFieldContext();
8
+ const fieldProps = field?.getTextareaProps() ?? {};
9
+ return /* @__PURE__ */ jsx("textarea", {
10
+ ...fieldProps,
11
+ ...rest,
12
+ ...value !== void 0 ? { value } : {},
13
+ "data-scope": "textarea",
14
+ "data-part": "root",
15
+ "data-invalid": invalid || field?.invalid ? "" : void 0,
16
+ onChange: (event) => onValueChange?.(event.target.value)
17
+ });
18
+ }
19
+ //#endregion
20
+ export { Textarea };
@@ -0,0 +1,24 @@
1
+ import { HTMLAttributes } from "react";
2
+ //#region src/components/timeline/index.d.ts
3
+ export declare const Timeline: {
4
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
5
+ displayName: string;
6
+ } & {
7
+ Root: {
8
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
9
+ displayName: string;
10
+ };
11
+ Item: {
12
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
13
+ displayName: string;
14
+ };
15
+ Marker: {
16
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
17
+ displayName: string;
18
+ };
19
+ Content: {
20
+ ({ children, ...rest }: HTMLAttributes<HTMLElement>): import("react").JSX.Element;
21
+ displayName: string;
22
+ };
23
+ };
24
+ //#endregion
@@ -0,0 +1,30 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { jsx } from "react/jsx-runtime";
3
+ //#region src/components/timeline/index.tsx
4
+ /** A line of moments: Root is the ordered thread, Item one moment on it,
5
+ * Marker the point where the thread passes, Content what the moment
6
+ * holds. The hairline between markers is drawn by the stylesheet. */
7
+ function part(name, tag) {
8
+ const Tag = tag;
9
+ const Component = ({ children, ...rest }) => /* @__PURE__ */ jsx(Tag, {
10
+ ...rest,
11
+ "data-scope": "timeline",
12
+ "data-part": name.toLowerCase(),
13
+ children
14
+ });
15
+ Component.displayName = "Timeline" + name;
16
+ return Component;
17
+ }
18
+ const Root = part("Root", "ol");
19
+ const Item = part("Item", "li");
20
+ const Marker = part("Marker", "span");
21
+ const Content = part("Content", "div");
22
+ const Timeline = Object.assign(Root, {
23
+ Root,
24
+ Item,
25
+ Marker,
26
+ Content
27
+ });
28
+ injectComponentStyle("timeline");
29
+ //#endregion
30
+ export { Timeline };
@@ -0,0 +1,8 @@
1
+ import { Timer as Timer$1 } from "@ark-ui/react/timer";
2
+ //#region src/components/timer/index.d.ts
3
+ /** Ark's Timer, dressed in the paper-and-ink system: monospaced digits
4
+ * that never jitter, quiet action triggers on the control recipe. The API
5
+ * is Ark's own — Root, Area, Control, Item, Separator, ActionTrigger,
6
+ * Context. Unit labels are plain content, not a machine part. */
7
+ export declare const Timer: typeof Timer$1;
8
+ //#endregion
@@ -0,0 +1,11 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { Timer as Timer$1 } from "@ark-ui/react/timer";
3
+ //#region src/components/timer/index.tsx
4
+ /** Ark's Timer, dressed in the paper-and-ink system: monospaced digits
5
+ * that never jitter, quiet action triggers on the control recipe. The API
6
+ * is Ark's own — Root, Area, Control, Item, Separator, ActionTrigger,
7
+ * Context. Unit labels are plain content, not a machine part. */
8
+ const Timer = Timer$1;
9
+ injectComponentStyle("timer");
10
+ //#endregion
11
+ export { Timer };
@@ -0,0 +1,11 @@
1
+ import { CreateToasterReturn, Toast as Toast$1, createToaster } from "@ark-ui/react/toast";
2
+ //#region src/components/toast/index.d.ts
3
+ /** Ark's Toast, dressed in the paper-and-ink system: each notice rides the
4
+ * popup vessel while a pigment accents the title by type, and the machine's
5
+ * translate variables carry the slide. The API is Ark's own — Toaster,
6
+ * Root, Title, Description, ActionTrigger, CloseTrigger, plus
7
+ * createToaster. */
8
+ export declare const Toast: typeof Toast$1;
9
+ export declare const Toaster: import("react").ForwardRefExoticComponent<import("@ark-ui/react/toast").ToasterProps & import("react").RefAttributes<HTMLDivElement>>;
10
+ //#endregion
11
+ export { type CreateToasterReturn, createToaster };
@@ -0,0 +1,13 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { Toast as Toast$1, Toaster as Toaster$1, createToaster } from "@ark-ui/react/toast";
3
+ //#region src/components/toast/index.tsx
4
+ /** Ark's Toast, dressed in the paper-and-ink system: each notice rides the
5
+ * popup vessel while a pigment accents the title by type, and the machine's
6
+ * translate variables carry the slide. The API is Ark's own — Toaster,
7
+ * Root, Title, Description, ActionTrigger, CloseTrigger, plus
8
+ * createToaster. */
9
+ const Toast = Toast$1;
10
+ const Toaster = Toaster$1;
11
+ injectComponentStyle("toast");
12
+ //#endregion
13
+ export { Toast, Toaster, createToaster };
@@ -0,0 +1,7 @@
1
+ import { Toc as Toc$1 } from "@ark-ui/react/toc";
2
+ //#region src/components/toc/index.d.ts
3
+ /** Ark's Toc, dressed in the paper-and-ink system: a quiet rail of links
4
+ * beside the scroll, one stroke of primary ink marking where the reader
5
+ * stands. The API is Ark's own — Root, Title, List, Item, Link, Indicator. */
6
+ export declare const Toc: typeof Toc$1;
7
+ //#endregion
@@ -0,0 +1,10 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { Toc as Toc$1 } from "@ark-ui/react/toc";
3
+ //#region src/components/toc/index.tsx
4
+ /** Ark's Toc, dressed in the paper-and-ink system: a quiet rail of links
5
+ * beside the scroll, one stroke of primary ink marking where the reader
6
+ * stands. The API is Ark's own — Root, Title, List, Item, Link, Indicator. */
7
+ const Toc = Toc$1;
8
+ injectComponentStyle("toc");
9
+ //#endregion
10
+ export { Toc };
@@ -0,0 +1,7 @@
1
+ import { Toggle as Toggle$1 } from "@ark-ui/react/toggle";
2
+ //#region src/components/toggle/index.d.ts
3
+ /** Ark's Toggle, dressed in the paper-and-ink system: a standalone seal that
4
+ * settles into the flat ink fill while pressed on. The API is Ark's own —
5
+ * Root, Indicator. */
6
+ export declare const Toggle: typeof Toggle$1;
7
+ //#endregion
@@ -0,0 +1,10 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { Toggle as Toggle$1 } from "@ark-ui/react/toggle";
3
+ //#region src/components/toggle/index.tsx
4
+ /** Ark's Toggle, dressed in the paper-and-ink system: a standalone seal that
5
+ * settles into the flat ink fill while pressed on. The API is Ark's own —
6
+ * Root, Indicator. */
7
+ const Toggle = Toggle$1;
8
+ injectComponentStyle("toggle");
9
+ //#endregion
10
+ export { Toggle };
@@ -0,0 +1,15 @@
1
+ import { ComponentProps } from "react";
2
+ import { ToggleGroup as ToggleGroup$1 } from "@ark-ui/react/toggle-group";
3
+ //#region src/components/toggle-group/index.d.ts
4
+ type ToggleGroupRootProps = ComponentProps<typeof ToggleGroup$1.Root> & {
5
+ /** One rung of the control-height ladder for the items. */
6
+ size?: "sm" | "md" | "lg";
7
+ };
8
+ declare function ToggleGroupRoot({ size, ...rest }: ToggleGroupRootProps): import("react").JSX.Element;
9
+ /** Ark's ToggleGroup, dressed in the paper-and-ink system: a hairline tray
10
+ * of quiet seals where the pressed item takes the flat ink fill. The API is
11
+ * Ark's own — Root, Item. */
12
+ export declare const ToggleGroup: Omit<typeof ToggleGroup$1, "Root"> & {
13
+ Root: typeof ToggleGroupRoot;
14
+ };
15
+ //#endregion
@@ -0,0 +1,20 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { jsx } from "react/jsx-runtime";
3
+ import { ToggleGroup as ToggleGroup$1 } from "@ark-ui/react/toggle-group";
4
+ //#region src/components/toggle-group/index.tsx
5
+ function ToggleGroupRoot({ size = "md", ...rest }) {
6
+ return /* @__PURE__ */ jsx(ToggleGroup$1.Root, {
7
+ ...rest,
8
+ "data-size": size
9
+ });
10
+ }
11
+ /** Ark's ToggleGroup, dressed in the paper-and-ink system: a hairline tray
12
+ * of quiet seals where the pressed item takes the flat ink fill. The API is
13
+ * Ark's own — Root, Item. */
14
+ const ToggleGroup = {
15
+ ...ToggleGroup$1,
16
+ Root: ToggleGroupRoot
17
+ };
18
+ injectComponentStyle("toggle-group");
19
+ //#endregion
20
+ export { ToggleGroup };
@@ -0,0 +1,7 @@
1
+ import { Tooltip as Tooltip$1 } from "@ark-ui/react/tooltip";
2
+ //#region src/components/tooltip/index.d.ts
3
+ /** Ark's Tooltip, dressed in the paper-and-ink system: the smallest
4
+ * vessel — a tight chip of ink that dissolves in over its anchor. The
5
+ * API is Ark's own — Root, Trigger, Positioner, Content, Arrow, ArrowTip. */
6
+ export declare const Tooltip: typeof Tooltip$1;
7
+ //#endregion
@@ -0,0 +1,10 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { Tooltip as Tooltip$1 } from "@ark-ui/react/tooltip";
3
+ //#region src/components/tooltip/index.tsx
4
+ /** Ark's Tooltip, dressed in the paper-and-ink system: the smallest
5
+ * vessel — a tight chip of ink that dissolves in over its anchor. The
6
+ * API is Ark's own — Root, Trigger, Positioner, Content, Arrow, ArrowTip. */
7
+ const Tooltip = Tooltip$1;
8
+ injectComponentStyle("tooltip");
9
+ //#endregion
10
+ export { Tooltip };
@@ -0,0 +1,11 @@
1
+ import { Tour as Tour$1, TourInteractOutsideEvent, TourPointerDownOutsideEvent, TourStepDetails, useTour } from "@ark-ui/react/tour";
2
+ //#region src/components/tour/index.d.ts
3
+ /** Ark's Tour, dressed in the paper-and-ink system: a dimmed page where
4
+ * the spotlight alone keeps the focus halo, and the anchored card rides
5
+ * the shared popup vessel. The API is Ark's own — Root, Backdrop,
6
+ * Spotlight, Positioner, Content, Arrow, ArrowTip, Title, Description,
7
+ * ProgressText, Control, Actions, ActionTrigger, CloseTrigger, plus
8
+ * useTour. */
9
+ export declare const Tour: typeof Tour$1;
10
+ //#endregion
11
+ export { type TourInteractOutsideEvent, type TourPointerDownOutsideEvent, type TourStepDetails, useTour };
@@ -0,0 +1,13 @@
1
+ import { injectComponentStyle } from "@bysages/core";
2
+ import { Tour as Tour$1, useTour } from "@ark-ui/react/tour";
3
+ //#region src/components/tour/index.tsx
4
+ /** Ark's Tour, dressed in the paper-and-ink system: a dimmed page where
5
+ * the spotlight alone keeps the focus halo, and the anchored card rides
6
+ * the shared popup vessel. The API is Ark's own — Root, Backdrop,
7
+ * Spotlight, Positioner, Content, Arrow, ArrowTip, Title, Description,
8
+ * ProgressText, Control, Actions, ActionTrigger, CloseTrigger, plus
9
+ * useTour. */
10
+ const Tour = Tour$1;
11
+ injectComponentStyle("tour");
12
+ //#endregion
13
+ export { Tour, useTour };
@@ -0,0 +1,23 @@
1
+ import { HTMLAttributes } from "react";
2
+ //#region src/components/transfer/index.d.ts
3
+ export interface TransferItem {
4
+ label: string;
5
+ value: string;
6
+ disabled?: boolean;
7
+ }
8
+ export interface TransferProps extends HTMLAttributes<HTMLDivElement> {
9
+ value?: string[];
10
+ data: TransferItem[];
11
+ titles?: string[];
12
+ searchable?: boolean;
13
+ disabled?: boolean;
14
+ onValueChange?: (value: string[]) => void;
15
+ }
16
+ /**
17
+ * Two ledgers and a crossing: items sit in the source column until the
18
+ * reader checks them and walks them across — and back, the same way.
19
+ * `value` is the target column's value list; everything else in `data`
20
+ * stays on the left. `searchable` adds a filter line to each panel.
21
+ */
22
+ export declare function Transfer({ value, data, titles, searchable, disabled, onValueChange, ...rest }: TransferProps): import("react").JSX.Element;
23
+ //#endregion
@@ -0,0 +1,154 @@
1
+ import { Button } from "../button/index.mjs";
2
+ import { Input } from "../input/index.mjs";
3
+ import { injectComponentStyle } from "@bysages/core";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
5
+ import { useState } from "react";
6
+ import { Checkbox } from "@ark-ui/react/checkbox";
7
+ //#region src/components/transfer/index.tsx
8
+ const checkGlyph = /* @__PURE__ */ jsx("svg", {
9
+ viewBox: "0 0 24 24",
10
+ fill: "none",
11
+ stroke: "currentColor",
12
+ strokeWidth: 3,
13
+ strokeLinecap: "round",
14
+ strokeLinejoin: "round",
15
+ "aria-hidden": "true",
16
+ children: /* @__PURE__ */ jsx("path", { d: "m5 12.5 5 5L19 7" })
17
+ });
18
+ function arrowGlyph(direction) {
19
+ return /* @__PURE__ */ jsx("svg", {
20
+ viewBox: "0 0 24 24",
21
+ fill: "none",
22
+ stroke: "currentColor",
23
+ strokeWidth: 1.75,
24
+ strokeLinecap: "round",
25
+ strokeLinejoin: "round",
26
+ "aria-hidden": "true",
27
+ children: /* @__PURE__ */ jsx("path", { d: direction === "right" ? "M5 12h14m-6-6 6 6-6 6" : "M19 12H5m6-6-6 6 6 6" })
28
+ });
29
+ }
30
+ /**
31
+ * Two ledgers and a crossing: items sit in the source column until the
32
+ * reader checks them and walks them across — and back, the same way.
33
+ * `value` is the target column's value list; everything else in `data`
34
+ * stays on the left. `searchable` adds a filter line to each panel.
35
+ */
36
+ function Transfer({ value = [], data, titles = ["Source", "Target"], searchable = false, disabled = false, onValueChange, ...rest }) {
37
+ injectComponentStyle("transfer");
38
+ injectComponentStyle("checkbox");
39
+ const [checkedSource, setCheckedSource] = useState(() => /* @__PURE__ */ new Set());
40
+ const [checkedTarget, setCheckedTarget] = useState(() => /* @__PURE__ */ new Set());
41
+ const [sourceQuery, setSourceQuery] = useState("");
42
+ const [targetQuery, setTargetQuery] = useState("");
43
+ const target = new Set(value);
44
+ function panelItems(values, inTarget, query) {
45
+ return values.filter((item) => item.label.toLowerCase().includes(query.toLowerCase()) && target.has(item.value) === inTarget);
46
+ }
47
+ function toggle(side, option) {
48
+ (side === "source" ? setCheckedSource : setCheckedTarget)((prev) => {
49
+ const next = new Set(prev);
50
+ if (next.has(option)) next.delete(option);
51
+ else next.add(option);
52
+ return next;
53
+ });
54
+ }
55
+ function move(toTarget) {
56
+ const moving = toTarget ? checkedSource : checkedTarget;
57
+ if (moving.size === 0) return;
58
+ const next = toTarget ? [...value, ...moving].filter((entry, index, all) => all.indexOf(entry) === index) : value.filter((entry) => !moving.has(entry));
59
+ if (toTarget) setCheckedSource(/* @__PURE__ */ new Set());
60
+ else setCheckedTarget(/* @__PURE__ */ new Set());
61
+ onValueChange?.(next);
62
+ }
63
+ function panel(side, title, query, onQuery, checked, items) {
64
+ return /* @__PURE__ */ jsxs("div", {
65
+ "data-scope": "transfer",
66
+ "data-part": "panel",
67
+ "data-side": side,
68
+ children: [
69
+ /* @__PURE__ */ jsxs("div", {
70
+ "data-scope": "transfer",
71
+ "data-part": "head",
72
+ children: [/* @__PURE__ */ jsx("span", {
73
+ "data-scope": "transfer",
74
+ "data-part": "title",
75
+ children: title
76
+ }), /* @__PURE__ */ jsx("span", {
77
+ "data-scope": "transfer",
78
+ "data-part": "count",
79
+ children: items.length
80
+ })]
81
+ }),
82
+ searchable ? /* @__PURE__ */ jsx("div", {
83
+ "data-scope": "transfer",
84
+ "data-part": "search",
85
+ children: /* @__PURE__ */ jsx(Input, {
86
+ size: "sm",
87
+ value: query,
88
+ onValueChange: onQuery,
89
+ placeholder: "Filter…",
90
+ "aria-label": `Filter ${title}`
91
+ })
92
+ }) : null,
93
+ /* @__PURE__ */ jsx("div", {
94
+ "data-scope": "transfer",
95
+ "data-part": "list",
96
+ children: items.length === 0 ? /* @__PURE__ */ jsx("p", {
97
+ "data-scope": "transfer",
98
+ "data-part": "empty",
99
+ children: "Nothing here"
100
+ }) : items.map((item) => {
101
+ const locked = disabled || item.disabled === true;
102
+ return /* @__PURE__ */ jsxs(Checkbox.Root, {
103
+ checked: checked.has(item.value),
104
+ disabled: locked,
105
+ onCheckedChange: () => toggle(side, item.value),
106
+ children: [
107
+ /* @__PURE__ */ jsx(Checkbox.Control, { children: /* @__PURE__ */ jsx(Checkbox.Indicator, { children: checkGlyph }) }),
108
+ /* @__PURE__ */ jsx(Checkbox.Label, {
109
+ "data-part": "label",
110
+ children: item.label
111
+ }),
112
+ /* @__PURE__ */ jsx(Checkbox.HiddenInput, {})
113
+ ]
114
+ }, item.value);
115
+ })
116
+ })
117
+ ]
118
+ });
119
+ }
120
+ const items = panelItems(data, false, sourceQuery);
121
+ const targetItems = panelItems(data, true, targetQuery);
122
+ return /* @__PURE__ */ jsxs("div", {
123
+ ...rest,
124
+ "data-scope": "transfer",
125
+ "data-part": "root",
126
+ children: [
127
+ panel("source", titles[0], sourceQuery, setSourceQuery, checkedSource, items),
128
+ /* @__PURE__ */ jsxs("div", {
129
+ "data-scope": "transfer",
130
+ "data-part": "operations",
131
+ children: [/* @__PURE__ */ jsx(Button, {
132
+ variant: "outline",
133
+ size: "sm",
134
+ square: true,
135
+ disabled: checkedSource.size === 0 || disabled,
136
+ "aria-label": "Move right",
137
+ onClick: () => move(true),
138
+ children: arrowGlyph("right")
139
+ }), /* @__PURE__ */ jsx(Button, {
140
+ variant: "outline",
141
+ size: "sm",
142
+ square: true,
143
+ disabled: checkedTarget.size === 0 || disabled,
144
+ "aria-label": "Move left",
145
+ onClick: () => move(false),
146
+ children: arrowGlyph("left")
147
+ })]
148
+ }),
149
+ panel("target", titles[1], targetQuery, setTargetQuery, checkedTarget, targetItems)
150
+ ]
151
+ });
152
+ }
153
+ //#endregion
154
+ export { Transfer };
@@ -0,0 +1,28 @@
1
+ import { HTMLAttributes } from "react";
2
+ //#region src/components/tree-select/index.d.ts
3
+ export interface TreeSelectNode {
4
+ label: string;
5
+ value: string;
6
+ children?: TreeSelectNode[];
7
+ disabled?: boolean;
8
+ }
9
+ /**
10
+ * A tree behind a field: the control reads like an input, the vessel
11
+ * below walks the hierarchy, and one leaf click closes the deal. Single
12
+ * selection — the chosen label rides on the control, its value rides in
13
+ * `value`. `filterable` puts a filter line at the top of the vessel;
14
+ * matches keep their ancestors and the branches fan open.
15
+ */
16
+ export interface TreeSelectProps extends HTMLAttributes<HTMLDivElement> {
17
+ value?: string;
18
+ data: TreeSelectNode[];
19
+ placeholder?: string;
20
+ filterable?: boolean;
21
+ disabled?: boolean;
22
+ /** One rung of the ladder: the trigger height and the vessel's row
23
+ * register follow it together. */
24
+ size?: "sm" | "md" | "lg";
25
+ onValueChange?: (value: string) => void;
26
+ }
27
+ export declare function TreeSelect({ value, data, placeholder, filterable, disabled, size, onValueChange, ...rest }: TreeSelectProps): import("react").JSX.Element;
28
+ //#endregion