iryx-ui 0.11.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 (258) hide show
  1. package/README.md +35 -1235
  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 +43 -43
  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/Banner.vue_vue_type_script_setup_true_lang.js +40 -40
  25. package/dist/components/BarChart.vue.d.ts +1 -1
  26. package/dist/components/BarChart.vue_vue_type_script_setup_true_lang.js +14 -14
  27. package/dist/components/Breadcrumb.vue_vue_type_script_setup_true_lang.js +28 -28
  28. package/dist/components/Button.vue.d.ts +2 -2
  29. package/dist/components/Button.vue_vue_type_script_setup_true_lang.js +14 -14
  30. package/dist/components/ButtonGroup.vue.d.ts +1 -1
  31. package/dist/components/Card.vue.d.ts +1 -1
  32. package/dist/components/Checkbox.vue_vue_type_script_setup_true_lang.js +37 -30
  33. package/dist/components/Collapsible.js +5 -0
  34. package/dist/components/Collapsible.vue.d.ts +58 -0
  35. package/dist/components/Collapsible.vue_vue_type_script_setup_true_lang.js +67 -0
  36. package/dist/components/ColorPicker.js +5 -0
  37. package/dist/components/ColorPicker.vue.d.ts +49 -0
  38. package/dist/components/ColorPicker.vue_vue_type_script_setup_true_lang.js +172 -0
  39. package/dist/components/Combobox.vue.d.ts +6 -6
  40. package/dist/components/Combobox.vue_vue_type_script_setup_true_lang.js +62 -60
  41. package/dist/components/CommandPalette.js +5 -0
  42. package/dist/components/CommandPalette.vue.d.ts +63 -0
  43. package/dist/components/CommandPalette.vue_vue_type_script_setup_true_lang.js +185 -0
  44. package/dist/components/Container.js +5 -0
  45. package/dist/components/Container.vue.d.ts +33 -0
  46. package/dist/components/Container.vue_vue_type_script_setup_true_lang.js +40 -0
  47. package/dist/components/ContextMenu.js +5 -0
  48. package/dist/components/ContextMenu.vue.d.ts +42 -0
  49. package/dist/components/ContextMenu.vue_vue_type_script_setup_true_lang.js +49 -0
  50. package/dist/components/DatePicker.vue_vue_type_script_setup_true_lang.js +65 -65
  51. package/dist/components/DateRangePicker.vue.d.ts +1 -1
  52. package/dist/components/DateRangePicker.vue_vue_type_script_setup_true_lang.js +74 -74
  53. package/dist/components/Dialog.vue.d.ts +1 -1
  54. package/dist/components/Dialog.vue_vue_type_script_setup_true_lang.js +34 -34
  55. package/dist/components/Drawer.js +5 -0
  56. package/dist/components/Drawer.vue.d.ts +94 -0
  57. package/dist/components/Drawer.vue_vue_type_script_setup_true_lang.js +144 -0
  58. package/dist/components/DropdownMenuItems.vue_vue_type_script_setup_true_lang.js +42 -42
  59. package/dist/components/EmptyState.vue.d.ts +1 -1
  60. package/dist/components/FileUpload.vue_vue_type_script_setup_true_lang.js +77 -77
  61. package/dist/components/Icon.vue_vue_type_script_setup_true_lang.js +11 -11
  62. package/dist/components/Input.vue.d.ts +1 -1
  63. package/dist/components/Input.vue_vue_type_script_setup_true_lang.js +33 -33
  64. package/dist/components/Kbd.js +5 -0
  65. package/dist/components/Kbd.vue.d.ts +46 -0
  66. package/dist/components/Kbd.vue_vue_type_script_setup_true_lang.js +41 -0
  67. package/dist/components/LineChart.vue_vue_type_script_setup_true_lang.js +19 -19
  68. package/dist/components/Menubar.js +5 -0
  69. package/dist/components/Menubar.vue.d.ts +62 -0
  70. package/dist/components/Menubar.vue_vue_type_script_setup_true_lang.js +79 -0
  71. package/dist/components/NavigationMenu.js +5 -0
  72. package/dist/components/NavigationMenu.vue.d.ts +75 -0
  73. package/dist/components/NavigationMenu.vue_vue_type_script_setup_true_lang.js +167 -0
  74. package/dist/components/NumberInput.vue_vue_type_script_setup_true_lang.js +68 -66
  75. package/dist/components/PageHeader.js +5 -0
  76. package/dist/components/PageHeader.vue.d.ts +52 -0
  77. package/dist/components/PageHeader.vue_vue_type_script_setup_true_lang.js +59 -0
  78. package/dist/components/Pagination.vue_vue_type_script_setup_true_lang.js +37 -37
  79. package/dist/components/PasswordInput.vue_vue_type_script_setup_true_lang.js +37 -37
  80. package/dist/components/PinInput.js +5 -0
  81. package/dist/components/PinInput.vue.d.ts +65 -0
  82. package/dist/components/PinInput.vue_vue_type_script_setup_true_lang.js +76 -0
  83. package/dist/components/Popover.js +5 -0
  84. package/dist/components/Popover.vue.d.ts +75 -0
  85. package/dist/components/Popover.vue_vue_type_script_setup_true_lang.js +99 -0
  86. package/dist/components/Progress.vue.d.ts +20 -1
  87. package/dist/components/Progress.vue_vue_type_script_setup_true_lang.js +85 -42
  88. package/dist/components/RadioGroup.vue_vue_type_script_setup_true_lang.js +4 -1
  89. package/dist/components/ScrollArea.js +5 -0
  90. package/dist/components/ScrollArea.vue.d.ts +41 -0
  91. package/dist/components/ScrollArea.vue_vue_type_script_setup_true_lang.js +68 -0
  92. package/dist/components/ScrollFade.js +5 -0
  93. package/dist/components/ScrollFade.vue.d.ts +36 -0
  94. package/dist/components/ScrollFade.vue_vue_type_script_setup_true_lang.js +59 -0
  95. package/dist/components/Select.vue.d.ts +2 -2
  96. package/dist/components/Select.vue_vue_type_script_setup_true_lang.js +47 -45
  97. package/dist/components/Sidebar.js +5 -0
  98. package/dist/components/Sidebar.vue.d.ts +72 -0
  99. package/dist/components/Sidebar.vue_vue_type_script_setup_true_lang.js +183 -0
  100. package/dist/components/SignaturePad.js +5 -0
  101. package/dist/components/SignaturePad.vue.d.ts +60 -0
  102. package/dist/components/SignaturePad.vue_vue_type_script_setup_true_lang.js +158 -0
  103. package/dist/components/Skeleton.vue.d.ts +1 -1
  104. package/dist/components/Skeleton.vue_vue_type_script_setup_true_lang.js +8 -8
  105. package/dist/components/Slider.js +5 -0
  106. package/dist/components/Slider.vue.d.ts +80 -0
  107. package/dist/components/Slider.vue_vue_type_script_setup_true_lang.js +115 -0
  108. package/dist/components/Splitter.js +5 -0
  109. package/dist/components/Splitter.vue.d.ts +59 -0
  110. package/dist/components/Splitter.vue_vue_type_script_setup_true_lang.js +69 -0
  111. package/dist/components/Stat.vue.d.ts +1 -1
  112. package/dist/components/Stat.vue_vue_type_script_setup_true_lang.js +27 -27
  113. package/dist/components/Stepper.vue_vue_type_script_setup_true_lang.js +38 -38
  114. package/dist/components/Switch.vue.d.ts +1 -0
  115. package/dist/components/Switch.vue_vue_type_script_setup_true_lang.js +16 -5
  116. package/dist/components/Table.vue.d.ts +7 -1
  117. package/dist/components/Table.vue_vue_type_script_setup_true_lang.js +120 -105
  118. package/dist/components/TagsInput.js +5 -0
  119. package/dist/components/TagsInput.vue.d.ts +71 -0
  120. package/dist/components/TagsInput.vue_vue_type_script_setup_true_lang.js +119 -0
  121. package/dist/components/Textarea.vue_vue_type_script_setup_true_lang.js +3 -3
  122. package/dist/components/TimeField.js +5 -0
  123. package/dist/components/TimeField.vue.d.ts +50 -0
  124. package/dist/components/TimeField.vue_vue_type_script_setup_true_lang.js +85 -0
  125. package/dist/components/Timeline.js +5 -0
  126. package/dist/components/Timeline.vue.d.ts +61 -0
  127. package/dist/components/Timeline.vue_vue_type_script_setup_true_lang.js +60 -0
  128. package/dist/components/Toaster.vue.d.ts +1 -1
  129. package/dist/components/Toaster.vue_vue_type_script_setup_true_lang.js +41 -41
  130. package/dist/components/Toggle.js +5 -0
  131. package/dist/components/Toggle.vue.d.ts +42 -0
  132. package/dist/components/Toggle.vue_vue_type_script_setup_true_lang.js +52 -0
  133. package/dist/components/ToggleGroup.js +5 -0
  134. package/dist/components/ToggleGroup.vue.d.ts +64 -0
  135. package/dist/components/ToggleGroup.vue_vue_type_script_setup_true_lang.js +78 -0
  136. package/dist/components/Toolbar.js +5 -0
  137. package/dist/components/Toolbar.vue.d.ts +52 -0
  138. package/dist/components/Toolbar.vue_vue_type_script_setup_true_lang.js +94 -0
  139. package/dist/components/Tree.js +5 -0
  140. package/dist/components/Tree.vue.d.ts +70 -0
  141. package/dist/components/Tree.vue_vue_type_script_setup_true_lang.js +112 -0
  142. package/dist/components/index.d.ts +30 -0
  143. package/dist/components/index.js +144 -84
  144. package/dist/composables/appearance.js +5 -1
  145. package/dist/composables/cartesian.d.ts +11 -0
  146. package/dist/composables/cartesian.js +18 -19
  147. package/dist/composables/command-palette.d.ts +42 -0
  148. package/dist/composables/command-palette.js +32 -0
  149. package/dist/composables/date.d.ts +18 -2
  150. package/dist/composables/date.js +23 -15
  151. package/dist/composables/kbd.d.ts +26 -0
  152. package/dist/composables/kbd.js +161 -0
  153. package/dist/composables/navigation-menu.d.ts +29 -0
  154. package/dist/composables/navigation-menu.js +6 -0
  155. package/dist/composables/scroll-fade.d.ts +35 -0
  156. package/dist/composables/scroll-fade.js +36 -0
  157. package/dist/composables/sidebar.d.ts +35 -0
  158. package/dist/composables/sidebar.js +23 -0
  159. package/dist/composables/signature.d.ts +22 -0
  160. package/dist/composables/signature.js +13 -0
  161. package/dist/index.d.ts +36 -0
  162. package/dist/index.js +153 -92
  163. package/dist/theme/accordion.d.ts +68 -0
  164. package/dist/theme/accordion.js +24 -0
  165. package/dist/theme/alert.d.ts +0 -3
  166. package/dist/theme/app-shell.d.ts +77 -0
  167. package/dist/theme/app-shell.js +35 -0
  168. package/dist/theme/avatar.d.ts +253 -0
  169. package/dist/theme/avatar.js +84 -0
  170. package/dist/theme/banner.d.ts +0 -9
  171. package/dist/theme/bar-chart.d.ts +0 -16
  172. package/dist/theme/breadcrumb.d.ts +3 -3
  173. package/dist/theme/button-group.d.ts +0 -3
  174. package/dist/theme/button.d.ts +0 -3
  175. package/dist/theme/card.js +2 -2
  176. package/dist/theme/chart-legend.d.ts +3 -11
  177. package/dist/theme/collapsible.d.ts +44 -0
  178. package/dist/theme/collapsible.js +17 -0
  179. package/dist/theme/color-picker.d.ts +98 -0
  180. package/dist/theme/color-picker.js +19 -0
  181. package/dist/theme/command-palette.d.ts +122 -0
  182. package/dist/theme/command-palette.js +22 -0
  183. package/dist/theme/container.d.ts +101 -0
  184. package/dist/theme/container.js +26 -0
  185. package/dist/theme/date-picker.d.ts +12 -0
  186. package/dist/theme/date-picker.js +1 -1
  187. package/dist/theme/drawer.d.ts +110 -0
  188. package/dist/theme/drawer.js +100 -0
  189. package/dist/theme/dropdown-menu.d.ts +0 -9
  190. package/dist/theme/file-upload.d.ts +0 -3
  191. package/dist/theme/form.d.ts +12 -12
  192. package/dist/theme/index.d.ts +26 -0
  193. package/dist/theme/kbd.d.ts +71 -0
  194. package/dist/theme/kbd.js +29 -0
  195. package/dist/theme/line-chart.d.ts +0 -9
  196. package/dist/theme/menubar.d.ts +29 -0
  197. package/dist/theme/menubar.js +11 -0
  198. package/dist/theme/navigation-menu.d.ts +161 -0
  199. package/dist/theme/navigation-menu.js +43 -0
  200. package/dist/theme/number-input.d.ts +0 -3
  201. package/dist/theme/page-header.d.ts +47 -0
  202. package/dist/theme/page-header.js +17 -0
  203. package/dist/theme/pagination.d.ts +0 -3
  204. package/dist/theme/pin-input.d.ts +86 -0
  205. package/dist/theme/pin-input.js +32 -0
  206. package/dist/theme/popover.d.ts +119 -0
  207. package/dist/theme/popover.js +31 -0
  208. package/dist/theme/presets.d.ts +0 -2
  209. package/dist/theme/progress.d.ts +93 -0
  210. package/dist/theme/progress.js +37 -7
  211. package/dist/theme/radio-group.d.ts +24 -0
  212. package/dist/theme/radio-group.js +23 -14
  213. package/dist/theme/scroll-area.d.ts +65 -0
  214. package/dist/theme/scroll-area.js +57 -0
  215. package/dist/theme/scroll-fade.d.ts +35 -0
  216. package/dist/theme/scroll-fade.js +12 -0
  217. package/dist/theme/sidebar.d.ts +167 -0
  218. package/dist/theme/sidebar.js +43 -0
  219. package/dist/theme/signature-pad.d.ts +50 -0
  220. package/dist/theme/signature-pad.js +17 -0
  221. package/dist/theme/slider.d.ts +128 -0
  222. package/dist/theme/slider.js +49 -0
  223. package/dist/theme/sparkline.d.ts +0 -6
  224. package/dist/theme/splitter.d.ts +59 -0
  225. package/dist/theme/splitter.js +25 -0
  226. package/dist/theme/stat.d.ts +0 -3
  227. package/dist/theme/stepper.js +2 -2
  228. package/dist/theme/switch.d.ts +53 -29
  229. package/dist/theme/switch.js +33 -8
  230. package/dist/theme/table.d.ts +51 -3
  231. package/dist/theme/table.js +8 -3
  232. package/dist/theme/tabs.d.ts +0 -3
  233. package/dist/theme/tags-input.d.ts +110 -0
  234. package/dist/theme/tags-input.js +42 -0
  235. package/dist/theme/time-field.d.ts +68 -0
  236. package/dist/theme/time-field.js +21 -0
  237. package/dist/theme/timeline.d.ts +182 -0
  238. package/dist/theme/timeline.js +83 -0
  239. package/dist/theme/toggle.d.ts +145 -0
  240. package/dist/theme/toggle.js +84 -0
  241. package/dist/theme/toolbar.d.ts +56 -0
  242. package/dist/theme/toolbar.js +21 -0
  243. package/dist/theme/tree.d.ts +68 -0
  244. package/dist/theme/tree.js +28 -0
  245. package/package.json +4 -3
  246. package/theme.css +335 -0
  247. package/dist/node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js +0 -377
  248. package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/_virtual/_plugin-vue_export-helper.js +0 -8
  249. package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/components/HugeiconsIcon.vue.js +0 -25
  250. package/dist/node_modules/.pnpm/@hugeicons_vue@1.0.7_vue@3.5.35_typescript@6.0.3_/node_modules/@hugeicons/vue/dist/esm/components/HugeiconsIcon.vue2.js +0 -63
  251. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/CalendarDate.js +0 -122
  252. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/DateFormatter.js +0 -84
  253. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/calendars/GregorianCalendar.js +0 -91
  254. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/conversion.js +0 -107
  255. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/manipulation.js +0 -159
  256. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/queries.js +0 -29
  257. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/string.js +0 -37
  258. package/dist/node_modules/.pnpm/@internationalized_date@3.12.3/node_modules/@internationalized/date/dist/private/utils.js +0 -6
@@ -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 };
@@ -0,0 +1,62 @@
1
+ import type { DropdownMenuEntry } from '../composables/dropdown-menu';
2
+ export interface MenubarMenuOption {
3
+ label: string;
4
+ /** Identifies the menu. Defaults to the label. */
5
+ value?: string;
6
+ disabled?: boolean;
7
+ /** The menu's entries, in the same shape `IDropdownMenu` takes. */
8
+ items?: DropdownMenuEntry[];
9
+ }
10
+ export interface MenubarProps {
11
+ menus?: MenubarMenuOption[];
12
+ /** Drop the container so the triggers sit directly on the page. */
13
+ bare?: boolean;
14
+ /** Wrap from the last menu back to the first when arrowing past the end. */
15
+ loop?: boolean;
16
+ align?: 'start' | 'center' | 'end';
17
+ sideOffset?: number;
18
+ /** Skip built-in classes; you take over styling entirely. */
19
+ unstyled?: boolean;
20
+ class?: string;
21
+ /** Override classes per slot, e.g. `{ trigger: 'px-4' }`. */
22
+ ui?: {
23
+ root?: string;
24
+ trigger?: string;
25
+ content?: string;
26
+ item?: string;
27
+ label?: string;
28
+ separator?: string;
29
+ subTrigger?: string;
30
+ subContent?: string;
31
+ };
32
+ }
33
+ /** Menus share the entry shape, renderer and panel styling with `IDropdownMenu`. */
34
+ type __VLS_Props = MenubarProps;
35
+ type __VLS_ModelProps = {
36
+ /** Which menu is open, by value. Empty string means none. */
37
+ modelValue?: string;
38
+ };
39
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
40
+ declare var __VLS_20: {
41
+ menu: MenubarMenuOption;
42
+ };
43
+ type __VLS_Slots = {} & {
44
+ trigger?: (props: typeof __VLS_20) => any;
45
+ };
46
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
47
+ "update:modelValue": (value: string) => any;
48
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
49
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
50
+ }>, {
51
+ unstyled: boolean;
52
+ align: "start" | "center" | "end";
53
+ sideOffset: number;
54
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
55
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
56
+ declare const _default: typeof __VLS_export;
57
+ export default _default;
58
+ type __VLS_WithSlots<T, S> = T & {
59
+ new (): {
60
+ $slots: S;
61
+ };
62
+ };
@@ -0,0 +1,79 @@
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 { menubarTheme as r } from "../theme/menubar.js";
5
+ import { Fragment as i, computed as a, createBlock as o, createElementBlock as s, createTextVNode as c, createVNode as l, defineComponent as u, mergeModels as d, normalizeClass as f, openBlock as p, renderList as m, renderSlot as h, toDisplayString as g, unref as _, useModel as v, withCtx as y } from "vue";
6
+ import { MenubarContent as b, MenubarMenu as x, MenubarPortal as S, MenubarRoot as C, MenubarTrigger as w } from "reka-ui";
7
+ //#region src/components/Menubar.vue?vue&type=script&setup=true&lang.ts
8
+ var T = /*@__PURE__*/ u({
9
+ __name: "Menubar",
10
+ props: /*@__PURE__*/ d({
11
+ menus: {},
12
+ bare: { type: Boolean },
13
+ loop: { type: Boolean },
14
+ align: { default: "start" },
15
+ sideOffset: { default: 6 },
16
+ unstyled: {
17
+ type: Boolean,
18
+ default: void 0
19
+ },
20
+ class: {},
21
+ ui: {}
22
+ }, {
23
+ modelValue: { default: void 0 },
24
+ modelModifiers: {}
25
+ }),
26
+ emits: ["update:modelValue"],
27
+ setup(u) {
28
+ let d = u, T = v(u, "modelValue"), E = a(() => d.menus ?? []), D = (e) => e.value ?? e.label, O = e(), k = a(() => d.unstyled ?? O.unstyled), A = a(() => r({ bare: d.bare })), j = a(() => k.value ? [d.ui?.root, d.class] : A.value.root({ class: [d.ui?.root, d.class] })), M = a(() => k.value ? d.ui?.trigger : A.value.trigger({ class: d.ui?.trigger })), N = a(() => k.value ? d.ui?.content : t().content({ class: d.ui?.content }));
29
+ return (e, t) => (p(), o(_(C), {
30
+ modelValue: T.value,
31
+ "onUpdate:modelValue": t[0] ||= (e) => T.value = e,
32
+ loop: d.loop,
33
+ class: f(j.value)
34
+ }, {
35
+ default: y(() => [(p(!0), s(i, null, m(E.value, (t) => (p(), o(_(x), {
36
+ key: D(t),
37
+ value: D(t)
38
+ }, {
39
+ default: y(() => [l(_(w), {
40
+ disabled: t.disabled,
41
+ class: f(M.value)
42
+ }, {
43
+ default: y(() => [h(e.$slots, "trigger", { menu: t }, () => [c(g(t.label), 1)])]),
44
+ _: 2
45
+ }, 1032, ["disabled", "class"]), l(_(S), null, {
46
+ default: y(() => [l(_(b), {
47
+ align: d.align,
48
+ "side-offset": d.sideOffset,
49
+ class: f(N.value)
50
+ }, {
51
+ default: y(() => [l(n, {
52
+ entries: t.items ?? [],
53
+ unstyled: k.value,
54
+ ui: d.ui
55
+ }, null, 8, [
56
+ "entries",
57
+ "unstyled",
58
+ "ui"
59
+ ])]),
60
+ _: 2
61
+ }, 1032, [
62
+ "align",
63
+ "side-offset",
64
+ "class"
65
+ ])]),
66
+ _: 2
67
+ }, 1024)]),
68
+ _: 2
69
+ }, 1032, ["value"]))), 128))]),
70
+ _: 3
71
+ }, 8, [
72
+ "modelValue",
73
+ "loop",
74
+ "class"
75
+ ]));
76
+ }
77
+ });
78
+ //#endregion
79
+ export { T as default };
@@ -0,0 +1,5 @@
1
+ import e from "./NavigationMenu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/NavigationMenu.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,75 @@
1
+ import type { NavigationMenuEntry, NavigationMenuGroupItem, NavigationMenuLinkItem } from '../composables/navigation-menu';
2
+ export interface NavigationMenuProps {
3
+ /** Top-level entries. An entry with `items` opens a panel. */
4
+ items?: NavigationMenuEntry[];
5
+ orientation?: 'horizontal' | 'vertical';
6
+ /** Columns in a panel. An entry can override this with its own `columns`. */
7
+ columns?: 1 | 2 | 3;
8
+ /**
9
+ * Accessible name for the navigation landmark — override for non-English
10
+ * apps.
11
+ */
12
+ label?: string;
13
+ /** Milliseconds a pointer must rest on a trigger before its panel opens. */
14
+ delayDuration?: number;
15
+ /** Open panels on click only, for touch-first apps. */
16
+ disableHoverTrigger?: boolean;
17
+ /** Skip built-in classes; you take over styling entirely. */
18
+ unstyled?: boolean;
19
+ class?: string;
20
+ /** Override classes per slot, e.g. `{ viewport: 'w-96' }`. */
21
+ ui?: {
22
+ root?: string;
23
+ list?: string;
24
+ item?: string;
25
+ link?: string;
26
+ triggerIcon?: string;
27
+ viewportWrapper?: string;
28
+ viewport?: string;
29
+ content?: string;
30
+ panelLink?: string;
31
+ panelLabel?: string;
32
+ panelDescription?: string;
33
+ panelIcon?: string;
34
+ };
35
+ }
36
+ type __VLS_Props = NavigationMenuProps;
37
+ type __VLS_ModelProps = {
38
+ /** Which panel is open, by entry value. Empty string means none. */
39
+ modelValue?: string;
40
+ };
41
+ type __VLS_PublicProps = __VLS_Props & __VLS_ModelProps;
42
+ declare var __VLS_14: {}, __VLS_28: {
43
+ item: NavigationMenuGroupItem;
44
+ }, __VLS_46: {
45
+ item: NavigationMenuGroupItem;
46
+ }, __VLS_81: {
47
+ item: NavigationMenuLinkItem;
48
+ };
49
+ type __VLS_Slots = {} & {
50
+ list?: (props: typeof __VLS_14) => any;
51
+ } & {
52
+ trigger?: (props: typeof __VLS_28) => any;
53
+ } & {
54
+ panel?: (props: typeof __VLS_46) => any;
55
+ } & {
56
+ item?: (props: typeof __VLS_81) => any;
57
+ };
58
+ declare const __VLS_base: import("vue").DefineComponent<__VLS_PublicProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
59
+ "update:modelValue": (value: string) => any;
60
+ }, string, import("vue").PublicProps, Readonly<__VLS_PublicProps> & Readonly<{
61
+ "onUpdate:modelValue"?: ((value: string) => any) | undefined;
62
+ }>, {
63
+ unstyled: boolean;
64
+ orientation: "horizontal" | "vertical";
65
+ label: string;
66
+ columns: 1 | 2 | 3;
67
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
68
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
69
+ declare const _default: typeof __VLS_export;
70
+ export default _default;
71
+ type __VLS_WithSlots<T, S> = T & {
72
+ new (): {
73
+ $slots: S;
74
+ };
75
+ };
@@ -0,0 +1,167 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import t from "./Icon.js";
3
+ import { isNavigationGroup as n } from "../composables/navigation-menu.js";
4
+ import { navigationMenuTheme as r } from "../theme/navigation-menu.js";
5
+ import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, mergeModels as p, normalizeClass as m, openBlock as h, renderList as g, renderSlot as _, resolveDynamicComponent as v, toDisplayString as y, unref as b, useModel as x, withCtx as S } from "vue";
6
+ import { ArrowDown01Icon as C } from "@hugeicons/core-free-icons";
7
+ import { NavigationMenuContent as w, NavigationMenuItem as T, NavigationMenuLink as E, NavigationMenuList as D, NavigationMenuRoot as O, NavigationMenuTrigger as k, NavigationMenuViewport as A } from "reka-ui";
8
+ //#region src/components/NavigationMenu.vue?vue&type=script&setup=true&lang.ts
9
+ var j = /*@__PURE__*/ f({
10
+ __name: "NavigationMenu",
11
+ props: /*@__PURE__*/ p({
12
+ items: {},
13
+ orientation: { default: "horizontal" },
14
+ columns: { default: 1 },
15
+ label: { default: "Main" },
16
+ delayDuration: {},
17
+ disableHoverTrigger: { type: Boolean },
18
+ unstyled: {
19
+ type: Boolean,
20
+ default: void 0
21
+ },
22
+ class: {},
23
+ ui: {}
24
+ }, {
25
+ modelValue: { default: void 0 },
26
+ modelModifiers: {}
27
+ }),
28
+ emits: ["update:modelValue"],
29
+ setup(f) {
30
+ let p = f, j = x(f, "modelValue"), M = e(), N = a(() => p.unstyled ?? M.unstyled), P = a(() => p.items ?? []), F = (e) => e.label, I = a(() => P.value.some(n)), L = a(() => r({ orientation: p.orientation }));
31
+ function R(e) {
32
+ let t = p.ui?.[e];
33
+ return N.value ? t : L.value[e]({ class: t });
34
+ }
35
+ function z(e) {
36
+ let t = p.ui?.content;
37
+ return N.value ? t : r({
38
+ orientation: p.orientation,
39
+ columns: e.columns ?? p.columns
40
+ }).content({ class: t });
41
+ }
42
+ let B = (e) => e.href ? "a" : "button";
43
+ function V(e, t) {
44
+ if (e.disabled) {
45
+ t.preventDefault();
46
+ return;
47
+ }
48
+ e.onSelect?.();
49
+ }
50
+ return (e, r) => (h(), o(b(O), {
51
+ modelValue: j.value,
52
+ "onUpdate:modelValue": r[0] ||= (e) => j.value = e,
53
+ orientation: p.orientation,
54
+ "delay-duration": p.delayDuration,
55
+ "disable-hover-trigger": p.disableHoverTrigger,
56
+ "aria-label": p.label,
57
+ class: m(N.value ? [p.ui?.root, p.class] : L.value.root({ class: [p.ui?.root, p.class] }))
58
+ }, {
59
+ default: S(() => [d(b(D), { class: m(R("list")) }, {
60
+ default: S(() => [_(e.$slots, "list", {}, () => [(h(!0), c(i, null, g(P.value, (r) => (h(), o(b(T), {
61
+ key: F(r),
62
+ value: F(r),
63
+ class: m(R("item"))
64
+ }, {
65
+ default: S(() => [b(n)(r) ? (h(), c(i, { key: 0 }, [d(b(k), {
66
+ disabled: r.disabled,
67
+ class: m(R("link"))
68
+ }, {
69
+ default: S(() => [_(e.$slots, "trigger", { item: r }, () => [
70
+ r.icon ? (h(), o(t, {
71
+ key: 0,
72
+ icon: r.icon
73
+ }, null, 8, ["icon"])) : s("", !0),
74
+ u(" " + y(r.label) + " ", 1),
75
+ d(t, {
76
+ icon: b(C),
77
+ class: m(R("triggerIcon"))
78
+ }, null, 8, ["icon", "class"])
79
+ ])]),
80
+ _: 2
81
+ }, 1032, ["disabled", "class"]), d(b(w), { class: m(z(r)) }, {
82
+ default: S(() => [_(e.$slots, "panel", { item: r }, () => [(h(!0), c(i, null, g(r.items, (e) => (h(), o(b(E), {
83
+ key: e.label,
84
+ "as-child": "",
85
+ active: e.active,
86
+ onSelect: (t) => V(e, t)
87
+ }, {
88
+ default: S(() => [(h(), o(v(B(e)), {
89
+ href: e.href,
90
+ target: e.target,
91
+ type: e.href ? void 0 : "button",
92
+ "aria-current": e.active ? "page" : void 0,
93
+ "aria-disabled": e.disabled || void 0,
94
+ "data-disabled": e.disabled ? "" : void 0,
95
+ class: m(R("panelLink"))
96
+ }, {
97
+ default: S(() => [e.icon ? (h(), c("span", {
98
+ key: 0,
99
+ class: m(R("panelIcon"))
100
+ }, [d(t, { icon: e.icon }, null, 8, ["icon"])], 2)) : s("", !0), l("span", null, [l("span", { class: m(R("panelLabel")) }, y(e.label), 3), e.description ? (h(), c("span", {
101
+ key: 0,
102
+ class: m(R("panelDescription"))
103
+ }, y(e.description), 3)) : s("", !0)])]),
104
+ _: 2
105
+ }, 1032, [
106
+ "href",
107
+ "target",
108
+ "type",
109
+ "aria-current",
110
+ "aria-disabled",
111
+ "data-disabled",
112
+ "class"
113
+ ]))]),
114
+ _: 2
115
+ }, 1032, ["active", "onSelect"]))), 128))])]),
116
+ _: 2
117
+ }, 1032, ["class"])], 64)) : (h(), o(b(E), {
118
+ key: 1,
119
+ "as-child": "",
120
+ active: r.active,
121
+ onSelect: (e) => V(r, e)
122
+ }, {
123
+ default: S(() => [(h(), o(v(B(r)), {
124
+ href: r.href,
125
+ target: r.target,
126
+ type: r.href ? void 0 : "button",
127
+ "aria-current": r.active ? "page" : void 0,
128
+ "aria-disabled": r.disabled || void 0,
129
+ "data-disabled": r.disabled ? "" : void 0,
130
+ class: m(R("link"))
131
+ }, {
132
+ default: S(() => [_(e.$slots, "item", { item: r }, () => [r.icon ? (h(), o(t, {
133
+ key: 0,
134
+ icon: r.icon
135
+ }, null, 8, ["icon"])) : s("", !0), u(" " + y(r.label), 1)])]),
136
+ _: 2
137
+ }, 1032, [
138
+ "href",
139
+ "target",
140
+ "type",
141
+ "aria-current",
142
+ "aria-disabled",
143
+ "data-disabled",
144
+ "class"
145
+ ]))]),
146
+ _: 2
147
+ }, 1032, ["active", "onSelect"]))]),
148
+ _: 2
149
+ }, 1032, ["value", "class"]))), 128))])]),
150
+ _: 3
151
+ }, 8, ["class"]), I.value ? (h(), c("div", {
152
+ key: 0,
153
+ class: m(R("viewportWrapper"))
154
+ }, [d(b(A), { class: m(R("viewport")) }, null, 8, ["class"])], 2)) : s("", !0)]),
155
+ _: 3
156
+ }, 8, [
157
+ "modelValue",
158
+ "orientation",
159
+ "delay-duration",
160
+ "disable-hover-trigger",
161
+ "aria-label",
162
+ "class"
163
+ ]));
164
+ }
165
+ });
166
+ //#endregion
167
+ export { j as default };