@bysages/solid 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 (273) hide show
  1. package/dist/{ai-response-ClGGptX3.mjs → ai-response-D2uINBIi.mjs} +17 -7
  2. package/dist/chevron-BHQrYKPM.mjs +8 -0
  3. package/dist/components/accordion/index.d.mts +22 -2
  4. package/dist/components/accordion/index.mjs +68 -2
  5. package/dist/components/affix/index.d.mts +3 -1
  6. package/dist/components/affix/index.mjs +5 -4
  7. package/dist/components/ai/index.d.mts +1 -1
  8. package/dist/components/ai/index.mjs +14 -16
  9. package/dist/components/ai-action/index.d.mts +3 -1
  10. package/dist/components/ai-action/index.mjs +3 -2
  11. package/dist/components/ai-attachments/index.d.mts +8 -4
  12. package/dist/components/ai-attachments/index.mjs +41 -37
  13. package/dist/components/ai-message/index.d.mts +3 -1
  14. package/dist/components/ai-message/index.mjs +3 -2
  15. package/dist/components/ai-prompt-input/index.d.mts +3 -1
  16. package/dist/components/ai-prompt-input/index.mjs +59 -46
  17. package/dist/components/ai-reasoning/index.d.mts +3 -1
  18. package/dist/components/ai-reasoning/index.mjs +4 -3
  19. package/dist/components/ai-response/index.d.mts +3 -1
  20. package/dist/components/ai-response/index.mjs +1 -1
  21. package/dist/components/ai-source/index.d.mts +6 -2
  22. package/dist/components/ai-source/index.mjs +5 -4
  23. package/dist/components/ai-suggestion/index.d.mts +3 -1
  24. package/dist/components/ai-suggestion/index.mjs +3 -2
  25. package/dist/components/ai-tool/index.d.mts +3 -1
  26. package/dist/components/ai-tool/index.mjs +4 -3
  27. package/dist/components/alert/index.mjs +31 -34
  28. package/dist/components/angle-slider/index.d.mts +1 -1
  29. package/dist/components/angle-slider/index.mjs +13 -5
  30. package/dist/components/aspect-ratio/index.d.mts +3 -1
  31. package/dist/components/aspect-ratio/index.mjs +3 -2
  32. package/dist/components/autocomplete/index.d.mts +4 -1
  33. package/dist/components/autocomplete/index.mjs +15 -2
  34. package/dist/components/avatar/index.d.mts +1 -1
  35. package/dist/components/avatar/index.mjs +10 -1
  36. package/dist/components/avatar-group/index.d.mts +3 -1
  37. package/dist/components/avatar-group/index.mjs +3 -2
  38. package/dist/components/back-top/index.d.mts +3 -1
  39. package/dist/components/back-top/index.mjs +9 -5
  40. package/dist/components/badge/index.d.mts +3 -1
  41. package/dist/components/badge/index.mjs +3 -2
  42. package/dist/components/banner/index.mjs +9 -3
  43. package/dist/components/block-ui/index.d.mts +3 -1
  44. package/dist/components/block-ui/index.mjs +3 -2
  45. package/dist/components/breadcrumb/index.mjs +5 -5
  46. package/dist/components/button/index.d.mts +3 -1
  47. package/dist/components/button/index.mjs +3 -2
  48. package/dist/components/calendar/index.d.mts +3 -1
  49. package/dist/components/calendar/index.mjs +29 -21
  50. package/dist/components/carousel/index.d.mts +5 -1
  51. package/dist/components/carousel/index.mjs +13 -1
  52. package/dist/components/cascade-select/index.d.mts +3 -1
  53. package/dist/components/cascade-select/index.mjs +82 -74
  54. package/dist/components/checkbox/index.d.mts +1 -1
  55. package/dist/components/checkbox/index.mjs +13 -5
  56. package/dist/components/checkbox-group/index.d.mts +4 -9
  57. package/dist/components/checkbox-group/index.mjs +65 -68
  58. package/dist/components/chip/index.d.mts +3 -1
  59. package/dist/components/chip/index.mjs +3 -2
  60. package/dist/components/client-only/index.d.mts +7 -2
  61. package/dist/components/client-only/index.mjs +8 -1
  62. package/dist/components/clipboard/index.d.mts +1 -1
  63. package/dist/components/clipboard/index.mjs +13 -5
  64. package/dist/components/collapsible/index.d.mts +15 -1
  65. package/dist/components/collapsible/index.mjs +39 -2
  66. package/dist/components/color-picker/index.d.mts +13 -2
  67. package/dist/components/color-picker/index.mjs +95 -8
  68. package/dist/components/combobox/index.d.mts +24 -1
  69. package/dist/components/combobox/index.mjs +129 -8
  70. package/dist/components/command/index.d.mts +4 -1
  71. package/dist/components/command/index.mjs +24 -4
  72. package/dist/components/comment/index.d.mts +3 -1
  73. package/dist/components/comment/index.mjs +3 -2
  74. package/dist/components/config-provider/index.d.mts +7 -2
  75. package/dist/components/config-provider/index.mjs +6 -3
  76. package/dist/components/container/index.d.mts +3 -1
  77. package/dist/components/container/index.mjs +3 -2
  78. package/dist/components/data-view/index.d.mts +3 -1
  79. package/dist/components/data-view/index.mjs +13 -8
  80. package/dist/components/date-input/index.d.mts +1 -1
  81. package/dist/components/date-input/index.mjs +13 -5
  82. package/dist/components/date-picker/index.d.mts +1 -1
  83. package/dist/components/date-picker/index.mjs +13 -5
  84. package/dist/components/deferred-content/index.d.mts +3 -1
  85. package/dist/components/deferred-content/index.mjs +3 -2
  86. package/dist/components/descriptions/index.d.mts +7 -0
  87. package/dist/components/descriptions/index.mjs +21 -2
  88. package/dist/components/dialog/index.d.mts +17 -1
  89. package/dist/components/dialog/index.mjs +84 -2
  90. package/dist/components/download-trigger/index.d.mts +7 -2
  91. package/dist/components/download-trigger/index.mjs +8 -1
  92. package/dist/components/drawer/index.d.mts +17 -1
  93. package/dist/components/drawer/index.mjs +83 -2
  94. package/dist/components/dynamic-input/index.d.mts +3 -1
  95. package/dist/components/dynamic-input/index.mjs +15 -7
  96. package/dist/components/editable/index.d.mts +1 -1
  97. package/dist/components/editable/index.mjs +13 -5
  98. package/dist/components/ellipsis/index.d.mts +3 -1
  99. package/dist/components/ellipsis/index.mjs +3 -2
  100. package/dist/components/field/index.d.mts +5 -1
  101. package/dist/components/field/index.mjs +13 -1
  102. package/dist/components/fieldset/index.d.mts +5 -1
  103. package/dist/components/fieldset/index.mjs +13 -1
  104. package/dist/components/file-upload/index.d.mts +1 -1
  105. package/dist/components/file-upload/index.mjs +24 -6
  106. package/dist/components/float-button/index.mjs +3 -1
  107. package/dist/components/floating-panel/index.d.mts +5 -1
  108. package/dist/components/floating-panel/index.mjs +13 -1
  109. package/dist/components/focus-trap/index.d.mts +7 -2
  110. package/dist/components/focus-trap/index.mjs +8 -1
  111. package/dist/components/form/index.d.mts +1 -1
  112. package/dist/components/form/index.mjs +10 -4
  113. package/dist/components/frame/index.d.mts +6 -1
  114. package/dist/components/frame/index.mjs +10 -1
  115. package/dist/components/grid/index.d.mts +3 -1
  116. package/dist/components/grid/index.mjs +3 -2
  117. package/dist/components/highlight/index.d.mts +3 -1
  118. package/dist/components/highlight/index.mjs +2 -1
  119. package/dist/components/hover-card/index.d.mts +19 -1
  120. package/dist/components/hover-card/index.mjs +91 -2
  121. package/dist/components/icon/index.d.mts +8 -7
  122. package/dist/components/icon/index.mjs +4 -3
  123. package/dist/components/image/index.d.mts +8 -2
  124. package/dist/components/image/index.mjs +40 -33
  125. package/dist/components/image-cropper/index.d.mts +5 -1
  126. package/dist/components/image-cropper/index.mjs +13 -1
  127. package/dist/components/image-viewer/index.d.mts +2 -19
  128. package/dist/components/image-viewer/index.mjs +3 -151
  129. package/dist/components/input/index.d.mts +3 -1
  130. package/dist/components/input/index.mjs +1 -1
  131. package/dist/components/json-tree-view/index.d.mts +5 -1
  132. package/dist/components/json-tree-view/index.mjs +22 -2
  133. package/dist/components/kbd/index.d.mts +3 -1
  134. package/dist/components/kbd/index.mjs +3 -2
  135. package/dist/components/layout/index.mjs +8 -4
  136. package/dist/components/link/index.d.mts +3 -1
  137. package/dist/components/link/index.mjs +3 -2
  138. package/dist/components/list/index.d.mts +2 -1
  139. package/dist/components/list/index.mjs +35 -26
  140. package/dist/components/listbox/index.d.mts +1 -1
  141. package/dist/components/listbox/index.mjs +13 -5
  142. package/dist/components/marquee/index.d.mts +5 -1
  143. package/dist/components/marquee/index.mjs +13 -1
  144. package/dist/components/masonry/index.d.mts +3 -1
  145. package/dist/components/masonry/index.mjs +3 -2
  146. package/dist/components/media-player/index.d.mts +2 -0
  147. package/dist/components/media-player/index.mjs +2 -0
  148. package/dist/components/mentions/index.d.mts +1 -1
  149. package/dist/components/mentions/index.mjs +2 -2
  150. package/dist/components/menu/index.d.mts +21 -1
  151. package/dist/components/menu/index.mjs +62 -5
  152. package/dist/components/menubar/index.d.mts +3 -1
  153. package/dist/components/menubar/index.mjs +31 -9
  154. package/dist/components/navigation-menu/index.d.mts +5 -1
  155. package/dist/components/navigation-menu/index.mjs +13 -1
  156. package/dist/components/number-input/index.d.mts +1 -1
  157. package/dist/components/number-input/index.mjs +13 -5
  158. package/dist/components/order-list/index.d.mts +3 -1
  159. package/dist/components/order-list/index.mjs +79 -67
  160. package/dist/components/pagination/index.d.mts +1 -1
  161. package/dist/components/pagination/index.mjs +13 -5
  162. package/dist/components/password-input/index.d.mts +1 -1
  163. package/dist/components/password-input/index.mjs +13 -5
  164. package/dist/components/pin-input/index.d.mts +1 -1
  165. package/dist/components/pin-input/index.mjs +13 -5
  166. package/dist/components/popconfirm/index.d.mts +3 -1
  167. package/dist/components/popconfirm/index.mjs +16 -8
  168. package/dist/components/popover/index.d.mts +19 -1
  169. package/dist/components/popover/index.mjs +91 -2
  170. package/dist/components/presence/index.d.mts +10 -2
  171. package/dist/components/presence/index.mjs +9 -1
  172. package/dist/components/progress/index.d.mts +1 -1
  173. package/dist/components/progress/index.mjs +13 -5
  174. package/dist/components/progress-group/index.d.mts +3 -1
  175. package/dist/components/progress-group/index.mjs +4 -3
  176. package/dist/components/qr-code/index.d.mts +5 -1
  177. package/dist/components/qr-code/index.mjs +13 -1
  178. package/dist/components/radio-group/index.d.mts +1 -1
  179. package/dist/components/radio-group/index.mjs +13 -5
  180. package/dist/components/rating-group/index.d.mts +2 -2
  181. package/dist/components/rating-group/index.mjs +13 -5
  182. package/dist/components/result/index.d.mts +1 -1
  183. package/dist/components/result/index.mjs +5 -3
  184. package/dist/components/scroll-area/index.d.mts +5 -1
  185. package/dist/components/scroll-area/index.mjs +13 -1
  186. package/dist/components/segment-group/index.d.mts +1 -1
  187. package/dist/components/segment-group/index.mjs +11 -6
  188. package/dist/components/select/index.d.mts +2 -2
  189. package/dist/components/select/index.mjs +1 -1
  190. package/dist/components/separator/index.d.mts +3 -1
  191. package/dist/components/separator/index.mjs +3 -2
  192. package/dist/components/signature-pad/index.d.mts +5 -1
  193. package/dist/components/signature-pad/index.mjs +13 -1
  194. package/dist/components/skeleton/index.d.mts +3 -1
  195. package/dist/components/skeleton/index.mjs +3 -2
  196. package/dist/components/slider/index.d.mts +1 -1
  197. package/dist/components/slider/index.mjs +13 -5
  198. package/dist/components/spinner/index.d.mts +3 -1
  199. package/dist/components/spinner/index.mjs +6 -3
  200. package/dist/components/split-button/index.d.mts +3 -1
  201. package/dist/components/split-button/index.mjs +19 -4
  202. package/dist/components/splitter/index.d.mts +5 -1
  203. package/dist/components/splitter/index.mjs +13 -1
  204. package/dist/components/spotlight/index.d.mts +3 -1
  205. package/dist/components/spotlight/index.mjs +3 -2
  206. package/dist/components/stack/index.d.mts +3 -1
  207. package/dist/components/stack/index.mjs +6 -5
  208. package/dist/components/steps/index.d.mts +25 -3
  209. package/dist/components/steps/index.mjs +73 -8
  210. package/dist/components/swap/index.d.mts +5 -1
  211. package/dist/components/swap/index.mjs +13 -1
  212. package/dist/components/switch/index.d.mts +1 -1
  213. package/dist/components/switch/index.mjs +13 -5
  214. package/dist/components/table/index.d.mts +3 -1
  215. package/dist/components/table/index.mjs +194 -164
  216. package/dist/components/tabs/index.d.mts +20 -2
  217. package/dist/components/tabs/index.mjs +59 -3
  218. package/dist/components/tags-input/index.d.mts +1 -1
  219. package/dist/components/tags-input/index.mjs +13 -5
  220. package/dist/components/terminal/index.d.mts +3 -1
  221. package/dist/components/terminal/index.mjs +6 -3
  222. package/dist/components/textarea/index.d.mts +3 -1
  223. package/dist/components/textarea/index.mjs +3 -2
  224. package/dist/components/timer/index.d.mts +5 -1
  225. package/dist/components/timer/index.mjs +13 -1
  226. package/dist/components/toast/index.d.mts +8 -2
  227. package/dist/components/toast/index.mjs +14 -2
  228. package/dist/components/toc/index.d.mts +5 -1
  229. package/dist/components/toc/index.mjs +1 -9
  230. package/dist/components/toggle/index.d.mts +5 -1
  231. package/dist/components/toggle/index.mjs +13 -1
  232. package/dist/components/toggle-group/index.d.mts +1 -1
  233. package/dist/components/toggle-group/index.mjs +13 -5
  234. package/dist/components/toolbar/index.d.mts +3 -1
  235. package/dist/components/toolbar/index.mjs +3 -2
  236. package/dist/components/tooltip/index.d.mts +16 -1
  237. package/dist/components/tooltip/index.mjs +55 -2
  238. package/dist/components/tour/index.d.mts +16 -3
  239. package/dist/components/tour/index.mjs +74 -9
  240. package/dist/components/transfer/index.d.mts +3 -1
  241. package/dist/components/transfer/index.mjs +68 -54
  242. package/dist/components/tree-select/index.d.mts +3 -1
  243. package/dist/components/tree-select/index.mjs +45 -35
  244. package/dist/components/tree-view/index.d.mts +1 -1
  245. package/dist/components/tree-view/index.mjs +26 -5
  246. package/dist/components/user/index.d.mts +3 -1
  247. package/dist/components/user/index.mjs +8 -2
  248. package/dist/components/virtual-list/index.d.mts +3 -1
  249. package/dist/components/virtual-list/index.mjs +14 -9
  250. package/dist/components/watermark/index.d.mts +3 -1
  251. package/dist/components/watermark/index.mjs +4 -3
  252. package/dist/element-dGIhOTJ6.mjs +16 -0
  253. package/dist/family-Cmd8HEyK.mjs +11 -0
  254. package/dist/icon-DTqmJCd5.mjs +48 -0
  255. package/dist/id-2ygNzPHF.mjs +12 -0
  256. package/dist/image-viewer-B9A5lXsk.mjs +228 -0
  257. package/dist/{index-B1xiJ5ki.d.mts → index-B1-quIrl.d.mts} +6 -2
  258. package/dist/{index-DDX7x8aT.d.mts → index-DEArHiFI.d.mts} +16 -7
  259. package/dist/index-DhripUtf.d.mts +39 -0
  260. package/dist/{index-YPUiqD3n.d.mts → index-ID48LCMU.d.mts} +28 -2
  261. package/dist/{index-IfofF-SW.d.mts → index-nFXK_8hJ.d.mts} +53 -23
  262. package/dist/index-wW28BYf1.d.mts +124 -0
  263. package/dist/index.d.mts +22 -21
  264. package/dist/index.mjs +14 -13
  265. package/dist/{input-DoFQ7RXh.mjs → input-CPAJdwDb.mjs} +3 -2
  266. package/dist/media-player-BC8D_d29.mjs +796 -0
  267. package/dist/{mentions-f5Js_2W7.mjs → mentions-CeG5u8Qm.mjs} +67 -51
  268. package/dist/select-7YjMSBGx.mjs +292 -0
  269. package/dist/toc-DYKaKQ_X.mjs +31 -0
  270. package/dist/use-component-messages-C4SCVYjD.mjs +17 -0
  271. package/package.json +3 -3
  272. package/dist/chevron-D5RzcayK.mjs +0 -9
  273. package/dist/select-CHaXbzLX.mjs +0 -115
