@mudakit/ui 0.1.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 (157) hide show
  1. package/CHANGELOG.md +7 -0
  2. package/LICENSE +21 -0
  3. package/README.md +46 -0
  4. package/THIRD_PARTY_LICENSES +15 -0
  5. package/dist/MudaButton-Bw6Fw2-Y.js +42 -0
  6. package/dist/MudaButtonStack-xCMVwXHf.js +16 -0
  7. package/dist/MudaCalendar-f1lHTxVw.js +593 -0
  8. package/dist/MudaCard-C9geam4O.js +10 -0
  9. package/dist/MudaColorPicker-Ny8v-KZR.js +134 -0
  10. package/dist/MudaDialog-C6dOmY_K.js +105 -0
  11. package/dist/MudaDropdown-DJOG_m6C.js +54 -0
  12. package/dist/MudaErrorBox-C0DvbAfU.js +28 -0
  13. package/dist/MudaFormCheckbox-CDY-INi6.js +43 -0
  14. package/dist/MudaFormCombobox-CBaRBOKQ.js +186 -0
  15. package/dist/MudaFormField-Bt5W7NC1.js +42 -0
  16. package/dist/MudaFormInput-CI_xfpTj.js +56 -0
  17. package/dist/MudaFormRadio-DOXXv3mT.js +21 -0
  18. package/dist/MudaFormRadioGroup-45qiNrzt.js +48 -0
  19. package/dist/MudaFormSelect-Bt6EW1N-.js +28 -0
  20. package/dist/MudaFormSwitch-CtdB9qIP.js +33 -0
  21. package/dist/MudaFormText-s-Y3QoDX.js +23 -0
  22. package/dist/MudaIcon-BhSsLCZx.js +1886 -0
  23. package/dist/MudaIconPicker-CZWLPHbE.js +114 -0
  24. package/dist/MudaMarker-1xxDZJgb.js +24 -0
  25. package/dist/MudaPagination-BYyElnCp.js +119 -0
  26. package/dist/MudaPopover-BgwkVjjX.js +67 -0
  27. package/dist/MudaSpinner-C5_q8Vtn.js +26 -0
  28. package/dist/MudaTable-DWwTyMmj.js +33 -0
  29. package/dist/MudaTag-DLqit790.js +27 -0
  30. package/dist/_plugin-vue_export-helper-B3ysoDQm.js +8 -0
  31. package/dist/common/components.d.ts +3 -0
  32. package/dist/common/keymap.d.ts +9 -0
  33. package/dist/common/range.d.ts +1 -0
  34. package/dist/components/MudaButton/MudaButton.vue.d.ts +25 -0
  35. package/dist/components/MudaButton/index.d.ts +1 -0
  36. package/dist/components/MudaButton/index.js +2 -0
  37. package/dist/components/MudaButtonStack/MudaButtonStack.vue.d.ts +16 -0
  38. package/dist/components/MudaButtonStack/index.d.ts +1 -0
  39. package/dist/components/MudaButtonStack/index.js +2 -0
  40. package/dist/components/MudaCalendar/MudaCalendar.dayjs.d.ts +3 -0
  41. package/dist/components/MudaCalendar/MudaCalendar.types.d.ts +30 -0
  42. package/dist/components/MudaCalendar/MudaCalendar.vue.d.ts +27 -0
  43. package/dist/components/MudaCalendar/MudaCalendarDatePicker.vue.d.ts +22 -0
  44. package/dist/components/MudaCalendar/MudaCalendarDays.vue.d.ts +25 -0
  45. package/dist/components/MudaCalendar/MudaCalendarHead.vue.d.ts +21 -0
  46. package/dist/components/MudaCalendar/MudaCalendarInput.vue.d.ts +25 -0
  47. package/dist/components/MudaCalendar/MudaCalendarMonths.vue.d.ts +27 -0
  48. package/dist/components/MudaCalendar/MudaCalendarWeekDays.vue.d.ts +9 -0
  49. package/dist/components/MudaCalendar/MudaCalendarYears.vue.d.ts +27 -0
  50. package/dist/components/MudaCalendar/index.d.ts +4 -0
  51. package/dist/components/MudaCalendar/index.js +2 -0
  52. package/dist/components/MudaCalendar/useMudaCalendar.d.ts +18 -0
  53. package/dist/components/MudaCard/MudaCard.vue.d.ts +13 -0
  54. package/dist/components/MudaCard/index.d.ts +1 -0
  55. package/dist/components/MudaCard/index.js +2 -0
  56. package/dist/components/MudaColorPicker/MudaColorPicker.vue.d.ts +21 -0
  57. package/dist/components/MudaColorPicker/MudaColorPickerControl.vue.d.ts +18 -0
  58. package/dist/components/MudaColorPicker/index.d.ts +2 -0
  59. package/dist/components/MudaColorPicker/index.js +2 -0
  60. package/dist/components/MudaDialog/MudaDialog.vue.d.ts +20 -0
  61. package/dist/components/MudaDialog/MudaDialogFocusTrap.vue.d.ts +18 -0
  62. package/dist/components/MudaDialog/index.d.ts +1 -0
  63. package/dist/components/MudaDialog/index.js +2 -0
  64. package/dist/components/MudaDropdown/MudaDropdown.types.d.ts +8 -0
  65. package/dist/components/MudaDropdown/MudaDropdown.vue.d.ts +33 -0
  66. package/dist/components/MudaDropdown/index.d.ts +2 -0
  67. package/dist/components/MudaDropdown/index.js +2 -0
  68. package/dist/components/MudaErrorBox/MudaErrorBox.vue.d.ts +9 -0
  69. package/dist/components/MudaErrorBox/index.d.ts +1 -0
  70. package/dist/components/MudaErrorBox/index.js +2 -0
  71. package/dist/components/MudaFormCheckbox/MudaFormCheckbox.types.d.ts +1 -0
  72. package/dist/components/MudaFormCheckbox/MudaFormCheckbox.vue.d.ts +18 -0
  73. package/dist/components/MudaFormCheckbox/index.d.ts +2 -0
  74. package/dist/components/MudaFormCheckbox/index.js +2 -0
  75. package/dist/components/MudaFormCombobox/MudaFormCombobox.types.d.ts +5 -0
  76. package/dist/components/MudaFormCombobox/MudaFormComboboxMultiple.vue.d.ts +32 -0
  77. package/dist/components/MudaFormCombobox/MudaFormComboboxSingle.vue.d.ts +34 -0
  78. package/dist/components/MudaFormCombobox/index.d.ts +3 -0
  79. package/dist/components/MudaFormCombobox/index.js +2 -0
  80. package/dist/components/MudaFormField/MudaFormField.vue.d.ts +31 -0
  81. package/dist/components/MudaFormField/MudaFormFieldErrors.vue.d.ts +8 -0
  82. package/dist/components/MudaFormField/index.d.ts +2 -0
  83. package/dist/components/MudaFormField/index.js +2 -0
  84. package/dist/components/MudaFormInput/MudaFormInput.types.d.ts +5 -0
  85. package/dist/components/MudaFormInput/MudaFormInput.vue.d.ts +31 -0
  86. package/dist/components/MudaFormInput/index.d.ts +2 -0
  87. package/dist/components/MudaFormInput/index.js +2 -0
  88. package/dist/components/MudaFormRadio/MudaFormRadio.types.d.ts +1 -0
  89. package/dist/components/MudaFormRadio/MudaFormRadio.vue.d.ts +11 -0
  90. package/dist/components/MudaFormRadio/index.d.ts +2 -0
  91. package/dist/components/MudaFormRadio/index.js +2 -0
  92. package/dist/components/MudaFormRadioGroup/MudaFormRadioGroup.types.d.ts +7 -0
  93. package/dist/components/MudaFormRadioGroup/MudaFormRadioGroup.vue.d.ts +34 -0
  94. package/dist/components/MudaFormRadioGroup/index.d.ts +2 -0
  95. package/dist/components/MudaFormRadioGroup/index.js +2 -0
  96. package/dist/components/MudaFormSelect/MudaFormSelect.vue.d.ts +24 -0
  97. package/dist/components/MudaFormSelect/index.d.ts +1 -0
  98. package/dist/components/MudaFormSelect/index.js +2 -0
  99. package/dist/components/MudaFormSwitch/MudaFormSwitch.vue.d.ts +14 -0
  100. package/dist/components/MudaFormSwitch/index.d.ts +1 -0
  101. package/dist/components/MudaFormSwitch/index.js +2 -0
  102. package/dist/components/MudaFormText/MudaFormText.types.d.ts +4 -0
  103. package/dist/components/MudaFormText/MudaFormText.vue.d.ts +13 -0
  104. package/dist/components/MudaFormText/index.d.ts +2 -0
  105. package/dist/components/MudaFormText/index.js +2 -0
  106. package/dist/components/MudaIcon/MudaIcon.types.d.ts +5 -0
  107. package/dist/components/MudaIcon/MudaIcon.vue.d.ts +13 -0
  108. package/dist/components/MudaIcon/icons/filled.d.ts +100 -0
  109. package/dist/components/MudaIcon/icons/index.d.ts +2 -0
  110. package/dist/components/MudaIcon/icons/outlined.d.ts +100 -0
  111. package/dist/components/MudaIcon/index.d.ts +3 -0
  112. package/dist/components/MudaIcon/index.js +2 -0
  113. package/dist/components/MudaIcon/useMudaIcon.d.ts +109 -0
  114. package/dist/components/MudaIconPicker/MudaIconPicker.vue.d.ts +24 -0
  115. package/dist/components/MudaIconPicker/MudaIconPickerList.vue.d.ts +16 -0
  116. package/dist/components/MudaIconPicker/index.d.ts +1 -0
  117. package/dist/components/MudaIconPicker/index.js +2 -0
  118. package/dist/components/MudaIconPicker/useMudaIconPickerList.d.ts +3 -0
  119. package/dist/components/MudaMarker/MudaMarker.vue.d.ts +22 -0
  120. package/dist/components/MudaMarker/index.d.ts +1 -0
  121. package/dist/components/MudaMarker/index.js +2 -0
  122. package/dist/components/MudaPagination/MudaPagination.vue.d.ts +29 -0
  123. package/dist/components/MudaPagination/MudaPaginationItem.vue.d.ts +17 -0
  124. package/dist/components/MudaPagination/index.d.ts +1 -0
  125. package/dist/components/MudaPagination/index.js +2 -0
  126. package/dist/components/MudaPopover/MudaPopover.types.d.ts +3 -0
  127. package/dist/components/MudaPopover/MudaPopover.vue.d.ts +37 -0
  128. package/dist/components/MudaPopover/index.d.ts +2 -0
  129. package/dist/components/MudaPopover/index.js +2 -0
  130. package/dist/components/MudaSpinner/MudaSpinner.vue.d.ts +11 -0
  131. package/dist/components/MudaSpinner/index.d.ts +1 -0
  132. package/dist/components/MudaSpinner/index.js +2 -0
  133. package/dist/components/MudaTable/MudaTable.vue.d.ts +19 -0
  134. package/dist/components/MudaTable/MudaTableCell.vue.d.ts +13 -0
  135. package/dist/components/MudaTable/MudaTableHead.vue.d.ts +13 -0
  136. package/dist/components/MudaTable/MudaTableRow.vue.d.ts +13 -0
  137. package/dist/components/MudaTable/index.d.ts +4 -0
  138. package/dist/components/MudaTable/index.js +2 -0
  139. package/dist/components/MudaTag/MudaTag.vue.d.ts +21 -0
  140. package/dist/components/MudaTag/index.d.ts +1 -0
  141. package/dist/components/MudaTag/index.js +2 -0
  142. package/dist/composables/useBodyScrollLock.d.ts +2 -0
  143. package/dist/composables/useClickOutside.d.ts +2 -0
  144. package/dist/composables/useFocusTrap.d.ts +5 -0
  145. package/dist/composables/useKeyDown.d.ts +1 -0
  146. package/dist/composables/useResizeObserver.d.ts +2 -0
  147. package/dist/composables/useZIndex.d.ts +1 -0
  148. package/dist/index.d.ts +25 -0
  149. package/dist/index.js +26 -0
  150. package/dist/keymap-BzfMgdJH.js +6 -0
  151. package/dist/style.css +2 -0
  152. package/dist/styles.js +0 -0
  153. package/dist/useClickOutside-B6tdxsc3.js +15 -0
  154. package/dist/useKeyDown-B1jmp4nA.js +11 -0
  155. package/dist/useZIndex-DWnsohLZ.js +8 -0
  156. package/package.json +79 -0
  157. package/style.css.d.ts +3 -0
