adverich-kun-ui 0.1.384 → 0.1.386

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,58 +1,141 @@
1
- import { ref as o, watch as R } from "vue";
2
- import { format as i, toRawNumberString as m, fromRawString as r, clamp as f } from "./numberFormatUtils.js";
3
- function I(e, a) {
4
- const u = o(""), x = o(null), N = o(null), c = o(!1);
5
- let t = "";
6
- R(
7
- () => e.modelValue,
8
- (n) => {
9
- n == null || isNaN(n) ? (u.value = i(0, e), t = "") : (t = m(n, e.precision), u.value = i(parseFloat(n), e));
10
- },
11
- { immediate: !0 }
12
- );
13
- function V(n) {
14
- const l = n.key, s = /^[0-9]$/.test(l), v = l === "Backspace";
15
- if (!s && !v) {
16
- n.preventDefault();
1
+ import { ref as S, watch as j, nextTick as C } from "vue";
2
+ import { format as d, clamp as b, toRawNumberString as x, fromRawString as L } from "./numberFormatUtils.js";
3
+ function J(t, o) {
4
+ const l = S(""), r = S(null), F = S(null), D = S(!1), s = S(0);
5
+ let e = "";
6
+ const K = t.precision + 1;
7
+ function v(n) {
8
+ return n.padStart(K, "0");
9
+ }
10
+ j(() => t.modelValue, (n) => {
11
+ if (n == null || isNaN(n))
12
+ l.value = d(0, t), e = "0".repeat(t.precision + 1);
13
+ else {
14
+ const i = parseFloat(n), u = b(i, t.min, t.max);
15
+ e = x(u, t.precision), e.length < t.precision + 1 && (e = e.padStart(t.precision + 1, "0")), l.value = d(u, t);
16
+ }
17
+ }, { immediate: !0 });
18
+ function B(n) {
19
+ const { key: i, target: u } = n, c = /^[0-9]$/.test(i), A = i === "Backspace", y = i === "Delete", m = ["ArrowLeft", "ArrowRight", "ArrowUp", "ArrowDown"].includes(i), h = n.ctrlKey || n.metaKey, f = i === "Home", z = i === "End";
20
+ if (f) {
21
+ C(() => {
22
+ if (!r.value) return;
23
+ const w = l.value.search(/\d/);
24
+ r.value.setSelectionRange(w, w);
25
+ });
26
+ return;
27
+ }
28
+ if (z) {
29
+ C(() => {
30
+ if (!r.value) return;
31
+ const a = l.value;
32
+ r.value.setSelectionRange(a.length, a.length);
33
+ });
17
34
  return;
18
35
  }
19
- s ? t += l : v && (t = t.slice(0, -1));
20
- const b = t.padStart(e.precision + 1, "0"), h = b.slice(0, -e.precision), y = b.slice(-e.precision), B = parseFloat(`${h}.${y}`), d = f(B, e.min, e.max);
21
- u.value = i(d, e), a("update:modelValue", d), a("input", d), n.preventDefault();
36
+ if (m || h) return;
37
+ const R = M(l.value, u.selectionStart);
38
+ n.preventDefault();
39
+ const k = t.precision + 1;
40
+ for (; e.length < k; )
41
+ e = "0" + e;
42
+ const g = N(l.value, R);
43
+ if (c)
44
+ e = e.substring(0, g) + i + e.substring(g), s.value = g + 1;
45
+ else if (A && R > 0) {
46
+ const a = N(l.value, R), w = a - 1;
47
+ if (e.length <= 3) {
48
+ const U = Math.max(0, a - 1);
49
+ e = e.slice(0, U) + e.slice(a), e = v(e), s.value = a, V();
50
+ return;
51
+ }
52
+ a > 0 && (e = e.slice(0, w) + e.slice(a), e = v(e), s.value = w);
53
+ } else y && R < l.value.length && g < e.length && (e = e.substring(0, g) + e.substring(g + 1), s.value = g);
54
+ for (e = v(e); e.length < k; )
55
+ e = "0" + e;
56
+ V();
57
+ }
58
+ function N(n, i) {
59
+ let u = 0;
60
+ for (let c = 0; c < i; c++)
61
+ /\d/.test(n[c]) && u++;
62
+ return u;
63
+ }
64
+ function E(n, i) {
65
+ let u = 0;
66
+ for (let c = 0; c < n.length; c++)
67
+ if (/\d/.test(n[c])) {
68
+ if (u === i)
69
+ return c;
70
+ u++;
71
+ }
72
+ for (let c = n.length - 1; c >= 0; c--)
73
+ if (/\d/.test(n[c]))
74
+ return c + 1;
75
+ return n.length;
76
+ }
77
+ function M(n, i) {
78
+ for (; i < n.length && !/\d/.test(n[i]); )
79
+ i++;
80
+ if (i >= n.length)
81
+ for (i = n.length; i > 0 && !/\d/.test(n[i - 1]); )
82
+ i--;
83
+ const u = n.search(/\d/);
84
+ return i < u && (i = u), i;
85
+ }
86
+ function V() {
87
+ const n = t.precision + 1;
88
+ e.padStart(n, "0");
89
+ const i = Math.max(1, e.length - t.precision), u = e.slice(0, i) || "0", c = e.slice(i).padEnd(t.precision, "0").slice(0, t.precision), A = `${u}.${c}`, y = parseFloat(A), m = b(y, t.min, t.max);
90
+ e = x(m, t.precision), l.value = d(m, t), o("update:modelValue", m), o("input", m), C(() => {
91
+ if (r.value)
92
+ try {
93
+ const h = l.value;
94
+ let f = E(h, s.value);
95
+ for (; f < h.length && !/\d/.test(h[f]); )
96
+ f++;
97
+ r.value.setSelectionRange(f, f);
98
+ } catch {
99
+ r.value.setSelectionRange(l.value.length, l.value.length);
100
+ }
101
+ });
22
102
  }
23
- function g() {
24
- c.value = !1;
25
- const n = r(t, e.precision), l = f(n, e.min, e.max);
26
- t = m(l, e.precision), u.value = i(l, e), a("update:modelValue", l), a("blur");
103
+ function P() {
104
+ D.value = !1, e = v(e);
105
+ const n = L(e, t.precision), i = b(n, t.min, t.max);
106
+ e = x(i, t.precision), e = v(e), l.value = d(i, t), o("update:modelValue", i), o("blur");
27
107
  }
28
- function k() {
29
- c.value = !0, a("focus");
108
+ function T() {
109
+ var i;
110
+ D.value = !0;
111
+ const n = ((i = r.value) == null ? void 0 : i.selectionStart) || 0;
112
+ s.value = N(l.value, n), o("focus");
30
113
  }
31
- function D() {
32
- let n = r(t, e.precision) || 0;
33
- n = f(n + Number(e.step), e.min, e.max), t = m(n, e.precision), u.value = i(n, e), a("update:modelValue", n);
114
+ function $() {
115
+ let n = L(e, t.precision) || 0;
116
+ n = b(n + Number(t.step), t.min, t.max), e = x(n, t.precision), l.value = d(n, t), o("update:modelValue", n);
34
117
  }
35
- function F() {
36
- let n = r(t, e.precision) || 0;
37
- n = f(n - Number(e.step), e.min, e.max), t = m(n, e.precision), u.value = i(n, e), a("update:modelValue", n);
118
+ function H() {
119
+ let n = L(e, t.precision) || 0;
120
+ n = b(n - Number(t.step), t.min, t.max), e = x(n, t.precision), l.value = d(n, t), o("update:modelValue", n);
38
121
  }
39
- function S() {
40
- t = "", u.value = i(0, e), a("update:modelValue", null);
122
+ function I() {
123
+ e = "0".repeat(t.precision + 1), s.value = t.precision + 1, V();
41
124
  }
42
125
  return {
43
- inputValue: u,
44
- numberInput: x,
45
- rootRef: N,
46
- validateKey: V,
47
- handleFocus: k,
48
- handleBlur: g,
49
- onIncrement: D,
50
- onDecrement: F,
51
- onClear: S,
52
- isActive: c,
53
- focus: c
126
+ inputValue: l,
127
+ numberInput: r,
128
+ rootRef: F,
129
+ validateKey: B,
130
+ handleFocus: T,
131
+ handleBlur: P,
132
+ onIncrement: $,
133
+ onDecrement: H,
134
+ onClear: I,
135
+ isActive: D,
136
+ focus: D
54
137
  };
55
138
  }
56
139
  export {
57
- I as useKunNumberField
140
+ J as useKunNumberField
58
141
  };
@@ -1,7 +1,7 @@
1
1
  import { computed as o, createElementBlock as s, openBlock as n, normalizeClass as d, createCommentVNode as u, renderSlot as g, createVNode as y, Fragment as $, renderList as B, createBlock as h, resolveDynamicComponent as T, unref as r, createTextVNode as V, toDisplayString as A } from "vue";
2
2
  import E from "../../../KunCheckbox/src/components/KunCheckbox.vue.js";
3
3
  import { getValue as x, formatValue as j } from "../../../../utils/tableFormatters.js";
4
- const N = { key: 0 }, O = { key: 1 }, R = "px-3 py-2 whitespace-nowrap text-sm text-black dark:text-white", D = "hover:bg-slate-300 dark:hover:bg-slate-600 border-t border-slate-300 dark:border-slate-700", F = "bg-slate-100 dark:bg-slate-900", L = {
4
+ const N = { key: 0 }, O = { key: 1 }, R = "px-1 py-2 whitespace-normal word-break text-sm text-black dark:text-white", D = "hover:bg-slate-300 dark:hover:bg-slate-600 border-t border-slate-300 dark:border-slate-700", F = "bg-slate-100 dark:bg-slate-900", L = {
5
5
  __name: "KunTableRow",
6
6
  props: {
7
7
  item: Object,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "adverich-kun-ui",
3
- "version": "0.1.384",
3
+ "version": "0.1.386",
4
4
  "type": "module",
5
5
  "description": "Una librería de componentes Vue.js con Tailwind CSS",
6
6
  "main": "dist/index.js",