bitboss-ui 2.1.73 → 2.1.75

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 (178) hide show
  1. package/dist/components/BbRows/BbRows.vue.d.ts +3 -3
  2. package/dist/components/BbTable/BbTable.vue.d.ts +30 -6
  3. package/dist/components/BbTable/types.d.ts +46 -28
  4. package/dist/components/BbTable/utils.d.ts +23 -0
  5. package/dist/composables/useBbConfig.d.ts +5 -1
  6. package/dist/index.css +1 -1
  7. package/dist/index107.js +9 -9
  8. package/dist/index112.js +1 -1
  9. package/dist/index114.js +1 -1
  10. package/dist/index120.js +1 -1
  11. package/dist/index122.js +326 -304
  12. package/dist/index13.js +64 -33
  13. package/dist/index130.js +1 -1
  14. package/dist/index132.js +4 -4
  15. package/dist/index134.js +1 -1
  16. package/dist/index136.js +2 -2
  17. package/dist/index15.js +5 -5
  18. package/dist/index17.js +3 -3
  19. package/dist/index19.js +8 -8
  20. package/dist/index21.js +14 -14
  21. package/dist/index217.js +1 -1
  22. package/dist/index218.js +1 -1
  23. package/dist/index219.js +4 -34
  24. package/dist/index220.js +13 -9
  25. package/dist/index221.js +20 -2
  26. package/dist/index222.js +201 -4
  27. package/dist/index224.js +127 -3
  28. package/dist/{index225.js → index226.js} +1 -1
  29. package/dist/index228.js +27 -15
  30. package/dist/index229.js +15 -49
  31. package/dist/index23.js +11 -11
  32. package/dist/index230.js +48 -12
  33. package/dist/index231.js +15 -3
  34. package/dist/index232.js +3 -12
  35. package/dist/index233.js +11 -15
  36. package/dist/index234.js +15 -12
  37. package/dist/index235.js +13 -13
  38. package/dist/index237.js +32 -3
  39. package/dist/index238.js +27 -19
  40. package/dist/index240.js +4 -0
  41. package/dist/index241.js +11 -127
  42. package/dist/index242.js +10 -0
  43. package/dist/index243.js +9 -10
  44. package/dist/index244.js +3 -3
  45. package/dist/index245.js +2 -4
  46. package/dist/index246.js +2 -5
  47. package/dist/index247.js +9 -5
  48. package/dist/index248.js +34 -5
  49. package/dist/index249.js +2 -5
  50. package/dist/index25.js +2 -2
  51. package/dist/index250.js +3 -2
  52. package/dist/index251.js +187 -5
  53. package/dist/index252.js +4 -8
  54. package/dist/index253.js +7 -266
  55. package/dist/index254.js +40 -51
  56. package/dist/index255.js +5 -52
  57. package/dist/index256.js +5 -32
  58. package/dist/index257.js +5 -60
  59. package/dist/index258.js +5 -3
  60. package/dist/index259.js +2 -188
  61. package/dist/index260.js +6 -3
  62. package/dist/index261.js +266 -16
  63. package/dist/index262.js +52 -12
  64. package/dist/index263.js +47 -101
  65. package/dist/index264.js +34 -0
  66. package/dist/index265.js +55 -95
  67. package/dist/index266.js +6 -0
  68. package/dist/index267.js +22 -228
  69. package/dist/index268.js +106 -3
  70. package/dist/index27.js +1 -1
  71. package/dist/index270.js +99 -15
  72. package/dist/index272.js +3 -5
  73. package/dist/index273.js +3 -5
  74. package/dist/index274.js +9 -2
  75. package/dist/index275.js +23 -33
  76. package/dist/index276.js +5 -28
  77. package/dist/index277.js +7 -0
  78. package/dist/index278.js +5 -2
  79. package/dist/index279.js +5 -2
  80. package/dist/index280.js +18 -2
  81. package/dist/index281.js +11 -6
  82. package/dist/index282.js +229 -7
  83. package/dist/index283.js +8 -9
  84. package/dist/index284.js +2 -23
  85. package/dist/index285.js +6 -22
  86. package/dist/index286.js +7 -7
  87. package/dist/index287.js +10 -9
  88. package/dist/index288.js +3 -67
  89. package/dist/index289.js +67 -2
  90. package/dist/index29.js +2 -2
  91. package/dist/index290.js +7 -9
  92. package/dist/index291.js +6 -5
  93. package/dist/index292.js +16 -8
  94. package/dist/index294.js +3 -4
  95. package/dist/index295.js +5 -0
  96. package/dist/index296.js +1 -1
  97. package/dist/index297.js +2 -2
  98. package/dist/index298.js +1 -1
  99. package/dist/index299.js +1 -1
  100. package/dist/index301.js +4 -4
  101. package/dist/index302.js +2 -280
  102. package/dist/index303.js +4 -2
  103. package/dist/index304.js +277 -13
  104. package/dist/index305.js +2 -2
  105. package/dist/index306.js +9 -9
  106. package/dist/index308.js +12 -23
  107. package/dist/index31.js +2 -2
  108. package/dist/index310.js +27 -2
  109. package/dist/index311.js +2 -2
  110. package/dist/index312.js +1 -1
  111. package/dist/index313.js +1 -1
  112. package/dist/index314.js +1 -1
  113. package/dist/index315.js +2 -3
  114. package/dist/index316.js +2 -3
  115. package/dist/index317.js +5 -4
  116. package/dist/index318.js +3 -719
  117. package/dist/index319.js +3 -366
  118. package/dist/index320.js +123 -55
  119. package/dist/index321.js +2 -5
  120. package/dist/index322.js +15 -3
  121. package/dist/index323.js +2 -3
  122. package/dist/index324.js +19 -2
  123. package/dist/index325.js +2 -125
  124. package/dist/index326.js +4 -2
  125. package/dist/index327.js +2 -15
  126. package/dist/index328.js +2 -2
  127. package/dist/index329.js +5 -18
  128. package/dist/index33.js +8 -8
  129. package/dist/index330.js +8 -2
  130. package/dist/index331.js +6 -2
  131. package/dist/index332.js +8 -6
  132. package/dist/index333.js +34 -6
  133. package/dist/index334.js +6 -5
  134. package/dist/index335.js +128 -6
  135. package/dist/index336.js +395 -16
  136. package/dist/index337.js +58 -9
  137. package/dist/index338.js +57 -14
  138. package/dist/index339.js +227 -7
  139. package/dist/index340.js +6 -5
  140. package/dist/index341.js +19 -8
  141. package/dist/index342.js +8 -34
  142. package/dist/index343.js +15 -6
  143. package/dist/index344.js +5 -129
  144. package/dist/index345.js +6 -397
  145. package/dist/index346.js +92 -46
  146. package/dist/index347.js +719 -93
  147. package/dist/index348.js +365 -57
  148. package/dist/index349.js +56 -57
  149. package/dist/index35.js +4 -4
  150. package/dist/index350.js +131 -225
  151. package/dist/index353.js +44 -131
  152. package/dist/index37.js +17 -17
  153. package/dist/index39.js +6 -6
  154. package/dist/index4.js +12 -10
  155. package/dist/index41.js +2 -2
  156. package/dist/index43.js +8 -8
  157. package/dist/index45.js +6 -6
  158. package/dist/index49.js +1 -1
  159. package/dist/index53.js +1 -1
  160. package/dist/index55.js +1 -1
  161. package/dist/index57.js +2 -2
  162. package/dist/index61.js +4 -4
  163. package/dist/index67.js +1 -1
  164. package/dist/index80.js +5 -5
  165. package/dist/index82.js +1 -1
  166. package/dist/index84.js +2 -2
  167. package/dist/index86.js +3 -3
  168. package/dist/index88.js +1 -1
  169. package/dist/index91.js +2 -2
  170. package/dist/index93.js +2 -2
  171. package/dist/index95.js +4 -4
  172. package/package.json +1 -1
  173. package/dist/index223.js +0 -4
  174. package/dist/index227.js +0 -31
  175. package/dist/index239.js +0 -203
  176. package/dist/index269.js +0 -8
  177. package/dist/index271.js +0 -7
  178. package/dist/index293.js +0 -13