@@ -1,10 +1,47 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
3
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
1
4
  import { injectComponentStyle } from "@bysages/core";
5
+ import { createComponent, memo, mergeProps } from "@solidjs/web";
6
+ import { createComponent as createComponent$1, mergeProps as mergeProps$1 } from "solid-js";
2
7
  import { Collapsible as Collapsible$1 } from "@ark-ui/solid/collapsible";
3
- //#region src/components/collapsible/index.ts
8
+ //#region src/components/collapsible/index.tsx
4
9
  /** Ark's Collapsible, dressed in the paper-and-ink system: one control on
5
10
  * the paper, its panel dissolving open to the machine's measured height.
6
11
  * The API is Ark's own — Root, Trigger, Content, Indicator. */
7
- const Collapsible = Collapsible$1;
12
+ function CollapsibleRoot(props) {
13
+ const id = useElementId("collapsible", () => props.id);
14
+ return createComponent$1(Collapsible$1.Root, mergeProps$1(props, { get id() {
15
+ return id();
16
+ } }));
17
+ }
18
+ function CollapsibleFacade(props) {
19
+ injectComponentStyle("collapsible");
20
+ return createComponent(CollapsibleRoot, mergeProps({ get disabled() {
21
+ return props.disabled;
22
+ } }, () => {
23
+ return props.open === void 0 ? {} : { open: props.open };
24
+ }, () => {
25
+ return props.defaultOpen === void 0 ? {} : { defaultOpen: props.defaultOpen };
26
+ }, {
27
+ onOpenChange: (details) => props.onOpenChange?.(details.open),
28
+ get children() {
29
+ return [createComponent(Collapsible$1.Trigger, { get children() {
30
+ return [memo(() => {
31
+ return props.label;
32
+ }), createComponent(Collapsible$1.Indicator, { get children() {
33
+ return iconNode("chevron-right");
34
+ } })];
35
+ } }), createComponent(Collapsible$1.Content, { get children() {
36
+ return props.children;
37
+ } })];
38
+ }
39
+ }));
40
+ }
41
+ const Collapsible = defineFamily(CollapsibleFacade, {
42
+ ...Collapsible$1,
43
+ Root: CollapsibleRoot
44
+ });
8
45
  injectComponentStyle("collapsible");
