@bysages/react 0.3.1 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (272) hide show
  1. package/dist/{ai-response-BfKTmtCt.mjs → ai-response-B4DX7nmJ.mjs} +3 -1
  2. package/dist/chevron-a2nIZKN4.mjs +6 -0
  3. package/dist/components/accordion/index.d.mts +22 -4
  4. package/dist/components/accordion/index.mjs +31 -1
  5. package/dist/components/affix/index.d.mts +4 -1
  6. package/dist/components/affix/index.mjs +5 -3
  7. package/dist/components/ai/index.d.mts +1 -1
  8. package/dist/components/ai/index.mjs +5 -3
  9. package/dist/components/ai-action/index.d.mts +4 -1
  10. package/dist/components/ai-action/index.mjs +3 -1
  11. package/dist/components/ai-attachments/index.d.mts +10 -4
  12. package/dist/components/ai-attachments/index.mjs +16 -44
  13. package/dist/components/ai-message/index.d.mts +4 -1
  14. package/dist/components/ai-message/index.mjs +3 -1
  15. package/dist/components/ai-prompt-input/index.d.mts +5 -2
  16. package/dist/components/ai-prompt-input/index.mjs +10 -14
  17. package/dist/components/ai-reasoning/index.d.mts +4 -1
  18. package/dist/components/ai-reasoning/index.mjs +4 -2
  19. package/dist/components/ai-response/index.d.mts +4 -1
  20. package/dist/components/ai-response/index.mjs +1 -1
  21. package/dist/components/ai-source/index.d.mts +8 -2
  22. package/dist/components/ai-source/index.mjs +5 -2
  23. package/dist/components/ai-suggestion/index.d.mts +4 -1
  24. package/dist/components/ai-suggestion/index.mjs +3 -1
  25. package/dist/components/ai-tool/index.d.mts +4 -1
  26. package/dist/components/ai-tool/index.mjs +4 -2
  27. package/dist/components/alert/index.d.mts +2 -0
  28. package/dist/components/alert/index.mjs +11 -18
  29. package/dist/components/angle-slider/index.d.mts +19 -2
  30. package/dist/components/angle-slider/index.mjs +31 -8
  31. package/dist/components/aspect-ratio/index.d.mts +4 -1
  32. package/dist/components/aspect-ratio/index.mjs +3 -1
  33. package/dist/components/autocomplete/index.d.mts +3 -1
  34. package/dist/components/autocomplete/index.mjs +6 -1
  35. package/dist/components/avatar/index.d.mts +2 -2
  36. package/dist/components/avatar/index.mjs +9 -2
  37. package/dist/components/avatar-group/index.d.mts +4 -1
  38. package/dist/components/avatar-group/index.mjs +3 -1
  39. package/dist/components/back-top/index.d.mts +7 -1
  40. package/dist/components/back-top/index.mjs +12 -17
  41. package/dist/components/badge/index.d.mts +4 -1
  42. package/dist/components/badge/index.mjs +3 -1
  43. package/dist/components/banner/index.mjs +2 -11
  44. package/dist/components/block-ui/index.d.mts +4 -1
  45. package/dist/components/block-ui/index.mjs +3 -1
  46. package/dist/components/button/index.d.mts +4 -1
  47. package/dist/components/button/index.mjs +3 -1
  48. package/dist/components/calendar/index.d.mts +3 -1
  49. package/dist/components/calendar/index.mjs +9 -10
  50. package/dist/components/carousel/index.d.mts +21 -1
  51. package/dist/components/carousel/index.mjs +43 -2
  52. package/dist/components/cascade-select/index.d.mts +6 -1
  53. package/dist/components/cascade-select/index.mjs +12 -35
  54. package/dist/components/checkbox/index.d.mts +20 -2
  55. package/dist/components/checkbox/index.mjs +28 -8
  56. package/dist/components/checkbox-group/index.d.mts +8 -6
  57. package/dist/components/checkbox-group/index.mjs +44 -48
  58. package/dist/components/chip/index.d.mts +4 -1
  59. package/dist/components/chip/index.mjs +3 -1
  60. package/dist/components/client-only/index.d.mts +7 -2
  61. package/dist/components/client-only/index.mjs +5 -1
  62. package/dist/components/clipboard/index.d.mts +17 -4
  63. package/dist/components/clipboard/index.mjs +33 -5
  64. package/dist/components/collapsible/index.d.mts +16 -4
  65. package/dist/components/collapsible/index.mjs +25 -1
  66. package/dist/components/color-picker/index.d.mts +20 -4
  67. package/dist/components/color-picker/index.mjs +56 -14
  68. package/dist/components/combobox/index.d.mts +27 -1
  69. package/dist/components/combobox/index.mjs +62 -5
  70. package/dist/components/command/index.d.mts +4 -1
  71. package/dist/components/command/index.mjs +7 -1
  72. package/dist/components/comment/index.d.mts +4 -1
  73. package/dist/components/comment/index.mjs +3 -1
  74. package/dist/components/config-provider/index.d.mts +4 -1
  75. package/dist/components/config-provider/index.mjs +3 -1
  76. package/dist/components/container/index.d.mts +4 -1
  77. package/dist/components/container/index.mjs +3 -1
  78. package/dist/components/data-view/index.d.mts +4 -1
  79. package/dist/components/data-view/index.mjs +3 -1
  80. package/dist/components/date-input/index.d.mts +19 -4
  81. package/dist/components/date-input/index.mjs +33 -9
  82. package/dist/components/date-picker/index.d.mts +21 -4
  83. package/dist/components/date-picker/index.mjs +58 -11
  84. package/dist/components/deferred-content/index.d.mts +4 -1
  85. package/dist/components/deferred-content/index.mjs +3 -1
  86. package/dist/components/descriptions/index.d.mts +10 -2
  87. package/dist/components/descriptions/index.mjs +13 -8
  88. package/dist/components/dialog/index.d.mts +18 -5
  89. package/dist/components/dialog/index.mjs +43 -1
  90. package/dist/components/download-trigger/index.d.mts +7 -2
  91. package/dist/components/download-trigger/index.mjs +5 -1
  92. package/dist/components/drawer/index.d.mts +18 -6
  93. package/dist/components/drawer/index.mjs +40 -1
  94. package/dist/components/dynamic-input/index.d.mts +4 -1
  95. package/dist/components/dynamic-input/index.mjs +10 -18
  96. package/dist/components/editable/index.d.mts +28 -7
  97. package/dist/components/editable/index.mjs +43 -4
  98. package/dist/components/ellipsis/index.d.mts +4 -1
  99. package/dist/components/ellipsis/index.mjs +3 -1
  100. package/dist/components/field/index.d.mts +30 -5
  101. package/dist/components/field/index.mjs +36 -3
  102. package/dist/components/fieldset/index.d.mts +19 -4
  103. package/dist/components/fieldset/index.mjs +28 -3
  104. package/dist/components/file-upload/index.d.mts +29 -9
  105. package/dist/components/file-upload/index.mjs +46 -10
  106. package/dist/components/floating-panel/index.d.mts +18 -6
  107. package/dist/components/floating-panel/index.mjs +55 -1
  108. package/dist/components/focus-trap/index.d.mts +7 -2
  109. package/dist/components/focus-trap/index.mjs +5 -1
  110. package/dist/components/form/index.d.mts +1 -1
  111. package/dist/components/form/index.mjs +5 -2
  112. package/dist/components/frame/index.d.mts +4 -8
  113. package/dist/components/frame/index.mjs +13 -1
  114. package/dist/components/grid/index.d.mts +4 -1
  115. package/dist/components/grid/index.mjs +3 -1
  116. package/dist/components/highlight/index.d.mts +3 -5
  117. package/dist/components/highlight/index.mjs +6 -1
  118. package/dist/components/hover-card/index.d.mts +20 -4
  119. package/dist/components/hover-card/index.mjs +32 -1
  120. package/dist/components/icon/index.d.mts +10 -8
  121. package/dist/components/icon/index.mjs +5 -3
  122. package/dist/components/image/index.d.mts +5 -2
  123. package/dist/components/image/index.mjs +14 -29
  124. package/dist/components/image-cropper/index.d.mts +13 -2
  125. package/dist/components/image-cropper/index.mjs +34 -2
  126. package/dist/components/image-viewer/index.d.mts +2 -24
  127. package/dist/components/image-viewer/index.mjs +3 -113
  128. package/dist/components/input/index.d.mts +3 -1
  129. package/dist/components/input/index.mjs +1 -1
  130. package/dist/components/json-tree-view/index.d.mts +17 -1
  131. package/dist/components/json-tree-view/index.mjs +26 -5
  132. package/dist/components/kbd/index.d.mts +4 -1
  133. package/dist/components/kbd/index.mjs +3 -1
  134. package/dist/components/layout/index.d.mts +25 -7
  135. package/dist/components/layout/index.mjs +157 -63
  136. package/dist/components/link/index.d.mts +4 -1
  137. package/dist/components/link/index.mjs +3 -1
  138. package/dist/components/listbox/index.d.mts +22 -1
  139. package/dist/components/listbox/index.mjs +36 -4
  140. package/dist/components/marquee/index.d.mts +18 -1
  141. package/dist/components/marquee/index.mjs +34 -2
  142. package/dist/components/masonry/index.d.mts +4 -1
  143. package/dist/components/masonry/index.mjs +3 -1
  144. package/dist/components/media-player/index.d.mts +2 -0
  145. package/dist/components/media-player/index.mjs +2 -0
  146. package/dist/components/mentions/index.d.mts +1 -1
  147. package/dist/components/mentions/index.mjs +1 -1
  148. package/dist/components/menu/index.d.mts +29 -11
  149. package/dist/components/menu/index.mjs +34 -12
  150. package/dist/components/menubar/index.d.mts +3 -1
  151. package/dist/components/menubar/index.mjs +6 -1
  152. package/dist/components/navigation-menu/index.d.mts +25 -1
  153. package/dist/components/navigation-menu/index.mjs +36 -1
  154. package/dist/components/number-input/index.d.mts +28 -6
  155. package/dist/components/number-input/index.mjs +33 -8
  156. package/dist/components/order-list/index.d.mts +4 -1
  157. package/dist/components/order-list/index.mjs +26 -24
  158. package/dist/components/pagination/index.d.mts +23 -3
  159. package/dist/components/pagination/index.mjs +57 -12
  160. package/dist/components/password-input/index.d.mts +24 -6
  161. package/dist/components/password-input/index.mjs +31 -8
  162. package/dist/components/pin-input/index.d.mts +23 -5
  163. package/dist/components/pin-input/index.mjs +29 -7
  164. package/dist/components/popconfirm/index.d.mts +9 -5
  165. package/dist/components/popconfirm/index.mjs +23 -18
  166. package/dist/components/popover/index.d.mts +2 -8
  167. package/dist/components/popover/index.mjs +44 -4
  168. package/dist/components/presence/index.d.mts +10 -2
  169. package/dist/components/presence/index.mjs +6 -1
  170. package/dist/components/progress/index.d.mts +18 -3
  171. package/dist/components/progress/index.mjs +34 -9
  172. package/dist/components/progress-group/index.d.mts +4 -1
  173. package/dist/components/progress-group/index.mjs +4 -2
  174. package/dist/components/qr-code/index.d.mts +14 -1
  175. package/dist/components/qr-code/index.mjs +26 -2
  176. package/dist/components/radio-group/index.d.mts +27 -2
  177. package/dist/components/radio-group/index.mjs +32 -8
  178. package/dist/components/rating-group/index.d.mts +20 -3
  179. package/dist/components/rating-group/index.mjs +26 -8
  180. package/dist/components/result/index.d.mts +1 -1
  181. package/dist/components/result/index.mjs +2 -2
  182. package/dist/components/scroll-area/index.d.mts +14 -1
  183. package/dist/components/scroll-area/index.mjs +32 -2
  184. package/dist/components/segment-group/index.d.mts +28 -2
  185. package/dist/components/segment-group/index.mjs +34 -7
  186. package/dist/components/select/index.d.mts +2 -2
  187. package/dist/components/select/index.mjs +1 -1
  188. package/dist/components/separator/index.d.mts +4 -1
  189. package/dist/components/separator/index.mjs +3 -1
  190. package/dist/components/signature-pad/index.d.mts +25 -5
  191. package/dist/components/signature-pad/index.mjs +37 -3
  192. package/dist/components/skeleton/index.d.mts +4 -1
  193. package/dist/components/skeleton/index.mjs +3 -1
  194. package/dist/components/slider/index.d.mts +21 -2
  195. package/dist/components/slider/index.mjs +31 -8
  196. package/dist/components/spinner/index.d.mts +4 -1
  197. package/dist/components/spinner/index.mjs +3 -1
  198. package/dist/components/split-button/index.d.mts +3 -1
  199. package/dist/components/split-button/index.mjs +12 -17
  200. package/dist/components/splitter/index.d.mts +17 -4
  201. package/dist/components/splitter/index.mjs +35 -1
  202. package/dist/components/spotlight/index.d.mts +4 -1
  203. package/dist/components/spotlight/index.mjs +3 -1
  204. package/dist/components/stack/index.d.mts +4 -1
  205. package/dist/components/stack/index.mjs +6 -4
  206. package/dist/components/steps/index.d.mts +26 -6
  207. package/dist/components/steps/index.mjs +26 -11
  208. package/dist/components/swap/index.d.mts +11 -5
  209. package/dist/components/swap/index.mjs +30 -3
  210. package/dist/components/switch/index.d.mts +20 -2
  211. package/dist/components/switch/index.mjs +27 -8
  212. package/dist/components/table/index.d.mts +4 -1
  213. package/dist/components/table/index.mjs +26 -56
  214. package/dist/components/tabs/index.d.mts +24 -2
  215. package/dist/components/tabs/index.mjs +25 -9
  216. package/dist/components/tags-input/index.d.mts +33 -8
  217. package/dist/components/tags-input/index.mjs +41 -9
  218. package/dist/components/terminal/index.d.mts +4 -1
  219. package/dist/components/terminal/index.mjs +3 -1
  220. package/dist/components/textarea/index.d.mts +4 -1
  221. package/dist/components/textarea/index.mjs +3 -1
  222. package/dist/components/timer/index.d.mts +18 -1
  223. package/dist/components/timer/index.mjs +51 -2
  224. package/dist/components/toast/index.d.mts +3 -6
  225. package/dist/components/toast/index.mjs +22 -2
  226. package/dist/components/toc/index.d.mts +19 -5
  227. package/dist/components/toc/index.mjs +31 -5
  228. package/dist/components/toggle/index.d.mts +11 -4
  229. package/dist/components/toggle/index.mjs +21 -1
  230. package/dist/components/toggle-group/index.d.mts +26 -2
  231. package/dist/components/toggle-group/index.mjs +31 -6
  232. package/dist/components/toolbar/index.d.mts +4 -1
  233. package/dist/components/toolbar/index.mjs +3 -1
  234. package/dist/components/tooltip/index.d.mts +17 -4
  235. package/dist/components/tooltip/index.mjs +28 -1
  236. package/dist/components/tour/index.d.mts +18 -9
  237. package/dist/components/tour/index.mjs +44 -2
  238. package/dist/components/transfer/index.d.mts +3 -1
  239. package/dist/components/transfer/index.mjs +14 -26
  240. package/dist/components/tree-select/index.d.mts +3 -1
  241. package/dist/components/tree-select/index.mjs +11 -22
  242. package/dist/components/tree-view/index.d.mts +22 -2
  243. package/dist/components/tree-view/index.mjs +50 -8
  244. package/dist/components/typography/index.d.mts +4 -0
  245. package/dist/components/typography/index.mjs +1 -0
  246. package/dist/components/user/index.d.mts +4 -1
  247. package/dist/components/user/index.mjs +3 -1
  248. package/dist/components/virtual-list/index.d.mts +4 -1
  249. package/dist/components/virtual-list/index.mjs +10 -12
  250. package/dist/components/watermark/index.d.mts +4 -1
  251. package/dist/components/watermark/index.mjs +4 -2
  252. package/dist/family-DE_GQeeM.mjs +9 -0
  253. package/dist/icon-BALgGtNK.mjs +18 -0
  254. package/dist/id-C37UYLwJ.mjs +13 -0
  255. package/dist/image-viewer-Cf6thHax.mjs +141 -0
  256. package/dist/{index-Uefyw7Im.d.mts → index-Bbg4heDO.d.mts} +12 -7
  257. package/dist/index-BcRdWGY-.d.mts +115 -0
  258. package/dist/{index-Iy8m0Qev.d.mts → index-D_iKc2Uw.d.mts} +31 -2
  259. package/dist/{index-Dn5mHf1g.d.mts → index-DdNKngUQ.d.mts} +56 -17
  260. package/dist/index-Dj8S4eyJ.d.mts +41 -0
  261. package/dist/index-Eu-Bttta.d.mts +24 -0
  262. package/dist/{index-uPyYiWaL.d.mts → index-PsgGWW3m.d.mts} +8 -2
  263. package/dist/index.d.mts +36 -35
  264. package/dist/index.mjs +11 -10
  265. package/dist/{input-2oezH-dY.mjs → input-C21Zzuy6.mjs} +3 -1
  266. package/dist/media-player-gQrnxU52.mjs +554 -0
  267. package/dist/{mentions-DMIBCBOd.mjs → mentions-BuWibdci.mjs} +74 -42
  268. package/dist/select-ozUFq0zd.mjs +121 -0
  269. package/package.json +3 -3
  270. package/dist/chevron-BeHvt46K.mjs +0 -17
  271. package/dist/glyph-VI989p8H.mjs +0 -14
  272. package/dist/select-eAHutw56.mjs +0 -70
