bitboss-ui 2.1.15 → 2.1.16

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 (163) hide show
  1. package/dist/index106.js +9 -9
  2. package/dist/index111.js +1 -1
  3. package/dist/index113.js +1 -1
  4. package/dist/index121.js +11 -11
  5. package/dist/index129.js +1 -1
  6. package/dist/index13.js +1 -1
  7. package/dist/index131.js +4 -4
  8. package/dist/index133.js +1 -1
  9. package/dist/index15.js +8 -8
  10. package/dist/index17.js +3 -3
  11. package/dist/index19.js +8 -8
  12. package/dist/index209.js +2 -2
  13. package/dist/index21.js +16 -16
  14. package/dist/index210.js +4 -51
  15. package/dist/index211.js +2 -17
  16. package/dist/index212.js +4 -106
  17. package/dist/index213.js +15 -0
  18. package/dist/index214.js +11 -100
  19. package/dist/index215.js +22 -0
  20. package/dist/index216.js +189 -64
  21. package/dist/index218.js +71 -12
  22. package/dist/index220.js +13 -2
  23. package/dist/index221.js +114 -2
  24. package/dist/index223.js +5 -3
  25. package/dist/index224.js +5 -7
  26. package/dist/index225.js +5 -7
  27. package/dist/index226.js +5 -5
  28. package/dist/index227.js +4 -4
  29. package/dist/index228.js +5 -5
  30. package/dist/index229.js +5 -5
  31. package/dist/index23.js +15 -15
  32. package/dist/index230.js +3 -5
  33. package/dist/index231.js +2 -5
  34. package/dist/index232.js +8 -5
  35. package/dist/index233.js +248 -6
  36. package/dist/index234.js +42 -240
  37. package/dist/index235.js +35 -43
  38. package/dist/index236.js +5 -44
  39. package/dist/index237.js +60 -5
  40. package/dist/index238.js +12 -59
  41. package/dist/index239.js +85 -12
  42. package/dist/index241.js +27 -9
  43. package/dist/index242.js +16 -19
  44. package/dist/index243.js +49 -195
  45. package/dist/index244.js +17 -0
  46. package/dist/index245.js +12 -114
  47. package/dist/index246.js +18 -0
  48. package/dist/index247.js +2 -10
  49. package/dist/index248.js +34 -3
  50. package/dist/index249.js +2 -4
  51. package/dist/index25.js +3 -3
  52. package/dist/index250.js +7 -86
  53. package/dist/index251.js +9 -0
  54. package/dist/index252.js +3 -29
  55. package/dist/index253.js +5 -16
  56. package/dist/index254.js +2 -15
  57. package/dist/index255.js +2 -12
  58. package/dist/index256.js +182 -12
  59. package/dist/index257.js +106 -3
  60. package/dist/index259.js +100 -2
  61. package/dist/index261.js +1 -1
  62. package/dist/index264.js +3 -3
  63. package/dist/index265.js +8 -181
  64. package/dist/index266.js +3 -2
  65. package/dist/index267.js +8 -8
  66. package/dist/index268.js +23 -8
  67. package/dist/index269.js +3 -9
  68. package/dist/index27.js +1 -1
  69. package/dist/index270.js +6 -23
  70. package/dist/index271.js +16 -6
  71. package/dist/index272.js +9 -16
  72. package/dist/index273.js +9 -3
  73. package/dist/index274.js +8 -9
  74. package/dist/index275.js +5 -67
  75. package/dist/index276.js +67 -2
  76. package/dist/index277.js +2 -5
  77. package/dist/index278.js +1 -1
  78. package/dist/index279.js +1 -1
  79. package/dist/index280.js +4 -3
  80. package/dist/index281.js +1 -1
  81. package/dist/index282.js +1 -1
  82. package/dist/index285.js +3 -17
  83. package/dist/index286.js +7 -4
  84. package/dist/index287.js +10 -27
  85. package/dist/index288.js +280 -3
  86. package/dist/index289.js +2 -3
  87. package/dist/index29.js +3 -3
  88. package/dist/index290.js +16 -7
  89. package/dist/index291.js +2 -11
  90. package/dist/index292.js +16 -4
  91. package/dist/index293.js +2 -280
  92. package/dist/index294.js +19 -2
  93. package/dist/index295.js +2 -16
  94. package/dist/index296.js +15 -2
  95. package/dist/index297.js +2 -16
  96. package/dist/index298.js +19 -2
  97. package/dist/index299.js +2 -19
  98. package/dist/index300.js +27 -2
  99. package/dist/index301.js +2 -15
  100. package/dist/index302.js +2 -2
  101. package/dist/index303.js +2 -19
  102. package/dist/index304.js +2 -2
  103. package/dist/index305.js +2 -27
  104. package/dist/index306.js +28 -2
  105. package/dist/index307.js +21 -1
  106. package/dist/index309.js +4 -2
  107. package/dist/index31.js +2 -2
  108. package/dist/index310.js +3 -2
  109. package/dist/index311.js +15 -20
  110. package/dist/index312.js +8 -0
  111. package/dist/index313.js +2 -6
  112. package/dist/index314.js +5 -3
  113. package/dist/index315.js +125 -5
  114. package/dist/index316.js +2 -2
  115. package/dist/index317.js +3 -125
  116. package/dist/index318.js +3 -2
  117. package/dist/index320.js +1 -1
  118. package/dist/index324.js +1 -1
  119. package/dist/index328.js +6 -128
  120. package/dist/index329.js +16 -366
  121. package/dist/index33.js +8 -8
  122. package/dist/index330.js +58 -7
  123. package/dist/index331.js +58 -7
  124. package/dist/index332.js +5 -17
  125. package/dist/index333.js +32 -57
  126. package/dist/index334.js +27 -57
  127. package/dist/index336.js +128 -32
  128. package/dist/index337.js +369 -28
  129. package/dist/{index335.js → index338.js} +1 -1
  130. package/dist/index340.js +1 -1
  131. package/dist/index342.js +3 -436
  132. package/dist/index343.js +123 -121
  133. package/dist/index344.js +438 -0
  134. package/dist/index345.js +127 -3
  135. package/dist/index35.js +4 -4
  136. package/dist/index37.js +16 -16
  137. package/dist/index39.js +7 -7
  138. package/dist/index41.js +2 -2
  139. package/dist/index43.js +8 -8
  140. package/dist/index45.js +8 -8
  141. package/dist/index47.js +2 -2
  142. package/dist/index49.js +3 -3
  143. package/dist/index53.js +1 -1
  144. package/dist/index55.js +1 -1
  145. package/dist/index57.js +2 -2
  146. package/dist/index61.js +3 -3
  147. package/dist/index67.js +1 -1
  148. package/dist/index79.js +4 -4
  149. package/dist/index81.js +1 -1
  150. package/dist/index83.js +2 -2
  151. package/dist/index85.js +1 -1
  152. package/dist/index87.js +1 -1
  153. package/dist/index90.js +3 -3
  154. package/dist/index92.js +2 -2
  155. package/dist/index94.js +3 -3
  156. package/package.json +2 -2
  157. package/dist/index219.js +0 -4
  158. package/dist/index222.js +0 -4
  159. package/dist/index240.js +0 -6
  160. package/dist/index258.js +0 -7
  161. package/dist/index260.js +0 -36
  162. package/dist/index308.js +0 -4
  163. package/dist/index341.js +0 -131