9
46
  //#endregion
10
47
  export { Collapsible };
@@ -1,4 +1,5 @@
1
- import { ColorPicker as ColorPicker$1, ColorPickerRootProps } from "@ark-ui/solid/color-picker";
1
+ import { ComponentProps } from "solid-js";
2
+ import { Color, ColorPicker as ColorPicker$1, ColorPickerRootProps } from "@ark-ui/solid/color-picker";
2
3
  //#region src/components/color-picker/index.d.ts
3
4
  /** Ark's ColorPicker, dressed in the paper-and-ink system: a seal-sized swatch
4
5
  * on the paper, opening into an area and channel sliders where pigment is
@@ -13,7 +14,17 @@ type ColorPickerOwnProps = {
13
14
  size?: "sm" | "md" | "lg";
14
15
  };
15
16
  declare function ColorPickerRoot(props: ColorPickerRootProps & ColorPickerOwnProps): import("solid-js").JSX.Element;
16
- export declare const ColorPicker: Omit<typeof ColorPicker$1, "Root"> & {
17
+ type ColorPickerFacadeProps = Omit<ComponentProps<typeof ColorPickerRoot>, "children" | "defaultValue" | "disabled" | "invalid" | "label" | "onValueChange" | "required" | "value"> & {
18
+ value?: string | Color;
19
+ defaultValue?: string | Color;
20
+ disabled?: boolean;
21
+ invalid?: boolean;
22
+ required?: boolean;
23
+ label?: string;
24
+ onValueChange?: (value: unknown) => void;
25
+ };
26
+ declare function ColorPickerFacade(props: ColorPickerFacadeProps): import("solid-js").JSX.Element;
27
+ export declare const ColorPicker: typeof ColorPickerFacade & Omit<typeof ColorPicker$1, "Root"> & {
17
28
  Root: typeof ColorPickerRoot;
18
29
  };
19
30
  //#endregion
@@ -1,18 +1,105 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
3
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
1
4
  import { injectComponentStyle } from "@bysages/core";
2
- import { createComponent, mergeProps } from "@solidjs/web";
3
- import { splitProps } from "solid-js";
4
- import { ColorPicker as ColorPicker$1 } from "@ark-ui/solid/color-picker";
5
+ import { createComponent, insert, mergeProps, template } from "@solidjs/web";
6
+ import { Show, splitProps } from "solid-js";
7
+ import { ColorPicker as ColorPicker$1, parseColor } from "@ark-ui/solid/color-picker";
5
8
  //#region src/components/color-picker/index.tsx
9
+ var _tmpl$ = /* @__PURE__ */ template(`<div data-scope=color-picker data-part=channel-controls><div data-scope=color-picker data-part=channel-sliders><!><!>`);
6
10
  function ColorPickerRoot(props) {
7
11
  const [own, rest] = splitProps(props, ["size"]);
8
- return createComponent(ColorPicker$1.Root, mergeProps(rest, { get "data-size"() {
9
- return own.size ?? "md";
10
- } }));
12
+ const id = useElementId("color-picker", () => rest.id);
13
+ return createComponent(ColorPicker$1.Root, mergeProps(rest, {
14
+ get id() {
15
+ return id();
16
+ },
17
+ get "data-size"() {
18
+ return own.size ?? "md";
19
+ }
20
+ }));
11
21
  }
