@quidgest/ui 0.14.12 → 0.14.14
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.
- package/dist/manifest/components.json +3 -0
- package/dist/ui.css +1726 -211
- package/dist/ui.esm.js +11110 -1888
- package/dist/ui.js +21 -21
- package/dist/ui.min.css +1 -1
- package/dist/ui.min.js +1212 -255
- package/dist/ui.scss +278 -85
- package/esm/components/QBadge/QBadge.d.ts +2 -1
- package/esm/components/QBadge/QBadge.d.ts.map +1 -1
- package/esm/components/QBadge/QBadge.vue.js +75 -66
- package/esm/components/QBadge/index.d.ts +3 -0
- package/esm/components/QBadge/index.d.ts.map +1 -1
- package/esm/components/QBadge/types.d.ts +7 -0
- package/esm/components/QBadge/types.d.ts.map +1 -1
- package/esm/components/QBadge/types.js +5 -2
- package/esm/components/QBadgeIndicator/QBadgeIndicator.d.ts +22 -0
- package/esm/components/QBadgeIndicator/QBadgeIndicator.d.ts.map +1 -0
- package/esm/components/QBadgeIndicator/QBadgeIndicator.vue.js +43 -0
- package/esm/components/QBadgeIndicator/QBadgeIndicator.vue2.js +4 -0
- package/esm/components/QBadgeIndicator/index.d.ts +28 -0
- package/esm/components/QBadgeIndicator/index.d.ts.map +1 -0
- package/esm/components/QBadgeIndicator/index.js +6 -0
- package/esm/components/QBadgeIndicator/types.d.ts +19 -0
- package/esm/components/QBadgeIndicator/types.d.ts.map +1 -0
- package/esm/components/QCombobox/QCombobox.d.ts +32 -4
- package/esm/components/QCombobox/QCombobox.d.ts.map +1 -1
- package/esm/components/QCombobox/index.d.ts +56 -7
- package/esm/components/QCombobox/index.d.ts.map +1 -1
- package/esm/components/QDateTimePicker/QDateTimePicker.d.ts +36 -0
- package/esm/components/QDateTimePicker/QDateTimePicker.d.ts.map +1 -0
- package/esm/components/QDateTimePicker/QDateTimePicker.vue.js +168 -0
- package/esm/components/QDateTimePicker/QDateTimePicker.vue2.js +4 -0
- package/esm/components/QDateTimePicker/index.d.ts +54 -0
- package/esm/components/QDateTimePicker/index.d.ts.map +1 -0
- package/esm/components/QDateTimePicker/index.js +6 -0
- package/esm/components/QDateTimePicker/types.d.ts +93 -0
- package/esm/components/QDateTimePicker/types.d.ts.map +1 -0
- package/esm/components/QDateTimePicker/types.js +15 -0
- package/esm/components/QFileUpload/QFileUpload.d.ts +37 -0
- package/esm/components/QFileUpload/QFileUpload.d.ts.map +1 -0
- package/esm/components/QFileUpload/QFileUpload.vue.js +238 -0
- package/esm/components/QFileUpload/QFileUpload.vue2.js +4 -0
- package/esm/components/QFileUpload/index.d.ts +52 -0
- package/esm/components/QFileUpload/index.d.ts.map +1 -0
- package/esm/components/QFileUpload/index.js +6 -0
- package/esm/components/QFileUpload/types.d.ts +69 -0
- package/esm/components/QFileUpload/types.d.ts.map +1 -0
- package/esm/components/QFileUpload/types.js +28 -0
- package/esm/components/QOverlay/QOverlay.d.ts.map +1 -1
- package/esm/components/QOverlay/QOverlay.vue.js +64 -64
- package/esm/components/QTextField/QTextField.d.ts +3 -0
- package/esm/components/QTextField/QTextField.d.ts.map +1 -1
- package/esm/components/QTextField/QTextField.vue.js +51 -39
- package/esm/components/QTextField/index.d.ts +7 -0
- package/esm/components/QTextField/index.d.ts.map +1 -1
- package/esm/components/QTextField/types.d.ts +11 -0
- package/esm/components/QTextField/types.d.ts.map +1 -1
- package/esm/components/QTooltip/QTooltip.d.ts.map +1 -1
- package/esm/components/QTooltip/QTooltip.vue.js +50 -29
- package/esm/components/index.d.ts +3 -0
- package/esm/components/index.d.ts.map +1 -1
- package/esm/components/index.js +62 -56
- package/esm/composables/maska.d.ts +28 -0
- package/esm/composables/maska.d.ts.map +1 -0
- package/esm/composables/maska.js +26 -0
- package/esm/composables/useDropZone/index.d.ts +38 -0
- package/esm/composables/useDropZone/index.d.ts.map +1 -0
- package/esm/composables/useDropZone/index.js +62 -0
- package/esm/index.d.ts +3 -0
- package/esm/utils/color.js +57 -27
- package/esm/utils/date/date.d.ts +9 -0
- package/esm/utils/date/date.d.ts.map +1 -0
- package/esm/utils/date/date.js +91 -0
- package/esm/utils/date/index.d.ts +4 -0
- package/esm/utils/date/index.d.ts.map +1 -0
- package/esm/utils/date/tokens.d.ts +49 -0
- package/esm/utils/date/tokens.d.ts.map +1 -0
- package/esm/utils/date/tokens.js +243 -0
- package/esm/utils/download.d.ts +7 -0
- package/esm/utils/download.d.ts.map +1 -0
- package/esm/utils/download.js +16 -0
- package/esm/utils/string.d.ts.map +1 -1
- package/esm/utils/string.js +5 -2
- package/esm/utils/time.d.ts +36 -0
- package/esm/utils/time.d.ts.map +1 -0
- package/esm/utils/time.js +14 -0
- package/esm/vendors/@vuepic/vue-datepicker/dist/vue-datepicker.js +5148 -0
- package/esm/vendors/date-fns/_lib/addLeadingZeros.js +7 -0
- package/esm/vendors/date-fns/_lib/defaultOptions.js +7 -0
- package/esm/vendors/date-fns/_lib/format/formatters.js +583 -0
- package/esm/vendors/date-fns/_lib/format/lightFormatters.js +59 -0
- package/esm/vendors/date-fns/_lib/format/longFormatters.js +52 -0
- package/esm/vendors/date-fns/_lib/getTimezoneOffsetInMilliseconds.js +18 -0
- package/esm/vendors/date-fns/_lib/normalizeDates.js +11 -0
- package/esm/vendors/date-fns/_lib/normalizeInterval.js +8 -0
- package/esm/vendors/date-fns/_lib/protectedTokens.js +20 -0
- package/esm/vendors/date-fns/add.js +20 -0
- package/esm/vendors/date-fns/addDays.js +10 -0
- package/esm/vendors/date-fns/addHours.js +9 -0
- package/esm/vendors/date-fns/addMilliseconds.js +9 -0
- package/esm/vendors/date-fns/addMonths.js +20 -0
- package/esm/vendors/date-fns/addQuarters.js +8 -0
- package/esm/vendors/date-fns/addYears.js +8 -0
- package/esm/vendors/date-fns/compareAsc.js +9 -0
- package/esm/vendors/date-fns/constants.js +9 -0
- package/esm/vendors/date-fns/constructFrom.js +8 -0
- package/esm/vendors/date-fns/differenceInCalendarDays.js +16 -0
- package/esm/vendors/date-fns/differenceInCalendarYears.js +13 -0
- package/esm/vendors/date-fns/differenceInYears.js +17 -0
- package/esm/vendors/date-fns/eachDayOfInterval.js +17 -0
- package/esm/vendors/date-fns/eachQuarterOfInterval.js +18 -0
- package/esm/vendors/date-fns/endOfQuarter.js +9 -0
- package/esm/vendors/date-fns/endOfWeek.js +11 -0
- package/esm/vendors/date-fns/endOfYear.js +9 -0
- package/esm/vendors/date-fns/format.js +59 -0
- package/esm/vendors/date-fns/getDay.js +8 -0
- package/esm/vendors/date-fns/getDayOfYear.js +11 -0
- package/esm/vendors/date-fns/getDaysInMonth.js +10 -0
- package/esm/vendors/date-fns/getDefaultOptions.js +8 -0
- package/esm/vendors/date-fns/getHours.js +8 -0
- package/esm/vendors/date-fns/getISODay.js +9 -0
- package/esm/vendors/date-fns/getISOWeek.js +12 -0
- package/esm/vendors/date-fns/getISOWeekYear.js +15 -0
- package/esm/vendors/date-fns/getMinutes.js +8 -0
- package/esm/vendors/date-fns/getMonth.js +8 -0
- package/esm/vendors/date-fns/getQuarter.js +9 -0
- package/esm/vendors/date-fns/getSeconds.js +8 -0
- package/esm/vendors/date-fns/getWeek.js +12 -0
- package/esm/vendors/date-fns/getWeekYear.js +17 -0
- package/esm/vendors/date-fns/getYear.js +8 -0
- package/esm/vendors/date-fns/isAfter.js +8 -0
- package/esm/vendors/date-fns/isBefore.js +8 -0
- package/esm/vendors/date-fns/isDate.js +7 -0
- package/esm/vendors/date-fns/isEqual.js +8 -0
- package/esm/vendors/date-fns/isSameQuarter.js +14 -0
- package/esm/vendors/date-fns/isValid.js +9 -0
- package/esm/vendors/date-fns/locale/_lib/buildFormatLongFn.js +9 -0
- package/esm/vendors/date-fns/locale/_lib/buildLocalizeFn.js +18 -0
- package/esm/vendors/date-fns/locale/_lib/buildMatchFn.js +31 -0
- package/esm/vendors/date-fns/locale/_lib/buildMatchPatternFn.js +15 -0
- package/esm/vendors/date-fns/locale/en-US/_lib/formatDistance.js +70 -0
- package/esm/vendors/date-fns/locale/en-US/_lib/formatLong.js +33 -0
- package/esm/vendors/date-fns/locale/en-US/_lib/formatRelative.js +11 -0
- package/esm/vendors/date-fns/locale/en-US/_lib/localize.js +155 -0
- package/esm/vendors/date-fns/locale/en-US/_lib/match.js +110 -0
- package/esm/vendors/date-fns/locale/en-US.js +21 -0
- package/esm/vendors/date-fns/parse/_lib/Parser.js +22 -0
- package/esm/vendors/date-fns/parse/_lib/Setter.js +41 -0
- package/esm/vendors/date-fns/parse/_lib/constants.js +49 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/AMPMMidnightParser.js +49 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/AMPMParser.js +49 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/DateParser.js +61 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/DayOfYearParser.js +51 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/DayParser.js +49 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/DayPeriodParser.js +49 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/EraParser.js +33 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/ExtendedYearParser.js +21 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/FractionOfSecondParser.js +22 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/Hour0To11Parser.js +32 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/Hour0to23Parser.js +32 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/Hour1To24Parser.js +33 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/Hour1to12Parser.js +33 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/ISODayParser.js +105 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/ISOTimezoneParser.js +48 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/ISOTimezoneWithZParser.js +48 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/ISOWeekParser.js +49 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/ISOWeekYearParser.js +40 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/LocalDayParser.js +80 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/LocalWeekParser.js +48 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/LocalWeekYearParser.js +69 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/MinuteParser.js +32 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/MonthParser.js +77 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/QuarterParser.js +75 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/SecondParser.js +32 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/StandAloneLocalDayParser.js +80 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/StandAloneMonthParser.js +77 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/StandAloneQuarterParser.js +75 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/TimestampMillisecondsParser.js +22 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/TimestampSecondsParser.js +22 -0
- package/esm/vendors/date-fns/parse/_lib/parsers/YearParser.js +49 -0
- package/esm/vendors/date-fns/parse/_lib/parsers.js +67 -0
- package/esm/vendors/date-fns/parse/_lib/utils.js +103 -0
- package/esm/vendors/date-fns/parse.js +89 -0
- package/esm/vendors/date-fns/set.js +11 -0
- package/esm/vendors/date-fns/setDay.js +12 -0
- package/esm/vendors/date-fns/setHours.js +9 -0
- package/esm/vendors/date-fns/setISODay.js +11 -0
- package/esm/vendors/date-fns/setISOWeek.js +10 -0
- package/esm/vendors/date-fns/setMilliseconds.js +9 -0
- package/esm/vendors/date-fns/setMinutes.js +9 -0
- package/esm/vendors/date-fns/setMonth.js +13 -0
- package/esm/vendors/date-fns/setSeconds.js +9 -0
- package/esm/vendors/date-fns/setWeek.js +10 -0
- package/esm/vendors/date-fns/setYear.js +10 -0
- package/esm/vendors/date-fns/startOfDay.js +9 -0
- package/esm/vendors/date-fns/startOfISOWeek.js +8 -0
- package/esm/vendors/date-fns/startOfISOWeekYear.js +11 -0
- package/esm/vendors/date-fns/startOfMonth.js +9 -0
- package/esm/vendors/date-fns/startOfQuarter.js +9 -0
- package/esm/vendors/date-fns/startOfWeek.js +11 -0
- package/esm/vendors/date-fns/startOfWeekYear.js +13 -0
- package/esm/vendors/date-fns/startOfYear.js +9 -0
- package/esm/vendors/date-fns/sub.js +19 -0
- package/esm/vendors/date-fns/subDays.js +8 -0
- package/esm/vendors/date-fns/subMonths.js +8 -0
- package/esm/vendors/date-fns/subYears.js +8 -0
- package/esm/vendors/date-fns/toDate.js +8 -0
- package/esm/vendors/date-fns/transpose.js +18 -0
- package/esm/vendors/maska/dist/maska.js +179 -0
- package/package.json +5 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
var w = Object.defineProperty, C = (a, t, e) => t in a ? w(a, t, { enumerable: !0, configurable: !0, writable: !0, value: e }) : a[t] = e, A = (a, t, e) => C(a, typeof t != "symbol" ? t + "" : t, e);
|
|
2
|
+
const R = {
|
|
3
|
+
"#": { pattern: /[0-9]/ },
|
|
4
|
+
"@": { pattern: /[a-zA-Z]/ },
|
|
5
|
+
"*": { pattern: /[a-zA-Z0-9]/ }
|
|
6
|
+
}, N = (a, t, e) => a.replaceAll(t, "").replace(e, ".").replace("..", ".").replace(/[^.\d]/g, ""), I = (a, t, e) => {
|
|
7
|
+
var s;
|
|
8
|
+
return new Intl.NumberFormat(((s = e.number) == null ? void 0 : s.locale) ?? "en", {
|
|
9
|
+
minimumFractionDigits: a,
|
|
10
|
+
maximumFractionDigits: t,
|
|
11
|
+
roundingMode: "trunc"
|
|
12
|
+
});
|
|
13
|
+
}, P = (a, t = !0, e) => {
|
|
14
|
+
var s, n, r, h;
|
|
15
|
+
const u = ((s = e.number) == null ? void 0 : s.unsigned) !== !0 && a.startsWith("-") ? "-" : "", l = ((n = e.number) == null ? void 0 : n.fraction) ?? 0;
|
|
16
|
+
let o = I(0, l, e);
|
|
17
|
+
const k = o.formatToParts(1000.12), c = ((r = k.find((i) => i.type === "group")) == null ? void 0 : r.value) ?? " ", b = ((h = k.find((i) => i.type === "decimal")) == null ? void 0 : h.value) ?? ".", g = N(a, c, b);
|
|
18
|
+
if (Number.isNaN(parseFloat(g))) return u;
|
|
19
|
+
const f = g.split(".");
|
|
20
|
+
if (f[1] != null && f[1].length >= 1) {
|
|
21
|
+
const i = f[1].length <= l ? f[1].length : l;
|
|
22
|
+
o = I(i, l, e);
|
|
23
|
+
}
|
|
24
|
+
let m = o.format(parseFloat(g));
|
|
25
|
+
return t ? l > 0 && g.endsWith(".") && !g.slice(0, -1).includes(".") && (m += b) : m = N(m, c, b), u + m;
|
|
26
|
+
};
|
|
27
|
+
class T {
|
|
28
|
+
constructor(t = {}) {
|
|
29
|
+
A(this, "opts", {}), A(this, "memo", /* @__PURE__ */ new Map());
|
|
30
|
+
const e = { ...t };
|
|
31
|
+
if (e.tokens != null) {
|
|
32
|
+
e.tokens = e.tokensReplace ? { ...e.tokens } : { ...R, ...e.tokens };
|
|
33
|
+
for (const s of Object.values(e.tokens))
|
|
34
|
+
typeof s.pattern == "string" && (s.pattern = new RegExp(s.pattern));
|
|
35
|
+
} else
|
|
36
|
+
e.tokens = R;
|
|
37
|
+
Array.isArray(e.mask) && (e.mask.length > 1 ? e.mask = [...e.mask].sort((s, n) => s.length - n.length) : e.mask = e.mask[0] ?? ""), e.mask === "" && (e.mask = null), this.opts = e;
|
|
38
|
+
}
|
|
39
|
+
masked(t) {
|
|
40
|
+
return this.process(String(t), this.findMask(String(t)));
|
|
41
|
+
}
|
|
42
|
+
unmasked(t) {
|
|
43
|
+
return this.process(String(t), this.findMask(String(t)), !1);
|
|
44
|
+
}
|
|
45
|
+
isEager() {
|
|
46
|
+
return this.opts.eager === !0;
|
|
47
|
+
}
|
|
48
|
+
isReversed() {
|
|
49
|
+
return this.opts.reversed === !0;
|
|
50
|
+
}
|
|
51
|
+
completed(t) {
|
|
52
|
+
const e = this.findMask(String(t));
|
|
53
|
+
if (this.opts.mask == null || e == null) return !1;
|
|
54
|
+
const s = this.process(String(t), e).length;
|
|
55
|
+
return typeof this.opts.mask == "string" ? s >= this.opts.mask.length : s >= e.length;
|
|
56
|
+
}
|
|
57
|
+
findMask(t) {
|
|
58
|
+
const e = this.opts.mask;
|
|
59
|
+
if (e == null)
|
|
60
|
+
return null;
|
|
61
|
+
if (typeof e == "string")
|
|
62
|
+
return e;
|
|
63
|
+
if (typeof e == "function")
|
|
64
|
+
return e(t);
|
|
65
|
+
const s = this.process(t, e.slice(-1).pop() ?? "", !1);
|
|
66
|
+
return e.find((n) => this.process(t, n, !1).length >= s.length) ?? "";
|
|
67
|
+
}
|
|
68
|
+
escapeMask(t) {
|
|
69
|
+
const e = [], s = [];
|
|
70
|
+
return t.split("").forEach((n, r) => {
|
|
71
|
+
n === "!" && t[r - 1] !== "!" ? s.push(r - s.length) : e.push(n);
|
|
72
|
+
}), { mask: e.join(""), escaped: s };
|
|
73
|
+
}
|
|
74
|
+
process(t, e, s = !0) {
|
|
75
|
+
if (this.opts.number != null) return P(t, s, this.opts);
|
|
76
|
+
if (e == null) return t;
|
|
77
|
+
const n = `v=${t},mr=${e},m=${s ? 1 : 0}`;
|
|
78
|
+
if (this.memo.has(n)) return this.memo.get(n);
|
|
79
|
+
const { mask: r, escaped: h } = this.escapeMask(e), u = [], l = this.opts.tokens != null ? this.opts.tokens : {}, o = this.isReversed() ? -1 : 1, k = this.isReversed() ? "unshift" : "push", c = this.isReversed() ? 0 : r.length - 1, b = this.isReversed() ? () => i > -1 && p > -1 : () => i < r.length && p < t.length, g = (v) => !this.isReversed() && v <= c || this.isReversed() && v >= c;
|
|
80
|
+
let f, m = -1, i = this.isReversed() ? r.length - 1 : 0, p = this.isReversed() ? t.length - 1 : 0, M = !1;
|
|
81
|
+
for (; b(); ) {
|
|
82
|
+
const v = r.charAt(i), d = l[v], y = (d == null ? void 0 : d.transform) != null ? d.transform(t.charAt(p)) : t.charAt(p);
|
|
83
|
+
if (!h.includes(i) && d != null ? (y.match(d.pattern) != null ? (u[k](y), d.repeated ? (m === -1 ? m = i : i === c && i !== m && (i = m - o), c === m && (i -= o)) : d.multiple && (M = !0, i -= o), i += o) : d.multiple ? M && (i += o, p -= o, M = !1) : y === f ? f = void 0 : d.optional && (i += o, p -= o), p += o) : (s && !this.isEager() && u[k](v), y === v && !this.isEager() ? p += o : f = v, this.isEager() || (i += o)), this.isEager())
|
|
84
|
+
for (; g(i) && (l[r.charAt(i)] == null || h.includes(i)); ) {
|
|
85
|
+
if (s) {
|
|
86
|
+
if (u[k](r.charAt(i)), t.charAt(p) === r.charAt(i)) {
|
|
87
|
+
i += o, p += o;
|
|
88
|
+
continue;
|
|
89
|
+
}
|
|
90
|
+
} else r.charAt(i) === t.charAt(p) && (p += o);
|
|
91
|
+
i += o;
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
return this.memo.set(n, u.join("")), this.memo.get(n);
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
const S = (a) => JSON.parse(a.replaceAll("'", '"')), F = (a, t = {}) => {
|
|
98
|
+
const e = { ...t };
|
|
99
|
+
a.dataset.maska != null && a.dataset.maska !== "" && (e.mask = W(a.dataset.maska)), a.dataset.maskaEager != null && (e.eager = E(a.dataset.maskaEager)), a.dataset.maskaReversed != null && (e.reversed = E(a.dataset.maskaReversed)), a.dataset.maskaTokensReplace != null && (e.tokensReplace = E(a.dataset.maskaTokensReplace)), a.dataset.maskaTokens != null && (e.tokens = x(a.dataset.maskaTokens));
|
|
100
|
+
const s = {};
|
|
101
|
+
return a.dataset.maskaNumberLocale != null && (s.locale = a.dataset.maskaNumberLocale), a.dataset.maskaNumberFraction != null && (s.fraction = parseInt(a.dataset.maskaNumberFraction)), a.dataset.maskaNumberUnsigned != null && (s.unsigned = E(a.dataset.maskaNumberUnsigned)), (a.dataset.maskaNumber != null || Object.values(s).length > 0) && (e.number = s), e;
|
|
102
|
+
}, E = (a) => a !== "" ? !!JSON.parse(a) : !0, W = (a) => a.startsWith("[") && a.endsWith("]") ? S(a) : a, x = (a) => {
|
|
103
|
+
if (a.startsWith("{") && a.endsWith("}"))
|
|
104
|
+
return S(a);
|
|
105
|
+
const t = {};
|
|
106
|
+
return a.split("|").forEach((e) => {
|
|
107
|
+
const s = e.split(":");
|
|
108
|
+
t[s[0]] = {
|
|
109
|
+
pattern: new RegExp(s[1]),
|
|
110
|
+
optional: s[2] === "optional",
|
|
111
|
+
multiple: s[2] === "multiple",
|
|
112
|
+
repeated: s[2] === "repeated"
|
|
113
|
+
};
|
|
114
|
+
}), t;
|
|
115
|
+
};
|
|
116
|
+
class O {
|
|
117
|
+
constructor(t, e = {}) {
|
|
118
|
+
A(this, "items", /* @__PURE__ */ new Map()), A(this, "eventAbortController"), A(this, "onInput", (s) => {
|
|
119
|
+
if (s instanceof CustomEvent && s.type === "input" && !s.isTrusted && !s.bubbles)
|
|
120
|
+
return;
|
|
121
|
+
const n = s.target, r = this.items.get(n), h = "inputType" in s && s.inputType.startsWith("delete"), u = r.isEager(), l = h && u && r.unmasked(n.value) === "" ? "" : n.value;
|
|
122
|
+
this.fixCursor(n, h, () => this.setValue(n, l));
|
|
123
|
+
}), this.options = e, this.eventAbortController = new AbortController(), this.init(this.getInputs(t));
|
|
124
|
+
}
|
|
125
|
+
update(t = {}) {
|
|
126
|
+
this.options = { ...t }, this.init(Array.from(this.items.keys()));
|
|
127
|
+
}
|
|
128
|
+
updateValue(t) {
|
|
129
|
+
t.value !== "" && t.value !== this.processInput(t).masked && this.setValue(t, t.value);
|
|
130
|
+
}
|
|
131
|
+
destroy() {
|
|
132
|
+
this.eventAbortController.abort(), this.items.clear();
|
|
133
|
+
}
|
|
134
|
+
init(t) {
|
|
135
|
+
const e = this.getOptions(this.options);
|
|
136
|
+
for (const s of t) {
|
|
137
|
+
if (!this.items.has(s)) {
|
|
138
|
+
const { signal: r } = this.eventAbortController;
|
|
139
|
+
s.addEventListener("input", this.onInput, { capture: !0, signal: r });
|
|
140
|
+
}
|
|
141
|
+
const n = new T(F(s, e));
|
|
142
|
+
this.items.set(s, n), queueMicrotask(() => this.updateValue(s)), s.selectionStart === null && n.isEager() && console.warn("Maska: input of `%s` type is not supported", s.type);
|
|
143
|
+
}
|
|
144
|
+
}
|
|
145
|
+
getInputs(t) {
|
|
146
|
+
return typeof t == "string" ? Array.from(document.querySelectorAll(t)) : "length" in t ? Array.from(t) : [t];
|
|
147
|
+
}
|
|
148
|
+
getOptions(t) {
|
|
149
|
+
const { onMaska: e, preProcess: s, postProcess: n, ...r } = t;
|
|
150
|
+
return r;
|
|
151
|
+
}
|
|
152
|
+
fixCursor(t, e, s) {
|
|
153
|
+
const n = t.selectionStart, r = t.value;
|
|
154
|
+
if (s(), n === null || n === r.length && !e) return;
|
|
155
|
+
const h = t.value, u = r.slice(0, n), l = h.slice(0, n), o = this.processInput(t, u).unmasked, k = this.processInput(t, l).unmasked;
|
|
156
|
+
let c = n;
|
|
157
|
+
u !== l && (c += e ? h.length - r.length : o.length - k.length), t.setSelectionRange(c, c);
|
|
158
|
+
}
|
|
159
|
+
setValue(t, e) {
|
|
160
|
+
const s = this.processInput(t, e);
|
|
161
|
+
t.value = s.masked, this.options.onMaska != null && (Array.isArray(this.options.onMaska) ? this.options.onMaska.forEach((n) => n(s)) : this.options.onMaska(s)), t.dispatchEvent(new CustomEvent("maska", { detail: s })), t.dispatchEvent(new CustomEvent("input", { detail: s.masked }));
|
|
162
|
+
}
|
|
163
|
+
processInput(t, e) {
|
|
164
|
+
const s = this.items.get(t);
|
|
165
|
+
let n = e ?? t.value;
|
|
166
|
+
this.options.preProcess != null && (n = this.options.preProcess(n));
|
|
167
|
+
let r = s.masked(n);
|
|
168
|
+
return this.options.postProcess != null && (r = this.options.postProcess(r)), {
|
|
169
|
+
masked: r,
|
|
170
|
+
unmasked: s.unmasked(n),
|
|
171
|
+
completed: s.completed(n)
|
|
172
|
+
};
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
export {
|
|
176
|
+
T as Mask,
|
|
177
|
+
O as MaskInput,
|
|
178
|
+
R as tokens
|
|
179
|
+
};
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@quidgest/ui",
|
|
3
3
|
"description": "Quidgest's UI framework",
|
|
4
|
-
"version": "0.14.
|
|
4
|
+
"version": "0.14.14",
|
|
5
5
|
"private": false,
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": "Quidgest",
|
|
@@ -68,6 +68,10 @@
|
|
|
68
68
|
"peerDependencies": {
|
|
69
69
|
"vue": "^3.4.15"
|
|
70
70
|
},
|
|
71
|
+
"dependencies": {
|
|
72
|
+
"@vuepic/vue-datepicker": "^11.0.1",
|
|
73
|
+
"maska": "^3.1.0"
|
|
74
|
+
},
|
|
71
75
|
"scripts": {
|
|
72
76
|
"clean": "rimraf dist esm coverage storybook-static",
|
|
73
77
|
"build": "pnpm clean && pnpm build:dist && pnpm build:esm && pnpm build:css",
|