package/dist/index245.js CHANGED
@@ -1,116 +1,14 @@
1
- import { defineComponent as P, mergeModels as D, useModel as V, ref as r, watch as A, onMounted as x, computed as S, createBlock as b, openBlock as v, resolveDynamicComponent as g, normalizeStyle as z, normalizeClass as E, unref as l, withCtx as w, renderSlot as y, createCommentVNode as N, mergeProps as h, createElementVNode as C } from "vue";
2
- import { wait as F } from "./index135.js";
3
- import { useFloating as U, arrow as j } from "./index328.js";
4
- import { flip as q, offset as G, shift as H, hide as I, autoUpdate as J } from "./index329.js";
5
- const K = { class: "bb-common-popover__bubble" }, W = /* @__PURE__ */ P({
6
- __name: "CommonPopover",
7
- props: /* @__PURE__ */ D({
8
- arrowPadding: {},
9
- offset: {},
10
- block: { type: Boolean },
11
- padding: { default: 0 },
12
- placement: {},
13
- transitionDuration: { default: 250 },
14
- containerAttributes: {},
15
- dialog: { type: Boolean },
16
- renderContent: { type: Boolean, default: !0 },
17
- tag: { default: "span" },
18
- flip: { type: Boolean, default: !0 }
19
- }, {
20
- modelValue: { type: Boolean, default: !1 },
21
- modelModifiers: {}
22
- }),
23
- emits: ["update:modelValue"],
24
- setup(s) {
25
- const o = s, a = V(s, "modelValue"), i = r(), t = r(), p = r(), { floatingStyles: k, placement: _, middlewareData: n, update: B } = U(
26
- i,
27
- t,
28
- {
29
- placement: o.placement,
30
- whileElementsMounted: J,
31
- middleware: [
32
- ...o.flip ? [q()] : [],
33
- G(o.offset),
34
- H({ padding: o.padding }),
35
- I(),
36
- j({
37
- element: p,
38
- padding: o.arrowPadding
39
- })
40
- ],
41
- strategy: "fixed"
42
- }
43
- ), d = (e) => {
44
- e ? (B(), o.dialog ? t.value.showModal() : t.value.showPopover()) : F(o.transitionDuration).then(() => {
45
- t.value && (o.dialog ? t.value.close() : t.value.hidePopover());
46
- });
47
- };
48
- A(a, d, { flush: "post" }), x(() => {
49
- a.value && d(a.value);
50
- });
51
- const M = S(() => {
52
- if (n.value.arrow) {
53
- const { x: e, y: u } = n.value.arrow;
54
- return {
55
- style: {
56
- left: `${e}px`,
57
- top: `${u}px`
58
- }
59
- };
60
- }
61
- }), $ = () => {
62
- a.value = !1;
63
- };
64
- return (e, u) => (v(), b(g(e.dialog ? "div" : e.tag), {
65
- ref_key: "wrapper",
66
- ref: i,
67
- class: E(["bb-common-popover", {
68
- "bb-common-popover--open": a.value && !!t.value,
69
- "bb-common-popover--block": o.block,
70
- [`bb-common-popover--${l(_)}`]: !0
71
- }]),
72
- style: z({
73
- "--transition-duration": `${o.transitionDuration}ms`
74
- })
75
- }, {
76
- default: w(() => {
77
- var m, f, c;
78
- return [
79
- y(e.$slots, "activator"),
80
- e.renderContent ? (v(), b(g(e.dialog ? "dialog" : e.tag), h({
81
- key: 0,
82
- ref_key: "content",
83
- ref: t,
84
- class: ["bb-common-popover__bubble-container", {
85
- "bb-common-popover__bubble-container--open": a.value && !!t.value
86
- }],
87
- popover: "manual",
88
- style: {
89
- ...((m = e.containerAttributes) == null ? void 0 : m.style) ?? {},
90
- ...l(k),
91
- "--arrow-offset-x": Math.round(((c = (f = l(n)) == null ? void 0 : f.arrow) == null ? void 0 : c.x) ?? 0) + "px",
92
- "--page-padding": `${e.padding}px`
93
- },
94
- tabindex: a.value ? void 0 : -1
95
- }, e.containerAttributes, { onClose: l($) }), {
96
- default: w(() => [
97
- C("span", h({
98
- ref_key: "bubblearrow",
99
- ref: p,
100
- class: "bb-common-popover__arrow"
101
- }, M.value), null, 16),
102
- C("span", K, [
103
- y(e.$slots, "default")
104
- ])
105
- ]),
106
- _: 3
107
- }, 16, ["class", "style", "tabindex", "onClose"])) : N("", !0)
108
- ];
109
- }),
110
- _: 3
111
- }, 8, ["class", "style"]));
112
- }
113
- });
1
+ import { hash as e } from "./index230.js";
2
+ import { debouncedWatch as s } from "./index206.js";
3
+ const n = (o, c, h) => {
4
+ s(
5
+ o,
6
+ (r, t) => {
7
+ e(r) !== e(t) && c(r, t);
8
+ },
9
+ h
10
+ );
11
+ };
114
12
  export {
115
- W as default
13
+ n as useHashedWatcher
116
14
  };
