iryx-ui 0.2.0 → 0.3.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 (164) hide show
  1. package/README.md +180 -20
  2. package/dist/component-names.d.ts +1 -1
  3. package/dist/components/Alert.vue.d.ts +3 -3
  4. package/dist/components/Breadcrumb.vue.d.ts +45 -0
  5. package/dist/components/Button.vue.d.ts +8 -0
  6. package/dist/components/ButtonGroup.vue.d.ts +32 -0
  7. package/dist/components/ConfirmDialog.vue.d.ts +18 -0
  8. package/dist/components/Dialog.vue.d.ts +65 -0
  9. package/dist/components/DropdownMenu.vue.d.ts +49 -0
  10. package/dist/components/DropdownMenuItems.vue.d.ts +24 -0
  11. package/dist/components/EmptyState.vue.d.ts +46 -0
  12. package/dist/components/FormField.vue.d.ts +9 -0
  13. package/dist/components/Icon.vue.d.ts +8 -0
  14. package/dist/components/Label.vue.d.ts +6 -0
  15. package/dist/components/Pagination.vue.d.ts +57 -0
  16. package/dist/components/Progress.vue.d.ts +52 -0
  17. package/dist/components/Separator.vue.d.ts +36 -0
  18. package/dist/components/Skeleton.vue.d.ts +20 -0
  19. package/dist/components/Stat.vue.d.ts +57 -0
  20. package/dist/components/Stepper.vue.d.ts +61 -0
  21. package/dist/components/Tabs.vue.d.ts +63 -0
  22. package/dist/components/Toaster.vue.d.ts +28 -0
  23. package/dist/components/Tooltip.vue.d.ts +49 -0
  24. package/dist/components/index.d.ts +15 -0
  25. package/dist/composables/button-group.d.ts +12 -0
  26. package/dist/composables/confirm.d.ts +36 -0
  27. package/dist/composables/dropdown-menu.d.ts +22 -0
  28. package/dist/composables/icon.d.ts +10 -0
  29. package/dist/composables/toast.d.ts +42 -0
  30. package/dist/config.d.ts +9 -0
  31. package/dist/index.d.ts +19 -0
  32. package/dist/index.js +64 -31
  33. package/dist/node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js +201 -0
  34. 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 +8 -0
  35. 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 +25 -0
  36. 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 +63 -0
  37. package/dist/nuxt.js +1 -1
  38. package/dist/packages/iryx-ui/src/component-names.js +4 -0
  39. package/dist/packages/iryx-ui/src/components/Alert.vue_vue_type_script_setup_true_lang.js +75 -0
  40. package/dist/packages/iryx-ui/src/components/Breadcrumb.js +5 -0
  41. package/dist/packages/iryx-ui/src/components/Breadcrumb.vue_vue_type_script_setup_true_lang.js +68 -0
  42. package/dist/packages/iryx-ui/src/components/Button.vue_vue_type_script_setup_true_lang.js +59 -0
  43. package/dist/packages/iryx-ui/src/components/ButtonGroup.js +5 -0
  44. package/dist/packages/iryx-ui/src/components/ButtonGroup.vue_vue_type_script_setup_true_lang.js +39 -0
  45. package/dist/packages/iryx-ui/src/components/Checkbox.vue_vue_type_script_setup_true_lang.js +92 -0
  46. package/dist/packages/iryx-ui/src/components/ConfirmDialog.js +5 -0
  47. package/dist/packages/iryx-ui/src/components/ConfirmDialog.vue_vue_type_script_setup_true_lang.js +63 -0
  48. package/dist/packages/iryx-ui/src/components/Dialog.js +5 -0
  49. package/dist/packages/iryx-ui/src/components/Dialog.vue_vue_type_script_setup_true_lang.js +99 -0
  50. package/dist/packages/iryx-ui/src/components/DropdownMenu.js +5 -0
  51. package/dist/packages/iryx-ui/src/components/DropdownMenu.vue_vue_type_script_setup_true_lang.js +67 -0
  52. package/dist/packages/iryx-ui/src/components/DropdownMenuItems.js +5 -0
  53. package/dist/packages/iryx-ui/src/components/DropdownMenuItems.vue_vue_type_script_setup_true_lang.js +92 -0
  54. package/dist/packages/iryx-ui/src/components/EmptyState.js +5 -0
  55. package/dist/packages/iryx-ui/src/components/EmptyState.vue_vue_type_script_setup_true_lang.js +55 -0
  56. package/dist/{components → packages/iryx-ui/src/components}/FormField.vue_vue_type_script_setup_true_lang.js +5 -3
  57. package/dist/packages/iryx-ui/src/components/Icon.js +5 -0
  58. package/dist/packages/iryx-ui/src/components/Icon.vue_vue_type_script_setup_true_lang.js +26 -0
  59. package/dist/{components → packages/iryx-ui/src/components}/Label.vue_vue_type_script_setup_true_lang.js +2 -0
  60. package/dist/packages/iryx-ui/src/components/Pagination.js +5 -0
  61. package/dist/packages/iryx-ui/src/components/Pagination.vue_vue_type_script_setup_true_lang.js +94 -0
  62. package/dist/packages/iryx-ui/src/components/Progress.js +5 -0
  63. package/dist/packages/iryx-ui/src/components/Progress.vue_vue_type_script_setup_true_lang.js +65 -0
  64. package/dist/packages/iryx-ui/src/components/Select.vue_vue_type_script_setup_true_lang.js +85 -0
  65. package/dist/packages/iryx-ui/src/components/Separator.js +5 -0
  66. package/dist/packages/iryx-ui/src/components/Separator.vue_vue_type_script_setup_true_lang.js +56 -0
  67. package/dist/packages/iryx-ui/src/components/Skeleton.js +5 -0
  68. package/dist/packages/iryx-ui/src/components/Skeleton.vue_vue_type_script_setup_true_lang.js +48 -0
  69. package/dist/packages/iryx-ui/src/components/Stat.js +5 -0
  70. package/dist/packages/iryx-ui/src/components/Stat.vue_vue_type_script_setup_true_lang.js +63 -0
  71. package/dist/packages/iryx-ui/src/components/Stepper.js +5 -0
  72. package/dist/packages/iryx-ui/src/components/Stepper.vue_vue_type_script_setup_true_lang.js +89 -0
  73. package/dist/packages/iryx-ui/src/components/Tabs.js +5 -0
  74. package/dist/packages/iryx-ui/src/components/Tabs.vue_vue_type_script_setup_true_lang.js +78 -0
  75. package/dist/packages/iryx-ui/src/components/Toaster.js +5 -0
  76. package/dist/packages/iryx-ui/src/components/Toaster.vue_vue_type_script_setup_true_lang.js +115 -0
  77. package/dist/packages/iryx-ui/src/components/Tooltip.js +5 -0
  78. package/dist/packages/iryx-ui/src/components/Tooltip.vue_vue_type_script_setup_true_lang.js +70 -0
  79. package/dist/packages/iryx-ui/src/components/index.js +64 -0
  80. package/dist/{composables → packages/iryx-ui/src/composables}/appearance.js +11 -7
  81. package/dist/packages/iryx-ui/src/composables/button-group.js +8 -0
  82. package/dist/packages/iryx-ui/src/composables/confirm.js +25 -0
  83. package/dist/packages/iryx-ui/src/composables/dropdown-menu.js +9 -0
  84. package/dist/packages/iryx-ui/src/composables/icon.js +6 -0
  85. package/dist/packages/iryx-ui/src/composables/toast.js +38 -0
  86. package/dist/{theme → packages/iryx-ui/src/theme}/badge.js +3 -3
  87. package/dist/packages/iryx-ui/src/theme/breadcrumb.js +12 -0
  88. package/dist/packages/iryx-ui/src/theme/button-group.js +15 -0
  89. package/dist/packages/iryx-ui/src/theme/button.js +59 -0
  90. package/dist/packages/iryx-ui/src/theme/dialog.js +23 -0
  91. package/dist/packages/iryx-ui/src/theme/dropdown-menu.js +16 -0
  92. package/dist/packages/iryx-ui/src/theme/empty-state.js +34 -0
  93. package/dist/packages/iryx-ui/src/theme/form.js +38 -0
  94. package/dist/{theme → packages/iryx-ui/src/theme}/label.js +10 -1
  95. package/dist/packages/iryx-ui/src/theme/pagination.js +29 -0
  96. package/dist/packages/iryx-ui/src/theme/progress.js +33 -0
  97. package/dist/packages/iryx-ui/src/theme/separator.js +22 -0
  98. package/dist/packages/iryx-ui/src/theme/skeleton.js +13 -0
  99. package/dist/packages/iryx-ui/src/theme/stat.js +30 -0
  100. package/dist/packages/iryx-ui/src/theme/stepper.js +25 -0
  101. package/dist/packages/iryx-ui/src/theme/tabs.js +52 -0
  102. package/dist/packages/iryx-ui/src/theme/toast.js +53 -0
  103. package/dist/packages/iryx-ui/src/theme/tooltip.js +8 -0
  104. package/dist/theme/breadcrumb.d.ts +59 -0
  105. package/dist/theme/button-group.d.ts +29 -0
  106. package/dist/theme/button.d.ts +17 -2
  107. package/dist/theme/dialog.d.ts +74 -0
  108. package/dist/theme/dropdown-menu.d.ts +53 -0
  109. package/dist/theme/empty-state.d.ts +86 -0
  110. package/dist/theme/form.d.ts +62 -35
  111. package/dist/theme/index.d.ts +14 -0
  112. package/dist/theme/label.d.ts +18 -0
  113. package/dist/theme/pagination.d.ts +71 -0
  114. package/dist/theme/progress.d.ts +143 -0
  115. package/dist/theme/separator.d.ts +50 -0
  116. package/dist/theme/skeleton.d.ts +23 -0
  117. package/dist/theme/stat.d.ts +110 -0
  118. package/dist/theme/stepper.d.ts +56 -0
  119. package/dist/theme/tabs.d.ts +104 -0
  120. package/dist/theme/toast.d.ts +176 -0
  121. package/dist/theme/tooltip.d.ts +32 -0
  122. package/package.json +4 -3
  123. package/theme.css +55 -0
  124. package/dist/component-names.js +0 -19
  125. package/dist/components/Alert.vue_vue_type_script_setup_true_lang.js +0 -74
  126. package/dist/components/Button.vue_vue_type_script_setup_true_lang.js +0 -54
  127. package/dist/components/Checkbox.vue_vue_type_script_setup_true_lang.js +0 -79
  128. package/dist/components/Select.vue_vue_type_script_setup_true_lang.js +0 -84
  129. package/dist/components/index.js +0 -34
  130. package/dist/theme/button.js +0 -27
  131. package/dist/theme/form.js +0 -14
  132. /package/dist/{components → packages/iryx-ui/src/components}/Alert.js +0 -0
  133. /package/dist/{components → packages/iryx-ui/src/components}/App.js +0 -0
  134. /package/dist/{components → packages/iryx-ui/src/components}/App.vue_vue_type_script_setup_true_lang.js +0 -0
  135. /package/dist/{components → packages/iryx-ui/src/components}/Badge.js +0 -0
  136. /package/dist/{components → packages/iryx-ui/src/components}/Badge.vue_vue_type_script_setup_true_lang.js +0 -0
  137. /package/dist/{components → packages/iryx-ui/src/components}/Button.js +0 -0
  138. /package/dist/{components → packages/iryx-ui/src/components}/Card.js +0 -0
  139. /package/dist/{components → packages/iryx-ui/src/components}/Card.vue_vue_type_script_setup_true_lang.js +0 -0
  140. /package/dist/{components → packages/iryx-ui/src/components}/Checkbox.js +0 -0
  141. /package/dist/{components → packages/iryx-ui/src/components}/Form.js +0 -0
  142. /package/dist/{components → packages/iryx-ui/src/components}/Form.vue_vue_type_script_setup_true_lang.js +0 -0
  143. /package/dist/{components → packages/iryx-ui/src/components}/FormField.js +0 -0
  144. /package/dist/{components → packages/iryx-ui/src/components}/Input.js +0 -0
  145. /package/dist/{components → packages/iryx-ui/src/components}/Input.vue_vue_type_script_setup_true_lang.js +0 -0
  146. /package/dist/{components → packages/iryx-ui/src/components}/Label.js +0 -0
  147. /package/dist/{components → packages/iryx-ui/src/components}/RadioGroup.js +0 -0
  148. /package/dist/{components → packages/iryx-ui/src/components}/RadioGroup.vue_vue_type_script_setup_true_lang.js +0 -0
  149. /package/dist/{components → packages/iryx-ui/src/components}/Select.js +0 -0
  150. /package/dist/{components → packages/iryx-ui/src/components}/Switch.js +0 -0
  151. /package/dist/{components → packages/iryx-ui/src/components}/Switch.vue_vue_type_script_setup_true_lang.js +0 -0
  152. /package/dist/{components → packages/iryx-ui/src/components}/Textarea.js +0 -0
  153. /package/dist/{components → packages/iryx-ui/src/components}/Textarea.vue_vue_type_script_setup_true_lang.js +0 -0
  154. /package/dist/{composables → packages/iryx-ui/src/composables}/form.js +0 -0
  155. /package/dist/{config.js → packages/iryx-ui/src/config.js} +0 -0
  156. /package/dist/{plugin.js → packages/iryx-ui/src/plugin.js} +0 -0
  157. /package/dist/{theme → packages/iryx-ui/src/theme}/alert.js +0 -0
  158. /package/dist/{theme → packages/iryx-ui/src/theme}/card.js +0 -0
  159. /package/dist/{theme → packages/iryx-ui/src/theme}/checkbox.js +0 -0
  160. /package/dist/{theme → packages/iryx-ui/src/theme}/input.js +0 -0
  161. /package/dist/{theme → packages/iryx-ui/src/theme}/presets.js +0 -0
  162. /package/dist/{theme → packages/iryx-ui/src/theme}/radio-group.js +0 -0
  163. /package/dist/{theme → packages/iryx-ui/src/theme}/select.js +0 -0
  164. /package/dist/{theme → packages/iryx-ui/src/theme}/switch.js +0 -0