@@ -1,18 +1,50 @@
1
+ import { t as iconNode } from "../../icon-BALgGtNK.mjs";
2
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
- import { jsx } from "react/jsx-runtime";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
3
5
  import { Listbox as Listbox$1, createListCollection } from "@ark-ui/react/listbox";
4
6
  //#region src/components/listbox/index.tsx
5
7
  function ListboxRoot(props) {
8
+ injectComponentStyle("listbox");
9
+ const id = useElementId("listbox", props);
6
10
  const { size = "md", ...rest } = props;
7
11
  return /* @__PURE__ */ jsx(Listbox$1.Root, {
8
12
  ...rest,
13
+ id,
9
14
  "data-size": size
10
15
  });
11
16
  }
12
- const Listbox = {
17
+ function toListboxValue(value) {
18
+ if (value === void 0) return void 0;
19
+ return Array.isArray(value) ? value : [value];
20
+ }
21
+ /** The complete listbox behind one model value: options become rows and the
22
+ * label names the quiet register. */
23
+ function ListboxFacade(props) {
24
+ const { value, defaultValue, options, multiple, disabled, label, size = "md", className, style, onValueChange } = props;
25
+ const collection = createListCollection({ items: options });
26
+ return /* @__PURE__ */ jsxs(ListboxRoot, {
27
+ size,
28
+ collection,
29
+ defaultValue: toListboxValue(defaultValue),
30
+ value: toListboxValue(value),
31
+ disabled,
32
+ selectionMode: multiple ? "multiple" : "single",
33
+ className,
34
+ style,
35
+ onValueChange: (event) => onValueChange?.(multiple ? event.value : event.value.at(0)),
36
+ children: [label ? /* @__PURE__ */ jsx(Listbox$1.Label, { children: label }) : null, /* @__PURE__ */ jsx(Listbox$1.Content, { children: collection.items.map((item) => /* @__PURE__ */ jsxs(Listbox$1.Item, {
37
+ item,
38
+ children: [/* @__PURE__ */ jsx(Listbox$1.ItemText, { children: item.label }), /* @__PURE__ */ jsx(Listbox$1.ItemIndicator, { children: iconNode("check", {
39
+ width: 14,
40
+ height: 14
41
+ }) })]
42
+ }, item.value)) })]
43
+ });
44
+ }
45
+ const Listbox = Object.assign(ListboxFacade, {
13
46
  ...Listbox$1,
14
47
  Root: ListboxRoot
15
- };
16
- injectComponentStyle("listbox");
48
+ });
17
49
  //#endregion