@@ -0,0 +1,18 @@
1
+ import { isNotNil as n } from "./index140.js";
2
+ import { ref as t, onServerPrefetch as u, onBeforeMount as c } from "vue";
3
+ const h = ({
4
+ fn: i,
5
+ onStart: s,
6
+ multiple: f,
7
+ currentValue: o
8
+ }) => {
9
+ const a = s || !f && n(o) || f && !!o.length, e = t(!1), l = t(!1), r = async () => {
10
+ e.value = !0, await i({ prefill: !0 }), e.value = !1, l.value = !0;
11
+ };
12
+ return a && (u(r), c(async () => {
13
+ l.value || await r();
14
+ })), { isPrefilling: e, hasPrefilled: l, prefill: r };
15
+ };
16
+ export {
17
+ h as usePrefill
18
+ };
package/dist/index247.js CHANGED
@@ -1,12 +1,4 @@
1
- const o = (t, r) => {
2
- const e = {};
3
- for (const c in t)
4
- if (Object.prototype.hasOwnProperty.call(t, c)) {
5
- const n = t[c];
6
- r(n, c, t) && (e[c] = n);
7
- }
8
- return e;
9
- };
1
+ const r = (e) => typeof e > "u" || e === null;
10
2
  export {
11
- o as pickBy
3
+ r as isNil
12
4
  };