@@ -0,0 +1,39 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import { buttonGroupContextKey as t } from "../composables/button-group.js";
3
+ import { buttonGroupTheme as n } from "../theme/button-group.js";
4
+ import { computed as r, createBlock as i, defineComponent as a, normalizeClass as o, openBlock as s, provide as c, renderSlot as l, unref as u, withCtx as d } from "vue";
5
+ import { Primitive as f } from "reka-ui";
6
+ //#region src/components/ButtonGroup.vue?vue&type=script&setup=true&lang.ts
7
+ var p = /*@__PURE__*/ a({
8
+ __name: "ButtonGroup",
9
+ props: {
10
+ as: { default: "div" },
11
+ orientation: {},
12
+ size: {},
13
+ block: { type: Boolean },
14
+ unstyled: {
15
+ type: Boolean,
16
+ default: void 0
17
+ },
18
+ class: {}
19
+ },
20
+ setup(a) {
21
+ let p = a;
22
+ c(t, { size: r(() => p.size) });
23
+ let m = e(), h = r(() => p.unstyled ?? m.unstyled), g = r(() => h.value ? p.class : n({
24
+ orientation: p.orientation,
25
+ block: p.block,
26
+ class: p.class
27
+ }));
28
+ return (e, t) => (s(), i(u(f), {
29
+ as: p.as,
30
+ role: "group",
31
+ class: o(g.value)
32
+ }, {
33
+ default: d(() => [l(e.$slots, "default")]),
34
+ _: 3
35
+ }, 8, ["as", "class"]));
36
+ }
37
+ });
38
+ //#endregion
39
+ export { p as default };
@@ -0,0 +1,92 @@
1
+ import { MinusSignIcon as e, Tick02Icon as t } from "../../../../node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js";
2
+ import { useIryxUiConfig as n } from "../config.js";
3
+ import r from "./Icon.js";
4
+ import { checkboxTheme as i } from "../theme/checkbox.js";
5
+ import { computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createTextVNode as u, createVNode as d, defineComponent as f, mergeProps as p, normalizeClass as m, openBlock as h, renderSlot as g, toDisplayString as _, unref as v, withCtx as y } from "vue";
6
+ import { CheckboxIndicator as b, CheckboxRoot as x, Label as S, useForwardPropsEmits as C, useId as w } from "reka-ui";
7
+ //#region src/components/Checkbox.vue?vue&type=script&setup=true&lang.ts
8
+ var T = ["id"], E = /*@__PURE__*/ f({
9
+ __name: "Checkbox",
10
+ props: {
11
+ label: {},
12
+ description: {},
13
+ size: {},
14
+ id: {},
15
+ unstyled: {
16
+ type: Boolean,
17
+ default: void 0
18
+ },
19
+ class: {},
20
+ ui: {},
21
+ defaultValue: {},
22
+ modelValue: {},
23
+ disabled: { type: Boolean },
24
+ value: {},
25
+ trueValue: {},
26
+ falseValue: {},
27
+ asChild: { type: Boolean },
28
+ as: {},
29
+ name: {},
30
+ required: { type: Boolean }
31
+ },
32
+ emits: ["update:modelValue"],
33
+ setup(f, { emit: E }) {
34
+ let D = f, O = E, k = C(a(() => {
35
+ let { label: e, description: t, size: n, id: r, unstyled: i, class: a, ui: o, ...s } = D;
36
+ return s;
37
+ }), O), A = w(), j = a(() => D.id ?? A), M = a(() => !!(D.label || D.description)), N = n(), P = a(() => D.unstyled ?? N.unstyled), F = a(() => i({
38
+ size: D.size,
39
+ withText: M.value
40
+ })), I = a(() => P.value ? D.ui?.wrapper : F.value.wrapper({ class: D.ui?.wrapper })), L = a(() => P.value ? [D.ui?.root, D.class] : F.value.root({ class: [D.ui?.root, D.class] })), R = a(() => P.value ? D.ui?.indicator : F.value.indicator({ class: D.ui?.indicator })), z = a(() => P.value ? D.ui?.content : F.value.content({ class: D.ui?.content })), B = a(() => P.value ? D.ui?.label : F.value.label({ class: D.ui?.label })), V = a(() => P.value ? D.ui?.description : F.value.description({ class: D.ui?.description }));
41
+ return (n, i) => M.value ? (h(), c("div", {
42
+ key: 0,
43
+ class: m(I.value)
44
+ }, [d(v(x), p({ id: j.value }, v(k), {
45
+ "aria-describedby": D.description ? `${j.value}-description` : void 0,
46
+ class: L.value
47
+ }), {
48
+ default: y(() => [d(v(b), { class: m(R.value) }, {
49
+ default: y(() => [g(n.$slots, "default", {}, () => [D.modelValue === "indeterminate" ? (h(), o(r, {
50
+ key: 0,
51
+ icon: v(e)
52
+ }, null, 8, ["icon"])) : (h(), o(r, {
53
+ key: 1,
54
+ icon: v(t)
55
+ }, null, 8, ["icon"]))])]),
56
+ _: 3
57
+ }, 8, ["class"])]),
58
+ _: 3
59
+ }, 16, [
60
+ "id",
61
+ "aria-describedby",
62
+ "class"
63
+ ]), l("div", { class: m(z.value) }, [d(v(S), {
64
+ for: j.value,
65
+ class: m(B.value)
66
+ }, {
67
+ default: y(() => [g(n.$slots, "label", {}, () => [u(_(D.label), 1)])]),
68
+ _: 3
69
+ }, 8, ["for", "class"]), D.description || n.$slots.description ? (h(), c("p", {
70
+ key: 0,
71
+ id: `${j.value}-description`,
72
+ class: m(V.value)
73
+ }, [g(n.$slots, "description", {}, () => [u(_(D.description), 1)])], 10, T)) : s("", !0)], 2)], 2)) : (h(), o(v(x), p({
74
+ key: 1,
75
+ id: D.id
76
+ }, v(k), { class: L.value }), {
77
+ default: y(() => [d(v(b), { class: m(R.value) }, {
78
+ default: y(() => [g(n.$slots, "default", {}, () => [D.modelValue === "indeterminate" ? (h(), o(r, {
79
+ key: 0,
80
+ icon: v(e)
81
+ }, null, 8, ["icon"])) : (h(), o(r, {
82
+ key: 1,
83
+ icon: v(t)
84
+ }, null, 8, ["icon"]))])]),
85
+ _: 3
86
+ }, 8, ["class"])]),
87
+ _: 3
88
+ }, 16, ["id", "class"]));
89
+ }
90
+ });
91
+ //#endregion
92
+ export { E as default };
@@ -0,0 +1,5 @@
1
+ import e from "./ConfirmDialog.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/ConfirmDialog.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,63 @@
1
+ import e from "./Button.js";
2
+ import { resolveConfirm as t, useConfirmState as n } from "../composables/confirm.js";
3
+ import r from "./Dialog.js";
4
+ import { computed as i, createBlock as a, createCommentVNode as o, createTextVNode as s, createVNode as c, defineComponent as l, normalizeClass as u, openBlock as d, toDisplayString as f, unref as p, withCtx as m } from "vue";
5
+ //#region src/components/ConfirmDialog.vue?vue&type=script&setup=true&lang.ts
6
+ var h = /*@__PURE__*/ l({
7
+ __name: "ConfirmDialog",
8
+ props: {
9
+ confirmLabel: { default: "Confirm" },
10
+ cancelLabel: { default: "Cancel" },
11
+ size: { default: "sm" },
12
+ unstyled: {
13
+ type: Boolean,
14
+ default: void 0
15
+ },
16
+ class: {}
17
+ },
18
+ setup(l) {
19
+ let h = l, g = n(), _ = i({
20
+ get: () => g.value != null,
21
+ set: (e) => {
22
+ e || t(!1);
23
+ }
24
+ });
25
+ return (n, i) => p(g) ? (d(), a(r, {
26
+ key: 0,
27
+ open: _.value,
28
+ "onUpdate:open": i[2] ||= (e) => _.value = e,
29
+ title: p(g).title,
30
+ description: p(g).description,
31
+ size: h.size,
32
+ "close-label": p(g).cancelLabel ?? h.cancelLabel,
33
+ "show-close": !1,
34
+ unstyled: h.unstyled,
35
+ class: u(h.class)
36
+ }, {
37
+ footer: m(() => [c(e, {
38
+ variant: "outline",
39
+ onClick: i[0] ||= (e) => p(t)(!1)
40
+ }, {
41
+ default: m(() => [s(f(p(g).cancelLabel ?? h.cancelLabel), 1)]),
42
+ _: 1
43
+ }), c(e, {
44
+ class: u(p(g).danger ? "bg-danger bg-none text-danger-foreground hover:brightness-110" : void 0),
45
+ onClick: i[1] ||= (e) => p(t)(!0)
46
+ }, {
47
+ default: m(() => [s(f(p(g).confirmLabel ?? h.confirmLabel), 1)]),
48
+ _: 1
49
+ }, 8, ["class"])]),
50
+ _: 1
51
+ }, 8, [
52
+ "open",
53
+ "title",
54
+ "description",
55
+ "size",
56
+ "close-label",
57
+ "unstyled",
58
+ "class"
59
+ ])) : o("", !0);
60
+ }
61
+ });
62
+ //#endregion
63
+ export { h as default };
@@ -0,0 +1,5 @@
1
+ import e from "./Dialog.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Dialog.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,99 @@
1
+ import { Cancel01Icon as e } from "../../../../node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js";
2
+ import { useIryxUiConfig as t } from "../config.js";
3
+ import n from "./Icon.js";
4
+ import { dialogTheme as r } from "../theme/dialog.js";
5
+ import { computed as i, createBlock as a, createCommentVNode as o, createElementBlock as s, createElementVNode as c, createTextVNode as l, createVNode as u, defineComponent as d, mergeModels as f, normalizeClass as p, openBlock as m, renderSlot as h, toDisplayString as g, unref as _, useModel as v, withCtx as y } from "vue";
6
+ import { DialogContent as b, DialogDescription as x, DialogOverlay as S, DialogPortal as C, DialogRoot as w, DialogTitle as T, DialogTrigger as E, VisuallyHidden as D } from "reka-ui";
7
+ //#region src/components/Dialog.vue?vue&type=script&setup=true&lang.ts
8
+ var O = ["aria-label"], k = /*@__PURE__*/ d({
9
+ __name: "Dialog",
10
+ props: /*@__PURE__*/ f({
11
+ title: {},
12
+ description: {},
13
+ size: {},
14
+ dismissible: {
15
+ type: Boolean,
16
+ default: !0
17
+ },
18
+ showClose: {
19
+ type: Boolean,
20
+ default: !0
21
+ },
22
+ closeLabel: { default: "Close" },
23
+ unstyled: {
24
+ type: Boolean,
25
+ default: void 0
26
+ },
27
+ class: {},
28
+ ui: {}
29
+ }, {
30
+ open: {
31
+ type: Boolean,
32
+ default: !1
33
+ },
34
+ openModifiers: {}
35
+ }),
36
+ emits: ["update:open"],
37
+ setup(d) {
38
+ let f = d, k = v(d, "open"), A = t(), j = i(() => f.unstyled ?? A.unstyled), M = i(() => r({ size: f.size })), N = i(() => j.value ? f.ui?.overlay : M.value.overlay({ class: f.ui?.overlay })), P = i(() => j.value ? [f.ui?.content, f.class] : M.value.content({ class: [f.ui?.content, f.class] })), F = i(() => j.value ? f.ui?.header : M.value.header({ class: f.ui?.header })), I = i(() => j.value ? f.ui?.title : M.value.title({ class: f.ui?.title })), L = i(() => j.value ? f.ui?.description : M.value.description({ class: f.ui?.description })), R = i(() => j.value ? f.ui?.body : M.value.body({ class: f.ui?.body })), z = i(() => j.value ? f.ui?.footer : M.value.footer({ class: f.ui?.footer })), B = i(() => j.value ? f.ui?.close : M.value.close({ class: f.ui?.close }));
39
+ function V(e) {
40
+ !e && !f.dismissible || (k.value = e);
41
+ }
42
+ function H() {
43
+ k.value = !1;
44
+ }
45
+ return (t, r) => (m(), a(_(w), {
46
+ open: k.value,
47
+ "onUpdate:open": V
48
+ }, {
49
+ default: y(() => [t.$slots.trigger ? (m(), a(_(E), {
50
+ key: 0,
51
+ "as-child": ""
52
+ }, {
53
+ default: y(() => [h(t.$slots, "trigger")]),
54
+ _: 3
55
+ })) : o("", !0), u(_(C), null, {
56
+ default: y(() => [u(_(S), { class: p(N.value) }, null, 8, ["class"]), u(_(b), { class: p(P.value) }, {
57
+ default: y(() => [
58
+ f.title || f.description || t.$slots.header ? (m(), s("div", {
59
+ key: 0,
60
+ class: p(F.value)
61
+ }, [h(t.$slots, "header", {}, () => [u(_(T), { class: p(I.value) }, {
62
+ default: y(() => [h(t.$slots, "title", {}, () => [l(g(f.title), 1)])]),
63
+ _: 3
64
+ }, 8, ["class"]), f.description || t.$slots.description ? (m(), a(_(x), {
65
+ key: 0,
66
+ class: p(L.value)
67
+ }, {
68
+ default: y(() => [h(t.$slots, "description", {}, () => [l(g(f.description), 1)])]),
69
+ _: 3
70
+ }, 8, ["class"])) : o("", !0)])], 2)) : (m(), a(_(D), { key: 1 }, {
71
+ default: y(() => [u(_(T), null, {
72
+ default: y(() => [l(g(f.closeLabel), 1)]),
73
+ _: 1
74
+ })]),
75
+ _: 1
76
+ })),
77
+ c("div", { class: p(R.value) }, [h(t.$slots, "default")], 2),
78
+ t.$slots.footer ? (m(), s("div", {
79
+ key: 2,
80
+ class: p(z.value)
81
+ }, [h(t.$slots, "footer", { close: H })], 2)) : o("", !0),
82
+ f.showClose ? (m(), s("button", {
83
+ key: 3,
84
+ type: "button",
85
+ "aria-label": f.closeLabel,
86
+ class: p(B.value),
87
+ onClick: H
88
+ }, [u(n, { icon: _(e) }, null, 8, ["icon"])], 10, O)) : o("", !0)
89
+ ]),
90
+ _: 3
91
+ }, 8, ["class"])]),
92
+ _: 3
93
+ })]),
94
+ _: 3
95
+ }, 8, ["open"]));
96
+ }
97
+ });
98
+ //#endregion
99
+ export { k as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DropdownMenu.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/DropdownMenu.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,67 @@
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, mergeModels as s, normalizeClass as c, openBlock as l, renderSlot as u, unref as d, useModel as f, withCtx as p } from "vue";
5
+ import { DropdownMenuContent as m, DropdownMenuPortal as h, DropdownMenuRoot as g, DropdownMenuTrigger as _ } from "reka-ui";
6
+ //#region src/components/DropdownMenu.vue?vue&type=script&setup=true&lang.ts
7
+ var v = /*@__PURE__*/ o({
8
+ __name: "DropdownMenu",
9
+ props: /*@__PURE__*/ s({
10
+ items: {},
11
+ align: { default: "start" },
12
+ side: {},
13
+ sideOffset: { default: 4 },
14
+ unstyled: {
15
+ type: Boolean,
16
+ default: void 0
17
+ },
18
+ class: {},
19
+ ui: {}
20
+ }, {
21
+ open: {
22
+ type: Boolean,
23
+ default: !1
24
+ },
25
+ openModifiers: {}
26
+ }),
27
+ emits: ["update:open"],
28
+ setup(o) {
29
+ let s = o, v = f(o, "open"), y = e(), b = r(() => s.unstyled ?? y.unstyled), x = r(() => s.items ?? []), S = r(() => b.value ? [s.ui?.content, s.class] : t().content({ class: [s.ui?.content, s.class] }));
30
+ return (e, t) => (l(), i(d(g), {
31
+ open: v.value,
32
+ "onUpdate:open": t[0] ||= (e) => v.value = e
33
+ }, {
34
+ default: p(() => [a(d(_), { "as-child": "" }, {
35
+ default: p(() => [u(e.$slots, "trigger")]),
36
+ _: 3
37
+ }), a(d(h), null, {
38
+ default: p(() => [a(d(m), {
39
+ align: s.align,
40
+ side: s.side,
41
+ "side-offset": s.sideOffset,
42
+ class: c(S.value)
43
+ }, {
44
+ default: p(() => [u(e.$slots, "default", {}, () => [a(n, {
45
+ entries: x.value,
46
+ unstyled: b.value,
47
+ ui: s.ui
48
+ }, null, 8, [
49
+ "entries",
50
+ "unstyled",
51
+ "ui"
52
+ ])])]),
53
+ _: 3
54
+ }, 8, [
55
+ "align",
56
+ "side",
57
+ "side-offset",
58
+ "class"
59
+ ])]),
60
+ _: 3
61
+ })]),
62
+ _: 3
63
+ }, 8, ["open"]));
64
+ }
65
+ });
66
+ //#endregion
67
+ export { v as default };
@@ -0,0 +1,5 @@
1
+ import e from "./DropdownMenuItems.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/DropdownMenuItems.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,92 @@
1
+ import { ArrowRight01Icon as e } from "../../../../node_modules/.pnpm/@hugeicons_core-free-icons@4.2.3/node_modules/@hugeicons/core-free-icons/dist/esm/index.js";
2
+ import t from "./Icon.js";
3
+ import { dropdownMenuTheme as n } from "../theme/dropdown-menu.js";
4
+ import { isSeparator as r, isSubmenu as i } from "../composables/dropdown-menu.js";
5
+ import { Fragment as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createTextVNode as l, createVNode as u, defineComponent as d, normalizeClass as f, openBlock as p, renderList as m, resolveComponent as h, toDisplayString as g, unref as _, withCtx as v } from "vue";
6
+ import { DropdownMenuItem as y, DropdownMenuLabel as b, DropdownMenuPortal as x, DropdownMenuSeparator as S, DropdownMenuSub as C, DropdownMenuSubContent as w, DropdownMenuSubTrigger as T } from "reka-ui";
7
+ //#region src/components/DropdownMenuItems.vue?vue&type=script&setup=true&lang.ts
8
+ var E = /*@__PURE__*/ d({
9
+ __name: "DropdownMenuItems",
10
+ props: {
11
+ entries: {},
12
+ unstyled: {
13
+ type: Boolean,
14
+ default: void 0
15
+ },
16
+ ui: {}
17
+ },
18
+ setup(d) {
19
+ let E = d;
20
+ function D(e, t) {
21
+ let r = E.ui?.[e];
22
+ return E.unstyled ? r : n({ danger: t })[e]({ class: r });
23
+ }
24
+ let O = E.unstyled ? void 0 : n().subTriggerIcon();
25
+ return (n, d) => {
26
+ let k = h("DropdownMenuItems", !0);
27
+ return p(!0), c(a, null, m(E.entries, (n, d) => (p(), c(a, { key: d }, [_(r)(n) ? (p(), o(_(S), {
28
+ key: 0,
29
+ class: f(D("separator"))
30
+ }, null, 8, ["class"])) : _(i)(n) ? (p(), o(_(C), { key: 1 }, {
31
+ default: v(() => [u(_(T), {
32
+ disabled: n.disabled,
33
+ class: f(D("subTrigger"))
34
+ }, {
35
+ default: v(() => [
36
+ n.icon ? (p(), o(t, {
37
+ key: 0,
38
+ icon: n.icon
39
+ }, null, 8, ["icon"])) : s("", !0),
40
+ l(" " + g(n.label) + " ", 1),
41
+ u(t, {
42
+ icon: _(e),
43
+ class: f(_(O))
44
+ }, null, 8, ["icon", "class"])
45
+ ]),
46
+ _: 2
47
+ }, 1032, ["disabled", "class"]), u(_(x), null, {
48
+ default: v(() => [u(_(w), {
49
+ class: f(D("subContent")),
50
+ "side-offset": 4
51
+ }, {
52
+ default: v(() => [u(k, {
53
+ entries: n.items,
54
+ unstyled: E.unstyled,
55
+ ui: E.ui
56
+ }, null, 8, [
57
+ "entries",
58
+ "unstyled",
59
+ "ui"
60
+ ])]),
61
+ _: 2
62
+ }, 1032, ["class"])]),
63
+ _: 2
64
+ }, 1024)]),
65
+ _: 2
66
+ }, 1024)) : n.onSelect ? (p(), o(_(y), {
67
+ key: 3,
68
+ disabled: n.disabled,
69
+ class: f(D("item", n.danger)),
70
+ onSelect: n.onSelect
71
+ }, {
72
+ default: v(() => [n.icon ? (p(), o(t, {
73
+ key: 0,
74
+ icon: n.icon
75
+ }, null, 8, ["icon"])) : s("", !0), l(" " + g(n.label), 1)]),
76
+ _: 2
77
+ }, 1032, [
78
+ "disabled",
79
+ "class",
80
+ "onSelect"
81
+ ])) : (p(), o(_(b), {
82
+ key: 2,
83
+ class: f(D("label"))
84
+ }, {
85
+ default: v(() => [l(g(n.label), 1)]),
86
+ _: 2
87
+ }, 1032, ["class"]))], 64))), 128);
88
+ };
89
+ }
90
+ });
91
+ //#endregion
92
+ export { E as default };
@@ -0,0 +1,5 @@
1
+ import e from "./EmptyState.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/EmptyState.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,55 @@
1
+ import { useIryxUiConfig as e } from "../config.js";
2
+ import t from "./Icon.js";
3
+ import { emptyStateTheme as n } from "../theme/empty-state.js";
4
+ import { computed as r, createBlock as i, createCommentVNode as a, createElementBlock as o, createTextVNode as s, createVNode as c, defineComponent as l, normalizeClass as u, openBlock as d, renderSlot as f, toDisplayString as p, unref as m, withCtx as h } from "vue";
5
+ import { Primitive as g } from "reka-ui";
6
+ //#region src/components/EmptyState.vue?vue&type=script&setup=true&lang.ts
7
+ var _ = /*@__PURE__*/ l({
8
+ __name: "EmptyState",
9
+ props: {
10
+ as: { default: "div" },
11
+ icon: {
12
+ type: [Array, Boolean],
13
+ default: void 0
14
+ },
15
+ title: {},
16
+ description: {},
17
+ size: {},
18
+ unstyled: {
19
+ type: Boolean,
20
+ default: void 0
21
+ },
22
+ class: {},
23
+ ui: {}
24
+ },
25
+ setup(l) {
26
+ let _ = l, v = e(), y = r(() => _.unstyled ?? v.unstyled), b = r(() => _.icon === !1 ? void 0 : _.icon), x = r(() => n({ size: _.size })), S = r(() => y.value ? [_.ui?.root, _.class] : x.value.root({ class: [_.ui?.root, _.class] })), C = r(() => y.value ? _.ui?.icon : x.value.icon({ class: _.ui?.icon })), w = r(() => y.value ? _.ui?.title : x.value.title({ class: _.ui?.title })), T = r(() => y.value ? _.ui?.description : x.value.description({ class: _.ui?.description })), E = r(() => y.value ? _.ui?.actions : x.value.actions({ class: _.ui?.actions }));
27
+ return (e, n) => (d(), i(m(g), {
28
+ as: _.as,
29
+ class: u(S.value)
30
+ }, {
31
+ default: h(() => [
32
+ b.value || e.$slots.icon ? (d(), o("div", {
33
+ key: 0,
34
+ class: u(C.value)
35
+ }, [f(e.$slots, "icon", {}, () => [c(t, { icon: b.value }, null, 8, ["icon"])])], 2)) : a("", !0),
36
+ _.title || e.$slots.title ? (d(), o("p", {
37
+ key: 1,
38
+ class: u(w.value)
39
+ }, [f(e.$slots, "title", {}, () => [s(p(_.title), 1)])], 2)) : a("", !0),
40
+ _.description || e.$slots.description ? (d(), o("p", {
41
+ key: 2,
42
+ class: u(T.value)
43
+ }, [f(e.$slots, "description", {}, () => [s(p(_.description), 1)])], 2)) : a("", !0),
44
+ f(e.$slots, "default"),
45
+ e.$slots.actions ? (d(), o("div", {
46
+ key: 3,
47
+ class: u(E.value)
48
+ }, [f(e.$slots, "actions")], 2)) : a("", !0)
49
+ ]),
50
+ _: 3
51
+ }, 8, ["as", "class"]));
52
+ }
53
+ });
54
+ //#endregion
55
+ export { _ as default };
@@ -15,6 +15,7 @@ var x = ["data-iryx-field"], S = ["id"], C = ["id"], w = ["id"], T = /*@__PURE__
15
15
  help: {},
16
16
  required: { type: Boolean },
17
17
  error: {},
18
+ indent: {},
18
19
  unstyled: {
19
20
  type: Boolean,
20
21
  default: void 0
@@ -35,9 +36,9 @@ var x = ["data-iryx-field"], S = ["id"], C = ["id"], w = ["id"], T = /*@__PURE__
35
36
  function A() {
36
37
  !T.name || !E || E.validateOn.value.includes("blur") && E.validateField(T.name);
37
38
  }
38
- let j = e(), M = o(() => T.unstyled ?? j.unstyled), N = i();
39
+ let j = e(), M = o(() => T.unstyled ?? j.unstyled), N = o(() => i({ indent: T.indent }));
39
40
  function P(e, t) {
40
- return M.value ? t : N[e]({ class: t });
41
+ return M.value ? t : N.value[e]({ class: t });
41
42
  }
42
43
  return m(t, {
43
44
  id: o(() => D),
@@ -46,7 +47,7 @@ var x = ["data-iryx-field"], S = ["id"], C = ["id"], w = ["id"], T = /*@__PURE__
46
47
  describedBy: k
47
48
  }), (e, t) => (p(), l("div", {
48
49
  "data-iryx-field": T.name,
49
- class: f(M.value ? T.class : _(N).root({ class: [T.ui?.root, T.class] })),
50
+ class: f(M.value ? T.class : N.value.root({ class: [T.ui?.root, T.class] })),
50
51
  onFocusout: A
51
52
  }, [
52
53
  T.label || T.hint || e.$slots.hint ? (p(), l("div", {
@@ -56,6 +57,7 @@ var x = ["data-iryx-field"], S = ["id"], C = ["id"], w = ["id"], T = /*@__PURE__
56
57
  key: 0,
57
58
  for: _(D),
58
59
  required: T.required,
60
+ indent: "none",
59
61
  class: f(T.ui?.label)
60
62
  }, {
61
63
  default: y(() => [u(g(T.label), 1)]),
@@ -0,0 +1,5 @@
1
+ import e from "./Icon.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Icon.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };
@@ -0,0 +1,26 @@
1
+ import { HugeiconsIcon as e } from "../../../../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";
2
+ import { isIconArray as t } from "../composables/icon.js";
3
+ import { computed as n, createBlock as r, createCommentVNode as i, defineComponent as a, normalizeClass as o, openBlock as s, resolveDynamicComponent as c, unref as l } from "vue";
4
+ //#region src/components/Icon.vue?vue&type=script&setup=true&lang.ts
5
+ var u = /*@__PURE__*/ a({
6
+ __name: "Icon",
7
+ props: {
8
+ icon: {},
9
+ class: {}
10
+ },
11
+ setup(a) {
12
+ let u = a, d = n(() => u.icon && t(u.icon) ? u.icon : void 0);
13
+ return (t, n) => d.value ? (s(), r(l(e), {
14
+ key: 0,
15
+ icon: d.value,
16
+ class: o(u.class),
17
+ "aria-hidden": "true"
18
+ }, null, 8, ["icon", "class"])) : u.icon ? (s(), r(c(u.icon), {
19
+ key: 1,
20
+ class: o(u.class),
21
+ "aria-hidden": "true"
22
+ }, null, 8, ["class"])) : i("", !0);
23
+ }
24
+ });
25
+ //#endregion
26
+ export { u as default };
@@ -7,6 +7,7 @@ var d = /*@__PURE__*/ i({
7
7
  __name: "Label",
8
8
  props: {
9
9
  required: { type: Boolean },
10
+ indent: {},
10
11
  unstyled: {
11
12
  type: Boolean,
12
13
  default: void 0
@@ -19,6 +20,7 @@ var d = /*@__PURE__*/ i({
19
20
  setup(i) {
20
21
  let d = i, f = e(), p = n(() => d.unstyled ?? f.unstyled), m = n(() => p.value ? d.class : t({
21
22
  required: d.required,
23
+ indent: d.indent,
22
24
  class: d.class
23
25
  }));
24
26
  return (e, t) => (o(), r(c(u), {
@@ -0,0 +1,5 @@
1
+ import e from "./Pagination.vue_vue_type_script_setup_true_lang.js";
2
+ //#region src/components/Pagination.vue
3
+ var t = e;
4
+ //#endregion
5
+ export { t as default };