18
50
  export { Listbox, createListCollection };
@@ -1,7 +1,24 @@
1
+ import { CSSProperties, ComponentProps } from "react";
1
2
  import { Marquee as Marquee$1 } from "@ark-ui/react/marquee";
2
3
  //#region src/components/marquee/index.d.ts
3
4
  /** Ark's Marquee, dressed in the paper-and-ink system: a linear ribbon of
4
5
  * seal-cut chips that dissolves into the paper at its edges rather than
5
6
  * cutting off. The API is Ark's own — Root, Viewport, Content, Edge, Item. */
6
- export declare const Marquee: typeof Marquee$1;
7
+ declare function MarqueeRoot(props: ComponentProps<typeof Marquee$1.Root>): import("react").JSX.Element;
8
+ type MarqueeItem = string | {
9
+ label: string;
10
+ };
11
+ type MarqueeFacadeProps = {
12
+ items: MarqueeItem[];
13
+ spacing?: string;
14
+ speed?: number;
15
+ label?: string;
16
+ className?: string;
17
+ style?: CSSProperties;
18
+ };
19
+ /** The complete ribbon behind a list of short marks. */
20
+ declare function MarqueeFacade(props: MarqueeFacadeProps): import("react").JSX.Element;
21
+ export declare const Marquee: typeof MarqueeFacade & Omit<typeof Marquee$1, "Root"> & {
22
+ Root: typeof MarqueeRoot;
23
+ };
7
24
  //#endregion
