@base-framework/ui 1.1.2 → 1.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/atoms.es.js CHANGED
@@ -1,7 +1,7 @@
1
- import { B as e, C as t, F as o, L as r, P as n, R as p, S as I, a as u, T as i } from "./tooltip-Czvqmxt3.js";
1
+ import { B as e, C as t, F as o, L as r, P as n, R as p, S as I, a as u, T as i } from "./tooltip-BFch3OOj.js";
2
2
  import { B as d, I as m, L as x } from "./buttons-CfwtbIR-.js";
3
3
  import { C as T, F as g } from "./form-group-BB7dLJir.js";
4
- import { C as F, d as c, D as f, c as L, E as P, F as R, H as S, I as b, M as h, N as k, P as D, R as V, T as E, a as G, b as H, U as M, W as N } from "./inputs-9udyzkHR.js";
4
+ import { C as F, d as c, D as f, c as L, E as P, F as R, H as S, I as b, M as h, N as k, P as D, R as V, T as E, a as G, b as H, U as M, W as N } from "./inputs-ByrGuC40.js";
5
5
  import { I as W, V as w, a as J } from "./image-BB__4s0g.js";
6
6
  export {
7
7
  e as Badge,
@@ -1,8 +1,8 @@
1
- import { Div as n, H5 as Z, P as b, I as x, Li as H, Span as a, Ul as q, Button as f, OnState as T, Label as P, H2 as S, Form as tt, Header as I, Footer as L, A as V, H3 as et, Checkbox as st, Input as m, Img as G, Nav as ot, UseParent as W, OnStateOpen as O, Time as nt, Dialog as it } from "@base-framework/atoms";
2
- import { Atom as c, Component as w, Html as A, Dom as rt, base as lt, Data as B, Builder as _, Jot as C, Events as p, DateTime as M } from "@base-framework/base";
1
+ import { Div as n, H5 as Z, P as b, I as x, Li as H, Span as a, Ul as q, Button as f, OnState as I, Label as P, H2 as S, Form as tt, Header as T, Footer as L, A as V, H3 as et, Checkbox as st, Input as m, Img as G, Nav as ot, UseParent as W, OnStateOpen as O, Time as nt, Dialog as it } from "@base-framework/atoms";
2
+ import { Atom as c, Component as w, Html as A, Dom as lt, base as rt, Data as B, Builder as _, Jot as C, Events as g, DateTime as M } from "@base-framework/base";
3
3
  import { P as D, b as at, R as ct } from "./range-calendar-CAwPjNM3.js";
4
4
  import { C as dt, F as ut } from "./form-group-BB7dLJir.js";
5
- import { B as h, I as g } from "./buttons-CfwtbIR-.js";
5
+ import { B as h, I as p } from "./buttons-CfwtbIR-.js";
6
6
  import { Icons as u } from "./icons.es.js";
7
7
  import { Timer as ht, List as mt, DynamicTime as ft } from "@base-framework/organisms";
8
8
  import { a as v } from "./image-BB__4s0g.js";
@@ -33,15 +33,15 @@ const z = {
33
33
  bgColor: "bg-muted/10",
34
34
  iconColor: "text-muted-foreground"
35
35
  }
36
- }, gt = (t, e) => n({ class: `flex items-center justify-center h-6 w-6 mr-3 ${e}` }, [
36
+ }, pt = (t, e) => n({ class: `flex items-center justify-center h-6 w-6 mr-3 ${e}` }, [
37
37
  x({ html: t })
38
- ]), pt = (t) => Z({ class: "font-semibold" }, t), bt = (t) => b({ class: "text-sm text-muted-foreground" }, t), Le = c(({ title: t, description: e, icon: s, type: o = "default" }) => {
39
- const { borderColor: i, bgColor: r, iconColor: l } = z[o] || z.default;
40
- return n({ class: `flex items-start p-4 border rounded-lg ${r} ${i}` }, [
38
+ ]), gt = (t) => Z({ class: "font-semibold" }, t), bt = (t) => b({ class: "text-sm text-muted-foreground" }, t), Le = c(({ title: t, description: e, icon: s, type: o = "default" }) => {
39
+ const { borderColor: i, bgColor: l, iconColor: r } = z[o] || z.default;
40
+ return n({ class: `flex items-start p-4 border rounded-lg ${l} ${i}` }, [
41
41
  // Icon and content
42
- s && gt(s, l),
42
+ s && pt(s, r),
43
43
  n({ class: "flex flex-col" }, [
44
- pt(t),
44
+ gt(t),
45
45
  bt(e)
46
46
  ])
47
47
  ]);
@@ -67,7 +67,7 @@ class Oe extends w {
67
67
  A.removeElement(e);
68
68
  return;
69
69
  }
70
- rt.addClass(e, s), lt.on("animationend", e, (o) => A.removeElement(e));
70
+ lt.addClass(e, s), rt.on("animationend", e, (o) => A.removeElement(e));
71
71
  }
72
72
  }
73
73
  const xt = (t) => a({ class: "ml-auto text-xs tracking-widest opacity-60" }, t), yt = (t) => a({ class: "flex w-4 h-4", html: t }), wt = (t) => a({ class: "flex-auto" }, t), Ct = (t, e) => H({
@@ -94,7 +94,7 @@ const xt = (t) => a({ class: "ml-auto text-xs tracking-widest opacity-60" }, t),
94
94
  t && a(t),
95
95
  e && x({ html: e })
96
96
  ]), kt = ({ onSelect: t }) => n([
97
- T(
97
+ I(
98
98
  "open",
99
99
  (e, s, o) => e ? new D({
100
100
  cache: "dropdown",
@@ -167,8 +167,16 @@ class Ae extends w {
167
167
  kt({ onSelect: this.handleSelect.bind(this) })
168
168
  ]);
169
169
  }
170
+ /**
171
+ * Cleanup before destroying the component.
172
+ *
173
+ * @returns {void}
174
+ */
175
+ beforeDestroy() {
176
+ this.button = null, this.dropdown = null;
177
+ }
170
178
  }
171
- const Tt = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e)), It = c((t, e) => P({ ...t, class: "flex auto text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" }, e)), Bt = c((t, e) => b({ ...t, class: "text-sm text-muted-foreground italic" }, e)), Ft = c((t, e) => b({ ...t, class: "text-sm text-destructive" }, e)), Ye = c((t, e = []) => dt({ class: "flex flex-auto flex-col gap-y-0", margin: "m-0", padding: "p-0" }, [
179
+ const It = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e)), Tt = c((t, e) => P({ ...t, class: "flex auto text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70" }, e)), Bt = c((t, e) => b({ ...t, class: "text-sm text-muted-foreground italic" }, e)), Ft = c((t, e) => b({ ...t, class: "text-sm text-destructive" }, e)), Ye = c((t, e = []) => dt({ class: "flex flex-auto flex-col gap-y-0", margin: "m-0", padding: "p-0" }, [
172
180
  t.title && S({ class: "text-lg font-semibold py-4 px-6" }, t.title),
173
181
  t.description && b({ class: "text-sm text-muted-foreground pb-4 px-6 max-w-[700px]" }, t.description),
174
182
  ...e
@@ -185,10 +193,10 @@ const Tt = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e))
185
193
  invalid: s,
186
194
  input: e
187
195
  } : o), Mt = c((t, e) => {
188
- const i = J(e, (r) => {
189
- r.target.checkValidity() && t.setError(null);
190
- }, (r) => {
191
- t.setError(r.target.validationMessage);
196
+ const i = J(e, (l) => {
197
+ l.target.checkValidity() && t.setError(null);
198
+ }, (l) => {
199
+ t.setError(l.target.validationMessage);
192
200
  });
193
201
  return n({
194
202
  ...t,
@@ -215,12 +223,12 @@ const Tt = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e))
215
223
  * @returns {object}
216
224
  */
217
225
  render() {
218
- const t = this.name, e = this.getId(`${t}`), { label: s, description: o } = this, i = (r) => {
219
- this.state.error = r, this.state.hasError = !!r;
226
+ const t = this.name, e = this.getId(`${t}`), { label: s, description: o } = this, i = (l) => {
227
+ this.state.error = l, this.state.hasError = !!l;
220
228
  };
221
229
  return n({ class: "flex flex-auto gap-y-4" }, [
222
- Tt([
223
- It({ htmlFor: e }, s),
230
+ It([
231
+ Tt({ htmlFor: e }, s),
224
232
  Mt({
225
233
  id: e,
226
234
  name: t,
@@ -228,7 +236,7 @@ const Tt = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e))
228
236
  setError: i
229
237
  }, this.children),
230
238
  o && Bt({ id: this.getId("description") }, o),
231
- n({ onState: ["error", (r) => r && Ft(r)] })
239
+ n({ onState: ["error", (l) => l && Ft(l)] })
232
240
  ])
233
241
  ]);
234
242
  }
@@ -246,7 +254,7 @@ const Tt = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e))
246
254
  ]), He = (t, e) => n({ class: "flex" }, [
247
255
  a({ class: "text-muted-foreground mr-8 w-24 truncate text-nowrap" }, t),
248
256
  a(e)
249
- ]), Lt = c(({ title: t, description: e, back: s, icon: o, options: i = [] }) => I({ class: "modal-header bg-background/80 backdrop-blur-md sticky flex flex-none items-center py-4 px-6 z-10 min-w-0" }, [
257
+ ]), Lt = c(({ title: t, description: e, back: s, icon: o, options: i = [] }) => T({ class: "modal-header bg-background/80 backdrop-blur-md sticky flex flex-none items-center py-4 px-6 z-10 min-w-0" }, [
250
258
  /**
251
259
  * Back Button (Mobile Only)
252
260
  */
@@ -254,13 +262,13 @@ const Tt = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e))
254
262
  variant: "icon",
255
263
  icon: u.arrows.left,
256
264
  class: "mr-2 p-0 flex sm:hidden",
257
- click: (r, l) => l.close()
265
+ click: (l, r) => r.close()
258
266
  }),
259
267
  /**
260
268
  * Icon Container
261
269
  */
262
270
  o && n({ class: "mr-2 w-12 h-12 rounded-full bg-muted flex flex-none items-center justify-center" }, [
263
- g({ size: "md" }, o)
271
+ p({ size: "md" }, o)
264
272
  ]),
265
273
  /**
266
274
  * Title and Description Container
@@ -277,13 +285,13 @@ const Tt = c((t, e) => n({ ...t, class: "flex flex-auto flex-col gap-y-2" }, e))
277
285
  return n({
278
286
  popover: "manual",
279
287
  class: `modal ${s ? "" : "m-auto top-0 right-0 bottom-0 left-0"} ${s ? "" : "h-full max-h-screen"} fixed z-20 grid w-full gap-2 lg:border bg-background text-foreground shadow-xl break-words p-0 overflow-y-auto ${t.class}`,
280
- click: (r, l) => {
281
- r.target === l.panel && (r.preventDefault(), r.stopPropagation(), l.state.open = !1);
288
+ click: (l, r) => {
289
+ l.target === r.panel && (l.preventDefault(), l.stopPropagation(), r.state.open = !1);
282
290
  }
283
291
  }, [
284
292
  K({
285
293
  class: "modal-content relative bg-background z-[1] flex flex-auto flex-col gap-y-4 min-w-0",
286
- submit: (r, l) => t.onSubmit && t.onSubmit(l),
294
+ submit: (l, r) => t.onSubmit && t.onSubmit(r),
287
295
  cache: "modalContent",
288
296
  ...t.gestureHandlers
289
297
  }, [
@@ -318,8 +326,8 @@ class At extends w {
318
326
  buttons: this.getButtons(),
319
327
  hideFooter: this.hideFooter,
320
328
  onSubmit: (i) => {
321
- let r = !0;
322
- this.onSubmit && (r = this.onSubmit(i)), r !== !1 && this.destroy();
329
+ let l = !0;
330
+ this.onSubmit && (l = this.onSubmit(i)), l !== !1 && this.destroy();
323
331
  },
324
332
  icon: this.icon,
325
333
  back: this.back ?? !1,
@@ -473,11 +481,11 @@ class Yt {
473
481
  modal: s = null,
474
482
  modalContent: o = null,
475
483
  modalBody: i = null,
476
- closeThreshold: r = 150,
477
- snapThreshold: l = 50,
484
+ closeThreshold: l = 150,
485
+ snapThreshold: r = 50,
478
486
  onClose: d = null
479
487
  } = e;
480
- this.modal = s, this.modalContent = o, this.modalBody = i, this.closeThreshold = r, this.snapThreshold = l, this.onClose = d, this.reset();
488
+ this.modal = s, this.modalContent = o, this.modalBody = i, this.closeThreshold = l, this.snapThreshold = r, this.onClose = d, this.reset();
481
489
  }
482
490
  /**
483
491
  * Resets the drag state to initial values
@@ -529,8 +537,8 @@ class Yt {
529
537
  e.preventDefault();
530
538
  const i = this.calculateTranslateY(o);
531
539
  this.modalContent.style.transform = `translateY(${i}px)`, this.modalContent.style.transition = "none";
532
- const r = this.calculateBackdropOpacity(o);
533
- this.updateBackdropOpacity(r);
540
+ const l = this.calculateBackdropOpacity(o);
541
+ this.updateBackdropOpacity(l);
534
542
  } else this.modalBody.scrollTop > 0 && (this.state.canDrag = !1);
535
543
  }
536
544
  /**
@@ -651,9 +659,9 @@ class qe extends At {
651
659
  options: this.headerOptions(),
652
660
  buttons: this.getButtons(),
653
661
  hideFooter: this.hideFooter,
654
- onSubmit: (r) => {
655
- let l = !0;
656
- this.onSubmit && (l = this.onSubmit(r)), l !== !1 && this.destroy();
662
+ onSubmit: (l) => {
663
+ let r = !0;
664
+ this.onSubmit && (r = this.onSubmit(l)), r !== !1 && this.destroy();
657
665
  },
658
666
  icon: this.icon,
659
667
  back: this.back ?? !1,
@@ -729,7 +737,7 @@ const j = {
729
737
  borderColor: "border",
730
738
  iconColor: "text-muted-foreground"
731
739
  }
732
- }, zt = (t) => I({ class: "flex justify-center" }, [
740
+ }, zt = (t) => T({ class: "flex justify-center" }, [
733
741
  et({ class: "text-lg font-bold mb-0" }, t)
734
742
  ]), jt = c(({ href: t, class: e }, s) => V({
735
743
  class: `bg-popover text-popover-foreground relative flex flex-auto flex-col justify-start shadow-lg pointer-events-auto p-4 border rounded-md min-w-[340px] max-w-[450px] mt-4 ${e}`,
@@ -767,14 +775,14 @@ class Nt extends w {
767
775
  * @returns {object}
768
776
  */
769
777
  render() {
770
- const { bgColor: e, borderColor: s, iconColor: o } = this.getTypeStyles(), i = this.href || null, r = this.getChildren(o);
778
+ const { bgColor: e, borderColor: s, iconColor: o } = this.getTypeStyles(), i = this.href || null, l = this.getChildren(o);
771
779
  return i ? jt({
772
780
  href: i,
773
781
  class: `${e} ${s}`
774
- }, r) : Et({
782
+ }, l) : Et({
775
783
  close: this.close.bind(this),
776
784
  class: `${e} ${s}`
777
- }, r);
785
+ }, l);
778
786
  }
779
787
  /**
780
788
  * This will be called after the component is set up.
@@ -878,6 +886,14 @@ class Ve extends w {
878
886
  removeNotice(e) {
879
887
  this.list.delete(e.id), this.list.isEmpty() && this.panel.hidePopover();
880
888
  }
889
+ /**
890
+ * Cleanup before destroying the component.
891
+ *
892
+ * @returns {void}
893
+ */
894
+ beforeDestroy() {
895
+ this.list = null;
896
+ }
881
897
  }
882
898
  const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
883
899
  class: 'text-sm gap-1 font-medium leading-none disabled:cursor-not-allowed disabled:opacity-70 flex flex-col items-center justify-between rounded-md border-2 bg-popover p-4 hover:bg-accent hover:text-accent-foreground data-[state="active"]:border-primary [&:has([data-state="active"])]:border-primary',
@@ -887,7 +903,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
887
903
  i.method = t, localStorage.setItem("theme", t), t === "system" && localStorage.removeItem("theme"), Rt(t);
888
904
  }
889
905
  }, [
890
- g(s),
906
+ p(s),
891
907
  a(e)
892
908
  ])), Rt = (t) => {
893
909
  const e = document.documentElement;
@@ -974,6 +990,14 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
974
990
  onState: ["active", { "translate-x-[22px]": !0, "translate-x-[2px]": !1 }]
975
991
  })