package/dist/index248.js CHANGED
@@ -1,5 +1,36 @@
1
- const o = () => {
2
- };
1
+ import { defineComponent as p, getCurrentInstance as a, resolveComponent as u, createBlock as f, openBlock as k, resolveDynamicComponent as g, unref as d, withCtx as b, renderSlot as x } from "vue";
2
+ import { _config as e } from "./index4.js";
3
+ import { useLogger as l } from "./index232.js";
4
+ const $ = /* @__PURE__ */ p({
5
+ __name: "RouterComponent",
6
+ setup(y) {
7
+ var o, i, r, s;
8
+ const m = !!((i = (o = a()) == null ? void 0 : o.proxy) != null && i.$inertia), c = !!((s = (r = a()) == null ? void 0 : r.proxy) != null && s.$nuxt);
9
+ let t;
10
+ if (m) {
11
+ if (t = u(e.inertiaLinkName), typeof t == "string") {
12
+ const { warn: n } = l();
13
+ n(
14
+ `Inertia link component "${e.inertiaLinkName}" could not be resolved. Ensure you app registers a link component with the name "${e.inertiaLinkName}" or set bitboss-ui config key "inertiaLinkName" to the correct value globally. Please visit ${e.documentationURL}/getting-started to resolve setup issues in bitboss-ui.`
15
+ );
16
+ }
17
+ } else if (c) {
18
+ if (t = u(e.nuxtLinkName), typeof t == "string") {
19
+ const { warn: n } = l();
20
+ n(
21
+ `Nuxt link component "${e.nuxtLinkName}" could not be resolved. Ensure you app registers a link component with the name "${e.nuxtLinkName}" or set bitboss-ui config key "nuxtLinkName" to the correct value globally. Please visit ${e.documentationURL}/getting-started to resolve setup issues in bitboss-ui.`
22
+ );
23
+ }
24
+ } else
25
+ t = "router-link";
26
+ return (n, L) => (k(), f(g(d(t)), null, {
27
+ default: b(() => [
28
+ x(n.$slots, "default")
29
+ ]),
30
+ _: 3
31
+ }));
32
+ }
33
+ });
3
34
  export {
4
- o as noop
35
+ $ as default
5
36
  };
package/dist/index249.js CHANGED
@@ -1,6 +1,4 @@
1
- import { curry as e } from "./index292.js";
2
- const t = (n, o, r) => n(r) ? o(r) : r, s = e(t);
1
+ const o = (e) => e[0];
3
2
  export {
4
- t as baseWhen,
5
- s as when
3
+ o as head
6
4
  };
package/dist/index25.js CHANGED
@@ -1,9 +1,9 @@
1
1
  import { defineComponent as P, mergeModels as D, useModel as q, computed as p, ref as E, watch as A, onMounted as H, createElementBlock as d, openBlock as u, withModifiers as K, normalizeStyle as O, normalizeClass as R, unref as v, createCommentVNode as g, Fragment as U, createElementVNode as l, renderSlot as s, createTextVNode as j, toDisplayString as T, nextTick as G } from "vue";
2
- import { parseSize as J } from "./index256.js";
2
+ import { parseSize as J } from "./index238.js";
3
3
  import { useId as V } from "./index8.js";
4
- import { useLocale as Q } from "./index239.js";
4
+ import { useLocale as Q } from "./index213.js";
5
5
  import { useMobile as X } from "./index9.js";
6
- import { useUntil as Y } from "./index241.js";
6
+ import { useUntil as Y } from "./index214.js";
7
7
  import { wait as y } from "./index135.js";
