adverich-kun-ui 0.1.409 → 0.1.410

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.
@@ -1,45 +1,51 @@
1
- import { useAttrs as x, ref as _, getCurrentInstance as ee, computed as a, createElementBlock as l, openBlock as s, mergeProps as E, renderSlot as i, createElementVNode as d, createCommentVNode as u, normalizeClass as g, toDisplayString as y, normalizeProps as I, guardReactiveProps as R, unref as r, createBlock as b, resolveDynamicComponent as m, withKeys as oe, Fragment as te, renderList as ne, withDirectives as re, vShow as se, createTextVNode as le } from "vue";
2
- import { kunTextareaProps as ae } from "../composables/KunTextareaProps.js";
3
- import ie from "../composables/useKunTextareaComposable.js";
4
- import { renderIconSlot as k } from "../../../../utils/renderIcon.js";
5
- const de = { class: "relative" }, ue = {
1
+ import { useAttrs as oe, ref as te, getCurrentInstance as ne, computed as a, createElementBlock as l, openBlock as s, mergeProps as A, renderSlot as i, createElementVNode as d, createCommentVNode as u, normalizeClass as b, toDisplayString as g, normalizeProps as z, guardReactiveProps as B, unref as t, createBlock as y, resolveDynamicComponent as m, withKeys as re, withModifiers as se, Fragment as le, renderList as ae, withDirectives as ie, vShow as de, createTextVNode as ue } from "vue";
2
+ import { kunTextareaProps as pe } from "../composables/KunTextareaProps.js";
3
+ import ce from "../composables/useKunTextareaComposable.js";
4
+ import { renderIconSlot as h } from "../../../../utils/renderIcon.js";
5
+ const ve = { class: "relative" }, fe = {
6
6
  key: 0,
7
7
  class: "absolute left-2 top-2 flex items-center"
8
- }, pe = {
8
+ }, be = {
9
9
  key: 1,
10
10
  class: "absolute left-2 top-2 ml-1"
11
- }, ve = ["value", "rows", "disabled", "readonly", "placeholder"], ce = {
11
+ }, ge = ["value", "rows", "disabled", "readonly", "placeholder"], ye = {
12
12
  key: 3,
13
13
  class: "absolute right-2 top-2 mr-1"
14
- }, fe = {
14
+ }, me = {
15
15
  key: 4,
16
16
  class: "absolute right-2 top-2 flex items-center"
17
- }, ge = {
17
+ }, he = {
18
18
  key: 5,
19
19
  class: "mt-1"
20
- }, ye = { class: "h-1 w-full bg-gray-200 rounded overflow-hidden" }, be = {
20
+ }, ke = { class: "h-1 w-full bg-gray-200 rounded overflow-hidden" }, Ce = {
21
21
  key: 7,
22
22
  class: "text-xs text-right mt-1 text-gray-400"
23
- }, me = { key: 0 }, $e = {
23
+ }, we = { key: 0 }, Re = {
24
24
  __name: "KunTextarea",
25
- props: { ...ae },
25
+ props: { ...pe },
26
26
  emits: ["update:modelValue", "click:clear", "click:control", "update:focused", "mousedown:control"],
27
- setup(M, { expose: P, emit: T }) {
28
- const o = M, F = T, G = x(), p = _(null), K = `textarea-${ee().uid}`, {
29
- isFocused: v,
30
- internalValue: c,
31
- rootRef: V,
32
- // si no usás, sacalo del composable y de acá
33
- updateValue: N,
34
- handleClear: z,
35
- validate: H,
36
- reset: L,
37
- resetValidation: j,
27
+ setup(D, { expose: E, emit: F }) {
28
+ const o = D, k = F, G = oe(), p = te(null), R = `textarea-${ne().uid}`, {
29
+ isFocused: c,
30
+ internalValue: v,
31
+ updateModel: P,
32
+ handleClear: S,
33
+ validate: T,
34
+ reset: K,
35
+ resetValidation: N,
38
36
  hasError: f,
39
37
  displayedMessages: C,
40
- adjustHeight: J,
41
- handleJsonEnter: B
42
- } = ie(o, F), S = a(() => v.value || !!c.value || o.dirty), h = a(() => typeof c.value == "string" ? c.value.length : 0), w = a(() => o.counter === !0 ? 25 : o.counter || null), q = a(() => o.persistentCounter || o.counter && v.value), O = a(() => ["relative w-full flex flex-col", o.class, o.wrapperClass]), Q = a(() => o.persistentClear ? "opacity-100" : "hover:opacity-100 opacity-0 transition-opacity duration-200"), A = a(() => {
38
+ adjustHeight: H,
39
+ handleJsonEnter: V
40
+ } = ce(o, k, p), L = (e) => {
41
+ P(e.target.value), o.autoGrow && H();
42
+ }, j = () => {
43
+ c.value = !0, k("update:focused", !0);
44
+ }, J = () => {
45
+ c.value = !1, k("update:focused", !1);
46
+ }, M = a(() => c.value || !!v.value || o.dirty), w = a(() => typeof v.value == "string" ? v.value.length : 0), I = a(() => o.counter === !0 ? 25 : o.counter || null), q = a(() => o.persistentCounter || o.counter && c.value), O = a(() => ["relative w-full flex flex-col", o.class, o.wrapperClass]), Q = a(
47
+ () => o.persistentClear ? "opacity-100" : "hover:opacity-100 opacity-0 transition-opacity duration-200"
48
+ ), U = a(() => {
43
49
  const e = o.bgColor ? "" : o.variant === "filled" ? "bg-gray-100 dark:bg-gray-900" : "";
44
50
  switch (o.variant) {
45
51
  case "filled":
@@ -53,10 +59,9 @@ const de = { class: "relative" }, ue = {
53
59
  default:
54
60
  return "";
55
61
  }
56
- }), D = a(
62
+ }), W = a(
57
63
  () => o.density === "compact" ? "p-1" : o.density === "comfortable" ? "p-2" : "p-3"
58
- );
59
- a(() => [
64
+ ), X = a(() => [
60
65
  "w-full resize-none p-2 transition-colors duration-150 py-3",
61
66
  o.inputClass,
62
67
  {
@@ -74,161 +79,170 @@ const de = { class: "relative" }, ue = {
74
79
  "resize-none": o.noResize || o.autoGrow,
75
80
  resize: !o.noResize && !o.autoGrow
76
81
  },
77
- A.value,
78
- D.value
79
- ]);
80
- const U = { label: o.label, isFocused: v, isActive: S, controlRef: p, focus: () => {
81
- var e;
82
- return (e = p.value) == null ? void 0 : e.focus();
83
- }, blur: () => {
84
- var e;
85
- return (e = p.value) == null ? void 0 : e.blur();
86
- }, props: o }, $ = { isActive: !!c.value, isFocused: v, controlRef: p, focus: () => {
87
- var e;
88
- return (e = p.value) == null ? void 0 : e.focus();
89
- }, blur: () => {
90
- var e;
91
- return (e = p.value) == null ? void 0 : e.blur();
92
- }, props: o }, W = $, X = $, Y = a(() => {
93
- const { class: e, ...t } = G;
94
- return t;
82
+ U.value,
83
+ W.value
84
+ ]), Y = {
85
+ label: o.label,
86
+ isFocused: c,
87
+ isActive: M,
88
+ controlRef: p,
89
+ focus: () => {
90
+ var e;
91
+ return (e = p.value) == null ? void 0 : e.focus();
92
+ },
93
+ blur: () => {
94
+ var e;
95
+ return (e = p.value) == null ? void 0 : e.blur();
96
+ },
97
+ props: o
98
+ }, $ = {
99
+ isActive: !!v.value,
100
+ isFocused: c,
101
+ controlRef: p,
102
+ focus: () => {
103
+ var e;
104
+ return (e = p.value) == null ? void 0 : e.focus();
105
+ },
106
+ blur: () => {
107
+ var e;
108
+ return (e = p.value) == null ? void 0 : e.blur();
109
+ },
110
+ props: o
111
+ }, Z = $, x = $, _ = a(() => {
112
+ const { class: e, ...n } = G;
113
+ return n;
95
114
  });
96
- return P({
97
- validate: H,
98
- reset: L,
99
- resetValidation: j,
115
+ return E({
116
+ validate: T,
117
+ reset: K,
118
+ resetValidation: N,
100
119
  errorMessages: C,
101
120
  isValid: a(() => !f.value),
102
- rootRef: V,
103
121
  focus: () => {
104
122
  var e;
105
123
  return (e = p.value) == null ? void 0 : e.focus();
106
- }
107
- }), (e, t) => (s(), l("div", E({
124
+ },
125
+ rootRef: p
126
+ }), (e, n) => (s(), l("div", A({
108
127
  class: O.value,
109
- ref_key: "rootRef",
110
- ref: V
111
- }, Y.value), [
112
- i(e.$slots, "label", E({ for: K }, U), () => [
128
+ ref: "rootRef"
129
+ }, _.value), [
130
+ i(e.$slots, "label", A({ for: R }, Y), () => [
113
131
  e.label ? (s(), l("label", {
114
132
  key: 0,
115
- class: g(["absolute left-2 transition-all duration-200 ease-in-out pointer-events-none select-none z-10", S.value || e.placeholder ? "-top-2.25 text-xs opacity-80" : "top-3 text-sm opacity-80"])
116
- }, y(e.label), 3)) : u("", !0)
133
+ for: R,
134
+ class: b(["absolute left-2 transition-all duration-200 ease-in-out pointer-events-none select-none z-10", M.value || e.placeholder ? "-top-2.25 text-xs opacity-80" : "top-3 text-sm opacity-80"])
135
+ }, g(e.label), 3)) : u("", !0)
117
136
  ]),
118
- d("div", de, [
119
- e.prependIcon || e.$slots.prepend ? (s(), l("div", ue, [
120
- i(e.$slots, "prepend", I(R(r(W))), () => [
137
+ d("div", ve, [
138
+ e.prependIcon || e.$slots.prepend ? (s(), l("div", fe, [
139
+ i(e.$slots, "prepend", z(B(t(Z))), () => [
121
140
  d("div", {
122
- onClick: t[0] || (t[0] = (n) => e.handleIconClick(n, "prepend"))
141
+ onClick: n[0] || (n[0] = (r) => e.handleIconClick(r, "prepend"))
123
142
  }, [
124
- (s(), b(m(r(k)(e.prependIcon))))
143
+ (s(), y(m(t(h)(e.prependIcon))))
125
144
  ])
126
145
  ])
127
146
  ])) : u("", !0),
128
- e.prependInnerIcon || e.$slots["prepend-inner"] ? (s(), l("div", pe, [
147
+ e.prependInnerIcon || e.$slots["prepend-inner"] ? (s(), l("div", be, [
129
148
  i(e.$slots, "prepend-inner", {}, () => [
130
149
  d("div", {
131
- onClick: t[1] || (t[1] = (n) => e.handleIconClick(n, "prependInner"))
150
+ onClick: n[1] || (n[1] = (r) => e.handleIconClick(r, "prependInner"))
132
151
  }, [
133
- (s(), b(m(r(k)(e.prependInnerIcon))))
152
+ (s(), y(m(t(h)(e.prependInnerIcon))))
134
153
  ])
135
154
  ])
136
155
  ])) : u("", !0),
137
156
  d("textarea", {
138
157
  ref_key: "textareaRef",
139
158
  ref: p,
140
- value: r(c),
141
- rows: e.rows,
159
+ value: t(v),
160
+ rows: e.autoGrow ? void 0 : e.rows,
142
161
  disabled: e.disabled,
143
162
  readonly: e.readonly,
144
163
  placeholder: e.placeholder,
145
- onInput: t[2] || (t[2] = (n) => {
146
- r(N)(n.target.value), e.autoGrow && r(J)();
147
- }),
148
- onFocus: t[3] || (t[3] = (n) => {
149
- v.value = !0, e.$emit("update:focused", !0);
150
- }),
151
- onBlur: t[4] || (t[4] = (n) => {
152
- v.value = !1, e.$emit("update:focused", !1);
153
- }),
154
- onClick: t[5] || (t[5] = (n) => e.$emit("click:control", n)),
155
- onMousedown: t[6] || (t[6] = (n) => e.$emit("mousedown:control", n)),
156
- onKeydown: t[7] || (t[7] = oe((...n) => r(B) && r(B)(...n), ["enter"])),
157
- class: g([[A.value, D.value, e.inputClasses], "py-3"])
158
- }, null, 42, ve),
159
- e.clearable && r(c) ? (s(), l("div", {
164
+ onInput: L,
165
+ onFocus: j,
166
+ onBlur: J,
167
+ onClick: n[2] || (n[2] = (r) => e.$emit("click:control", r)),
168
+ onMousedown: n[3] || (n[3] = (r) => e.$emit("mousedown:control", r)),
169
+ onKeydown: n[4] || (n[4] = re(se((...r) => t(V) && t(V)(...r), ["prevent"]), ["enter"])),
170
+ class: b([X.value]),
171
+ style: { width: "100%", "box-sizing": "border-box", "overflow-y": "hidden" }
172
+ }, null, 42, ge),
173
+ e.clearable && t(v) ? (s(), l("div", {
160
174
  key: 2,
161
- class: g(["absolute right-2 top-2", Q.value])
175
+ class: b(["absolute right-2 top-2", Q.value])
162
176
  }, [
163
- i(e.$slots, "clear", I(R($)), () => [
177
+ i(e.$slots, "clear", z(B($)), () => [
164
178
  d("button", {
165
179
  type: "button",
166
- onClick: t[8] || (t[8] = (...n) => r(z) && r(z)(...n)),
180
+ onClick: n[5] || (n[5] = (...r) => t(S) && t(S)(...r)),
167
181
  class: "text-gray-500 hover:text-gray-700"
168
182
  }, [
169
- (s(), b(m(r(k)(e.clearIcon))))
183
+ (s(), y(m(t(h)(e.clearIcon))))
170
184
  ])
171
185
  ])
172
186
  ], 2)) : u("", !0),
173
- e.appendInnerIcon || e.$slots["append-inner"] ? (s(), l("div", ce, [
187
+ e.appendInnerIcon || e.$slots["append-inner"] ? (s(), l("div", ye, [
174
188
  i(e.$slots, "append-inner", {}, () => [
175
189
  d("div", {
176
- onClick: t[9] || (t[9] = (n) => e.handleIconClick(n, "appendInner"))
190
+ onClick: n[6] || (n[6] = (r) => e.handleIconClick(r, "appendInner"))
177
191
  }, [
178
- (s(), b(m(r(k)(e.appendInnerIcon))))
192
+ (s(), y(m(t(h)(e.appendInnerIcon))))
179
193
  ])
180
194
  ])
181
195
  ])) : u("", !0),
182
- e.appendIcon || e.$slots.append ? (s(), l("div", fe, [
183
- i(e.$slots, "append", I(R(r(X))), () => [
196
+ e.appendIcon || e.$slots.append ? (s(), l("div", me, [
197
+ i(e.$slots, "append", z(B(t(x))), () => [
184
198
  d("div", {
185
- onClick: t[10] || (t[10] = (n) => e.handleIconClick(n, "append"))
199
+ onClick: n[7] || (n[7] = (r) => e.handleIconClick(r, "append"))
186
200
  }, [
187
- (s(), b(m(r(k)(e.appendIcon))))
201
+ (s(), y(m(t(h)(e.appendIcon))))
188
202
  ])
189
203
  ])
190
204
  ])) : u("", !0),
191
- e.loading ? (s(), l("div", ge, [
205
+ e.loading ? (s(), l("div", he, [
192
206
  i(e.$slots, "loader", {
193
207
  color: e.loadingColor,
194
208
  isActive: !0
195
209
  }, () => [
196
- d("div", ye, [
210
+ d("div", ke, [
197
211
  d("div", {
198
- class: g(["h-full transition-all duration-300", [e.loadingColor]]),
212
+ class: b(["h-full transition-all duration-300", [e.loadingColor]]),
199
213
  style: { width: "100%" }
200
214
  }, null, 2)
201
215
  ])
202
216
  ])
203
217
  ])) : u("", !0),
204
- !e.hideDetails || e.hideDetails === "auto" && (r(C).length || e.hint) ? (s(), l("div", {
218
+ !e.hideDetails || e.hideDetails === "auto" && (t(C).length || e.hint) ? (s(), l("div", {
205
219
  key: 6,
206
- class: g(["text-xs mt-1 space-y-1", { "text-red-500": r(f), "text-gray-500": !r(f) }])
220
+ class: b(["text-xs mt-1 space-y-1", { "text-red-500": t(f), "text-gray-500": !t(f) }])
207
221
  }, [
208
222
  i(e.$slots, "details", {}, () => [
209
- r(f) ? (s(!0), l(te, { key: 0 }, ne(r(C), (n, Z) => i(e.$slots, "message", {
210
- key: Z,
211
- message: n
223
+ t(f) ? (s(!0), l(le, { key: 0 }, ae(t(C), (r, ee) => i(e.$slots, "message", {
224
+ key: ee,
225
+ message: r
212
226
  }, () => [
213
- d("div", null, y(n), 1)
227
+ d("div", null, g(r), 1)
214
228
  ])), 128)) : e.hint ? i(e.$slots, "hint", {
215
229
  key: 1,
216
230
  hint: e.hint
217
231
  }, () => [
218
- re(d("div", null, y(e.hint), 513), [
219
- [se, e.persistentHint || r(v)]
232
+ ie(d("div", null, g(e.hint), 513), [
233
+ [de, e.persistentHint || t(c)]
220
234
  ])
221
235
  ]) : u("", !0)
222
236
  ])
223
237
  ], 2)) : u("", !0),
224
- q.value ? (s(), l("div", be, [
238
+ q.value ? (s(), l("div", Ce, [
225
239
  i(e.$slots, "counter", {
226
- counter: h.value,
227
- max: w.value,
228
- value: h.value
240
+ counter: w.value,
241
+ max: I.value,
242
+ value: w.value
229
243
  }, () => [
230
- le(y(h.value), 1),
231
- w.value ? (s(), l("span", me, " / " + y(w.value), 1)) : u("", !0)
244
+ ue(g(w.value), 1),
245
+ I.value ? (s(), l("span", we, " / " + g(I.value), 1)) : u("", !0)
232
246
  ])
233
247
  ])) : u("", !0)
234
248
  ])
@@ -236,5 +250,5 @@ const de = { class: "relative" }, ue = {
236
250
  }
237
251
  };
238
252
  export {
239
- $e as default
253
+ Re as default
240
254
  };
@@ -1,47 +1,39 @@
1
1
  const e = {
2
- modelValue: [String, Number],
3
- // Etiqueta visible del textarea
2
+ modelValue: [String, Number, Object],
4
3
  label: String,
5
- // Texto de ayuda o descripción secundaria
6
4
  hint: String,
7
- // Clases de estilo personalizadas
8
5
  class: String,
9
6
  bgColor: String,
10
7
  textColor: String,
11
- // Alineación de texto (left, center, right)
12
8
  textAlign: {
13
9
  type: String,
14
10
  default: "left"
15
11
  },
16
- // Define si se debe mostrar el loader
17
12
  loading: Boolean,
18
- // Slot para ícono al comienzo
13
+ prependIcon: [String, Object, Function],
14
+ appendIcon: [String, Object, Function],
19
15
  prependInnerIcon: [String, Object, Function],
20
- // Slot para ícono al final
21
16
  appendInnerIcon: [String, Object, Function],
22
- // Slots adicionales
17
+ clearable: Boolean,
18
+ persistentClear: Boolean,
23
19
  loader: Boolean,
24
- hideDetails: Boolean,
25
- // Deshabilita la entrada
20
+ hideDetails: [Boolean, String],
26
21
  disabled: Boolean,
27
22
  readonly: Boolean,
28
- // Valida errores sólo al blur (desenfocar)
29
23
  blurValidation: Boolean,
30
- // Validaciones
31
24
  rules: Array,
32
25
  errorMessages: [String, Array],
33
- maxErrors: Number,
34
- // Forzar estado de error visual
26
+ maxErrors: {
27
+ type: Number,
28
+ default: 3
29
+ },
35
30
  error: Boolean,
36
- // Contador de caracteres
37
31
  counter: Boolean,
32
+ persistentCounter: Boolean,
38
33
  maxLength: [Number, String],
39
- // Crecimiento dinámico
40
34
  autoGrow: Boolean,
41
35
  noResize: Boolean,
42
36
  maxRows: [Number, String],
43
- // aplica si autoGrow está activo
44
- // Atributos HTML nativos
45
37
  placeholder: String,
46
38
  name: String,
47
39
  id: String,
@@ -49,7 +41,23 @@ const e = {
49
41
  rows: {
50
42
  type: [Number, String],
51
43
  default: 5
52
- }
44
+ },
45
+ dirty: Boolean,
46
+ variant: {
47
+ type: String,
48
+ default: "outlined"
49
+ },
50
+ density: {
51
+ type: String,
52
+ default: "default"
53
+ },
54
+ inputClass: [String, Array],
55
+ wrapperClass: [String, Array],
56
+ tile: Boolean,
57
+ rounded: [String, Number],
58
+ flat: Boolean,
59
+ color: String,
60
+ loadingColor: String
53
61
  };
54
62
  export {
55
63
  e as kunTextareaProps
@@ -1,8 +1,8 @@
1
- import { ref as o, computed as g, watch as A, nextTick as h, onMounted as C, onBeforeUnmount as F } from "vue";
2
- function L(t, v) {
3
- const m = o(null), r = o(""), i = o(t.modelValue), H = o(!1), s = o([]), x = o(null), c = g(() => t.formatModel === "json" || t.formatModel === "auto" && typeof t.modelValue == "object");
1
+ import { ref as i, computed as h, watch as C, nextTick as m, onMounted as k, onBeforeUnmount as A } from "vue";
2
+ function T(t, v, l) {
3
+ const r = i(""), c = i(t.modelValue), J = i(!1), a = i([]), f = h(() => t.formatModel === "json" || t.formatModel === "auto" && typeof t.modelValue == "object");
4
4
  function y(e) {
5
- if (c.value && e != null)
5
+ if (f.value && e != null)
6
6
  try {
7
7
  return JSON.stringify(e, null, 2);
8
8
  } catch {
@@ -10,8 +10,8 @@ function L(t, v) {
10
10
  }
11
11
  return e ?? "";
12
12
  }
13
- function R(e) {
14
- if (c.value && typeof e == "string")
13
+ function M(e) {
14
+ if (f.value && typeof e == "string")
15
15
  try {
16
16
  return JSON.parse(e);
17
17
  } catch {
@@ -19,72 +19,74 @@ function L(t, v) {
19
19
  }
20
20
  return e;
21
21
  }
22
- function J(e) {
23
- const n = R(e);
24
- i.value = n, v("update:modelValue", n), v("change", n);
22
+ function x(e) {
23
+ const u = M(e);
24
+ c.value = u, v("update:modelValue", u), v("change", u);
25
25
  }
26
- A(() => t.modelValue, (e) => {
27
- const n = JSON.stringify(e), a = JSON.stringify(i.value);
28
- n !== a && (i.value = e, r.value = y(e), t.autoGrow && h(f));
29
- });
30
- const f = () => {
31
- if (!textareaRef.value) return;
32
- textareaRef.value.style.height = "auto", textareaRef.value.style.overflowY = "hidden";
33
- const e = textareaRef.value.scrollHeight, n = parseFloat(getComputedStyle(textareaRef.value).lineHeight || "24"), a = Number(t.maxRows || 0);
34
- if (t.maxRows && a > 0) {
35
- const u = a * n;
36
- textareaRef.value.style.height = Math.min(e, u) + "px";
26
+ C(
27
+ () => t.modelValue,
28
+ (e) => {
29
+ const u = JSON.stringify(e), n = JSON.stringify(c.value);
30
+ u !== n && (c.value = e, r.value = y(e), t.autoGrow && m(() => d()));
31
+ },
32
+ { immediate: !0 }
33
+ );
34
+ const d = () => {
35
+ if (!l.value) return;
36
+ l.value.style.height = "auto", l.value.style.overflowY = "hidden";
37
+ const e = l.value.scrollHeight, u = parseFloat(getComputedStyle(l.value).lineHeight) || 24, n = Number(t.maxRows || 0);
38
+ if (t.maxRows && n > 0) {
39
+ const o = n * u;
40
+ l.value.style.height = Math.min(e, o) + "px";
37
41
  } else
38
- textareaRef.value.style.height = e + "px";
42
+ l.value.style.height = e + "px";
39
43
  };
40
- C(() => {
41
- r.value = y(t.modelValue), h(() => {
42
- t.autoGrow && f();
44
+ function N(e) {
45
+ var V;
46
+ if (!f.value || e.key !== "Enter") return;
47
+ const u = l.value;
48
+ if (!u) return;
49
+ const n = u.selectionStart, o = r.value, s = " ", g = o.slice(0, n), b = o.slice(n), j = g.lastIndexOf(`
50
+ `) + 1, S = `
51
+ ${((V = g.slice(j).match(/^\s*/)) == null ? void 0 : V[0]) ?? ""}${s}`;
52
+ r.value = g + S + b, m(() => {
53
+ const H = n + S.length;
54
+ u.setSelectionRange(H, H);
55
+ }), e.preventDefault();
56
+ }
57
+ k(() => {
58
+ r.value = y(t.modelValue), m(() => {
59
+ t.autoGrow && d();
43
60
  });
44
- }), F(() => {
45
- x.value && cancelAnimationFrame(x.value);
61
+ }), A(() => {
46
62
  });
47
- const M = g(() => {
63
+ const w = h(() => {
48
64
  var e;
49
- return !!(s.value.length || (e = t.errorMessages) != null && e.length);
50
- }), N = g(() => M.value ? [...t.errorMessages || [], ...s.value].slice(0, t.maxErrors) : []);
51
- function O() {
52
- const e = t.rules || [], n = t.required && !r.value ? null : R(r.value), a = [];
53
- for (const u of e) {
54
- const l = typeof u == "function" ? u(n) : u;
55
- Array.isArray(l) ? a.push(...l) : typeof l == "string" ? a.push(l) : l === !1 && a.push("Campo inválido");
56
- }
57
- return s.value = a, a.length === 0;
58
- }
65
+ return !!(a.value.length || (e = t.errorMessages) != null && e.length);
66
+ }), O = h(() => w.value ? [...t.errorMessages || [], ...a.value].slice(0, t.maxErrors) : []);
59
67
  function E() {
60
- s.value = [];
68
+ const e = t.rules || [], u = t.required && !r.value ? null : M(r.value), n = [];
69
+ for (const o of e) {
70
+ const s = typeof o == "function" ? o(u) : o;
71
+ Array.isArray(s) ? n.push(...s) : typeof s == "string" ? n.push(s) : s === !1 && n.push("Campo inválido");
72
+ }
73
+ return a.value = n, n.length === 0;
61
74
  }
62
- function I(e) {
63
- var S;
64
- if (!c.value || e.key !== "Enter") return;
65
- const n = m.value;
66
- if (!n) return;
67
- const a = n.selectionStart, u = r.value, l = " ", d = u.slice(0, a), b = u.slice(a), j = d.lastIndexOf(`
68
- `) + 1, w = `
69
- ${((S = d.slice(j).match(/^\s*/)) == null ? void 0 : S[0]) ?? ""}${l}`;
70
- r.value = d + w + b, h(() => {
71
- const V = a + w.length;
72
- n.setSelectionRange(V, V);
73
- }), e.preventDefault();
75
+ function I() {
76
+ a.value = [];
74
77
  }
75
78
  return {
76
- inputRef: m,
77
79
  internalValue: r,
78
- isFocused: H,
79
- hasError: M,
80
- displayedMessages: N,
81
- validate: O,
82
- resetValidation: E,
83
- updateModel: J,
84
- adjustHeight: f,
85
- handleJsonEnter: I
80
+ isFocused: J,
81
+ hasError: w,
82
+ displayedMessages: O,
83
+ validate: E,
84
+ resetValidation: I,
85
+ updateModel: x,
86
+ adjustHeight: d,
87
+ handleJsonEnter: N
86
88
  };
87
89
  }
88
90
  export {
89
- L as default
91
+ T as default
90
92
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adverich-kun-ui",
3
- "version": "0.1.409",
3
+ "version": "0.1.410",
4
4
  "type": "module",
5
5
  "description": "Una librería de componentes Vue.js con Tailwind CSS",
6
6
  "main": "dist/index.js",