@@ -1,10 +1,42 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
2
4
  import { Marquee as Marquee$1 } from "@ark-ui/react/marquee";
3
5
  //#region src/components/marquee/index.tsx
4
6
  /** Ark's Marquee, dressed in the paper-and-ink system: a linear ribbon of
5
7
  * seal-cut chips that dissolves into the paper at its edges rather than
6
8
  * cutting off. The API is Ark's own — Root, Viewport, Content, Edge, Item. */
7
- const Marquee = Marquee$1;
8
- injectComponentStyle("marquee");
9
+ function MarqueeRoot(props) {
10
+ injectComponentStyle("marquee");
11
+ const id = useElementId("marquee", props);
12
+ return /* @__PURE__ */ jsx(Marquee$1.Root, {
13
+ ...props,
14
+ id
15
+ });
16
+ }
17
+ /** The complete ribbon behind a list of short marks. */
18
+ function MarqueeFacade(props) {
19
+ const { items, spacing, speed, label, className, style } = props;
20
+ const labels = items.map((item) => typeof item === "string" ? item : item.label);
21
+ return /* @__PURE__ */ jsx(MarqueeRoot, {
22
+ "aria-label": label,
23
+ spacing,
24
+ speed,
25
+ className,
26
+ style,
27
+ children: /* @__PURE__ */ jsx(Marquee$1.Viewport, { children: /* @__PURE__ */ jsx(Marquee$1.Content, { children: labels.map((item, index) => /* @__PURE__ */ jsxs(Marquee$1.Item, { children: [/* @__PURE__ */ jsx("svg", {
28
+ width: 16,
29
+ height: 16,
30
+ viewBox: "0 0 24 24",
31
+ fill: "currentColor",
32
+ "aria-hidden": "true",
33
+ children: /* @__PURE__ */ jsx("path", { d: "M12 3 3 9l9 12 9-12-9-6Z" })
34
+ }), /* @__PURE__ */ jsx("span", { children: item })] }, `${item}-${index}`)) }) })
35
+ });
36
+ }
37
+ const Marquee = Object.assign(MarqueeFacade, {
38
+ ...Marquee$1,
39
+ Root: MarqueeRoot
40
+ });
9
41
  //#endregion
10
42
  export { Marquee };
@@ -7,5 +7,8 @@ export interface MasonryProps extends HTMLAttributes<HTMLDivElement> {
7
7
  columns?: number;
8
8
  gap?: "none" | "xs" | "sm" | "md" | "lg" | "xl";
9
9
  }
10
- export declare function Masonry({ columns, gap, ...rest }: MasonryProps): import("react").JSX.Element;
10
+ declare function MasonryImpl({ columns, gap, ...rest }: MasonryProps): import("react").JSX.Element;
11
+ export declare const Masonry: typeof MasonryImpl & {
12
+ Root: typeof MasonryImpl;
13
+ };
11
14
  //#endregion
@@ -1,3 +1,4 @@
1
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  //#region src/components/masonry/index.tsx
@@ -11,7 +12,7 @@ const gapVars = {
11
12
  lg: "var(--bs-gap-lg)",
12
13
  xl: "var(--bs-gap-xl)"
13
14
  };