976
992
  ]);
993
+ },
994
+ /**
995
+ * Cleanup before destroying the component.
996
+ *
997
+ * @returns {void}
998
+ */
999
+ destroy() {
1000
+ this.checkbox = null;
977
1001
  }
978
1002
  }
979
1003
  ), k = {
@@ -1016,7 +1040,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1016
1040
  */
1017
1041
  openFileBrowse() {
1018
1042
  const t = this.input;
1019
- t && (t.value = "", p.trigger("click", t));
1043
+ t && (t.value = "", g.trigger("click", t));
1020
1044
  },
1021
1045
  /**
1022
1046
  * Get the URL for the uploaded file.
@@ -1052,11 +1076,11 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1052
1076
  s.preventDefault(), s.stopPropagation(), this.openFileBrowse();
1053
1077
  }
1054
1078
  }, [
1055
- T("loaded", (s) => s === !1 || qt(this.src) ? P({
1079
+ I("loaded", (s) => s === !1 || qt(this.src) ? P({
1056
1080
  htmlFor: t,
1057
1081
  class: "z-10 flex flex-col items-center justify-center text-sm text-muted-foreground group-hover:text-primary"
1058
1082
  }, [
1059
- g(u.upload),
1083
+ p(u.upload),
1060
1084
  n("Upload Image")
1061
1085
  ]) : G({
1062
1086
  // @ts-ignore
@@ -1065,6 +1089,14 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1065
1089
  }))
1066
1090
  ])
1067
1091
  ]);
1092
+ },
1093
+ /**
1094
+ * Cleanup before destroying the component.
1095
+ *
1096
+ * @returns {void}
1097
+ */
1098
+ destroy() {
1099
+ this.input = null;
1068
1100
  }
1069
1101
  }