12
- const ColorPicker = {
22
+ function ColorPickerFacade(props) {
23
+ injectComponentStyle("color-picker");
24
+ const toColor = (color) => typeof color === "string" ? parseColor(color) : color;
25
+ return createComponent(ColorPickerRoot, mergeProps(props, {
26
+ get value() {
27
+ return toColor(props.value);
28
+ },
29
+ get defaultValue() {
30
+ return toColor(props.defaultValue);
31
+ },
32
+ get disabled() {
33
+ return props.disabled;
34
+ },
35
+ get invalid() {
36
+ return props.invalid;
37
+ },
38
+ get required() {
39
+ return props.required;
40
+ },
41
+ onValueChange: (details) => props.onValueChange?.(details.value),
42
+ get children() {
43
+ return [
44
+ createComponent(Show, {
45
+ get when() {
46
+ return props.label;
47
+ },
48
+ get children() {
49
+ return createComponent(ColorPicker$1.Label, { get children() {
50
+ return props.label;
51
+ } });
52
+ }
53
+ }),
54
+ createComponent(ColorPicker$1.Control, { get children() {
55
+ return [createComponent(ColorPicker$1.ChannelInput, { channel: "hex" }), createComponent(ColorPicker$1.Trigger, { get children() {
56
+ return [createComponent(ColorPicker$1.TransparencyGrid, {}), createComponent(ColorPicker$1.ValueSwatch, {})];
57
+ } })];
58
+ } }),
59
+ createComponent(ColorPicker$1.Positioner, { get children() {
60
+ return createComponent(ColorPicker$1.Content, { get children() {
61
+ return [createComponent(ColorPicker$1.Area, { get children() {
62
+ return [createComponent(ColorPicker$1.AreaBackground, {}), createComponent(ColorPicker$1.AreaThumb, {})];
63
+ } }), (() => {
64
+ var _el$ = _tmpl$();
65
+ var _el$2 = _el$.firstChild;
66
+ var _el$3 = _el$2.firstChild;
67
+ var _el$4 = _el$3.nextSibling;
68
+ insert(_el$, createComponent(ColorPicker$1.EyeDropperTrigger, { get children() {
69
+ return iconNode("pipette", {
70
+ width: 14,
71
+ height: 14
72
+ });
73
+ } }), _el$2);
74
+ insert(_el$2, createComponent(ColorPicker$1.ChannelSlider, {
75
+ channel: "hue",
76
+ get children() {
77
+ return [createComponent(ColorPicker$1.ChannelSliderTrack, {}), createComponent(ColorPicker$1.ChannelSliderThumb, {})];
78
+ }
79
+ }), _el$3);
80
+ insert(_el$2, createComponent(ColorPicker$1.ChannelSlider, {
81
+ channel: "alpha",
82
+ get children() {
83
+ return [
84
+ createComponent(ColorPicker$1.TransparencyGrid, {}),
85
+ createComponent(ColorPicker$1.ChannelSliderTrack, {}),
86
+ createComponent(ColorPicker$1.ChannelSliderThumb, {})
87
+ ];
88
+ }
89
+ }), _el$4);
90
+ return _el$;
91
+ })()];
92
+ } });
93
+ } }),
94
+ createComponent(ColorPicker$1.HiddenInput, {})
95
+ ];
96
+ }
97
+ }));
98
+ }
99
+ const ColorPicker = defineFamily(ColorPickerFacade, {
13
100
  ...ColorPicker$1,
14
101
  Root: ColorPickerRoot
15
- };
102
+ });
16
103
  injectComponentStyle("color-picker");
17
104
  //#endregion
18
105
  export { ColorPicker };
@@ -11,7 +11,30 @@ type ComboboxOwnProps = {
11
11
  size?: "sm" | "md" | "lg";
12
12
  };
13
13
  declare function ComboboxRoot<T extends CollectionItem>(props: ComboboxRootProps<T> & ComboboxOwnProps): import("solid-js").JSX.Element;
14
- export declare const Combobox: Omit<typeof Combobox$1, "Root"> & {
14
+ type ComboboxOption = {
15
+ label: string;
16
+ value: string;
17
+ };
18
+ type ComboboxFacadeValue = string | string[];
19
+ type ComboboxParts = Omit<typeof Combobox$1, "Root"> & {
15
20
  Root: typeof ComboboxRoot;
16
21
  };
22
+ export interface ComboboxFacadeProps {
23
+ value?: ComboboxFacadeValue;
24
+ defaultValue?: ComboboxFacadeValue;
25
+ options: ComboboxOption[];
26
+ multiple?: boolean;
27
+ /** Show the clear-value control when the machine allows it. */
28
+ clearable?: boolean;
29
+ disabled?: boolean;
30
+ invalid?: boolean;
31
+ required?: boolean;
32
+ label?: string;
33
+ placeholder?: string;
34
+ /** One rung of the control-height ladder for the field row. */
35
+ size?: "sm" | "md" | "lg";
36
+ onValueChange?: (value?: ComboboxFacadeValue) => void;
37
+ }
38
+ declare function ComboboxFacade(props: ComboboxFacadeProps): import("solid-js").JSX.Element;
39
+ export declare const Combobox: typeof ComboboxFacade & ComboboxParts;
17
40
  //#endregion
@@ -1,18 +1,139 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
3
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
1
4
  import { injectComponentStyle } from "@bysages/core";
2
- import { createComponent, mergeProps } from "@solidjs/web";
3
- import { splitProps } from "solid-js";
4
- import { Combobox as Combobox$1 } from "@ark-ui/solid/combobox";
5
+ import { createComponent, memo, mergeProps } from "@solidjs/web";
6
+ import { For, Show, splitProps } from "solid-js";
7
+ import { Combobox as Combobox$1, createListCollection } from "@ark-ui/solid/combobox";
5
8
  //#region src/components/combobox/index.tsx
6
9
  function ComboboxRoot(props) {
7
10
  const [own, rest] = splitProps(props, ["size"]);
8
- return createComponent(Combobox$1.Root, mergeProps(rest, { get "data-size"() {
9
- return own.size ?? "md";
10
- } }));
11
+ const id = useElementId("combobox", () => rest.id);
12
+ return createComponent(Combobox$1.Root, mergeProps(rest, {
13
+ get id() {
14
+ return id();
15
+ },
16
+ get "data-size"() {
17
+ return own.size ?? "md";
18
+ }
19
+ }));
11
20
  }
12
- const Combobox = {
21
+ function toComboboxValue(value) {
22
+ if (value === void 0) return void 0;
23
+ return Array.isArray(value) ? value : [value];
24
+ }
25
+ function fromComboboxValue(value, multiple) {
26
+ return multiple ? value : value.at(0);
27
+ }
28
+ function ComboboxFacade(props) {
29
+ injectComponentStyle("combobox");
30
+ const collection = createListCollection({ items: props.options });
31
+ return createComponent(ComboboxRoot, mergeProps({
32
+ get size() {
33
+ return props.size ?? "md";
34
+ },
35
+ collection,
36
+ get defaultValue() {
37
+ return toComboboxValue(props.defaultValue);
38
+ },
39
+ get disabled() {
40
+ return props.disabled;
41
+ },
42
+ get invalid() {
43
+ return props.invalid;
44
+ },
45
+ get multiple() {
46
+ return props.multiple;
47
+ },
48
+ get placeholder() {
49
+ return props.placeholder;
50
+ },
51
+ get required() {
52
+ return props.required;
53
+ },
54
+ lazyMount: true,
55
+ unmountOnExit: true
56
+ }, () => {
57
+ return props.value === void 0 ? {} : { value: toComboboxValue(props.value) };
58
+ }, {
59
+ onValueChange: (event) => props.onValueChange?.(fromComboboxValue(event.value, props.multiple)),
60
+ get children() {
61
+ return [
62
+ createComponent(Show, {
63
+ get when() {
64
+ return props.label;
65
+ },
66
+ get children() {
67
+ return createComponent(Combobox$1.Label, { get children() {
68
+ return props.label;
69
+ } });
70
+ }
71
+ }),
72
+ createComponent(Combobox$1.Control, { get children() {
73
+ return [
74
+ createComponent(Combobox$1.Input, {
75
+ get "aria-label"() {
76
+ return memo(() => {
77
+ return !!props.label;
78
+ })() ? void 0 : props.placeholder;
79
+ },
80
+ get placeholder() {
81
+ return props.placeholder;
82
+ }
83
+ }),
84
+ createComponent(Show, {
85
+ get when() {
86
+ return props.clearable !== false;
87
+ },
88
+ get children() {
89
+ return createComponent(Combobox$1.ClearTrigger, { get children() {
90
+ return iconNode("x", {
91
+ width: "14",
92
+ height: "14"
93
+ });
94
+ } });
95
+ }
96
+ }),
97
+ createComponent(Combobox$1.Trigger, { get children() {
98
+ return iconNode("chevron-down", {
99
+ width: "16",
100
+ height: "16"
101
+ });
102
+ } })
103
+ ];
104
+ } }),
105
+ createComponent(Combobox$1.Positioner, { get children() {
106
+ return createComponent(Combobox$1.Content, { get children() {
107
+ return [createComponent(Combobox$1.Empty, { children: "No results found" }), createComponent(Combobox$1.List, { get children() {
108
+ return createComponent(For, {
109
+ get each() {
110
+ return collection.items;
111
+ },
112
+ children: (item) => createComponent(Combobox$1.Item, {
113
+ item,
114
+ get children() {
115
+ return [createComponent(Combobox$1.ItemText, { get children() {
116
+ return item.label;
117
+ } }), createComponent(Combobox$1.ItemIndicator, { get children() {
118
+ return iconNode("check", {
119
+ width: "14",
120
+ height: "14"
121
+ });
122
+ } })];
123
+ }
124
+ })
125
+ });
126
+ } })];
127
+ } });
128
+ } })
129
+ ];
130
+ }
131
+ }));
132
+ }
133
+ const Combobox = defineFamily(ComboboxFacade, {
13
134
  ...Combobox$1,
14
135
  Root: ComboboxRoot
15
- };
136
+ });
16
137
  injectComponentStyle("combobox");
17
138
  //#endregion
18
139
  export { Combobox };
@@ -1,3 +1,4 @@
1
+ import { Dialog } from "../dialog/index.mjs";
1
2
  //#region src/components/command/index.d.ts
2
3
  export interface CommandEntry {
3
4
  label: string;
@@ -8,6 +9,7 @@ export interface CommandEntry {
8
9
  hint?: string;
9
10
  }
10
11
  export interface CommandProps {
12
+ id?: string;
11
13
  /** The commands on offer, grouped as they arrive. */
12
14
  items?: CommandEntry[];
13
15
  placeholder?: string;
@@ -39,5 +41,6 @@ export interface CommandProps {
39
41
  * so the combobox renders no separate popup and the machine's content
40
42
  * grafts onto the sheet's list.
41
43
  */
42
- export declare function Command(props: CommandProps): import("solid-js").JSX.Element;
44
+ declare function CommandImpl(props: CommandProps): import("solid-js").JSX.Element;
45
+ export declare const Command: typeof CommandImpl & typeof Dialog;
43
46
  //#endregion
@@ -1,3 +1,7 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
3
+ import { n as useComponentMessages } from "../../use-component-messages-C4SCVYjD.mjs";
4
+ import { Dialog as Dialog$1 } from "../dialog/index.mjs";
1
5
  import { injectComponentStyle } from "@bysages/core";
2
6
  import { createComponent, insert, mergeProps, spread, template } from "@solidjs/web";
3
7
  import { For, Show, createEffect, createSignal, splitProps } from "solid-js";
@@ -63,10 +67,12 @@ function Row(props) {
63
67
  * so the combobox renders no separate popup and the machine's content
64
68
  * grafts onto the sheet's list.
65
69
  */
66
- function Command(props) {
70
+ function CommandImpl(props) {
67
71
  injectComponentStyle("command");
68
72
  injectComponentStyle("dialog");
73
+ const messages = useComponentMessages();
69
74
  const [own, rest] = splitProps(props, [
75
+ "id",
70
76
  "items",
71
77
  "placeholder",
72
78
  "open",
@@ -77,6 +83,7 @@ function Command(props) {
77
83
  "onOpenChange",
78
84
  "onInputValueChange"
79
85
  ]);
86
+ const id = useElementId("command", () => props.id);
80
87
  const [internalOpen, setInternalOpen] = createSignal(false);
81
88
  const [listOpen, setListOpen] = createSignal(true);
82
89
  let fieldText = "";
@@ -116,6 +123,9 @@ function Command(props) {
116
123
  }));
117
124
  };
118
125
  return createComponent(Dialog.Root, mergeProps(rest, {
126
+ get id() {
127
+ return id();
128
+ },
119
129
  get open() {
120
130
  return open();
121
131
  },
@@ -132,9 +142,15 @@ function Command(props) {
132
142
  var _el$7 = _tmpl$4();
133
143
  spread(_el$7, [contentProps, {
134
144
  "data-scope": "command",
135
- "data-part": "content"
145
+ "data-part": "content",
146
+ get "aria-label"() {
147
+ return messages().command.palette;
148
+ }
136
149
  }], true);
137
150
  insert(_el$7, createComponent(Combobox.Root, {
151
+ get id() {
152
+ return `${id()}-palette`;
153
+ },
138
154
  get collection() {
139
155
  return collection();
140
156
  },
@@ -164,7 +180,10 @@ function Command(props) {
164
180
  spread(_el$8, [inputProps, {
165
181
  type: "text",
166
182
  get placeholder() {
167
- return own.placeholder;
183
+ return own.placeholder ?? messages().command.search;
184
+ },
185
+ get "aria-label"() {
186
+ return messages().command.search;
168
187
  },
169
188
  "data-scope": "command",
170
189
  "data-part": "input"
@@ -232,7 +251,7 @@ function Command(props) {
232
251
  get children() {
233
252
  var _el$11 = _tmpl$6();
234
253
  insert(_el$11, () => {
235
- return own.emptyText ?? "No matching commands";
254
+ return own.emptyText ?? messages().command.noMatches;
236
255
  });
237
256
  return _el$11;
238
257
  }
@@ -249,5 +268,6 @@ function Command(props) {
249
268
  }
250
269
  }));
251
270
  }
271
+ const Command = defineFamily(CommandImpl, Dialog$1);
252
272
  //#endregion
253
273
  export { Command };
@@ -13,5 +13,7 @@ export interface CommentProps extends JSX.HTMLAttributes<HTMLElement> {
13
13
  * the body carries the byline from `author` and `datetime`, the ink is
14
14
  * the children, and `actions` is the row of answers.
15
15
  */
16
- export declare function Comment(props: CommentProps): JSX.Element;
16
+ export declare const Comment: ((props: CommentProps) => JSX.Element) & {
17
+ Root: (props: CommentProps) => JSX.Element;
18
+ };
17
19
  //#endregion
@@ -1,3 +1,4 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import { createComponent, effect, insert, setAttribute, spread, template } from "@solidjs/web";
3
4
  import { Show, splitProps } from "solid-js";
@@ -13,7 +14,7 @@ var _tmpl$6 = /* @__PURE__ */ template(`<article><div data-scope=comment data-pa
13
14
  * the body carries the byline from `author` and `datetime`, the ink is
14
15
  * the children, and `actions` is the row of answers.
15
16
  */
16
- function Comment(props) {
17
+ const Comment = withSelfRoot(function Comment(props) {
17
18
  injectComponentStyle("comment");
18
19
  const [own, rest] = splitProps(props, [
19
20
  "author",
@@ -96,6 +97,6 @@ function Comment(props) {
96
97
  }
97
98
  }), _el$11);
98
99
  return _el$;
99
- }
100
+ });
100
101
  //#endregion
101
102
  export { Comment };
@@ -1,4 +1,4 @@
1
- import { ThemeScene } from "@bysages/core";
1
+ import { ComponentMessagesOverride, ThemeScene } from "@bysages/core";
2
2
  import { JSX } from "solid-js";
3
3
  //#region src/components/config-provider/index.d.ts
4
4
  /** The four density tiers the token layer's `[data-density]` selectors
@@ -22,6 +22,8 @@ export interface ConfigContext {
22
22
  dir?: "ltr" | "rtl";
23
23
  /** BCP-47 locale, landing as the native `lang` attribute. */
24
24
  locale?: string;
25
+ /** Wrapper-owned copy, resolved with `locale` and merged over its locale defaults leaf by leaf. */
26
+ messages?: ComponentMessagesOverride;
25
27
  }
26
28
  /** Solid context for the provider's snapshot — a custom part reads it
27
29
  * with `useContext(ConfigContextKey)`. */
@@ -36,6 +38,7 @@ export interface ConfigProviderProps extends JSX.HTMLAttributes<HTMLDivElement>
36
38
  accent?: string;
37
39
  dir?: "ltr" | "rtl";
38
40
  locale?: string;
41
+ messages?: ComponentMessagesOverride;
39
42
  }
40
43
  /**
41
44
  * The declarative host for global configuration: one element that both
@@ -44,5 +47,7 @@ export interface ConfigProviderProps extends JSX.HTMLAttributes<HTMLDivElement>
44
47
  * descendants through `useConfig`, so interactive behavior (formatting,
45
48
  * messages) and visual theming stay one decision.
46
49
  */
47
- export declare function ConfigProvider(props: ConfigProviderProps): JSX.Element;
50
+ export declare const ConfigProvider: ((props: ConfigProviderProps) => JSX.Element) & {
51
+ Root: (props: ConfigProviderProps) => JSX.Element;
52
+ };
48
53
  //#endregion
@@ -1,3 +1,4 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
2
  import { createComponent, insert, spread, template } from "@solidjs/web";
2
3
  import { createContext, splitProps, useContext } from "solid-js";
3
4
  //#region src/components/config-provider/index.tsx
@@ -18,13 +19,14 @@ function useConfig() {
18
19
  * descendants through `useConfig`, so interactive behavior (formatting,
19
20
  * messages) and visual theming stay one decision.
20
21
  */
21
- function ConfigProvider(props) {
22
+ const ConfigProvider = withSelfRoot(function ConfigProvider(props) {
22
23
  const [own, rest] = splitProps(props, [
23
24
  "density",
24
25
  "scene",
25
26
  "accent",
26
27
  "dir",
27
28
  "locale",
29
+ "messages",
28
30
  "children"
29
31
  ]);
30
32
  return createComponent(ConfigContextKey.Provider, {
@@ -33,7 +35,8 @@ function ConfigProvider(props) {
33
35
  scene: own.scene,
34
36
  accent: own.accent,
35
37
  dir: own.dir,
36
- locale: own.locale
38
+ locale: own.locale,
39
+ messages: own.messages
37
40
  }),
38
41
  get children() {
39
42
  var _el$ = _tmpl$();
@@ -62,6 +65,6 @@ function ConfigProvider(props) {
62
65
  return _el$;
63
66
  }
64
67
  });
65
- }
68
+ });
66
69
  //#endregion
67
70
  export { ConfigContextKey, ConfigProvider, useConfig };
@@ -9,5 +9,7 @@ export interface ContainerProps extends JSX.HTMLAttributes<HTMLDivElement> {
9
9
  * than the measure. */
10
10
  padding?: boolean;
11
11
  }
12
- export declare function Container(props: ContainerProps): JSX.Element;
12
+ export declare const Container: ((props: ContainerProps) => JSX.Element) & {
13
+ Root: (props: ContainerProps) => JSX.Element;
14
+ };
13
15
  //#endregion
@@ -1,9 +1,10 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import { spread, template } from "@solidjs/web";
3
4
  import { splitProps } from "solid-js";
4
5
  //#region src/components/container/index.tsx
5
6
  var _tmpl$ = /* @__PURE__ */ template(`<div>`);
6
- function Container(props) {
7
+ const Container = withSelfRoot(function Container(props) {
7
8
  injectComponentStyle("container");
8
9
  const [own, rest] = splitProps(props, ["size", "padding"]);
9
10
  var _el$ = _tmpl$();
@@ -18,6 +19,6 @@ function Container(props) {
18
19
  }
19
20
  }], false);
20
21
  return _el$;
21
- }
22
+ });
22
23
  //#endregion
23
24
  export { Container };
@@ -14,5 +14,7 @@ export interface DataViewProps extends JSX.HTMLAttributes<HTMLDivElement> {
14
14
  * renderItem, the view lays the records out as a ledger or a lattice
15
15
  * and — when a page size is given — pages them with the pagination
16
16
  * family's own parts rather than a second implementation. */
17
- export declare function DataView(props: DataViewProps): JSX.Element;
17
+ export declare const DataView: ((props: DataViewProps) => JSX.Element) & {
18
+ Root: (props: DataViewProps) => JSX.Element;
19
+ };
18
20
  //#endregion