iryx-ui 0.12.0 → 0.13.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 (225) hide show
  1. package/README.md +35 -1315
  2. package/dist/component-names.d.ts +1 -1
  3. package/dist/component-names.js +1 -1
  4. package/dist/components/Accordion.js +5 -0
  5. package/dist/components/Accordion.vue.d.ts +80 -0
  6. package/dist/components/Accordion.vue_vue_type_script_setup_true_lang.js +87 -0
  7. package/dist/components/Alert.vue.d.ts +1 -1
  8. package/dist/components/Alert.vue_vue_type_script_setup_true_lang.js +7 -7
  9. package/dist/components/App.vue.d.ts +1 -1
  10. package/dist/components/AppShell.js +5 -0
  11. package/dist/components/AppShell.vue.d.ts +46 -0
  12. package/dist/components/AppShell.vue_vue_type_script_setup_true_lang.js +59 -0
  13. package/dist/components/AspectRatio.js +5 -0
  14. package/dist/components/AspectRatio.vue.d.ts +26 -0
  15. package/dist/components/AspectRatio.vue_vue_type_script_setup_true_lang.js +27 -0
  16. package/dist/components/Avatar.js +5 -0
  17. package/dist/components/Avatar.vue.d.ts +52 -0
  18. package/dist/components/Avatar.vue_vue_type_script_setup_true_lang.js +67 -0
  19. package/dist/components/AvatarGroup.js +5 -0
  20. package/dist/components/AvatarGroup.vue.d.ts +39 -0
  21. package/dist/components/AvatarGroup.vue_vue_type_script_setup_true_lang.js +45 -0
  22. package/dist/components/Badge.vue.d.ts +1 -1
  23. package/dist/components/Banner.vue.d.ts +2 -2
  24. package/dist/components/BarChart.vue.d.ts +1 -1
  25. package/dist/components/BarChart.vue_vue_type_script_setup_true_lang.js +14 -14
  26. package/dist/components/Button.vue.d.ts +2 -2
  27. package/dist/components/ButtonGroup.vue.d.ts +1 -1
  28. package/dist/components/Card.vue.d.ts +1 -1
  29. package/dist/components/Collapsible.js +5 -0
  30. package/dist/components/Collapsible.vue.d.ts +58 -0
  31. package/dist/components/Collapsible.vue_vue_type_script_setup_true_lang.js +67 -0
  32. package/dist/components/ColorPicker.js +5 -0
  33. package/dist/components/ColorPicker.vue.d.ts +49 -0
  34. package/dist/components/ColorPicker.vue_vue_type_script_setup_true_lang.js +172 -0
  35. package/dist/components/Combobox.vue.d.ts +6 -6
  36. package/dist/components/CommandPalette.js +5 -0
  37. package/dist/components/CommandPalette.vue.d.ts +63 -0
  38. package/dist/components/CommandPalette.vue_vue_type_script_setup_true_lang.js +185 -0
  39. package/dist/components/Container.js +5 -0
  40. package/dist/components/Container.vue.d.ts +33 -0
  41. package/dist/components/Container.vue_vue_type_script_setup_true_lang.js +40 -0
  42. package/dist/components/ContextMenu.js +5 -0
  43. package/dist/components/ContextMenu.vue.d.ts +42 -0
  44. package/dist/components/ContextMenu.vue_vue_type_script_setup_true_lang.js +49 -0
  45. package/dist/components/DateRangePicker.vue.d.ts +1 -1
  46. package/dist/components/Dialog.vue.d.ts +1 -1
  47. package/dist/components/Drawer.vue.d.ts +2 -2
  48. package/dist/components/EmptyState.vue.d.ts +1 -1
  49. package/dist/components/Input.vue.d.ts +1 -1
  50. package/dist/components/Input.vue_vue_type_script_setup_true_lang.js +4 -4
  51. package/dist/components/Kbd.js +5 -0
  52. package/dist/components/Kbd.vue.d.ts +46 -0
  53. package/dist/components/Kbd.vue_vue_type_script_setup_true_lang.js +41 -0
  54. package/dist/components/LineChart.vue_vue_type_script_setup_true_lang.js +19 -19
  55. package/dist/components/Menubar.js +5 -0
  56. package/dist/components/Menubar.vue.d.ts +62 -0
  57. package/dist/components/Menubar.vue_vue_type_script_setup_true_lang.js +79 -0
  58. package/dist/components/NavigationMenu.js +5 -0
  59. package/dist/components/NavigationMenu.vue.d.ts +75 -0
  60. package/dist/components/NavigationMenu.vue_vue_type_script_setup_true_lang.js +167 -0
  61. package/dist/components/NumberInput.vue_vue_type_script_setup_true_lang.js +2 -2
  62. package/dist/components/PageHeader.js +5 -0
  63. package/dist/components/PageHeader.vue.d.ts +52 -0
  64. package/dist/components/PageHeader.vue_vue_type_script_setup_true_lang.js +59 -0
  65. package/dist/components/PinInput.js +5 -0
  66. package/dist/components/PinInput.vue.d.ts +65 -0
  67. package/dist/components/PinInput.vue_vue_type_script_setup_true_lang.js +76 -0
  68. package/dist/components/Popover.js +5 -0
  69. package/dist/components/Popover.vue.d.ts +75 -0
  70. package/dist/components/Popover.vue_vue_type_script_setup_true_lang.js +99 -0
  71. package/dist/components/Progress.vue.d.ts +20 -1
  72. package/dist/components/Progress.vue_vue_type_script_setup_true_lang.js +84 -44
  73. package/dist/components/RadioGroup.vue_vue_type_script_setup_true_lang.js +4 -1
  74. package/dist/components/ScrollArea.js +5 -0
  75. package/dist/components/ScrollArea.vue.d.ts +41 -0
  76. package/dist/components/ScrollArea.vue_vue_type_script_setup_true_lang.js +68 -0
  77. package/dist/components/ScrollFade.js +5 -0
  78. package/dist/components/ScrollFade.vue.d.ts +36 -0
  79. package/dist/components/ScrollFade.vue_vue_type_script_setup_true_lang.js +59 -0
  80. package/dist/components/Select.vue.d.ts +2 -2
  81. package/dist/components/Sidebar.js +5 -0
  82. package/dist/components/Sidebar.vue.d.ts +72 -0
  83. package/dist/components/Sidebar.vue_vue_type_script_setup_true_lang.js +183 -0
  84. package/dist/components/SignaturePad.js +5 -0
  85. package/dist/components/SignaturePad.vue.d.ts +60 -0
  86. package/dist/components/SignaturePad.vue_vue_type_script_setup_true_lang.js +158 -0
  87. package/dist/components/Skeleton.vue.d.ts +1 -1
  88. package/dist/components/Skeleton.vue_vue_type_script_setup_true_lang.js +8 -8
  89. package/dist/components/Slider.js +5 -0
  90. package/dist/components/Slider.vue.d.ts +80 -0
  91. package/dist/components/Slider.vue_vue_type_script_setup_true_lang.js +115 -0
  92. package/dist/components/Splitter.js +5 -0
  93. package/dist/components/Splitter.vue.d.ts +59 -0
  94. package/dist/components/Splitter.vue_vue_type_script_setup_true_lang.js +69 -0
  95. package/dist/components/Stat.vue.d.ts +1 -1
  96. package/dist/components/Switch.vue.d.ts +1 -0
  97. package/dist/components/Switch.vue_vue_type_script_setup_true_lang.js +7 -3
  98. package/dist/components/Table.vue.d.ts +7 -1
  99. package/dist/components/Table.vue_vue_type_script_setup_true_lang.js +73 -58
  100. package/dist/components/TagsInput.js +5 -0
  101. package/dist/components/TagsInput.vue.d.ts +71 -0
  102. package/dist/components/TagsInput.vue_vue_type_script_setup_true_lang.js +119 -0
  103. package/dist/components/Textarea.vue_vue_type_script_setup_true_lang.js +3 -3
  104. package/dist/components/TimeField.js +5 -0
  105. package/dist/components/TimeField.vue.d.ts +50 -0
  106. package/dist/components/TimeField.vue_vue_type_script_setup_true_lang.js +85 -0
  107. package/dist/components/Timeline.js +5 -0
  108. package/dist/components/Timeline.vue.d.ts +61 -0
  109. package/dist/components/Timeline.vue_vue_type_script_setup_true_lang.js +60 -0
  110. package/dist/components/Toaster.vue.d.ts +1 -1
  111. package/dist/components/Toggle.js +5 -0
  112. package/dist/components/Toggle.vue.d.ts +42 -0
  113. package/dist/components/Toggle.vue_vue_type_script_setup_true_lang.js +52 -0
  114. package/dist/components/ToggleGroup.js +5 -0
  115. package/dist/components/ToggleGroup.vue.d.ts +64 -0
  116. package/dist/components/ToggleGroup.vue_vue_type_script_setup_true_lang.js +78 -0
  117. package/dist/components/Toolbar.js +5 -0
  118. package/dist/components/Toolbar.vue.d.ts +52 -0
  119. package/dist/components/Toolbar.vue_vue_type_script_setup_true_lang.js +94 -0
  120. package/dist/components/Tree.js +5 -0
  121. package/dist/components/Tree.vue.d.ts +70 -0
  122. package/dist/components/Tree.vue_vue_type_script_setup_true_lang.js +112 -0
  123. package/dist/components/index.d.ts +29 -0
  124. package/dist/components/index.js +144 -86
  125. package/dist/composables/appearance.js +5 -1
  126. package/dist/composables/cartesian.d.ts +11 -0
  127. package/dist/composables/cartesian.js +18 -19
  128. package/dist/composables/command-palette.d.ts +42 -0
  129. package/dist/composables/command-palette.js +32 -0
  130. package/dist/composables/date.d.ts +18 -2
  131. package/dist/composables/date.js +23 -12
  132. package/dist/composables/kbd.d.ts +26 -0
  133. package/dist/composables/kbd.js +161 -0
  134. package/dist/composables/navigation-menu.d.ts +29 -0
  135. package/dist/composables/navigation-menu.js +6 -0
  136. package/dist/composables/scroll-fade.d.ts +35 -0
  137. package/dist/composables/scroll-fade.js +36 -0
  138. package/dist/composables/sidebar.d.ts +35 -0
  139. package/dist/composables/sidebar.js +23 -0
  140. package/dist/composables/signature.d.ts +22 -0
  141. package/dist/composables/signature.js +13 -0
  142. package/dist/index.d.ts +35 -0
  143. package/dist/index.js +153 -93
  144. package/dist/theme/accordion.d.ts +68 -0
  145. package/dist/theme/accordion.js +24 -0
  146. package/dist/theme/alert.d.ts +0 -3
  147. package/dist/theme/app-shell.d.ts +77 -0
  148. package/dist/theme/app-shell.js +35 -0
  149. package/dist/theme/avatar.d.ts +253 -0
  150. package/dist/theme/avatar.js +84 -0
  151. package/dist/theme/banner.d.ts +0 -9
  152. package/dist/theme/bar-chart.d.ts +0 -16
  153. package/dist/theme/breadcrumb.d.ts +3 -3
  154. package/dist/theme/button-group.d.ts +0 -3
  155. package/dist/theme/button.d.ts +0 -3
  156. package/dist/theme/card.js +2 -2
  157. package/dist/theme/chart-legend.d.ts +3 -11
  158. package/dist/theme/collapsible.d.ts +44 -0
  159. package/dist/theme/collapsible.js +17 -0
  160. package/dist/theme/color-picker.d.ts +98 -0
  161. package/dist/theme/color-picker.js +19 -0
  162. package/dist/theme/command-palette.d.ts +122 -0
  163. package/dist/theme/command-palette.js +22 -0
  164. package/dist/theme/container.d.ts +101 -0
  165. package/dist/theme/container.js +26 -0
  166. package/dist/theme/date-picker.d.ts +12 -0
  167. package/dist/theme/date-picker.js +1 -1
  168. package/dist/theme/dropdown-menu.d.ts +0 -9
  169. package/dist/theme/file-upload.d.ts +0 -3
  170. package/dist/theme/form.d.ts +12 -12
  171. package/dist/theme/index.d.ts +25 -0
  172. package/dist/theme/kbd.d.ts +71 -0
  173. package/dist/theme/kbd.js +29 -0
  174. package/dist/theme/line-chart.d.ts +0 -9
  175. package/dist/theme/menubar.d.ts +29 -0
  176. package/dist/theme/menubar.js +11 -0
  177. package/dist/theme/navigation-menu.d.ts +161 -0
  178. package/dist/theme/navigation-menu.js +43 -0
  179. package/dist/theme/number-input.d.ts +0 -3
  180. package/dist/theme/page-header.d.ts +47 -0
  181. package/dist/theme/page-header.js +17 -0
  182. package/dist/theme/pagination.d.ts +0 -3
  183. package/dist/theme/pin-input.d.ts +86 -0
  184. package/dist/theme/pin-input.js +32 -0
  185. package/dist/theme/popover.d.ts +119 -0
  186. package/dist/theme/popover.js +31 -0
  187. package/dist/theme/presets.d.ts +0 -2
  188. package/dist/theme/progress.d.ts +93 -0
  189. package/dist/theme/progress.js +37 -7
  190. package/dist/theme/radio-group.d.ts +24 -0
  191. package/dist/theme/radio-group.js +23 -14
  192. package/dist/theme/scroll-area.d.ts +65 -0
  193. package/dist/theme/scroll-area.js +57 -0
  194. package/dist/theme/scroll-fade.d.ts +35 -0
  195. package/dist/theme/scroll-fade.js +12 -0
  196. package/dist/theme/sidebar.d.ts +167 -0
  197. package/dist/theme/sidebar.js +43 -0
  198. package/dist/theme/signature-pad.d.ts +50 -0
  199. package/dist/theme/signature-pad.js +17 -0
  200. package/dist/theme/slider.d.ts +128 -0
  201. package/dist/theme/slider.js +49 -0
  202. package/dist/theme/sparkline.d.ts +0 -6
  203. package/dist/theme/splitter.d.ts +59 -0
  204. package/dist/theme/splitter.js +25 -0
  205. package/dist/theme/stat.d.ts +0 -3
  206. package/dist/theme/stepper.js +2 -2
  207. package/dist/theme/switch.d.ts +53 -29
  208. package/dist/theme/switch.js +33 -8
  209. package/dist/theme/table.d.ts +51 -3
  210. package/dist/theme/table.js +8 -3
  211. package/dist/theme/tabs.d.ts +0 -3
  212. package/dist/theme/tags-input.d.ts +110 -0
  213. package/dist/theme/tags-input.js +42 -0
  214. package/dist/theme/time-field.d.ts +68 -0
  215. package/dist/theme/time-field.js +21 -0
  216. package/dist/theme/timeline.d.ts +182 -0
  217. package/dist/theme/timeline.js +83 -0
  218. package/dist/theme/toggle.d.ts +145 -0
  219. package/dist/theme/toggle.js +84 -0
  220. package/dist/theme/toolbar.d.ts +56 -0
  221. package/dist/theme/toolbar.js +21 -0
  222. package/dist/theme/tree.d.ts +68 -0
  223. package/dist/theme/tree.js +28 -0
  224. package/package.json +2 -2
  225. package/theme.css +221 -0