package/dist/index241.js CHANGED
@@ -1,129 +1,13 @@
1
- import { defineComponent as V, mergeModels as L, useModel as T, ref as p, computed as n, watch as F, onMounted as S, createBlock as A, openBlock as w, resolveDynamicComponent as N, mergeProps as g, unref as y, withModifiers as U, withCtx as q, createElementVNode as I, createElementBlock as X, createCommentVNode as j, renderSlot as z, nextTick as G } from "vue";
2
- import { useCancelableFunction as H } from "./index342.js";
3
- import { useUntil as J } from "./index236.js";
4
- import { extractDomContainer as h } from "./index245.js";
5
- import { waitFor as K } from "./index343.js";
6
- import { arrow as O, useFloating as Q } from "./index344.js";
7
- import { flip as R, offset as W, shift as Y, hide as Z, autoUpdate as ee } from "./index345.js";
8
- const oe = {
9
- key: 0,
10
- class: "bb-common-popover__bubble"
11
- }, ue = /* @__PURE__ */ V({
12
- __name: "CommonPopover",
13
- props: /* @__PURE__ */ L({
14
- arrowPadding: {},
15
- eager: { type: Boolean },
16
- offset: {},
17
- padding: { default: 0 },
18
- placement: {},
19
- transitionDuration: { default: 250 },
20
- anchor: {},
21
- boundary: {},
22
- dialog: { type: Boolean },
23
- tag: { default: "span" },
24
- flip: { type: Boolean, default: !0 }
25
- }, {
26
- modelValue: { type: Boolean, default: !1 },
27
- modelModifiers: {}
28
- }),
29
- emits: ["update:modelValue"],
30
- setup(c) {
31
- const e = c, r = T(c, "modelValue"), s = p(r.value), x = n(() => e.dialog ? "dialog" : "span"), t = p(), m = p(), _ = n(() => h(e.anchor)), C = J(r, { initialValue: e.eager }), P = n(() => {
32
- if (e.boundary)
33
- return typeof e.boundary == "string" ? document.querySelector(e.boundary) ?? void 0 : h(e.boundary) ?? void 0;
34
- }), k = n(() => {
35
- const o = P.value;
36
- return [
37
- ...e.flip ? [R(o ? { boundary: o } : void 0)] : [],
38
- W(e.offset),
39
- Y({ padding: e.padding, ...o ? { boundary: o } : {} }),
40
- Z(),
41
- O({
42
- element: m,
43
- padding: e.arrowPadding
44
- })
45
- ];
46
- }), { floatingStyles: M, placement: B, middlewareData: u, update: f } = Q(
47
- _,
48
- t,
49
- {
50
- placement: e.placement,
51
- whileElementsMounted: ee,
52
- middleware: k,
53
- strategy: "fixed"
54
- }
55
- ), { execute: v } = H(
56
- ({ signal: o }, a) => new Promise((l) => {
57
- let i;
58
- const d = () => {
59
- i && clearTimeout(i);
60
- };
61
- o.addEventListener("abort", d), a ? (E(), f(), K(() => !!t.value).then(() => {
62
- s.value = !0, o.removeEventListener("abort", d), l(void 0);
63
- })) : (s.value = !1, i = setTimeout(() => {
64
- G(() => {
65
- t.value && (e.dialog ? t.value.close() : t.value.hidePopover()), o.removeEventListener("abort", d), f(), l(void 0);
66
- });
67
- }, e.transitionDuration));
68
- })
69
- ), E = () => {
70
- if (!t.value) return;
71
- if (!e.dialog) return t.value.showPopover();
72
- t.value.showModal();
73
- };
74
- F(r, v), S(() => {
75
- r.value && v(r.value);
76
- });
77
- const $ = n(() => {
78
- const o = r.value ? void 0 : -1, a = Math.round(u.value.arrow?.x ?? 0), l = e.dialog ? void 0 : "manual";
79
- return {
80
- style: {
81
- ...M.value,
82
- "--transition-duration": `${e.transitionDuration}ms`,
83
- "--page-padding": `${e.padding}px`,
84
- "--arrow-offset-x": `${a}px`
85
- },
86
- popover: l,
87
- tabindex: o
88
- };
89
- }), D = n(() => {
90
- if (u.value.arrow) {
91
- const { x: o, y: a } = u.value.arrow;
92
- return {
93
- style: {
94
- left: `${o}px`,
95
- top: `${a}px`
96
- }
97
- };
98
- }
99
- }), b = () => {
100
- r.value = !1;
101
- };
102
- return (o, a) => (w(), A(N(x.value), g({
103
- ref_key: "wrapper",
104
- ref: t,
105
- class: ["bb-common-popover", {
106
- "bb-common-popover--open": s.value,
107
- [`bb-common-popover--${y(B)}`]: !0
108
- }]
109
- }, $.value, {
110
- onClick: U(b, ["self", "stop"]),
111
- onClose: b
112
- }), {
113
- default: q(() => [
114
- I("span", g({
115
- ref_key: "bubblearrow",
116
- ref: m,
117
- class: "bb-common-popover__arrow"
118
- }, D.value), null, 16),
119
- y(C) ? (w(), X("span", oe, [
120
- z(o.$slots, "default")
121
- ])) : j("", !0)
122
- ]),
123
- _: 3
124
- }, 16, ["class"]));
125
- }
126
- });
1
+ function c(n, r, e) {
2
+ const i = typeof r == "string" ? r.split(".") : r;
3
+ let t = n;
4
+ for (const o of i)
5
+ if (t && typeof t == "object" && o in t)
6
+ t = t[o];
7
+ else
8
+ return e;
9
+ return t === void 0 ? e : t;
10
+ }
127
11
  export {
128
- ue as default
12
+ c as get
129
13
  };
