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,64 @@
1
+ import type { IconLike } from '../composables/icon';
2
+ import type { ToggleGroupVariant } from '../theme/toggle';
3
+ export interface ToggleGroupItemOption {
4
+ label: string;
5
+ /** Identifies the item. Defaults to the label. */
6
+ value?: string;
7
+ icon?: IconLike;
8
+ disabled?: boolean;
9
+ /**
10
+ * Names the item when `iconOnly` hides its label. Without one, an icon-only
11
+ * item reaches a screen reader as an unnamed button.
12
+ */
13
+ ariaLabel?: string;
14
+ }
15
+ export interface ToggleGroupProps {
16
+ items?: (ToggleGroupItemOption | string)[];
17
+ /**
18
+ * `single` behaves like a segmented control — one item on at a time, and
19
+ * the model is that item's value. `multiple` lets any number be on, and the
20
+ * model is an array.
21
+ */
22
+ type?: 'single' | 'multiple';
23
+ modelValue?: string | string[];
24
+ variant?: ToggleGroupVariant;
25
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
26
+ orientation?: 'horizontal' | 'vertical';
27
+ /** Hide the labels and square the items, leaving only the icons. */
28
+ iconOnly?: boolean;
29
+ /** Stretch to fill the container, splitting the width between items. */
30
+ block?: boolean;
31
+ disabled?: boolean;
32
+ /** Wrap from the last item back to the first when arrowing past the end. */
33
+ loop?: boolean;
34
+ /** Skip built-in classes; you take over styling entirely. */
35
+ unstyled?: boolean;
36
+ class?: string;
37
+ /** Override classes per slot, e.g. `{ item: 'px-6' }`. */
38
+ ui?: {
39
+ root?: string;
40
+ item?: string;
41
+ };
42
+ }
43
+ declare var __VLS_16: {
44
+ item: ToggleGroupItemOption;
45
+ };
46
+ type __VLS_Slots = {} & {
47
+ item?: (props: typeof __VLS_16) => any;
48
+ };
49
+ declare const __VLS_base: import("vue").DefineComponent<ToggleGroupProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
50
+ "update:modelValue": (value: string | string[]) => any;
51
+ }, string, import("vue").PublicProps, Readonly<ToggleGroupProps> & Readonly<{
52
+ "onUpdate:modelValue"?: ((value: string | string[]) => any) | undefined;
53
+ }>, {
54
+ type: "single" | "multiple";
55
+ unstyled: boolean;
56
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
57
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
58
+ declare const _default: typeof __VLS_export;
59
+ export default _default;
60
+ type __VLS_WithSlots<T, S> = T & {
61
+ new (): {
62
+ $slots: S;
63
+ };
64
+ };
@@ -0,0 +1,78 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import t from "./Icon.js";
3
+ import { toggleGroupTheme as n, toggleTheme as r } from "../theme/toggle.js";
4
+ import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, defineComponent as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, toDisplayString as m, unref as h, withCtx as g } from "vue";
5
+ import { ToggleGroupItem as _, ToggleGroupRoot as v } from "reka-ui";
6
+ //#region src/components/ToggleGroup.vue?vue&type=script&setup=true&lang.ts
7
+ var y = { key: 1 }, b = /*@__PURE__*/ l({
8
+ __name: "ToggleGroup",
9
+ props: {
10
+ items: {},
11
+ type: { default: "single" },
12
+ modelValue: {},
13
+ variant: {},
14
+ size: {},
15
+ orientation: {},
16
+ iconOnly: { type: Boolean },
17
+ block: { type: Boolean },
18
+ disabled: { type: Boolean },
19
+ loop: { type: Boolean },
20
+ unstyled: {
21
+ type: Boolean,
22
+ default: void 0
23
+ },
24
+ class: {},
25
+ ui: {}
26
+ },
27
+ emits: ["update:modelValue"],
28
+ setup(l, { emit: b }) {
29
+ let x = l, S = b, C = a(() => (x.items ?? []).map((e) => typeof e == "string" ? { label: e } : e)), w = (e) => e.value ?? e.label, T = e(), E = a(() => x.unstyled ?? T.unstyled), D = a(() => n({
30
+ variant: x.variant,
31
+ orientation: x.orientation,
32
+ block: x.block
33
+ })), O = a(() => E.value ? [x.ui?.root, x.class] : D.value.root({ class: [x.ui?.root, x.class] })), k = a(() => E.value ? x.ui?.item : r({
34
+ size: x.size,
35
+ square: x.iconOnly,
36
+ class: D.value.item({ class: x.ui?.item })
37
+ }));
38
+ return (e, n) => (d(), o(h(v), {
39
+ type: x.type,
40
+ "model-value": x.modelValue,
41
+ disabled: x.disabled,
42
+ orientation: x.orientation,
43
+ loop: x.loop,
44
+ class: u(O.value),
45
+ "onUpdate:modelValue": n[0] ||= (e) => S("update:modelValue", e)
46
+ }, {
47
+ default: g(() => [(d(!0), c(i, null, f(C.value, (n) => (d(), o(h(_), {
48
+ key: w(n),
49
+ value: w(n),
50
+ disabled: n.disabled,
51
+ "aria-label": n.ariaLabel ?? (x.iconOnly ? n.label : void 0),
52
+ class: u(k.value)
53
+ }, {
54
+ default: g(() => [p(e.$slots, "item", { item: n }, () => [n.icon ? (d(), o(t, {
55
+ key: 0,
56
+ icon: n.icon,
57
+ "data-icon": x.iconOnly ? void 0 : "inline-start"
58
+ }, null, 8, ["icon", "data-icon"])) : s("", !0), x.iconOnly ? s("", !0) : (d(), c("span", y, m(n.label), 1))])]),
59
+ _: 2
60
+ }, 1032, [
61
+ "value",
62
+ "disabled",
63
+ "aria-label",
64
+ "class"
65
+ ]))), 128))]),
66
+ _: 3
67
+ }, 8, [
68
+ "type",
69
+ "model-value",
70
+ "disabled",
71
+ "orientation",
72
+ "loop",
73
+ "class"
74
+ ]));
75
+ }
76
+ });
77
+ //#endregion
78
+ export { b as default };
@@ -0,0 +1,5 @@
1
+ import e from "./Toolbar.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Toolbar.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,52 @@
1
+ import type { IconLike } from '../composables/icon';
2
+ export interface ToolbarButtonOption {
3
+ label: string;
4
+ icon?: IconLike;
5
+ /** Run when the control is pressed. Ignored on a link. */
6
+ onSelect?: () => void;
7
+ /** Renders a link instead of a button. */
8
+ href?: string;
9
+ disabled?: boolean;
10
+ /** Hide the label, leaving only the icon. The label becomes its name. */
11
+ iconOnly?: boolean;
12
+ /** Overrides that name when the label is too terse to stand alone. */
13
+ ariaLabel?: string;
14
+ }
15
+ /** `'-'` renders a separator between groups of controls. */
16
+ export type ToolbarEntry = ToolbarButtonOption | '-';
17
+ export interface ToolbarProps {
18
+ items?: ToolbarEntry[];
19
+ orientation?: 'horizontal' | 'vertical';
20
+ size?: 'xs' | 'sm' | 'md' | 'lg' | 'xl';
21
+ /** Drop the container so the controls sit directly on the page. */
22
+ bare?: boolean;
23
+ /** Wrap from the last control back to the first when arrowing past the end. */
24
+ loop?: boolean;
25
+ /** Names the bar, e.g. "Formatting". A toolbar with no name is unlabelled chrome. */
26
+ ariaLabel?: string;
27
+ /** Skip built-in classes; you take over styling entirely. */
28
+ unstyled?: boolean;
29
+ class?: string;
30
+ /** Override classes per slot, e.g. `{ button: 'px-3' }`. */
31
+ ui?: {
32
+ root?: string;
33
+ button?: string;
34
+ separator?: string;
35
+ };
36
+ }
37
+ declare var __VLS_8: {};
38
+ type __VLS_Slots = {} & {
39
+ default?: (props: typeof __VLS_8) => any;
40
+ };
41
+ declare const __VLS_base: import("vue").DefineComponent<ToolbarProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<ToolbarProps> & Readonly<{}>, {
42
+ size: "xs" | "sm" | "md" | "lg" | "xl";
43
+ unstyled: boolean;
44
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
45
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
46
+ declare const _default: typeof __VLS_export;
47
+ export default _default;
48
+ type __VLS_WithSlots<T, S> = T & {
49
+ new (): {
50
+ $slots: S;
51
+ };
52
+ };
@@ -0,0 +1,94 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import t from "./Icon.js";
3
+ import { buttonTheme as n } from "../theme/button.js";
4
+ import { toolbarTheme as r } from "../theme/toolbar.js";
5
+ import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, defineComponent as l, normalizeClass as u, openBlock as d, renderList as f, renderSlot as p, toDisplayString as m, unref as h, withCtx as g } from "vue";
6
+ import { ToolbarButton as _, ToolbarLink as v, ToolbarRoot as y, ToolbarSeparator as b } from "reka-ui";
7
+ //#region src/components/Toolbar.vue?vue&type=script&setup=true&lang.ts
8
+ var x = { key: 1 }, S = { key: 1 }, C = /*@__PURE__*/ l({
9
+ __name: "Toolbar",
10
+ props: {
11
+ items: {},
12
+ orientation: {},
13
+ size: { default: "sm" },
14
+ bare: { type: Boolean },
15
+ loop: { type: Boolean },
16
+ ariaLabel: {},
17
+ unstyled: {
18
+ type: Boolean,
19
+ default: void 0
20
+ },
21
+ class: {},
22
+ ui: {}
23
+ },
24
+ setup(l) {
25
+ let C = l, w = a(() => C.items ?? []), T = (e) => e === "-", E = e(), D = a(() => C.unstyled ?? E.unstyled), O = a(() => r({
26
+ orientation: C.orientation,
27
+ bare: C.bare
28
+ })), k = a(() => D.value ? [C.ui?.root, C.class] : O.value.root({ class: [C.ui?.root, C.class] })), A = a(() => D.value ? C.ui?.separator : O.value.separator({ class: C.ui?.separator }));
29
+ function j(e) {
30
+ return D.value ? C.ui?.button : n({
31
+ variant: "ghost",
32
+ size: C.size,
33
+ square: e.iconOnly,
34
+ class: C.ui?.button
35
+ });
36
+ }
37
+ function M(e) {
38
+ return e.ariaLabel ?? (e.iconOnly ? e.label : void 0);
39
+ }
40
+ return (e, n) => (d(), o(h(y), {
41
+ orientation: C.orientation,
42
+ loop: C.loop,
43
+ "aria-label": C.ariaLabel,
44
+ class: u(k.value)
45
+ }, {
46
+ default: g(() => [p(e.$slots, "default", {}, () => [(d(!0), c(i, null, f(w.value, (e, n) => (d(), c(i, { key: n }, [T(e) ? (d(), o(h(b), {
47
+ key: 0,
48
+ class: u(A.value)
49
+ }, null, 8, ["class"])) : e.href ? (d(), o(h(v), {
50
+ key: 1,
51
+ href: e.href,
52
+ "aria-label": M(e),
53
+ class: u(j(e))
54
+ }, {
55
+ default: g(() => [e.icon ? (d(), o(t, {
56
+ key: 0,
57
+ icon: e.icon,
58
+ "data-icon": e.iconOnly ? void 0 : "inline-start"
59
+ }, null, 8, ["icon", "data-icon"])) : s("", !0), e.iconOnly ? s("", !0) : (d(), c("span", x, m(e.label), 1))]),
60
+ _: 2
61
+ }, 1032, [
62
+ "href",
63
+ "aria-label",
64
+ "class"
65
+ ])) : (d(), o(h(_), {
66
+ key: 2,
67
+ disabled: e.disabled,
68
+ "aria-label": M(e),
69
+ class: u(j(e)),
70
+ onClick: (t) => e.onSelect?.()
71
+ }, {
72
+ default: g(() => [e.icon ? (d(), o(t, {
73
+ key: 0,
74
+ icon: e.icon,
75
+ "data-icon": e.iconOnly ? void 0 : "inline-start"
76
+ }, null, 8, ["icon", "data-icon"])) : s("", !0), e.iconOnly ? s("", !0) : (d(), c("span", S, m(e.label), 1))]),
77
+ _: 2
78
+ }, 1032, [
79
+ "disabled",
80
+ "aria-label",
81
+ "class",
82
+ "onClick"
83
+ ]))], 64))), 128))])]),
84
+ _: 3
85
+ }, 8, [
86
+ "orientation",
87
+ "loop",
88
+ "aria-label",
89
+ "class"
90
+ ]));
91
+ }
92
+ });
93
+ //#endregion
94
+ export { C as default };
@@ -0,0 +1,5 @@
1
+ import e from "./Tree.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Tree.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,70 @@
1
+ import type { IconLike } from '../composables/icon';
2
+ export interface TreeItemOption {
3
+ label: string;
4
+ /** Identifies the node. Defaults to the label. */
5
+ value?: string;
6
+ icon?: IconLike;
7
+ disabled?: boolean;
8
+ /**
9
+ * Number shown against the row's trailing edge — how many files are in a
10
+ * folder, how many results are under a category.
11
+ */
12
+ count?: number;
13
+ /** Nested nodes. A node with children can be expanded. */
14
+ children?: TreeItemOption[];
15
+ }
16
+ export interface TreeProps {
17
+ items?: TreeItemOption[];
18
+ /** Selected node values. Always an array, whether or not `multiple` is set. */
19
+ modelValue?: string[];
20
+ /** Which nodes start open, by value. Two-way via `v-model:expanded`. */
21
+ expanded?: string[];
22
+ multiple?: boolean;
23
+ /** Selecting a parent selects everything under it. Needs `multiple`. */
24
+ propagateSelect?: boolean;
25
+ size?: 'sm' | 'md';
26
+ /** Indent added per level of depth, in pixels. */
27
+ indent?: number;
28
+ disabled?: boolean;
29
+ /** Names the tree, e.g. "Project files". */
30
+ ariaLabel?: string;
31
+ /** Skip built-in classes; you take over styling entirely. */
32
+ unstyled?: boolean;
33
+ class?: string;
34
+ /** Override classes per slot, e.g. `{ item: 'py-2' }`. */
35
+ ui?: {
36
+ root?: string;
37
+ item?: string;
38
+ expander?: string;
39
+ spacer?: string;
40
+ icon?: string;
41
+ label?: string;
42
+ count?: string;
43
+ };
44
+ }
45
+ declare var __VLS_16: {
46
+ item: TreeItemOption;
47
+ level: number;
48
+ expanded: boolean;
49
+ };
50
+ type __VLS_Slots = {} & {
51
+ item?: (props: typeof __VLS_16) => any;
52
+ };
53
+ declare const __VLS_base: import("vue").DefineComponent<TreeProps, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {
54
+ "update:modelValue": (value: string[]) => any;
55
+ "update:expanded": (value: string[]) => any;
56
+ }, string, import("vue").PublicProps, Readonly<TreeProps> & Readonly<{
57
+ "onUpdate:modelValue"?: ((value: string[]) => any) | undefined;
58
+ "onUpdate:expanded"?: ((value: string[]) => any) | undefined;
59
+ }>, {
60
+ unstyled: boolean;
61
+ indent: number;
62
+ }, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, any>;
63
+ declare const __VLS_export: __VLS_WithSlots<typeof __VLS_base, __VLS_Slots>;
64
+ declare const _default: typeof __VLS_export;
65
+ export default _default;
66
+ type __VLS_WithSlots<T, S> = T & {
67
+ new (): {
68
+ $slots: S;
69
+ };
70
+ };
@@ -0,0 +1,112 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import t from "./Icon.js";
3
+ import { treeTheme as n } from "../theme/tree.js";
4
+ import { Fragment as r, computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, defineComponent as l, mergeProps as u, normalizeClass as d, openBlock as f, renderList as p, renderSlot as m, toDisplayString as h, unref as g, withCtx as _ } from "vue";
5
+ import { ArrowRight01Icon as v } from "@hugeicons/core-free-icons";
6
+ import { TreeItem as y, TreeRoot as b } from "reka-ui";
7
+ //#region src/components/Tree.vue?vue&type=script&setup=true&lang.ts
8
+ var x = 8, S = /*@__PURE__*/ l({
9
+ __name: "Tree",
10
+ props: {
11
+ items: {},
12
+ modelValue: {},
13
+ expanded: {},
14
+ multiple: { type: Boolean },
15
+ propagateSelect: { type: Boolean },
16
+ size: {},
17
+ indent: { default: 16 },
18
+ disabled: { type: Boolean },
19
+ ariaLabel: {},
20
+ unstyled: {
21
+ type: Boolean,
22
+ default: void 0
23
+ },
24
+ class: {},
25
+ ui: {}
26
+ },
27
+ emits: ["update:modelValue", "update:expanded"],
28
+ setup(l, { emit: S }) {
29
+ let C = l, w = S, T = i(() => C.items ?? []), E = (e) => e.value ?? e.label, D = (e) => !!e.children?.length, O = (e) => `${x + (e - 1) * C.indent}px`, k = i(() => {
30
+ let e = /* @__PURE__ */ new Map(), t = (n) => {
31
+ for (let r of n) e.set(E(r), r), r.children?.length && t(r.children);
32
+ };
33
+ return t(T.value), e;
34
+ }), A = i(() => (C.modelValue ?? []).map((e) => k.value.get(e)).filter(Boolean));
35
+ function j(e) {
36
+ return (Array.isArray(e) ? e : [e]).filter(Boolean).map((e) => E(e));
37
+ }
38
+ let M = e(), N = i(() => C.unstyled ?? M.unstyled), P = i(() => n({ size: C.size }));
39
+ function F(e, t) {
40
+ let n = [C.ui?.[e], t].filter(Boolean).join(" ");
41
+ return N.value ? n : P.value[e]({ class: n });
42
+ }
43
+ return (e, n) => (f(), a(g(b), {
44
+ items: T.value,
45
+ "model-value": C.multiple ? A.value : A.value[0],
46
+ expanded: C.expanded,
47
+ "get-key": E,
48
+ "get-children": (e) => e.children,
49
+ multiple: C.multiple,
50
+ "propagate-select": C.propagateSelect,
51
+ disabled: C.disabled,
52
+ "aria-label": C.ariaLabel,
53
+ class: d(F("root", C.class)),
54
+ "onUpdate:modelValue": n[0] ||= (e) => w("update:modelValue", j(e)),
55
+ "onUpdate:expanded": n[1] ||= (e) => w("update:expanded", e)
56
+ }, {
57
+ default: _(({ flattenItems: n }) => [(f(!0), s(r, null, p(n, (n) => (f(), a(g(y), u({ key: n._id }, { ref_for: !0 }, n.bind, {
58
+ disabled: n.value.disabled,
59
+ class: F("item"),
60
+ style: { paddingLeft: O(n.level) }
61
+ }), {
62
+ default: _(({ isExpanded: r }) => [m(e.$slots, "item", {
63
+ item: n.value,
64
+ level: n.level,
65
+ expanded: r
66
+ }, () => [
67
+ D(n.value) ? (f(), a(t, {
68
+ key: 0,
69
+ icon: g(v),
70
+ "data-expanded": r ? "" : void 0,
71
+ class: d(F("expander"))
72
+ }, null, 8, [
73
+ "icon",
74
+ "data-expanded",
75
+ "class"
76
+ ])) : (f(), s("span", {
77
+ key: 1,
78
+ class: d(F("spacer"))
79
+ }, null, 2)),
80
+ n.value.icon ? (f(), a(t, {
81
+ key: 2,
82
+ icon: n.value.icon,
83
+ class: d(F("icon"))
84
+ }, null, 8, ["icon", "class"])) : o("", !0),
85
+ c("span", { class: d(F("label")) }, h(n.value.label), 3),
86
+ n.value.count === void 0 ? o("", !0) : (f(), s("span", {
87
+ key: 3,
88
+ class: d(F("count"))
89
+ }, h(n.value.count), 3))
90
+ ])]),
91
+ _: 2
92
+ }, 1040, [
93
+ "disabled",
94
+ "class",
95
+ "style"
96
+ ]))), 128))]),
97
+ _: 3
98
+ }, 8, [
99
+ "items",
100
+ "model-value",
101
+ "expanded",
102
+ "get-children",
103
+ "multiple",
104
+ "propagate-select",
105
+ "disabled",
106
+ "aria-label",
107
+ "class"
108
+ ]));
109
+ }
110
+ });
111
+ //#endregion
112
+ export { S as default };
@@ -1,5 +1,10 @@
1
+ export { default as Accordion } from './Accordion.vue';
1
2
  export { default as Alert } from './Alert.vue';
