@signal24/vue-foundation 4.19.5 → 4.19.7

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.
@@ -2,6 +2,7 @@ interface IAlertOptions {
2
2
  title?: string;
3
3
  message: string | Error;
4
4
  classes?: string[];
5
+ iconClass?: string | string[];
5
6
  }
6
7
  export declare function showAlert(title: string, message: string | Error): Promise<void>;
7
8
  export declare function showAlert(message: string | Error): Promise<void>;
@@ -5,6 +5,7 @@ type __VLS_Props = {
5
5
  title?: string;
6
6
  message: string | Error;
7
7
  shouldConfirm?: boolean;
8
+ iconClass?: string | string[];
8
9
  callback: (ok: boolean) => void;
9
10
  };
10
11
  declare const _default: import("vue").DefineComponent<__VLS_Props, {}, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<__VLS_Props> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, false, {}, HTMLDivElement>;
@@ -1 +1 @@
1
- .vf-overlay-anchor{position:absolute;z-index:100}.vf-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100}.vf-overlay.hidden{display:none}.vf-modal-wrap{background:#00000040;display:flex;justify-content:center;align-items:center}.vf-modal{background:#fff;box-shadow:0 3px 6px #00000026;min-width:200px;max-width:95%;max-height:95%;display:flex;flex-direction:column}.vf-modal-header,.vf-modal-footer{flex-shrink:0;position:relative}.vf-modal.scrolls>.vf-modal-content{overflow:auto;flex-grow:1;flex-shrink:1;flex-basis:0%}.vf-modal-wrap.vf-alert .vf-modal{max-width:800px}.vf-modal-wrap.vf-alert .vf-modal>.vf-modal-content{padding:12px}.vf-modal-wrap.vf-alert.wait .vf-modal-content{text-align:center}.vf-modal-wrap.vf-alert.destructive button.primary{color:red}.vf-smart-select{position:relative}.vf-smart-select input{width:100%;padding-right:24px!important}.vf-smart-select input.nullable::placeholder{color:#000}.vf-smart-select:after{content:" ";display:block;position:absolute;top:50%;right:8px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#333333 transparent transparent transparent;pointer-events:none}.vf-smart-select.open:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #333333 transparent}.vf-smart-select:not(.disabled) input{cursor:pointer}.vf-smart-select.disabled:after{opacity:.4}.vf-smart-select-options{visibility:hidden;position:absolute;min-height:20px;border:1px solid #e8e8e8;background:#fff;overflow:auto;z-index:101}.vf-smart-select-options .option,.vf-smart-select-options .no-results{padding:5px 8px}.vf-smart-select-options .option{cursor:pointer}.vf-smart-select-options .option.highlighted{background-color:#f5f5f5}.vf-toast{position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.vf-toast .content{display:flex;align-items:center}
1
+ .vf-overlay-anchor{position:absolute;z-index:100}.vf-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100}.vf-overlay.hidden{display:none}.vf-modal-wrap{background:#00000040;display:flex;justify-content:center;align-items:center}.vf-modal{background:#fff;box-shadow:0 3px 6px #00000026;min-width:200px;max-width:95%;max-height:95%;display:flex;flex-direction:column}.vf-modal-header,.vf-modal-footer{flex-shrink:0;position:relative}.vf-modal.scrolls>.vf-modal-content{overflow:auto;flex-grow:1;flex-shrink:1;flex-basis:0%}.vf-modal-wrap.vf-alert .vf-modal{max-width:800px}.vf-modal-wrap.vf-alert .vf-modal>.vf-modal-content{padding:12px}.vf-modal-wrap.vf-alert.wait .vf-modal-content{text-align:center}.vf-modal-wrap.vf-alert.wait .vf-alert-icon{margin-bottom:12px}.vf-modal-wrap.vf-alert.destructive button.primary{color:red}.vf-smart-select{position:relative}.vf-smart-select input{width:100%;padding-right:24px!important}.vf-smart-select input.nullable::placeholder{color:#000}.vf-smart-select:after{content:" ";display:block;position:absolute;top:50%;right:8px;margin-top:-3px;width:0;height:0;border-style:solid;border-width:5px 5px 0 5px;border-color:#333333 transparent transparent transparent;pointer-events:none}.vf-smart-select.open:after{margin-top:-4px;border-width:0 5px 5px 5px;border-color:transparent transparent #333333 transparent}.vf-smart-select:not(.disabled) input{cursor:pointer}.vf-smart-select.disabled:after{opacity:.4}.vf-smart-select-options{visibility:hidden;position:absolute;min-height:20px;border:1px solid #e8e8e8;background:#fff;overflow:auto;z-index:101}.vf-smart-select-options .option,.vf-smart-select-options .no-results{padding:5px 8px}.vf-smart-select-options .option{cursor:pointer}.vf-smart-select-options .option.highlighted{background-color:#f5f5f5}.vf-toast{position:absolute;bottom:50px;left:50%;transform:translate(-50%)}.vf-toast .content{display:flex;align-items:center}
@@ -1,8 +1,8 @@
1
1
  var Tt = Object.defineProperty;
2
2
  var St = (e, t, n) => t in e ? Tt(e, t, { enumerable: !0, configurable: !0, writable: !0, value: n }) : e[t] = n;
3
3
  var O = (e, t, n) => St(e, typeof t != "symbol" ? t + "" : t, n);
4
- import { defineComponent as N, ref as T, computed as M, watch as A, onMounted as V, openBlock as E, createElementBlock as b, createElementVNode as F, toDisplayString as U, withDirectives as Q, createCommentVNode as D, Fragment as J, renderList as he, vModelSelect as xt, getCurrentInstance as pe, withModifiers as ye, normalizeStyle as Ct, normalizeClass as $, renderSlot as G, reactive as Lt, h as ee, Teleport as Mt, markRaw as It, onBeforeUnmount as ge, resolveDirective as Ht, createBlock as qe, createSlots as Ot, withCtx as ue, createTextVNode as ce, vModelText as At, onActivated as ze, onDeactivated as Ye } from "vue";
5
- import { compact as Ke, debounce as Ft, isEqual as Xe, startCase as Dt, upperFirst as Bt, cloneDeep as $t, remove as Vt, last as _t } from "lodash";
4
+ import { defineComponent as N, ref as T, computed as M, watch as A, onMounted as V, openBlock as E, createElementBlock as k, createElementVNode as D, toDisplayString as U, withDirectives as Q, createCommentVNode as F, Fragment as J, renderList as he, vModelSelect as Ct, getCurrentInstance as pe, withModifiers as ye, normalizeStyle as xt, normalizeClass as B, renderSlot as G, reactive as Lt, h as ee, Teleport as Mt, markRaw as It, onBeforeUnmount as ge, resolveDirective as Ht, createBlock as qe, createSlots as Ot, withCtx as ue, createTextVNode as ce, vModelText as At, onActivated as ze, onDeactivated as Ke } from "vue";
5
+ import { compact as Ye, debounce as Ft, isEqual as Xe, startCase as Dt, upperFirst as Bt, cloneDeep as $t, remove as Vt, last as _t } from "lodash";
6
6
  import { escapeHtml as Nt } from "@vue/shared";
7
7
  import { escapeHtml as Uo } from "@vue/shared";
8
8
  import { configureOpenApiClient as Rt, OpenApiError as Wt } from "@signal24/openapi-client-codegen/browser";
@@ -26,8 +26,8 @@ const Ut = {
26
26
  emits: ["update:modelValue"],
27
27
  setup(e, { emit: t }) {
28
28
  const n = e, o = t, i = T(null), l = M(() => i.value ? i.value.map((g) => {
29
- const k = g;
30
- return n.preprocesor ? n.preprocesor(k) : n.displayKey ? k[n.displayKey] : "";
29
+ const b = g;
30
+ return n.preprocesor ? n.preprocesor(b) : n.displayKey ? b[n.displayKey] : "";
31
31
  }) : null), u = T(n.modelValue ?? null);
32
32
  A(() => n.loadFn, a), A(
33
33
  () => n.modelValue,
@@ -36,22 +36,22 @@ const Ut = {
36
36
  async function a() {
37
37
  i.value = await n.loadFn();
38
38
  }
39
- return V(a), (d, g) => l.value ? Q((E(), b("select", {
39
+ return V(a), (d, g) => l.value ? Q((E(), k("select", {
40
40
  key: 1,
41
- "onUpdate:modelValue": g[0] || (g[0] = (k) => u.value = k)
41
+ "onUpdate:modelValue": g[0] || (g[0] = (b) => u.value = b)
42
42
  }, [
43
- n.nullText ? (E(), b("option", jt, U(n.nullText), 1)) : D("", !0),
44
- (E(!0), b(J, null, he(l.value, (k, f) => {
43
+ n.nullText ? (E(), k("option", jt, U(n.nullText), 1)) : F("", !0),
44
+ (E(!0), k(J, null, he(l.value, (b, f) => {
45
45
  var w;
46
- return E(), b("option", {
46
+ return E(), k("option", {
47
47
  key: f,
48
48
  value: (w = i.value) == null ? void 0 : w[f]
49
- }, U(k), 9, Pt);
49
+ }, U(b), 9, Pt);
50
50
  }), 128))
51
51
  ], 512)), [
52
- [xt, u.value]
53
- ]) : (E(), b("select", Ut, [
54
- F("option", null, U(n.loadingText || "Loading..."), 1)
52
+ [Ct, u.value]
53
+ ]) : (E(), k("select", Ut, [
54
+ D("option", null, U(n.loadingText || "Loading..."), 1)
55
55
  ]));
56
56
  }
57
57
  }), qt = /* @__PURE__ */ N({
@@ -65,25 +65,25 @@ const Ut = {
65
65
  V(u);
66
66
  function u() {
67
67
  if (!l) return;
68
- const g = l.vnode.el, { styles: k, classes: f } = a(g, n);
69
- o.value = k, i.value = f;
68
+ const g = l.vnode.el, { styles: b, classes: f } = a(g, n);
69
+ o.value = b, i.value = f;
70
70
  }
71
- function a(g, k) {
72
- const f = t.anchor instanceof HTMLElement ? {} : t.anchor, w = k.getBoundingClientRect(), m = g.getBoundingClientRect();
71
+ function a(g, b) {
72
+ const f = t.anchor instanceof HTMLElement ? {} : t.anchor, w = b.getBoundingClientRect(), m = g.getBoundingClientRect();
73
73
  f.matchWidth && (m.width = w.width), f.matchHeight && (m.height = w.height);
74
74
  const r = f.class ? Array.isArray(f.class) ? f.class : [f.class] : [];
75
75
  let c, S;
76
76
  if (f.y === "center")
77
77
  c = w.top + w.height / 2 - m.height / 2, r.push("anchored-center-y");
78
78
  else {
79
- const C = (w.bottom + m.height < window.innerHeight || f.y === "below") && f.y !== "above";
80
- c = C ? w.bottom : w.top - m.height, r.push(C ? "anchored-top" : "anchored-bottom");
79
+ const x = (w.bottom + m.height < window.innerHeight || f.y === "below") && f.y !== "above";
80
+ c = x ? w.bottom : w.top - m.height, r.push(x ? "anchored-top" : "anchored-bottom");
81
81
  }
82
82
  if (f.x === "center")
83
83
  S = w.left + w.width / 2 - m.width / 2, r.push("anchored-center-x");
84
84
  else {
85
- const C = (w.left + m.width < window.innerWidth || f.x === "left") && f.x !== "right";
86
- S = C ? w.left : w.right - m.width, r.push(C ? "anchored-left" : "anchored-right");
85
+ const x = (w.left + m.width < window.innerWidth || f.x === "left") && f.x !== "right";
86
+ S = x ? w.left : w.right - m.width, r.push(x ? "anchored-left" : "anchored-right");
87
87
  }
88
88
  return {
89
89
  styles: {
@@ -96,15 +96,15 @@ const Ut = {
96
96
  };
97
97
  }
98
98
  function d() {
99
- window.removeEventListener("click", d), Kt(t.overlayId);
99
+ window.removeEventListener("click", d), Yt(t.overlayId);
100
100
  }
101
101
  return V(() => {
102
102
  setTimeout(() => {
103
103
  window.addEventListener("click", d);
104
104
  }, 10);
105
- }), (g, k) => (E(), b("div", {
106
- class: $(["vf-overlay-anchor", i.value]),
107
- style: Ct(o.value),
105
+ }), (g, b) => (E(), k("div", {
106
+ class: B(["vf-overlay-anchor", i.value]),
107
+ style: xt(o.value),
108
108
  onClick: ye(d, ["stop"])
109
109
  }, [
110
110
  G(g.$slots, "default")
@@ -137,14 +137,14 @@ function po(e) {
137
137
  }
138
138
  function Ze(e) {
139
139
  let t = e;
140
- for (; t && !Yt(t.vnode); )
140
+ for (; t && !Kt(t.vnode); )
141
141
  t = t.parent;
142
142
  }
143
- function Yt(e) {
143
+ function Kt(e) {
144
144
  const t = _.findIndex((n) => n.vnode.component === e.component);
145
145
  return t >= 0 ? (_[t].props.callback(), !0) : !1;
146
146
  }
147
- function Kt(e) {
147
+ function Yt(e) {
148
148
  const t = _.findIndex((n) => n.id === e);
149
149
  return t >= 0 ? (_[t].props.callback(), !0) : !1;
150
150
  }
@@ -200,14 +200,14 @@ function wo(e, t) {
200
200
  });
201
201
  return () => te(o);
202
202
  }
203
- const B = {
203
+ const $ = {
204
204
  unhandledErrorSupportText: "please contact support",
205
205
  errorHandler: (e) => console.error("Unhandled error:", e),
206
206
  defaultDateFormat: "M/d/yy",
207
207
  defaultTimeFormat: "H:mm"
208
208
  };
209
209
  function Eo(e) {
210
- Object.assign(B, e);
210
+ Object.assign($, e);
211
211
  }
212
212
  class oe extends Error {
213
213
  constructor(t) {
@@ -217,24 +217,24 @@ class oe extends Error {
217
217
  function Zt(e) {
218
218
  return e instanceof oe ? e.message : `An application error has occurred:
219
219
 
220
- ${be(e).message}
220
+ ${ke(e).message}
221
221
 
222
- Please refresh the page and try again. If this error persists, ${B.unhandledErrorSupportText}.`;
222
+ Please refresh the page and try again. If this error persists, ${$.unhandledErrorSupportText}.`;
223
223
  }
224
- function be(e) {
224
+ function ke(e) {
225
225
  return e instanceof Error ? e : new Error(String(e));
226
226
  }
227
- async function bo(e, t) {
228
- const n = be(e);
229
- return n instanceof oe || B.errorHandler(n), Xt({
227
+ async function ko(e, t) {
228
+ const n = ke(e);
229
+ return n instanceof oe || $.errorHandler(n), Xt({
230
230
  title: t == null ? void 0 : t.title,
231
231
  message: n,
232
232
  classes: t == null ? void 0 : t.classes
233
233
  });
234
234
  }
235
- async function ko(e) {
236
- const t = be(e);
237
- t instanceof oe || B.errorHandler(t);
235
+ async function bo(e) {
236
+ const t = ke(e);
237
+ t instanceof oe || $.errorHandler(t);
238
238
  }
239
239
  const z = Symbol("MaskState");
240
240
  function To(e, t) {
@@ -303,7 +303,7 @@ const Jt = ["id"], en = {
303
303
  setup(e, { expose: t }) {
304
304
  const n = pe(), o = e;
305
305
  t({ mask: f, unmask: w, hide: m, unhide: r });
306
- const i = T(), l = T(), u = T(!1), a = M(() => Ke([...Array.isArray(o.class) ? o.class : [o.class], u.value && "hidden"]));
306
+ const i = T(), l = T(), u = T(!1), a = M(() => Ye([...Array.isArray(o.class) ? o.class : [o.class], u.value && "hidden"]));
307
307
  V(() => {
308
308
  var c;
309
309
  document.body.classList.add("vf-modal-open"), o.closeOnMaskClick && (window.addEventListener("keydown", g), (c = i.value) == null || c.addEventListener("click", d));
@@ -311,15 +311,15 @@ const Jt = ["id"], en = {
311
311
  window.removeEventListener("keydown", g), document.body.querySelectorAll(".vf-modal").length > 0 || document.body.classList.remove("vf-modal-open");
312
312
  });
313
313
  function d(c) {
314
- c.target == i.value && k();
314
+ c.target == i.value && b();
315
315
  }
316
316
  function g(c) {
317
317
  if (c.key === "Esc" || c.key === "Escape") {
318
318
  const S = document.querySelectorAll(".vf-modal-wrap");
319
- S[S.length - 1] === i.value && k();
319
+ S[S.length - 1] === i.value && b();
320
320
  }
321
321
  }
322
- function k() {
322
+ function b() {
323
323
  Ze(n);
324
324
  }
325
325
  function f() {
@@ -334,33 +334,33 @@ const Jt = ["id"], en = {
334
334
  function r() {
335
335
  u.value = !1;
336
336
  }
337
- return (c, S) => (E(), b("div", {
337
+ return (c, S) => (E(), k("div", {
338
338
  id: c.id,
339
339
  ref_key: "overlay",
340
340
  ref: i,
341
- class: $(["vf-overlay vf-modal-wrap", a.value])
341
+ class: B(["vf-overlay vf-modal-wrap", a.value])
342
342
  }, [
343
- F("form", {
343
+ D("form", {
344
344
  ref_key: "form",
345
345
  ref: l,
346
346
  action: ".",
347
- class: $(["vf-modal", { scrolls: c.scrolls }]),
347
+ class: B(["vf-modal", { scrolls: c.scrolls }]),
348
348
  onSubmit: S[0] || (S[0] = ye((I) => c.$emit("formSubmit"), ["prevent"]))
349
349
  }, [
350
- c.$slots.header ? (E(), b("div", en, [
350
+ c.$slots.header ? (E(), k("div", en, [
351
351
  G(c.$slots, "header"),
352
- o.closeX ? (E(), b("i", {
352
+ o.closeX ? (E(), k("i", {
353
353
  key: 0,
354
354
  class: "close",
355
- onClick: k
356
- })) : D("", !0)
357
- ])) : D("", !0),
358
- F("div", tn, [
355
+ onClick: b
356
+ })) : F("", !0)
357
+ ])) : F("", !0),
358
+ D("div", tn, [
359
359
  G(c.$slots, "default")
360
360
  ]),
361
- c.$slots.footer ? (E(), b("div", nn, [
361
+ c.$slots.footer ? (E(), k("div", nn, [
362
362
  G(c.$slots, "footer")
363
- ])) : D("", !0)
363
+ ])) : F("", !0)
364
364
  ], 34)
365
365
  ], 10, Jt));
366
366
  }
@@ -373,6 +373,7 @@ const Jt = ["id"], en = {
373
373
  title: {},
374
374
  message: {},
375
375
  shouldConfirm: { type: Boolean },
376
+ iconClass: {},
376
377
  callback: { type: Function }
377
378
  },
378
379
  setup(e) {
@@ -380,15 +381,19 @@ const Jt = ["id"], en = {
380
381
  return (o, i) => {
381
382
  const l = Ht("autofocus");
382
383
  return E(), qe(on, {
383
- class: $(["vf-alert", ...o.classes ?? []])
384
+ class: B(["vf-alert", ...o.classes ?? []])
384
385
  }, Ot({
385
386
  default: ue(() => [
386
- o.isHtml ? (E(), b("div", {
387
+ o.iconClass ? (E(), k("i", {
387
388
  key: 0,
389
+ class: B(["vf-alert-icon", o.iconClass])
390
+ }, null, 2)) : F("", !0),
391
+ o.isHtml ? (E(), k("div", {
392
+ key: 1,
388
393
  innerHtml: o.message,
389
394
  class: "user-message"
390
- }, null, 8, ln)) : (E(), b("div", {
391
- key: 1,
395
+ }, null, 8, ln)) : (E(), k("div", {
396
+ key: 2,
392
397
  innerText: n.value
393
398
  }, null, 8, sn))
394
399
  ]),
@@ -404,8 +409,8 @@ const Jt = ["id"], en = {
404
409
  o.isBare ? void 0 : {
405
410
  name: "footer",
406
411
  fn: ue(() => [
407
- o.shouldConfirm ? (E(), b(J, { key: 0 }, [
408
- Q((E(), b("button", {
412
+ o.shouldConfirm ? (E(), k(J, { key: 0 }, [
413
+ Q((E(), k("button", {
409
414
  class: "primary",
410
415
  onClick: i[0] || (i[0] = () => o.callback(!0))
411
416
  }, i[3] || (i[3] = [
@@ -413,11 +418,11 @@ const Jt = ["id"], en = {
413
418
  ]))), [
414
419
  [l]
415
420
  ]),
416
- F("button", {
421
+ D("button", {
417
422
  class: "default",
418
423
  onClick: i[1] || (i[1] = () => o.callback(!1))
419
424
  }, "Cancel")
420
- ], 64)) : Q((E(), b("button", {
425
+ ], 64)) : Q((E(), k("button", {
421
426
  key: 1,
422
427
  class: "default",
423
428
  onClick: i[2] || (i[2] = () => o.callback(!0))
@@ -456,7 +461,7 @@ function dn(e, t, n) {
456
461
  const o = e.random || (e.rng || un)();
457
462
  return o[6] = o[6] & 15 | 64, o[8] = o[8] & 63 | 128, an(o);
458
463
  }
459
- function xo(e) {
464
+ function Co(e) {
460
465
  return e.replace(/\n/g, "<br>");
461
466
  }
462
467
  function fn(e) {
@@ -469,7 +474,7 @@ function vn(e) {
469
474
  function mn(e, t = 1) {
470
475
  return "$" + (Number(e) / t).toFixed(3).replace(/0$/, "").replace(/\B(?=(\d{3})+(?!\d))/g, ",");
471
476
  }
472
- function Co() {
477
+ function xo() {
473
478
  return dn();
474
479
  }
475
480
  const hn = ["disabled", "placeholder", "required"], pn = {
@@ -478,7 +483,7 @@ const hn = ["disabled", "placeholder", "required"], pn = {
478
483
  }, yn = ["onMousemove", "onMousedown"], gn = ["innerHTML"], wn = ["innerHTML"], En = {
479
484
  key: 0,
480
485
  class: "no-results"
481
- }, bn = "`1234567890-=[]\\;',./~!@#$%^&*()_+{}|:\"<>?qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM", kn = /* @__PURE__ */ N({
486
+ }, kn = "`1234567890-=[]\\;',./~!@#$%^&*()_+{}|:\"<>?qwertyuiopasdfghjklzxcvbnmQWERTYUIOPASDFGHJKLZXCVBNM", bn = /* @__PURE__ */ N({
482
487
  __name: "vf-smart-select",
483
488
  props: {
484
489
  modelValue: {},
@@ -511,14 +516,14 @@ const hn = ["disabled", "placeholder", "required"], pn = {
511
516
  setup(e, { expose: t, emit: n }) {
512
517
  const o = Symbol("null"), i = Symbol("create"), l = e, u = n;
513
518
  t({
514
- addRemoteOption: kt
519
+ addRemoteOption: bt
515
520
  });
516
- const a = T(), d = T(), g = T(), k = T(!1), f = T(!1), w = T([]), m = T(!1), r = T(""), c = T(null), S = T(null), I = T(!1), C = T(null), Se = T(!1), at = M(() => l.showCreateTextOnNewItem ?? !0), rt = M(() => l.prependOptions ?? []), ut = M(() => l.appendOptions ?? []), xe = M(() => !!l.disabled), ct = M(() => !f.value && l.preload ? "Loading..." : l.nullTitle ? l.nullTitle : l.placeholder || ""), dt = M(() => l.noResultsText || "No options match your search."), W = M(() => l.valueExtractor ? l.valueExtractor : l.valueField ? (s) => s[l.valueField] : null), j = M(() => l.keyExtractor ? l.keyExtractor : l.keyField ? (s) => String(s[l.keyField]) : W.value ? (s) => String(W.value(s)) : null), se = M(() => l.formatter ? l.formatter : l.labelField ? (s) => String(s[l.labelField]) : (s) => String(s)), Ce = M(() => [...rt.value, ...w.value, ...ut.value]), ie = M(() => Ce.value.map((s, v) => {
521
+ const a = T(), d = T(), g = T(), b = T(!1), f = T(!1), w = T([]), m = T(!1), r = T(""), c = T(null), S = T(null), I = T(!1), x = T(null), Se = T(!1), at = M(() => l.showCreateTextOnNewItem ?? !0), rt = M(() => l.prependOptions ?? []), ut = M(() => l.appendOptions ?? []), Ce = M(() => !!l.disabled), ct = M(() => !f.value && l.preload ? "Loading..." : l.nullTitle ? l.nullTitle : l.placeholder || ""), dt = M(() => l.noResultsText || "No options match your search."), W = M(() => l.valueExtractor ? l.valueExtractor : l.valueField ? (s) => s[l.valueField] : null), j = M(() => l.keyExtractor ? l.keyExtractor : l.keyField ? (s) => String(s[l.keyField]) : W.value ? (s) => String(W.value(s)) : null), se = M(() => l.formatter ? l.formatter : l.labelField ? (s) => String(s[l.labelField]) : (s) => String(s)), xe = M(() => [...rt.value, ...w.value, ...ut.value]), ie = M(() => xe.value.map((s, v) => {
517
522
  var Ae, Fe;
518
- const h = se.value(s), p = (Ae = l.subtitleFormatter) == null ? void 0 : Ae.call(l, s), y = h ? h.trim().toLowerCase() : "", x = p ? p.trim().toLowerCase() : "", Z = [];
523
+ const h = se.value(s), p = (Ae = l.subtitleFormatter) == null ? void 0 : Ae.call(l, s), y = h ? h.trim().toLowerCase() : "", C = p ? p.trim().toLowerCase() : "", Z = [];
519
524
  return l.searchFields ? l.searchFields.forEach((De) => {
520
525
  s[De] && Z.push(String(s[De]).toLowerCase());
521
- }) : (Z.push(y), x && Z.push(x)), {
526
+ }) : (Z.push(y), C && Z.push(C)), {
522
527
  key: ((Fe = j.value) == null ? void 0 : Fe.call(j, s)) ?? String(v),
523
528
  title: h,
524
529
  subtitle: p,
@@ -533,13 +538,13 @@ const hn = ["disabled", "placeholder", "required"], pn = {
533
538
  s = s.filter((y) => y.searchContent.includes(v));
534
539
  const h = Nt(r.value).replace(/[-/\\^$*+?.()|[\]{}]/g, "\\$&"), p = new RegExp(`(${h})`, "ig");
535
540
  s = s.map((y) => {
536
- var x;
541
+ var C;
537
542
  return {
538
543
  ...y,
539
544
  title: y.title.replace(p, "<mark>$1</mark>"),
540
- subtitle: (x = y.subtitle) == null ? void 0 : x.replace(p, "<mark>$1</mark>")
545
+ subtitle: (C = y.subtitle) == null ? void 0 : C.replace(p, "<mark>$1</mark>")
541
546
  };
542
- }), Se.value && (s.find((x) => x.searchContent === v) !== void 0 || s.push({
547
+ }), Se.value && (s.find((C) => C.searchContent === v) !== void 0 || s.push({
543
548
  key: i,
544
549
  title: at.value ? "Create <strong>" + r.value.trim() + "</strong>..." : r.value.trim()
545
550
  }));
@@ -563,7 +568,7 @@ const hn = ["disabled", "placeholder", "required"], pn = {
563
568
  I.value ? setTimeout(wt, 0) : (m.value = !1, r.value = S.value || "", g.value && (g.value.style.visibility = "hidden"));
564
569
  }), A(H, () => {
565
570
  var s;
566
- l.modelValue && !c.value && re(), (C.value || m.value) && !H.value.find((v) => v.key == C.value) && (C.value = ((s = H.value[0]) == null ? void 0 : s.key) ?? o);
571
+ l.modelValue && !c.value && re(), (x.value || m.value) && !H.value.find((v) => v.key == x.value) && (x.value = ((s = H.value[0]) == null ? void 0 : s.key) ?? o);
567
572
  }), V(async () => {
568
573
  Se.value = l.onCreateItem !== void 0, l.options ? (w.value = [...l.options], f.value = !0) : l.preload && await Le(), re(), A(c, () => {
569
574
  c.value !== l.modelValue && u(
@@ -578,7 +583,7 @@ const hn = ["disabled", "placeholder", "required"], pn = {
578
583
  async function Me() {
579
584
  var v;
580
585
  const s = l.remoteSearch && m.value && r.value ? r.value : null;
581
- k.value = !0, w.value = await ((v = l.loadOptions) == null ? void 0 : v.call(l, s)) ?? [], k.value = !1, f.value = !0;
586
+ b.value = !0, w.value = await ((v = l.loadOptions) == null ? void 0 : v.call(l, s)) ?? [], b.value = !1, f.value = !0;
582
587
  }
583
588
  function ft() {
584
589
  m.value && (Me(), m.value = r.value.trim().length > 0);
@@ -601,14 +606,14 @@ const hn = ["disabled", "placeholder", "required"], pn = {
601
606
  return s.preventDefault(), ae(s.key == "Home" ? -Number.MAX_SAFE_INTEGER : Number.MAX_SAFE_INTEGER);
602
607
  if (s.key == "Enter") {
603
608
  s.preventDefault();
604
- const v = H.value.find((h) => h.key == C.value);
609
+ const v = H.value.find((h) => h.key == x.value);
605
610
  if (v) return He(v);
606
611
  }
607
612
  if (s.key === "Delete" || s.key === "Backspace") {
608
613
  r.value.length > 1 && (m.value = !0);
609
614
  return;
610
615
  }
611
- !s.metaKey && bn.includes(s.key) && (m.value = !0);
616
+ !s.metaKey && kn.includes(s.key) && (m.value = !0);
612
617
  }
613
618
  }
614
619
  function mt() {
@@ -618,7 +623,7 @@ const hn = ["disabled", "placeholder", "required"], pn = {
618
623
  }, 0);
619
624
  }
620
625
  function ht(s) {
621
- c.value ? C.value = pt(c.value) : l.nullTitle && (C.value = o);
626
+ c.value ? x.value = pt(c.value) : l.nullTitle && (x.value = o);
622
627
  }
623
628
  function pt(s) {
624
629
  var v;
@@ -628,7 +633,7 @@ const hn = ["disabled", "placeholder", "required"], pn = {
628
633
  const v = H.value.find((y) => y.ref === s);
629
634
  if (v)
630
635
  return v;
631
- const h = l.keyExtractor ? (y, x) => l.keyExtractor(y) === l.keyExtractor(x) : Xe, p = H.value.find((y) => h(y.ref, s));
636
+ const h = l.keyExtractor ? (y, C) => l.keyExtractor(y) === l.keyExtractor(C) : Xe, p = H.value.find((y) => h(y.ref, s));
632
637
  return p || null;
633
638
  }
634
639
  function gt() {
@@ -640,27 +645,27 @@ const hn = ["disabled", "placeholder", "required"], pn = {
640
645
  }
641
646
  function Et() {
642
647
  const s = a.value.getBoundingClientRect(), v = s.y + s.height + 2, h = s.x, p = g.value, y = window.getComputedStyle(a.value);
643
- for (let x in y)
644
- /^(font|text)/.test(x) && (p.style[x] = y[x]);
648
+ for (let C in y)
649
+ /^(font|text)/.test(C) && (p.style[C] = y[C]);
645
650
  if (p.style.top = v + "px", p.style.left = h + "px", p.style.minWidth = s.width + "px", !y.maxHeight || y.maxHeight == "none") {
646
- const x = window.innerHeight - v - 12;
647
- p.style.maxHeight = x + "px";
651
+ const C = window.innerHeight - v - 12;
652
+ p.style.maxHeight = C + "px";
648
653
  }
649
654
  p.style.visibility = "visible", document.body.appendChild(p), setTimeout(Ie, 0);
650
655
  }
651
656
  function Ie() {
652
- if (!f.value || !C.value) return;
653
- const s = H.value.findIndex((p) => p.key == C.value), v = g.value, h = v == null ? void 0 : v.querySelectorAll(".option")[s];
657
+ if (!f.value || !x.value) return;
658
+ const s = H.value.findIndex((p) => p.key == x.value), v = g.value, h = v == null ? void 0 : v.querySelectorAll(".option")[s];
654
659
  h && (v.scrollTop = h.offsetTop);
655
660
  }
656
- function bt(s) {
657
- C.value = s ? s.key : null;
661
+ function kt(s) {
662
+ x.value = s ? s.key : null;
658
663
  }
659
664
  function ae(s) {
660
- const v = H.value.findIndex((x) => x.key == C.value);
665
+ const v = H.value.findIndex((C) => C.key == x.value);
661
666
  let h = v + s;
662
667
  if (h < 0 ? h = 0 : h >= H.value.length && (h = H.value.length - 1), v == h) return;
663
- C.value = H.value[h].key;
668
+ x.value = H.value[h].key;
664
669
  const p = g.value, y = p == null ? void 0 : p.querySelectorAll(".option")[h];
665
670
  y && (y.offsetTop < p.scrollTop ? p.scrollTop = y.offsetTop : y.offsetTop + y.offsetHeight > p.scrollTop + p.clientHeight && (p.scrollTop = y.offsetTop + y.offsetHeight - p.clientHeight));
666
671
  }
@@ -672,15 +677,15 @@ const hn = ["disabled", "placeholder", "required"], pn = {
672
677
  const p = r.value.trim();
673
678
  r.value = "", c.value = null, S.value = null, (v = l.onCreateItem) == null || v.call(l, p);
674
679
  } else {
675
- const y = ie.value.find((x) => x.key == s.key).ref;
680
+ const y = ie.value.find((C) => C.key == s.key).ref;
676
681
  c.value = y, S.value = se.value(y), r.value = S.value || "";
677
682
  }
678
683
  (h = d.value) == null || h.blur(), Oe();
679
684
  }
680
685
  function re() {
681
- l.modelValue ? (c.value = W.value ? Ce.value.find((s) => l.modelValue === W.value(s)) : l.modelValue, S.value = c.value ? se.value(c.value) : null, r.value = S.value || "") : (c.value = null, S.value = null, r.value = "");
686
+ l.modelValue ? (c.value = W.value ? xe.value.find((s) => l.modelValue === W.value(s)) : l.modelValue, S.value = c.value ? se.value(c.value) : null, r.value = S.value || "") : (c.value = null, S.value = null, r.value = "");
682
687
  }
683
- function kt(s) {
688
+ function bt(s) {
684
689
  w.value.unshift(s);
685
690
  }
686
691
  function Oe() {
@@ -692,21 +697,21 @@ const hn = ["disabled", "placeholder", "required"], pn = {
692
697
  if (!s) return;
693
698
  const v = s.querySelectorAll('input, button, textarea, select, [tabindex]:not([tabindex="-1"])');
694
699
  if (!v) return;
695
- const h = Array.from(v).findIndex((x) => x === d.value), p = v[h + 1];
700
+ const h = Array.from(v).findIndex((C) => C === d.value), p = v[h + 1];
696
701
  p && setTimeout(() => p.focus(), 0);
697
702
  }
698
- return (s, v) => (E(), b("div", {
703
+ return (s, v) => (E(), k("div", {
699
704
  ref_key: "el",
700
705
  ref: a,
701
- class: $(["vf-smart-select", { disabled: xe.value, open: I.value }])
706
+ class: B(["vf-smart-select", { disabled: Ce.value, open: I.value }])
702
707
  }, [
703
- Q(F("input", {
708
+ Q(D("input", {
704
709
  ref_key: "searchField",
705
710
  ref: d,
706
711
  "onUpdate:modelValue": v[0] || (v[0] = (h) => r.value = h),
707
712
  type: "text",
708
- disabled: xe.value,
709
- class: $({ nullable: !!s.nullTitle }),
713
+ disabled: Ce.value,
714
+ class: B({ nullable: !!s.nullTitle }),
710
715
  placeholder: ct.value,
711
716
  required: s.required,
712
717
  "data-1p-ignore": "",
@@ -716,34 +721,34 @@ const hn = ["disabled", "placeholder", "required"], pn = {
716
721
  }, null, 42, hn), [
717
722
  [At, r.value]
718
723
  ]),
719
- I.value ? (E(), b("div", {
724
+ I.value ? (E(), k("div", {
720
725
  key: 0,
721
726
  ref_key: "optionsContainer",
722
727
  ref: g,
723
728
  class: "vf-smart-select-options"
724
729
  }, [
725
- f.value ? (E(), b(J, { key: 1 }, [
726
- (E(!0), b(J, null, he(H.value, (h) => (E(), b("div", {
730
+ f.value ? (E(), k(J, { key: 1 }, [
731
+ (E(!0), k(J, null, he(H.value, (h) => (E(), k("div", {
727
732
  key: String(h.key),
728
- class: $(["option", {
729
- highlighted: C.value === h.key
733
+ class: B(["option", {
734
+ highlighted: x.value === h.key
730
735
  }]),
731
- onMousemove: (p) => bt(h),
736
+ onMousemove: (p) => kt(h),
732
737
  onMousedown: (p) => He(h)
733
738
  }, [
734
- F("div", {
739
+ D("div", {
735
740
  class: "title",
736
741
  innerHTML: h.title
737
742
  }, null, 8, gn),
738
- h.subtitle ? (E(), b("div", {
743
+ h.subtitle ? (E(), k("div", {
739
744
  key: 0,
740
745
  class: "subtitle",
741
746
  innerHTML: h.subtitle
742
- }, null, 8, wn)) : D("", !0)
747
+ }, null, 8, wn)) : F("", !0)
743
748
  ], 42, yn))), 128)),
744
- !H.value.length && r.value ? (E(), b("div", En, U(dt.value), 1)) : D("", !0)
745
- ], 64)) : (E(), b("div", pn, "Loading..."))
746
- ], 512)) : D("", !0)
749
+ !H.value.length && r.value ? (E(), k("div", En, U(dt.value), 1)) : F("", !0)
750
+ ], 64)) : (E(), k("div", pn, "Loading..."))
751
+ ], 512)) : F("", !0)
747
752
  ], 2));
748
753
  }
749
754
  }), Lo = /* @__PURE__ */ N({
@@ -768,9 +773,9 @@ const hn = ["disabled", "placeholder", "required"], pn = {
768
773
  }
769
774
  ), A(u, (a) => {
770
775
  var g;
771
- const d = a ? (g = o.value.find((k) => Xe(k, a))) == null ? void 0 : g.value : null;
776
+ const d = a ? (g = o.value.find((b) => Xe(b, a))) == null ? void 0 : g.value : null;
772
777
  l("update:modelValue", d ?? null);
773
- }), (a, d) => (E(), qe(kn, {
778
+ }), (a, d) => (E(), qe(bn, {
774
779
  modelValue: u.value,
775
780
  "onUpdate:modelValue": d[0] || (d[0] = (g) => u.value = g),
776
781
  options: o.value,
@@ -783,10 +788,10 @@ const hn = ["disabled", "placeholder", "required"], pn = {
783
788
  function Mo() {
784
789
  return T();
785
790
  }
786
- const Tn = { class: "content" }, Sn = { class: "message" }, xn = {
791
+ const Tn = { class: "content" }, Sn = { class: "message" }, Cn = {
787
792
  key: 0,
788
793
  class: "close"
789
- }, Cn = {
794
+ }, xn = {
790
795
  key: 0,
791
796
  class: "progress-bar"
792
797
  }, Ln = /* @__PURE__ */ N({
@@ -812,21 +817,21 @@ const Tn = { class: "content" }, Sn = { class: "message" }, xn = {
812
817
  duration: i * 1e3,
813
818
  easing: "linear"
814
819
  }), setTimeout(() => t.callback(), i * 1e3);
815
- }), (i, l) => (E(), b("div", {
816
- class: $(["vf-toast", i.className]),
820
+ }), (i, l) => (E(), k("div", {
821
+ class: B(["vf-toast", i.className]),
817
822
  onClick: ye(n, ["stop"])
818
823
  }, [
819
- F("div", Tn, [
820
- F("div", Sn, U(i.message), 1),
821
- i.disableClose ? D("", !0) : (E(), b("div", xn, "x"))
824
+ D("div", Tn, [
825
+ D("div", Sn, U(i.message), 1),
826
+ i.disableClose ? F("", !0) : (E(), k("div", Cn, "x"))
822
827
  ]),
823
- i.durationSecs !== null ? (E(), b("div", Cn, [
824
- F("div", {
828
+ i.durationSecs !== null ? (E(), k("div", xn, [
829
+ D("div", {
825
830
  ref_key: "progressInnerEl",
826
831
  ref: o,
827
832
  class: "inner"
828
833
  }, null, 512)
829
- ])) : D("", !0)
834
+ ])) : F("", !0)
830
835
  ], 2));
831
836
  }
832
837
  });
@@ -902,8 +907,8 @@ function Ao(e, t) {
902
907
  const r = document.createElement("div");
903
908
  r.classList.add("item"), r.style.userSelect = "none", r.innerText = m.title, o.appendChild(r), m.class && r.classList.add(m.class), m.shouldConfirm ? r.addEventListener("click", (c) => w(c, r, m.handler)) : r.addEventListener("click", () => m.handler());
904
909
  });
905
- const l = window.innerWidth - e.clientX, u = window.innerHeight - e.clientY, a = o.offsetHeight, d = o.offsetWidth, g = l < d ? e.clientX - d - 1 : e.clientX + 1, k = u < a ? e.clientY - a - 1 : e.clientY + 1;
906
- o.style.left = g + "px", o.style.top = k + "px", setTimeout(() => {
910
+ const l = window.innerWidth - e.clientX, u = window.innerHeight - e.clientY, a = o.offsetHeight, d = o.offsetWidth, g = l < d ? e.clientX - d - 1 : e.clientX + 1, b = u < a ? e.clientY - a - 1 : e.clientY + 1;
911
+ o.style.left = g + "px", o.style.top = b + "px", setTimeout(() => {
907
912
  o.style.width = o.offsetWidth + "px";
908
913
  }, 50);
909
914
  function f() {
@@ -944,27 +949,27 @@ function $o(e, t) {
944
949
  }
945
950
  });
946
951
  }
947
- const ke = Symbol("HookState");
952
+ const be = Symbol("HookState");
948
953
  function Vo(e, t) {
949
954
  const n = t ?? pe();
950
- V(() => Rn(n, e), n), ze(() => Wn(n), n), Ye(() => Ve(n), n), ge(() => Ve(n), n);
955
+ V(() => Rn(n, e), n), ze(() => Wn(n), n), Ke(() => Ve(n), n), ge(() => Ve(n), n);
951
956
  }
952
957
  function Rn(e, t) {
953
958
  const n = {};
954
- if (t.elScrolledToBottom && (n.el = new Y(e.vnode.el, t.elScrolledToBottom)), t.ancestorScrolledToBottom) {
959
+ if (t.elScrolledToBottom && (n.el = new K(e.vnode.el, t.elScrolledToBottom)), t.ancestorScrolledToBottom) {
955
960
  const o = et(e.vnode.el);
956
- o ? n.ancestor = new Y(o, t.ancestorScrolledToBottom) : console.warn("[VueFoundation] No scollable ancestor found for component:", e);
961
+ o ? n.ancestor = new K(o, t.ancestorScrolledToBottom) : console.warn("[VueFoundation] No scollable ancestor found for component:", e);
957
962
  }
958
- t.windowScrolledToBottom && (n.window = new Y(window, t.windowScrolledToBottom)), e[ke] = n;
963
+ t.windowScrolledToBottom && (n.window = new K(window, t.windowScrolledToBottom)), e[be] = n;
959
964
  }
960
965
  function Wn(e) {
961
966
  var n, o, i;
962
- const t = e[ke];
967
+ const t = e[be];
963
968
  (n = t == null ? void 0 : t.el) == null || n.install(), (o = t == null ? void 0 : t.ancestor) == null || o.install(), (i = t == null ? void 0 : t.window) == null || i.install();
964
969
  }
965
970
  function Ve(e) {
966
971
  var n, o, i;
967
- const t = e[ke];
972
+ const t = e[be];
968
973
  (n = t == null ? void 0 : t.el) == null || n.uninstall(), (o = t == null ? void 0 : t.ancestor) == null || o.uninstall(), (i = t == null ? void 0 : t.window) == null || i.uninstall();
969
974
  }
970
975
  const fe = ["auto", "scroll"];
@@ -974,7 +979,7 @@ function et(e) {
974
979
  const n = window.getComputedStyle(t);
975
980
  return fe.includes(n.overflow) || fe.includes(n.overflowX) || fe.includes(n.overflowY) ? t : et(t);
976
981
  }
977
- class Y {
982
+ class K {
978
983
  constructor(t, n) {
979
984
  O(this, "isTripped", !1);
980
985
  O(this, "onScrollWithContext", this.onScroll.bind(this));
@@ -991,7 +996,7 @@ class Y {
991
996
  }
992
997
  }
993
998
  function _o(e) {
994
- V(() => window.addEventListener("resize", e)), ze(() => window.addEventListener("resize", e)), Ye(() => window.removeEventListener("resize", e)), ge(() => window.removeEventListener("resize", e));
999
+ V(() => window.addEventListener("resize", e)), ze(() => window.addEventListener("resize", e)), Ke(() => window.removeEventListener("resize", e)), ge(() => window.removeEventListener("resize", e));
995
1000
  }
996
1001
  const Un = {
997
1002
  mounted: Ne,
@@ -1039,21 +1044,21 @@ function zn(e) {
1039
1044
  isNaN(n) ? e.value = "" : e.value = ve(n, "MM/dd/yyyy"), e.dispatchEvent(new Event("input"));
1040
1045
  });
1041
1046
  }
1042
- const Yn = {
1047
+ const Kn = {
1043
1048
  beforeMount: Re,
1044
1049
  updated: Re
1045
1050
  };
1046
1051
  function Re(e, t) {
1047
- t.value == t.oldValue && e.innerHTML.length || (e.innerText = Kn(e, t));
1052
+ t.value == t.oldValue && e.innerHTML.length || (e.innerText = Yn(e, t));
1048
1053
  }
1049
- function Kn(e, t) {
1050
- var g, k;
1054
+ function Yn(e, t) {
1055
+ var g, b;
1051
1056
  if (!t.value)
1052
1057
  return ((g = e.attributes.getNamedItem("placeholder")) == null ? void 0 : g.value) ?? "";
1053
1058
  let n = "";
1054
1059
  const o = t.value.replace(/ /g, "T").replace(/\.\d+Z$/, "Z"), i = e.attributes.getNamedItem("local") !== null ? o.replace(/Z$/, "") : o.replace(/(Z|\+00:00)?$/, "Z"), l = new Date(i);
1055
1060
  e.attributes.getNamedItem("display-utc") !== null && l.setMinutes(l.getMinutes() - l.getTimezoneOffset());
1056
- let u = (k = e.attributes.getNamedItem("format")) == null ? void 0 : k.value;
1061
+ let u = (b = e.attributes.getNamedItem("format")) == null ? void 0 : b.value;
1057
1062
  const a = e.attributes.getNamedItem("date-only") !== null;
1058
1063
  if (!u && e.attributes.getNamedItem("relative-date") !== null) {
1059
1064
  const f = /* @__PURE__ */ new Date();
@@ -1062,11 +1067,11 @@ function Kn(e, t) {
1062
1067
  if (!u && e.attributes.getNamedItem("simplified-date") !== null) {
1063
1068
  let f = null;
1064
1069
  const w = /* @__PURE__ */ new Date();
1065
- w.getFullYear() === l.getFullYear() ? (w.getMonth() !== l.getMonth() || w.getDate() !== l.getDate()) && (f = "M/d") : f = "M/d/YY";
1066
- const m = a ? null : B.defaultTimeFormat;
1067
- u = Ke([f, m]).join(" ");
1070
+ w.getFullYear() === l.getFullYear() ? (w.getMonth() !== l.getMonth() || w.getDate() !== l.getDate()) && (f = "M/d") : f = "M/d/yy";
1071
+ const m = a ? null : $.defaultTimeFormat;
1072
+ u = Ye([f, m]).join(" ");
1068
1073
  }
1069
- u || (a ? u = B.defaultDateFormat : u = `${B.defaultDateFormat} ${B.defaultTimeFormat}`);
1074
+ u || (a ? u = $.defaultDateFormat : u = `${$.defaultDateFormat} ${$.defaultTimeFormat}`);
1070
1075
  let d = ve(l, u);
1071
1076
  return n && (d = n + " " + d), d;
1072
1077
  }
@@ -1144,11 +1149,11 @@ function st(e) {
1144
1149
  }
1145
1150
  const q = Symbol("InfiniteScrollHandler"), no = {
1146
1151
  mounted(e, t) {
1147
- e[q] = new Y(e, t.value);
1152
+ e[q] = new K(e, t.value);
1148
1153
  },
1149
1154
  updated(e, t) {
1150
1155
  var n;
1151
- (n = e[q]) == null || n.uninstall(), e[q] = new Y(e, t.value);
1156
+ (n = e[q]) == null || n.uninstall(), e[q] = new K(e, t.value);
1152
1157
  },
1153
1158
  unmounted(e) {
1154
1159
  var t;
@@ -1165,7 +1170,7 @@ const lo = {
1165
1170
  mounted: Pe,
1166
1171
  updated: Pe,
1167
1172
  unmounted: it
1168
- }, K = Symbol("TooltipState");
1173
+ }, Y = Symbol("TooltipState");
1169
1174
  function Pe(e, t) {
1170
1175
  var o;
1171
1176
  let n = ((o = e.attributes.getNamedItem("tip")) == null ? void 0 : o.value) ?? t.value;
@@ -1174,13 +1179,13 @@ function Pe(e, t) {
1174
1179
  content: n,
1175
1180
  html: e.getAttribute("html") !== null
1176
1181
  };
1177
- e[K] ? e[K].configure(i) : e[K] = new so(e, i);
1182
+ e[Y] ? e[Y].configure(i) : e[Y] = new so(e, i);
1178
1183
  } else
1179
1184
  it(e);
1180
1185
  }
1181
1186
  function it(e) {
1182
1187
  var t;
1183
- (t = e[K]) == null || t.destroy(), delete e[K];
1188
+ (t = e[Y]) == null || t.destroy(), delete e[Y];
1184
1189
  }
1185
1190
  class so {
1186
1191
  constructor(t, n) {
@@ -1231,7 +1236,7 @@ class so {
1231
1236
  }
1232
1237
  }
1233
1238
  function io(e) {
1234
- e.directive("autofocus", Un), e.directive("confirm-button", jn), e.directive("date-input", qn), e.directive("datetime", Yn), e.directive("disabled", Xn), e.directive("duration", Gn), e.directive("hotkey", eo), e.directive("infinite-scroll", no), e.directive("readonly", oo), e.directive("tooltip", lo);
1239
+ e.directive("autofocus", Un), e.directive("confirm-button", jn), e.directive("date-input", qn), e.directive("datetime", Kn), e.directive("disabled", Xn), e.directive("duration", Gn), e.directive("hotkey", eo), e.directive("infinite-scroll", no), e.directive("readonly", oo), e.directive("tooltip", lo);
1235
1240
  }
1236
1241
  function No(e) {
1237
1242
  io(e);
@@ -1243,29 +1248,29 @@ export {
1243
1248
  le as VfAlertModal,
1244
1249
  Lo as VfEzSmartSelect,
1245
1250
  on as VfModal,
1246
- kn as VfSmartSelect,
1251
+ bn as VfSmartSelect,
1247
1252
  Do as cloneProp,
1248
1253
  Eo as configureVf,
1249
1254
  $o as configureVfOpenApiClient,
1250
1255
  Ho as createFilters,
1251
1256
  we as createOverlayInjection,
1252
1257
  fn as desnakeCase,
1253
- Kt as dismissOverlayInjectionById,
1258
+ Yt as dismissOverlayInjectionById,
1254
1259
  po as dismissOverlayInjectionByInstance,
1255
1260
  Ze as dismissOverlayInjectionByInternalInstance,
1256
- Yt as dismissOverlayInjectionByVnode,
1261
+ Kt as dismissOverlayInjectionByVnode,
1257
1262
  Uo as escapeHtml,
1258
1263
  Zt as formatError,
1259
1264
  Nn as formatNumber,
1260
1265
  vn as formatPhone,
1261
1266
  mn as formatUSCurrency,
1262
- ko as handleError,
1263
- bo as handleErrorAndAlert,
1267
+ bo as handleError,
1268
+ ko as handleErrorAndAlert,
1264
1269
  No as installVf,
1265
1270
  To as maskComponent,
1266
1271
  Gt as maskEl,
1267
1272
  Qt as maskForm,
1268
- xo as nl2br,
1273
+ Co as nl2br,
1269
1274
  Bo as nullifyEmptyInputs,
1270
1275
  Ee as presentOverlay,
1271
1276
  te as removeOverlayInjection,
@@ -1278,12 +1283,12 @@ export {
1278
1283
  wo as showWait,
1279
1284
  _n as sleep,
1280
1285
  Fo as sleepSecs,
1281
- be as toError,
1286
+ ke as toError,
1282
1287
  So as unmaskComponent,
1283
1288
  Ge as unmaskEl,
1284
1289
  Qe as unmaskForm,
1285
1290
  Vo as useInfiniteScroll,
1286
1291
  _o as useResizeWatcher,
1287
- Co as uuid,
1292
+ xo as uuid,
1288
1293
  Mo as vfModalRef
1289
1294
  };
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@signal24/vue-foundation",
3
3
  "type": "module",
4
- "version": "4.19.5",
4
+ "version": "4.19.7",
5
5
  "description": "Common components, directives, and helpers for Vue 3 apps",
6
6
  "module": "./dist/vue-foundation.es.js",
7
7
  "exports": {
@@ -5,6 +5,7 @@ interface IAlertOptions {
5
5
  title?: string;
6
6
  message: string | Error;
7
7
  classes?: string[];
8
+ iconClass?: string | string[];
8
9
  }
9
10
 
10
11
  function resolveAlertParams(arg0: string | Error | IAlertOptions, arg1?: string | Error) {
@@ -4,6 +4,8 @@
4
4
  {{ title }}
5
5
  </template>
6
6
 
7
+ <i v-if="iconClass" :class="['vf-alert-icon', iconClass]" />
8
+
7
9
  <div v-if="isHtml" :innerHtml="message" class="user-message"></div>
8
10
  <div v-else :innerText="textMessage"></div>
9
11
 
@@ -30,6 +32,7 @@ const props = defineProps<{
30
32
  title?: string;
31
33
  message: string | Error;
32
34
  shouldConfirm?: boolean;
35
+ iconClass?: string | string[];
33
36
  callback: (ok: boolean) => void;
34
37
  }>();
35
38
 
@@ -56,6 +59,10 @@ const textMessage = computed(() => {
56
59
  .vf-modal-content {
57
60
  text-align: center;
58
61
  }
62
+
63
+ .vf-alert-icon {
64
+ margin-bottom: 12px;
65
+ }
59
66
  }
60
67
 
61
68
  &.destructive {
@@ -47,7 +47,7 @@ function getDateTimeValue(el: HTMLElement, binding: DirectiveBinding<string>) {
47
47
  dateSpec = 'M/d';
48
48
  }
49
49
  } else {
50
- dateSpec = 'M/d/YY';
50
+ dateSpec = 'M/d/yy';
51
51
  }
52
52
 
53
53
  const timeSpec = isDateOnly ? null : VfOptions.defaultTimeFormat;