8
8
  const Z = ["aria-describedby", "aria-labelledby", "aria-live", "inert"], x = {
9
9
  ref: "header",
package/dist/index250.js CHANGED
@@ -1,88 +1,9 @@
1
- import { defineComponent as h, createElementBlock as n, openBlock as s, normalizeClass as r, createElementVNode as l, renderSlot as t, createCommentVNode as p, createTextVNode as o, toDisplayString as d, unref as b, Fragment as m, renderList as u } from "vue";
2
- import { useLocale as g } from "./index239.js";
3
- const k = { class: "bb-cr-container__container" }, y = {
4
- key: 0,
5
- class: "bb-cr-container__loading-container"
6
- }, $ = {
7
- key: 1,
8
- class: "bb-cr-container__no-data-container"
9
- }, C = /* @__PURE__ */ h({
10
- __name: "OptionsContainer",
11
- props: {
12
- direction: {},
13
- hasErrors: { type: Boolean },
14
- hideLabel: { type: Boolean },
15
- loadingText: {},
16
- loading: { type: Boolean },
17
- noDataText: {},
18
- options: {}
19
- },
20
- setup(f) {
21
- const { t: i } = g();
22
- return (a, T) => (s(), n("span", {
23
- ref: "container",
24
- class: r(["bb-cr-container", {
25
- "bb-cr-container--errors": a.hasErrors,
26
- "bb-cr-container--horizontal": a.direction === "horizontal",
27
- "bb-cr-container--vertical": a.direction === "vertical"
28
- }])
29
- }, [
30
- l("span", k, [
31
- t(a.$slots, "prepend"),
32
- !a.options.length && a.loading ? (s(), n("span", y, [
33
- t(a.$slots, "loading", {}, () => [
34
- o(d(a.loadingText || b(i)("common.loadingText")), 1)
35
- ])
36
- ])) : a.options.length ? p("", !0) : (s(), n("span", $, [
37
- t(a.$slots, "no-data", {}, () => [
38
- o(d(a.noDataText || b(i)("common.noDataText")), 1)
39
- ])
40
- ])),
41
- (s(!0), n(m, null, u(a.options, (e, c) => (s(), n(m, {
42
- key: (e == null ? void 0 : e.valueHash) || c
43
- }, [
44
- t(a.$slots, "option:prepend", {
45
- id: e.valueHash,
46
- checked: !!e.selected,
47
- disabled: !!e.disabled,
48
- item: e.item,
49
- text: e.text
50
- }),
51
- l("label", {
52
- class: r(["bb-cr-container-option", { "bb-base-radio-selected": e.selected }])
53
- }, [
54
- t(a.$slots, "input", {
55
- index: c,
56
- option: e
57
- }),
58
- l("span", {
59
- class: r({
60
- "bb-cr-container-option__text": !0,
61
- "sr-only": a.hideLabel
62
- })
63
- }, [
64
- t(a.$slots, "label", {
65
- checked: !!e.selected,
66
- item: e.item,
67
- text: e.text
68
- }, () => [
69
- o(d(e.text), 1)
70
- ])
71
- ], 2)
72
- ], 2),
73
- t(a.$slots, "option:append", {
74
- id: e.valueHash,
75
- checked: !!e.selected,
76
- disabled: !!e.disabled,
77
- item: e.item,
78
- text: e.text
79
- })
80
- ], 64))), 128)),
81
- t(a.$slots, "append")
82
- ])
83
- ], 2));
84
- }
85
- });
1
+ const s = (e, t, o, r) => {
2
+ if (r <= 0) throw new Error("Step must be a positive number");
3
+ if (t > o) throw new Error("Min must be less than or equal to Max");
4
+ const n = Math.max(t, Math.min(o, e)), a = Math.round((n - t) / r);
5
+ return t + a * r;
6
+ };
86
7
  export {
87
- C as default
8
+ s as snapToStep
88
9
  };
@@ -0,0 +1,9 @@
1
+ function o(t, e, n, r, a) {
2
+ if (n === e)
3
+ throw new Error("Original boundaries cannot be equal.");
4
+ const c = (t - e) / (n - e);
5
+ return r + c * (a - r);
6
+ }
7
+ export {
8
+ o as transpose
9
+ };
package/dist/index252.js CHANGED
@@ -1,31 +1,5 @@
1
- import { ref as a, computed as s, unref as v } from "vue";
2
- import { useDebounceFn as f } from "./index206.js";
3
- const p = (u) => {
4
- const e = a(0), r = s(() => v(u.items)), t = a([]), n = async (...l) => {
5
- if (Array.isArray(r.value))
6
- t.value = r.value;
7
- else if (typeof r.value == "function") {
8
- const i = ++e.value;
9
- try {
10
- const o = await r.value(...l);
11
- if (i < e.value) {
12
- e.value--;
13
- return;
14
- } else
15
- t.value = o;
16
- } catch (o) {
17
- console.error(o);
18
- }
19
- e.value--;
20
- }
21
- }, c = f(n, u.debounce || 0);
22
- return {
23
- getter: n,
24
- debouncedGetter: c,
25
- items: t,
26
- loading: s(() => !!e.value)
27
- };
28
- };
1
+ import r from "./index314.js";
2
+ const t = r;
29
3
  export {
30
- p as useItemsGetter
4
+ t as deburr
31
5
  };
package/dist/index253.js CHANGED
@@ -1,18 +1,7 @@
1
- import { isNotNil as n } from "./index140.js";
2
- import { ref as t, onServerPrefetch as u, onBeforeMount as c } from "vue";
3
- const h = ({
4
- fn: i,
5
- onStart: s,
6
- multiple: f,
7
- currentValue: o
8
- }) => {
9
- const a = s || !f && n(o) || f && !!o.length, e = t(!1), l = t(!1), r = async () => {
10
- e.value = !0, await i({ prefill: !0 }), e.value = !1, l.value = !0;
11
- };
12
- return a && (u(r), c(async () => {
13
- l.value || await r();
14
- })), { isPrefilling: e, hasPrefilled: l, prefill: r };
15
- };
1
+ import { getDefaultExportFromCjs as r } from "./index312.js";
2
+ import { __require as o } from "./index315.js";
3
+ var t = o();
4
+ const m = /* @__PURE__ */ r(t);
16
5
  export {
17
- h as usePrefill
6
+ m as default
18
7
  };
package/dist/index254.js CHANGED
@@ -1,17 +1,4 @@
1
- import { isNil as f } from "./index222.js";
2
- import { computed as t, unref as o } from "vue";
3
- const a = ({ modelValue: e, iteratee: h, multiple: u }) => {
4
- const i = t(
5
- () => new Array().concat(o(e))
6
- ), s = t(() => i.value.reduce(
7
- (r, n) => (h(n) ? r.coherent.push(n) : r.incoherent.push(n), r),
8
- { coherent: [], incoherent: [] }
9
- )), c = t(() => u && !o(e).length || !u && f(o(e)) ? !0 : !s.value.incoherent.length);
10
- return {
11
- status: s,
12
- coherent: c
13
- };
14
- };
1
+ const e = (t) => t;
15
2
  export {
16
- a as useCoherence
3
+ e as identity
17
4
  };
package/dist/index255.js CHANGED
@@ -1,14 +1,4 @@
1
- import { hash as e } from "./index223.js";
2
- import { debouncedWatch as s } from "./index206.js";
3
- const n = (o, c, h) => {
4
- s(
5
- o,
6
- (r, t) => {
7
- e(r) !== e(t) && c(r, t);
8
- },
9
- h
10
- );
11
- };
1
+ const n = (t) => t == null || Number.isNaN(t) || typeof t == "object" && Object.keys(t).length === 0 || typeof t == "string" && t.trim().length === 0 || t instanceof Map && [...t.keys()].length === 0 || t instanceof Set && [...t.keys()].length === 0;
12
2
  export {
13
- n as useHashedWatcher
3
+ n as isEmpty
14
4
  };
package/dist/index256.js CHANGED
@@ -1,15 +1,185 @@
1
- const c = (t, r) => {
2
- if (typeof t == "string") {
3
- const e = /^(\d+)([a-zA-Z%]+)?$/, n = t.match(e);
4
- if (n) {
5
- const [, o, a] = n;
6
- return a ? t : o + "px";
7
- } else if (t in r)
8
- return r[t] + "px";
9
- throw new Error(`Invalid size: ${t}`);
10
- }
11
- return t + "px";
1
+ var w = Object.defineProperty, C = (a, e, t) => e in a ? w(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t, A = (a, e, t) => C(a, typeof e != "symbol" ? e + "" : e, t);
2
+ const R = {
3
+ "#": { pattern: /[0-9]/ },
4
+ "@": { pattern: /[a-zA-Z]/ },
5
+ "*": { pattern: /[a-zA-Z0-9]/ }
6
+ }, N = (a, e, t) => a.replaceAll(e, "").replace(t, ".").replace("..", ".").replace(/[^.\d]/g, ""), I = (a, e, t) => {
7
+ var s;
8
+ return new Intl.NumberFormat(((s = t.number) == null ? void 0 : s.locale) ?? "en", {
9
+ minimumFractionDigits: a,
10
+ maximumFractionDigits: e,
11
+ roundingMode: "trunc"
12
+ });
13
+ }, P = (a, e = !0, t) => {
14
+ var s, r, n, l;
15
+ const u = ((s = t.number) == null ? void 0 : s.unsigned) !== !0 && a.startsWith("-") ? "-" : "", p = ((r = t.number) == null ? void 0 : r.fraction) ?? 0;
16
+ let o = I(0, p, t);
17
+ const k = o.formatToParts(1000.12), m = ((n = k.find((i) => i.type === "group")) == null ? void 0 : n.value) ?? " ", f = ((l = k.find((i) => i.type === "decimal")) == null ? void 0 : l.value) ?? ".", c = N(a, m, f);
18
+ if (Number.isNaN(parseFloat(c))) return u;
19
+ const v = c.split(".");
20
+ if (v[1] != null && v[1].length >= 1) {
21
+ const i = v[1].length <= p ? v[1].length : p;
22
+ o = I(i, p, t);
23
+ }
24
+ let d = o.format(parseFloat(c));
25
+ return e ? p > 0 && c.endsWith(".") && !c.slice(0, -1).includes(".") && (d += f) : d = N(d, m, f), u + d;
26
+ };
27
+ class T {
28
+ constructor(e = {}) {
29
+ A(this, "opts", {}), A(this, "memo", /* @__PURE__ */ new Map());
30
+ const t = { ...e };
31
+ if (t.tokens != null) {
32
+ t.tokens = t.tokensReplace ? { ...t.tokens } : { ...R, ...t.tokens };
33
+ for (const s of Object.values(t.tokens))
34
+ typeof s.pattern == "string" && (s.pattern = new RegExp(s.pattern));
35
+ } else
36
+ t.tokens = R;
37
+ Array.isArray(t.mask) && (t.mask.length > 1 ? t.mask = [...t.mask].sort((s, r) => s.length - r.length) : t.mask = t.mask[0] ?? ""), t.mask === "" && (t.mask = null), this.opts = t;
38
+ }
39
+ masked(e) {
40
+ return this.process(String(e), this.findMask(String(e)));
41
+ }
42
+ unmasked(e) {
43
+ return this.process(String(e), this.findMask(String(e)), !1);
44
+ }
45
+ isEager() {
46
+ return this.opts.eager === !0;
47
+ }
48
+ isReversed() {
49
+ return this.opts.reversed === !0;
50
+ }
51
+ completed(e) {
52
+ const t = this.findMask(String(e));
53
+ if (this.opts.mask == null || t == null) return !1;
54
+ const s = this.process(String(e), t).length;
55
+ return typeof this.opts.mask == "string" ? s >= this.opts.mask.length : s >= t.length;
56
+ }
57
+ findMask(e) {
58
+ const t = this.opts.mask;
59
+ if (t == null)
60
+ return null;
61
+ if (typeof t == "string")
62
+ return t;
63
+ if (typeof t == "function")
64
+ return t(e);
65
+ const s = this.process(e, t.slice(-1).pop() ?? "", !1);
66
+ return t.find((r) => this.process(e, r, !1).length >= s.length) ?? "";
67
+ }
68
+ escapeMask(e) {
69
+ const t = [], s = [];
70
+ return e.split("").forEach((r, n) => {
71
+ r === "!" && e[n - 1] !== "!" ? s.push(n - s.length) : t.push(r);
72
+ }), { mask: t.join(""), escaped: s };
73
+ }
74
+ process(e, t, s = !0) {
75
+ if (this.opts.number != null) return P(e, s, this.opts);
76
+ if (t == null) return e;
77
+ const r = `v=${e},mr=${t},m=${s ? 1 : 0}`;
78
+ if (this.memo.has(r)) return this.memo.get(r);
79
+ const { mask: n, escaped: l } = this.escapeMask(t), u = [], p = this.opts.tokens != null ? this.opts.tokens : {}, o = this.isReversed() ? -1 : 1, k = this.isReversed() ? "unshift" : "push", m = this.isReversed() ? 0 : n.length - 1, f = this.isReversed() ? () => i > -1 && h > -1 : () => i < n.length && h < e.length, c = (b) => !this.isReversed() && b <= m || this.isReversed() && b >= m;
80
+ let v, d = -1, i = this.isReversed() ? n.length - 1 : 0, h = this.isReversed() ? e.length - 1 : 0, M = !1;
81
+ for (; f(); ) {
82
+ const b = n.charAt(i), g = p[b], y = (g == null ? void 0 : g.transform) != null ? g.transform(e.charAt(h)) : e.charAt(h);
83
+ if (!l.includes(i) && g != null ? (y.match(g.pattern) != null ? (u[k](y), g.repeated ? (d === -1 ? d = i : i === m && i !== d && (i = d - o), m === d && (i -= o)) : g.multiple && (M = !0, i -= o), i += o) : g.multiple ? M && (i += o, h -= o, M = !1) : y === v ? v = void 0 : g.optional && (i += o, h -= o), h += o) : (s && !this.isEager() && u[k](b), y === b && !this.isEager() ? h += o : v = b, this.isEager() || (i += o)), this.isEager())
84
+ for (; c(i) && (p[n.charAt(i)] == null || l.includes(i)); ) {
85
+ if (s) {
86
+ if (u[k](n.charAt(i)), e.charAt(h) === n.charAt(i)) {
87
+ i += o, h += o;
88
+ continue;
89
+ }
90
+ } else n.charAt(i) === e.charAt(h) && (h += o);
91
+ i += o;
92
+ }
93
+ }
94
+ return this.memo.set(r, u.join("")), this.memo.get(r);
95
+ }
96
+ }
97
+ const S = (a) => JSON.parse(a.replaceAll("'", '"')), F = (a, e = {}) => {
98
+ const t = { ...e };
99
+ a.dataset.maska != null && a.dataset.maska !== "" && (t.mask = W(a.dataset.maska)), a.dataset.maskaEager != null && (t.eager = E(a.dataset.maskaEager)), a.dataset.maskaReversed != null && (t.reversed = E(a.dataset.maskaReversed)), a.dataset.maskaTokensReplace != null && (t.tokensReplace = E(a.dataset.maskaTokensReplace)), a.dataset.maskaTokens != null && (t.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) && (t.number = s), t;
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 e = {};
106
+ return a.split("|").forEach((t) => {
107
+ const s = t.split(":");
108
+ e[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
+ }), e;
12
115
  };
116
+ class O {
117
+ constructor(e, t = {}) {
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 r = s.target, n = this.items.get(r);
122
+ if (n === void 0) return;
123
+ const l = "inputType" in s && s.inputType.startsWith("delete"), u = n.isEager(), p = l && u && n.unmasked(r.value) === "" ? "" : r.value;
124
+ this.fixCursor(r, l, () => this.setValue(r, p));
125
+ }), this.options = t, this.eventAbortController = new AbortController(), this.init(this.getInputs(e));
126
+ }
127
+ update(e = {}) {
128
+ this.options = { ...e }, this.init(Array.from(this.items.keys()));
129
+ }
130
+ updateValue(e) {
131
+ var t;
132
+ e.value !== "" && e.value !== ((t = this.processInput(e)) == null ? void 0 : t.masked) && this.setValue(e, e.value);
133
+ }
134
+ destroy() {
135
+ this.eventAbortController.abort(), this.items.clear();
136
+ }
137
+ init(e) {
138
+ const t = this.getOptions(this.options);
139
+ for (const s of e) {
140
+ if (!this.items.has(s)) {
141
+ const { signal: n } = this.eventAbortController;
142
+ s.addEventListener("input", this.onInput, { capture: !0, signal: n });
143
+ }
144
+ const r = new T(F(s, t));
145
+ this.items.set(s, r), queueMicrotask(() => this.updateValue(s)), s.selectionStart === null && r.isEager() && console.warn("Maska: input of `%s` type is not supported", s.type);
146
+ }
147
+ }
148
+ getInputs(e) {
149
+ return typeof e == "string" ? Array.from(document.querySelectorAll(e)) : "length" in e ? Array.from(e) : [e];
150
+ }
151
+ getOptions(e) {
152
+ const { onMaska: t, preProcess: s, postProcess: r, ...n } = e;
153
+ return n;
154
+ }
155
+ fixCursor(e, t, s) {
156
+ var r, n;
157
+ const l = e.selectionStart, u = e.value;
158
+ if (s(), l === null || l === u.length && !t) return;
159
+ const p = e.value, o = u.slice(0, l), k = p.slice(0, l), m = (r = this.processInput(e, o)) == null ? void 0 : r.unmasked, f = (n = this.processInput(e, k)) == null ? void 0 : n.unmasked;
160
+ if (m === void 0 || f === void 0) return;
161
+ let c = l;
162
+ o !== k && (c += t ? p.length - u.length : m.length - f.length), e.setSelectionRange(c, c);
163
+ }
164
+ setValue(e, t) {
165
+ const s = this.processInput(e, t);
166
+ s !== void 0 && (e.value = s.masked, this.options.onMaska != null && (Array.isArray(this.options.onMaska) ? this.options.onMaska.forEach((r) => r(s)) : this.options.onMaska(s)), e.dispatchEvent(new CustomEvent("maska", { detail: s })), e.dispatchEvent(new CustomEvent("input", { detail: s.masked })));
167
+ }
168
+ processInput(e, t) {
169
+ const s = this.items.get(e);
170
+ if (s === void 0) return;
171
+ let r = t ?? e.value;
172
+ this.options.preProcess != null && (r = this.options.preProcess(r));
173
+ let n = s.masked(r);
174
+ return this.options.postProcess != null && (n = this.options.postProcess(n)), {
175
+ masked: n,
176
+ unmasked: s.unmasked(r),
177
+ completed: s.completed(r)
178
+ };
179
+ }
180
+ }
13
181
  export {
14
- c as parseSize
182
+ T as Mask,
183
+ O as MaskInput,
184
+ R as tokens
15
185
  };