@@ -0,0 +1,185 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import t from "./Icon.js";
3
+ import { commandHaystack as n, matchesHotkey as r, toCommandGroups as i } from "../composables/command-palette.js";
4
+ import { commandPaletteTheme as a } from "../theme/command-palette.js";
5
+ import o from "./Kbd.js";
6
+ import { Fragment as s, computed as c, createBlock as l, createCommentVNode as u, createElementBlock as d, createElementVNode as f, createTextVNode as p, createVNode as m, defineComponent as h, mergeModels as g, normalizeClass as _, onBeforeUnmount as v, onMounted as y, openBlock as b, ref as x, renderList as S, renderSlot as C, toDisplayString as w, unref as T, useModel as E, watch as D, withCtx as O } from "vue";
7
+ import { Search01Icon as k } from "@hugeicons/core-free-icons";
8
+ import { DialogContent as ee, DialogOverlay as te, DialogPortal as ne, DialogRoot as A, DialogTitle as j, ListboxContent as M, ListboxFilter as N, ListboxGroup as P, ListboxGroupLabel as F, ListboxItem as I, ListboxRoot as L, VisuallyHidden as R, useFilter as z } from "reka-ui";
9
+ //#region src/components/CommandPalette.vue?vue&type=script&setup=true&lang.ts
10
+ var B = /*@__PURE__*/ h({
11
+ __name: "CommandPalette",
12
+ props: /*@__PURE__*/ g({
13
+ items: {},
14
+ placeholder: { default: "Search commands…" },
15
+ emptyText: { default: "No matching commands." },
16
+ label: { default: "Command palette" },
17
+ hotkey: { default: "mod+k" },
18
+ closeOnSelect: {
19
+ type: Boolean,
20
+ default: !0
21
+ },
22
+ footer: {
23
+ type: Boolean,
24
+ default: !0
25
+ },
26
+ unstyled: {
27
+ type: Boolean,
28
+ default: void 0
29
+ },
30
+ class: {},
31
+ ui: {}
32
+ }, {
33
+ open: {
34
+ type: Boolean,
35
+ default: !1
36
+ },
37
+ openModifiers: {}
38
+ }),
39
+ emits: /*@__PURE__*/ g(["select"], ["update:open"]),
40
+ setup(h, { emit: g }) {
41
+ let B = h, V = g, H = E(h, "open"), U = x("");
42
+ D(H, (e) => {
43
+ e || (U.value = "");
44
+ });
45
+ let { contains: W } = z({ sensitivity: "base" }), G = c(() => i(B.items)), K = c(() => {
46
+ let e = U.value.trim();
47
+ return G.value.map((t) => ({
48
+ ...t,
49
+ items: e ? t.items.filter((r) => W(n(r, t.label), e)) : t.items
50
+ })).filter((e) => e.items.length > 0);
51
+ }), q = c(() => K.value.length === 0);
52
+ function J(e, t) {
53
+ return `${e}:${t}`;
54
+ }
55
+ function Y(e) {
56
+ e.disabled || (V("select", e), e.onSelect?.(), B.closeOnSelect && (H.value = !1));
57
+ }
58
+ function X(e) {
59
+ B.hotkey && r(e, B.hotkey) && (e.preventDefault(), H.value = !H.value);
60
+ }
61
+ y(() => window.addEventListener("keydown", X)), v(() => window.removeEventListener("keydown", X));
62
+ let re = e(), Z = c(() => B.unstyled ?? re.unstyled), Q = c(() => a());
63
+ function $(e, t) {
64
+ let n = B.ui?.[e];
65
+ return Z.value ? [n, t].filter(Boolean).join(" ") : Q.value[e]({ class: [n, t] });
66
+ }
67
+ function ie(e) {
68
+ return e.split(" ").filter(Boolean);
69
+ }
70
+ return (e, n) => (b(), l(T(A), {
71
+ open: H.value,
72
+ "onUpdate:open": n[1] ||= (e) => H.value = e
73
+ }, {
74
+ default: O(() => [m(T(ne), null, {
75
+ default: O(() => [m(T(te), { class: _($("overlay")) }, null, 8, ["class"]), m(T(ee), {
76
+ class: _(Z.value ? [B.ui?.content, B.class] : Q.value.content({ class: [B.ui?.content, B.class] })),
77
+ "aria-label": B.label
78
+ }, {
79
+ default: O(() => [
80
+ m(T(R), null, {
81
+ default: O(() => [m(T(j), null, {
82
+ default: O(() => [p(w(B.label), 1)]),
83
+ _: 1
84
+ })]),
85
+ _: 1
86
+ }),
87
+ m(T(L), {
88
+ "highlight-on-hover": "",
89
+ class: _($("list"))
90
+ }, {
91
+ default: O(() => [f("div", { class: _($("header")) }, [f("span", { class: _($("icon")) }, [m(t, { icon: T(k) }, null, 8, ["icon"])], 2), m(T(N), {
92
+ modelValue: U.value,
93
+ "onUpdate:modelValue": n[0] ||= (e) => U.value = e,
94
+ "auto-focus": "",
95
+ placeholder: B.placeholder,
96
+ class: _($("input"))
97
+ }, null, 8, [
98
+ "modelValue",
99
+ "placeholder",
100
+ "class"
101
+ ])], 2), m(T(M), { class: _($("viewport")) }, {
102
+ default: O(() => [q.value ? (b(), d("p", {
103
+ key: 0,
104
+ class: _($("empty"))
105
+ }, [C(e.$slots, "empty", { query: U.value }, () => [p(w(B.emptyText), 1)])], 2)) : u("", !0), (b(!0), d(s, null, S(K.value, (n, r) => (b(), l(T(P), {
106
+ key: n.label || r,
107
+ class: _($("group"))
108
+ }, {
109
+ default: O(() => [n.label ? (b(), l(T(F), {
110
+ key: 0,
111
+ class: _($("groupLabel"))
112
+ }, {
113
+ default: O(() => [p(w(n.label), 1)]),
114
+ _: 2
115
+ }, 1032, ["class"])) : u("", !0), (b(!0), d(s, null, S(n.items, (n, i) => (b(), l(T(I), {
116
+ key: J(r, i),
117
+ value: J(r, i),
118
+ disabled: n.disabled,
119
+ "aria-disabled": n.disabled || void 0,
120
+ as: n.href ? "a" : "div",
121
+ href: n.href,
122
+ class: _($("item")),
123
+ onSelect: (e) => Y(n)
124
+ }, {
125
+ default: O(() => [C(e.$slots, "item", { item: n }, () => [
126
+ n.icon ? (b(), d("span", {
127
+ key: 0,
128
+ class: _($("itemIcon"))
129
+ }, [m(t, { icon: n.icon }, null, 8, ["icon"])], 2)) : u("", !0),
130
+ f("span", { class: _($("itemLabel")) }, w(n.label), 3),
131
+ n.shortcut ? (b(), l(o, {
132
+ key: 1,
133
+ keys: ie(n.shortcut),
134
+ class: _($("shortcut")),
135
+ ui: { key: B.ui?.key }
136
+ }, null, 8, [
137
+ "keys",
138
+ "class",
139
+ "ui"
140
+ ])) : u("", !0)
141
+ ])]),
142
+ _: 2
143
+ }, 1032, [
144
+ "value",
145
+ "disabled",
146
+ "aria-disabled",
147
+ "as",
148
+ "href",
149
+ "class",
150
+ "onSelect"
151
+ ]))), 128))]),
152
+ _: 2
153
+ }, 1032, ["class"]))), 128))]),
154
+ _: 3
155
+ }, 8, ["class"])]),
156
+ _: 3
157
+ }, 8, ["class"]),
158
+ B.footer ? (b(), d("div", {
159
+ key: 0,
160
+ class: _($("footer"))
161
+ }, [C(e.$slots, "footer", {}, () => [
162
+ f("span", null, [m(o, {
163
+ keys: ["up", "down"],
164
+ ui: { key: B.ui?.key }
165
+ }, null, 8, ["ui"]), n[2] ||= p(" to navigate", -1)]),
166
+ f("span", null, [m(o, {
167
+ keys: "enter",
168
+ ui: { key: B.ui?.key }
169
+ }, null, 8, ["ui"]), n[3] ||= p(" to select", -1)]),
170
+ f("span", null, [m(o, {
171
+ keys: "escape",
172
+ ui: { key: B.ui?.key }
173
+ }, null, 8, ["ui"]), n[4] ||= p(" to close", -1)])
174
+ ])], 2)) : u("", !0)
175
+ ]),
176
+ _: 3
177
+ }, 8, ["class", "aria-label"])]),
178
+ _: 3
179
+ })]),
180
+ _: 3
181
+ }, 8, ["open"]));
182
+ }
183
+ });
184
+ //#endregion
185
+ export { B as default };
@@ -0,0 +1,5 @@
1
+ import e from "./Container.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Container.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,33 @@
1
+ export interface ContainerProps {
2
+ /** Render as a different element or component. */
3
+ as?: string;
4
+ /** Merge props onto the immediate child instead of rendering an element. */
5
+ asChild?: boolean;
6
+ /** Maximum content width. `full` removes the cap but keeps the gutter. */
7
+ size?: 'sm' | 'md' | 'lg' | 'xl' | 'full';
8
+ /** Horizontal gutter. `none` leaves it to you. */
9
+ gutter?: 'none' | 'sm' | 'md' | 'lg';
10
+ /** Skip built-in classes; you take over styling entirely. */
11
+ unstyled?: boolean;
12
+ class?: string;
13
+ /** Override classes per slot, e.g. `{ root: 'py-10' }`. */
14
+ ui?: {
15
+ root?: string;
16
+ };
17
+ }
18
+ declare var __VLS_8: {};
19
+ type __VLS_Slots = {} & {
20
+ default?: (props: typeof __VLS_8) => any;
21
+ };
22
+ declare const __VLS_base: import("vue").DefineComponent<ContainerProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ContainerProps> & Readonly<{}>, {
23
+ unstyled: boolean;
24
+ as: string;
25
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
26
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
27
+ declare const _default: typeof __VLS_export;
28
+ export default _default;
29
+ type __VLS_WithSlots<T, S> = T & {
30
+ new (): {
31
+ $slots: S;
32
+ };
33
+ };
@@ -0,0 +1,40 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import { containerTheme as t } from "../theme/container.js";
3
+ import { computed as n, createBlock as r, defineComponent as i, normalizeClass as a, openBlock as o, renderSlot as s, unref as c, withCtx as l } from "vue";
4
+ import { Primitive as u } from "reka-ui";
5
+ //#region src/components/Container.vue?vue&type=script&setup=true&lang.ts
6
+ var d = /*@__PURE__*/ i({
7
+ __name: "Container",
8
+ props: {
9
+ as: { default: "div" },
10
+ asChild: { type: Boolean },
11
+ size: {},
12
+ gutter: {},
13
+ unstyled: {
14
+ type: Boolean,
15
+ default: void 0
16
+ },
17
+ class: {},
18
+ ui: {}
19
+ },
20
+ setup(i) {
21
+ let d = i, f = e(), p = n(() => d.unstyled ?? f.unstyled), m = n(() => t({
22
+ size: d.size,
23
+ gutter: d.gutter
24
+ })), h = n(() => p.value ? [d.ui?.root, d.class] : m.value.root({ class: [d.ui?.root, d.class] }));
25
+ return (e, t) => (o(), r(c(u), {
26
+ as: d.as,
27
+ "as-child": d.asChild,
28
+ class: a(h.value)
29
+ }, {
30
+ default: l(() => [s(e.$slots, "default")]),
31
+ _: 3
32
+ }, 8, [
33
+ "as",
34
+ "as-child",
35
+ "class"
36
+ ]));
37
+ }
38
+ });
39
+ //#endregion
40
+ export { d as default };
@@ -0,0 +1,5 @@
1
+ import e from "./ContextMenu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/ContextMenu.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,42 @@
1
+ import type { DropdownMenuEntry } from '../composables/dropdown-menu';
2
+ export interface ContextMenuProps {
3
+ /** Entries to render. Nest by giving an entry its own `items`. */
4
+ items?: DropdownMenuEntry[];
5
+ /**
6
+ * How far the menu is kept from the viewport edge when it would overflow.
7
+ */
8
+ collisionPadding?: number;
9
+ /** Skip built-in classes; you take over styling entirely. */
10
+ unstyled?: boolean;
11
+ class?: string;
12
+ /** Override classes per slot, e.g. `{ item: 'py-2' }`. */
13
+ ui?: {
14
+ content?: string;
15
+ item?: string;
16
+ label?: string;
17
+ separator?: string;
18
+ subTrigger?: string;
19
+ subContent?: string;
20
+ };
21
+ }
22
+ declare var __VLS_16: {}, __VLS_30: {};
23
+ type __VLS_Slots = {} & {
24
+ trigger?: (props: typeof __VLS_16) => any;
25
+ } & {
26
+ default?: (props: typeof __VLS_30) => any;
27
+ };
28
+ declare const __VLS_base: import("vue").DefineComponent<ContextMenuProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
29
+ "update:open": (value: boolean) => any;
30
+ }, string, import("vue").PublicProps, Readonly<ContextMenuProps> & Readonly<{
31
+ "onUpdate:open"?: ((value: boolean) => any) | undefined;
32
+ }>, {
33
+ unstyled: boolean;
34
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
35
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
36
+ declare const _default: typeof __VLS_export;
37
+ export default _default;
38
+ type __VLS_WithSlots<T, S> = T & {
39
+ new (): {
40
+ $slots: S;
41
+ };
42
+ };
@@ -0,0 +1,49 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import { dropdownMenuTheme as t } from "../theme/dropdown-menu.js";
3
+ import n from "./DropdownMenuItems.js";
4
+ import { computed as r, createBlock as i, createVNode as a, defineComponent as o, normalizeClass as s, openBlock as c, renderSlot as l, unref as u, withCtx as d } from "vue";
5
+ import { ContextMenuContent as f, ContextMenuPortal as p, ContextMenuRoot as m, ContextMenuTrigger as h } from "reka-ui";
6
+ //#region src/components/ContextMenu.vue?vue&type=script&setup=true&lang.ts
7
+ var g = /*@__PURE__*/ o({
8
+ __name: "ContextMenu",
9
+ props: {
10
+ items: {},
11
+ collisionPadding: {},
12
+ unstyled: {
13
+ type: Boolean,
14
+ default: void 0
15
+ },
16
+ class: {},
17
+ ui: {}
18
+ },
19
+ emits: ["update:open"],
20
+ setup(o, { emit: g }) {
21
+ let _ = o, v = g, y = e(), b = r(() => _.unstyled ?? y.unstyled), x = r(() => _.items ?? []), S = r(() => b.value ? [_.ui?.content, _.class] : t().content({ class: [_.ui?.content, _.class] }));
22
+ return (e, t) => (c(), i(u(m), { "onUpdate:open": t[0] ||= (e) => v("update:open", e) }, {
23
+ default: d(() => [a(u(h), { "as-child": "" }, {
24
+ default: d(() => [l(e.$slots, "trigger")]),
25
+ _: 3
26
+ }), a(u(p), null, {
27
+ default: d(() => [a(u(f), {
28
+ "collision-padding": _.collisionPadding,
29
+ class: s(S.value)
30
+ }, {
31
+ default: d(() => [l(e.$slots, "default", {}, () => [a(n, {
32
+ entries: x.value,
33
+ unstyled: b.value,
34
+ ui: _.ui
35
+ }, null, 8, [
36
+ "entries",
37
+ "unstyled",
38
+ "ui"
39
+ ])])]),
40
+ _: 3
41
+ }, 8, ["collision-padding", "class"])]),
42
+ _: 3
43
+ })]),
44
+ _: 3
45
+ }));
46
+ }
47
+ });
48
+ //#endregion
49
+ export { g as default };
@@ -48,8 +48,8 @@ declare const __VLS_export: import("vue").DefineComponent<__VLS_PublicProps, {},
48
48
  "onUpdate:modelValue"?: ((value: DateRange) => any) | undefined;
49
49
  }>, {
50
50
  unstyled: boolean;
51
- separator: string;
52
51
  placeholder: string;
52
+ separator: string;
53
53
  invalid: boolean;
54
54
  months: number;
55
55
  clearLabel: string;
@@ -50,8 +50,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
50
50
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
51
51
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
52
52
  }>, {
53
- closeLabel: string;
54
53
  unstyled: boolean;
54
+ closeLabel: string;
55
55
  dismissible: boolean;
56
56
  showClose: boolean;
57
57
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
@@ -76,12 +76,12 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {
76
76
  "onUpdate:open"?: ((value: boolean) => any) | undefined;
77
77
  "onUpdate:snapPoint"?: ((value: DrawerSnapPoint | null) => any) | undefined;
78
78
  }>, {
79
- closeLabel: string;
80
79
  unstyled: boolean;
80
+ closeLabel: string;
81
81
  side: DrawerSide;
82
+ modal: boolean | "trap-focus";
82
83
  dismissible: boolean;
83
84
  showClose: boolean;
84
- modal: boolean | "trap-focus";
85
85
  handle: boolean;
86
86
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
87
87
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
@@ -33,8 +33,8 @@ type __VLS_Slots = {} & {
33
33
  };
34
34
  declare const __VLS_base: import("vue").DefineComponent<EmptyStateProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<EmptyStateProps> & Readonly<{}>, {
35
35
  icon: IconLike | false;
36
- as: string;
37
36
  unstyled: boolean;
37
+ as: string;
38
38
  }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
39
  declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
40
  declare const _default: typeof __VLS_export;
@@ -51,8 +51,8 @@ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {
51
51
  }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
52
52
  "onUpdate:modelValue"?: ((value: string | number | null | undefined) => any) | undefined;
53
53
  }>, {
54
- unstyled: boolean;
55
54
  type: string;
55
+ unstyled: boolean;
56
56
  invalid: boolean;
57
57
  clearLabel: string;
58
58
  debounce: number;
@@ -1,7 +1,7 @@
1
1
  import { useIryxUiConfig as e } from "../config.js";
2
2
  import t from "./Icon.js";
3
- import { useFormField as n } from "../composables/form.js";
4
- import { inputTheme as r } from "../theme/input.js";
3
+ import { inputTheme as n } from "../theme/input.js";
4
+ import { useFormField as r } from "../composables/form.js";
5
5
  import { computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createVNode as l, defineComponent as u, mergeModels as d, mergeProps as f, normalizeClass as p, onBeforeUnmount as m, openBlock as h, ref as g, renderSlot as _, unref as v, useModel as y, useSlots as b, watch as x, withKeys as S } from "vue";
6
6
  import { Cancel01Icon as C, Loading03Icon as w } from "@hugeicons/core-free-icons";
7
7
  //#region src/components/Input.vue?vue&type=script&setup=true&lang.ts
@@ -44,7 +44,7 @@ var T = [
44
44
  }),
45
45
  emits: ["update:modelValue"],
46
46
  setup(u, { expose: d }) {
47
- let D = u, O = y(u, "modelValue"), k = b(), A = n(), j = i(() => D.id ?? A?.id.value), M = i(() => D.invalid ?? A?.invalid.value ?? !1), N = e(), P = i(() => D.unstyled ?? N.unstyled), F = g(O.value), I;
47
+ let D = u, O = y(u, "modelValue"), k = b(), A = r(), j = i(() => D.id ?? A?.id.value), M = i(() => D.invalid ?? A?.invalid.value ?? !1), N = e(), P = i(() => D.unstyled ?? N.unstyled), F = g(O.value), I;
48
48
  function L() {
49
49
  I !== void 0 && (clearTimeout(I), I = void 0);
50
50
  }
@@ -70,7 +70,7 @@ var T = [
70
70
  L(), F.value = "", O.value = "", B.value?.focus();
71
71
  }
72
72
  d({ input: B });
73
- let H = i(() => F.value !== "" && F.value != null), U = i(() => D.clearable && H.value && !D.disabled), W = i(() => D.loading || U.value || !!k.trailing), G = i(() => r({
73
+ let H = i(() => F.value !== "" && F.value != null), U = i(() => D.clearable && H.value && !D.disabled), W = i(() => D.loading || U.value || !!k.trailing), G = i(() => n({
74
74
  size: D.size,
75
75
  invalid: M.value
76
76
  }));
@@ -0,0 +1,5 @@
1
+ import e from "./Kbd.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Kbd.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,46 @@
1
+ export interface KbdProps {
2
+ /**
3
+ * The shortcut — `'mod+k'`, or `['mod', 'k']`. `mod` is Command on Apple
4
+ * platforms and Control everywhere else, which is the whole point: the
5
+ * same muscle memory, a different glyph.
6
+ *
7
+ * Written the same way `matchesHotkey` reads it, so the shortcut you bind
8
+ * and the shortcut you show cannot drift apart.
9
+ */
10
+ keys?: string | string[];
11
+ size?: 'xs' | 'sm' | 'md';
12
+ /** Draw a `+` between the chips instead of a plain gap. */
13
+ joined?: boolean;
14
+ /**
15
+ * Overrides the spoken name. The default spells the combination out —
16
+ * "Command K" — because the glyphs announce as nothing useful on their own.
17
+ */
18
+ ariaLabel?: string;
19
+ /** Skip built-in classes; you take over styling entirely. */
20
+ unstyled?: boolean;
21
+ class?: string;
22
+ /** Override classes per slot, e.g. `{ key: 'bg-background' }`. */
23
+ ui?: {
24
+ root?: string;
25
+ key?: string;
26
+ separator?: string;
27
+ };
28
+ }
29
+ declare var __VLS_1: {
30
+ item: import("..").KbdKey;
31
+ };
32
+ type __VLS_Slots = {} & {
33
+ key?: (props: typeof __VLS_1) => any;
34
+ };
35
+ declare const __VLS_base: import("vue").DefineComponent<KbdProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<KbdProps> & Readonly<{}>, {
36
+ keys: string | string[];
37
+ unstyled: boolean;
38
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
39
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
40
+ declare const _default: typeof __VLS_export;
41
+ export default _default;
42
+ type __VLS_WithSlots<T, S> = T & {
43
+ new (): {
44
+ $slots: S;
45
+ };
46
+ };
@@ -0,0 +1,41 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import { parseHotkey as t, useApplePlatform as n } from "../composables/kbd.js";
3
+ import { kbdTheme as r } from "../theme/kbd.js";
4
+ import { Fragment as i, computed as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, defineComponent as u, normalizeClass as d, openBlock as f, renderList as p, renderSlot as m, toDisplayString as h } from "vue";
5
+ //#region src/components/Kbd.vue?vue&type=script&setup=true&lang.ts
6
+ var g = ["aria-label"], _ = /*@__PURE__*/ u({
7
+ __name: "Kbd",
8
+ props: {
9
+ keys: { default: () => [] },
10
+ size: {},
11
+ joined: { type: Boolean },
12
+ ariaLabel: {},
13
+ unstyled: {
14
+ type: Boolean,
15
+ default: void 0
16
+ },
17
+ class: {},
18
+ ui: {}
19
+ },
20
+ setup(u) {
21
+ let _ = u, v = n(), y = a(() => t(_.keys, v.value)), b = a(() => _.ariaLabel ?? y.value.map((e) => e.spoken).join(" ")), x = e(), S = a(() => _.unstyled ?? x.unstyled), C = a(() => r({ size: _.size }));
22
+ function w(e, t) {
23
+ let n = [_.ui?.[e], t].filter(Boolean).join(" ");
24
+ return S.value ? n : C.value[e]({ class: n });
25
+ }
26
+ return (e, t) => (f(), s("span", {
27
+ class: d(w("root", _.class)),
28
+ role: "img",
29
+ "aria-label": b.value
30
+ }, [(f(!0), s(i, null, p(y.value, (t, n) => (f(), s(i, { key: n }, [_.joined && n > 0 ? (f(), s("span", {
31
+ key: 0,
32
+ class: d(w("separator")),
33
+ "aria-hidden": "true"
34
+ }, "+", 2)) : o("", !0), c("kbd", {
35
+ class: d(w("key")),
36
+ "aria-hidden": "true"
37
+ }, [m(e.$slots, "key", { item: t }, () => [l(h(t.symbol), 1)])], 2)], 64))), 128))], 10, g));
38
+ }
39
+ });
40
+ //#endregion
41
+ export { _ as default };
@@ -1,6 +1,6 @@
1
1
  import { useIryxUiConfig as e } from "../config.js";
2
- import { cartesianLayout as t, clampTooltip as n, seriesColor as r, slotOf as i, warnOnSlotOverflow as a } from "../composables/cartesian.js";
3
- import { useElementSize as o } from "../composables/element-size.js";
2
+ import { useElementSize as t } from "../composables/element-size.js";
3
+ import { cartesianLayout as n, clampTooltip as r, seriesColor as i, slotOf as a, warnOnSlotOverflow as o } from "../composables/cartesian.js";
4
4
  import ee from "./ChartLegend.js";
5
5
  import { lineChartTheme as s } from "../theme/line-chart.js";
6
6
  import { Fragment as c, computed as l, createBlock as te, createCommentVNode as u, createElementBlock as d, createElementVNode as f, defineComponent as p, guardReactiveProps as m, normalizeClass as h, normalizeProps as g, normalizeStyle as _, openBlock as v, ref as y, renderList as b, renderSlot as x, toDisplayString as S, unref as C } from "vue";
@@ -56,19 +56,19 @@ var w = ["role", "aria-label"], T = [
56
56
  ui: {}
57
57
  },
58
58
  setup(p) {
59
- let N = p, ae = e(), P = l(() => N.unstyled ?? ae.unstyled), F = y(), { width: I } = o(F), L = l(() => new Intl.NumberFormat(N.locale, N.format));
59
+ let N = p, ae = e(), P = l(() => N.unstyled ?? ae.unstyled), F = y(), { width: I } = t(F), L = l(() => new Intl.NumberFormat(N.locale, N.format));
60
60
  function R(e) {
61
61
  return L.value.format(e);
62
62
  }
63
63
  let z = l(() => {
64
64
  let e = N.series?.length ? [...N.series] : [{ key: "value" }];
65
- return a(e.length), e;
65
+ return o(e.length), e;
66
66
  }), B = l(() => z.value.length > 1), V = l(() => B.value || N.legend && z.value[0].name != null);
67
67
  function H(e, t) {
68
68
  let n = e[t];
69
69
  return typeof n == "number" && Number.isFinite(n) ? n : null;
70
70
  }
71
- let U = l(() => t({
71
+ let U = l(() => n({
72
72
  values: N.data.flatMap((e) => z.value.map((t) => H(e, t.key))),
73
73
  categories: N.data.length,
74
74
  longestLabel: Math.max(...N.data.map((e) => e.label.length), 1),
@@ -83,21 +83,21 @@ var w = ["role", "aria-label"], T = [
83
83
  return Math.round(e * 100) / 100;
84
84
  }
85
85
  let G = l(() => I.value ? z.value.map((e, t) => {
86
- let n = [], a = [];
87
- return N.data.forEach((t, r) => {
88
- let i = H(t, e.key);
89
- if (i == null) {
90
- a.length && n.push(a), a = [];
86
+ let n = [], r = [];
87
+ return N.data.forEach((t, i) => {
88
+ let a = H(t, e.key);
89
+ if (a == null) {
90
+ r.length && n.push(r), r = [];
91
91
  return;
92
92
  }
93
- a.push({
94
- x: W(U.value.bandCentre(r)),
95
- y: W(U.value.y(i)),
96
- index: r
93
+ r.push({
94
+ x: W(U.value.bandCentre(i)),
95
+ y: W(U.value.y(a)),
96
+ index: i
97
97
  });
98
- }), a.length && n.push(a), {
98
+ }), r.length && n.push(r), {
99
99
  runs: n,
100
- color: r(i(e, t)),
100
+ color: i(a(e, t)),
101
101
  seriesIndex: t
102
102
  };
103
103
  }) : []), K = l(() => N.variant === "area" && !B.value && G.value.length > 0);
@@ -123,19 +123,19 @@ var w = ["role", "aria-label"], T = [
123
123
  if (!e) return;
124
124
  let t = z.value.map((t, n) => ({
125
125
  name: t.name ?? t.key,
126
- color: r(i(t, n)),
126
+ color: i(a(t, n)),
127
127
  value: H(e, t.key)
128
128
  })).filter((e) => e.value != null).map((e) => ({
129
129
  ...e,
130
130
  value: R(e.value)
131
131
  }));
132
132
  if (!t.length) return;
133
- let a = B.value ? Math.max(e.label.length, ...t.map((e) => e.name.length + e.value.length + 3)) : e.label.length + t[0].value.length + 2;
133
+ let n = B.value ? Math.max(e.label.length, ...t.map((e) => e.name.length + e.value.length + 3)) : e.label.length + t[0].value.length + 2;
134
134
  return {
135
135
  label: e.label,
136
136
  rows: t,
137
137
  multi: B.value,
138
- x: n(U.value.bandCentre(J.value), "x".repeat(a), I.value),
138
+ x: r(U.value.bandCentre(J.value), "x".repeat(n), I.value),
139
139
  y: Math.min(...Y.value.map((e) => e.y), U.value.plot.top + U.value.plot.height)
140
140
  };
141
141
  }), Q = l(() => s());
@@ -0,0 +1,5 @@
1
+ import e from "./Menubar.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Menubar.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };