@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,7 +1,9 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
+ import { n as useComponentMessages } from "../../use-component-messages-C4SCVYjD.mjs";
1
3
  import { Pagination } from "../pagination/index.mjs";
2
4
  import { injectComponentStyle } from "@bysages/core";
3
5
  import { createComponent, effect, insert, memo, setAttribute, spread, template } from "@solidjs/web";
4
- import { For, Show, createSignal, createUniqueId, splitProps } from "solid-js";
6
+ import { For, Show, createSignal, splitProps } from "solid-js";
5
7
  //#region src/components/data-view/index.tsx
6
8
  var _tmpl$ = /* @__PURE__ */ template(`<div data-scope=data-view data-part=pager>`);
7
9
  var _tmpl$2 = /* @__PURE__ */ template(`<div><div data-scope=data-view data-part=content></div><!>`);
@@ -10,9 +12,8 @@ var _tmpl$3 = /* @__PURE__ */ template(`<div data-scope=data-view data-part=cell
10
12
  * renderItem, the view lays the records out as a ledger or a lattice
11
13
  * and — when a page size is given — pages them with the pagination
12
14
  * family's own parts rather than a second implementation. */
13
- function DataView(props) {
15
+ const DataView = withSelfRoot(function DataView(props) {
14
16
  injectComponentStyle("data-view");
15
- const uid = createUniqueId();
16
17
  const [own, rest] = splitProps(props, [
17
18
  "items",
18
19
  "layout",
@@ -20,6 +21,7 @@ function DataView(props) {
20
21
  "renderItem",
21
22
  "header"
22
23
  ]);
24
+ const messages = useComponentMessages();
23
25
  const [page, setPage] = createSignal(1);
24
26
  const pageCount = () => own.pageSize ? Math.max(1, Math.ceil(own.items.length / own.pageSize)) : 1;
25
27
  const visible = () => own.pageSize ? own.items.slice((page() - 1) * own.pageSize, page() * own.pageSize) : own.items;
@@ -28,8 +30,7 @@ function DataView(props) {
28
30
  var _el$4 = _el$2.nextSibling;
29
31
  spread(_el$, [rest, {
30
32
  "data-scope": "data-view",
31
- "data-part": "root",
32
- "data-uid": uid
33
+ "data-part": "root"
33
34
  }], true);
34
35
  insert(_el$, () => {
35
36
  return own.header;
@@ -69,7 +70,9 @@ function DataView(props) {
69
70
  get children() {
70
71
  return [
71
72
  createComponent(Pagination.PrevTrigger, {
72
- "aria-label": "Previous page",
73
+ get "aria-label"() {
74
+ return messages().pagination.previous;
75
+ },
73
76
  children: "‹"
74
77
  }),
75
78
  createComponent(Pagination.Context, { children: (pagination) => createComponent(For, {
@@ -92,7 +95,9 @@ function DataView(props) {
92
95
  })
93
96
  }) }),
94
97
  createComponent(Pagination.NextTrigger, {
95
- "aria-label": "Next page",
98
+ get "aria-label"() {
99
+ return messages().pagination.next;
100
+ },
96
101
  children: "›"
97
102
  })
98
103
  ];
@@ -105,6 +110,6 @@ function DataView(props) {
105
110
  setAttribute(_el$2, "data-layout", _v$);
106
111
  });
107
112
  return _el$;
108
- }
113
+ });
109
114
  //#endregion
110
115
  export { DataView };
@@ -9,7 +9,7 @@ type DateInputOwnProps = {
9
9
  size?: "sm" | "md" | "lg";
10
10
  };
11
11
  declare function DateInputRoot(props: DateInputRootProps & DateInputOwnProps): import("solid-js").JSX.Element;
12
- export declare const DateInput: Omit<typeof DateInput$1, "Root"> & {
12
+ export declare const DateInput: typeof DateInputRoot & Omit<typeof DateInput$1, "Root"> & {
13
13
  Root: typeof DateInputRoot;
14
14
  };
15
15
  //#endregion
@@ -1,3 +1,5 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
4
  import { createComponent, mergeProps } from "@solidjs/web";
3
5
  import { splitProps } from "solid-js";
@@ -5,14 +7,20 @@ import { DateInput as DateInput$1 } from "@ark-ui/solid/date-input";
5
7
  //#region src/components/date-input/index.tsx
6
8
  function DateInputRoot(props) {
7
9
  const [own, rest] = splitProps(props, ["size"]);
8
- return createComponent(DateInput$1.Root, mergeProps(rest, { get "data-size"() {
9
- return own.size ?? "md";
10
- } }));
10
+ const id = useElementId("date-input", () => rest.id);
11
+ return createComponent(DateInput$1.Root, mergeProps(rest, {
12
+ get id() {
13
+ return id();
14
+ },
15
+ get "data-size"() {
16
+ return own.size ?? "md";
17
+ }
18
+ }));
11
19
  }
12
- const DateInput = {
20
+ const DateInput = defineFamily(DateInputRoot, {
13
21
  ...DateInput$1,
14
22
  Root: DateInputRoot
15
- };
23
+ });
16
24
  injectComponentStyle("date-input");
17
25
  //#endregion
18
26
  export { DateInput };
@@ -11,7 +11,7 @@ type DatePickerOwnProps = {
11
11
  size?: "sm" | "md" | "lg";
12
12
  };
13
13
  declare function DatePickerRoot(props: DatePickerRootProps & DatePickerOwnProps): import("solid-js").JSX.Element;
14
- export declare const DatePicker: Omit<typeof DatePicker$1, "Root"> & {
14
+ export declare const DatePicker: typeof DatePickerRoot & Omit<typeof DatePicker$1, "Root"> & {
15
15
  Root: typeof DatePickerRoot;
16
16
  };
17
17
  //#endregion
@@ -1,3 +1,5 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
4
  import { createComponent, mergeProps } from "@solidjs/web";
3
5
  import { splitProps } from "solid-js";
@@ -5,14 +7,20 @@ import { DatePicker as DatePicker$1 } from "@ark-ui/solid/date-picker";
5
7
  //#region src/components/date-picker/index.tsx
6
8
  function DatePickerRoot(props) {
7
9
  const [own, rest] = splitProps(props, ["size"]);
8
- return createComponent(DatePicker$1.Root, mergeProps(rest, { get "data-size"() {
9
- return own.size ?? "md";
10
- } }));
10
+ const id = useElementId("date-picker", () => rest.id);
11
+ return createComponent(DatePicker$1.Root, mergeProps(rest, {
12
+ get id() {
13
+ return id();
14
+ },
15
+ get "data-size"() {
16
+ return own.size ?? "md";
17
+ }
18
+ }));
11
19
  }
12
- const DatePicker = {
20
+ const DatePicker = defineFamily(DatePickerRoot, {
13
21
  ...DatePicker$1,
14
22
  Root: DatePickerRoot
15
- };
23
+ });
16
24
  injectComponentStyle("date-picker");
17
25
  //#endregion
18
26
  export { DatePicker };
@@ -12,5 +12,7 @@ export interface DeferredContentProps extends JSX.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(props: DeferredContentProps): JSX.Element;
15
+ export declare const DeferredContent: ((props: DeferredContentProps) => JSX.Element) & {
16
+ Root: (props: DeferredContentProps) => JSX.Element;
17
+ };
16
18
  //#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, insert, ref, spread, template } from "@solidjs/web";
3
4
  import { Show, createSignal, onCleanup, onMount, splitProps } from "solid-js";
@@ -7,7 +8,7 @@ var _tmpl$ = /* @__PURE__ */ template(`<div>`);
7
8
  * tree until the placeholder scrolls near the viewport, then mounts
8
9
  * once and stays. The placeholder is drawn by the caller, so the late
9
10
  * arrival costs no layout shift it cannot predict. */
10
- function DeferredContent(props) {
11
+ const DeferredContent = withSelfRoot(function DeferredContent(props) {
11
12
  injectComponentStyle("deferred-content");
12
13
  const [own, rest] = splitProps(props, [
13
14
  "threshold",
@@ -47,6 +48,6 @@ function DeferredContent(props) {
47
48
  }
48
49
  }));
49
50
  return _el$;
50
- }
51
+ });
51
52
  //#endregion
52
53
  export { DeferredContent };
@@ -1,5 +1,11 @@
1
1
  import { JSX } from "solid-js";
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
  /**
4
10
  * A ledger laid flat: term and detail pairs in one quiet grid. The
5
11
  * horizontal layout reads as a table of two columns; the vertical one
@@ -12,6 +18,7 @@ export interface DescriptionsRootProps extends JSX.HTMLAttributes<HTMLDListEleme
12
18
  bordered?: boolean;
13
19
  /** Pairs across the grid: one ledger per column. */
14
20
  column?: number;
21
+ items?: DescriptionsItemData[];
15
22
  }
16
23
  declare function Root(props: DescriptionsRootProps): JSX.Element;
17
24
  declare function Item(props: JSX.HTMLAttributes<HTMLDivElement> & {
@@ -1,5 +1,5 @@
1
1
  import { injectComponentStyle } from "@bysages/core";
2
- import { createComponent, mergeProps, spread, template } from "@solidjs/web";
2
+ import { createComponent, insert, mergeProps, spread, template } from "@solidjs/web";
3
3
  import { splitProps } from "solid-js";
4
4
  //#region src/components/descriptions/index.tsx
5
5
  var _tmpl$ = /* @__PURE__ */ template(`<dl>`);
@@ -9,6 +9,8 @@ function Root(props) {
9
9
  "layout",
10
10
  "bordered",
11
11
  "column",
12
+ "items",
13
+ "children",
12
14
  "style"
13
15
  ]);
14
16
  var _el$ = _tmpl$();
@@ -27,7 +29,10 @@ function Root(props) {
27
29
  get "data-bordered"() {
28
30
  return own.bordered || void 0;
29
31
  }
30
- }], false);
32
+ }], true);
33
+ insert(_el$, () => {
34
+ return own.children ?? renderItems(own.items);
35
+ });
31
36
  return _el$;
32
37
  }
33
38
  function part(name, tag) {
@@ -58,6 +63,20 @@ function Item(props) {
58
63
  }
59
64
  const Term = part("Term", "dt");
60
65
  const Detail = part("Detail", "dd");
66
+ function renderItems(items) {
67
+ return items?.map((item) => createComponent(Item, {
68
+ get span() {
69
+ return item.span;
70
+ },
71
+ get children() {
72
+ return [createComponent(Term, { get children() {
73
+ return item.term;
74
+ } }), createComponent(Detail, { get children() {
75
+ return item.detail;
76
+ } })];
77
+ }
78
+ }));
79
+ }
61
80
  const Descriptions = Object.assign(Root, {
62
81
  Root,
63
82
  Item,
@@ -1,9 +1,25 @@
1
+ import { ComponentProps, JSX } from "solid-js";
1
2
  import { Dialog as Dialog$1, DialogOpenChangeDetails } from "@ark-ui/solid/dialog";
2
3
  //#region src/components/dialog/index.d.ts
3
4
  /** Ark's Dialog, dressed in the paper-and-ink system: the sheet dissolves
4
5
  * in on elevation, the backdrop fades, and nested overlays stack through
5
6
  * the shared z-index ladder. The API is Ark's own — Root, Trigger,
6
7
  * Backdrop, Positioner, Content, Title, Description, CloseTrigger. */
7
- export declare const Dialog: typeof Dialog$1;
8
+ declare function DialogRoot(props: ComponentProps<typeof Dialog$1.Root>): JSX.Element;
9
+ export interface DialogFacadeProps {
10
+ open?: boolean;
11
+ defaultOpen?: boolean;
12
+ trigger?: string;
13
+ content?: string;
14
+ label?: string;
15
+ description?: string;
16
+ disabled?: boolean;
17
+ children?: JSX.Element;
18
+ onOpenChange?: (open: boolean) => void;
19
+ }
20
+ declare function DialogFacade(props: DialogFacadeProps): JSX.Element;
21
+ export declare const Dialog: typeof DialogFacade & Omit<typeof Dialog$1, "Root"> & {
22
+ Root: typeof DialogRoot;
23
+ };
8
24
  //#endregion
9
25
  export type { DialogOpenChangeDetails };
@@ -1,11 +1,93 @@
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, insert, memo, mergeProps, template } from "@solidjs/web";
6
+ import { Show, createComponent as createComponent$1, mergeProps as mergeProps$1 } from "solid-js";
2
7
  import { Dialog as Dialog$1 } from "@ark-ui/solid/dialog";
3
- //#region src/components/dialog/index.ts
8
+ //#region src/components/dialog/index.tsx
9
+ var _tmpl$ = /* @__PURE__ */ template(`<p>`);
4
10
  /** Ark's Dialog, dressed in the paper-and-ink system: the sheet dissolves
5
11
  * in on elevation, the backdrop fades, and nested overlays stack through
6
12
  * the shared z-index ladder. The API is Ark's own — Root, Trigger,
7
13
  * Backdrop, Positioner, Content, Title, Description, CloseTrigger. */
8
- const Dialog = Dialog$1;
14
+ function DialogRoot(props) {
15
+ const id = useElementId("dialog", () => props.id);
16
+ return createComponent$1(Dialog$1.Root, mergeProps$1(props, { get id() {
17
+ return id();
18
+ } }));
19
+ }
20
+ function DialogFacade(props) {
21
+ injectComponentStyle("dialog");
22
+ const title = () => props.label ?? props.trigger;
23
+ return createComponent(DialogRoot, mergeProps(() => {
24
+ return props.open === void 0 ? {} : { open: props.open };
25
+ }, () => {
26
+ return props.defaultOpen === void 0 ? {} : { defaultOpen: props.defaultOpen };
27
+ }, {
28
+ onOpenChange: (details) => props.onOpenChange?.(details.open),
29
+ get children() {
30
+ return [
31
+ createComponent(Dialog$1.Trigger, {
32
+ get disabled() {
33
+ return props.disabled;
34
+ },
35
+ get children() {
36
+ return title() ?? "Open";
37
+ }
38
+ }),
39
+ createComponent(Dialog$1.Backdrop, {}),
40
+ createComponent(Dialog$1.Positioner, { get children() {
41
+ return createComponent(Dialog$1.Content, { get children() {
42
+ return [
43
+ createComponent(Dialog$1.Title, { get children() {
44
+ return title();
45
+ } }),
46
+ createComponent(Show, {
47
+ get when() {
48
+ return props.description;
49
+ },
50
+ get children() {
51
+ return createComponent(Dialog$1.Description, { get children() {
52
+ return props.description;
53
+ } });
54
+ }
55
+ }),
56
+ createComponent(Show, {
57
+ get when() {
58
+ return props.content;
59
+ },
60
+ get children() {
61
+ var _el$ = _tmpl$();
62
+ insert(_el$, () => {
63
+ return props.content;
64
+ });
65
+ return _el$;
66
+ }
67
+ }),
68
+ memo(() => {
69
+ return props.children;
70
+ }),
71
+ createComponent(Dialog$1.CloseTrigger, {
72
+ "aria-label": "Close",
73
+ get children() {
74
+ return iconNode("x", {
75
+ width: 14,
76
+ height: 14
77
+ });
78
+ }
79
+ })
80
+ ];
81
+ } });
82
+ } })
83
+ ];
84
+ }
85
+ }));
86
+ }
87
+ const Dialog = defineFamily(DialogFacade, {
88
+ ...Dialog$1,
89
+ Root: DialogRoot
90
+ });
9
91
  injectComponentStyle("dialog");
10
92
  //#endregion
11
93
  export { Dialog };
@@ -1,2 +1,7 @@
1
- import { DownloadTrigger, DownloadTriggerBaseProps, DownloadTriggerProps, DownloadableData, UseDownloadProps, UseDownloadReturn, useDownload } from "@ark-ui/solid/download-trigger";
2
- export { DownloadTrigger, type DownloadTriggerBaseProps, type DownloadTriggerProps, type DownloadableData, type UseDownloadProps, type UseDownloadReturn, useDownload };
1
+ import { DownloadTrigger as DownloadTrigger$1, DownloadTriggerBaseProps, DownloadTriggerProps, DownloadableData, UseDownloadProps, UseDownloadReturn, useDownload } from "@ark-ui/solid/download-trigger";
2
+ //#region src/components/download-trigger/index.d.ts
3
+ export declare const DownloadTrigger: typeof DownloadTrigger$1 & {
4
+ Root: typeof DownloadTrigger$1;
5
+ };
6
+ //#endregion
7
+ export { type DownloadTriggerBaseProps, type DownloadTriggerProps, type DownloadableData, type UseDownloadProps, type UseDownloadReturn, useDownload };
@@ -1,2 +1,9 @@
1
- import { DownloadTrigger, useDownload } from "@ark-ui/solid/download-trigger";
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
+ import { DownloadTrigger as DownloadTrigger$1, useDownload } from "@ark-ui/solid/download-trigger";
3
+ //#region src/components/download-trigger/index.ts
4
+ /** Trigger a client-side download of in-memory data from a plain
5
+ * element — the headless counterpart to a save button. Also exposed:
6
+ * the primitive beneath the component, for custom triggers. */
7
+ const DownloadTrigger = withSelfRoot(DownloadTrigger$1);
8
+ //#endregion
2
9
  export { DownloadTrigger, useDownload };
@@ -1,3 +1,4 @@
1
+ import { ComponentProps, JSX } from "solid-js";
1
2
  import { Drawer as Drawer$1 } from "@ark-ui/solid/drawer";
2
3
  //#region src/components/drawer/index.d.ts
3
4
  /** Ark's Drawer, dressed in the paper-and-ink system: a full-height sheet
@@ -5,5 +6,20 @@ import { Drawer as Drawer$1 } from "@ark-ui/solid/drawer";
5
6
  * under the grabber's hand. The API is Ark's own — Root, Trigger,
6
7
  * Backdrop, Positioner, Content, Grabber, GrabberIndicator, Title,
7
8
  * Description, CloseTrigger, SwipeArea. */
8
- export declare const Drawer: typeof Drawer$1;
9
+ declare function DrawerRoot(props: ComponentProps<typeof Drawer$1.Root>): JSX.Element;
10
+ export interface DrawerFacadeProps {
11
+ open?: boolean;
12
+ defaultOpen?: boolean;
13
+ trigger?: string;
14
+ content?: string;
15
+ label: string;
16
+ description?: string;
17
+ disabled?: boolean;
18
+ children?: JSX.Element;
19
+ onOpenChange?: (open: boolean) => void;
20
+ }
21
+ declare function DrawerFacade(props: DrawerFacadeProps): JSX.Element;
22
+ export declare const Drawer: typeof DrawerFacade & Omit<typeof Drawer$1, "Root"> & {
23
+ Root: typeof DrawerRoot;
24
+ };
9
25
  //#endregion
@@ -1,12 +1,93 @@
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, insert, memo, mergeProps, template } from "@solidjs/web";
6
+ import { Show, createComponent as createComponent$1, mergeProps as mergeProps$1 } from "solid-js";
2
7
  import { Drawer as Drawer$1 } from "@ark-ui/solid/drawer";
3
- //#region src/components/drawer/index.ts
8
+ //#region src/components/drawer/index.tsx
9
+ var _tmpl$ = /* @__PURE__ */ template(`<p>`);
4
10
  /** Ark's Drawer, dressed in the paper-and-ink system: a full-height sheet
5
11
  * cut flush to the edge it rises from, sliding on the machine's translate
6
12
  * under the grabber's hand. The API is Ark's own — Root, Trigger,
7
13
  * Backdrop, Positioner, Content, Grabber, GrabberIndicator, Title,
8
14
  * Description, CloseTrigger, SwipeArea. */
9
- const Drawer = Drawer$1;
15
+ function DrawerRoot(props) {
16
+ const id = useElementId("drawer", () => props.id);
17
+ return createComponent$1(Drawer$1.Root, mergeProps$1(props, { get id() {
18
+ return id();
19
+ } }));
20
+ }
21
+ function DrawerFacade(props) {
22
+ injectComponentStyle("drawer");
23
+ return createComponent(DrawerRoot, mergeProps(() => {
24
+ return props.open === void 0 ? {} : { open: props.open };
25
+ }, () => {
26
+ return props.defaultOpen === void 0 ? {} : { defaultOpen: props.defaultOpen };
27
+ }, {
28
+ onOpenChange: (details) => props.onOpenChange?.(details.open),
29
+ get children() {
30
+ return [
31
+ createComponent(Drawer$1.Trigger, {
32
+ get disabled() {
33
+ return props.disabled;
34
+ },
35
+ get children() {
36
+ return props.trigger ?? props.label;
37
+ }
38
+ }),
39
+ createComponent(Drawer$1.Backdrop, {}),
40
+ createComponent(Drawer$1.Positioner, { get children() {
41
+ return createComponent(Drawer$1.Content, { get children() {
42
+ return [
43
+ createComponent(Drawer$1.Grabber, { get children() {
44
+ return createComponent(Drawer$1.GrabberIndicator, {});
45
+ } }),
46
+ createComponent(Drawer$1.Title, { get children() {
47
+ return props.label;
48
+ } }),
49
+ createComponent(Show, {
50
+ get when() {
51
+ return props.description;
52
+ },
53
+ get children() {
54
+ return createComponent(Drawer$1.Description, { get children() {
55
+ return props.description;
56
+ } });
57
+ }
58
+ }),
59
+ createComponent(Show, {
60
+ get when() {
61
+ return props.content;
62
+ },
63
+ get children() {
64
+ var _el$ = _tmpl$();
65
+ insert(_el$, () => {
66
+ return props.content;
67
+ });
68
+ return _el$;
69
+ }
70
+ }),
71
+ memo(() => {
72
+ return props.children;
73
+ }),
74
+ createComponent(Drawer$1.CloseTrigger, {
75
+ "aria-label": "Close",
76
+ get children() {
77
+ return iconNode("x");
78
+ }
79
+ })
80
+ ];
81
+ } });
82
+ } })
83
+ ];
84
+ }
85
+ }));
86
+ }
87
+ const Drawer = defineFamily(DrawerFacade, {
88
+ ...Drawer$1,
89
+ Root: DrawerRoot
90
+ });
10
91
  injectComponentStyle("drawer");
11
92
  //#endregion
12
93
  export { Drawer };
@@ -26,5 +26,7 @@ export interface DynamicInputProps extends JSX.HTMLAttributes<HTMLDivElement> {
26
26
  * past `max`, and the group always keeps one row: an entry list that
27
27
  * emptied itself would leave the reader no place to type.
28
28
  */
29
- export declare function DynamicInput(props: DynamicInputProps): JSX.Element;
29
+ export declare const DynamicInput: ((props: DynamicInputProps) => JSX.Element) & {
30
+ Root: (props: DynamicInputProps) => JSX.Element;
31
+ };
30
32
  //#endregion
@@ -1,12 +1,14 @@
1
+ import { n as withSelfRoot } from "../../family-Cmd8HEyK.mjs";
2
+ import { r as iconNode } from "../../icon-DTqmJCd5.mjs";
1
3
  import { Button } from "../button/index.mjs";
2
- import { t as Input } from "../../input-DoFQ7RXh.mjs";
4
+ import { n as useComponentMessages } from "../../use-component-messages-C4SCVYjD.mjs";
5
+ import { t as Input } from "../../input-CPAJdwDb.mjs";
3
6
  import { injectComponentStyle } from "@bysages/core";
4
7
  import { createComponent, insert, memo, spread, template } from "@solidjs/web";
5
8
  import { Index, splitProps } from "solid-js";
6
9
  //#region src/components/dynamic-input/index.tsx
7
10
  var _tmpl$ = /* @__PURE__ */ template(`<div><div data-scope=dynamic-input data-part=add>`);
8
11
  var _tmpl$2 = /* @__PURE__ */ template(`<div data-scope=dynamic-input data-part=row><!><!>`);
9
- var _tmpl$3 = /* @__PURE__ */ template(`<svg width=16 height=16 viewBox="0 0 24 24"fill=none stroke=currentColor stroke-width=1.75 stroke-linecap=round stroke-linejoin=round aria-hidden=true><path d="M18 6 6 18M6 6l12 12">`);
10
12
  /**
11
13
  * A column of entry rows: one Input per line, each with a quiet remove
12
14
  * seal, and an add row at the tail. The list is controlled — every edit
@@ -15,7 +17,8 @@ var _tmpl$3 = /* @__PURE__ */ template(`<svg width=16 height=16 viewBox="0 0 24
15
17
  * past `max`, and the group always keeps one row: an entry list that
16
18
  * emptied itself would leave the reader no place to type.
17
19
  */
18
- function DynamicInput(props) {
20
+ const DynamicInput = withSelfRoot(function DynamicInput(props) {
21
+ const messages = useComponentMessages();
19
22
  injectComponentStyle("dynamic-input");
20
23
  const [own, rest] = splitProps(props, [
21
24
  "value",
@@ -85,7 +88,9 @@ function DynamicInput(props) {
85
88
  get disabled() {
86
89
  return own.disabled || !canRemove();
87
90
  },
88
- "aria-label": `Remove entry ${index + 1}`,
91
+ get "aria-label"() {
92
+ return `${messages().dynamicEntry.remove} ${index + 1}`;
93
+ },
89
94
  onClick: () => remove(index),
90
95
  get children() {
91
96
  return crossIcon();
@@ -110,10 +115,13 @@ function DynamicInput(props) {
110
115
  }
111
116
  }));
112
117
  return _el$;
113
- }
114
- /** The one glyph a remove seal needs: a single crossing stroke. */
118
+ });
119
+ /** The one icon a remove seal needs: a single crossing stroke. */
115
120
  function crossIcon() {
116
- return _tmpl$3();
121
+ return iconNode("x", {
122
+ width: "16",
123
+ height: "16"
124
+ });
117
125
  }
118
126
  //#endregion
119
127
  export { DynamicInput };
@@ -9,7 +9,7 @@ type EditableOwnProps = {
9
9
  size?: "sm" | "md" | "lg";
10
10
  };
11
11
  declare function EditableRoot(props: EditableRootProps & EditableOwnProps): import("solid-js").JSX.Element;
12
- export declare const Editable: Omit<typeof Editable$1, "Root"> & {
12
+ export declare const Editable: typeof EditableRoot & Omit<typeof Editable$1, "Root"> & {
13
13
  Root: typeof EditableRoot;
14
14
  };
15
15
  //#endregion
@@ -1,3 +1,5 @@
1
+ import { t as defineFamily } from "../../family-Cmd8HEyK.mjs";
2
+ import { t as useElementId } from "../../id-2ygNzPHF.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
4
  import { createComponent, mergeProps } from "@solidjs/web";
3
5
  import { splitProps } from "solid-js";
@@ -5,14 +7,20 @@ import { Editable as Editable$1 } from "@ark-ui/solid/editable";
5
7
  //#region src/components/editable/index.tsx
6
8
  function EditableRoot(props) {
7
9
  const [own, rest] = splitProps(props, ["size"]);
8
- return createComponent(Editable$1.Root, mergeProps(rest, { get "data-size"() {
9
- return own.size ?? "md";
10
- } }));
10
+ const id = useElementId("editable", () => rest.id);
11
+ return createComponent(Editable$1.Root, mergeProps(rest, {
12
+ get id() {
13
+ return id();
14
+ },
15
+ get "data-size"() {
16
+ return own.size ?? "md";
17
+ }
18
+ }));
11
19
  }
12
- const Editable = {
20
+ const Editable = defineFamily(EditableRoot, {
13
21
  ...Editable$1,
14
22
  Root: EditableRoot
15
- };
23
+ });
16
24
  injectComponentStyle("editable");
17
25
  //#endregion
18
26
  export { Editable };
@@ -6,5 +6,7 @@ import { JSX } from "solid-js";
6
6
  export interface EllipsisProps extends JSX.HTMLAttributes<HTMLSpanElement> {
7
7
  lines?: number;
8
8
  }
9
- export declare function Ellipsis(props: EllipsisProps): JSX.Element;
9
+ export declare const Ellipsis: ((props: EllipsisProps) => JSX.Element) & {
10
+ Root: (props: EllipsisProps) => JSX.Element;
11
+ };
10
12
  //#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/ellipsis/index.tsx
5
6
  var _tmpl$ = /* @__PURE__ */ template(`<span>`);
6
- function Ellipsis(props) {
7
+ const Ellipsis = withSelfRoot(function Ellipsis(props) {
7
8
  injectComponentStyle("ellipsis");
8
9
  const [own, rest] = splitProps(props, ["lines"]);
9
10
  const multiline = () => (own.lines ?? 1) > 1;
@@ -22,6 +23,6 @@ function Ellipsis(props) {
22
23
  }
23
24
  }], false);
24
25
  return _el$;
25
- }
26
+ });
26
27
  //#endregion
27
28
  export { Ellipsis };