@opengis/cms 0.0.57 → 0.0.59

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 (56) hide show
  1. package/README.md +1 -1
  2. package/dist/AddNewItemInTree-05PSSEFi.js +76 -0
  3. package/dist/ArticlesPage-BjYzvTWM.js +298 -0
  4. package/dist/CollectionsBreadcrumb-HePNJb-d.js +4 -0
  5. package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-BJh-tjam.js +53 -0
  6. package/dist/CollectionsPage-DHfPNql6.js +124 -0
  7. package/dist/{CreateForm-BMOBeP4G.js → CreateForm-5FvT45vH.js} +1 -1
  8. package/dist/Dashboard-CXkg_pk8.js +358 -0
  9. package/dist/EditCollectionPage-CqYHpEON.js +187 -0
  10. package/dist/{EmptyData-DaZt_nAm.js → EmptyData-DxPrSXhV.js} +1 -1
  11. package/dist/{MenuAddPage-Bf48Z-ah.js → MenuAddPage-QTnwCoGh.js} +40 -35
  12. package/dist/MenuBody-Bi0ONVZf.js +125 -0
  13. package/dist/MenuItemPage-B7Y9KFyb.js +1027 -0
  14. package/dist/MenuList-BLIpeqSd.js +172 -0
  15. package/dist/MenuPage-3W6jZ15H.js +107 -0
  16. package/dist/MenuWrapper-OrOv6sOb.js +12 -0
  17. package/dist/MonacoEditor-ByPT8pnv.js +4 -0
  18. package/dist/MonacoEditor.vue_vue_type_script_setup_true_lang-C8cip9Ci.js +84 -0
  19. package/dist/{UniversalTable.vue_vue_type_script_setup_true_lang-CJGTsd1V.js → UniversalTable-GBd_pStq.js} +81 -81
  20. package/dist/{UniversalTablePagination.vue_vue_type_script_setup_true_lang-GYZd_gkA.js → UniversalTablePagination-Dw2hc0nc.js} +47 -47
  21. package/dist/VsFormTags-CMjiu9sY.js +114 -0
  22. package/dist/VsPreview-DwETkOpb.js +63 -0
  23. package/dist/contentForm-Buku-lel.js +489 -0
  24. package/dist/getField-CpwVE28P.js +179 -0
  25. package/dist/index.d.ts +8 -0
  26. package/dist/index.js +72 -71
  27. package/dist/style.css +1 -1
  28. package/dist/vs-builder-edit-D-q1o8tF.js +604 -0
  29. package/dist/vs-builder-monaco-Cw-f19gc.js +33 -0
  30. package/dist/vs-builder-preview-BH4VAM3a.js +44 -0
  31. package/dist/vs-form-custom-datatable-BDZo48w3.js +317 -0
  32. package/dist/vs-form-integer-BZ855R3g.js +61 -0
  33. package/dist/vs-form-media-select-NY27EaG1.js +837 -0
  34. package/dist/vs-form-reference-list-Dtv8fJJU.js +1536 -0
  35. package/dist/vs-form-reletion-link-BhzNQszm.js +34 -0
  36. package/dist/vs-form-tiptap-DDFQjRjY.js +4 -0
  37. package/dist/vs-form-tiptap.vue_vue_type_script_setup_true_lang-DGgsqXwg.js +11 -0
  38. package/dist/vs-richtext-md-C098v_6Q.js +4 -0
  39. package/dist/vs-richtext-md.vue_vue_type_script_setup_true_lang-Ct8uTV-J.js +14 -0
  40. package/locales/en.json +1 -0
  41. package/locales/uk.json +1 -0
  42. package/package.json +69 -68
  43. package/server/functions/utils/mock.reply.js +7 -7
  44. package/server/routes/cms/controllers/getPermissions.js +15 -15
  45. package/server/routes/cms/controllers/setPermissions.js +49 -49
  46. package/server/templates/select/core.user_mentioned.sql +1 -1
  47. package/dist/ArticlesPage-BcR1hbds.js +0 -286
  48. package/dist/BuilderPage-CK_osM89.js +0 -386
  49. package/dist/CollectionsBreadcrumb.vue_vue_type_script_setup_true_lang-CnOe9ORD.js +0 -45
  50. package/dist/CollectionsPage-JfmrHNR_.js +0 -110
  51. package/dist/EditCollectionPage-Cw3GQYRe.js +0 -809
  52. package/dist/MenuItemPage-CXn5HC8j.js +0 -1366
  53. package/dist/MenuPage-tJZtK46W.js +0 -106
  54. package/dist/MonacoEditor.vue_vue_type_script_setup_true_lang-B1DrxmQX.js +0 -84
  55. package/dist/contentForm-B6gHgGkz.js +0 -586
  56. package/dist/getField-Y5WXnRR0.js +0 -2948