2
3
  export { default as App } from './App.vue';
4
+ export { default as AppShell } from './AppShell.vue';
5
+ export { default as AspectRatio } from './AspectRatio.vue';
6
+ export { default as Avatar } from './Avatar.vue';
7
+ export { default as AvatarGroup } from './AvatarGroup.vue';
3
8
  export { default as Badge } from './Badge.vue';
4
9
  export { default as Banner } from './Banner.vue';
5
10
  export { default as BarChart } from './BarChart.vue';
@@ -9,33 +14,58 @@ export { default as ButtonGroup } from './ButtonGroup.vue';
9
14
  export { default as Card } from './Card.vue';
10
15
  export { default as ChartLegend } from './ChartLegend.vue';
11
16
  export { default as Checkbox } from './Checkbox.vue';
17
+ export { default as Collapsible } from './Collapsible.vue';
18
+ export { default as ColorPicker } from './ColorPicker.vue';
12
19
  export { default as Combobox } from './Combobox.vue';
20
+ export { default as CommandPalette } from './CommandPalette.vue';
13
21
  export { default as ConfirmDialog } from './ConfirmDialog.vue';
22
+ export { default as Container } from './Container.vue';
23
+ export { default as ContextMenu } from './ContextMenu.vue';
14
24
  export { default as DatePicker } from './DatePicker.vue';