1070
1102
  ), Qe = C(
@@ -1087,7 +1119,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1087
1119
  */
1088
1120
  openFileBrowse() {
1089
1121
  const t = this.input;
1090
- t && (t.value = "", p.trigger("click", t));
1122
+ t && (t.value = "", g.trigger("click", t));
1091
1123
  },
1092
1124
  /**
1093
1125
  * Get the URL for the uploaded file.
@@ -1123,7 +1155,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1123
1155
  s.preventDefault(), s.stopPropagation(), this.openFileBrowse();
1124
1156
  }
1125
1157
  }, [
1126
- T(
1158
+ I(
1127
1159
  "loaded",
1128
1160
  (s) => s ? G({
1129
1161
  // @ts-ignore
@@ -1133,12 +1165,20 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1133
1165
  htmlFor: t,
1134
1166
  class: "z-10 flex flex-col items-center justify-center text-sm text-muted-foreground group-hover:text-primary"
1135
1167
  }, [
1136
- g(u.upload),
1168
+ p(u.upload),
1137
1169
  n("Upload logo")
1138
1170
  ])
1139
1171
  )
1140
1172
  ])
1141
1173
  ]);
1174
+ },
1175
+ /**
1176
+ * Cleanup before destroying the component.
1177
+ *
1178
+ * @returns {void}
1179
+ */
1180
+ destroy() {
1181
+ this.input = null;
1142
1182
  }
1143
1183
  }
1144
1184
  ), Vt = (t, e) => V(
@@ -1149,7 +1189,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1149
1189
  class: "text-muted-foreground font-medium hover:text-foreground"
1150
1190
  },
1151
1191
  [a(e)]