@@ -0,0 +1,10 @@
1
+ const o = "bitboss-ui | ", e = () => ({
2
+ warn: (r) => console.warn(`${o}${r}`),
3
+ error: (r) => console.error(`${o}${r}`),
4
+ throw: (r) => {
5
+ throw new Error(`${o}${r}`);
6
+ }
7
+ });
8
+ export {
9
+ e as useLogger
10
+ };
package/dist/index243.js CHANGED
@@ -1,12 +1,11 @@
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
+ function u(e, i) {
2
+ let t;
3
+ return function(...o) {
4
+ t !== void 0 && clearTimeout(t), t = setTimeout(() => {
5
+ e.apply(this, o);
6
+ }, i);
7
+ };
8
+ }
10
9
  export {
11
- o as pickBy
10
+ u as debounce
12
11
  };
package/dist/index244.js CHANGED
@@ -1,5 +1,5 @@
1
- const o = () => {
2
- };
1
+ import t from "./index317.js";
2
+ const r = t;
3
3
  export {
4
- o as noop
4
+ r as throttle
5
5
  };
package/dist/index245.js CHANGED
@@ -1,6 +1,4 @@
1
- function e(n) {
2
- return n ? n instanceof HTMLElement ? n : typeof n == "object" && "$el" in n && n.$el instanceof HTMLElement ? n.$el : typeof n == "object" && "el" in n && n.el instanceof HTMLElement ? n.el : null : null;
3
- }
1
+ const o = (e) => typeof e == "boolean" ? e : e === "true";
4
2
  export {
5
- e as extractDomContainer
3
+ o as booleanishToBoolean
6
4
  };