@@ -0,0 +1,317 @@
1
+ import { mergeModels as _, defineAsyncComponent as E, useModel as A, ref as y, watch as S, openBlock as a, createElementBlock as s, createElementVNode as r, createVNode as h, unref as k, withCtx as C, toDisplayString as x, createTextVNode as U, onMounted as z, Fragment as D, renderList as $, normalizeClass as B, createCommentVNode as j } from "vue";
2
+ import { Pencil as O, Trash2 as P, Plus as G, GripVertical as R } from "lucide-vue-next";
3
+ import { VsModal as I, confirm as X, notify as q } from "@opengis/core";
4
+ import { useI18n as H } from "vue-i18n";
5
+ const Y = { class: "flex items-center justify-end gap-2" }, Z = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, J = {
6
+ __name: "vs-form-custom-datatable-controls",
7
+ props: /* @__PURE__ */ _({
8
+ item: {
9
+ type: Object,
10
+ required: !0
11
+ },
12
+ colModel: {
13
+ type: Array,
14
+ required: !0
15
+ }
16
+ }, {
17
+ modelValue: {
18
+ type: Array,
19
+ required: !0
20
+ },
21
+ modelModifiers: {}
22
+ }),
23
+ emits: ["update:modelValue"],
24
+ setup(b) {
25
+ const { t: n } = H(), w = E(() => import("@opengis/form")), c = b, d = A(b, "modelValue"), m = y(!1), p = y({}), V = y({}), v = () => {
26
+ X({
27
+ title: n("cms.builder.deleteTitle"),
28
+ message: n("cms.builder.deleteField"),
29
+ type: "error",
30
+ onConfirm: () => {
31
+ u();
32
+ }
33
+ });
34
+ }, u = () => {
35
+ d.value = d.value.filter((g) => g.id !== c.item.id);
36
+ }, f = async () => {
37
+ if (await V.value.validate()) {
38
+ q({
39
+ type: "warning",
40
+ title: n("cms.common.actions.warning"),
41
+ message: n("cms.builder.editFieldFailed")
42
+ });
43
+ return;
44
+ }
45
+ d.value = d.value.map(
46
+ (i) => i.id === c.item.id ? p.value : i
47
+ ), m.value = !1;
48
+ };
49
+ return S(m, (g) => {
50
+ g && (p.value = c.item);
51
+ }), (g, i) => (a(), s("div", Y, [
52
+ r("button", {
53
+ class: "inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-8 w-8 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-blue-50 dark:hover:bg-slate-600 hover:border-blue-300 dark:hover:border-slate-500 hover:text-blue-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm",
54
+ onClick: i[0] || (i[0] = (t) => m.value = !0)
55
+ }, [
56
+ h(k(O), { class: "w-4 h-4" })
57
+ ]),
58
+ r("button", {
59
+ onClick: v,
60
+ class: "inline-flex items-center justify-center whitespace-nowrap font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 border rounded-md text-xs h-8 w-8 p-0 border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-red-50 dark:hover:bg-slate-600 hover:border-red-300 dark:hover:border-slate-500 hover:text-red-600 dark:hover:text-slate-200 transition-all duration-200 shadow-sm"
61
+ }, [
62
+ h(k(P), { class: "w-4 h-4" })
63
+ ]),
64
+ h(k(I), {
65
+ teleport: "#modal",
66
+ title: g.$t("cms.builder.editField"),
67
+ visible: m.value,
68
+ onClose: i[4] || (i[4] = (t) => m.value = !1)
69
+ }, {
70
+ footer: C(() => [
71
+ r("div", Z, [
72
+ r("button", {
73
+ class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300",
74
+ onClick: i[3] || (i[3] = (t) => m.value = !1)
75
+ }, x(g.$t("cms.common.actions.cancel")), 1),
76
+ r("button", {
77
+ onClick: f,
78
+ class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300"
79
+ }, x(g.$t("cms.common.actions.save")), 1)
80
+ ])
81
+ ]),
82
+ default: C(() => [
83
+ h(k(w), {
84
+ form: V.value,
85
+ "onUpdate:form": i[1] || (i[1] = (t) => V.value = t),
86
+ schema: b.colModel,
87
+ modelValue: p.value,
88
+ "onUpdate:modelValue": i[2] || (i[2] = (t) => p.value = t)
89
+ }, null, 8, ["form", "schema", "modelValue"])
90
+ ]),
91
+ _: 1
92
+ }, 8, ["title", "visible"])
93
+ ]));
94
+ }
95
+ }, K = { class: "p-6 border-t border-slate-200 dark:border-slate-700 bg-slate-50/30 dark:bg-slate-700/30" }, Q = { class: "flex justify-end p-[20px] gap-[10px] border-t w-full" }, W = {
96
+ __name: "vs-form-custom-datatable-add",
97
+ props: /* @__PURE__ */ _({
98
+ colModel: {
99
+ type: Array,
100
+ required: !0
101
+ }
102
+ }, {
103
+ modelValue: {
104
+ type: Array,
105
+ required: !0
106
+ },
107
+ modelModifiers: {}
108
+ }),
109
+ emits: ["update:modelValue"],
110
+ setup(b) {
111
+ const { t: n } = H(), w = E(() => import("@opengis/form")), c = A(b, "modelValue"), d = y(!1), m = y({}), p = y({}), V = async () => {
112
+ try {
113
+ if (await p.value.validate()) {
114
+ q({
115
+ type: "warning",
116
+ title: n("cms.common.actions.warning"),
117
+ message: n("cms.builder.editFieldFailed")
118
+ });
119
+ return;
120
+ }
121
+ c.value = [
122
+ ...c.value || [],
123
+ { ...m.value, id: Math.random().toString(36).substring(2, 15) }
124
+ ], d.value = !1, m.value = {};
125
+ } catch (v) {
126
+ console.log(v);
127
+ }
128
+ };
129
+ return (v, u) => (a(), s("div", K, [
130
+ r("button", {
131
+ class: "inline-flex items-center justify-center whitespace-nowrap rounded-md text-sm font-medium focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 shadow-sm h-9 px-4 w-full border-2 border-dashed border-slate-300 dark:border-slate-600 bg-white dark:bg-slate-700 hover:bg-slate-50 dark:hover:bg-slate-600 hover:border-blue-400 dark:hover:border-blue-500 text-slate-600 dark:text-slate-300 hover:text-blue-600 dark:hover:text-blue-400 py-3 transition-all duration-200",
132
+ onClick: u[0] || (u[0] = (f) => d.value = !0)
133
+ }, [
134
+ h(k(G), { class: "w-4 h-4 mr-2" }),
135
+ U(" " + x(v.$t("cms.common.actions.add")), 1)
136
+ ]),
137
+ h(k(I), {
138
+ teleport: "#modal",
139
+ title: v.$t("cms.common.actions.add"),
140
+ visible: d.value,
141
+ onClose: u[4] || (u[4] = (f) => d.value = !1)
142
+ }, {
143
+ footer: C(() => [
144
+ r("div", Q, [
145
+ r("button", {
146
+ class: "inline-flex items-center px-3 py-2 text-sm text-black duration-300 border border-gray-200 rounded-lg gap-x-2 whitespace-nowrap hover:bg-gray-100",
147
+ onClick: u[3] || (u[3] = (f) => d.value = !1)
148
+ }, x(v.$t("cms.common.actions.cancel")), 1),
149
+ r("button", {
150
+ onClick: V,
151
+ class: "py-2 px-3 inline-flex items-center gap-x-2 text-sm whitespace-nowrap text-white bg-blue-500 rounded-lg !border-gray-200 hover:bg-blue-700 duration-300"
152
+ }, x(v.$t("cms.common.actions.save")), 1)
153
+ ])
154
+ ]),
155
+ default: C(() => [
156
+ h(k(w), {
157
+ form: p.value,
158
+ "onUpdate:form": u[1] || (u[1] = (f) => p.value = f),
159
+ schema: b.colModel,
160
+ modelValue: m.value,
161
+ "onUpdate:modelValue": u[2] || (u[2] = (f) => m.value = f)
162
+ }, null, 8, ["form", "schema", "modelValue"])
163
+ ]),
164
+ _: 1
165
+ }, 8, ["title", "visible"])
166
+ ]));
167
+ }
168
+ }, ee = { class: "p-0 shadow w-full" }, te = { class: "overflow-x-auto" }, le = { class: "relative w-full overflow-auto" }, re = { class: "w-full caption-bottom text-sm" }, oe = { class: "[&_tr]:border-b" }, ae = { class: "border-b data-[state=selected]:bg-muted bg-slate-50/50 dark:bg-slate-700/50 hover:bg-slate-50/80 dark:hover:bg-slate-700/80 transition-colors" }, se = { class: "h-10 px-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] font-semibold text-slate-700 dark:text-slate-300 text-end" }, ne = { class: "[&_tr:last-child]:border-0" }, de = ["onDragstart", "onDragover", "onDrop", "onDragenter"], ie = { class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-center" }, ue = { class: "flex items-center justify-center text-slate-400" }, ce = ["innerHTML"], me = {
169
+ key: 1,
170
+ class: "flex items-center gap-2"
171
+ }, be = {
172
+ key: 0,
173
+ class: "flex items-center gap-1"
174
+ }, ve = ["src", "alt"], ge = {
175
+ key: 0,
176
+ class: "text-xs text-gray-500 dark:text-gray-400 ml-1"
177
+ }, pe = {
178
+ key: 1,
179
+ class: "w-8 h-8 rounded bg-gray-100 dark:bg-gray-700 flex items-center justify-center"
180
+ }, fe = { key: 2 }, he = { class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]" }, xe = {
181
+ key: 0,
182
+ class: "h-2 bg-blue-200 dark:bg-blue-800 transition-all duration-200"
183
+ }, T = 3, Me = {
184
+ __name: "vs-form-custom-datatable",
185
+ props: /* @__PURE__ */ _({
186
+ colModel: {
187
+ type: Array,
188
+ required: !0
189
+ }
190
+ }, {
191
+ modelValue: {
192
+ type: Array,
193
+ required: !0
194
+ },
195
+ modelModifiers: {}
196
+ }),
197
+ emits: ["update:modelValue"],
198
+ setup(b) {
199
+ const n = A(b, "modelValue"), w = y(null), c = y(-1), d = y(!1), m = (t, l, e) => {
200
+ w.value = l, c.value = e, t.dataTransfer.effectAllowed = "move", t.dataTransfer.setData("text/html", "");
201
+ }, p = (t, l) => {
202
+ t.preventDefault(), t.dataTransfer.dropEffect = "move";
203
+ }, V = (t, l) => {
204
+ c.value !== l && (d.value = !0);
205
+ }, v = (t) => {
206
+ t.currentTarget.contains(t.relatedTarget) || (d.value = !1);
207
+ }, u = (t, l) => {
208
+ if (t.preventDefault(), d.value = !1, c.value === -1 || c.value === l)
209
+ return;
210
+ const e = [...n.value], [M] = e.splice(c.value, 1);
211
+ e.splice(l, 0, M), n.value = e, w.value = null, c.value = -1;
212
+ }, f = (t) => Array.isArray(t) ? t.slice(0, T) : [], g = (t) => Array.isArray(t) ? Math.max(0, t.length - T) : 0, i = (t) => {
213
+ const l = t.target;
214
+ l.style.display = "none";
215
+ const e = document.createElement("cms.div");
216
+ e.className = "w-full h-full flex items-center justify-center bg-gray-200 dark:bg-gray-600", e.innerHTML = `
217
+ <svg class="w-4 h-4 text-gray-400" fill="currentColor" viewBox="0 0 20 20">
218
+ <path fill-rule="evenodd" d="M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z" clip-rule="evenodd" />
219
+ </svg>
220
+ `, l.parentNode.appendChild(e);
221
+ };
222
+ return z(() => {
223
+ var t, l;
224
+ (l = (t = n.value) == null ? void 0 : t.filter((e) => typeof e == "object")) == null || l.forEach(
225
+ (e) => e.id ? e.id : e.id = Math.random().toString(36).substring(2, 15)
226
+ );
227
+ }), (t, l) => (a(), s("div", ee, [
228
+ r("div", te, [
229
+ r("div", le, [
230
+ r("table", re, [
231
+ r("thead", oe, [
232
+ r("tr", ae, [
233
+ l[4] || (l[4] = r("th", { class: "h-10 px-2 align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] w-12 text-center" }, null, -1)),
234
+ (a(!0), s(D, null, $(b.colModel, (e) => (a(), s("th", {
235
+ key: e.name,
236
+ class: "h-10 px-2 text-left align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] font-semibold text-slate-700 dark:text-slate-300 min-w-[150px]"
237
+ }, x(e.label || e.title || e.name), 1))), 128)),
238
+ r("th", se, x(t.$t("cms.table.actions")), 1)
239
+ ])
240
+ ]),
241
+ r("tbody", ne, [
242
+ (a(!0), s(D, null, $(n.value, (e, M) => (a(), s("tr", {
243
+ key: e == null ? void 0 : e.id,
244
+ class: B(["border-b data-[state=selected]:bg-muted transition-all duration-200 hover:bg-slate-50/60 dark:hover:bg-slate-700/60 cursor-move", { "opacity-50": w.value === e }]),
245
+ draggable: "true",
246
+ onDragstart: (o) => m(o, e, M),
247
+ onDragover: (o) => p(o),
248
+ onDrop: (o) => u(o, M),
249
+ onDragenter: (o) => V(o, M),
250
+ onDragleave: l[2] || (l[2] = (o) => v(o))
251
+ }, [
252
+ r("td", ie, [
253
+ r("div", ue, [
254
+ h(k(R))
255
+ ])
256
+ ]),
257
+ (a(!0), s(D, null, $(b.colModel, (o) => (a(), s("td", {
258
+ key: o.name,
259
+ class: "p-2 align-middle [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px] text-slate-600 dark:text-slate-400 text-sm"
260
+ }, [
261
+ o.type === "Texteditor" ? (a(), s("span", {
262
+ key: 0,
263
+ innerHTML: e[o.key] || "-"
264
+ }, null, 8, ce)) : o.type === "File" ? (a(), s("div", me, [
265
+ Array.isArray(e[o.key]) && e[o.key].length > 0 ? (a(), s("div", be, [
266
+ (a(!0), s(D, null, $(f(e[o.key]), (L, F) => (a(), s("div", {
267
+ key: F,
268
+ class: "relative w-8 h-8 rounded overflow-hidden bg-gray-100 dark:bg-gray-700 flex-shrink-0"
269
+ }, [
270
+ r("img", {
271
+ src: L,
272
+ alt: `Image ${F + 1}`,
273
+ class: "w-full h-full object-cover",
274
+ onError: l[0] || (l[0] = (N) => i(N))
275
+ }, null, 40, ve)
276
+ ]))), 128)),
277
+ g(e[o.key]) > 0 ? (a(), s("span", ge, " +" + x(g(e[o.key])), 1)) : j("", !0)
278
+ ])) : (a(), s("div", pe, [...l[5] || (l[5] = [
279
+ r("svg", {
280
+ class: "w-4 h-4 text-gray-400",
281
+ fill: "currentColor",
282
+ viewBox: "0 0 20 20"
283
+ }, [
284
+ r("path", {
285
+ "fill-rule": "evenodd",
286
+ d: "M4 3a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V5a2 2 0 00-2-2H4zm12 12H4l4-8 3 6 2-4 3 6z",
287
+ "clip-rule": "evenodd"
288
+ })
289
+ ], -1)
290
+ ])]))
291
+ ])) : (a(), s("span", fe, x(e[o.key] || "-"), 1))
292
+ ]))), 128)),
293
+ r("td", he, [
294
+ h(J, {
295
+ item: e,
296
+ colModel: b.colModel,
297
+ modelValue: n.value,
298
+ "onUpdate:modelValue": l[1] || (l[1] = (o) => n.value = o)
299
+ }, null, 8, ["item", "colModel", "modelValue"])
300
+ ])
301
+ ], 42, de))), 128)),
302
+ d.value ? (a(), s("tr", xe)) : j("", !0)
303
+ ])
304
+ ])
305
+ ])
306
+ ]),
307
+ h(W, {
308
+ colModel: b.colModel,
309
+ modelValue: n.value,
310
+ "onUpdate:modelValue": l[3] || (l[3] = (e) => n.value = e)
311
+ }, null, 8, ["colModel", "modelValue"])
312
+ ]));
313
+ }
314
+ };
315
+ export {
316
+ Me as default
317
+ };
@@ -0,0 +1,61 @@
1
+ import { openBlock as r, createElementBlock as n, renderSlot as d, normalizeProps as o, guardReactiveProps as s, withDirectives as p, createElementVNode as m, normalizeClass as f, vModelText as h } from "vue";
2
+ import { _ as b } from "./_plugin-vue_export-helper-CHgC5LLL.js";
3
+ const c = {
4
+ props: {
5
+ min: { type: Number },
6
+ step: { type: Number, default: () => 1 },
7
+ max: { type: Number, default: () => 1 / 0 },
8
+ modelValue: { type: Number, default: () => null },
9
+ label: { type: String, default: () => "" },
10
+ placeholder: { type: String, default: () => "0" },
11
+ disabled: { type: Boolean, default: () => !1 }
12
+ },
13
+ data() {
14
+ return {
15
+ id: `input-number-${Math.floor(Math.random() * 1e3)}`,
16
+ inputValue: this.modelValue
17
+ };
18
+ },
19
+ watch: {
20
+ modelValue(e) {
21
+ this.inputValue = e;
22
+ },
23
+ inputValue(e) {
24
+ this.$emit("update:modelValue", e);
25
+ }
26
+ },
27
+ methods: {
28
+ validateInput(e) {
29
+ (e.key === "+" || e.key === "," || e.key === "." || e.key === "-" && this.inputValue && this.inputValue.toString().length > 0) && e.preventDefault();
30
+ },
31
+ handleBlur() {
32
+ let e = parseFloat(this.inputValue);
33
+ this.$emit("blur"), isNaN(e) ? e = this.min : e > this.max ? e = this.max : e < this.min && (e = this.min), this.inputValue = e, this.$emit("update:modelValue", this.inputValue);
34
+ }
35
+ }
36
+ }, x = { class: "p-0" }, V = ["step", "min", "max", "id", "placeholder", "disabled"];
37
+ function y(e, t, l, k, i, u) {
38
+ return r(), n("div", x, [
39
+ d(e.$slots, "label", o(s({ id: i.id }))),
40
+ p(m("input", {
41
+ "onUpdate:modelValue": t[0] || (t[0] = (a) => i.inputValue = a),
42
+ type: "number",
43
+ onKeydown: t[1] || (t[1] = (...a) => u.validateInput && u.validateInput(...a)),
44
+ onBlur: t[2] || (t[2] = (...a) => u.handleBlur && u.handleBlur(...a)),
45
+ step: l.step,
46
+ min: l.min,
47
+ max: l.max,
48
+ id: i.id,
49
+ "aria-describedby": "helper-text-explanation",
50
+ class: f(["vs-number__input py-2 px-3 block w-full h-[38px] border border-solid border-stone-200 rounded-lg text-sm text-stone-800 placeholder:text-stone-500 focus:z-10 focus:border-1 focus:outline-none focus:border-blue-600 dark:bg-neutral-800 dark:border-neutral-700 dark:text-neutral-200 dark:placeholder:text-neutral-500 dark:focus:outline-none dark:focus:ring-1 dark:focus:ring-neutral-600", { "cursor-not-allowed": l.disabled }]),
51
+ placeholder: l.placeholder,
52
+ disabled: l.disabled
53
+ }, null, 42, V), [
54
+ [h, i.inputValue]
55
+ ])
56
+ ]);
57
+ }
58
+ const B = /* @__PURE__ */ b(c, [["render", y]]);
59
+ export {
60
+ B as default
61
+ };