1152
- ), Gt = () => g({
1192
+ ), Gt = () => p({
1153
1193
  class: "mx-3 text-muted-foreground",
1154
1194
  "aria-hidden": !0,
1155
1195
  size: "xs"
@@ -1264,12 +1304,12 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1264
1304
  click: () => e(t),
1265
1305
  onState: [s, "selectedValue", { "bg-secondary": t.value }]
1266
1306
  }, [
1267
- t.icon && a({ class: "mr-2 flex items-baseline" }, [g({ size: "xs" }, t.icon)]),
1307
+ t.icon && a({ class: "mr-2 flex items-baseline" }, [p({ size: "xs" }, t.icon)]),
1268
1308
  a({ class: "text-base font-normal" }, t.label)
1269
1309
  ]), Zt = (t, e) => n({ class: "w-full border rounded-md" }, [
1270
1310
  q({ class: "max-h-60 overflow-y-auto p-2 grid gap-1", for: ["items", (s) => Xt(s, t, e)] })
1271
1311
  ]), te = ({ onSelect: t, state: e }) => n({ class: "flex flex-auto flex-col" }, [
1272
- T(
1312
+ I(
1273
1313
  "open",
1274
1314
  (s, o, i) => s ? new D({
1275
1315
  cache: "dropdown",
@@ -1379,6 +1419,14 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1379
1419
  value: ["[[selectedValue]]", this.state]
1380
1420
  })
1381
1421
  ]);
1422
+ },
1423
+ /**
1424
+ * This will run before the component is destroyed.
1425
+ *
1426
+ * @returns {void}
1427
+ */
1428
+ destroy() {
1429
+ this.dropdown = null, this.button = null;
1382
1430
  }
1383
1431
  }
1384
1432
  ), X = ({ icon: t, click: e, ariaLabel: s }) => h({
@@ -1398,9 +1446,9 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1398
1446
  }), oe = ({ bind: t, min: e, max: s, readonly: o = !1 }) => W(({ state: i }) => m({
1399
1447
  value: ["[[count]]", i],
1400
1448
  bind: t,
1401
- blur: (r, { state: l }) => {
1402
- let d = parseInt(r.target.value, 10);
1403
- isNaN(d) && (d = e ?? 0), e !== void 0 && (d = Math.max(d, e)), s !== void 0 && (d = Math.min(d, s)), l.count = d;
1449
+ blur: (l, { state: r }) => {
1450
+ let d = parseInt(l.target.value, 10);
1451
+ isNaN(d) && (d = e ?? 0), e !== void 0 && (d = Math.max(d, e)), s !== void 0 && (d = Math.min(d, s)), r.count = d;
1404
1452
  },
1405
1453
  class: "flex flex-auto text-lg font-medium bg-input text-center border min-w-0",
1406
1454
  readonly: o,
@@ -1450,25 +1498,25 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1450
1498
  return null;
1451
1499
  const e = parseInt(t.substring(0, 2), 10), s = parseInt(t.substring(2, 4), 10), o = parseInt(t.substring(4, 8), 10);
1452
1500
  return e >= 1 && e <= 12 && s >= 1 && s <= 31 && o >= 1900 ? `${o}-${e.toString().padStart(2, "0")}-${s.toString().padStart(2, "0")}` : null;
1453
- }, re = ({ bind: t, required: e }) => m({
1501
+ }, le = ({ bind: t, required: e }) => m({
1454
1502
  cache: "input",
1455
1503
  class: "opacity-0 absolute top-0 left-0 w-full h-full pointer-events-none",
1456
1504
  bind: t,
1457
1505
  required: e
1458
- }), le = ({ placeholder: t, handleInputChange: e, handleInputFocus: s }) => m({
1506
+ }), re = ({ placeholder: t, handleInputChange: e, handleInputFocus: s }) => m({
1459
1507
  cache: "dateInput",
1460
1508
  class: "flex-1 bg-transparent outline-none placeholder:text-muted-foreground border-0",
1461
1509
  placeholder: t || "mm/dd/yyyy",
1462
1510
  input: e,
1463
1511
  focus: s,
1464
1512
  onState: ["selectedDate", (o) => o ? M.format("standard", o) : ""]
1465
- }), ae = ({ bind: t, required: e, toggleOpen: s, handleInputChange: o, handleInputFocus: i, placeholder: r }) => n(
1513
+ }), ae = ({ bind: t, required: e, toggleOpen: s, handleInputChange: o, handleInputFocus: i, placeholder: l }) => n(
1466
1514
  {
1467
1515
  class: "relative flex items-center gap-2 w-full justify-between border bg-input hover:bg-muted rounded-md h-10 pr-4 py-2"
1468
1516
  },
1469
1517
  [
1470
- re({ bind: t, required: e }),
1471
- le({ placeholder: r, handleInputChange: o, handleInputFocus: i }),
1518
+ le({ bind: t, required: e }),
1519
+ re({ placeholder: l, handleInputChange: o, handleInputFocus: i }),
1472
1520
  f(
1473
1521
  {
1474
1522
  class: "flex-shrink-0 hover:bg-muted/50 rounded p-1 cursor-pointer",
@@ -1523,7 +1571,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1523
1571
  const s = t.target.value.replace(/\D/g, "");
1524
1572
  t.target.value = ne(s);
1525
1573
  const o = ie(s);
1526
- o && (this.state.selectedDate = o, this.input.value = o, p.trigger("change", this.input), typeof this.onChange == "function" && this.onChange(o));
1574
+ o && (this.state.selectedDate = o, this.input.value = o, g.trigger("change", this.input), typeof this.onChange == "function" && this.onChange(o));
1527
1575
  },
1528
1576
  /**
1529
1577
  * Handles input focus - select all text for easy editing.
@@ -1539,7 +1587,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1539
1587
  * @param {string} date
1540
1588
  */
1541
1589
  handleDateSelect(t) {
1542
- this.state.selectedDate = t, this.state.open = !1, this.input.value = t, p.trigger("change", this.input), typeof this.onChange == "function" && this.onChange(t);
1590
+ this.state.selectedDate = t, this.state.open = !1, this.input.value = t, g.trigger("change", this.input), typeof this.onChange == "function" && this.onChange(t);
1543
1591
  },
1544
1592
  /**
1545
1593
  * Toggles the calendar popover.
@@ -1573,6 +1621,14 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1573
1621
  })
1574
1622
  ]
1575
1623
  );
1624
+ },
1625
+ /**
1626
+ * This will run before the component is destroyed.
1627
+ *
1628
+ * @returns {void}
1629
+ */
1630
+ destroy() {
1631
+ this.dropdown = null, this.dateInput = null, this.input = null;
1576
1632
  }
1577
1633
  }
1578
1634
  ), de = ({ bind: t, required: e }) => m({
@@ -1636,7 +1692,7 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1636
1692
  */
1637
1693
  render() {
1638
1694
  const t = (s, { state: o }) => o.toggle("open"), e = (s, o) => {
1639
- this.state.start = s, this.state.end = o, this.state.open = !1, this.input.value = `${s}-${o}`, p.trigger("change", this.input), typeof this.onChange == "function" && this.onChange({ start: s, end: o }, this.parent);
1695
+ this.state.start = s, this.state.end = o, this.state.open = !1, this.input.value = `${s}-${o}`, g.trigger("change", this.input), typeof this.onChange == "function" && this.onChange({ start: s, end: o }, this.parent);
1640
1696
  };
1641
1697
  return n({ class: "relative w-full max-w-[320px]" }, [
1642
1698
  ue({
@@ -1649,6 +1705,14 @@ const E = globalThis.matchMedia, F = c(({ value: t, label: e, icon: s }) => f({
1649
1705
  blockPriorDates: this.blockPriorDates || !1
1650
1706
  })
1651
1707
  ]);
1708
+ },
1709
+ /**
1710
+ * This will run before the component is destroyed.
1711
+ *
1712
+ * @returns {void}
1713
+ */
1714
+ destroy() {
1715
+ this.dropdown = null, this.input = null;
1652
1716
  }
1653
1717
  }
1654
1718
  ), ns = ({ dateTime: t = "", remoteTimeZone: e = "America/Denver", filter: s = null }) => nt([
@@ -1678,7 +1742,7 @@ function fe(t) {
1678
1742
  meridian: i
1679
1743
  };
1680
1744
  }
1681
- function ge({ bind: t, required: e }) {
1745
+ function pe({ bind: t, required: e }) {
1682
1746
  return m({
1683
1747
  cache: "input",
1684
1748
  class: "opacity-0 absolute top-0 left-0 w-full h-full pointer-events-none",
@@ -1686,7 +1750,7 @@ function ge({ bind: t, required: e }) {
1686
1750
  required: e
1687
1751
  });
1688
1752
  }
1689
- function pe({ placeholder: t, handleInputChange: e, handleInputFocus: s }) {
1753
+ function ge({ placeholder: t, handleInputChange: e, handleInputFocus: s }) {
1690
1754
  return m({
1691
1755
  cache: "timeInput",
1692
1756
  class: "flex-1 bg-transparent outline-none placeholder:text-muted-foreground border-0",
@@ -1696,14 +1760,14 @@ function pe({ placeholder: t, handleInputChange: e, handleInputFocus: s }) {
1696
1760
  onState: ["selectedTime", (o) => o || ""]
1697
1761
  });
1698
1762
  }
1699
- function be({ bind: t, required: e, toggleOpen: s, handleInputChange: o, handleInputFocus: i, placeholder: r }) {
1763
+ function be({ bind: t, required: e, toggleOpen: s, handleInputChange: o, handleInputFocus: i, placeholder: l }) {
1700
1764
  return n(
1701
1765
  {
1702
1766
  class: "relative flex items-center gap-2 w-full justify-between border bg-input hover:bg-muted rounded-md h-10 pr-4 py-2"
1703
1767
  },
1704
1768
  [
1705
- ge({ bind: t, required: e }),
1706
- pe({ placeholder: r, handleInputChange: o, handleInputFocus: i }),
1769
+ pe({ bind: t, required: e }),
1770
+ ge({ placeholder: l, handleInputChange: o, handleInputFocus: i }),
1707
1771
  f(
1708
1772
  {
1709
1773
  class: "flex-shrink-0 hover:bg-muted/50 rounded p-1 cursor-pointer",
@@ -1719,13 +1783,13 @@ function be({ bind: t, required: e, toggleOpen: s, handleInputChange: o, handleI
1719
1783
  function $({ items: t, handleTimeSelect: e, state: s, stateValue: o, pad: i = !1 }) {
1720
1784
  return n(
1721
1785
  { class: "flex flex-col max-h-[200px] overflow-y-auto" },
1722
- t.map((r) => {
1723
- let l = i ? r.toString().padStart(2, "0") : r.toString();
1786
+ t.map((l) => {
1787
+ let r = i ? l.toString().padStart(2, "0") : l.toString();
1724
1788
  return f({
1725
- text: l,
1789
+ text: r,
1726
1790
  class: "hover:bg-muted/50 rounded-md pr-2 py-1",
1727
- click: () => e({ [o]: l }),
1728
- onState: [s, o, { "bg-muted": l }]
1791
+ click: () => e({ [o]: r }),
1792
+ onState: [s, o, { "bg-muted": r }]
1729
1793
  });
1730
1794
  })
1731
1795
  );
@@ -1748,7 +1812,7 @@ function xe({ handleTimeSelect: t }) {
1748
1812
  [
1749
1813
  // Hours column
1750
1814
  $({
1751
- items: Array.from({ length: 12 }, (i, r) => r + 1),
1815
+ items: Array.from({ length: 12 }, (i, l) => l + 1),
1752
1816
  handleTimeSelect: t,
1753
1817
  state: o.state,
1754
1818
  stateValue: "hour",
@@ -1756,7 +1820,7 @@ function xe({ handleTimeSelect: t }) {
1756
1820
  }),
1757
1821
  // Minutes column
1758
1822
  $({
1759
- items: Array.from({ length: 60 }, (i, r) => r),
1823
+ items: Array.from({ length: 60 }, (i, l) => l),
1760
1824
  handleTimeSelect: t,
1761
1825
  state: o.state,
1762
1826
  stateValue: "minute",
@@ -1783,11 +1847,11 @@ function U(t) {
1783
1847
  const e = /^(\d{1,2}):(\d{2})(?::(\d{2}))?\s?(AM|PM)?$/i, s = t.match(e);
1784
1848
  if (!s)
1785
1849
  return { hour: null, minute: null, meridian: null };
1786
- let [, o, i, , r] = s, l = parseInt(o, 10), d = parseInt(i, 10);
1787
- return l < 0 || l > 23 || d < 0 || d > 59 ? { hour: null, minute: null, meridian: null } : (r ? (r = r.toUpperCase(), r === "PM" && l < 12 ? l += 12 : r === "AM" && l === 12 && (l = 12)) : l === 0 ? (r = "AM", l = 12) : l < 12 ? r = "AM" : l === 12 ? r = "PM" : (r = "PM", l -= 12), {
1788
- hour: l.toString().padStart(2, "0"),
1850
+ let [, o, i, , l] = s, r = parseInt(o, 10), d = parseInt(i, 10);
1851
+ return r < 0 || r > 23 || d < 0 || d > 59 ? { hour: null, minute: null, meridian: null } : (l ? (l = l.toUpperCase(), l === "PM" && r < 12 ? r += 12 : l === "AM" && r === 12 && (r = 12)) : r === 0 ? (l = "AM", r = 12) : r < 12 ? l = "AM" : r === 12 ? l = "PM" : (l = "PM", r -= 12), {
1852
+ hour: r.toString().padStart(2, "0"),
1789
1853
  minute: d.toString().padStart(2, "0"),
1790
- meridian: r
1854
+ meridian: l
1791
1855
  });
1792
1856
  }
1793
1857
  const is = v(
@@ -1845,7 +1909,7 @@ const is = v(
1845
1909
  minute: o.minute,
1846
1910
  meridian: o.meridian,
1847
1911
  selectedTime: o.formattedTime
1848
- }), this.input.value = o.formattedTime, p.trigger("change", this.input), typeof this.change == "function" && this.change(o.formattedTime)), t.target.value = s;
1912
+ }), this.input.value = o.formattedTime, g.trigger("change", this.input), typeof this.change == "function" && this.change(o.formattedTime)), t.target.value = s;
1849
1913
  },
1850
1914
  /**
1851
1915
  * Handles input focus - select all text for easy editing.
@@ -1863,7 +1927,7 @@ const is = v(
1863
1927
  handleTimeSelect({ hour: t, minute: e, meridian: s }) {
1864
1928
  if (t && (this.state.hour = t), e && (this.state.minute = e), s && (this.state.meridian = s), this.state.hour && this.state.minute && this.state.meridian) {
1865
1929
  const o = `${this.state.hour}:${this.state.minute} ${this.state.meridian}`;
1866
- this.state.selectedTime = o, this.state.open = !1, this.input.value = o, p.trigger("change", this.input), typeof this.change == "function" && this.change(o);
1930
+ this.state.selectedTime = o, this.state.open = !1, this.input.value = o, g.trigger("change", this.input), typeof this.change == "function" && this.change(o);
1867
1931
  }
1868
1932
  },
1869
1933
  /**
@@ -1888,11 +1952,19 @@ const is = v(
1888
1952
  })
1889
1953
  ]
1890
1954
  );
1955
+ },
1956
+ /**
1957
+ * Cleanup before destroying the component.
1958
+ *
1959
+ * @returns {void}
1960
+ */
1961
+ destroy() {
1962
+ this.input = null, this.timeInput = null, this.dropdown = null;
1891
1963
  }
1892
1964
  }
1893
1965
  ), ye = (t, e) => n({ class: `hidden md:flex items-start justify-center w-6 h-6 mr-3 ${e}` }, [
1894
- g({ size: "lg" }, t)
1895
- ]), we = ({ title: t }) => I({ class: "flex flex-auto items-center" }, [
1966
+ p({ size: "lg" }, t)
1967
+ ]), we = ({ title: t }) => T({ class: "flex flex-auto items-center" }, [
1896
1968
  S({ class: "text-lg font-semibold" }, t)
1897
1969
  ]), Ce = c((t, e) => it(
1898
1970
  {
@@ -1960,10 +2032,10 @@ class Se extends w {
1960
2032
  render() {
1961
2033
  const e = (d) => {
1962
2034
  d.target === this.panel && this.close();
1963
- }, { borderColor: s, bgColor: o, iconColor: i } = R[this.type] || R.default, r = `${this.getMainClass()} ${o} ${s}`, l = this.title || "Dialog Title";
2035
+ }, { borderColor: s, bgColor: o, iconColor: i } = R[this.type] || R.default, l = `${this.getMainClass()} ${o} ${s}`, r = this.title || "Dialog Title";
1964
2036
  return Ce({
1965
- class: r,
1966
- title: l,
2037
+ class: l,
2038
+ title: r,
1967
2039
  click: e,
1968
2040
  icon: this.icon,
1969
2041
  iconColor: i,
@@ -2016,7 +2088,7 @@ class Se extends w {
2016
2088
  this.state.open = !1, this.panel.close(), typeof this.onClose == "function" && this.onClose(), this.destroy();
2017
2089
  }
2018
2090
  }
2019
- class rs extends Se {
2091
+ class ls extends Se {
2020
2092
  /**
2021
2093
  * This will declare the props for the compiler.
2022
2094
  *
@@ -2046,15 +2118,15 @@ class rs extends Se {
2046
2118
  this.confirmed && this.confirmed(), this.close();
2047
2119
  }
2048
2120
  }
2049
- const ls = c((t, e = []) => n({ class: "w-full max-w-md p-6 m-auto" }, [
2121
+ const rs = c((t, e = []) => n({ class: "w-full max-w-md p-6 m-auto" }, [
2050
2122
  K({ class: "flex flex-auto flex-col" }, [
2051
2123
  n({ class: "flex flex-auto flex-col gap-y-4" }, [
2052
2124
  n({ class: "flex flex-auto items-center justify-center" }, [
2053
2125
  t.icon && n({ class: "w-16 h-16 mb-2 text-primary" }, [
2054
- g(t.icon)
2126
+ p(t.icon)
2055
2127
  ])
2056
2128
  ]),
2057
- I({ class: "py-4 text-center" }, [
2129
+ T({ class: "py-4 text-center" }, [
2058
2130
  S({ class: "text-xl font-bold" }, t.title),
2059
2131
  b({ class: "pb-8 text-muted-foreground" }, t.description || ""),
2060
2132
  ...e
@@ -2068,7 +2140,7 @@ export {
2068
2140
  He as C,
2069
2141
  Oe as D,
2070
2142
  es as E,
2071
- Tt as F,
2143
+ It as F,
2072
2144
  ss as G,
2073
2145
  os as H,
2074
2146
  Ke as I,
@@ -2077,17 +2149,17 @@ export {
2077
2149
  Qe as L,
2078
2150
  At as M,
2079
2151
  Ve as N,
2080
- rs as O,
2152
+ ls as O,
2081
2153
  se as P,
2082
2154
  Ce as Q,
2083
2155
  Se as R,
2084
2156
  Re as S,
2085
2157
  Ge as T,
2086
- ls as U,
2158
+ rs as U,
2087
2159
  Ct as a,
2088
2160
  Ae as b,
2089
2161
  St as c,
2090
- It as d,
2162
+ Tt as d,
2091
2163
  Bt as e,
2092
2164
  Ft as f,
2093
2165
  Ye as g,
package/dist/index.es.js CHANGED
@@ -1,14 +1,14 @@
1
- import { B as s, C as o, F as t, L as r, P as n, R as l, S as i, a as p, T as m } from "./tooltip-Czvqmxt3.js";
1
+ import { B as s, C as o, F as t, L as r, P as n, R as l, S as i, a as p, T as m } from "./tooltip-BFch3OOj.js";
2
2
  import { B as u, I as g, L as C } from "./buttons-CfwtbIR-.js";
3
3
  import { C as T, F as b } from "./form-group-BB7dLJir.js";
4
- import { C as D, d as S, D as F, c as B, E as P, F as k, H as M, I as x, M as f, N as v, P as N, R as y, T as h, a as U, b as L, U as W, W as w } from "./inputs-9udyzkHR.js";
4
+ import { C as D, d as S, D as F, c as B, E as P, F as k, H as M, I as x, M as f, N as v, P as N, R as y, T as h, a as U, b as L, U as W, W as w } from "./inputs-ByrGuC40.js";
5
5
  import { I as R, V as A, a as G } from "./image-BB__4s0g.js";
6
6
  import { Icons as E } from "./icons.es.js";
7
- import { A as j, B as q, C as J, x as z, O as K, z as Q, E as _, G as X, H as Y, D as Z, m as $, n as aa, R as ea, Q as sa, w as oa, o as ta, c as ra, a as na, b as la, U as ia, l as pa, g as ma, i as da, h as ua, j as ga, e as Ca, k as ca, F as Ta, d as ba, f as Ia, I as Da, L as Sa, y as Fa, M as Ba, p as Pa, N as ka, P as Ma, t as xa, u as fa, S as va, r as Na, s as ya, T as ha, J as Ua, K as La, q as Wa, v as wa } from "./empty-state-CNuWXebM.js";
7
+ import { A as j, B as q, C as J, x as z, O as K, z as Q, E as _, G as X, H as Y, D as Z, m as $, n as aa, R as ea, Q as sa, w as oa, o as ta, c as ra, a as na, b as la, U as ia, l as pa, g as ma, i as da, h as ua, j as ga, e as Ca, k as ca, F as Ta, d as ba, f as Ia, I as Da, L as Sa, y as Fa, M as Ba, p as Pa, N as ka, P as Ma, t as xa, u as fa, S as va, r as Na, s as ya, T as ha, J as Ua, K as La, q as Wa, v as wa } from "./empty-state-03NScfF6.js";
8
8
  import { A as Ra, b as Aa, C as Ga, D as Oa, a as Ea, F as Va, M as ja, P as qa, R as Ja, c as za, g as Ka, p as Qa } from "./range-calendar-CAwPjNM3.js";
9
- import { B as Xa, p as Ya, C as Za, j as $a, D as ae, m as ee, k as se, H as oe, I as te, N as re, O as ne, P as le, S as ie, n as pe, o as me, x as de, s as ue, q as ge, r as Ce, T as ce, t as Te, w as be, u as Ie, v as De, l as Se, U as Fe, W as Be, f as Pe, h as ke, i as Me, c as xe, d as fe, b as ve, e as Ne, a as ye, g as he } from "./signature-panel-C5pdGkvG.js";
10
- import { B as Le, I as We, M as we, d as He, e as Re, g as Ae, N as Ge, b as Oe, a as Ee, f as Ve, P as je, c as qe, S as Je, T as ze } from "./mobile-nav-wrapper-jUpomqyU.js";
11
- import { B as Qe, a as _e, C as Xe, F as Ye, b as Ze, c as $e, M as as, P as es, S as ss } from "./sidebar-menu-page-D6r7Pr21.js";
9
+ import { B as Xa, p as Ya, C as Za, j as $a, D as ae, m as ee, k as se, H as oe, I as te, N as re, O as ne, P as le, S as ie, n as pe, o as me, x as de, s as ue, q as ge, r as Ce, T as ce, t as Te, w as be, u as Ie, v as De, l as Se, U as Fe, W as Be, f as Pe, h as ke, i as Me, c as xe, d as fe, b as ve, e as Ne, a as ye, g as he } from "./signature-panel-MJqtMCfj.js";
10
+ import { B as Le, I as We, M as we, d as He, e as Re, g as Ae, N as Ge, b as Oe, a as Ee, f as Ve, P as je, c as qe, S as Je, T as ze } from "./mobile-nav-wrapper-C4KmFFjr.js";
11
+ import { B as Qe, a as _e, C as Xe, F as Ye, b as Ze, c as $e, M as as, P as es, S as ss } from "./sidebar-menu-page-qV7cJA3f.js";
12
12
  import { A as ts, F as rs, M as ns, a as ls, T as is } from "./aside-template-sUm-F2f0.js";
13
13
  import { B as ms } from "./bside-template-do_hXebn.js";
14
14
  import { F as us, c as gs } from "./format-BmrNQptv.js";
@@ -98,6 +98,14 @@ const I = "flex h-10 w-full px-3 py-2 text-sm", n = "rounded-md border border-bo
98
98
  // @ts-ignore
99
99
  this.label && T({ id: e, label: this.label, clickHandler: c })
100
100
  ]);
101
+ },
102
+ /**
103
+ * This will clear cached references before destroying the component.
104
+ *
105
+ * @returns {void}
106
+ */
107
+ destroy() {
108
+ this.checkbox = null;
101
109
  }
102
110
  }
103
111
  ), H = (e) => {
@@ -154,6 +154,14 @@ class m extends n {
154
154
  update(e) {
155
155
  this.link.update(e);
156
156
  }
157
+ /**
158
+ * This will clear references before destroying the component.
159
+ *
160
+ * @returns {void}
161
+ */
162
+ beforeDestroy() {
163
+ this.link = null;
164
+ }
157
165
  }
158
166
  const E = i(({ map: s }, e) => o({ class: "navigation-group flex flex-col gap-2 list-none m-0 py-2 px-0", map: s }, [
159
167
  C({ class: "text-muted-foreground text-sm py-0 px-4 whitespace-nowrap" }, e)
@@ -363,7 +371,7 @@ const V = ({ title: s, options: e, class: t = "", mobileBorder: a = !1, sticky:
363
371
  ]),
364
372
  new c({ options: e, mobileBorder: a, class: u ? "sticky top-0" : "" }),
365
373
  w
366
- ]), j = (s) => h({ class: "text-lg ml-2" }, s), U = (s) => l({ class: "sticky flex flex-row items-center bg-popover lg:hidden top-0 z-10 border-0 border-b" }, [
374
+ ]), j = (s) => h({ class: "text-lg ml-2" }, s), D = (s) => l({ class: "sticky flex flex-row items-center bg-popover lg:hidden top-0 z-10 border-0 border-b" }, [
367
375
  x({
368
376
  variant: "icon",
369
377
  class: "m-2",
@@ -371,14 +379,14 @@ const V = ({ title: s, options: e, class: t = "", mobileBorder: a = !1, sticky:
371
379
  icon: r.arrows.left
372
380
  }),
373
381
  s.title && j(s.title)
374
- ]), Y = () => l({
382
+ ]), U = () => l({
375
383
  class: `
376
384
  absolute inset-0 bg-black/40 z-[-1] fadeIn
377
385
  transition-opacity duration-200
378
386
  `,
379
387
  click: (s, { state: e }) => e.open = !1
380
388
  });
381
- class D extends n {
389
+ class Y extends n {
382
390
  /**
383
391
  * This will declare the props for the compiler.
384
392
  *
@@ -397,7 +405,7 @@ class D extends n {
397
405
  class: "fixed inset-0 z-50",
398
406
  style: "[[typeClass]]"
399
407
  }, [
400
- Y(),
408
+ U(),
401
409
  // Popover Content
402
410
  l({
403
411
  class: `
@@ -406,7 +414,7 @@ class D extends n {
406
414
  dataSet: ["open", ["expanded", !0, "true"]]
407
415
  }, [
408
416
  l({ class: "flex flex-auto flex-col w-full h-full overflow-y-auto max-h-[85vh] rounded-md bg-popover border" }, [
409
- U({ title: this.title }),
417
+ D({ title: this.title }),
410
418
  l({ class: "flex flex-auto flex-col" }, this.children)
411
419
  ])
412
420
  ])
@@ -444,31 +452,31 @@ class D extends n {
444
452
  this.container = app.root;
445
453
  }
446
454
  }
447
- const v = (s) => x({ class: "m-2", variant: "ghost", addState() {
455
+ const k = (s) => x({ class: "m-2", variant: "ghost", addState() {
448
456
  return {
449
457
  open: !1
450
458
  };
451
459
  }, click: (e, { state: t }) => t.toggle("open") }, [
452
460
  f(r.bar.three)
453
461
  ]), R = (s) => h({ class: "text-lg ml-2" }, s), q = (s) => l({ class: "flex flex-auto flex-row items-center lg:hidden" }, [
454
- v(),
462
+ k(),
455
463
  s.title && R(s.title)
456
- ]), g = (s, e) => {
464
+ ]), v = (s, e) => {
457
465
  s.forEach((t) => {
458
466
  if (t.options) {
459
- g(t.options, e);
467
+ v(t.options, e);
460
468
  return;
461
469
  }
462
470
  t.callBack = e;
463
471
  });
464
- }, k = (s) => l({ class: "bg-background flex flex-auto flex-col w-full relative" }, [
472
+ }, g = (s) => l({ class: "bg-background flex flex-auto flex-col w-full relative" }, [
465
473
  I(
466
474
  "open",
467
475
  (e) => e ? [
468
- new D({ title: s.title }, [
476
+ new Y({ title: s.title }, [
469
477
  $(({ state: t }) => {
470
478
  const a = (u) => t.open = !1;
471
- return g(s.options, a), new c(
479
+ return v(s.options, a), new c(
472
480
  {
473
481
  options: s.options
474
482
  }
@@ -479,21 +487,21 @@ const v = (s) => x({ class: "m-2", variant: "ghost", addState() {
479
487
  )
480
488
  ]), X = i((s) => l({ cache: "mobileNav", class: "inline-flex relative lg:hidden" }, [
481
489
  l([
482
- v(),
483
- k(s)
490
+ k(),
491
+ g(s)
484
492
  ])
485
493
  ])), Z = i((s) => l({ cache: "mobileNav", class: "flex flex-auto flex-col w-full relative lg:hidden" }, [
486
494
  l({ class: "flex flex-auto flex-col w-full" }, [
487
495
  q(s),
488
- k(s)
496
+ g(s)
489
497
  ])
490
498
  ]));
491
499
  export {
492
- Y as B,
500
+ U as B,
493
501
  c as I,
494
502
  m as M,
495
503
  M as N,
496
- U as P,
504
+ D as P,
497
505
  W as S,
498
506
  q as T,
499
507
  E as a,
@@ -501,6 +509,6 @@ export {
501
509
  V as c,
502
510
  X as d,
503
511
  Z as e,
504
- D as f,
505
- v as g
512
+ Y as f,
513
+ k as g
506
514
  };
@@ -1,4 +1,4 @@
1
- import { A as s, B as t, C as r, x as e, O as i, z as n, E as m, G as l, H as d, D as C, m as p, n as D, R as S, Q as g, w as u, o as c, c as F, a as T, b as P, U as w, l as A, g as I, i as f, h as b, j as y, e as B, k as M, F as U, d as k, f as x, I as L, L as R, y as v, M as E, p as N, N as h, P as G, t as O, u as j, S as q, r as z, s as H, T as J, J as K, K as Q, q as _, v as V } from "./empty-state-CNuWXebM.js";
1
+ import { A as s, B as t, C as r, x as e, O as i, z as n, E as m, G as l, H as d, D as C, m as p, n as D, R as S, Q as g, w as u, o as c, c as F, a as T, b as P, U as w, l as A, g as I, i as f, h as b, j as y, e as B, k as M, F as U, d as k, f as x, I as L, L as R, y as v, M as E, p as N, N as h, P as G, t as O, u as j, S as q, r as z, s as H, T as J, J as K, K as Q, q as _, v as V } from "./empty-state-03NScfF6.js";
2
2
  import { A as X, P as Y, g as Z } from "./range-calendar-CAwPjNM3.js";
3
3
  export {
4
4
  s as Alert,
@@ -1,6 +1,6 @@
1
- import { B as s, p as n, C as t, j as o, D as r, m as l, k as i, H as d, I as b, N as u, O as v, P as g, S as p, n as T, o as D, x as N, s as k, q as C, r as c, T as B, t as M, w as m, u as y, v as W, l as h, U as S, W as H, f as P, h as U, i as x, c as I, d as f, b as L, e as O, a as F, g as G } from "./signature-panel-C5pdGkvG.js";
1
+ import { B as s, p as n, C as t, j as o, D as r, m as l, k as i, H as d, I as b, N as u, O as v, P as g, S as p, n as T, o as D, x as N, s as k, q as C, r as c, T as B, t as M, w as m, u as y, v as W, l as h, U as S, W as H, f as P, h as U, i as x, c as I, d as f, b as L, e as O, a as F, g as G } from "./signature-panel-MJqtMCfj.js";
2
2
  import { b as R, C as j, D as q, a as z, F as A, M as E, R as J, c as K, p as Q } from "./range-calendar-CAwPjNM3.js";
3
- import { B as X, I as Y, M as Z, d as _, e as $, g as aa, N as ea, b as sa, a as na, f as ta, P as oa, c as ra, S as la, T as ia } from "./mobile-nav-wrapper-jUpomqyU.js";
3
+ import { B as X, I as Y, M as Z, d as _, e as $, g as aa, N as ea, b as sa, a as na, f as ta, P as oa, c as ra, S as la, T as ia } from "./mobile-nav-wrapper-C4KmFFjr.js";
4
4
  export {
5
5
  s as BackButton,
6
6
  X as Backdrop,
package/dist/pages.es.js CHANGED
@@ -1,4 +1,4 @@
1
- import { B as s, a as P, C as g, F as n, b as l, c as i, M as r, P as c, S as o } from "./sidebar-menu-page-D6r7Pr21.js";
1
+ import { B as s, a as P, C as g, F as n, b as l, c as i, M as r, P as c, S as o } from "./sidebar-menu-page-qV7cJA3f.js";
2
2
  export {
3
3
  s as BasicPage,
4
4
  P as BlankPage,
@@ -1,7 +1,7 @@
1
1
  import { Div as t, Header as n, H1 as d, P as o } from "@base-framework/atoms";
2
2
  import { F as l, A as x } from "./aside-template-sUm-F2f0.js";
3
3
  import { Component as h, Atom as i } from "@base-framework/base";
4
- import { c as u, e as p } from "./mobile-nav-wrapper-jUpomqyU.js";
4
+ import { c as u, e as p } from "./mobile-nav-wrapper-C4KmFFjr.js";
5
5
  class c extends h {
6
6
  /**
7
7
  * This will declare the props for the compiler.
@@ -1,9 +1,9 @@
1
- import { Button as w, Div as o, On as C, Span as L, Th as N, UseParent as E, I as Q, Thead as V, Tr as G, Table as B, P as v, Li as y, Time as X, Nav as m, Ul as f, Section as I, Canvas as q } from "@base-framework/atoms";
1
+ import { Button as y, Div as o, On as C, Span as L, Th as N, UseParent as E, I as Q, Thead as V, Tr as G, Table as B, P as v, Li as w, Time as X, Nav as m, Ul as f, Section as I, Canvas as q } from "@base-framework/atoms";
2
2
  import { Atom as d, Component as p, Data as T, DateTime as K, router as k, NavLink as M, DataTracker as U, Jot as _, base as O, Dom as W } from "@base-framework/base";
3
3
  import { B as P, I as J } from "./buttons-CfwtbIR-.js";
4
4
  import { Icons as S } from "./icons.es.js";
5
5
  import { TableBody as Z, DataTableBody as ee, ScrollableTableBody as te, List as se, IntervalTimer as ae } from "@base-framework/organisms";
6
- import { C as ie, I as ne, H as oe } from "./inputs-9udyzkHR.js";
6
+ import { C as ie, I as ne, H as oe } from "./inputs-ByrGuC40.js";
7
7
  import { A as le, P as re } from "./range-calendar-CAwPjNM3.js";
8
8
  import { V as g } from "./image-BB__4s0g.js";
9
9
  d((t, e) => ({
@@ -11,7 +11,7 @@ d((t, e) => ({
11
11
  ...t,
12
12
  children: e
13
13
  }));
14
- d(({ value: t, label: e }) => w({
14
+ d(({ value: t, label: e }) => y({
15
15
  class: "inline-flex flex-auto items-center justify-center whitespace-nowrap rounded-md px-8 py-1 text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow",
16
16
  onState: ["performance", { active: t }],
17
17
  dataSet: ["performance", ["state", t, "active"]],
@@ -83,7 +83,7 @@ const ce = (t) => {
83
83
  return a.getDate() === t && a.getMonth() === e && a.getFullYear() === s;
84
84
  }, ge = ({ day: t, month: e, year: s, weekNumber: a, selectWeek: i }) => {
85
85
  const n = fe(t, e, s);
86
- return w({
86
+ return y({
87
87
  text: t || "",
88
88
  disabled: !t,
89
89
  class: `
@@ -302,7 +302,7 @@ const xe = (t, e) => {
302
302
  e.state.checked = !s;
303
303
  }, ke = (t) => N({ class: `cursor-pointer py-3 px-4 text-base w-10 ${t.class || ""}` }, [
304
304
  E((e) => new ie({ class: "mr-2", onChange: (s, a) => xe(e, a) }))
305
- ]), we = ({ align: t, sortable: e, key: s, label: a, sort: i, class: n }) => {
305
+ ]), ye = ({ align: t, sortable: e, key: s, label: a, sort: i, class: n }) => {
306
306
  const l = t || "justify-start";
307
307
  return N({
308
308
  class: `cursor-pointer py-3 px-4 text-base ${n || ""}`,
@@ -318,7 +318,7 @@ const xe = (t, e) => {
318
318
  class: "text-muted-foreground border-b",
319
319
  map: [
320
320
  t.headers,
321
- (e) => e.label === "checkbox" ? ke({ toggle: t.toggle }) : we({
321
+ (e) => e.label === "checkbox" ? ke({ toggle: t.toggle }) : ye({
322
322
  align: e.align,
323
323
  sortable: e.sortable,
324
324
  key: e.key,
@@ -327,7 +327,7 @@ const xe = (t, e) => {
327
327
  })
328
328
  ]
329
329
  })
330
- ]), ye = ({ key: t, rows: e, selectRow: s, rowItem: a, emptyState: i, skeleton: n, columnCount: l }) => new Z({
330
+ ]), we = ({ key: t, rows: e, selectRow: s, rowItem: a, emptyState: i, skeleton: n, columnCount: l }) => new Z({
331
331
  cache: "list",
332
332
  key: t,
333
333
  items: e,
@@ -423,7 +423,7 @@ class j extends p {
423
423
  this.headers && R({ headers: this.headers, sort: (a) => this.sortRows(a) }),
424
424
  // @ts-ignore
425
425
  this.customHeader ?? null,
426
- ye({
426
+ we({
427
427
  // @ts-ignore
428
428
  key: this.key,
429
429
  // @ts-ignore
@@ -499,7 +499,7 @@ class j extends p {
499
499
  * @returns {void}
500
500
  */
501
501
  beforeDestroy() {
502
- this.data.selectedRows = [];
502
+ this.data.selectedRows = [], this.list = null;
503
503
  }
504
504
  }
505
505
  const ve = (t) => new ee({
@@ -652,7 +652,7 @@ class Ce extends j {
652
652
  this.list.refresh();
653
653
  }
654
654
  }
655
- const wt = d((t) => new Ce(
655
+ const yt = d((t) => new Ce(
656
656
  {
657
657
  cache: t.cache ?? "list",
658
658
  tableData: t.data,
@@ -684,7 +684,7 @@ const wt = d((t) => new Ce(
684
684
  ]), Te = (t, e) => t === "online" ? Ie() : Be(e), Me = d(({ role: t, lastSeen: e, status: s }) => o({ class: "hidden shrink-0 sm:flex sm:flex-col sm:items-end" }, [
685
685
  v({ class: "text-sm leading-6 m-0" }, t),
686
686
  Te(s, e)
687
- ])), Pe = (t) => t.split(" ").map((s) => s[0]).join(""), Re = d((t) => y({ class: "fadeIn flex justify-between gap-x-6 py-4 px-4 rounded-md hover:bg-muted/50" }, [
687
+ ])), Pe = (t) => t.split(" ").map((s) => s[0]).join(""), Re = d((t) => w({ class: "fadeIn flex justify-between gap-x-6 py-4 px-4 rounded-md hover:bg-muted/50" }, [
688
688
  o({ class: "flex min-w-0 gap-x-4" }, [
689
689
  le({ src: t.image, alt: t.name, fallbackText: Pe(t.name) }),
690
690
  Le({ name: t.name, email: t.email })
@@ -694,7 +694,7 @@ const wt = d((t) => new Ce(
694
694
  lastSeen: t.lastSeen,
695
695
  status: t.status
696
696
  })
697
- ])), yt = d((t) => new se({
697
+ ])), wt = d((t) => new se({
698
698
  cache: "list",
699
699
  key: "name",
700
700
  items: t.users,
@@ -1029,7 +1029,7 @@ class Ct extends A {
1029
1029
  this.container = e, this.initialize();
1030
1030
  }
1031
1031
  }
1032
- const ze = d(({ index: t, click: e, state: s }, a) => y({
1032
+ const ze = d(({ index: t, click: e, state: s }, a) => w({
1033
1033
  class: "p-2 cursor-pointer hover:bg-muted/50",
1034
1034
  onState: [
1035
1035
  [s, "selectedIndex", {
@@ -1191,15 +1191,23 @@ const ze = d(({ index: t, click: e, state: s }, a) => y({
1191
1191
  selectOption: this.selectOption.bind(this)
1192
1192
  })
1193
1193
  ]);
1194
+ },
1195
+ /**
1196
+ * This will destroy the component.
1197
+ *
1198
+ * @returns {void}
1199
+ */
1200
+ destroy() {
1201
+ this.dropdown = null, this.input = null;
1194
1202
  }
1195
1203
  }
1196
- ), Ae = (t) => y(
1204
+ ), Ae = (t) => w(
1197
1205
  {
1198
1206
  class: "inline-flex flex-auto items-center justify-center whitespace-nowrap rounded-sm text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:shadow-sm",
1199
1207
  dataStateSet: ["selected", ["state", t.value, "active"]]
1200
1208
  },
1201
1209
  [
1202
- w({
1210
+ y({
1203
1211
  class: "flex flex-auto justify-center items-center px-3 py-1.5 rounded-md",
1204
1212
  onState: ["selected", { selected: t.value }],
1205
1213
  click: (e) => t.callBack(t.value)
@@ -1295,13 +1303,13 @@ class It extends g {
1295
1303
  };
1296
1304
  }
1297
1305
  }
1298
- const Ye = (t) => y(
1306
+ const Ye = (t) => w(
1299
1307
  {
1300
1308
  class: "inline-flex flex-auto items-center justify-center whitespace-nowrap rounded-sm text-sm font-medium ring-offset-background transition-all focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-primary data-[state=active]:text-primary-foreground data-[state=active]:shadow-sm",
1301
1309
  dataStateSet: ["selected", ["state", t.value, "active"]]
1302
1310
  },
1303
1311
  [
1304
- w({
1312
+ y({
1305
1313
  class: "flex flex-auto justify-center items-center px-3 py-1.5 rounded-md disabled:opacity-50 disabled:cursor-not-allowed",
1306
1314
  onState: ["selected", { selected: t.value }],
1307
1315
  click: (e) => t.callBack(t.value),
@@ -1504,13 +1512,13 @@ class Tt extends g {
1504
1512
  return s;
1505
1513
  }
1506
1514
  }
1507
- const Ke = (t) => y(
1515
+ const Ke = (t) => w(
1508
1516
  {
1509
1517
  class: "relative inline-flex items-center justify-center whitespace-nowrap text-sm font-medium text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:text-foreground after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary after:transition-all after:duration-200 after:scale-x-0 data-[state=active]:after:scale-x-100",
1510
1518
  dataStateSet: ["selected", ["state", t.value, "active"]]
1511
1519
  },
1512
1520
  [
1513
- w({
1521
+ y({
1514
1522
  class: "flex flex-auto justify-center items-center px-4 py-3 cursor-pointer disabled:opacity-50 disabled:cursor-not-allowed",
1515
1523
  onState: ["selected", { selected: t.value }],
1516
1524
  click: (e) => t.callBack(t.value)
@@ -1597,13 +1605,13 @@ class Mt extends g {
1597
1605
  };
1598
1606
  }
1599
1607
  }
1600
- const Ze = (t) => y(
1608
+ const Ze = (t) => w(
1601
1609
  {
1602
1610
  class: "relative inline-flex items-center justify-center whitespace-nowrap text-sm font-medium text-muted-foreground transition-colors hover:text-foreground focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:text-foreground after:absolute after:bottom-0 after:left-0 after:right-0 after:h-0.5 after:bg-primary after:transition-all after:duration-200 after:scale-x-0 data-[state=active]:after:scale-x-100",
1603
1611
  dataStateSet: ["selected", ["state", t.value, "active"]]
1604
1612
  },
1605
1613
  [
1606
- w({
1614
+ y({
1607
1615
  class: "flex flex-auto justify-center items-center px-4 py-3 disabled:opacity-50 disabled:cursor-not-allowed cursor-pointer",
1608
1616
  onState: ["selected", { selected: t.value }],
1609
1617
  click: (e) => t.callBack(t.value),
@@ -2109,17 +2117,25 @@ class Ot extends p {
2109
2117
  if (this.canvasLayer)
2110
2118
  return this.canvasLayer.reset();
2111
2119
  }
2120
+ /**
2121
+ * Cleans up references before destroying the component.
2122
+ *
2123
+ * @returns {void}
2124
+ */
2125
+ beforeDestroy() {
2126
+ this.canvasLayer = null, this.hiddenInput = null;
2127
+ }
2112
2128
  }
2113
2129
  export {
2114
2130
  Dt as B,
2115
2131
  ke as C,
2116
- ye as D,
2117
- we as H,
2132
+ we as D,
2133
+ ye as H,
2118
2134
  Ct as I,
2119
2135
  vt as N,
2120
2136
  A as O,
2121
2137
  mt as P,
2122
- wt as S,
2138
+ yt as S,
2123
2139
  R as T,
2124
2140
  Re as U,
2125
2141
  xt as W,
@@ -2134,7 +2150,7 @@ export {
2134
2150
  be as i,
2135
2151
  j,
2136
2152
  kt as k,
2137
- yt as l,
2153
+ wt as l,
2138
2154
  St as m,
2139
2155
  Lt as n,
2140
2156
  Ue as o,
@@ -1,7 +1,7 @@
1
1
  import { Span as c, Legend as b, Fieldset as p, Div as l, UseParent as u, Input as C } from "@base-framework/atoms";
2
2
  import { Atom as s, Html as x } from "@base-framework/base";
3
3
  import { a as d } from "./image-BB__4s0g.js";
4
- import { f as h, e as y, g as k } from "./inputs-9udyzkHR.js";
4
+ import { f as h, e as y, g as k } from "./inputs-ByrGuC40.js";
5
5
  const a = {
6
6
  gray: {
7
7
  backgroundColor: "bg-gray-50",
@@ -56,6 +56,8 @@ export class DropdownMenu extends Component {
56
56
  * @returns {object}
57
57
  */
58
58
  render(): object;
59
+ button: any;
60
+ dropdown: any;
59
61
  }
60
62
  import { Component } from '@base-framework/base';
61
63
  import { Data } from '@base-framework/base';
@@ -26,6 +26,7 @@ export class NotificationContainer extends Component {
26
26
  * @returns {void}
27
27
  */
28
28
  removeNotice(notice: object): void;
29
+ list: any;
29
30
  }
30
31
  export default NotificationContainer;
31
32
  import { Component } from "@base-framework/base";
@@ -99,6 +99,7 @@ export class DataTable extends Component {
99
99
  * @returns {void}
100
100
  */
101
101
  public prepend(items: any[] | object): void;
102
+ list: any;
102
103
  }
103
104
  import { CheckboxCol } from './table-header.js';
104
105
  import { HeaderCol } from './table-header.js';
@@ -45,6 +45,7 @@ export class SignaturePanel extends Component {
45
45
  * @returns {void}
46
46
  */
47
47
  reset(e?: Event): void;
48
+ hiddenInput: any;
48
49
  }
49
50
  export default SignaturePanel;
50
51
  import { Component } from "@base-framework/base";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@base-framework/ui",
3
- "version": "1.1.2",
3
+ "version": "1.1.3",
4
4
  "description": "This is a UI package that adds components and atoms that use Tailwind CSS and a theme based on Shadcn.",
5
5
  "main": "./dist/index.es.js",
6
6
  "scripts": {