package/dist/index246.js CHANGED
@@ -1,7 +1,4 @@
1
- import { getDefaultExportFromCjs as r } from "./index332.js";
2
- import { __require as o } from "./index302.js";
3
- var t = o();
4
- const s = /* @__PURE__ */ r(t);
1
+ const e = (t) => t;
5
2
  export {
6
- s as default
3
+ e as identity
7
4
  };
package/dist/index247.js CHANGED
@@ -1,7 +1,11 @@
1
- import { getDefaultExportFromCjs as r } from "./index332.js";
2
- import { __require as e } from "./index304.js";
3
- var t = e();
4
- const m = /* @__PURE__ */ r(t);
1
+ import { getCurrentInstance as e } from "vue";
2
+ const s = () => {
3
+ const t = e(), n = !!t?.proxy?.$inertia, r = !!t?.proxy?.$nuxt;
4
+ return {
5
+ isInertia: n,
6
+ isNuxt: r
7
+ };
8
+ };
5
9
  export {
6
- m as default
10
+ s as useFrameworkDetection
7
11
  };
package/dist/index248.js CHANGED
@@ -1,7 +1,36 @@
1
- import { getDefaultExportFromCjs as r } from "./index332.js";
2
- import { __require as e } from "./index306.js";
3
- var o = e();
4
- const m = /* @__PURE__ */ r(o);
1
+ import { defineComponent as a, resolveComponent as o, createBlock as u, openBlock as l, resolveDynamicComponent as m, unref as c, withCtx as p, renderSlot as f } from "vue";
2
+ import { _config as e } from "./index4.js";
3
+ import { useLogger as i } from "./index242.js";
4
+ import { useFrameworkDetection as k } from "./index247.js";
5
+ const y = /* @__PURE__ */ a({
6
+ __name: "RouterComponent",
7
+ setup(g) {
8
+ const { isInertia: r, isNuxt: s } = k();
9
+ let t;
10
+ if (r) {
11
+ if (t = o(e.inertiaLinkName), typeof t == "string") {
12
+ const { warn: n } = i();
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 (s) {
18
+ if (t = o(e.nuxtLinkName), typeof t == "string") {
19
+ const { warn: n } = i();
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, d) => (l(), u(m(c(t)), null, {
27
+ default: p(() => [
28
+ f(n.$slots, "default")
29
+ ]),
30
+ _: 3
31
+ }));
32
+ }
33
+ });
5
34
  export {
6
- m as default
35
+ y as default
7
36
  };
package/dist/index249.js CHANGED
@@ -1,7 +1,4 @@
1
- import { getDefaultExportFromCjs as e } from "./index332.js";
2
- import { __require as r } from "./index308.js";
3
- var o = r();
4
- const f = /* @__PURE__ */ e(o);
1
+ const r = (e) => typeof e > "u" || e === null;
5
2
  export {
6
- f as default
3
+ r as isNil
7
4
  };
package/dist/index25.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { defineComponent as I, mergeModels as M, useModel as W, computed as v, ref as g, watch as N, onMounted as P, createElementBlock as n, openBlock as r, withModifiers as F, normalizeStyle as O, normalizeClass as q, unref as h, createCommentVNode as b, Fragment as A, createElementVNode as a, renderSlot as s, createTextVNode as K, toDisplayString as T, nextTick as R } from "vue";
2
- import { parseSize as U } from "./index234.js";
2
+ import { parseSize as U } from "./index235.js";
3
3
  import { useId as D } from "./index8.js";
4
- import { useLocale as j } from "./index235.js";
4
+ import { useLocale as j } from "./index220.js";
5
5
  import { useMobile as G } from "./index9.js";
6
6
  import { useUntil as J } from "./index236.js";
7
7
  import { wait as y } from "./index140.js";
package/dist/index250.js CHANGED
@@ -1,4 +1,5 @@
1
- const e = (t) => t[t.length - 1];
1
+ import r from "./index301.js";
2
+ const t = r;
2
3
  export {
3
- e as last
4
+ t as deburr
4
5
  };
package/dist/index251.js CHANGED
@@ -1,8 +1,190 @@
1
- function e(t, r) {
2
- if (!/\d{4}-\d{2}-\d{2}/.test(t))
3
- throw new Error(`${r} must be in the format YYYY-MM-DD`);
4
- return t;
1
+ var C = Object.defineProperty, x = (a, e, t) => e in a ? C(a, e, { enumerable: !0, configurable: !0, writable: !0, value: t }) : a[e] = t, y = (a, e, t) => x(a, typeof e != "symbol" ? e + "" : e, t);
2
+ const M = {
3
+ "#": { pattern: /[0-9]/ },
4
+ "@": { pattern: /[a-zA-Z]/ },
5
+ "*": { pattern: /[a-zA-Z0-9]/ }
6
+ }, w = (a, e, t) => a.replaceAll(e, "").replace(t, ".").replace("..", ".").replace(/[^.\d]/g, ""), N = (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 = N(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 = w(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 = N(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 = w(d, m, f), u + d;
26
+ }, I = (a) => JSON.parse(a.replaceAll("'", '"')), T = (a, e = {}) => {
27
+ const t = { ...e };
28
+ a.dataset.maska != null && a.dataset.maska !== "" && (t.mask = F(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 = O(a.dataset.maskaTokens));
29
+ const s = {};
30
+ 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;
31
+ }, E = (a) => a !== "" ? !!JSON.parse(a) : !0, F = (a) => a.startsWith("[") && a.endsWith("]") ? I(a) : a, O = (a) => {
32
+ if (a.startsWith("{") && a.endsWith("}"))
33
+ return I(a);
34
+ const e = {};
35
+ return a.split("|").forEach((t) => {
36
+ const s = t.split(":");
37
+ e[s[0]] = {
38
+ pattern: S() ? new RegExp(s[1], "u") : new RegExp(s[1]),
39
+ optional: s[2] === "optional",
40
+ multiple: s[2] === "multiple",
41
+ repeated: s[2] === "repeated"
42
+ };
43
+ }), e;
44
+ }, S = () => {
45
+ try {
46
+ return new RegExp("\\p{L}", "u"), !0;
47
+ } catch {
48
+ return !1;
49
+ }
50
+ };
51
+ class W {
52
+ constructor(e = {}) {
53
+ y(this, "opts", {}), y(this, "memo", /* @__PURE__ */ new Map());
54
+ const t = { ...e };
55
+ if (t.tokens != null) {
56
+ t.tokens = t.tokensReplace ? { ...t.tokens } : { ...M, ...t.tokens };
57
+ for (const s of Object.values(t.tokens))
58
+ typeof s.pattern == "string" && (s.pattern = S() ? new RegExp(s.pattern, "u") : new RegExp(s.pattern));
59
+ } else
60
+ t.tokens = M;
61
+ 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;
62
+ }
63
+ masked(e) {
64
+ return this.process(String(e), this.findMask(String(e)));
65
+ }
66
+ unmasked(e) {
67
+ return this.process(String(e), this.findMask(String(e)), !1);
68
+ }
69
+ isEager() {
70
+ return this.opts.eager === !0;
71
+ }
72
+ isReversed() {
73
+ return this.opts.reversed === !0;
74
+ }
75
+ completed(e) {
76
+ const t = this.findMask(String(e));
77
+ if (this.opts.mask == null || t == null) return !1;
78
+ const s = this.process(String(e), t).length;
79
+ return typeof this.opts.mask == "string" ? s >= this.opts.mask.length : s >= t.length;
80
+ }
81
+ findMask(e) {
82
+ const t = this.opts.mask;
83
+ if (t == null)
84
+ return null;
85
+ if (typeof t == "string")
86
+ return t;
87
+ if (typeof t == "function")
88
+ return t(e);
89
+ const s = this.process(e, t.slice(-1).pop() ?? "", !1);
90
+ return t.find((r) => this.process(e, r, !1).length >= s.length) ?? "";
91
+ }
92
+ escapeMask(e) {
93
+ const t = [], s = [];
94
+ return e.split("").forEach((r, n) => {
95
+ r === "!" && e[n - 1] !== "!" ? s.push(n - s.length) : t.push(r);
96
+ }), { mask: t.join(""), escaped: s };
97
+ }
98
+ process(e, t, s = !0) {
99
+ if (this.opts.number != null) return P(e, s, this.opts);
100
+ if (t == null) return e;
101
+ const r = `v=${e},mr=${t},m=${s ? 1 : 0}`;
102
+ if (this.memo.has(r)) return this.memo.get(r);
103
+ 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;
104
+ let v, d = -1, i = this.isReversed() ? n.length - 1 : 0, h = this.isReversed() ? e.length - 1 : 0, R = !1;
105
+ for (; f(); ) {
106
+ const b = n.charAt(i), g = p[b], A = g?.transform != null ? g.transform(e.charAt(h)) : e.charAt(h);
107
+ if (!l.includes(i) && g != null ? (A.match(g.pattern) != null ? (u[k](A), g.repeated ? (d === -1 ? d = i : i === m && i !== d && (i = d - o), m === d && (i -= o)) : g.multiple && (R = !0, i -= o), i += o) : g.multiple ? R && (i += o, h -= o, R = !1) : A === v ? v = void 0 : g.optional && (i += o, h -= o), h += o) : (s && !this.isEager() && u[k](b), A === b && !this.isEager() ? h += o : v = b, this.isEager() || (i += o)), this.isEager())
108
+ for (; c(i) && (p[n.charAt(i)] == null || l.includes(i)); ) {
109
+ if (s) {
110
+ if (u[k](n.charAt(i)), e.charAt(h) === n.charAt(i)) {
111
+ i += o, h += o;
112
+ continue;
113
+ }
114
+ } else n.charAt(i) === e.charAt(h) && (h += o);
115
+ i += o;
116
+ }
117
+ }
118
+ return this.memo.set(r, u.join("")), this.memo.get(r);
119
+ }
120
+ }
121
+ class V {
122
+ constructor(e, t = {}) {
123
+ y(this, "items", /* @__PURE__ */ new Map()), y(this, "eventAbortController"), y(this, "onInput", (s) => {
124
+ if (s instanceof CustomEvent && s.type === "input" && !s.isTrusted && !s.bubbles)
125
+ return;
126
+ const r = s.target, n = this.items.get(r);
127
+ if (n === void 0) return;
128
+ const l = "inputType" in s && s.inputType.startsWith("delete"), u = n.isEager(), p = l && u && n.unmasked(r.value) === "" ? "" : r.value;
129
+ this.fixCursor(r, l, () => this.setValue(r, p));
130
+ }), this.options = t, this.eventAbortController = new AbortController(), this.init(this.getInputs(e));
131
+ }
132
+ update(e = {}) {
133
+ this.options = { ...e }, this.init(Array.from(this.items.keys()));
134
+ }
135
+ updateValue(e) {
136
+ var t;
137
+ e.value !== "" && e.value !== ((t = this.processInput(e)) == null ? void 0 : t.masked) && this.setValue(e, e.value);
138
+ }
139
+ destroy() {
140
+ this.eventAbortController.abort(), this.items.clear();
141
+ }
142
+ init(e) {
143
+ const t = this.getOptions(this.options);
144
+ for (const s of e) {
145
+ if (!this.items.has(s)) {
146
+ const { signal: n } = this.eventAbortController;
147
+ s.addEventListener("input", this.onInput, { capture: !0, signal: n });
148
+ }
149
+ const r = new W(T(s, t));
150
+ 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);
151
+ }
152
+ }
153
+ getInputs(e) {
154
+ return typeof e == "string" ? Array.from(document.querySelectorAll(e)) : "length" in e ? Array.from(e) : [e];
155
+ }
156
+ getOptions(e) {
157
+ const { onMaska: t, preProcess: s, postProcess: r, ...n } = e;
158
+ return n;
159
+ }
160
+ fixCursor(e, t, s) {
161
+ var r, n;
162
+ const l = e.selectionStart, u = e.value;
163
+ if (s(), l === null || l === u.length && !t) return;
164
+ 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;
165
+ if (m === void 0 || f === void 0) return;
166
+ let c = l;
167
+ o !== k && (c += t ? p.length - u.length : m.length - f.length), e.setSelectionRange(c, c);
168
+ }
169
+ setValue(e, t) {
170
+ const s = this.processInput(e, t);
171
+ 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 })));
172
+ }
173
+ processInput(e, t) {
174
+ const s = this.items.get(e);
175
+ if (s === void 0) return;
176
+ let r = t ?? e.value;
177
+ this.options.preProcess != null && (r = this.options.preProcess(r));
178
+ let n = s.masked(r);
179
+ return this.options.postProcess != null && (n = this.options.postProcess(n)), {
180
+ masked: n,
181
+ unmasked: s.unmasked(r),
182
+ completed: s.completed(r)
183
+ };
184
+ }
5
185
  }
6
186
  export {
7
- e as validateDateFormat
187
+ W as Mask,
188
+ V as MaskInput,
189
+ M as tokens
8
190
  };
package/dist/index252.js CHANGED
@@ -1,10 +1,6 @@
1
- const o = "bitboss-ui | ", e = () => ({
2
- warn: (r) => console.warn(`${o}${r}`),
3
- error: (r) => console.error(`${o}${r}`),
4
- throw: (r) => {
5
- throw new Error(`${o}${r}`);
6
- }
7
- });
1
+ import { curry as e } from "./index303.js";
2
+ const t = (n, o, r) => n(r) ? o(r) : r, s = e(t);
8
3
  export {
9
- e as useLogger
4
+ t as baseWhen,
5
+ s as when
10
6
  };