@@ -0,0 +1,593 @@
1
+ import { t as e } from "./keymap-BzfMgdJH.js";
2
+ import { t } from "./MudaIcon-BhSsLCZx.js";
3
+ import { t as n } from "./MudaFormInput-CI_xfpTj.js";
4
+ import { t as r } from "./MudaPopover-BgwkVjjX.js";
5
+ import { Fragment as i, computed as a, createBlock as o, createCommentVNode as s, createElementBlock as c, createElementVNode as l, createSlots as u, createTextVNode as d, createVNode as f, defineComponent as p, mergeModels as m, mergeProps as h, normalizeClass as g, openBlock as _, ref as v, renderList as y, toDisplayString as b, toRefs as x, unref as S, useModel as C, useTemplateRef as w, vModelText as T, watch as E, withCtx as D, withDirectives as O, withModifiers as k } from "vue";
6
+ import A from "dayjs";
7
+ import j from "dayjs/plugin/customParseFormat.js";
8
+ import M from "dayjs/plugin/isBetween.js";
9
+ import N from "dayjs/plugin/isSameOrAfter.js";
10
+ import ee from "dayjs/plugin/isSameOrBefore.js";
11
+ import te from "dayjs/plugin/localeData.js";
12
+ //#region src/components/MudaCalendar/MudaCalendar.types.ts
13
+ var P = 10, F = 12, I = "YYYY-MM-DD", L = "D", ne = "MMM", R = "YYYY";
14
+ A.extend(j), A.extend(te), A.extend(M), A.extend(N), A.extend(ee);
15
+ var z = A, B = (e) => {
16
+ if (e == null || e === "") return null;
17
+ let t = z(e, I, !0);
18
+ return t.isValid() ? t : null;
19
+ }, V = (e) => e == null ? null : e.format(I), H = (e) => a(() => z().locale(e.value).localeData().firstDayOfWeek());
20
+ function U(e) {
21
+ let t = H(e);
22
+ return a(() => {
23
+ let n = z().locale(e.value).localeData().weekdaysMin().map((e, t) => ({
24
+ name: e,
25
+ isWeekend: t === 0 || t === 6
26
+ })), r = n.slice(0, t.value), i = n.slice(t.value);
27
+ return i.length === 0 ? r : [...i, ...r];
28
+ });
29
+ }
30
+ var W = (e) => (t, n) => {
31
+ if (n == null) return !1;
32
+ let r = B(n);
33
+ return r != null && r.isSame(t, e);
34
+ }, G = (e, t, n, r) => t != null && n != null ? e.isBetween(t, n, r, "[]") : t == null ? n == null || e.isSameOrBefore(n, r) : e.isSameOrAfter(t, r);
35
+ function K(e, t, n, r, i) {
36
+ let o = H(i);
37
+ return a(() => {
38
+ let i = B(t.value) ?? z(), a = B(e.value) ?? i, s = B(n.value), c = B(r.value), l = a.startOf("month"), u = a.add(1, "month").startOf("month"), d = [], f = [], p = (l.day() - o.value + 7) % 7, m = l.subtract(p, "day");
39
+ for (; m.isBefore(u);) f.push({
40
+ isCurrentMonth: m.isSame(l, "month"),
41
+ isToday: m.isSame(i, "day"),
42
+ isWeekend: m.day() === 0 || m.day() === 6,
43
+ label: m.format("D"),
44
+ value: m.format(I),
45
+ disabled: !G(m, s, c, "day")
46
+ }), m = m.add(1, "day"), f.length % 7 == 0 && (d.push(f), f = []);
47
+ for (; d.length < 6;) {
48
+ for (; f.length < 7;) f.push({
49
+ isCurrentMonth: !1,
50
+ isToday: m.isSame(i, "day"),
51
+ isWeekend: m.day() === 0 || m.day() === 6,
52
+ label: m.format("D"),
53
+ value: m.format(I),
54
+ disabled: !G(m, s, c, "day")
55
+ }), m = m.add(1, "day");
56
+ d.push(f), f = [];
57
+ }
58
+ return d.flat();
59
+ });
60
+ }
61
+ function q(e, t, n, r, i) {
62
+ return a(() => {
63
+ let a = B(t.value) ?? z(), o = (B(e.value) ?? a).locale(i.value).startOf("year"), s = B(n.value), c = B(r.value), l = [];
64
+ for (; l.length < 12;) l.push({
65
+ isToday: a.isSame(o, "month"),
66
+ label: o.format("MMM"),
67
+ month: o.month(),
68
+ value: o.format(I),
69
+ disabled: !G(o, s, c, "month")
70
+ }), o = o.add(1, "month");
71
+ return l;
72
+ });
73
+ }
74
+ function J(e, t, n, r, i) {
75
+ return a(() => {
76
+ let a = B(t.value) ?? z(), o = (B(e.value) ?? a).locale(i.value), s = B(n.value), c = B(r.value), l = o.year() % 10;
77
+ o = o.subtract(l, "year");
78
+ let u = [];
79
+ for (; u.length < 10;) u.push({
80
+ isToday: a.isSame(o, "year"),
81
+ label: o.format(R),
82
+ value: o.format(I),
83
+ year: o.year(),
84
+ disabled: !G(o, s, c, "year")
85
+ }), o = o.add(1, "year");
86
+ return u;
87
+ });
88
+ }
89
+ //#endregion
90
+ //#region src/components/MudaCalendar/MudaCalendarWeekDays.vue?vue&type=script&setup=true&lang.ts
91
+ var Y = { class: "grid grid-cols-[repeat(7,auto)]" }, X = /* @__PURE__ */ p({
92
+ __name: "MudaCalendarWeekDays",
93
+ props: { locale: {} },
94
+ setup(e) {
95
+ let { locale: t } = x(e), n = U(t);
96
+ return (e, t) => (_(), c("div", Y, [(_(!0), c(i, null, y(S(n), (e) => (_(), c("div", {
97
+ key: e.name,
98
+ class: g(["flex min-h-[2.5rem] min-w-[2.5rem] items-center justify-center font-bold", {
99
+ "text-danger": e.isWeekend,
100
+ "text-secondary-dark": !e.isWeekend
101
+ }])
102
+ }, b(e.name), 3))), 128))]));
103
+ }
104
+ }), Z = { class: "inline-flex flex-col" }, re = { class: "isolate grid grid-cols-7 gap-1" }, ie = [
105
+ "disabled",
106
+ "aria-selected",
107
+ "aria-current",
108
+ "onClick"
109
+ ], ae = ["datetime"], Q = /* @__PURE__ */ p({
110
+ __name: "MudaCalendarDays",
111
+ props: /*@__PURE__*/ m({
112
+ today: {},
113
+ min: {},
114
+ max: {},
115
+ locale: {},
116
+ disabled: { type: Boolean },
117
+ keyboard: { type: Boolean }
118
+ }, {
119
+ modelValue: { required: !0 },
120
+ modelModifiers: {},
121
+ displayDate: { required: !0 },
122
+ displayDateModifiers: {}
123
+ }),
124
+ emits: ["update:modelValue", "update:displayDate"],
125
+ setup(e) {
126
+ let t = e, n = C(e, "modelValue"), r = C(e, "displayDate"), { today: a, locale: o, min: s, max: u } = x(t), d = K(r, a, s, u, o), p = W("day"), m = (e) => {
127
+ t.disabled || e.disabled || (n.value = e.value);
128
+ };
129
+ return (e, a) => (_(), c("div", Z, [f(X, { locale: t.locale }, null, 8, ["locale"]), l("div", re, [(_(!0), c(i, null, y(S(d), (e) => (_(), c("button", {
130
+ key: e.value,
131
+ type: "button",
132
+ tabindex: "-1",
133
+ disabled: e.disabled || t.disabled,
134
+ "aria-selected": S(p)(e.value, n.value),
135
+ "aria-current": e.isToday ? "date" : void 0,
136
+ class: g(["muda-button-reset relative flex size-min w-full items-center justify-center rounded-md disabled:text-secondary-light", {
137
+ "text-secondary-dark hover:bg-primary-light hover:text-white": !(e.disabled || t.disabled),
138
+ "text-secondary-light": !e.isCurrentMonth,
139
+ "bg-primary text-white": S(p)(e.value, n.value),
140
+ "font-bold text-warning": e.isToday,
141
+ "after:absolute after:top-0 after:right-0 after:bottom-0 after:left-0 after:rounded-lg after:border-2 after:border-primary": t.keyboard && S(p)(e.value, r.value)
142
+ }]),
143
+ onClick: k((t) => m(e), ["stop"])
144
+ }, [l("time", {
145
+ class: "flex min-h-10 items-center justify-center",
146
+ datetime: e.value
147
+ }, b(e.label), 9, ae)], 10, ie))), 128))])]));
148
+ }
149
+ }), oe = ["disabled"], se = ["disabled"], ce = { class: "col-span-3 flex flex-1 items-center justify-center gap-2" }, le = ["disabled"], ue = ["disabled"], de = ["disabled"], fe = ["disabled"], pe = ["disabled"], me = /* @__PURE__ */ p({
150
+ __name: "MudaCalendarHead",
151
+ props: /*@__PURE__*/ m({
152
+ locale: {},
153
+ min: {},
154
+ max: {},
155
+ disabled: { type: Boolean }
156
+ }, {
157
+ modelValue: { required: !0 },
158
+ modelModifiers: {},
159
+ state: { required: !0 },
160
+ stateModifiers: {}
161
+ }),
162
+ emits: ["update:modelValue", "update:state"],
163
+ setup(e) {
164
+ let n = e, r = C(e, "modelValue"), o = C(e, "state"), u = (e, t) => {
165
+ if (n.disabled) return;
166
+ let i = (B(r.value) ?? z()).startOf("month").add(t, e), a = B(n.min), o = B(n.max);
167
+ t < 0 && a != null ? r.value = (i.isBefore(a) ? a : i).format(I) : t > 0 && o != null ? r.value = (i.isAfter(o) ? o : i).format(I) : r.value = i.format(I);
168
+ }, p = a(() => (B(r.value) ?? z()).locale(n.locale)), m = a(() => {
169
+ let e = B(r.value) ?? z(), t = e.year() % 10;
170
+ e = e.subtract(t, "year");
171
+ let n = e.add(9, "year");
172
+ return `${e.format(R)} ~ ${n.format(R)}`;
173
+ });
174
+ return (e, r) => (_(), c("div", { class: g(["grid", {
175
+ "grid-cols-7": o.value === "days",
176
+ "grid-cols-5": o.value !== "days"
177
+ }]) }, [
178
+ l("button", {
179
+ type: "button",
180
+ class: "muda-button-reset flex items-center justify-center fill-primary hover:fill-primary-dark disabled:fill-secondary-light",
181
+ tabindex: "-1",
182
+ disabled: n.disabled,
183
+ "aria-label": "Previous year",
184
+ onClick: r[0] ||= (e) => u("year", o.value === "years" ? -S(10) : -1)
185
+ }, [f(S(t), { icon: "keyboard_double_arrow_left:outlined" })], 8, oe),
186
+ o.value === "days" ? (_(), c("button", {
187
+ key: 0,
188
+ type: "button",
189
+ class: "muda-button-reset flex items-center justify-center fill-primary hover:fill-primary-dark disabled:fill-secondary-light",
190
+ tabindex: "-1",
191
+ disabled: n.disabled,
192
+ "aria-label": "Previous month",
193
+ onClick: r[1] ||= (e) => u("month", -1)
194
+ }, [f(S(t), { icon: "keyboard_arrow_left:outlined" })], 8, se)) : s("", !0),
195
+ l("div", ce, [o.value === "days" ? (_(), c(i, { key: 0 }, [l("button", {
196
+ type: "button",
197
+ class: "muda-button-reset font-semibold text-primary hover:text-primary-dark disabled:text-secondary-light",
198
+ tabindex: "-1",
199
+ disabled: n.disabled,
200
+ "aria-label": "Choose year",
201
+ onClick: r[2] ||= (e) => o.value = "years"
202
+ }, b(p.value.format(S(R))), 9, le), l("button", {
203
+ type: "button",
204
+ class: "muda-button-reset font-semibold text-primary hover:text-primary-dark disabled:text-secondary-light",
205
+ tabindex: "-1",
206
+ disabled: n.disabled,
207
+ "aria-label": "Choose month",
208
+ onClick: r[3] ||= (e) => o.value = "months"
209
+ }, b(p.value.format(S("MMM"))), 9, ue)], 64)) : o.value === "months" ? (_(), c("button", {
210
+ key: 1,
211
+ type: "button",
212
+ class: "muda-button-reset font-semibold text-primary hover:text-primary-dark disabled:text-secondary-light",
213
+ tabindex: "-1",
214
+ disabled: n.disabled,
215
+ "aria-label": "Choose year",
216
+ onClick: r[4] ||= (e) => o.value = "years"
217
+ }, b(p.value.format(S(R))), 9, de)) : o.value === "years" ? (_(), c(i, { key: 2 }, [d(b(m.value), 1)], 64)) : s("", !0)]),
218
+ o.value === "days" ? (_(), c("button", {
219
+ key: 1,
220
+ type: "button",
221
+ class: "muda-button-reset flex items-center justify-center fill-primary hover:fill-primary-dark disabled:fill-secondary-light",
222
+ tabindex: "-1",
223
+ disabled: n.disabled,
224
+ "aria-label": "Next month",
225
+ onClick: r[5] ||= (e) => u("month", 1)
226
+ }, [f(S(t), { icon: "keyboard_arrow_right:outlined" })], 8, fe)) : s("", !0),
227
+ l("button", {
228
+ type: "button",
229
+ class: "muda-button-reset flex items-center justify-center fill-primary hover:fill-primary-dark disabled:fill-secondary-light",
230
+ tabindex: "-1",
231
+ disabled: n.disabled,
232
+ "aria-label": "Next year",
233
+ onClick: r[6] ||= (e) => u("year", o.value === "years" ? S(10) : 1)
234
+ }, [f(S(t), { icon: "keyboard_double_arrow_right:outlined" })], 8, pe)
235
+ ], 2));
236
+ }
237
+ }), he = { class: "flex" }, ge = { class: "relative grid flex-1 grid-cols-[repeat(4,1fr)]" }, _e = [
238
+ "disabled",
239
+ "aria-selected",
240
+ "aria-current",
241
+ "onClick"
242
+ ], ve = ["datetime"], ye = /* @__PURE__ */ p({
243
+ __name: "MudaCalendarMonths",
244
+ props: /*@__PURE__*/ m({
245
+ today: {},
246
+ min: {},
247
+ max: {},
248
+ locale: {},
249
+ disabled: { type: Boolean }
250
+ }, {
251
+ modelValue: { required: !0 },
252
+ modelModifiers: {},
253
+ displayDate: { required: !0 },
254
+ displayDateModifiers: {}
255
+ }),
256
+ emits: /*@__PURE__*/ m(["monthClick"], ["update:modelValue", "update:displayDate"]),
257
+ setup(e, { emit: t }) {
258
+ let n = e, r = C(e, "modelValue"), a = C(e, "displayDate"), o = t, { today: s, locale: u, min: d, max: f } = x(n), p = q(a, s, d, f, u), m = W("month"), h = (e) => {
259
+ n.disabled || e.disabled || (a.value = e.value, o("monthClick"));
260
+ };
261
+ return (e, t) => (_(), c("div", he, [l("div", ge, [(_(!0), c(i, null, y(S(p), (e) => (_(), c("button", {
262
+ key: e.value,
263
+ type: "button",
264
+ tabindex: "-1",
265
+ disabled: e.disabled || n.disabled,
266
+ "aria-selected": S(m)(e.value, r.value),
267
+ "aria-current": e.isToday ? "date" : void 0,
268
+ class: g(["muda-button-reset flex items-center justify-center rounded-md py-5 disabled:text-secondary-light", {
269
+ "text-secondary-dark hover:bg-primary-light hover:text-white": !(e.disabled || n.disabled),
270
+ "bg-primary text-white": S(m)(e.value, r.value),
271
+ "font-bold text-warning": e.isToday
272
+ }]),
273
+ onClick: k((t) => h(e), ["prevent"])
274
+ }, [l("time", {
275
+ class: "flex items-center justify-center",
276
+ datetime: e.value
277
+ }, b(e.label), 9, ve)], 10, _e))), 128))])]));
278
+ }
279
+ }), be = { class: "grid grid-cols-[repeat(2,1fr)]" }, xe = [
280
+ "disabled",
281
+ "aria-selected",
282
+ "aria-current",
283
+ "onClick"
284
+ ], Se = ["datetime"], Ce = /* @__PURE__ */ p({
285
+ __name: "MudaCalendarYears",
286
+ props: /*@__PURE__*/ m({
287
+ today: {},
288
+ min: {},
289
+ max: {},
290
+ locale: {},
291
+ disabled: { type: Boolean }
292
+ }, {
293
+ modelValue: { required: !0 },
294
+ modelModifiers: {},
295
+ displayDate: { required: !0 },
296
+ displayDateModifiers: {}
297
+ }),
298
+ emits: /*@__PURE__*/ m(["yearClick"], ["update:modelValue", "update:displayDate"]),
299
+ setup(e, { emit: t }) {
300
+ let n = e, r = C(e, "modelValue"), a = C(e, "displayDate"), o = t, { today: s, min: u, max: d, locale: f } = x(n), p = J(a, s, u, d, f), m = W("year"), h = (e) => {
301
+ n.disabled || e.disabled || (a.value = e.value, o("yearClick"));
302
+ };
303
+ return (e, t) => (_(), c("div", be, [(_(!0), c(i, null, y(S(p), (e) => (_(), c("button", {
304
+ key: e.value,
305
+ type: "button",
306
+ tabindex: "-1",
307
+ disabled: e.disabled || n.disabled,
308
+ "aria-selected": S(m)(e.value, r.value),
309
+ "aria-current": e.isToday ? "date" : void 0,
310
+ class: g(["muda-button-reset flex items-center justify-center rounded-md py-3 disabled:text-secondary-light", {
311
+ "text-secondary-dark hover:bg-primary-light hover:text-white": !(e.disabled || n.disabled),
312
+ "bg-primary text-white": S(m)(e.value, r.value),
313
+ "font-bold text-warning": e.isToday
314
+ }]),
315
+ onClick: k((t) => h(e), ["prevent"])
316
+ }, [l("time", {
317
+ class: "flex items-center justify-center",
318
+ datetime: e.value
319
+ }, b(e.label), 9, Se)], 10, xe))), 128))]));
320
+ }
321
+ }), we = ["tabindex"], $ = /* @__PURE__ */ p({
322
+ __name: "MudaCalendarDatePicker",
323
+ props: /*@__PURE__*/ m({
324
+ locale: { default: "en" },
325
+ min: {},
326
+ max: {},
327
+ disabled: { type: Boolean },
328
+ keyboard: { type: Boolean }
329
+ }, {
330
+ modelValue: { default: void 0 },
331
+ modelModifiers: {}
332
+ }),
333
+ emits: ["update:modelValue"],
334
+ setup(t, { expose: n }) {
335
+ let r = t, i = C(t, "modelValue"), l = v("days"), u = a(() => z().format(I)), d = v(u.value);
336
+ E(i, (e) => {
337
+ d.value = V(B(e)) ?? u.value;
338
+ }, { immediate: !0 });
339
+ let p = (t, n = !1) => {
340
+ if (!r.keyboard && !n || r.disabled || l.value !== "days") return;
341
+ let a = {
342
+ [e.ArrowUp]: -7,
343
+ [e.ArrowDown]: 7,
344
+ [e.ArrowLeft]: -1,
345
+ [e.ArrowRight]: 1
346
+ }[t.key];
347
+ if (a != null) {
348
+ t.preventDefault();
349
+ let e = B(d.value)?.add(a, "day") ?? null;
350
+ e != null && G(e, B(r.min), B(r.max), "day") && (d.value = V(e) ?? u.value);
351
+ } else if (t.key === e.Enter) {
352
+ let e = B(d.value);
353
+ e != null && G(e, B(r.min), B(r.max), "day") && (t.preventDefault(), i.value = V(e));
354
+ }
355
+ };
356
+ return n({ handleKeydown: p }), (e, t) => (_(), c("div", {
357
+ tabindex: r.keyboard && !r.disabled ? 0 : void 0,
358
+ class: "flex flex-col text-gray-600",
359
+ onKeydown: k(p, ["stop"])
360
+ }, [f(me, {
361
+ modelValue: d.value,
362
+ "onUpdate:modelValue": t[0] ||= (e) => d.value = e,
363
+ state: l.value,
364
+ "onUpdate:state": t[1] ||= (e) => l.value = e,
365
+ locale: r.locale,
366
+ min: r.min,
367
+ max: r.max,
368
+ disabled: r.disabled
369
+ }, null, 8, [
370
+ "modelValue",
371
+ "state",
372
+ "locale",
373
+ "min",
374
+ "max",
375
+ "disabled"
376
+ ]), l.value === "days" ? (_(), o(Q, {
377
+ key: 0,
378
+ modelValue: i.value,
379
+ "onUpdate:modelValue": t[2] ||= (e) => i.value = e,
380
+ "display-date": d.value,
381
+ "onUpdate:displayDate": t[3] ||= (e) => d.value = e,
382
+ today: u.value,
383
+ min: r.min,
384
+ max: r.max,
385
+ locale: r.locale,
386
+ disabled: r.disabled,
387
+ keyboard: r.keyboard
388
+ }, null, 8, [
389
+ "modelValue",
390
+ "display-date",
391
+ "today",
392
+ "min",
393
+ "max",
394
+ "locale",
395
+ "disabled",
396
+ "keyboard"
397
+ ])) : l.value === "months" ? (_(), o(ye, {
398
+ key: 1,
399
+ modelValue: i.value,
400
+ "onUpdate:modelValue": t[4] ||= (e) => i.value = e,
401
+ "display-date": d.value,
402
+ "onUpdate:displayDate": t[5] ||= (e) => d.value = e,
403
+ today: u.value,
404
+ min: r.min,
405
+ max: r.max,
406
+ locale: r.locale,
407
+ disabled: r.disabled,
408
+ onMonthClick: t[6] ||= (e) => l.value = "days"
409
+ }, null, 8, [
410
+ "modelValue",
411
+ "display-date",
412
+ "today",
413
+ "min",
414
+ "max",
415
+ "locale",
416
+ "disabled"
417
+ ])) : l.value === "years" ? (_(), o(Ce, {
418
+ key: 2,
419
+ modelValue: i.value,
420
+ "onUpdate:modelValue": t[7] ||= (e) => i.value = e,
421
+ "display-date": d.value,
422
+ "onUpdate:displayDate": t[8] ||= (e) => d.value = e,
423
+ today: u.value,
424
+ min: r.min,
425
+ max: r.max,
426
+ locale: r.locale,
427
+ disabled: r.disabled,
428
+ onYearClick: t[9] ||= (e) => l.value = "months"
429
+ }, null, 8, [
430
+ "modelValue",
431
+ "display-date",
432
+ "today",
433
+ "min",
434
+ "max",
435
+ "locale",
436
+ "disabled"
437
+ ])) : s("", !0)], 40, we));
438
+ }
439
+ }), Te = ["tabindex"], Ee = [
440
+ "min",
441
+ "max",
442
+ "disabled",
443
+ "aria-invalid"
444
+ ], De = /* @__PURE__ */ p({
445
+ inheritAttrs: !1,
446
+ __name: "MudaCalendar",
447
+ props: /*@__PURE__*/ m({
448
+ locale: { default: "en" },
449
+ disabled: {
450
+ type: Boolean,
451
+ default: !1
452
+ },
453
+ min: {},
454
+ max: {},
455
+ isInvalid: { type: Boolean }
456
+ }, {
457
+ modelValue: { default: void 0 },
458
+ modelModifiers: {}
459
+ }),
460
+ emits: ["update:modelValue"],
461
+ setup(e) {
462
+ let t = e, n = C(e, "modelValue"), r = w("root"), i = w("picker"), o = v(!1), s = a(() => V(B(t.min)) ?? void 0), u = a(() => V(B(t.max)) ?? void 0);
463
+ E(n, () => {
464
+ o.value = !1, r.value?.blur();
465
+ });
466
+ let d = (e) => {
467
+ i.value?.handleKeydown(e, !0);
468
+ };
469
+ return (e, r) => (_(), c("div", {
470
+ tabindex: t.disabled ? void 0 : 0,
471
+ onFocus: r[2] ||= (e) => o.value = !0,
472
+ onBlur: r[3] ||= (e) => o.value = !1,
473
+ onKeydown: d,
474
+ ref: "root",
475
+ class: g(["rounded-md bg-foreground p-2 ring-1 focus:rounded-md focus:ring-2 focus:ring-primary-light focus:outline-hidden", {
476
+ "ring-danger": t.isInvalid,
477
+ "ring-secondary-light": !t.isInvalid
478
+ }])
479
+ }, [f($, {
480
+ modelValue: n.value,
481
+ "onUpdate:modelValue": r[0] ||= (e) => n.value = e,
482
+ ref: "picker",
483
+ locale: t.locale,
484
+ min: s.value,
485
+ max: u.value,
486
+ disabled: t.disabled,
487
+ keyboard: o.value
488
+ }, null, 8, [
489
+ "modelValue",
490
+ "locale",
491
+ "min",
492
+ "max",
493
+ "disabled",
494
+ "keyboard"
495
+ ]), O(l("input", h({ type: "date" }, e.$attrs, {
496
+ "onUpdate:modelValue": r[1] ||= (e) => n.value = e,
497
+ min: s.value,
498
+ max: u.value,
499
+ disabled: t.disabled,
500
+ "aria-invalid": t.isInvalid || void 0,
501
+ class: "hidden"
502
+ }), null, 16, Ee), [[T, n.value]])], 42, Te));
503
+ }
504
+ }), Oe = /* @__PURE__ */ p({
505
+ inheritAttrs: !1,
506
+ __name: "MudaCalendarInput",
507
+ props: /*@__PURE__*/ m({
508
+ locale: { default: "en" },
509
+ disabled: { type: Boolean },
510
+ min: {},
511
+ max: {}
512
+ }, {
513
+ modelValue: { default: void 0 },
514
+ modelModifiers: {}
515
+ }),
516
+ emits: ["update:modelValue"],
517
+ setup(i) {
518
+ let s = i, c = C(i, "modelValue"), l = v(), d = v(), p = v(), m = v(!1), g = v(!1), y = a(() => !s.disabled && c.value != null), b = (e) => {
519
+ e.preventDefault(), c.value = void 0;
520
+ }, x = (t) => {
521
+ if (m.value) switch (t.key) {
522
+ case e.Escape:
523
+ m.value = !1, g.value = !1, l.value?.input?.blur();
524
+ break;
525
+ case e.ArrowDown:
526
+ case e.ArrowUp:
527
+ case e.ArrowLeft:
528
+ case e.ArrowRight:
529
+ g.value = !0, p.value?.handleKeydown(t, !0);
530
+ break;
531
+ case e.Enter: p.value?.handleKeydown(t, !0);
532
+ }
533
+ }, w = () => {
534
+ s.disabled || (m.value = !0);
535
+ }, T = (e) => {
536
+ d.value?.popover?.contains(e.relatedTarget) || (m.value = !1);
537
+ };
538
+ return E(c, () => {
539
+ m.value = !1, g.value = !1;
540
+ }), (e, i) => (_(), o(S(r), {
541
+ modelValue: m.value,
542
+ "onUpdate:modelValue": i[2] ||= (e) => m.value = e,
543
+ placement: "bottom-start",
544
+ ref_key: "popoverRef",
545
+ ref: d,
546
+ mode: "manual",
547
+ disabled: s.disabled
548
+ }, {
549
+ content: D(() => [f($, {
550
+ modelValue: c.value,
551
+ "onUpdate:modelValue": i[1] ||= (e) => c.value = e,
552
+ ref_key: "pickerRef",
553
+ ref: p,
554
+ class: "w-76",
555
+ keyboard: g.value,
556
+ locale: s.locale,
557
+ min: s.min,
558
+ max: s.max,
559
+ disabled: s.disabled
560
+ }, null, 8, [
561
+ "modelValue",
562
+ "keyboard",
563
+ "locale",
564
+ "min",
565
+ "max",
566
+ "disabled"
567
+ ])]),
568
+ default: D(() => [f(S(n), h(e.$attrs, {
569
+ readonly: "",
570
+ ref_key: "inputRef",
571
+ ref: l,
572
+ modelValue: c.value,
573
+ "onUpdate:modelValue": i[0] ||= (e) => c.value = e,
574
+ placeholder: "____-__-__",
575
+ disabled: s.disabled,
576
+ onFocusin: w,
577
+ onFocusout: T,
578
+ "onClick:after": b,
579
+ onKeydown: x
580
+ }), u({
581
+ before: D(() => [f(S(t), { icon: "calendar:outlined" })]),
582
+ _: 2
583
+ }, [y.value ? {
584
+ name: "after",
585
+ fn: D(() => [f(S(t), { icon: "close:outlined" })]),
586
+ key: "0"
587
+ } : void 0]), 1040, ["modelValue", "disabled"])]),
588
+ _: 1
589
+ }, 8, ["modelValue", "disabled"]));
590
+ }
591
+ });
592
+ //#endregion
593
+ export { ne as a, F as c, L as i, P as l, De as n, I as o, $ as r, R as s, Oe as t };
@@ -0,0 +1,10 @@
1
+ import { t as e } from "./_plugin-vue_export-helper-B3ysoDQm.js";
2
+ import { createElementBlock as t, openBlock as n, renderSlot as r } from "vue";
3
+ //#region src/components/MudaCard/MudaCard.vue
4
+ var i = {}, a = { class: "relative rounded-lg border border-secondary-light bg-foreground p-4" };
5
+ function o(e, i) {
6
+ return n(), t("div", a, [r(e.$slots, "default")]);
7
+ }
8
+ var s = /*#__PURE__*/ e(i, [["render", o]]);
9
+ //#endregion
10
+ export { s as t };