14
- function Masonry({ columns = 3, gap = "md", ...rest }) {
15
+ function MasonryImpl({ columns = 3, gap = "md", ...rest }) {
15
16
  injectComponentStyle("masonry");
16
17
  const style = {
17
18
  ...rest.style,
@@ -25,5 +26,6 @@ function Masonry({ columns = 3, gap = "md", ...rest }) {
25
26
  "data-part": "root"
26
27
  });
27
28
  }
29
+ const Masonry = withSelfRoot(MasonryImpl);
28
30
  //#endregion
29
31
  export { Masonry };
@@ -0,0 +1,2 @@
1
+ import { a as MediaTextTrackOption, i as MediaSourceOption, n as Video, o as formatMediaTime, r as MediaPlayerProps, t as Audio } from "../../index-BcRdWGY-.mjs";
2
+ export { Audio, type MediaPlayerProps, type MediaSourceOption, type MediaTextTrackOption, Video, formatMediaTime };
@@ -0,0 +1,2 @@
1
+ import { n as Video, r as formatMediaTime, t as Audio } from "../../media-player-gQrnxU52.mjs";
2
+ export { Audio, Video, formatMediaTime };
@@ -1,2 +1,2 @@
1
- import { a as MentionsVesselProps, c as useMentions, i as MentionsVessel, n as Mentions, o as UseMentionsHandlers, r as MentionsProps, s as UseMentionsOptions, t as MentionEntry } from "../../index-Uefyw7Im.mjs";
1
+ import { a as MentionsVesselProps, c as useMentions, i as MentionsVessel, n as Mentions, o as UseMentionsHandlers, r as MentionsProps, s as UseMentionsOptions, t as MentionEntry } from "../../index-Bbg4heDO.mjs";
2
2
  export { MentionEntry, Mentions, MentionsProps, MentionsVessel, MentionsVesselProps, type UseMentionsHandlers, type UseMentionsOptions, useMentions };
@@ -1,2 +1,2 @@
1
- import { n as MentionsVessel, r as useMentions, t as Mentions } from "../../mentions-DMIBCBOd.mjs";
1
+ import { n as MentionsVessel, r as useMentions, t as Mentions } from "../../mentions-BuWibdci.mjs";
2
2
  export { Mentions, MentionsVessel, useMentions };
@@ -1,20 +1,38 @@
1
+ import { ComponentProps } from "react";
1
2
  import { Menu as Menu$1 } from "@ark-ui/react/menu";
2
3
  //#region src/components/menu/index.d.ts
3
- type MenuRootProps = Parameters<typeof Menu$1.Root>[0] & {
4
+ type MenuRootProps = ComponentProps<typeof Menu$1.Root> & {
4
5
  /** One rung of the control-height ladder for the vessel's rows. */
5
6
  size?: "sm" | "md" | "lg";
6
7
  };
7
- declare function MenuRoot({ size, ...rest }: MenuRootProps): import("react").JSX.Element;
8
- declare function MenuContent(props: Parameters<typeof Menu$1.Content>[0]): import("react").JSX.Element;
9
- /** Ark's Menu, dressed in the paper-and-ink system: a quiet paper vessel on
10
- * elevation, hover as light on the row, checked items as the flat ink fill.
11
- * The parts — Root, Trigger, ContextTrigger, Indicator, Positioner,
12
- * Content, Item, ItemText, ItemIndicator, ItemGroup, ItemGroupLabel,
13
- * TriggerItem, Separator, Arrow, ArrowTip. Ark's namespace is frozen —
14
- * spread copies the members so Root and Content can be the sized
15
- * wrappers while the rest stay Ark's own parts. */
16
- export declare const Menu: Omit<typeof Menu$1, "Root" | "Content"> & {
8
+ declare function MenuRoot(props: MenuRootProps): import("react").JSX.Element;
9
+ declare function MenuContent(props: ComponentProps<typeof Menu$1.Content>): import("react").JSX.Element;
10
+ /** One plain row in the callable menu; richer checkboxes, radios, and
11
+ * nested menus stay on the anatomy. */
12
+ export interface MenuItemOption {
13
+ label: string;
14
+ value: string;
15
+ disabled?: boolean;
16
+ }
17
+ type MenuPlacement = "top" | "top-start" | "top-end" | "bottom" | "bottom-start" | "bottom-end" | "left" | "left-start" | "left-end" | "right" | "right-start" | "right-end";
18
+ export interface MenuFacadeProps {
19
+ open?: boolean;
20
+ defaultOpen?: boolean;
21
+ trigger: string;
22
+ items: MenuItemOption[];
23
+ disabled?: boolean;
24
+ placement?: MenuPlacement;
25
+ size?: "sm" | "md" | "lg";
26
+ onSelect?: (value: string) => void;
27
+ onOpenChange?: (open: boolean) => void;
28
+ }
29
+ declare function MenuFacade({ open, defaultOpen, trigger, items, disabled, placement, size, onSelect, onOpenChange }: MenuFacadeProps): import("react").JSX.Element;
30
+ declare namespace MenuFacade {
31
+ var displayName: string;
32
+ }
33
+ type MenuParts = Omit<typeof Menu$1, "Root" | "Content"> & {
17
34
  Root: typeof MenuRoot;
18
35
  Content: typeof MenuContent;
19
36
  };
37
+ export declare const Menu: typeof MenuFacade & MenuParts;
20
38
  //#endregion
@@ -1,5 +1,7 @@
1
+ import { t as iconNode } from "../../icon-BALgGtNK.mjs";
2
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
- import { jsx } from "react/jsx-runtime";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
3
5
  import { createContext, useContext } from "react";
4
6
  import { Menu as Menu$1 } from "@ark-ui/react/menu";
5
7
  //#region src/components/menu/index.tsx
@@ -7,10 +9,15 @@ import { Menu as Menu$1 } from "@ark-ui/react/menu";
7
9
  * its own — the vessel (Content) is the element the rung can land on,
8
10
  * and the Portal breaks CSS ancestry between the two. */
9
11
  const MenuSizeContext = createContext("md");
10
- function MenuRoot({ size = "md", ...rest }) {
12
+ function MenuRoot(props) {
13
+ const id = useElementId("menu", props);
14
+ const { size = "md", ...rest } = props;
11
15
  return /* @__PURE__ */ jsx(MenuSizeContext.Provider, {
12
16
  value: size,
13
- children: /* @__PURE__ */ jsx(Menu$1.Root, { ...rest })
17
+ children: /* @__PURE__ */ jsx(Menu$1.Root, {
18
+ ...rest,
19
+ id
20
+ })
14
21
  });
15
22
  }
16
23
  function MenuContent(props) {
@@ -20,18 +27,33 @@ function MenuContent(props) {
20
27
  "data-size": size
21
28
  });
22
29
  }
23
- /** Ark's Menu, dressed in the paper-and-ink system: a quiet paper vessel on
24
- * elevation, hover as light on the row, checked items as the flat ink fill.
25
- * The parts — Root, Trigger, ContextTrigger, Indicator, Positioner,
26
- * Content, Item, ItemText, ItemIndicator, ItemGroup, ItemGroupLabel,
27
- * TriggerItem, Separator, Arrow, ArrowTip. Ark's namespace is frozen —
28
- * spread copies the members so Root and Content can be the sized
29
- * wrappers while the rest stay Ark's own parts. */
30
- const Menu = {
30
+ function MenuFacade({ open, defaultOpen, trigger, items, disabled = false, placement = "bottom-start", size = "md", onSelect, onOpenChange }) {
31
+ return /* @__PURE__ */ jsxs(MenuRoot, {
32
+ size,
33
+ positioning: { placement },
34
+ ...open === void 0 ? {} : { open },
35
+ ...defaultOpen === void 0 ? {} : { defaultOpen },
36
+ onSelect: (details) => onSelect?.(details.value),
37
+ onOpenChange: (details) => onOpenChange?.(details.open),
38
+ children: [/* @__PURE__ */ jsxs(Menu$1.Trigger, {
39
+ disabled,
40
+ children: [trigger, /* @__PURE__ */ jsx(Menu$1.Indicator, { children: iconNode("chevron-down", {
41
+ width: 14,
42
+ height: 14
43
+ }) })]
44
+ }), /* @__PURE__ */ jsx(Menu$1.Positioner, { children: /* @__PURE__ */ jsx(MenuContent, { children: items.map((item) => /* @__PURE__ */ jsx(Menu$1.Item, {
45
+ value: item.value,
46
+ disabled: item.disabled,
47
+ children: item.label
48
+ }, item.value)) }) })]
49
+ });
50
+ }
51
+ MenuFacade.displayName = "SMenu";
52
+ const Menu = Object.assign(MenuFacade, {
31
53
  ...Menu$1,
32
54
  Root: MenuRoot,
33
55
  Content: MenuContent
34
- };
56
+ });
35
57
  injectComponentStyle("menu");
36
58
  //#endregion
37
59
  export { Menu };
@@ -1,3 +1,4 @@
1
+ import { Menu } from "../menu/index.mjs";
1
2
  import { HTMLAttributes } from "react";
2
3
  //#region src/components/menubar/index.d.ts
3
4
  export interface MenubarEntry {
@@ -28,5 +29,6 @@ export interface MenubarProps extends Omit<HTMLAttributes<HTMLDivElement>, "onSe
28
29
  /** Called with the entry's `value` when it is chosen. */
29
30
  onSelect?: (value: string) => void;
30
31
  }
31
- export declare function Menubar({ items, onSelect, children, ...rest }: MenubarProps): import("react").JSX.Element;
32
+ declare function MenubarImpl({ items, onSelect, children, ...rest }: MenubarProps): import("react").JSX.Element;
33
+ export declare const Menubar: typeof MenubarImpl & typeof Menu;
32
34
  //#endregion
@@ -1,17 +1,21 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
2
+ import { Menu as Menu$1 } from "../menu/index.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
4
  import { jsx, jsxs } from "react/jsx-runtime";
3
5
  import { Portal } from "@ark-ui/react/portal";
4
6
  import { Menu } from "@ark-ui/react/menu";
5
7
  //#region src/components/menubar/index.tsx
6
- function Menubar({ items, onSelect, children, ...rest }) {
8
+ function MenubarImpl({ items, onSelect, children, ...rest }) {
7
9
  injectComponentStyle("menubar");
8
10
  injectComponentStyle("menu");
11
+ const hostId = useElementId("menubar", rest);
9
12
  return /* @__PURE__ */ jsxs("div", {
10
13
  ...rest,
11
14
  "data-scope": "menubar",
12
15
  "data-part": "root",
13
16
  role: "menubar",
14
17
  children: [items.map((group) => /* @__PURE__ */ jsxs(Menu.Root, {
18
+ id: `${hostId}:menu:${group.label}`,
15
19
  positioning: { placement: "bottom-start" },
16
20
  children: [/* @__PURE__ */ jsx(Menu.Trigger, {
17
21
  asChild: true,
@@ -32,5 +36,6 @@ function Menubar({ items, onSelect, children, ...rest }) {
32
36
  }, group.label)), children]
33
37
  });
34
38
  }
39
+ const Menubar = Object.assign(MenubarImpl, Menu$1);
35
40
  //#endregion
36
41
  export { Menubar };
@@ -1,8 +1,32 @@
1
+ import { ComponentProps } from "react";
1
2
  import { NavigationMenu as NavigationMenu$1 } from "@ark-ui/react/navigation-menu";
2
3
  //#region src/components/navigation-menu/index.d.ts
3
4
  /** Ark's NavigationMenu, dressed in the paper-and-ink system: a menubar of
4
5
  * ghost triggers with one sliding stroke of primary ink, opening the shared
5
6
  * popup vessel. The API is Ark's own — Root, List, Item, Trigger, Link,
6
7
  * Content, ViewportPositioner, Viewport, Indicator, ItemIndicator, Arrow. */
7
- export declare const NavigationMenu: typeof NavigationMenu$1;
8
+ declare function NavigationMenuRoot(props: ComponentProps<typeof NavigationMenu$1.Root>): import("react").JSX.Element;
9
+ declare function NavigationMenuLink(props: ComponentProps<typeof NavigationMenu$1.Link>): import("react").JSX.Element;
10
+ /** One flat destination in the callable bar; grouped panels and mega
11
+ * menus stay on the anatomy. */
12
+ export interface NavigationMenuLinkOption {
13
+ label: string;
14
+ href: string;
15
+ current?: boolean;
16
+ description?: string;
17
+ }
18
+ export interface NavigationMenuFacadeProps {
19
+ items: NavigationMenuLinkOption[];
20
+ orientation?: "horizontal" | "vertical";
21
+ className?: string;
22
+ }
23
+ declare function NavigationMenuFacade({ items, orientation, className }: NavigationMenuFacadeProps): import("react").JSX.Element;
24
+ declare namespace NavigationMenuFacade {
25
+ var displayName: string;
26
+ }
27
+ type NavigationMenuParts = Omit<typeof NavigationMenu$1, "Root" | "Link"> & {
28
+ Root: typeof NavigationMenuRoot;
29
+ Link: typeof NavigationMenuLink;
30
+ };
31
+ export declare const NavigationMenu: typeof NavigationMenuFacade & NavigationMenuParts;
8
32
  //#endregion
@@ -1,11 +1,46 @@
1
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
2
  import { injectComponentStyle } from "@bysages/core";
3
+ import { jsx, jsxs } from "react/jsx-runtime";
2
4
  import { NavigationMenu as NavigationMenu$1 } from "@ark-ui/react/navigation-menu";
3
5
  //#region src/components/navigation-menu/index.tsx
4
6
  /** Ark's NavigationMenu, dressed in the paper-and-ink system: a menubar of
5
7
  * ghost triggers with one sliding stroke of primary ink, opening the shared
6
8
  * popup vessel. The API is Ark's own — Root, List, Item, Trigger, Link,
7
9
  * Content, ViewportPositioner, Viewport, Indicator, ItemIndicator, Arrow. */
8
- const NavigationMenu = NavigationMenu$1;
10
+ function NavigationMenuRoot(props) {
11
+ const id = useElementId("navigation-menu", props);
12
+ return /* @__PURE__ */ jsx(NavigationMenu$1.Root, {
13
+ ...props,
14
+ id
15
+ });
16
+ }
17
+ function NavigationMenuLink(props) {
18
+ injectComponentStyle("navigation-menu");
19
+ return /* @__PURE__ */ jsx(NavigationMenu$1.Link, {
20
+ ...props,
21
+ "data-motion": "ink-ripple"
22
+ });
23
+ }
24
+ function NavigationMenuFacade({ items, orientation = "horizontal", className }) {
25
+ return /* @__PURE__ */ jsx(NavigationMenuRoot, {
26
+ className,
27
+ orientation,
28
+ children: /* @__PURE__ */ jsx(NavigationMenu$1.List, { children: items.map((item) => /* @__PURE__ */ jsx(NavigationMenu$1.Item, {
29
+ value: item.href,
30
+ children: /* @__PURE__ */ jsxs(NavigationMenuLink, {
31
+ href: item.href,
32
+ current: item.current,
33
+ children: [/* @__PURE__ */ jsx("span", { children: item.label }), item.description ? /* @__PURE__ */ jsx("span", { children: item.description }) : null]
34
+ })
35
+ }, item.href)) })
36
+ });
37
+ }
38
+ NavigationMenuFacade.displayName = "SNavigationMenu";
39
+ const NavigationMenu = Object.assign(NavigationMenuFacade, {
40
+ ...NavigationMenu$1,
41
+ Root: NavigationMenuRoot,
42
+ Link: NavigationMenuLink
43
+ });
9
44
  injectComponentStyle("navigation-menu");
10
45
  //#endregion
11
46
  export { NavigationMenu };
@@ -5,12 +5,34 @@ type NumberInputRootProps = ComponentProps<typeof NumberInput$1.Root> & {
5
5
  /** One rung of the control-height ladder for the field and its stepper. */
6
6
  size?: "sm" | "md" | "lg";
7
7
  };
8
- declare function NumberInputRoot({ size, ...rest }: NumberInputRootProps): import("react").JSX.Element;
9
- /** Ark's NumberInput, dressed in the paper-and-ink system: the stepper
10
- * rides inside the field as one seal split by a hairline, numbers set in
11
- * tabular figures. The API is Ark's own — Root, Label, Control, Input,
12
- * ValueText, IncrementTrigger, DecrementTrigger, Scrubber. */
13
- export declare const NumberInput: Omit<typeof NumberInput$1, "Root"> & {
8
+ declare function NumberInputRoot(props: NumberInputRootProps): import("react").JSX.Element;
9
+ interface NumberInputFacadeProps {
10
+ value?: string;
11
+ defaultValue?: string;
12
+ label?: string;
13
+ placeholder?: string;
14
+ min?: number;
15
+ max?: number;
16
+ step?: number;
17
+ disabled?: boolean;
18
+ invalid?: boolean;
19
+ required?: boolean;
20
+ size?: "sm" | "md" | "lg";
21
+ onValueChange?: (value: string) => void;
22
+ }
23
+ /** The one-tag path for a stepped number field; formatting, scrubbing,
24
+ * and locale rules stay on the anatomy. */
25
+ declare function NumberInputFacade({ value, defaultValue, label, placeholder, min, max, step, disabled, invalid, required, size, onValueChange }: NumberInputFacadeProps): import("react").JSX.Element;
26
+ export declare const NumberInput: typeof NumberInputFacade & {
14
27
  Root: typeof NumberInputRoot;
28
+ Context: (props: NumberInput$1.ContextProps) => import("react").ReactNode;
29
+ Control: import("react").ForwardRefExoticComponent<NumberInput$1.ControlProps & import("react").RefAttributes<HTMLDivElement>>;
30
+ DecrementTrigger: import("react").ForwardRefExoticComponent<NumberInput$1.DecrementTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
31
+ IncrementTrigger: import("react").ForwardRefExoticComponent<NumberInput$1.IncrementTriggerProps & import("react").RefAttributes<HTMLButtonElement>>;
32
+ Input: import("react").ForwardRefExoticComponent<NumberInput$1.InputProps & import("react").RefAttributes<HTMLInputElement>>;
33
+ Label: import("react").ForwardRefExoticComponent<NumberInput$1.LabelProps & import("react").RefAttributes<HTMLLabelElement>>;
34
+ RootProvider: import("react").ForwardRefExoticComponent<NumberInput$1.RootProviderProps & import("react").RefAttributes<HTMLDivElement>>;
35
+ Scrubber: import("react").ForwardRefExoticComponent<NumberInput$1.ScrubberProps & import("react").RefAttributes<HTMLDivElement>>;
36
+ ValueText: import("react").ForwardRefExoticComponent<NumberInput$1.ValueTextProps & import("react").RefAttributes<HTMLSpanElement>>;
15
37
  };
16
38
  //#endregion
@@ -1,21 +1,46 @@
1
+ import { t as iconNode } from "../../icon-BALgGtNK.mjs";
2
+ import { t as useElementId } from "../../id-C37UYLwJ.mjs";
1
3
  import { injectComponentStyle } from "@bysages/core";
2
- import { jsx } from "react/jsx-runtime";
4
+ import { jsx, jsxs } from "react/jsx-runtime";
3
5
  import { NumberInput as NumberInput$1 } from "@ark-ui/react/number-input";
4
6
  //#region src/components/number-input/index.tsx
5
- function NumberInputRoot({ size = "md", ...rest }) {
7
+ function NumberInputRoot(props) {
8
+ const id = useElementId("number-input", props);
9
+ const { size = "md", ...rest } = props;
6
10
  return /* @__PURE__ */ jsx(NumberInput$1.Root, {
7
11
  ...rest,
12
+ id,
8
13
  "data-size": size
9
14
  });
10
15
  }
11
- /** Ark's NumberInput, dressed in the paper-and-ink system: the stepper
12
- * rides inside the field as one seal split by a hairline, numbers set in
13
- * tabular figures. The API is Ark's own — Root, Label, Control, Input,
14
- * ValueText, IncrementTrigger, DecrementTrigger, Scrubber. */
15
- const NumberInput = {
16
+ /** The one-tag path for a stepped number field; formatting, scrubbing,
17
+ * and locale rules stay on the anatomy. */
18
+ function NumberInputFacade({ value, defaultValue, label, placeholder, min, max, step, disabled = false, invalid = false, required = false, size = "md", onValueChange }) {
19
+ return /* @__PURE__ */ jsxs(NumberInputRoot, {
20
+ size,
21
+ min,
22
+ max,
23
+ step,
24
+ disabled,
25
+ invalid,
26
+ required,
27
+ defaultValue,
28
+ ...value === void 0 ? {} : {
29
+ value,
30
+ onValueChange: (details) => onValueChange?.(details.value)
31
+ },
32
+ children: [label ? /* @__PURE__ */ jsx(NumberInput$1.Label, { children: label }) : null, /* @__PURE__ */ jsxs(NumberInput$1.Control, { children: [
33
+ /* @__PURE__ */ jsx(NumberInput$1.Input, { placeholder }),
34
+ /* @__PURE__ */ jsx(NumberInput$1.Scrubber, { children: iconNode("pause") }),
35
+ /* @__PURE__ */ jsx(NumberInput$1.IncrementTrigger, { children: iconNode("chevron-up") }),
36
+ /* @__PURE__ */ jsx(NumberInput$1.DecrementTrigger, { children: iconNode("chevron-down") })
37
+ ] })]
38
+ });
39
+ }
40
+ const NumberInput = Object.assign(NumberInputFacade, {
16
41
  ...NumberInput$1,
17
42
  Root: NumberInputRoot
18
- };
43
+ });
19
44
  injectComponentStyle("number-input");
20
45
  //#endregion
21
46
  export { NumberInput };
@@ -17,5 +17,8 @@ export interface OrderListProps extends HTMLAttributes<HTMLDivElement> {
17
17
  * the model is the order. Dragging rides the native drag events — a
18
18
  * hairline of primary ink marks the seam the row will land on — so
19
19
  * touch keeps the buttons as its route. */
20
- export declare function OrderList({ value, options, label, onValueChange, ...rest }: OrderListProps): import("react").JSX.Element;
20
+ declare function OrderListImpl({ value, options, label, onValueChange, ...rest }: OrderListProps): import("react").JSX.Element;
21
+ export declare const OrderList: typeof OrderListImpl & {
22
+ Root: typeof OrderListImpl;
23
+ };
21
24
  //#endregion
@@ -1,34 +1,35 @@
1
+ import { t as iconNode } from "../../icon-BALgGtNK.mjs";
2
+ import { t as withSelfRoot } from "../../family-DE_GQeeM.mjs";
1
3
  import { n as useComponentMessages } from "../../messages-1jJWtaYU.mjs";
2
4
  import { injectComponentStyle } from "@bysages/core";
3
5
  import { jsx, jsxs } from "react/jsx-runtime";
4
6
  import { useRef, useState } from "react";
5
7
  //#region src/components/order-list/index.tsx
6
- const ARROWS = {
7
- up: ["m18 15-6-6-6 6"],
8
- down: ["m6 9 6 6 6-6"],
9
- top: ["m18 15-6-6-6 6", "M5 4h14"],
10
- bottom: ["m6 9 6 6 6-6", "M5 20h14"]
8
+ const ORDER_ICONS = {
9
+ up: { name: "chevron-up" },
10
+ down: { name: "chevron-down" },
11
+ top: {
12
+ name: "chevron-up",
13
+ rail: `<path d="M5 4h14" />`
14
+ },
15
+ bottom: {
16
+ name: "chevron-down",
17
+ rail: `<path d="M5 20h14" />`
18
+ }
11
19
  };
12
- function arrowGlyph(paths) {
13
- return /* @__PURE__ */ jsx("svg", {
14
- viewBox: "0 0 24 24",
20
+ function orderIcon(direction) {
21
+ const icon = ORDER_ICONS[direction];
22
+ return iconNode(icon.name, {
15
23
  width: 12,
16
- height: 12,
17
- fill: "none",
18
- stroke: "currentColor",
19
- strokeWidth: 2,
20
- strokeLinecap: "round",
21
- strokeLinejoin: "round",
22
- "aria-hidden": "true",
23
- children: paths.map((d) => /* @__PURE__ */ jsx("path", { d }, d))
24
- });
24
+ height: 12
25
+ }, icon.rail ?? "");
25
26
  }
26
27
  /** A ledger the reader may rewrite: rows move by grip or by the side
27
28
  * arrows, and the group reports the new order as the value itself —
28
29
  * the model is the order. Dragging rides the native drag events — a
29
30
  * hairline of primary ink marks the seam the row will land on — so
30
31
  * touch keeps the buttons as its route. */
31
- function OrderList({ value, options, label, onValueChange, ...rest }) {
32
+ function OrderListImpl({ value, options, label, onValueChange, ...rest }) {
32
33
  injectComponentStyle("order-list");
33
34
  const messages = useComponentMessages();
34
35
  const dragging = useRef(null);
@@ -119,36 +120,36 @@ function OrderList({ value, options, label, onValueChange, ...rest }) {
119
120
  children: [
120
121
  [
121
122
  messages.orderList.toTop,
122
- ARROWS.top,
123
+ "top",
123
124
  -index,
124
125
  0
125
126
  ],
126
127
  [
127
128
  messages.orderList.moveUp,
128
- ARROWS.up,
129
+ "up",
129
130
  -1,
130
131
  0
131
132
  ],
132
133
  [
133
134
  messages.orderList.moveDown,
134
- ARROWS.down,
135
+ "down",
135
136
  1,
136
137
  rows.length - 1
137
138
  ],
138
139
  [
139
140
  messages.orderList.toBottom,
140
- ARROWS.bottom,
141
+ "bottom",
141
142
  rows.length - 1 - index,
142
143
  rows.length - 1
143
144
  ]
144
- ].map(([aria, paths, offset, edge]) => /* @__PURE__ */ jsx("button", {
145
+ ].map(([aria, direction, offset, edge]) => /* @__PURE__ */ jsx("button", {
145
146
  type: "button",
146
147
  "aria-label": aria,
147
148
  "data-scope": "order-list",
148
149
  "data-part": "move",
149
150
  disabled: index === edge,
150
151
  onClick: () => move(option.value, offset),
151
- children: arrowGlyph([...paths])
152
+ children: orderIcon(direction)
152
153
  }, aria))
153
154
  })
154
155
  ]
@@ -157,5 +158,6 @@ function OrderList({ value, options, label, onValueChange, ...rest }) {
157
158
  })
158
159
  });
159
160
  }
161
+ const OrderList = withSelfRoot(OrderListImpl);
160
162
  //#endregion
161
163
  export { OrderList };