15
25
  export { default as DateRangePicker } from './DateRangePicker.vue';
16
26
  export { default as Dialog } from './Dialog.vue';
27
+ export { default as Drawer } from './Drawer.vue';
17
28
  export { default as DropdownMenu } from './DropdownMenu.vue';
18
29
  export { default as EmptyState } from './EmptyState.vue';
19
30
  export { default as FileUpload } from './FileUpload.vue';
20
31
  export { default as Form } from './Form.vue';
21
32
  export { default as FormField } from './FormField.vue';
22
33
  export { default as Input } from './Input.vue';
34
+ export { default as Kbd } from './Kbd.vue';
23
35
  export { default as Label } from './Label.vue';
24
36
  export { default as LineChart } from './LineChart.vue';
37
+ export { default as Menubar } from './Menubar.vue';
38
+ export { default as NavigationMenu } from './NavigationMenu.vue';
25
39
  export { default as NumberInput } from './NumberInput.vue';
40
+ export { default as PageHeader } from './PageHeader.vue';
26
41
  export { default as Pagination } from './Pagination.vue';
27
42
  export { default as PasswordInput } from './PasswordInput.vue';
43
+ export { default as PinInput } from './PinInput.vue';
44
+ export { default as Popover } from './Popover.vue';
28
45
  export { default as Progress } from './Progress.vue';
