@signal24/vue-foundation 4.4.0 → 4.5.1

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,16 +1,16 @@
1
- var Be = Object.defineProperty;
2
- var Ve = (e, t, n) => t in e ? Be(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
- var g = (e, t, n) => (Ve(e, typeof t != "symbol" ? t + "" : t, n), n);
4
- import { defineComponent as x, defineProps as Fe, defineEmits as Re, ref as b, computed as N, openBlock as u, createElementBlock as f, createElementVNode as k, toDisplayString as H, withDirectives as K, createCommentVNode as T, Fragment as U, renderList as G, vModelSelect as Ne, getCurrentInstance as Q, onMounted as _, normalizeClass as w, normalizeStyle as Ke, withModifiers as ge, renderSlot as R, reactive as Ue, h as W, Teleport as We, markRaw as je, onBeforeUnmount as J, resolveDirective as Ee, createBlock as Oe, createSlots as Pe, withCtx as z, createTextVNode as se, vModelText as qe, watch as oe, onActivated as Te, onDeactivated as we } from "vue";
5
- import { debounce as ze, isEqual as be, upperFirst as Xe, startCase as Ye, cloneDeep as Ze, remove as Ge } from "lodash";
6
- import { escapeHtml as Qe } from "@vue/shared";
7
- import { escapeHtml as Xn } from "@vue/shared";
8
- import { format as Y } from "date-fns";
9
- const Je = x({
1
+ var Ve = Object.defineProperty;
2
+ var Fe = (e, t, n) => t in e ? Ve(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
+ var v = (e, t, n) => (Fe(e, typeof t != "symbol" ? t + "" : t, n), n);
4
+ import { defineComponent as S, defineProps as Re, defineEmits as Ne, ref as w, computed as K, openBlock as d, createElementBlock as f, createElementVNode as k, toDisplayString as H, withDirectives as U, createCommentVNode as b, Fragment as j, renderList as Q, vModelSelect as Ke, getCurrentInstance as J, onMounted as B, normalizeClass as T, normalizeStyle as Ue, withModifiers as Oe, renderSlot as N, reactive as je, h as W, Teleport as We, markRaw as Pe, onBeforeUnmount as ee, resolveDirective as be, createBlock as Te, createSlots as qe, withCtx as X, createTextVNode as oe, vModelText as ze, watch as le, onActivated as we, onDeactivated as ke } from "vue";
5
+ import { debounce as Xe, isEqual as Se, upperFirst as Ye, startCase as Ze, cloneDeep as Ge, remove as Qe } from "lodash";
6
+ import { escapeHtml as Je } from "@vue/shared";
7
+ import { escapeHtml as Zn } from "@vue/shared";
8
+ import { format as Z } from "date-fns";
9
+ const et = S({
10
10
  setup() {
11
- const e = Fe();
12
- Re(["update:modelValue"]);
13
- const t = b(null), n = N(() => t.value ? t.value.map((o) => e.preprocesor ? e.preprocesor(o) : o[e.displayKey ?? ""]) : null), i = b(e.modelValue ?? null);
11
+ const e = Re();
12
+ Ne(["update:modelValue"]);
13
+ const t = w(null), n = K(() => t.value ? t.value.map((o) => e.preprocesor ? e.preprocesor(o) : o[e.displayKey ?? ""]) : null), i = w(e.modelValue ?? null);
14
14
  return { props: e, options: t, renderOptions: n, selectedItem: i };
15
15
  },
16
16
  watch: {
@@ -32,105 +32,105 @@ const Je = x({
32
32
  this.options = await this.props.loadFn();
33
33
  }
34
34
  }
35
- }), ke = (e, t) => {
35
+ }), xe = (e, t) => {
36
36
  const n = e.__vccOpts || e;
37
37
  for (const [i, s] of t)
38
38
  n[i] = s;
39
39
  return n;
40
- }, et = {
40
+ }, tt = {
41
41
  key: 0,
42
42
  disabled: ""
43
- }, tt = {
43
+ }, nt = {
44
44
  key: 0,
45
45
  value: null
46
- }, nt = ["value"];
47
- function it(e, t, n, i, s, o) {
48
- return e.renderOptions ? K((u(), f("select", {
46
+ }, it = ["value"];
47
+ function st(e, t, n, i, s, o) {
48
+ return e.renderOptions ? U((d(), f("select", {
49
49
  key: 1,
50
50
  "onUpdate:modelValue": t[0] || (t[0] = (r) => e.selectedItem = r)
51
51
  }, [
52
- e.props.nullText ? (u(), f("option", tt, H(e.props.nullText), 1)) : T("", !0),
53
- (u(!0), f(U, null, G(e.renderOptions, (r, l) => {
52
+ e.props.nullText ? (d(), f("option", nt, H(e.props.nullText), 1)) : b("", !0),
53
+ (d(!0), f(j, null, Q(e.renderOptions, (r, l) => {
54
54
  var c;
55
- return u(), f("option", {
55
+ return d(), f("option", {
56
56
  key: l,
57
57
  value: (c = e.options) == null ? void 0 : c[l]
58
- }, H(r), 9, nt);
58
+ }, H(r), 9, it);
59
59
  }), 128))
60
60
  ], 512)), [
61
- [Ne, e.selectedItem]
62
- ]) : (u(), f("select", et, [
61
+ [Ke, e.selectedItem]
62
+ ]) : (d(), f("select", tt, [
63
63
  k("option", null, H(e.props.loadingText || "Loading..."), 1)
64
64
  ]));
65
65
  }
66
- const wn = /* @__PURE__ */ ke(Je, [["render", it]]), st = ["onClick"], ot = /* @__PURE__ */ x({
66
+ const kn = /* @__PURE__ */ xe(et, [["render", st]]), ot = ["onClick"], lt = /* @__PURE__ */ S({
67
67
  __name: "overlay-anchor",
68
68
  props: {
69
69
  overlayId: {},
70
70
  anchor: {}
71
71
  },
72
72
  setup(e) {
73
- const t = e, n = t.anchor instanceof HTMLElement ? t.anchor : t.anchor.el, i = b({ visibility: "hidden", top: "0", left: "0" }), s = b([]), o = Q();
74
- _(r);
73
+ const t = e, n = t.anchor instanceof HTMLElement ? t.anchor : t.anchor.el, i = w({ visibility: "hidden", top: "0", left: "0" }), s = w([]), o = J();
74
+ B(r);
75
75
  function r() {
76
- const m = o.vnode.el, { styles: h, classes: a } = l(m, n);
77
- i.value = h, s.value = a;
76
+ const y = o.vnode.el, { styles: u, classes: a } = l(y, n);
77
+ i.value = u, s.value = a;
78
78
  }
79
- function l(m, h) {
80
- const a = t.anchor instanceof HTMLElement ? {} : t.anchor, p = h.getBoundingClientRect(), d = m.getBoundingClientRect();
81
- a.matchWidth && (d.width = p.width), a.matchHeight && (d.height = p.height);
82
- const y = a.class ? Array.isArray(a.class) ? a.class : [a.class] : [];
83
- let E, S;
79
+ function l(y, u) {
80
+ const a = t.anchor instanceof HTMLElement ? {} : t.anchor, m = u.getBoundingClientRect(), p = y.getBoundingClientRect();
81
+ a.matchWidth && (p.width = m.width), a.matchHeight && (p.height = m.height);
82
+ const h = a.class ? Array.isArray(a.class) ? a.class : [a.class] : [];
83
+ let E, x;
84
84
  if (a.y === "center")
85
- E = p.top + p.height / 2 - d.height / 2, y.push("anchored-center-y");
85
+ E = m.top + m.height / 2 - p.height / 2, h.push("anchored-center-y");
86
86
  else {
87
- const L = (p.bottom + d.height < window.innerHeight || a.y === "below") && a.y !== "above";
88
- E = L ? p.bottom : p.top - d.height, y.push(L ? "anchored-top" : "anchored-bottom");
87
+ const L = (m.bottom + p.height < window.innerHeight || a.y === "below") && a.y !== "above";
88
+ E = L ? m.bottom : m.top - p.height, h.push(L ? "anchored-top" : "anchored-bottom");
89
89
  }
90
90
  if (a.x === "center")
91
- S = p.left + p.width / 2 - d.width / 2, y.push("anchored-center-x");
91
+ x = m.left + m.width / 2 - p.width / 2, h.push("anchored-center-x");
92
92
  else {
93
- const L = (p.left + d.width < window.innerWidth || a.x === "left") && a.x !== "right";
94
- S = L ? p.left : p.right - d.width, y.push(L ? "anchored-left" : "anchored-right");
93
+ const L = (m.left + p.width < window.innerWidth || a.x === "left") && a.x !== "right";
94
+ x = L ? m.left : m.right - p.width, h.push(L ? "anchored-left" : "anchored-right");
95
95
  }
96
96
  return {
97
97
  styles: {
98
98
  top: `${E}px`,
99
- left: `${S}px`,
100
- ...a.matchWidth ? { width: `${d.width}px` } : {},
101
- ...a.matchHeight ? { height: `${d.height}px` } : {}
99
+ left: `${x}px`,
100
+ ...a.matchWidth ? { width: `${p.width}px` } : {},
101
+ ...a.matchHeight ? { height: `${p.height}px` } : {}
102
102
  },
103
- classes: y
103
+ classes: h
104
104
  };
105
105
  }
106
106
  function c() {
107
- window.removeEventListener("click", c), at(t.overlayId);
107
+ window.removeEventListener("click", c), ct(t.overlayId);
108
108
  }
109
- return _(() => {
109
+ return B(() => {
110
110
  setTimeout(() => {
111
111
  window.addEventListener("click", c);
112
112
  }, 10);
113
- }), (m, h) => (u(), f("div", {
114
- class: w(["vf-overlay-anchor", s.value]),
115
- style: Ke(i.value),
116
- onClick: ge(c, ["stop"])
113
+ }), (y, u) => (d(), f("div", {
114
+ class: T(["vf-overlay-anchor", s.value]),
115
+ style: Ue(i.value),
116
+ onClick: Oe(c, ["stop"])
117
117
  }, [
118
- R(m.$slots, "default")
119
- ], 14, st));
118
+ N(y.$slots, "default")
119
+ ], 14, ot));
120
120
  }
121
121
  });
122
- let lt = 0;
123
- const O = Ue([]), bn = x({
122
+ let rt = 0;
123
+ const O = je([]), Sn = S({
124
124
  setup() {
125
125
  return () => W("div", [
126
- G(O, (e) => W(We, { key: e.id, to: "#vf-overlay-target" }, [e.wrapperVnode ?? e.vnode]))
126
+ Q(O, (e) => W(We, { key: e.id, to: "#vf-overlay-target" }, [e.wrapperVnode ?? e.vnode]))
127
127
  ]);
128
128
  }
129
129
  });
130
- function Se(e, t, n) {
130
+ function Le(e, t, n) {
131
131
  const i = document.getElementById("vf-overlay-target") ?? document.createElement("div");
132
132
  i.id = "vf-overlay-target", i.removeAttribute("inert"), document.body.appendChild(i);
133
- const s = String(++lt), o = je(e), r = W(o, t), l = n != null && n.anchor ? W(ot, { overlayId: s, anchor: n.anchor }, () => [r]) : void 0, c = {
133
+ const s = String(++rt), o = Pe(e), r = W(o, t), l = n != null && n.anchor ? W(lt, { overlayId: s, anchor: n.anchor }, () => [r]) : void 0, c = {
134
134
  id: s,
135
135
  component: o,
136
136
  props: t,
@@ -140,142 +140,142 @@ function Se(e, t, n) {
140
140
  };
141
141
  return O.push(c), c;
142
142
  }
143
- function kn(e) {
144
- xe(e.$);
143
+ function xn(e) {
144
+ Ce(e.$);
145
145
  }
146
- function xe(e) {
146
+ function Ce(e) {
147
147
  let t = e;
148
- for (; t && !rt(t.vnode); )
148
+ for (; t && !at(t.vnode); )
149
149
  t = t.parent;
150
150
  }
151
- function rt(e) {
151
+ function at(e) {
152
152
  const t = O.findIndex((n) => n.vnode.component === e.component);
153
153
  return t >= 0 ? (O[t].props.callback(), !0) : !1;
154
154
  }
155
- function at(e) {
155
+ function ct(e) {
156
156
  const t = O.findIndex((n) => n.id === e);
157
157
  return t >= 0 ? (O[t].props.callback(), !0) : !1;
158
158
  }
159
- function Le(e) {
159
+ function Me(e) {
160
160
  const t = O.indexOf(e);
161
161
  t >= 0 && O.splice(t, 1);
162
162
  }
163
- async function ee(e, t, n) {
163
+ async function te(e, t, n) {
164
164
  return new Promise((i) => {
165
165
  let s = null;
166
166
  const r = { ...t, callback: (l) => {
167
- Le(s), i(l);
167
+ Me(s), i(l);
168
168
  } };
169
- s = Se(e, r, n);
169
+ s = Le(e, r, n);
170
170
  });
171
171
  }
172
- function j(e, t) {
172
+ function P(e, t) {
173
173
  return { title: t ? e : void 0, message: t ?? e };
174
174
  }
175
- async function le(e, t) {
176
- await ee(q, j(e, t));
175
+ async function re(e, t) {
176
+ await te(z, P(e, t));
177
177
  }
178
- async function Sn(e, t) {
179
- return await ee(q, {
180
- ...j(e, t),
178
+ async function Ln(e, t) {
179
+ return await te(z, {
180
+ ...P(e, t),
181
181
  shouldConfirm: !0
182
182
  }) === !0;
183
183
  }
184
- async function xn(e, t) {
185
- return await ee(q, {
186
- ...j(e, t),
184
+ async function Cn(e, t) {
185
+ return await te(z, {
186
+ ...P(e, t),
187
187
  shouldConfirm: !0,
188
188
  classes: ["destructive"]
189
189
  }) === !0;
190
190
  }
191
- function Ln(e, t) {
192
- const n = Se(q, {
193
- ...j(e, t),
191
+ function Mn(e, t) {
192
+ const n = Le(z, {
193
+ ...P(e, t),
194
194
  isBare: !0,
195
195
  classes: ["wait"],
196
196
  callback: () => {
197
197
  }
198
198
  });
199
- return () => Le(n);
199
+ return () => Me(n);
200
200
  }
201
201
  const V = {
202
202
  unhandledErrorSupportText: "please contact support",
203
203
  errorHandler: (e) => console.error("Unhandled error:", e),
204
204
  defaultDateTimeFormat: "MM/dd/yy HH:mm"
205
205
  };
206
- function Cn(e) {
206
+ function In(e) {
207
207
  Object.assign(V, e);
208
208
  }
209
- class P extends Error {
209
+ class q extends Error {
210
210
  constructor(t) {
211
211
  super(t), this.name = "UserError";
212
212
  }
213
213
  }
214
- function ct(e) {
215
- return e instanceof P ? e.message : `An application error has occurred:
214
+ function dt(e) {
215
+ return e instanceof q ? e.message : `An application error has occurred:
216
216
 
217
- ${te(e).message}
217
+ ${ne(e).message}
218
218
 
219
219
  Please refresh the page and try again. If this error persists, ${V.unhandledErrorSupportText}.`;
220
220
  }
221
- function te(e) {
221
+ function ne(e) {
222
222
  return e instanceof Error ? e : new Error(String(e));
223
223
  }
224
- async function Mn(e, t) {
225
- const n = te(e);
226
- return n instanceof P || V.errorHandler(n), t ? le(t, n) : le(n);
224
+ async function Hn(e, t) {
225
+ const n = ne(e);
226
+ return n instanceof q || V.errorHandler(n), t ? re(t, n) : re(n);
227
227
  }
228
- async function In(e) {
229
- const t = te(e);
230
- t instanceof P || V.errorHandler(t);
228
+ async function Dn(e) {
229
+ const t = ne(e);
230
+ t instanceof q || V.errorHandler(t);
231
231
  }
232
232
  const D = Symbol("MaskState");
233
- function Hn(e, t) {
233
+ function An(e, t) {
234
234
  const n = e.$.vnode.el, i = n.closest(".vf-modal");
235
- return dt(i ?? n, t);
235
+ return ut(i ?? n, t);
236
236
  }
237
- function Dn(e) {
237
+ function $n(e) {
238
238
  const t = e.$.vnode.el, n = t.closest(".vf-modal");
239
- return Ce(n ?? t);
239
+ return Ie(n ?? t);
240
240
  }
241
- function dt(e, t) {
241
+ function ut(e, t) {
242
242
  if (!e[D]) {
243
243
  const n = document.createElement("div");
244
244
  n.classList.add("vf-mask"), e.appendChild(n), e[D] = { maskEl: n };
245
245
  }
246
- return e[D].maskEl.innerText = t ?? "", () => Ce(e);
246
+ return e[D].maskEl.innerText = t ?? "", () => Ie(e);
247
247
  }
248
- function Ce(e) {
248
+ function Ie(e) {
249
249
  e[D] && e.removeChild(e[D].maskEl);
250
250
  }
251
- const Z = Symbol("FormMaskState");
252
- function ut(e, t, n) {
253
- const i = e instanceof Element ? e : Ie(e);
251
+ const G = Symbol("FormMaskState");
252
+ function ht(e, t, n) {
253
+ const i = e instanceof Element ? e : De(e);
254
254
  i.classList.add("vf-masked");
255
255
  const s = t instanceof Element ? t : i.querySelectorAll(t ?? 'button:not([disabled]):not([type="button"])')[0], o = s.tagName === "INPUT" ? s.value : s.innerHTML;
256
256
  s.setAttribute("disabled", "disabled"), s.innerText = n ?? "Please wait...";
257
257
  const l = [...i.querySelectorAll("input:not([disabled]), select:not([disabled]), textarea:not([disabled]), button:not([disabled])")];
258
- return l.forEach((c) => c.setAttribute("disabled", "disabled")), i[Z] = {
258
+ return l.forEach((c) => c.setAttribute("disabled", "disabled")), i[G] = {
259
259
  disabledElements: l,
260
260
  waitButton: s,
261
261
  buttonHtml: o
262
- }, () => Me(i);
262
+ }, () => He(i);
263
263
  }
264
- function Me(e) {
265
- const t = e instanceof Element ? e : Ie(e), n = t[Z];
266
- n && (t.classList.remove("vf-masked"), n.disabledElements.forEach((i) => i.removeAttribute("disabled")), n.waitButton.innerHTML = n.buttonHtml, n.waitButton.removeAttribute("disabled"), delete t[Z]);
264
+ function He(e) {
265
+ const t = e instanceof Element ? e : De(e), n = t[G];
266
+ n && (t.classList.remove("vf-masked"), n.disabledElements.forEach((i) => i.removeAttribute("disabled")), n.waitButton.innerHTML = n.buttonHtml, n.waitButton.removeAttribute("disabled"), delete t[G]);
267
267
  }
268
- function Ie(e) {
268
+ function De(e) {
269
269
  const t = e.$.vnode.el;
270
270
  return t.tagName === "FORM" ? t : t.querySelector("form");
271
271
  }
272
- const ht = ["id"], ft = {
272
+ const ft = ["id"], pt = {
273
273
  key: 0,
274
274
  class: "vf-modal-header"
275
- }, pt = { class: "vf-modal-content" }, mt = {
275
+ }, mt = { class: "vf-modal-content" }, vt = {
276
276
  key: 1,
277
277
  class: "vf-modal-footer"
278
- }, vt = /* @__PURE__ */ x({
278
+ }, yt = /* @__PURE__ */ S({
279
279
  __name: "modal",
280
280
  props: {
281
281
  id: {},
@@ -286,13 +286,13 @@ const ht = ["id"], ft = {
286
286
  },
287
287
  emits: ["formSubmit"],
288
288
  setup(e, { expose: t }) {
289
- const n = e, i = Q();
290
- t({ mask: m, unmask: h });
291
- const s = b(), o = b();
292
- _(() => {
289
+ const n = e, i = J();
290
+ t({ mask: y, unmask: u });
291
+ const s = w(), o = w();
292
+ B(() => {
293
293
  var a;
294
294
  document.body.classList.add("vf-modal-open"), n.closeOnMaskClick && (window.addEventListener("keydown", l), (a = s.value) == null || a.addEventListener("click", r));
295
- }), J(() => {
295
+ }), ee(() => {
296
296
  window.removeEventListener("keydown", l), document.body.querySelectorAll(".vf-modal").length > 0 || document.body.classList.remove("vf-modal-open");
297
297
  });
298
298
  function r(a) {
@@ -300,51 +300,51 @@ const ht = ["id"], ft = {
300
300
  }
301
301
  function l(a) {
302
302
  if (a.key === "Esc" || a.key === "Escape") {
303
- const p = document.querySelectorAll(".vf-modal-wrap");
304
- p[p.length - 1] === s.value && c();
303
+ const m = document.querySelectorAll(".vf-modal-wrap");
304
+ m[m.length - 1] === s.value && c();
305
305
  }
306
306
  }
307
307
  function c() {
308
- xe(i);
308
+ Ce(i);
309
309
  }
310
- function m() {
311
- ut(o.value);
310
+ function y() {
311
+ ht(o.value);
312
312
  }
313
- function h() {
314
- Me(o.value);
313
+ function u() {
314
+ He(o.value);
315
315
  }
316
- return (a, p) => (u(), f("div", {
316
+ return (a, m) => (d(), f("div", {
317
317
  id: a.id,
318
- class: w(["vf-overlay vf-modal-wrap", n.class]),
318
+ class: T(["vf-overlay vf-modal-wrap", n.class]),
319
319
  ref_key: "overlay",
320
320
  ref: s
321
321
  }, [
322
322
  k("form", {
323
323
  action: ".",
324
- class: w(["vf-modal", { scrolls: a.scrolls }]),
325
- onSubmit: p[0] || (p[0] = ge((d) => a.$emit("formSubmit"), ["prevent"])),
324
+ class: T(["vf-modal", { scrolls: a.scrolls }]),
325
+ onSubmit: m[0] || (m[0] = Oe((p) => a.$emit("formSubmit"), ["prevent"])),
326
326
  ref_key: "form",
327
327
  ref: o
328
328
  }, [
329
- a.$slots.header ? (u(), f("div", ft, [
330
- R(a.$slots, "header"),
331
- n.closeX ? (u(), f("i", {
329
+ a.$slots.header ? (d(), f("div", pt, [
330
+ N(a.$slots, "header"),
331
+ n.closeX ? (d(), f("i", {
332
332
  key: 0,
333
333
  class: "close",
334
334
  onClick: c
335
- })) : T("", !0)
336
- ])) : T("", !0),
337
- k("div", pt, [
338
- R(a.$slots, "default")
335
+ })) : b("", !0)
336
+ ])) : b("", !0),
337
+ k("div", mt, [
338
+ N(a.$slots, "default")
339
339
  ]),
340
- a.$slots.footer ? (u(), f("div", mt, [
341
- R(a.$slots, "footer")
342
- ])) : T("", !0)
340
+ a.$slots.footer ? (d(), f("div", vt, [
341
+ N(a.$slots, "footer")
342
+ ])) : b("", !0)
343
343
  ], 34)
344
- ], 10, ht));
344
+ ], 10, ft));
345
345
  }
346
346
  });
347
- const yt = ["innerHtml"], gt = ["innerText"], q = /* @__PURE__ */ x({
347
+ const gt = ["innerHtml"], Et = ["innerText"], z = /* @__PURE__ */ S({
348
348
  __name: "alert-modal",
349
349
  props: {
350
350
  isBare: { type: Boolean },
@@ -356,40 +356,40 @@ const yt = ["innerHtml"], gt = ["innerText"], q = /* @__PURE__ */ x({
356
356
  callback: { type: Function }
357
357
  },
358
358
  setup(e) {
359
- const t = e, n = N(() => t.message instanceof Error ? ct(t.message) : t.message);
359
+ const t = e, n = K(() => t.message instanceof Error ? dt(t.message) : t.message);
360
360
  return (i, s) => {
361
- const o = Ee("autofocus");
362
- return u(), Oe(vt, {
363
- class: w(["vf-alert", i.classes])
364
- }, Pe({
365
- default: z(() => [
366
- i.isHtml ? (u(), f("div", {
361
+ const o = be("autofocus");
362
+ return d(), Te(yt, {
363
+ class: T(["vf-alert", i.classes])
364
+ }, qe({
365
+ default: X(() => [
366
+ i.isHtml ? (d(), f("div", {
367
367
  key: 0,
368
368
  innerHtml: i.message,
369
369
  class: "user-message"
370
- }, null, 8, yt)) : (u(), f("div", {
370
+ }, null, 8, gt)) : (d(), f("div", {
371
371
  key: 1,
372
372
  innerText: n.value
373
- }, null, 8, gt))
373
+ }, null, 8, Et))
374
374
  ]),
375
375
  _: 2
376
376
  }, [
377
377
  i.title ? {
378
378
  name: "header",
379
- fn: z(() => [
379
+ fn: X(() => [
380
380
  k("h1", null, H(i.title), 1)
381
381
  ]),
382
382
  key: "0"
383
383
  } : void 0,
384
384
  i.isBare ? void 0 : {
385
385
  name: "footer",
386
- fn: z(() => [
387
- i.shouldConfirm ? (u(), f(U, { key: 0 }, [
388
- K((u(), f("button", {
386
+ fn: X(() => [
387
+ i.shouldConfirm ? (d(), f(j, { key: 0 }, [
388
+ U((d(), f("button", {
389
389
  class: "primary",
390
390
  onClick: s[0] || (s[0] = () => i.callback(!0))
391
391
  }, [
392
- se("Confirm")
392
+ oe("Confirm")
393
393
  ])), [
394
394
  [o]
395
395
  ]),
@@ -397,12 +397,12 @@ const yt = ["innerHtml"], gt = ["innerText"], q = /* @__PURE__ */ x({
397
397
  class: "default",
398
398
  onClick: s[1] || (s[1] = () => i.callback(!1))
399
399
  }, "Cancel")
400
- ], 64)) : K((u(), f("button", {
400
+ ], 64)) : U((d(), f("button", {
401
401
  key: 1,
402
402
  class: "default",
403
403
  onClick: s[2] || (s[2] = () => i.callback(!0))
404
404
  }, [
405
- se("OK")
405
+ oe("OK")
406
406
  ])), [
407
407
  [o]
408
408
  ])
@@ -413,27 +413,27 @@ const yt = ["innerHtml"], gt = ["innerText"], q = /* @__PURE__ */ x({
413
413
  };
414
414
  }
415
415
  });
416
- let F;
417
- const Et = new Uint8Array(16);
418
- function Ot() {
419
- if (!F && (F = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !F))
416
+ let R;
417
+ const Ot = new Uint8Array(16);
418
+ function bt() {
419
+ if (!R && (R = typeof crypto < "u" && crypto.getRandomValues && crypto.getRandomValues.bind(crypto), !R))
420
420
  throw new Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");
421
- return F(Et);
421
+ return R(Ot);
422
422
  }
423
- const v = [];
423
+ const g = [];
424
424
  for (let e = 0; e < 256; ++e)
425
- v.push((e + 256).toString(16).slice(1));
425
+ g.push((e + 256).toString(16).slice(1));
426
426
  function Tt(e, t = 0) {
427
- return (v[e[t + 0]] + v[e[t + 1]] + v[e[t + 2]] + v[e[t + 3]] + "-" + v[e[t + 4]] + v[e[t + 5]] + "-" + v[e[t + 6]] + v[e[t + 7]] + "-" + v[e[t + 8]] + v[e[t + 9]] + "-" + v[e[t + 10]] + v[e[t + 11]] + v[e[t + 12]] + v[e[t + 13]] + v[e[t + 14]] + v[e[t + 15]]).toLowerCase();
427
+ return (g[e[t + 0]] + g[e[t + 1]] + g[e[t + 2]] + g[e[t + 3]] + "-" + g[e[t + 4]] + g[e[t + 5]] + "-" + g[e[t + 6]] + g[e[t + 7]] + "-" + g[e[t + 8]] + g[e[t + 9]] + "-" + g[e[t + 10]] + g[e[t + 11]] + g[e[t + 12]] + g[e[t + 13]] + g[e[t + 14]] + g[e[t + 15]]).toLowerCase();
428
428
  }
429
- const wt = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), re = {
429
+ const wt = typeof crypto < "u" && crypto.randomUUID && crypto.randomUUID.bind(crypto), ae = {
430
430
  randomUUID: wt
431
431
  };
432
- function bt(e, t, n) {
433
- if (re.randomUUID && !t && !e)
434
- return re.randomUUID();
432
+ function kt(e, t, n) {
433
+ if (ae.randomUUID && !t && !e)
434
+ return ae.randomUUID();
435
435
  e = e || {};
436
- const i = e.random || (e.rng || Ot)();
436
+ const i = e.random || (e.rng || bt)();
437
437
  if (i[6] = i[6] & 15 | 64, i[8] = i[8] & 63 | 128, t) {
438
438
  n = n || 0;
439
439
  for (let s = 0; s < 16; ++s)
@@ -442,23 +442,23 @@ function bt(e, t, n) {
442
442
  }
443
443
  return Tt(i);
444
444
  }
445
- function An(e) {
445
+ function Bn(e) {
446
446
  return e.replace(/\n/g, "<br>");
447
447
  }
448
- function kt(e) {
448
+ function St(e) {
449
449
  return e.replace(/_/g, " ");
450
450
  }
451
- function St(e) {
451
+ function xt(e) {
452
452
  const t = e.replace(/\D/g, "").replace(/^1/, "");
453
453
  return t.length != 10 ? e : "(" + t.substring(0, 3) + ") " + t.substring(3, 6) + "-" + t.substring(6);
454
454
  }
455
- function xt(e) {
455
+ function Lt(e) {
456
456
  return "$" + Number(e).toFixed(3).replace(/0$/, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
457
457
  }
458
- function $n() {
459
- return bt();
458
+ function _n() {
459
+ return kt();
460
460
  }
461
- const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@#$%^&*()_+{}|:\"<>?qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM", Ct = {
461
+ const C = Symbol("null"), ce = Symbol("create"), Ct = "`1234567890-=[]\\;',./~!@#$%^&*()_+{}|:\"<>?qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM", Mt = {
462
462
  props: {
463
463
  modelValue: {
464
464
  type: null,
@@ -537,8 +537,8 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
537
537
  return this.allOptions.map((e, t) => {
538
538
  var l, c;
539
539
  const n = this.formatter(e), i = (l = this.subtitleFormatter) == null ? void 0 : l.call(this, e), s = n ? n.trim().toLowerCase() : "", o = i ? i.trim().toLowerCase() : "", r = [];
540
- return this.searchFields ? this.searchFields.forEach((m) => {
541
- e[m] && r.push(String(e[m]).toLowerCase());
540
+ return this.searchFields ? this.searchFields.forEach((y) => {
541
+ e[y] && r.push(String(e[y]).toLowerCase());
542
542
  }) : (r.push(s), o && r.push(o)), {
543
543
  // eslint-disable-next-line vue/no-use-computed-property-like-method
544
544
  key: ((c = this.effectiveKeyExtractor) == null ? void 0 : c.call(this, e)) ?? String(t),
@@ -555,7 +555,7 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
555
555
  const t = this.searchText.trim().toLowerCase();
556
556
  if (t.length) {
557
557
  e = e.filter((s) => s.searchContent.includes(t));
558
- const n = Qe(this.searchText).replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), i = new RegExp(`(${n})`, "ig");
558
+ const n = Je(this.searchText).replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), i = new RegExp(`(${n})`, "ig");
559
559
  e = e.map((s) => {
560
560
  var o;
561
561
  return {
@@ -564,7 +564,7 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
564
564
  subtitle: (o = s.subtitle) == null ? void 0 : o.replace(i, "<mark>$1</mark>")
565
565
  };
566
566
  }), this.shouldShowCreateOption && (e.find((o) => o.searchContent === t) !== void 0 || e.push({
567
- key: ae,
567
+ key: ce,
568
568
  title: "Create <strong>" + this.searchText.trim() + "</strong>..."
569
569
  }));
570
570
  }
@@ -605,7 +605,7 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
605
605
  "update:modelValue",
606
606
  this.selectedOption && this.valueExtractor ? this.valueExtractor(this.selectedOption) : this.selectedOption
607
607
  );
608
- }), this.remoteSearch && this.$watch("searchText", ze(this.reloadOptionsIfSearching, 250));
608
+ }), this.remoteSearch && this.$watch("searchText", Xe(this.reloadOptionsIfSearching, 250));
609
609
  },
610
610
  methods: {
611
611
  async loadRemoteOptions() {
@@ -650,7 +650,7 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
650
650
  this.searchText.length > 1 && (this.isSearching = !0);
651
651
  return;
652
652
  }
653
- !e.metaKey && Lt.includes(e.key) && (this.isSearching = !0);
653
+ !e.metaKey && Ct.includes(e.key) && (this.isSearching = !0);
654
654
  }
655
655
  },
656
656
  handleInputFocused() {
@@ -668,7 +668,7 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
668
668
  const t = this.effectiveOptions.find((i) => i.ref === e);
669
669
  if (t)
670
670
  return t;
671
- const n = this.effectiveOptions.find((i) => be(i.ref, e));
671
+ const n = this.effectiveOptions.find((i) => Se(i.ref, e));
672
672
  return n || null;
673
673
  },
674
674
  handleInputBlurred() {
@@ -708,7 +708,7 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
708
708
  selectOption(e) {
709
709
  if (this.isSearching = !1, e.key == C)
710
710
  this.searchText = "", this.selectedOption = null, this.selectedOptionTitle = null;
711
- else if (e.key === ae) {
711
+ else if (e.key === ce) {
712
712
  const t = this.searchText.trim();
713
713
  this.searchText = "", this.selectedOption = null, this.selectedOptionTitle = null, this.$emit("createItem", t);
714
714
  } else {
@@ -725,40 +725,40 @@ const C = Symbol("null"), ae = Symbol("create"), Lt = "`1234567890-=[]\\;',./~!@
725
725
  }
726
726
  }
727
727
  };
728
- const Mt = ["placeholder"], It = {
728
+ const It = ["placeholder"], Ht = {
729
729
  key: 0,
730
730
  ref: "optionsContainer",
731
731
  class: "vf-smart-select-options"
732
- }, Ht = {
732
+ }, Dt = {
733
733
  key: 0,
734
734
  class: "no-results"
735
- }, Dt = ["onMousemove", "onMousedown"], At = ["innerHTML"], $t = ["innerHTML"], _t = {
735
+ }, At = ["onMousemove", "onMousedown"], $t = ["innerHTML"], Bt = ["innerHTML"], _t = {
736
736
  key: 0,
737
737
  class: "no-results"
738
738
  };
739
- function Bt(e, t, n, i, s, o) {
740
- const r = Ee("disabled");
741
- return u(), f("div", {
742
- class: w(["vf-smart-select", { disabled: o.effectiveDisabled, open: e.shouldDisplayOptions }])
739
+ function Vt(e, t, n, i, s, o) {
740
+ const r = be("disabled");
741
+ return d(), f("div", {
742
+ class: T(["vf-smart-select", { disabled: o.effectiveDisabled, open: e.shouldDisplayOptions }])
743
743
  }, [
744
- K(k("input", {
744
+ U(k("input", {
745
745
  "onUpdate:modelValue": t[0] || (t[0] = (l) => e.searchText = l),
746
746
  ref: "searchField",
747
747
  type: "text",
748
- class: w({ nullable: !!n.nullTitle }),
748
+ class: T({ nullable: !!n.nullTitle }),
749
749
  onKeydown: t[1] || (t[1] = (...l) => o.handleKeyDown && o.handleKeyDown(...l)),
750
750
  placeholder: o.effectivePlaceholder,
751
751
  onFocus: t[2] || (t[2] = (...l) => o.handleInputFocused && o.handleInputFocused(...l)),
752
752
  onBlur: t[3] || (t[3] = (...l) => o.handleInputBlurred && o.handleInputBlurred(...l))
753
- }, null, 42, Mt), [
754
- [qe, e.searchText],
753
+ }, null, 42, It), [
754
+ [ze, e.searchText],
755
755
  [r, o.effectiveDisabled]
756
756
  ]),
757
- e.shouldDisplayOptions ? (u(), f("div", It, [
758
- e.isLoaded ? (u(), f(U, { key: 1 }, [
759
- (u(!0), f(U, null, G(o.effectiveOptions, (l) => (u(), f("div", {
757
+ e.shouldDisplayOptions ? (d(), f("div", Ht, [
758
+ e.isLoaded ? (d(), f(j, { key: 1 }, [
759
+ (d(!0), f(j, null, Q(o.effectiveOptions, (l) => (d(), f("div", {
760
760
  key: String(l.key),
761
- class: w(["option", {
761
+ class: T(["option", {
762
762
  highlighted: e.highlightedOptionKey === l.key
763
763
  }]),
764
764
  onMousemove: (c) => o.handleOptionHover(l),
@@ -767,19 +767,19 @@ function Bt(e, t, n, i, s, o) {
767
767
  k("div", {
768
768
  class: "title",
769
769
  innerHTML: l.title
770
- }, null, 8, At),
771
- l.subtitle ? (u(), f("div", {
770
+ }, null, 8, $t),
771
+ l.subtitle ? (d(), f("div", {
772
772
  key: 0,
773
773
  class: "subtitle",
774
774
  innerHTML: l.subtitle
775
- }, null, 8, $t)) : T("", !0)
776
- ], 42, Dt))), 128)),
777
- !o.effectiveOptions.length && e.searchText ? (u(), f("div", _t, H(o.effectiveNoResultsText), 1)) : T("", !0)
778
- ], 64)) : (u(), f("div", Ht, "Loading..."))
779
- ], 512)) : T("", !0)
775
+ }, null, 8, Bt)) : b("", !0)
776
+ ], 42, At))), 128)),
777
+ !o.effectiveOptions.length && e.searchText ? (d(), f("div", _t, H(o.effectiveNoResultsText), 1)) : b("", !0)
778
+ ], 64)) : (d(), f("div", Dt, "Loading..."))
779
+ ], 512)) : b("", !0)
780
780
  ], 2);
781
781
  }
782
- const Vt = /* @__PURE__ */ ke(Ct, [["render", Bt]]), _n = /* @__PURE__ */ x({
782
+ const Ft = /* @__PURE__ */ xe(Mt, [["render", Vt]]), Vn = /* @__PURE__ */ S({
783
783
  __name: "ez-smart-select",
784
784
  props: {
785
785
  modelValue: {},
@@ -790,22 +790,22 @@ const Vt = /* @__PURE__ */ ke(Ct, [["render", Bt]]), _n = /* @__PURE__ */ x({
790
790
  },
791
791
  emits: ["update:modelValue"],
792
792
  setup(e, { emit: t }) {
793
- const n = e, i = N(() => Array.isArray(n.options) ? n.options.map((r) => ({ value: r, label: r })) : Object.entries(n.options).map(([r, l]) => ({
793
+ const n = e, i = K(() => Array.isArray(n.options) ? n.options.map((r) => ({ value: r, label: r })) : Object.entries(n.options).map(([r, l]) => ({
794
794
  value: r,
795
795
  label: l
796
- }))), s = N(() => n.formatter ? (r) => {
796
+ }))), s = K(() => n.formatter ? (r) => {
797
797
  var l;
798
798
  return (l = n.formatter) == null ? void 0 : l.call(n, r.label);
799
- } : (r) => r.label), o = b(i.value.find((r) => r.value === n.modelValue) ?? null);
800
- return oe(
799
+ } : (r) => r.label), o = w(i.value.find((r) => r.value === n.modelValue) ?? null);
800
+ return le(
801
801
  () => n.modelValue,
802
802
  (r) => {
803
803
  o.value = i.value.find((l) => l.value === r) ?? null;
804
804
  }
805
- ), oe(o, (r) => {
805
+ ), le(o, (r) => {
806
806
  var l;
807
- t("update:modelValue", r ? ((l = i.value.find((c) => be(c, r))) == null ? void 0 : l.value) ?? null : null);
808
- }), (r, l) => (u(), Oe(Vt, {
807
+ t("update:modelValue", r ? ((l = i.value.find((c) => Se(c, r))) == null ? void 0 : l.value) ?? null : null);
808
+ }), (r, l) => (d(), Te(Ft, {
809
809
  modelValue: o.value,
810
810
  "onUpdate:modelValue": l[0] || (l[0] = (c) => o.value = c),
811
811
  options: i.value,
@@ -814,161 +814,185 @@ const Vt = /* @__PURE__ */ ke(Ct, [["render", Bt]]), _n = /* @__PURE__ */ x({
814
814
  }, null, 8, ["modelValue", "options", "formatter", "null-title"]));
815
815
  }
816
816
  });
817
- function Ft(e) {
817
+ function Rt(e) {
818
818
  const t = Math.floor(Math.log(e) / Math.log(1024)), i = (e / Math.pow(1024, t)).toFixed(2), s = ["B", "KB", "MB", "GB", "TB"][t];
819
819
  return `${i} ${s}`;
820
820
  }
821
- function Rt(e) {
822
- return e != null && String(e).length ? e : "-";
823
- }
824
821
  function Nt(e) {
825
- return e || "-";
822
+ return e != null && String(e).length ? e : "-";
826
823
  }
827
824
  function Kt(e) {
828
- return e === null || typeof e == "string" && !/^\d+$/.test(e) ? e : Yt(Number(e));
825
+ return e || "-";
829
826
  }
830
827
  function Ut(e) {
831
- return e && St(e);
832
- }
833
- function Wt(e) {
834
- return e ? Xe(e) : null;
828
+ return e === null || typeof e == "string" && !/^\d+$/.test(e) ? e : Zt(Number(e));
835
829
  }
836
830
  function jt(e) {
831
+ return e && xt(e);
832
+ }
833
+ function Wt(e) {
837
834
  return e ? Ye(e) : null;
838
835
  }
839
836
  function Pt(e) {
840
- return e ? e.toUpperCase() : null;
837
+ return e ? Ze(e) : null;
841
838
  }
842
839
  function qt(e) {
843
- return e ? kt(e) : null;
840
+ return e ? e.toUpperCase() : null;
844
841
  }
845
842
  function zt(e) {
846
- return xt(e);
847
- }
848
- const ce = {
849
- bytes: Ft,
850
- dash: Rt,
851
- dashZeros: Nt,
852
- number: Kt,
853
- phone: Ut,
843
+ return e ? St(e) : null;
844
+ }
845
+ function Xt(e) {
846
+ return Lt(e);
847
+ }
848
+ const de = {
849
+ bytes: Rt,
850
+ dash: Nt,
851
+ dashZeros: Kt,
852
+ number: Ut,
853
+ phone: jt,
854
854
  upperFirst: Wt,
855
- startCase: jt,
856
- upperCase: Pt,
857
- desnake: qt,
858
- usCurrency: zt
859
- }, Bn = (e) => ({
860
- ...ce,
861
- ...e(ce)
855
+ startCase: Pt,
856
+ upperCase: qt,
857
+ desnake: zt,
858
+ usCurrency: Xt
859
+ }, Fn = (e) => ({
860
+ ...de,
861
+ ...e(de)
862
862
  });
863
- function Vn(e, t, n) {
863
+ function Rn(e, t, n) {
864
864
  const i = typeof t == "function" ? e.findIndex(t) : e.indexOf(t);
865
865
  return i === -1 ? !1 : (e.splice(i, 1, n), !0);
866
866
  }
867
- function Fn(e, t) {
867
+ function Nn(e, t) {
868
868
  const n = document.createElement("div");
869
869
  n.classList.add("vf-overlay"), n.addEventListener("click", a), document.body.appendChild(n);
870
870
  const i = document.createElement("div");
871
871
  i.classList.add("vf-context-menu"), i.style.position = "absolute", n.appendChild(i);
872
872
  const s = e.currentTarget;
873
- s.style.userSelect = "none", s.classList.add("context-menu-active"), t.targetClass && s.classList.add(t.targetClass), t.class && i.classList.add(t.class), t.items.forEach((d) => {
874
- if (d == "-") {
873
+ s.style.userSelect = "none", s.classList.add("context-menu-active"), t.targetClass && s.classList.add(t.targetClass), t.class && i.classList.add(t.class), t.items.forEach((p) => {
874
+ if (p == "-") {
875
875
  const E = document.createElement("div");
876
876
  E.classList.add("separator"), i.appendChild(E);
877
877
  return;
878
878
  }
879
- const y = document.createElement("div");
880
- y.classList.add("item"), y.style.userSelect = "none", y.innerText = d.title, i.appendChild(y), d.class && y.classList.add(d.class), d.shouldConfirm ? y.addEventListener("click", () => p(y, d.handler)) : y.addEventListener("click", () => d.handler());
879
+ const h = document.createElement("div");
880
+ h.classList.add("item"), h.style.userSelect = "none", h.innerText = p.title, i.appendChild(h), p.class && h.classList.add(p.class), p.shouldConfirm ? h.addEventListener("click", (E) => m(E, h, p.handler)) : h.addEventListener("click", () => p.handler());
881
881
  });
882
- const o = window.innerWidth - e.clientX, r = window.innerHeight - e.clientY, l = i.offsetHeight, c = i.offsetWidth, m = o < c ? e.clientX - c - 1 : e.clientX + 1, h = r < l ? e.clientY - l - 1 : e.clientY + 1;
883
- i.style.left = m + "px", i.style.top = h + "px", setTimeout(() => {
882
+ const o = window.innerWidth - e.clientX, r = window.innerHeight - e.clientY, l = i.offsetHeight, c = i.offsetWidth, y = o < c ? e.clientX - c - 1 : e.clientX + 1, u = r < l ? e.clientY - l - 1 : e.clientY + 1;
883
+ i.style.left = y + "px", i.style.top = u + "px", setTimeout(() => {
884
884
  i.style.width = i.offsetWidth + "px";
885
885
  }, 50);
886
886
  function a() {
887
887
  t.targetClass && s.classList.remove(t.targetClass), s.classList.remove("context-menu-active"), s.style.userSelect = "", n.remove();
888
888
  }
889
- function p(d, y) {
890
- if (d.classList.contains("pending-confirm"))
891
- return y();
892
- const E = d.innerHTML;
893
- d.classList.add("pending-confirm"), d.innerText = "Confirm";
894
- const S = () => {
895
- d.classList.remove("pending-confirm"), d.innerHTML = E, d.removeEventListener("mouseleave", S);
889
+ function m(p, h, E) {
890
+ if (h.classList.contains("pending-confirm"))
891
+ return E();
892
+ const x = h.innerHTML;
893
+ h.classList.add("pending-confirm"), h.innerText = "Confirm";
894
+ const F = () => {
895
+ h.classList.remove("pending-confirm"), h.innerHTML = x, h.removeEventListener("mouseleave", F);
896
896
  };
897
- d.addEventListener("mouseleave", S), e.stopPropagation();
897
+ h.addEventListener("mouseleave", F), p.stopPropagation();
898
898
  }
899
899
  }
900
- const Xt = (e) => new Promise((t) => setTimeout(t, e)), Rn = (e) => Xt(e * 1e3);
901
- function Yt(e) {
900
+ const Yt = (e) => new Promise((t) => setTimeout(t, e)), Kn = (e) => Yt(e * 1e3);
901
+ function Zt(e) {
902
902
  return e.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
903
903
  }
904
- function Nn(e, t) {
905
- return e != null ? Ze(e) : t;
904
+ function Un(e, t) {
905
+ return e != null ? Ge(e) : t;
906
906
  }
907
- function Kn(e, t) {
907
+ function jn(e, t) {
908
908
  const n = { ...e };
909
909
  for (const i of t)
910
910
  n[i] === "" && (n[i] = null);
911
911
  return n;
912
912
  }
913
- function Zt(e) {
913
+ function Gt(e) {
914
914
  return e instanceof Error && "status" in e && "body" in e;
915
915
  }
916
- function Un({ apiClient: e, onRequest: t, onError: n, CancelablePromise: i }) {
916
+ function Wn({ apiClient: e, onRequest: t, onError: n, CancelablePromise: i }) {
917
917
  const s = e.request.request.bind(e.request);
918
- e.request.request = (o) => (t && (o = t(o)), new i((r, l, c) => {
919
- const m = s(o);
920
- c(m.cancel), m.then(r).catch((h) => {
921
- if (Zt(h) && typeof h.body == "object" && "error" in h.body) {
922
- if (h.status === 422)
923
- return l(new P(h.body.error));
924
- h.message = `${h.body.error} (${h.status})`;
918
+ e.request.request = (o) => (o = Qt(o), t && (o = t(o)), new i((r, l, c) => {
919
+ const y = s(o);
920
+ c(y.cancel), y.then(r).catch((u) => {
921
+ if (Gt(u) && typeof u.body == "object" && "error" in u.body) {
922
+ if (u.status === 422)
923
+ return l(new q(u.body.error));
924
+ u.message = `${u.body.error} (${u.status})`;
925
925
  }
926
926
  if (n) {
927
- const a = n(h, o);
927
+ const a = n(u, o);
928
928
  if (a === null)
929
929
  return;
930
930
  if (a instanceof Error)
931
931
  return l(a);
932
932
  }
933
- l(h);
933
+ l(u);
934
934
  });
935
935
  }));
936
936
  }
937
- const ne = Symbol("HookState");
938
- function Wn(e, t) {
939
- const n = t ?? Q();
940
- _(() => Gt(n, e), n), Te(() => Qt(n), n), we(() => de(n), n), J(() => de(n), n);
937
+ class ue {
938
+ constructor(t) {
939
+ v(this, "validator", null);
940
+ v(this, "lastModifiedDate", null);
941
+ v(this, "size", 0);
942
+ v(this, "path", "");
943
+ v(this, "name", "");
944
+ v(this, "type", "");
945
+ v(this, "blob");
946
+ this.blob = t;
947
+ }
948
+ }
949
+ function Qt(e) {
950
+ if (!(typeof e.body == "object" && Object.values(e.body).some((s) => s instanceof ue)))
951
+ return e;
952
+ const n = {}, i = {};
953
+ for (const [s, o] of Object.entries(e.body))
954
+ o instanceof ue ? n[s] = o.blob : i[s] = o;
955
+ return n._payload = new Blob([JSON.stringify(i)], { type: "application/json" }), {
956
+ ...e,
957
+ body: void 0,
958
+ formData: n
959
+ };
941
960
  }
942
- function Gt(e, t) {
961
+ const ie = Symbol("HookState");
962
+ function Pn(e, t) {
963
+ const n = t ?? J();
964
+ B(() => Jt(n, e), n), we(() => en(n), n), ke(() => he(n), n), ee(() => he(n), n);
965
+ }
966
+ function Jt(e, t) {
943
967
  const n = {};
944
968
  if (t.elScrolledToBottom && (n.el = new A(e.vnode.el, t.elScrolledToBottom)), t.ancestorScrolledToBottom) {
945
- const i = He(e.vnode.el);
969
+ const i = Ae(e.vnode.el);
946
970
  i ? n.ancestor = new A(i, t.ancestorScrolledToBottom) : console.warn("[VueFoundation] No scollable ancestor found for component:", e);
947
971
  }
948
- t.windowScrolledToBottom && (n.window = new A(window, t.windowScrolledToBottom)), e[ne] = n;
972
+ t.windowScrolledToBottom && (n.window = new A(window, t.windowScrolledToBottom)), e[ie] = n;
949
973
  }
950
- function Qt(e) {
974
+ function en(e) {
951
975
  var n, i, s;
952
- const t = e[ne];
976
+ const t = e[ie];
953
977
  (n = t == null ? void 0 : t.el) == null || n.install(), (i = t == null ? void 0 : t.ancestor) == null || i.install(), (s = t == null ? void 0 : t.window) == null || s.install();
954
978
  }
955
- function de(e) {
979
+ function he(e) {
956
980
  var n, i, s;
957
- const t = e[ne];
981
+ const t = e[ie];
958
982
  (n = t == null ? void 0 : t.el) == null || n.uninstall(), (i = t == null ? void 0 : t.ancestor) == null || i.uninstall(), (s = t == null ? void 0 : t.window) == null || s.uninstall();
959
983
  }
960
- const X = ["auto", "scroll"];
961
- function He(e) {
984
+ const Y = ["auto", "scroll"];
985
+ function Ae(e) {
962
986
  const t = e.parentElement;
963
987
  if (!t)
964
988
  return null;
965
989
  const n = window.getComputedStyle(t);
966
- return X.includes(n.overflow) || X.includes(n.overflowX) || X.includes(n.overflowY) ? t : He(t);
990
+ return Y.includes(n.overflow) || Y.includes(n.overflowX) || Y.includes(n.overflowY) ? t : Ae(t);
967
991
  }
968
992
  class A {
969
993
  constructor(t, n) {
970
- g(this, "isTripped", !1);
971
- g(this, "onScrollWithContext", this.onScroll.bind(this));
994
+ v(this, "isTripped", !1);
995
+ v(this, "onScrollWithContext", this.onScroll.bind(this));
972
996
  this.el = t, this.handler = n, this.install();
973
997
  }
974
998
  install() {
@@ -981,24 +1005,24 @@ class A {
981
1005
  Math.ceil(this.el.scrollTop + this.el.clientHeight + 5) >= this.el.scrollHeight ? this.isTripped || (this.handler(t), this.isTripped = !0) : this.isTripped && (this.isTripped = !1);
982
1006
  }
983
1007
  }
984
- function jn(e) {
985
- _(() => window.addEventListener("resize", e)), Te(() => window.addEventListener("resize", e)), we(() => window.removeEventListener("resize", e)), J(() => window.removeEventListener("resize", e));
1008
+ function qn(e) {
1009
+ B(() => window.addEventListener("resize", e)), we(() => window.addEventListener("resize", e)), ke(() => window.removeEventListener("resize", e)), ee(() => window.removeEventListener("resize", e));
986
1010
  }
987
- const Jt = {
988
- mounted: he,
989
- updated: he
990
- }, ue = Symbol("HasAutoFocused");
991
- function he(e, t) {
992
- if (t.value === void 0 && e[ue] || t.value !== void 0 && !t.value || t.oldValue !== void 0 && t.value == t.oldValue)
1011
+ const tn = {
1012
+ mounted: pe,
1013
+ updated: pe
1014
+ }, fe = Symbol("HasAutoFocused");
1015
+ function pe(e, t) {
1016
+ if (t.value === void 0 && e[fe] || t.value !== void 0 && !t.value || t.oldValue !== void 0 && t.value == t.oldValue)
993
1017
  return;
994
- e[ue] = !0;
1018
+ e[fe] = !0;
995
1019
  const n = ["BUTTON", "INPUT", "TEXTAREA", "SELECT"].indexOf(e.tagName) > -1 ? e : e.querySelectorAll("input")[0];
996
1020
  setTimeout(() => n.focus(), 10);
997
1021
  }
998
- const en = {
999
- mounted: tn
1022
+ const nn = {
1023
+ mounted: sn
1000
1024
  }, M = Symbol("ConfirmState");
1001
- function tn(e) {
1025
+ function sn(e) {
1002
1026
  e.addEventListener("click", (t) => {
1003
1027
  const n = Date.now();
1004
1028
  if (e[M]) {
@@ -1018,80 +1042,80 @@ function tn(e) {
1018
1042
  e[M] = i, e.innerHTML = "Confirm", e.addEventListener("mouseout", i.resetHandler);
1019
1043
  });
1020
1044
  }
1021
- const nn = {
1022
- beforeMount: sn
1045
+ const on = {
1046
+ beforeMount: ln
1023
1047
  };
1024
- function sn(e) {
1048
+ function ln(e) {
1025
1049
  e.addEventListener("blur", () => {
1026
1050
  let t = e.value;
1027
- /^\d{1,2}\/\d{1,2}$/.test(t) && (t += "/" + Y(/* @__PURE__ */ new Date(), "yy"));
1051
+ /^\d{1,2}\/\d{1,2}$/.test(t) && (t += "/" + Z(/* @__PURE__ */ new Date(), "yy"));
1028
1052
  const n = Date.parse(t);
1029
- isNaN(n) ? e.value = "" : e.value = Y(n, "MM/dd/yyyy"), e.dispatchEvent(new Event("input"));
1053
+ isNaN(n) ? e.value = "" : e.value = Z(n, "MM/dd/yyyy"), e.dispatchEvent(new Event("input"));
1030
1054
  });
1031
1055
  }
1032
- const on = {
1033
- beforeMount: fe,
1034
- updated: fe
1056
+ const rn = {
1057
+ beforeMount: me,
1058
+ updated: me
1035
1059
  };
1036
- function fe(e, t) {
1037
- t.value == t.oldValue && e.innerHTML.length || (e.innerText = ln(e, t));
1060
+ function me(e, t) {
1061
+ t.value == t.oldValue && e.innerHTML.length || (e.innerText = an(e, t));
1038
1062
  }
1039
- function ln(e, t) {
1040
- var c, m;
1063
+ function an(e, t) {
1064
+ var c, y;
1041
1065
  if (!t.value)
1042
1066
  return ((c = e.attributes.getNamedItem("placeholder")) == null ? void 0 : c.value) ?? "";
1043
1067
  let n = "";
1044
1068
  const i = t.value.replace(/ /g, "T").replace(/\.\d+Z$/, "Z"), s = e.attributes.getNamedItem("local") !== null ? i.replace(/Z$/, "") : i.replace(/(Z|\+00:00)?$/, "Z"), o = new Date(s);
1045
1069
  e.attributes.getNamedItem("display-utc") !== null && o.setMinutes(o.getMinutes() - o.getTimezoneOffset());
1046
- let r = (m = e.attributes.getNamedItem("format")) == null ? void 0 : m.value;
1070
+ let r = (y = e.attributes.getNamedItem("format")) == null ? void 0 : y.value;
1047
1071
  if (!r && e.attributes.getNamedItem("relative-date") !== null) {
1048
- const h = /* @__PURE__ */ new Date();
1049
- h.getFullYear() == o.getFullYear() && h.getMonth() == o.getMonth() && h.getDate() == o.getDate() && (n = "at", r = "HH:mm");
1072
+ const u = /* @__PURE__ */ new Date();
1073
+ u.getFullYear() == o.getFullYear() && u.getMonth() == o.getMonth() && u.getDate() == o.getDate() && (n = "at", r = "HH:mm");
1050
1074
  }
1051
1075
  r || (r = V.defaultDateTimeFormat);
1052
- let l = Y(o, r);
1076
+ let l = Z(o, r);
1053
1077
  return n && (l = n + " " + l), l;
1054
1078
  }
1055
- const rn = {
1056
- beforeMount: pe,
1057
- updated: pe,
1058
- unmounted: an
1079
+ const cn = {
1080
+ beforeMount: ve,
1081
+ updated: ve,
1082
+ unmounted: dn
1059
1083
  };
1060
- function pe(e, t) {
1084
+ function ve(e, t) {
1061
1085
  e.tagName === "LABEL" && (t.value ? e.classList.remove("disabled") : e.classList.add("disabled"), e = e.querySelector("input")), t.value ? e.setAttribute("disabled", "disabled") : e.removeAttribute("disabled");
1062
1086
  }
1063
- function an(e) {
1087
+ function dn(e) {
1064
1088
  e.tagName === "LABEL" && (e.classList.remove("disabled"), e = e.querySelector("input")), e.removeAttribute("disabled");
1065
1089
  }
1066
- const cn = {
1067
- beforeMount: me,
1068
- updated: me,
1069
- unmounted: Ae
1070
- }, B = Symbol("HasAutoFocused"), ie = [];
1071
- function dn() {
1072
- ie.forEach(De);
1090
+ const un = {
1091
+ beforeMount: ye,
1092
+ updated: ye,
1093
+ unmounted: Be
1094
+ }, _ = Symbol("HasAutoFocused"), se = [];
1095
+ function hn() {
1096
+ se.forEach($e);
1073
1097
  }
1074
- setInterval(dn, 1e3);
1075
- function me(e, t) {
1098
+ setInterval(hn, 1e3);
1099
+ function ye(e, t) {
1076
1100
  var r;
1077
1101
  if (t.value == t.oldValue)
1078
1102
  return;
1079
1103
  if (!t.value)
1080
- return Ae(e);
1104
+ return Be(e);
1081
1105
  const n = new Date(t.value), i = (r = e.attributes.getNamedItem("base-time")) == null ? void 0 : r.value, s = n.getTime() - (i ? new Date(i).getTime() - t.value * 1e3 : 0), o = e.getAttribute("no-seconds") === null;
1082
- e[B] || ie.push(e), e[B] = {
1106
+ e[_] || se.push(e), e[_] = {
1083
1107
  startTs: s,
1084
1108
  includeSeconds: o
1085
- }, De(e);
1109
+ }, $e(e);
1086
1110
  }
1087
- function De(e) {
1088
- const t = e[B], n = Math.round((Date.now() - t.startTs) / 1e3);
1089
- e.innerText = un(n, t.includeSeconds);
1111
+ function $e(e) {
1112
+ const t = e[_], n = Math.round((Date.now() - t.startTs) / 1e3);
1113
+ e.innerText = fn(n, t.includeSeconds);
1090
1114
  }
1091
- function Ae(e) {
1092
- e[B] && (Ge(ie, e), delete e[B]), e.innerText = "-";
1115
+ function Be(e) {
1116
+ e[_] && (Qe(se, e), delete e[_]), e.innerText = "-";
1093
1117
  }
1094
- function un(e, t) {
1118
+ function fn(e, t) {
1095
1119
  const n = [], i = Math.floor(e / 86400);
1096
1120
  i && n.push(i + "d"), e -= i * 86400;
1097
1121
  const s = Math.floor(e / 3600);
@@ -1099,7 +1123,7 @@ function un(e, t) {
1099
1123
  const o = Math.floor(e / 60);
1100
1124
  return (i || s || o) && n.push(o + "m"), t ? n.length || n.push("0m") : (e -= o * 60, n.push(e + "s")), n.join(" ");
1101
1125
  }
1102
- const I = Symbol("InfiniteScrollHandler"), hn = {
1126
+ const I = Symbol("InfiniteScrollHandler"), pn = {
1103
1127
  mounted(e, t) {
1104
1128
  e[I] = new A(e, t.value);
1105
1129
  },
@@ -1111,19 +1135,19 @@ const I = Symbol("InfiniteScrollHandler"), hn = {
1111
1135
  var t;
1112
1136
  (t = e[I]) == null || t.uninstall(), delete e[I];
1113
1137
  }
1114
- }, fn = {
1115
- beforeMount: ve,
1116
- updated: ve
1138
+ }, mn = {
1139
+ beforeMount: ge,
1140
+ updated: ge
1117
1141
  };
1118
- function ve(e, t) {
1142
+ function ge(e, t) {
1119
1143
  e.tagName == "LABEL" && (e = e.querySelector("input")), t.value ? e.setAttribute("readonly", "readonly") : e.removeAttribute("readonly");
1120
1144
  }
1121
- const pn = {
1122
- mounted: ye,
1123
- updated: ye,
1124
- unmounted: $e
1145
+ const vn = {
1146
+ mounted: Ee,
1147
+ updated: Ee,
1148
+ unmounted: _e
1125
1149
  }, $ = Symbol("TooltipState");
1126
- function ye(e, t) {
1150
+ function Ee(e, t) {
1127
1151
  var i;
1128
1152
  let n = ((i = e.attributes.getNamedItem("tip")) == null ? void 0 : i.value) ?? t.value;
1129
1153
  if (t.value || (n = null), n) {
@@ -1131,26 +1155,26 @@ function ye(e, t) {
1131
1155
  content: n,
1132
1156
  html: e.getAttribute("html") !== null
1133
1157
  };
1134
- e[$] ? e[$].configure(s) : e[$] = new mn(e, s);
1158
+ e[$] ? e[$].configure(s) : e[$] = new yn(e, s);
1135
1159
  } else
1136
- $e(e);
1160
+ _e(e);
1137
1161
  }
1138
- function $e(e) {
1162
+ function _e(e) {
1139
1163
  var t;
1140
1164
  (t = e[$]) == null || t.destroy(), delete e[$];
1141
1165
  }
1142
- class mn {
1166
+ class yn {
1143
1167
  constructor(t, n) {
1144
- g(this, "lastMoveEvt");
1145
- g(this, "checkInterval");
1146
- g(this, "shouldShow", !1);
1147
- g(this, "tipEl");
1148
- g(this, "titleEl");
1149
- g(this, "contentEl");
1150
- g(this, "mouseMoveBound", !1);
1151
- g(this, "handleMouseMoveWithContext", this.handleMouseMove.bind(this));
1152
- g(this, "handleTargetMouseEnterWithContext", this.handleTargetMouseEnter.bind(this));
1153
- g(this, "handleTargetMouseLeaveWithContext", this.handleTargetMouseLeave.bind(this));
1168
+ v(this, "lastMoveEvt");
1169
+ v(this, "checkInterval");
1170
+ v(this, "shouldShow", !1);
1171
+ v(this, "tipEl");
1172
+ v(this, "titleEl");
1173
+ v(this, "contentEl");
1174
+ v(this, "mouseMoveBound", !1);
1175
+ v(this, "handleMouseMoveWithContext", this.handleMouseMove.bind(this));
1176
+ v(this, "handleTargetMouseEnterWithContext", this.handleTargetMouseEnter.bind(this));
1177
+ v(this, "handleTargetMouseLeaveWithContext", this.handleTargetMouseLeave.bind(this));
1154
1178
  this.el = t, this.config = n, t.addEventListener("mouseenter", this.handleTargetMouseEnterWithContext), t.addEventListener("mouseleave", this.handleTargetMouseLeaveWithContext);
1155
1179
  }
1156
1180
  configure(t) {
@@ -1187,59 +1211,60 @@ class mn {
1187
1211
  this.shouldShow = !1, this.removeTooltip(), this.el.removeEventListener("mouseenter", this.handleTargetMouseEnterWithContext), this.el.removeEventListener("mouseleave", this.handleTargetMouseLeaveWithContext);
1188
1212
  }
1189
1213
  }
1190
- function vn(e) {
1191
- e.directive("autofocus", Jt), e.directive("confirm-button", en), e.directive("date-input", nn), e.directive("datetime", on), e.directive("disabled", rn), e.directive("duration", cn), e.directive("infinite-scroll", hn), e.directive("readonly", fn), e.directive("tooltip", pn);
1214
+ function gn(e) {
1215
+ e.directive("autofocus", tn), e.directive("confirm-button", nn), e.directive("date-input", on), e.directive("datetime", rn), e.directive("disabled", cn), e.directive("duration", un), e.directive("infinite-scroll", pn), e.directive("readonly", mn), e.directive("tooltip", vn);
1192
1216
  }
1193
- function Pn(e) {
1194
- vn(e);
1217
+ function zn(e) {
1218
+ gn(e);
1195
1219
  }
1196
1220
  export {
1197
- bn as OverlayContainer,
1198
- P as UserError,
1199
- wn as VfAjaxSelect,
1200
- q as VfAlertModal,
1201
- _n as VfEzSmartSelect,
1202
- vt as VfModal,
1203
- Vt as VfSmartSelect,
1204
- Nn as cloneProp,
1205
- Cn as configureVf,
1206
- Bn as createFilters,
1207
- Se as createOverlayInjection,
1208
- kt as desnakeCase,
1209
- at as dismissOverlayInjectionById,
1210
- kn as dismissOverlayInjectionByInstance,
1211
- xe as dismissOverlayInjectionByInternalInstance,
1212
- rt as dismissOverlayInjectionByVnode,
1213
- Xn as escapeHtml,
1214
- ct as formatError,
1215
- Yt as formatNumber,
1216
- St as formatPhone,
1217
- xt as formatUSCurrency,
1218
- In as handleError,
1219
- Mn as handleErrorAndAlert,
1220
- Un as installApiClientInterceptors,
1221
- Pn as installVf,
1222
- Zt as isApiError,
1223
- Hn as maskComponent,
1224
- dt as maskEl,
1225
- ut as maskForm,
1226
- An as nl2br,
1227
- Kn as nullifyEmptyInputs,
1228
- ee as presentOverlay,
1229
- Le as removeOverlayInjection,
1230
- Vn as replaceElement,
1231
- le as showAlert,
1232
- Sn as showConfirm,
1233
- xn as showConfirmDestroy,
1234
- Fn as showContextMenu,
1235
- Ln as showWait,
1236
- Xt as sleep,
1237
- Rn as sleepSecs,
1238
- te as toError,
1239
- Dn as unmaskComponent,
1240
- Ce as unmaskEl,
1241
- Me as unmaskForm,
1242
- Wn as useInfiniteScroll,
1243
- jn as useResizeWatcher,
1244
- $n as uuid
1221
+ ue as FileUploadRequest,
1222
+ Sn as OverlayContainer,
1223
+ q as UserError,
1224
+ kn as VfAjaxSelect,
1225
+ z as VfAlertModal,
1226
+ Vn as VfEzSmartSelect,
1227
+ yt as VfModal,
1228
+ Ft as VfSmartSelect,
1229
+ Un as cloneProp,
1230
+ In as configureVf,
1231
+ Fn as createFilters,
1232
+ Le as createOverlayInjection,
1233
+ St as desnakeCase,
1234
+ ct as dismissOverlayInjectionById,
1235
+ xn as dismissOverlayInjectionByInstance,
1236
+ Ce as dismissOverlayInjectionByInternalInstance,
1237
+ at as dismissOverlayInjectionByVnode,
1238
+ Zn as escapeHtml,
1239
+ dt as formatError,
1240
+ Zt as formatNumber,
1241
+ xt as formatPhone,
1242
+ Lt as formatUSCurrency,
1243
+ Dn as handleError,
1244
+ Hn as handleErrorAndAlert,
1245
+ Wn as installApiClientInterceptors,
1246
+ zn as installVf,
1247
+ Gt as isApiError,
1248
+ An as maskComponent,
1249
+ ut as maskEl,
1250
+ ht as maskForm,
1251
+ Bn as nl2br,
1252
+ jn as nullifyEmptyInputs,
1253
+ te as presentOverlay,
1254
+ Me as removeOverlayInjection,
1255
+ Rn as replaceElement,
1256
+ re as showAlert,
1257
+ Ln as showConfirm,
1258
+ Cn as showConfirmDestroy,
1259
+ Nn as showContextMenu,
1260
+ Mn as showWait,
1261
+ Yt as sleep,
1262
+ Kn as sleepSecs,
1263
+ ne as toError,
1264
+ $n as unmaskComponent,
1265
+ Ie as unmaskEl,
1266
+ He as unmaskForm,
1267
+ Pn as useInfiniteScroll,
1268
+ qn as useResizeWatcher,
1269
+ _n as uuid
1245
1270
  };