29
46
  export { default as RadioGroup } from './RadioGroup.vue';
47
+ export { default as ScrollArea } from './ScrollArea.vue';
48
+ export { default as ScrollFade } from './ScrollFade.vue';
30
49
  export { default as Select } from './Select.vue';
31
50
  export { default as Separator } from './Separator.vue';
51
+ export { default as Sidebar } from './Sidebar.vue';
52
+ export { default as SignaturePad } from './SignaturePad.vue';
32
53
  export { default as Skeleton } from './Skeleton.vue';
54
+ export { default as Slider } from './Slider.vue';
33
55
  export { default as Sparkline } from './Sparkline.vue';
56
+ export { default as Splitter } from './Splitter.vue';
34
57
  export { default as Stat } from './Stat.vue';
35
58
  export { default as Stepper } from './Stepper.vue';
36
59
  export { default as Switch } from './Switch.vue';
37
60
  export { default as Table } from './Table.vue';
38
61
  export { default as Tabs } from './Tabs.vue';
62
+ export { default as TagsInput } from './TagsInput.vue';
39
63
  export { default as Textarea } from './Textarea.vue';
64
+ export { default as TimeField } from './TimeField.vue';
65
+ export { default as Timeline } from './Timeline.vue';
40
66
  export { default as Toaster } from './Toaster.vue';
67
+ export { default as Toggle } from './Toggle.vue';
68
+ export { default as ToggleGroup } from './ToggleGroup.vue';
69
+ export { default as Toolbar } from './Toolbar.vue';
41
70
  export { default as Tooltip } from './Tooltip.vue';
71
+ export { default as Tree } from './Tree.vue';