@onereach/ui-components 26.4.1-beta.5876.0 → 26.4.1-beta.5877.0

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,7 +2,7 @@ import { O as ee } from "./OrCheckbox-WPBzlvaV.mjs";
2
2
  import { O as oe } from "./OrPagination-BXzDa-Su.mjs";
3
3
  import { O as re } from "./OrSearch-CRFuNmg2.mjs";
4
4
  import { O as ne } from "./OrSkeletonArea.vue_vue_type_script_lang-jgRhbZ0X.mjs";
5
- import { defineComponent as G, ref as S, computed as l, openBlock as o, createElementBlock as p, normalizeClass as m, renderSlot as i, createCommentVNode as g, resolveComponent as c, normalizeStyle as K, Fragment as q, createBlock as y, watch as te, createElementVNode as le, withModifiers as x, createVNode as H, mergeProps as se, withCtx as b, onMounted as ie, createSlots as Y, normalizeProps as de, guardReactiveProps as ue, renderList as Q, createTextVNode as Z, toDisplayString as _ } from "vue";
5
+ import { defineComponent as G, ref as S, computed as l, openBlock as o, createElementBlock as p, normalizeClass as f, renderSlot as i, createCommentVNode as g, resolveComponent as m, normalizeStyle as K, Fragment as q, createBlock as y, watch as te, createElementVNode as le, withModifiers as x, createVNode as H, mergeProps as se, withCtx as b, onMounted as ie, createSlots as Y, normalizeProps as de, guardReactiveProps as ue, renderList as Q, createTextVNode as Z, toDisplayString as _ } from "vue";
6
6
  import { _ as C } from "./_plugin-vue_export-helper-CHgC5LLL.mjs";
7
7
  import { O as ce } from "./OrDatePicker-D-Do0tSf.mjs";
8
8
  import { O as me } from "./OrDateTimePicker-myqJkQxy.mjs";
@@ -54,16 +54,16 @@ const $e = [
54
54
  }
55
55
  }), Se = {
56
56
  key: 1,
57
- class: /* @__PURE__ */ m(["grow"])
57
+ class: /* @__PURE__ */ f(["grow"])
58
58
  };
59
- function Te(e, t, n, h, v, f) {
59
+ function Te(e, t, n, h, v, u) {
60
60
  return o(), p("div", {
61
61
  ref: "root",
62
- class: m(e.rootStyles)
62
+ class: f(e.rootStyles)
63
63
  }, [
64
64
  e.$slots.status ? (o(), p("div", {
65
65
  key: 0,
66
- class: m(e.statusStyles)
66
+ class: f(e.statusStyles)
67
67
  }, [
68
68
  i(e.$slots, "status")
69
69
  ], 2)) : g("", !0),
@@ -102,16 +102,16 @@ const Ge = /* @__PURE__ */ C(De, [["render", Te]]), Ce = [
102
102
  }
103
103
  }), Re = {
104
104
  key: 1,
105
- class: /* @__PURE__ */ m(["grow"])
105
+ class: /* @__PURE__ */ f(["grow"])
106
106
  };
107
- function Ie(e, t, n, h, v, f) {
107
+ function Ie(e, t, n, h, v, u) {
108
108
  return o(), p("div", {
109
109
  ref: "root",
110
- class: m(e.rootStyles)
110
+ class: f(e.rootStyles)
111
111
  }, [
112
112
  e.$slots.title ? (o(), p("div", {
113
113
  key: 0,
114
- class: m(e.titleStyles)
114
+ class: f(e.titleStyles)
115
115
  }, [
116
116
  i(e.$slots, "title")
117
117
  ], 2)) : g("", !0),
@@ -236,7 +236,7 @@ const B = "52px", Fe = [
236
236
  return {
237
237
  justifyContent: "center"
238
238
  };
239
- }), f = l(() => {
239
+ }), u = l(() => {
240
240
  var V, R;
241
241
  const O = ((V = e.column) == null ? void 0 : V.wrapping) ?? (e.variant === k.Dynamic && !((R = e.column) != null && R.control));
242
242
  return [
@@ -259,7 +259,7 @@ const B = "52px", Fe = [
259
259
  root: n,
260
260
  rootStyles: h,
261
261
  rootInlineStyles: v,
262
- contentStyles: f,
262
+ contentStyles: u,
263
263
  contentInlineStyles: T,
264
264
  model: M,
265
265
  control: D,
@@ -267,11 +267,11 @@ const B = "52px", Fe = [
267
267
  };
268
268
  }
269
269
  });
270
- function Pe(e, t, n, h, v, f) {
271
- const T = c("OrInput"), M = c("OrRating"), D = c("OrSelect"), O = c("OrCheckbox"), V = c("OrSwitch"), R = c("OrDatePicker"), I = c("OrTimePicker"), r = c("OrDateTimePicker"), u = c("OrTagInput");
270
+ function Pe(e, t, n, h, v, u) {
271
+ const T = m("OrInput"), M = m("OrRating"), D = m("OrSelect"), O = m("OrCheckbox"), V = m("OrSwitch"), R = m("OrDatePicker"), I = m("OrTimePicker"), r = m("OrDateTimePicker"), c = m("OrTagInput");
272
272
  return o(), p("div", {
273
273
  ref: "root",
274
- class: m(e.rootStyles),
274
+ class: f(e.rootStyles),
275
275
  style: K(e.rootInlineStyles)
276
276
  }, [
277
277
  e.override ? i(e.$slots, "default", { key: 0 }) : e.control ? (o(), p(q, { key: 1 }, [
@@ -333,7 +333,7 @@ function Pe(e, t, n, h, v, f) {
333
333
  variant: "embedded",
334
334
  anchor: e.root
335
335
  }, null, 8, ["modelValue", "anchor"])) : g("", !0),
336
- e.control.type === "tags" ? (o(), y(u, {
336
+ e.control.type === "tags" ? (o(), y(c, {
337
337
  key: 9,
338
338
  modelValue: e.model,
339
339
  "onUpdate:modelValue": t[9] || (t[9] = (d) => e.model = d),
@@ -341,7 +341,7 @@ function Pe(e, t, n, h, v, f) {
341
341
  }, null, 8, ["modelValue"])) : g("", !0)
342
342
  ], 64)) : (o(), p("div", {
343
343
  key: 2,
344
- class: m(e.contentStyles),
344
+ class: f(e.contentStyles),
345
345
  style: K(e.contentInlineStyles)
346
346
  }, [
347
347
  i(e.$slots, "default")
@@ -419,10 +419,10 @@ const ze = /* @__PURE__ */ C(Ee, [["render", Pe]]), je = [
419
419
  };
420
420
  }
421
421
  }), Le = ["selected"];
422
- function Ae(e, t, n, h, v, f) {
422
+ function Ae(e, t, n, h, v, u) {
423
423
  return o(), p("div", {
424
424
  ref: "root",
425
- class: m(e.rootStyles),
425
+ class: f(e.rootStyles),
426
426
  selected: e.selected
427
427
  }, [
428
428
  i(e.$slots, "default")
@@ -447,10 +447,10 @@ const qe = /* @__PURE__ */ C(Ue, [["render", Ae]]), Be = [
447
447
  };
448
448
  }
449
449
  });
450
- function Xe(e, t, n, h, v, f) {
450
+ function Xe(e, t, n, h, v, u) {
451
451
  return o(), p("div", {
452
452
  ref: "root",
453
- class: m(e.rootStyles)
453
+ class: f(e.rootStyles)
454
454
  }, [
455
455
  i(e.$slots, "default")
456
456
  ], 2);
@@ -481,10 +481,10 @@ const Je = /* @__PURE__ */ C(Ke, [["render", Xe]]), Qe = [
481
481
  };
482
482
  }
483
483
  });
484
- function Ze(e, t, n, h, v, f) {
484
+ function Ze(e, t, n, h, v, u) {
485
485
  return o(), p("div", {
486
486
  ref: "root",
487
- class: m(e.rootStyles)
487
+ class: f(e.rootStyles)
488
488
  }, [
489
489
  i(e.$slots, "default")
490
490
  ], 2);
@@ -542,10 +542,10 @@ const _e = /* @__PURE__ */ C(Ye, [["render", Ze]]), xe = [
542
542
  };
543
543
  }
544
544
  });
545
- function at(e, t, n, h, v, f) {
545
+ function at(e, t, n, h, v, u) {
546
546
  return o(), p("div", {
547
547
  ref: "root",
548
- class: m(e.rootStyles)
548
+ class: f(e.rootStyles)
549
549
  }, [
550
550
  i(e.$slots, "default")
551
551
  ], 2);
@@ -569,10 +569,10 @@ const ot = /* @__PURE__ */ C(tt, [["render", at]]), rt = [
569
569
  };
570
570
  }
571
571
  });
572
- function lt(e, t, n, h, v, f) {
572
+ function lt(e, t, n, h, v, u) {
573
573
  return o(), p("div", {
574
574
  ref: "root",
575
- class: m(e.rootStyles)
575
+ class: f(e.rootStyles)
576
576
  }, [
577
577
  i(e.$slots, "default")
578
578
  ], 2);
@@ -642,12 +642,12 @@ const st = /* @__PURE__ */ C(nt, [["render", lt]]), it = [
642
642
  ],
643
643
  setup(e, t) {
644
644
  const n = S(), h = l(() => {
645
- var r, u, d;
646
- return !!((r = e.features) != null && r.sorting) && !!((u = e.column) != null && u.name) && ((d = e.column) == null ? void 0 : d.sorting) !== !1;
645
+ var r, c, d;
646
+ return !!((r = e.features) != null && r.sorting) && !!((c = e.column) != null && c.name) && ((d = e.column) == null ? void 0 : d.sorting) !== !1;
647
647
  }), v = l(() => {
648
- var r, u;
649
- return !!((r = e.features) != null && r.resizing) && !!((u = e.column) != null && u.name);
650
- }), f = l(() => {
648
+ var r, c;
649
+ return !!((r = e.features) != null && r.resizing) && !!((c = e.column) != null && c.name);
650
+ }), u = l(() => {
651
651
  var r;
652
652
  return [
653
653
  "or-data-grid-table-header-cell-v3",
@@ -660,10 +660,10 @@ const st = /* @__PURE__ */ C(nt, [["render", lt]]), it = [
660
660
  "or-data-grid-table-header-cell-resize-handle-v3",
661
661
  ...dt
662
662
  ]), M = l(() => {
663
- var r, u;
663
+ var r, c;
664
664
  return {
665
665
  minWidth: ((r = e.column) == null ? void 0 : r.minWidth) || B,
666
- maxWidth: (u = e.column) == null ? void 0 : u.maxWidth
666
+ maxWidth: (c = e.column) == null ? void 0 : c.maxWidth
667
667
  };
668
668
  }), D = l(() => {
669
669
  if (e.column)
@@ -693,9 +693,9 @@ const st = /* @__PURE__ */ C(nt, [["render", lt]]), it = [
693
693
  };
694
694
  }), O = l({
695
695
  get: () => {
696
- var r, u;
696
+ var r, c;
697
697
  if (h.value)
698
- return ((r = e.modelValue) == null ? void 0 : r.column) === ((u = e.column) == null ? void 0 : u.name) ? e.modelValue : void 0;
698
+ return ((r = e.modelValue) == null ? void 0 : r.column) === ((c = e.column) == null ? void 0 : c.name) ? e.modelValue : void 0;
699
699
  },
700
700
  set: (r) => {
701
701
  t.emit("update:modelValue", r);
@@ -720,9 +720,9 @@ const st = /* @__PURE__ */ C(nt, [["render", lt]]), it = [
720
720
  }
721
721
  function R(r) {
722
722
  var j;
723
- const u = r.pageX, d = ((j = n.value) == null ? void 0 : j.offsetWidth) || 0, W = (X) => {
723
+ const c = r.pageX, d = ((j = n.value) == null ? void 0 : j.offsetWidth) || 0, W = (X) => {
724
724
  var U, L;
725
- const J = X.pageX - u;
725
+ const J = X.pageX - c;
726
726
  let E = Math.max(0, d + J);
727
727
  const P = ((U = e.column) == null ? void 0 : U.minWidth) || B;
728
728
  if (P && (P.endsWith("px") || !isNaN(Number(P)))) {
@@ -749,14 +749,14 @@ const st = /* @__PURE__ */ C(nt, [["render", lt]]), it = [
749
749
  }
750
750
  ], ([
751
751
  r,
752
- u
752
+ c
753
753
  ], [
754
754
  d
755
755
  ]) => {
756
- d && d !== r && t.emit("remove:scrollOffset", d), t.emit("update:scrollOffset", r, u, e.column);
756
+ d && d !== r && t.emit("remove:scrollOffset", d), t.emit("update:scrollOffset", r, c, e.column);
757
757
  }), {
758
758
  root: n,
759
- rootStyles: f,
759
+ rootStyles: u,
760
760
  rootInlineStyles: D,
761
761
  wrapInlineStyle: M,
762
762
  resizeHandleStyles: T,
@@ -769,16 +769,16 @@ const st = /* @__PURE__ */ C(nt, [["render", lt]]), it = [
769
769
  };
770
770
  }
771
771
  });
772
- function ct(e, t, n, h, v, f) {
773
- const T = c("OrIcon");
772
+ function ct(e, t, n, h, v, u) {
773
+ const T = m("OrIcon");
774
774
  return o(), p("div", {
775
775
  ref: "root",
776
- class: m(e.rootStyles),
776
+ class: f(e.rootStyles),
777
777
  style: K(e.rootInlineStyles),
778
778
  onClick: t[2] || (t[2] = (M) => e.toggleSorting())
779
779
  }, [
780
780
  le("div", {
781
- class: m(["truncate"]),
781
+ class: f(["truncate"]),
782
782
  style: K(e.wrapInlineStyle)
783
783
  }, [
784
784
  i(e.$slots, "default")
@@ -789,7 +789,7 @@ function ct(e, t, n, h, v, f) {
789
789
  }, null, 8, ["icon"])) : g("", !0),
790
790
  e.isResizable ? (o(), p("div", {
791
791
  key: 1,
792
- class: m(e.resizeHandleStyles),
792
+ class: f(e.resizeHandleStyles),
793
793
  onMousedown: t[0] || (t[0] = x((...M) => e.onResizeStart && e.onResizeStart(...M), ["stop", "prevent"])),
794
794
  onClick: t[1] || (t[1] = x(() => {
795
795
  }, ["stop"]))
@@ -848,10 +848,10 @@ const mt = /* @__PURE__ */ C(ut, [["render", ct]]), ft = [
848
848
  };
849
849
  }
850
850
  });
851
- function ht(e, t, n, h, v, f) {
851
+ function ht(e, t, n, h, v, u) {
852
852
  return o(), p("div", {
853
853
  ref: "root",
854
- class: m(e.rootStyles)
854
+ class: f(e.rootStyles)
855
855
  }, [
856
856
  i(e.$slots, "default")
857
857
  ], 2);
@@ -875,10 +875,10 @@ const vt = /* @__PURE__ */ C(pt, [["render", ht]]), bt = [
875
875
  };
876
876
  }
877
877
  });
878
- function kt(e, t, n, h, v, f) {
878
+ function kt(e, t, n, h, v, u) {
879
879
  return o(), p("div", {
880
880
  ref: "root",
881
- class: m(e.rootStyles)
881
+ class: f(e.rootStyles)
882
882
  }, [
883
883
  i(e.$slots, "default")
884
884
  ], 2);
@@ -937,10 +937,10 @@ const Ot = /* @__PURE__ */ C(yt, [["render", kt]]), $t = [
937
937
  };
938
938
  }
939
939
  });
940
- function St(e, t, n, h, v, f) {
940
+ function St(e, t, n, h, v, u) {
941
941
  return o(), p("div", {
942
942
  ref: "root",
943
- class: m(e.rootStyles)
943
+ class: f(e.rootStyles)
944
944
  }, [
945
945
  i(e.$slots, "default")
946
946
  ], 2);
@@ -948,6 +948,7 @@ function St(e, t, n, h, v, f) {
948
948
  const Tt = /* @__PURE__ */ C(Dt, [["render", St]]), Gt = [
949
949
  // Layout
950
950
  "grid content-start",
951
+ "w-full min-w-0",
951
952
  // Overflow
952
953
  "overflow-auto",
953
954
  // Interactivity
@@ -972,14 +973,14 @@ const Tt = /* @__PURE__ */ C(Dt, [["render", St]]), Gt = [
972
973
  "or-data-grid-table-v3",
973
974
  ...Gt
974
975
  ]), h = l(() => {
975
- const v = e.columns.map((f) => {
976
- if (f.width && (f.width.includes("minmax") || f.width.includes("calc")))
977
- return f.width;
978
- const T = f.width ?? "1fr", M = f.minWidth || B;
979
- let D = f.maxWidth || T;
976
+ const v = e.columns.map((u) => {
977
+ if (u.width && (u.width.includes("minmax") || u.width.includes("calc")))
978
+ return u.width;
979
+ const T = u.width ?? "1fr", M = u.minWidth || (u.width ? B : "120px");
980
+ let D = u.maxWidth || T;
980
981
  return T.endsWith("px") && (D = T), `minmax(${M}, ${D})`;
981
982
  });
982
- return e.features.selecting ? { gridTemplateColumns: `auto ${v.join(" ")}` } : { gridTemplateColumns: v.join(" ") };
983
+ return e.features.selecting ? { gridTemplateColumns: `min-content ${v.join(" ")}` } : { gridTemplateColumns: v.join(" ") };
983
984
  });
984
985
  return {
985
986
  root: t,
@@ -988,10 +989,10 @@ const Tt = /* @__PURE__ */ C(Dt, [["render", St]]), Gt = [
988
989
  };
989
990
  }
990
991
  });
991
- function Vt(e, t, n, h, v, f) {
992
+ function Vt(e, t, n, h, v, u) {
992
993
  return o(), p("div", {
993
994
  ref: "root",
994
- class: m(e.rootStyles),
995
+ class: f(e.rootStyles),
995
996
  style: K(e.rootInlineStyles)
996
997
  }, [
997
998
  i(e.$slots, "default")
@@ -1020,10 +1021,10 @@ const Mt = /* @__PURE__ */ C(Ct, [["render", Vt]]), Rt = [
1020
1021
  };
1021
1022
  }
1022
1023
  });
1023
- function Ht(e, t, n, h, v, f) {
1024
+ function Ht(e, t, n, h, v, u) {
1024
1025
  return o(), p("div", {
1025
1026
  ref: "root",
1026
- class: m(e.rootStyles)
1027
+ class: f(e.rootStyles)
1027
1028
  }, [
1028
1029
  i(e.$slots, "default")
1029
1030
  ], 2);
@@ -1077,10 +1078,10 @@ const Ft = /* @__PURE__ */ C(It, [["render", Ht]]), Wt = [
1077
1078
  };
1078
1079
  }
1079
1080
  });
1080
- function zt(e, t, n, h, v, f) {
1081
- const T = c("OrNotification");
1081
+ function zt(e, t, n, h, v, u) {
1082
+ const T = m("OrNotification");
1082
1083
  return o(), p("div", {
1083
- class: m(e.rootStyles)
1084
+ class: f(e.rootStyles)
1084
1085
  }, [
1085
1086
  H(T, se(e.notification, {
1086
1087
  class: "rounded-0 shadow-none",
@@ -1146,10 +1147,10 @@ const jt = /* @__PURE__ */ C(Pt, [["render", zt]]), Nt = [
1146
1147
  };
1147
1148
  }
1148
1149
  });
1149
- function At(e, t, n, h, v, f) {
1150
+ function At(e, t, n, h, v, u) {
1150
1151
  return o(), p("div", {
1151
1152
  ref: "root",
1152
- class: m(e.rootStyles)
1153
+ class: f(e.rootStyles)
1153
1154
  }, [
1154
1155
  i(e.$slots, "default")
1155
1156
  ], 2);
@@ -1233,12 +1234,12 @@ const qt = /* @__PURE__ */ C(Lt, [["render", At]]), Bt = [
1233
1234
  "root"
1234
1235
  ],
1235
1236
  setup(e, t) {
1236
- const n = S(), h = S(), v = S(), f = l(() => [
1237
+ const n = S(), h = S(), v = S(), u = l(() => [
1237
1238
  "or-data-grid-v3",
1238
1239
  ...Bt
1239
1240
  ]), T = l(() => ({
1240
1241
  scrollPaddingInlineStart: `${[...r.value.values()].reduce((a, $) => a + $, 0)}px`,
1241
- scrollPaddingInlineEnd: `${[...u.value.values()].reduce((a, $) => a + $, 0)}px`
1242
+ scrollPaddingInlineEnd: `${[...c.value.values()].reduce((a, $) => a + $, 0)}px`
1242
1243
  })), M = l({
1243
1244
  get: () => !!e.items.length && e.items.every((a) => D.value.includes(a.id)),
1244
1245
  set: (a) => {
@@ -1339,7 +1340,7 @@ const qt = /* @__PURE__ */ C(Lt, [["render", At]]), Bt = [
1339
1340
  behavior: "smooth"
1340
1341
  });
1341
1342
  });
1342
- const r = S(/* @__PURE__ */ new Map()), u = S(/* @__PURE__ */ new Map()), d = l(() => e.features.selecting && (typeof e.features.selecting == "object" ? e.features.selecting.showCounter !== !1 : !0)), W = l(() => e.items.length === 0 || e.loading || typeof e.features.selecting == "object" && e.features.selecting.disabled), z = l(() => {
1343
+ const r = S(/* @__PURE__ */ new Map()), c = S(/* @__PURE__ */ new Map()), d = l(() => e.features.selecting && (typeof e.features.selecting == "object" ? e.features.selecting.showCounter !== !1 : !0)), W = l(() => e.items.length === 0 || e.loading || typeof e.features.selecting == "object" && e.features.selecting.disabled), z = l(() => {
1343
1344
  var a;
1344
1345
  return ((a = h.value) == null ? void 0 : a.currentLimit) || 10;
1345
1346
  });
@@ -1349,10 +1350,10 @@ const qt = /* @__PURE__ */ C(Lt, [["render", At]]), Bt = [
1349
1350
  function X(a, $, F) {
1350
1351
  switch (F.stickiness) {
1351
1352
  case "start":
1352
- r.value.set(a, $), r.value = new Map(r.value), u.value.delete(a), u.value = new Map(u.value);
1353
+ r.value.set(a, $), r.value = new Map(r.value), c.value.delete(a), c.value = new Map(c.value);
1353
1354
  break;
1354
1355
  case "end":
1355
- r.value.delete(a), r.value = new Map(r.value), u.value.set(a, $), u.value = new Map(u.value);
1356
+ r.value.delete(a), r.value = new Map(r.value), c.value.set(a, $), c.value = new Map(c.value);
1356
1357
  break;
1357
1358
  default:
1358
1359
  A(a);
@@ -1410,14 +1411,14 @@ const qt = /* @__PURE__ */ C(Lt, [["render", At]]), Bt = [
1410
1411
  w();
1411
1412
  });
1412
1413
  function A(a) {
1413
- r.value.delete(a), r.value = new Map(r.value), u.value.delete(a), u.value = new Map(u.value);
1414
+ r.value.delete(a), r.value = new Map(r.value), c.value.delete(a), c.value = new Map(c.value);
1414
1415
  }
1415
1416
  function ae(a) {
1416
1417
  a.currentTarget.scrollIntoView({ block: "nearest" });
1417
1418
  }
1418
1419
  return {
1419
1420
  root: n,
1420
- rootStyles: f,
1421
+ rootStyles: u,
1421
1422
  pagination: h,
1422
1423
  tableInlineStyles: T,
1423
1424
  selectingIndicator: M,
@@ -1452,15 +1453,15 @@ const qt = /* @__PURE__ */ C(Lt, [["render", At]]), Bt = [
1452
1453
  };
1453
1454
  }
1454
1455
  });
1455
- function Xt(e, t, n, h, v, f) {
1456
- const T = c("OrSearch"), M = c("OrDataGridHeader"), D = c("OrDataGridToolbar"), O = c("OrCheckbox"), V = c("OrDataGridTableHeaderCell"), R = c("OrDataGridTableHeaderRow"), I = c("OrDataGridTableHeader"), r = c("OrDataGridNotification"), u = c("OrDataGridTableExtraRow"), d = c("OrSkeletonText"), W = c("OrDataGridTableContentCell"), z = c("OrDataGridTableContentRow"), j = c("OrDataGridTablePlaceholder"), X = c("OrDataGridTableContent"), J = c("OrDataGridTable"), E = c("OrDataGridTableFooterCell"), P = c("OrDataGridTableFooterRow"), U = c("OrDataGridTableFooter"), L = c("OrPagination"), N = c("OrDataGridFooter");
1456
+ function Xt(e, t, n, h, v, u) {
1457
+ const T = m("OrSearch"), M = m("OrDataGridHeader"), D = m("OrDataGridToolbar"), O = m("OrCheckbox"), V = m("OrDataGridTableHeaderCell"), R = m("OrDataGridTableHeaderRow"), I = m("OrDataGridTableHeader"), r = m("OrDataGridNotification"), c = m("OrDataGridTableExtraRow"), d = m("OrSkeletonText"), W = m("OrDataGridTableContentCell"), z = m("OrDataGridTableContentRow"), j = m("OrDataGridTablePlaceholder"), X = m("OrDataGridTableContent"), J = m("OrDataGridTable"), E = m("OrDataGridTableFooterCell"), P = m("OrDataGridTableFooterRow"), U = m("OrDataGridTableFooter"), L = m("OrPagination"), N = m("OrDataGridFooter");
1457
1458
  return o(), p("div", {
1458
1459
  ref: "root",
1459
- class: m(e.rootStyles)
1460
+ class: f(e.rootStyles)
1460
1461
  }, [
1461
1462
  e.$slots.title || e.features.searching || e.$slots.search || e.$slots.extraActions ? (o(), y(M, {
1462
1463
  key: 0,
1463
- class: m(["shrink-0"])
1464
+ class: f(["shrink-0"])
1464
1465
  }, Y({ _: 2 }, [
1465
1466
  e.$slots.title ? {
1466
1467
  name: "title",
@@ -1491,7 +1492,7 @@ function Xt(e, t, n, h, v, f) {
1491
1492
  ]), 1024)) : g("", !0),
1492
1493
  e.$slots.toolbar ? (o(), y(D, {
1493
1494
  key: 1,
1494
- class: m(["shrink-0"])
1495
+ class: f(["shrink-0"])
1495
1496
  }, {
1496
1497
  default: b(() => [
1497
1498
  i(e.$slots, "toolbar")
@@ -1500,7 +1501,7 @@ function Xt(e, t, n, h, v, f) {
1500
1501
  })) : g("", !0),
1501
1502
  H(J, {
1502
1503
  ref: "table",
1503
- class: m(["grow", { "grid-rows-[auto_1fr]": e.items.length === 0 }]),
1504
+ class: f(["grow", { "grid-rows-[auto_1fr]": e.items.length === 0 }]),
1504
1505
  style: K(e.tableInlineStyles),
1505
1506
  columns: e.columns,
1506
1507
  features: e.features
@@ -1564,7 +1565,7 @@ function Xt(e, t, n, h, v, f) {
1564
1565
  ]), 1032, ["notification", "variant"])) : g("", !0),
1565
1566
  H(X, null, {
1566
1567
  default: b(() => [
1567
- e.$slots["before-rows"] ? (o(), y(u, {
1568
+ e.$slots["before-rows"] ? (o(), y(c, {
1568
1569
  key: 0,
1569
1570
  variant: e.variant,
1570
1571
  class: "border-b-1"
@@ -1662,7 +1663,7 @@ function Xt(e, t, n, h, v, f) {
1662
1663
  _: 2
1663
1664
  }, 1032, ["variant", "selected", "interactive", "onMouseenter", "onMouseleave", "onClick"]))), 128)) : e.$slots.noSearchResults && (e.features.filtering && e.filteringModel || e.features.searching && e.searchingModel) ? (o(), y(j, {
1664
1665
  key: 3,
1665
- class: m(["col-span-full"]),
1666
+ class: f(["col-span-full"]),
1666
1667
  variant: e.variant
1667
1668
  }, {
1668
1669
  default: b(() => [
@@ -1674,7 +1675,7 @@ function Xt(e, t, n, h, v, f) {
1674
1675
  _: 3
1675
1676
  }, 8, ["variant"])) : e.$slots.empty ? (o(), y(j, {
1676
1677
  key: 4,
1677
- class: m(["col-span-full"]),
1678
+ class: f(["col-span-full"]),
1678
1679
  variant: e.variant
1679
1680
  }, {
1680
1681
  default: b(() => [
@@ -1682,7 +1683,7 @@ function Xt(e, t, n, h, v, f) {
1682
1683
  ]),
1683
1684
  _: 3
1684
1685
  }, 8, ["variant"])) : g("", !0),
1685
- e.$slots["after-rows"] ? (o(), y(u, {
1686
+ e.$slots["after-rows"] ? (o(), y(c, {
1686
1687
  key: 5,
1687
1688
  variant: e.variant
1688
1689
  }, {
@@ -1700,7 +1701,7 @@ function Xt(e, t, n, h, v, f) {
1700
1701
  e.$slots["extra-row"] ? (o(), y(U, { key: 2 }, {
1701
1702
  default: b(() => [
1702
1703
  H(P, {
1703
- class: m(["shrink-0"]),
1704
+ class: f(["shrink-0"]),
1704
1705
  variant: e.variant
1705
1706
  }, {
1706
1707
  default: b(() => [
@@ -1718,7 +1719,7 @@ function Xt(e, t, n, h, v, f) {
1718
1719
  })) : g("", !0),
1719
1720
  e.$slots.actions || e.showSelectingCouter || e.features.paging ? (o(), y(N, {
1720
1721
  key: 3,
1721
- class: m(["shrink-0"])
1722
+ class: f(["shrink-0"])
1722
1723
  }, Y({ _: 2 }, [
1723
1724
  e.features.selecting && e.selectingModel.length > 0 ? {
1724
1725
  name: "status",
@@ -1772,4 +1773,4 @@ export {
1772
1773
  jt as p,
1773
1774
  qt as q
1774
1775
  };
1775
- //# sourceMappingURL=OrDataGrid-B7h2wGXD.mjs.map
1776
+ //# sourceMappingURL=OrDataGrid-Dpyj-svt.mjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"OrDataGrid-Dpyj-svt.mjs","sources":["../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/OrDataGridFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/OrDataGridHeader.vue","../../../components/or-data-grid-v3/src/types.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/OrDataGridTableContent.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/OrDataGridTableHeader.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/OrDataGridTable.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/OrDataGridToolbar.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/OrDataGridNotification.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue","../../../components/or-data-grid-v3/src/styles.ts","../../../components/or-data-grid-v3/src/OrDataGrid.vue"],"sourcesContent":["export const DataGridFooter: string[] = [\n // Layout\n 'layout-row',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xl',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n];\n\nexport const DataGridFooterStatus: string[] = [\n // Typography\n 'typography-body-2-semibold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['status']\">\n <div :class=\"statusStyles\">\n <slot :name=\"'status'\" />\n </div>\n </template>\n\n <slot :name=\"'actions'\" />\n\n <template v-if=\"$slots['paging']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'paging'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-footer-v3',\n ...Styles.DataGridFooter,\n ]);\n\n const statusStyles = computed(() => [\n ...Styles.DataGridFooterStatus,\n ]);\n\n return {\n root,\n rootStyles,\n\n statusStyles,\n };\n },\n});\n</script>\n","export const DataGridHeader: string[] = [\n // Layout\n 'layout-row items-start gap-md',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-3xl',\n];\n\nexport const DataGridHeaderTitle: string[] = [\n // Typography\n 'typography-headline-2',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title']\">\n <div :class=\"titleStyles\">\n <slot :name=\"'title'\" />\n </div>\n </template>\n\n <template v-if=\"$slots['searching'] || $slots['extraActions']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'searching'\" />\n\n <template v-if=\"$slots['extraActions']\">\n <slot :name=\"'extraActions'\" />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-header-v3',\n ...Styles.DataGridHeader,\n ]);\n\n const titleStyles = computed(() => [\n ...Styles.DataGridHeaderTitle,\n ]);\n\n return {\n root,\n rootStyles,\n\n titleStyles,\n };\n },\n});\n</script>\n","import { DataModel, Id, ModelValue } from '@onereach/ui-components-common/types';\nimport { PaginationModelValue } from '@onereach/ui-components.or-pagination-v3';\nimport { SelectItem } from '@onereach/ui-components.or-select-v3';\n\nexport type DataGridModelValue = ModelValue<{\n selecting: ModelValue<Id[]>;\n\n // TODO\n filtering: never;\n\n searching: ModelValue<string>;\n\n sorting: ModelValue<{\n column: DataGridColumn['name'];\n direction: 'asc' | 'desc';\n }>;\n\n paging: PaginationModelValue;\n}>;\n\nexport type DataGridItem<T extends DataModel> = T;\n\nexport type DataGridColumn = {\n name: string;\n label?: string;\n\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n\n alignment?: 'start' | 'end' | 'center';\n stickiness?: 'start' | 'end';\n sorting?: boolean;\n wrapping?: boolean;\n\n control?: {\n type: 'text' | 'number' | 'rating' | 'select' | 'checkbox' | 'switch' | 'date' | 'time' | 'datetime' | 'tags';\n options?: SelectItem[];\n };\n};\n\nexport enum DataGridVariant {\n Standard = 'standard',\n Comfortable = 'comfortable',\n Compact = 'compact',\n Dynamic = 'dynamic',\n}\n\nexport type DataGridFeatures = {\n selecting?: boolean | {\n showCounter?: boolean;\n disabled?: boolean;\n };\n filtering?: boolean;\n searching?: boolean;\n sorting?: boolean;\n\n paging?: {\n length: number;\n options?: number[];\n };\n\n resizing?: boolean;\n storageKey?: string;\n};\n\nexport const DATA_GRID_DEFAULT_MIN_WIDTH = '52px';\n","export const DataGridTableContentCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (focus)\n 'focus-within:theme-border-primary',\n 'dark:focus-within:theme-border-primary-dark',\n\n 'focus-within:theme-outline-primary',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-default [&.sticky-start]:border-e-disabled [&.sticky-start]:border-solid',\n 'dark:[&.sticky-start]:theme-background-default-dark dark:[&.sticky-start]:border-e-disabled-dark',\n 'hover:[&.sticky-start]:theme-background-surface-1 dark:hover:[&.sticky-start]:theme-background-surface-1-dark',\n 'selected:[&.sticky-start]:theme-background-surface-2 dark:selected:[&.sticky-start]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-start]:theme-background-surface-3 dark:hover:selected:[&.sticky-start]:theme-background-surface-3-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-default [&.sticky-end]:border-s-disabled [&.sticky-end]:border-solid',\n 'dark:[&.sticky-end]:theme-background-default-dark dark:[&.sticky-end]:border-s-disabled-dark',\n 'hover:[&.sticky-end]:theme-background-surface-1 dark:hover:[&.sticky-end]:theme-background-surface-1-dark',\n 'selected:[&.sticky-end]:theme-background-surface-2 dark:selected:[&.sticky-end]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-end]:theme-background-surface-3 dark:hover:selected:[&.sticky-end]:theme-background-surface-3-dark',\n];\n\nexport const DataGridTableContentCellContent: string[] = [\n // interactivity\n 'interactivity-select',\n\n // Typography\n 'truncate',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <template v-if=\"override\">\n <slot />\n </template>\n\n <template v-else-if=\"control\">\n <template v-if=\"control.type === 'text'\">\n <OrInput\n v-model=\"model\"\n :type=\"'text'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'number'\">\n <OrInput\n v-model=\"model\"\n :type=\"'number'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'rating'\">\n <OrRating\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'select'\">\n <OrSelect\n v-model=\"model\"\n :options=\"control.options\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'checkbox'\">\n <OrCheckbox\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'switch'\">\n <OrSwitch\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'date'\">\n <OrDatePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'time'\">\n <OrTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'datetime'\">\n <OrDateTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'tags'\">\n <OrTagInput\n v-model=\"model\"\n :variant=\"'embedded'\"\n />\n </template>\n </template>\n\n <template v-else>\n <div\n :class=\"contentStyles\"\n :style=\"contentInlineStyles\"\n >\n <slot />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrDatePickerV3 as OrDatePicker } from '@onereach/ui-components.or-date-picker-v3';\nimport { OrDateTimePickerV3 as OrDateTimePicker } from '@onereach/ui-components.or-date-time-picker-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrRatingV3 as OrRating } from '@onereach/ui-components.or-rating-v3';\nimport { OrSelectV3 as OrSelect } from '@onereach/ui-components.or-select-v3';\nimport { OrSwitchV3 as OrSwitch } from '@onereach/ui-components.or-switch-v3';\nimport { OrTagInputV3 as OrTagInput } from '@onereach/ui-components.or-tag-input-v3';\nimport { OrTimePickerV3 as OrTimePicker } from '@onereach/ui-components.or-time-picker-v3';\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridVariant, DATA_GRID_DEFAULT_MIN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentCell',\n\n components: {\n OrCheckbox,\n OrDatePicker,\n OrDateTimePicker,\n OrInput,\n OrRating,\n OrSelect,\n OrSwitch,\n OrTagInput,\n OrTimePicker,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: undefined as unknown as PropType<any>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'>>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n\n variant: {\n type: String as PropType<DataGridVariant>,\n default: DataGridVariant.Standard,\n },\n\n override: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'input',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-cell-v3',\n ...Styles.DataGridTableContentCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ]);\n\n const rootInlineStyles = computed(() => {\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n return {\n position: 'sticky',\n insetInlineStart: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n case 'end':\n return {\n position: 'sticky',\n insetInlineEnd: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n default:\n return {\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n }\n }\n\n return {\n justifyContent: 'center',\n } as Partial<CSSStyleDeclaration>;\n });\n\n const contentStyles = computed(() => {\n const isWrapping = props.column?.wrapping ?? (props.variant === DataGridVariant.Dynamic && !props.column?.control);\n\n return [\n ...Styles.DataGridTableContentCellContent.filter((style) => style !== 'truncate'),\n ...isWrapping ? ['whitespace-pre-wrap break-words'] : ['truncate'],\n ];\n });\n\n const contentInlineStyles = computed(() => ({\n minWidth: (props.column && props.column.minWidth) || DATA_GRID_DEFAULT_MIN_WIDTH,\n maxWidth: props.column && props.column.maxWidth,\n }));\n\n // State\n const model = computed({\n get: () => props.modelValue,\n\n set: (value) => {\n context.emit('input', value);\n },\n });\n\n const control = computed(() => {\n return props.column?.control;\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n contentStyles,\n contentInlineStyles,\n\n model,\n\n control,\n\n DATA_GRID_DEFAULT_MIN_WIDTH,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableContentRow: string[] = [\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled [&:not(:last-child)]:border-b-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n\n // Theme (hover / children)\n 'children:hover:theme-background-surface-1',\n 'dark:children:hover:theme-background-surface-1-dark',\n\n // Theme (selected / children)\n 'children:selected:theme-background-surface-2',\n 'dark:children:selected:theme-background-surface-2-dark',\n\n // Theme (selected + hover / children)\n 'children:hover:selected:theme-background-surface-3',\n 'dark:children:hover:selected:theme-background-surface-3-dark',\n];\n\nexport const DataGridTableContentRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n interactive: {\n type: Boolean,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-row-v3',\n ...Styles.DataGridTableContentRow,\n ...Styles.DataGridTableContentRowVariants[props.variant],\n ...(props.interactive ? ['cursor-pointer'] : []),\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableContent: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContent',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-v3',\n ...Styles.DataGridTableContent,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooterCell: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterCell',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-cell-v3',\n ...Styles.DataGridTableFooterCell,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableFooterRow: string[] = [\n // Layout\n 'grid grid-cols-1',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableFooterRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-row-v3',\n ...Styles.DataGridTableFooterRow,\n ...Styles.DataGridTableFooterRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooter: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-v3',\n ...Styles.DataGridTableFooter,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeaderCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (Stacking)\n 'relative z-1 hover:z-2',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-surface-variant-1 [&.sticky-start]:border-e-disabled [&.sticky-start]:border-solid z-20 hover:z-30',\n 'dark:[&.sticky-start]:theme-background-surface-variant-1-dark dark:[&.sticky-start]:border-e-disabled-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-surface-variant-1 [&.sticky-end]:border-s-disabled [&.sticky-end]:border-solid z-20 hover:z-30',\n 'dark:[&.sticky-end]:theme-background-surface-variant-1-dark dark:[&.sticky-end]:border-s-disabled-dark',\n];\n\nexport const DataGridTableHeaderCellResizeHandle: string[] = [\n // Position\n 'absolute top-0 bottom-0 end-0 z-50',\n\n // Box\n 'w-xs cursor-col-resize',\n\n // Theme\n 'theme-background-transparent',\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n @click=\"toggleSorting()\"\n >\n <div\n :class=\"['truncate']\"\n :style=\"wrapInlineStyle\"\n >\n <slot />\n </div>\n\n <template v-if=\"model\">\n <OrIcon :icon=\"model.direction === 'asc' ? 'arrow_upward' : 'arrow_downward'\" />\n </template>\n\n <div\n v-if=\"isResizable\"\n :class=\"resizeHandleStyles\"\n @mousedown.stop.prevent=\"onResizeStart\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { useElementSize } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, watch } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridModelValue, DATA_GRID_DEFAULT_MIN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderCell',\n\n components: {\n OrIcon,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Object as PropType<NonNullable<DataGridModelValue>['sorting']>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'> & {name?: string;}>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'update:scrollOffset',\n 'remove:scrollOffset',\n\n 'update:column-width',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n // const isSortable = computed(() => (props.features?.sorting && !props.column?.sorting === false) || !!props.column?.name);\n const isSortable = computed(() => !!props.features?.sorting && !!props.column?.name && props.column?.sorting !== false);\n const isResizable = computed(() => !!props.features?.resizing && !!props.column?.name);\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-cell-v3',\n 'relative',\n ...Styles.DataGridTableHeaderCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ...isSortable.value ? ['interactivity-click'] : [],\n ]);\n\n const resizeHandleStyles = computed(() => [\n 'or-data-grid-table-header-cell-resize-handle-v3',\n ...Styles.DataGridTableHeaderCellResizeHandle,\n ]);\n\n const wrapInlineStyle = computed(() => {\n return {\n minWidth: props.column?.minWidth || DATA_GRID_DEFAULT_MIN_WIDTH,\n maxWidth: props.column?.maxWidth,\n };\n });\n\n const rootInlineStyles = computed(() => {\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n return {\n position: 'sticky',\n insetInlineStart: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n case 'end':\n return {\n position: 'sticky',\n insetInlineEnd: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n default:\n return {\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n }\n }\n\n return {\n justifyContent: 'center',\n } as Partial<CSSStyleDeclaration>;\n });\n\n // State\n const model = computed({\n get: () => {\n if (!isSortable.value) {\n return;\n }\n\n return props.modelValue?.column === props.column?.name ? props.modelValue : undefined;\n },\n\n set: (value) => {\n context.emit('update:modelValue', value);\n },\n });\n\n // Methods\n function toggleSorting(): void {\n if (!isSortable.value) {\n return;\n }\n\n if (model.value) {\n model.value = {\n ...model.value,\n direction: model.value.direction === 'asc' ? 'desc' : 'asc',\n };\n } else {\n if (!props.column) {\n throw new Error('[OrDataGridTableHeaderCell]: `column` must be specified.');\n }\n\n model.value = {\n column: props.column?.name || '_check',\n direction: 'asc',\n };\n }\n }\n\n function onResizeStart(event: MouseEvent): void {\n const startX = event.pageX;\n const startWidth = root.value?.offsetWidth || 0;\n\n const onMouseMove = (moveEvent: MouseEvent) => {\n const deltaX = moveEvent.pageX - startX;\n let newWidth = Math.max(0, startWidth + deltaX);\n\n const min = props.column?.minWidth || DATA_GRID_DEFAULT_MIN_WIDTH;\n if (min && (min.endsWith('px') || !isNaN(Number(min)))) {\n const minPx = parseInt(min, 10);\n newWidth = Math.max(newWidth, minPx);\n }\n\n if (props.column?.maxWidth && (props.column.maxWidth.endsWith('px') || !isNaN(Number(props.column.maxWidth)))) {\n const maxPx = parseInt(props.column.maxWidth, 10);\n newWidth = Math.min(newWidth, maxPx);\n }\n\n context.emit('update:column-width', newWidth);\n };\n\n const onMouseUp = () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n }\n\n // Effects\n const { width } = useElementSize(root, undefined, { box: 'border-box' });\n\n watch([\n root,\n width,\n () => props.column?.stickiness,\n ], ([\n nextRoot,\n width,\n ], [\n prevRoot,\n ]) => {\n if (prevRoot && prevRoot !== nextRoot) {\n context.emit('remove:scrollOffset', prevRoot);\n }\n\n context.emit('update:scrollOffset', nextRoot, width, props.column);\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n wrapInlineStyle,\n resizeHandleStyles,\n isSortable,\n isResizable,\n\n model,\n\n toggleSorting,\n onResizeStart,\n\n DATA_GRID_DEFAULT_MIN_WIDTH,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableHeaderRow: string[] = [\n // Position\n 'sticky top-0 z-10',\n\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-semibold',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-surface-variant-1',\n 'dark:children:theme-background-surface-variant-1-dark',\n];\n\nexport const DataGridTableHeaderRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-row-v3',\n ...Styles.DataGridTableHeaderRow,\n ...Styles.DataGridTableHeaderRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeader: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-v3',\n ...Styles.DataGridTableHeader,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTablePlaceholder: string[] = [\n // Layout\n 'layout-row justify-center items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n];\n\nexport const DataGridTablePlaceholderVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTablePlaceholder',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-placeholder-v3',\n ...Styles.DataGridTablePlaceholder,\n ...Styles.DataGridTablePlaceholderVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTable: string[] = [\n // Layout\n 'grid content-start',\n 'w-full min-w-0',\n\n // Overflow\n 'overflow-auto',\n\n // Interactivity\n 'interactivity-default',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DATA_GRID_DEFAULT_MIN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTable',\n\n props: {\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-v3',\n ...Styles.DataGridTable,\n ]);\n\n const rootInlineStyles = computed(() => {\n const gridTemplateColumns = props.columns.map((column) => {\n // If width is already a complex expression like minmax, use it as is\n if (column.width && (column.width.includes('minmax') || column.width.includes('calc'))) {\n return column.width;\n }\n\n const width = column.width ?? '1fr';\n const min = column.minWidth || (column.width ? DATA_GRID_DEFAULT_MIN_WIDTH : '120px');\n let max = column.maxWidth || width;\n\n if (width.endsWith('px')) {\n max = width;\n }\n\n return `minmax(${min}, ${max})`;\n });\n\n if ((props.features as DataGridFeatures).selecting) {\n return { gridTemplateColumns: `min-content ${gridTemplateColumns.join(' ')}` };\n }\n\n return { gridTemplateColumns: gridTemplateColumns.join(' ') };\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n };\n },\n});\n</script>\n","export const DataGridToolbar: string[] = [\n // Layout\n 'layout-row',\n\n // Box\n 'h-2xl',\n\n // Spacing\n 'gap-xl',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridToolbar',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-toolbar-v3',\n ...Styles.DataGridToolbar,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridNotification: string[] = [\n // Position\n 'grid sticky z-10',\n\n // Layout\n 'col-span-full',\n];\n\nexport const DataGridNotificationPositionVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Position\n 'top-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Position\n 'top-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n\n","<template>\n <div :class=\"rootStyles\">\n <OrNotification\n v-bind=\"notification\"\n class=\"rounded-0 shadow-none\"\n @close=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrNotification>\n </div>\n</template>\n<script lang=\"ts\">\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { computed, defineComponent, PropType } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\n\nexport default defineComponent({\n components: {\n OrNotification,\n },\n props: {\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n required: true,\n },\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n emits: [\n 'close-notification',\n ],\n setup(props) {\n const rootStyles = computed(() => [\n 'or-data-grid-notification-v3',\n ...Styles.DataGridNotification,\n ...Styles.DataGridNotificationPositionVariants[props.variant],\n ]);\n\n return {\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableExtraRow: string[] = [\n // Layout\n 'grid col-span-full grid-cols-[subgrid]',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableExtraRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableExtraRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-extra-row-v3',\n ...Styles.DataGridTableExtraRow,\n ...Styles.DataGridTableExtraRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGrid: string[] = [\n // Layout\n 'layout-column',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title'] || features.searching || $slots['search'] || $slots['extraActions']\">\n <OrDataGridHeader\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"$slots['title']\"\n v-slot:title\n >\n <slot :name=\"'title'\" />\n </template>\n\n <template\n v-if=\"features.searching\"\n v-slot:searching\n >\n <slot\n name=\"search\"\n v-bind=\"{updateSearchingModel, searchingModel}\"\n >\n <OrSearch v-model=\"searchingModel\" />\n </slot>\n </template>\n\n <template\n v-if=\"$slots['extraActions']\"\n v-slot:extraActions\n >\n <slot :name=\"'extraActions'\" />\n </template>\n </OrDataGridHeader>\n </template>\n\n <template v-if=\"$slots['toolbar']\">\n <OrDataGridToolbar\n :class=\"['shrink-0']\"\n >\n <slot :name=\"'toolbar'\" />\n </OrDataGridToolbar>\n </template>\n\n <OrDataGridTable\n ref=\"table\"\n :class=\"['grow', { 'grid-rows-[auto_1fr]': items.length === 0 }]\"\n :style=\"tableInlineStyles\"\n :columns=\"columns\"\n :features=\"features\"\n >\n <OrDataGridTableHeader>\n <OrDataGridTableHeaderRow\n :variant=\"variant\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableHeaderCell\n :column=\"{ stickiness: 'start' }\"\n class=\"md:!py-none\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n >\n <OrCheckbox\n v-model=\"selectingIndicator\"\n :indeterminate=\"!selectingIndicator && selectingModel.length > 0\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableHeaderCell>\n </template>\n\n <OrDataGridTableHeaderCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n v-model=\"sortingModel\"\n :column=\"column\"\n :features=\"features\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n @update:column-width=\"(width) => updateColumnWidth(column, width)\"\n >\n {{ column.label }}\n </OrDataGridTableHeaderCell>\n </OrDataGridTableHeaderRow>\n </OrDataGridTableHeader>\n <OrDataGridNotification\n v-if=\"notification\"\n :notification=\"notification\"\n :variant=\"variant\"\n @close-notification=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n v-slot:notification\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrDataGridNotification>\n <OrDataGridTableContent>\n <template v-if=\"$slots['before-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n class=\"border-b-1\"\n >\n <slot :name=\"'before-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n <template v-if=\"loading\">\n <OrDataGridTableContentRow\n v-for=\"n of skeletonsLength\"\n :key=\"n\"\n :variant=\"variant\"\n :interactive=\"interactiveRows\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ stickiness: 'start' }\"\n :variant=\"variant\"\n :override=\"true\"\n >\n <OrSkeletonText />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n :column=\"column\"\n :features=\"features\"\n :variant=\"variant\"\n :override=\"true\"\n >\n <slot\n name=\"column-loading\"\n :column=\"column\"\n >\n <OrSkeletonText />\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"items.length > 0\">\n <OrDataGridTableContentRow\n v-for=\"item of items\"\n :key=\"item.id\"\n :variant=\"variant\"\n :selected=\"selectingModel.includes(item.id)\"\n :interactive=\"interactiveRows\"\n @mouseenter=\"() => handleMouseEnterRow(item)\"\n @mouseleave=\"() => handleMouseLeaveRow(item)\"\n @click=\"() => handleRowClick(item)\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ stickiness: 'start' }\"\n :variant=\"variant\"\n :override=\"true\"\n :force-state=\"'none'\"\n class=\"md:!py-none\"\n @mouseenter=\"() => handleMouseEnterCell(item, 'selecting', selectingModel.includes(item.id))\"\n @mouseleave=\"() => handleMouseLeaveCell(item, 'selecting', selectingModel.includes(item.id))\"\n >\n <OrCheckbox\n v-model=\"selectingModel\"\n :value=\"item.id\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n :model-value=\"item[column.name]\"\n :column=\"column\"\n :features=\"features\"\n :variant=\"variant\"\n @input=\"onInput(item, column.name, $event)\"\n @focusin=\"scrollTo($event)\"\n @mouseenter=\"() => handleMouseEnterCell(item, column.name, item[column.name])\"\n @mouseleave=\"() => handleMouseLeaveCell(item, column.name, item[column.name])\"\n >\n <slot\n :name=\"column.name\"\n :column=\"column\"\n :item=\"item\"\n >\n {{ item[column.name] }}\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"$slots['noSearchResults'] && ((features.filtering && filteringModel) || (features.searching && searchingModel))\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot\n :name=\"'noSearchResults'\"\n :filter=\"filteringModel\"\n :search=\"searchingModel\"\n />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-else-if=\"$slots['empty']\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot :name=\"'empty'\" />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-if=\"$slots['after-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n >\n <slot :name=\"'after-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n </OrDataGridTableContent>\n </OrDataGridTable>\n\n <template v-if=\"$slots['extra-row']\">\n <OrDataGridTableFooter>\n <OrDataGridTableFooterRow\n :class=\"['shrink-0']\"\n :variant=\"variant\"\n >\n <OrDataGridTableFooterCell>\n <slot :name=\"'extra-row'\" />\n </OrDataGridTableFooterCell>\n </OrDataGridTableFooterRow>\n </OrDataGridTableFooter>\n </template>\n\n <template v-if=\"$slots['actions'] || showSelectingCouter || features.paging\">\n <OrDataGridFooter\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"features.selecting && selectingModel.length > 0\"\n v-slot:status\n >\n {{ selectingModel.length }} row(s) selected\n </template>\n\n <template\n v-if=\"$slots['actions']\"\n v-slot:actions\n >\n <slot :name=\"'actions'\" />\n </template>\n\n <template\n v-if=\"features.paging\"\n v-slot:paging\n >\n <OrPagination\n ref=\"pagination\"\n v-model=\"pagingModel\"\n :length=\"features.paging.length\"\n :options=\"features.paging.options\"\n />\n </template>\n </OrDataGridFooter>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { DataModel, Id } from '@onereach/ui-components-common/types';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { OrPaginationV3 as OrPagination } from '@onereach/ui-components.or-pagination-v3';\nimport { OrSearchV3 as OrSearch } from '@onereach/ui-components.or-search-v3';\nimport { OrSkeletonTextV3 as OrSkeletonText } from '@onereach/ui-components.or-skeleton-v3';\nimport { PropType, computed, defineComponent, onMounted, ref, watch } from 'vue';\n\nimport * as Partials from './partials';\nimport * as Styles from './styles';\nimport { DataGridColumn, DataGridFeatures, DataGridItem, DataGridModelValue, DataGridVariant } from './types';\n\n// Vue 2 doesn't support generically typed components\ntype T = DataModel<{ id: Id; [key: string]: unknown; }>;\n\nexport default defineComponent({\n name: 'OrDataGrid',\n\n components: {\n OrCheckbox,\n OrDataGridFooter: Partials.OrDataGridFooter,\n OrDataGridHeader: Partials.OrDataGridHeader,\n OrDataGridTable: Partials.OrDataGridTable,\n OrDataGridTableContent: Partials.OrDataGridTableContent,\n OrDataGridTableContentCell: Partials.OrDataGridTableContentCell,\n OrDataGridTableContentRow: Partials.OrDataGridTableContentRow,\n OrDataGridTableFooter: Partials.OrDataGridTableFooter,\n OrDataGridTableFooterCell: Partials.OrDataGridTableFooterCell,\n OrDataGridTableFooterRow: Partials.OrDataGridTableFooterRow,\n OrDataGridTableExtraRow: Partials.OrDataGridTableExtraRow,\n OrDataGridTableHeader: Partials.OrDataGridTableHeader,\n OrDataGridTableHeaderCell: Partials.OrDataGridTableHeaderCell,\n OrDataGridTableHeaderRow: Partials.OrDataGridTableHeaderRow,\n OrDataGridTablePlaceholder: Partials.OrDataGridTablePlaceholder,\n OrDataGridToolbar: Partials.OrDataGridToolbar,\n OrDataGridNotification: Partials.OrDataGridNotification,\n OrPagination,\n OrSearch,\n OrSkeletonText,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<DataGridModelValue>,\n default: undefined,\n },\n\n items: {\n type: Array as PropType<DataGridItem<T>[]>,\n default: () => [],\n },\n\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n variant: {\n type: String as PropType<DataGridVariant>,\n default: () => DataGridVariant.Standard,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: () => ({}),\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n default: undefined,\n },\n\n interactiveRows: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'update:item',\n 'close-notification',\n 'hover:row',\n 'blur:row',\n 'hover:cell',\n 'blur:cell',\n 'click:row',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const pagination = ref<InstanceType<typeof OrPagination>>();\n const table = ref<InstanceType<typeof Partials.OrDataGridTable>>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-v3',\n ...Styles.DataGrid,\n ]);\n\n const tableInlineStyles = computed(() => ({\n scrollPaddingInlineStart: `${[...scrollOffsetStart.value.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n scrollPaddingInlineEnd: `${[...scrollOffsetEnd.value.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n }));\n\n // State\n const selectingIndicator = computed({\n get: () => {\n return !!props.items.length && props.items.every((item) => selectingModel.value.includes(item.id));\n },\n\n set: (value) => {\n if (value) {\n selectingModel.value = [\n ...new Set([\n ...selectingModel.value,\n ...props.items.map((item) => item.id),\n ]),\n ];\n } else {\n selectingModel.value = [];\n }\n },\n });\n\n const selectingModel = computed({\n get: () => props.modelValue?.selecting ?? [],\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n paging: pagingModel.value,\n } as DataGridModelValue);\n },\n });\n\n const filteringModel = computed({\n get: () => props.modelValue?.filtering,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const searchingModel = computed({\n get: () => props.modelValue?.searching,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: value,\n sorting: sortingModel.value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const sortingModel = computed({\n get: () => props.modelValue?.sorting,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const pagingModel = computed({\n get: () => props.modelValue?.paging,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n paging: value,\n } as DataGridModelValue);\n },\n });\n\n watch(() => pagingModel.value?.offset, () => {\n if (table.value?.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n });\n\n const scrollOffsetStart = ref(new Map<HTMLElement, number>());\n const scrollOffsetEnd = ref(new Map<HTMLElement, number>());\n\n const showSelectingCouter = computed(() => {\n return props.features.selecting &&\n (typeof props.features.selecting === 'object' ? props.features.selecting.showCounter !== false : true);\n });\n\n const selectingDisabled = computed(() => {\n return props.items.length === 0\n || props.loading\n || (typeof props.features.selecting === 'object' && props.features.selecting.disabled);\n\n });\n\n const skeletonsLength = computed(() => {\n return pagination.value?.currentLimit || 10;\n });\n\n // Methods\n function updateSearchingModel(value: string): void {\n searchingModel.value = value;\n }\n\n function updateScrollOffset(header: HTMLElement, offset: number, column: DataGridColumn): void {\n switch (column.stickiness) {\n case 'start':\n scrollOffsetStart.value.set(header, offset);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.delete(header);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n\n break;\n\n case 'end':\n scrollOffsetStart.value.delete(header);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.set(header, offset);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n\n break;\n\n default:\n removeScrollOffset(header);\n break;\n }\n }\n\n function handleMouseEnterRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('hover:row', item);\n }\n\n function handleMouseLeaveRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('blur:row', item);\n }\n\n function handleMouseEnterCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('hover:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleMouseLeaveCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('blur:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleRowClick(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('click:row', item);\n }\n\n function updateColumnWidth(column: DataGridColumn, width: number): void {\n column.width = `${width}px`;\n\n if (props.features.storageKey) {\n saveColumnWidths();\n }\n }\n\n function saveColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n const widths: Record<string, string> = {};\n props.columns.forEach((column) => {\n if (column.name && column.width) {\n widths[column.name] = column.width;\n }\n });\n\n localStorage.setItem(`or-data-grid-v3-widths-${props.features.storageKey}`, JSON.stringify(widths));\n }\n\n function loadColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n try {\n const stored = localStorage.getItem(`or-data-grid-v3-widths-${props.features.storageKey}`);\n if (stored) {\n const widths = JSON.parse(stored);\n props.columns.forEach((column) => {\n if (column.name && widths[column.name]) {\n column.width = widths[column.name];\n }\n });\n }\n } catch (e) {\n console.error('[OrDataGrid]: Failed to load column widths from localStorage', e);\n }\n }\n\n onMounted(() => {\n loadColumnWidths();\n });\n\n // function handleCellClick(item: DataGridItem<T>, columnName: string, value: any): void {\n // if (!props.interactiveRows) return;\n // context.emit('click:cell', { item, columnName, value });\n // }\n\n function removeScrollOffset(header: HTMLElement): void {\n scrollOffsetStart.value.delete(header);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.delete(header);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n }\n\n // Helpers\n function scrollTo(event: FocusEvent): void {\n (event.currentTarget as HTMLElement).scrollIntoView({ block: 'nearest' });\n }\n\n return {\n root,\n rootStyles,\n\n pagination,\n\n tableInlineStyles,\n\n selectingIndicator,\n showSelectingCouter,\n selectingDisabled,\n skeletonsLength,\n\n handleMouseEnterRow,\n handleMouseLeaveRow,\n handleMouseEnterCell,\n handleMouseLeaveCell,\n handleRowClick,\n\n updateColumnWidth,\n\n selectingModel,\n filteringModel,\n searchingModel,\n sortingModel,\n pagingModel,\n\n updateScrollOffset,\n removeScrollOffset,\n\n updateSearchingModel,\n\n scrollToTop: () => {\n if (table.value?.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n },\n\n scrollTo,\n onInput: (item: DataGridItem<T>, columnName: string, value: unknown) => {\n item[columnName] = value;\n context.emit('update:item', item);\n },\n };\n },\n});\n</script>\n"],"names":["DataGridFooter","DataGridFooterStatus","_sfc_main$g","defineComponent","root","ref","rootStyles","computed","Styles.DataGridFooter","statusStyles","Styles.DataGridFooterStatus","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_renderSlot","DataGridHeader","DataGridHeaderTitle","_sfc_main$f","Styles.DataGridHeader","titleStyles","Styles.DataGridHeaderTitle","DataGridVariant","DATA_GRID_DEFAULT_MIN_WIDTH","DataGridTableContentCell","DataGridTableContentCellContent","_sfc_main$e","OrCheckbox","OrDatePicker","OrDateTimePicker","OrInput","OrRating","OrSelect","OrSwitch","OrTagInput","OrTimePicker","props","context","Styles.DataGridTableContentCell","_a","rootInlineStyles","contentStyles","isWrapping","_b","Styles.DataGridTableContentCellContent","style","contentInlineStyles","model","value","control","_resolveComponent","_normalizeStyle","_Fragment","_createBlock","_component_OrInput","$event","_component_OrRating","_component_OrSelect","_component_OrCheckbox","_component_OrSwitch","_component_OrDatePicker","_component_OrTimePicker","_component_OrDateTimePicker","_component_OrTagInput","DataGridTableContentRow","DataGridTableContentRowVariants","_sfc_main$d","Styles.DataGridTableContentRow","Styles.DataGridTableContentRowVariants","DataGridTableContent","_sfc_main$c","Styles.DataGridTableContent","DataGridTableFooterCell","_sfc_main$b","Styles.DataGridTableFooterCell","DataGridTableFooterRow","DataGridTableFooterRowVariants","_sfc_main$a","Styles.DataGridTableFooterRow","Styles.DataGridTableFooterRowVariants","DataGridTableFooter","_sfc_main$9","Styles.DataGridTableFooter","DataGridTableHeaderCell","DataGridTableHeaderCellResizeHandle","_sfc_main$8","OrIcon","isSortable","_c","isResizable","Styles.DataGridTableHeaderCell","resizeHandleStyles","Styles.DataGridTableHeaderCellResizeHandle","wrapInlineStyle","toggleSorting","onResizeStart","event","startX","startWidth","onMouseMove","moveEvent","deltaX","newWidth","min","minPx","maxPx","onMouseUp","width","useElementSize","watch","nextRoot","prevRoot","_component_OrIcon","_withModifiers","args","DataGridTableHeaderRow","DataGridTableHeaderRowVariants","_sfc_main$7","Styles.DataGridTableHeaderRow","Styles.DataGridTableHeaderRowVariants","DataGridTableHeader","_sfc_main$6","Styles.DataGridTableHeader","DataGridTablePlaceholder","DataGridTablePlaceholderVariants","_sfc_main$5","Styles.DataGridTablePlaceholder","Styles.DataGridTablePlaceholderVariants","DataGridTable","_sfc_main$4","Styles.DataGridTable","gridTemplateColumns","column","max","DataGridToolbar","_sfc_main$3","Styles.DataGridToolbar","DataGridNotification","DataGridNotificationPositionVariants","_sfc_main$2","OrNotification","Styles.DataGridNotification","Styles.DataGridNotificationPositionVariants","_createVNode","_component_OrNotification","_mergeProps","_withCtx","DataGridTableExtraRow","DataGridTableExtraRowVariants","_sfc_main$1","Styles.DataGridTableExtraRow","Styles.DataGridTableExtraRowVariants","DataGrid","_sfc_main","Partials.OrDataGridFooter","Partials.OrDataGridHeader","Partials.OrDataGridTable","Partials.OrDataGridTableContent","Partials.OrDataGridTableContentCell","Partials.OrDataGridTableContentRow","Partials.OrDataGridTableFooter","Partials.OrDataGridTableFooterCell","Partials.OrDataGridTableFooterRow","Partials.OrDataGridTableExtraRow","Partials.OrDataGridTableHeader","Partials.OrDataGridTableHeaderCell","Partials.OrDataGridTableHeaderRow","Partials.OrDataGridTablePlaceholder","Partials.OrDataGridToolbar","Partials.OrDataGridNotification","OrPagination","OrSearch","OrSkeletonText","pagination","table","Styles.DataGrid","tableInlineStyles","scrollOffsetStart","accumulator","scrollOffsetEnd","selectingIndicator","item","selectingModel","filteringModel","searchingModel","sortingModel","pagingModel","showSelectingCouter","selectingDisabled","skeletonsLength","updateSearchingModel","updateScrollOffset","header","offset","removeScrollOffset","handleMouseEnterRow","handleMouseLeaveRow","handleMouseEnterCell","columnName","handleMouseLeaveCell","handleRowClick","updateColumnWidth","saveColumnWidths","widths","loadColumnWidths","stored","e","onMounted","scrollTo","_component_OrDataGridHeader","_createSlots","_normalizeProps","_guardReactiveProps","_component_OrSearch","_component_OrDataGridToolbar","_component_OrDataGridTable","_component_OrDataGridTableHeader","_component_OrDataGridTableHeaderRow","_component_OrDataGridTableHeaderCell","_renderList","_component_OrDataGridNotification","_component_OrDataGridTableContent","_component_OrDataGridTableExtraRow","n","_component_OrDataGridTableContentRow","_component_OrDataGridTableContentCell","_component_OrDataGridTablePlaceholder","_component_OrDataGridTableFooter","_component_OrDataGridTableFooterRow","_component_OrDataGridTableFooterCell","_component_OrDataGridFooter","_component_OrPagination"],"mappings":"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"}
@@ -19,7 +19,7 @@ import { EditorState as K } from "@codemirror/state";
19
19
  import { O as Y } from "../OrCombinedInput-BNkXzDBe.mjs";
20
20
  import { C as $, O as rr } from "../OrConfirm-DaPDWu0q.mjs";
21
21
  import { O as or } from "../OrContextMenu-BJ4R2qpI.mjs";
22
- import { a as tr, D as sr, b as Or, c as ir, p as pr, n as mr, f as nr, d as xr, e as Vr, q as fr, i as lr, g as Tr, h as dr, l as cr, j as Dr, k as Cr, m as Sr, o as ur, O as br } from "../OrDataGrid-B7h2wGXD.mjs";
22
+ import { a as tr, D as sr, b as Or, c as ir, p as pr, n as mr, f as nr, d as xr, e as Vr, q as fr, i as lr, g as Tr, h as dr, l as cr, j as Dr, k as Cr, m as Sr, o as ur, O as br } from "../OrDataGrid-Dpyj-svt.mjs";
23
23
  import { O as Ir } from "../OrDateFormat-DVtaQ_wv.mjs";
24
24
  import { O as Gr } from "../OrDatePicker-D-Do0tSf.mjs";
25
25
  import { O as Rr } from "../OrDateRangePicker-BhLzRAf5.mjs";
@@ -1,4 +1,4 @@
1
- import { a as e, D as t, b as d, c as i, p as o, n as D, f as l, d as s, e as G, q as O, i as T, g as b, h as n, l as C, j as F, k as H, m as R, o as w, O as _ } from "../../OrDataGrid-B7h2wGXD.mjs";
1
+ import { a as e, D as t, b as d, c as i, p as o, n as D, f as l, d as s, e as G, q as O, i as T, g as b, h as n, l as C, j as F, k as H, m as R, o as w, O as _ } from "../../OrDataGrid-Dpyj-svt.mjs";
2
2
  export {
3
3
  e as DATA_GRID_DEFAULT_MIN_WIDTH,
4
4
  t as DataGridVariant,
@@ -19,7 +19,7 @@ import { EditorState as K } from "@codemirror/state";
19
19
  import { O as Y } from "./OrCombinedInput-BNkXzDBe.mjs";
20
20
  import { C as $, O as rr } from "./OrConfirm-DaPDWu0q.mjs";
21
21
  import { O as or } from "./OrContextMenu-BJ4R2qpI.mjs";
22
- import { a as tr, D as sr, b as Or, c as ir, p as pr, n as mr, f as nr, d as xr, e as Vr, q as fr, i as lr, g as Tr, h as dr, l as cr, j as Dr, k as Cr, m as Sr, o as ur, O as br } from "./OrDataGrid-B7h2wGXD.mjs";
22
+ import { a as tr, D as sr, b as Or, c as ir, p as pr, n as mr, f as nr, d as xr, e as Vr, q as fr, i as lr, g as Tr, h as dr, l as cr, j as Dr, k as Cr, m as Sr, o as ur, O as br } from "./OrDataGrid-Dpyj-svt.mjs";
23
23
  import { O as Ir } from "./OrDateFormat-DVtaQ_wv.mjs";
24
24
  import { O as Gr } from "./OrDatePicker-D-Do0tSf.mjs";
25
25
  import { O as Rr } from "./OrDateRangePicker-BhLzRAf5.mjs";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@onereach/ui-components",
3
- "version": "26.4.1-beta.5876.0",
3
+ "version": "26.4.1-beta.5877.0",
4
4
  "description": "Vue components library for v3",
5
5
  "license": "Apache-2.0",
6
6
  "sideEffects": false,
@@ -46,8 +46,8 @@
46
46
  "@codemirror/view": "^6",
47
47
  "@floating-ui/dom": "1.5.3",
48
48
  "@lezer/highlight": "*",
49
- "@onereach/styles": "^26.4.1-beta.5876.0",
50
- "@onereach/ui-components-common": "^26.4.1-beta.5876.0",
49
+ "@onereach/styles": "^26.4.1-beta.5877.0",
50
+ "@onereach/ui-components-common": "^26.4.1-beta.5877.0",
51
51
  "@splidejs/splide": "4.0.6",
52
52
  "@tiptap/core": "2.27.1",
53
53
  "@tiptap/extension-blockquote": "2.27.1",
@@ -1 +0,0 @@
1
- {"version":3,"file":"OrDataGrid-B7h2wGXD.mjs","sources":["../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-footer/OrDataGridFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-header/OrDataGridHeader.vue","../../../components/or-data-grid-v3/src/types.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-cell/OrDataGridTableContentCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content-row/OrDataGridTableContentRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-content/OrDataGridTableContent.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-cell/OrDataGridTableFooterCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer-row/OrDataGridTableFooterRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-footer/OrDataGridTableFooter.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-cell/OrDataGridTableHeaderCell.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header-row/OrDataGridTableHeaderRow.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-header/OrDataGridTableHeader.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-placeholder/OrDataGridTablePlaceholder.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table/OrDataGridTable.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-toolbar/OrDataGridToolbar.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-notification/OrDataGridNotification.vue","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/styles.ts","../../../components/or-data-grid-v3/src/partials/or-data-grid-table-extra-row/OrDataGridTableExtraRow.vue","../../../components/or-data-grid-v3/src/styles.ts","../../../components/or-data-grid-v3/src/OrDataGrid.vue"],"sourcesContent":["export const DataGridFooter: string[] = [\n // Layout\n 'layout-row',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xl',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n];\n\nexport const DataGridFooterStatus: string[] = [\n // Typography\n 'typography-body-2-semibold',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['status']\">\n <div :class=\"statusStyles\">\n <slot :name=\"'status'\" />\n </div>\n </template>\n\n <slot :name=\"'actions'\" />\n\n <template v-if=\"$slots['paging']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'paging'\" />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-footer-v3',\n ...Styles.DataGridFooter,\n ]);\n\n const statusStyles = computed(() => [\n ...Styles.DataGridFooterStatus,\n ]);\n\n return {\n root,\n rootStyles,\n\n statusStyles,\n };\n },\n});\n</script>\n","export const DataGridHeader: string[] = [\n // Layout\n 'layout-row items-start gap-md',\n\n // Interactivity\n 'interactivity-default',\n\n // Box\n 'h-3xl',\n];\n\nexport const DataGridHeaderTitle: string[] = [\n // Typography\n 'typography-headline-2',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title']\">\n <div :class=\"titleStyles\">\n <slot :name=\"'title'\" />\n </div>\n </template>\n\n <template v-if=\"$slots['searching'] || $slots['extraActions']\">\n <div :class=\"['grow']\" />\n </template>\n\n <slot :name=\"'searching'\" />\n\n <template v-if=\"$slots['extraActions']\">\n <slot :name=\"'extraActions'\" />\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-header-v3',\n ...Styles.DataGridHeader,\n ]);\n\n const titleStyles = computed(() => [\n ...Styles.DataGridHeaderTitle,\n ]);\n\n return {\n root,\n rootStyles,\n\n titleStyles,\n };\n },\n});\n</script>\n","import { DataModel, Id, ModelValue } from '@onereach/ui-components-common/types';\nimport { PaginationModelValue } from '@onereach/ui-components.or-pagination-v3';\nimport { SelectItem } from '@onereach/ui-components.or-select-v3';\n\nexport type DataGridModelValue = ModelValue<{\n selecting: ModelValue<Id[]>;\n\n // TODO\n filtering: never;\n\n searching: ModelValue<string>;\n\n sorting: ModelValue<{\n column: DataGridColumn['name'];\n direction: 'asc' | 'desc';\n }>;\n\n paging: PaginationModelValue;\n}>;\n\nexport type DataGridItem<T extends DataModel> = T;\n\nexport type DataGridColumn = {\n name: string;\n label?: string;\n\n width?: string;\n minWidth?: string;\n maxWidth?: string;\n\n alignment?: 'start' | 'end' | 'center';\n stickiness?: 'start' | 'end';\n sorting?: boolean;\n wrapping?: boolean;\n\n control?: {\n type: 'text' | 'number' | 'rating' | 'select' | 'checkbox' | 'switch' | 'date' | 'time' | 'datetime' | 'tags';\n options?: SelectItem[];\n };\n};\n\nexport enum DataGridVariant {\n Standard = 'standard',\n Comfortable = 'comfortable',\n Compact = 'compact',\n Dynamic = 'dynamic',\n}\n\nexport type DataGridFeatures = {\n selecting?: boolean | {\n showCounter?: boolean;\n disabled?: boolean;\n };\n filtering?: boolean;\n searching?: boolean;\n sorting?: boolean;\n\n paging?: {\n length: number;\n options?: number[];\n };\n\n resizing?: boolean;\n storageKey?: string;\n};\n\nexport const DATA_GRID_DEFAULT_MIN_WIDTH = '52px';\n","export const DataGridTableContentCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (focus)\n 'focus-within:theme-border-primary',\n 'dark:focus-within:theme-border-primary-dark',\n\n 'focus-within:theme-outline-primary',\n 'dark:focus-within:theme-outline-primary-dark',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-default [&.sticky-start]:border-e-disabled [&.sticky-start]:border-solid',\n 'dark:[&.sticky-start]:theme-background-default-dark dark:[&.sticky-start]:border-e-disabled-dark',\n 'hover:[&.sticky-start]:theme-background-surface-1 dark:hover:[&.sticky-start]:theme-background-surface-1-dark',\n 'selected:[&.sticky-start]:theme-background-surface-2 dark:selected:[&.sticky-start]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-start]:theme-background-surface-3 dark:hover:selected:[&.sticky-start]:theme-background-surface-3-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-default [&.sticky-end]:border-s-disabled [&.sticky-end]:border-solid',\n 'dark:[&.sticky-end]:theme-background-default-dark dark:[&.sticky-end]:border-s-disabled-dark',\n 'hover:[&.sticky-end]:theme-background-surface-1 dark:hover:[&.sticky-end]:theme-background-surface-1-dark',\n 'selected:[&.sticky-end]:theme-background-surface-2 dark:selected:[&.sticky-end]:theme-background-surface-2-dark',\n 'hover:selected:[&.sticky-end]:theme-background-surface-3 dark:hover:selected:[&.sticky-end]:theme-background-surface-3-dark',\n];\n\nexport const DataGridTableContentCellContent: string[] = [\n // interactivity\n 'interactivity-select',\n\n // Typography\n 'truncate',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <template v-if=\"override\">\n <slot />\n </template>\n\n <template v-else-if=\"control\">\n <template v-if=\"control.type === 'text'\">\n <OrInput\n v-model=\"model\"\n :type=\"'text'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'number'\">\n <OrInput\n v-model=\"model\"\n :type=\"'number'\"\n :variant=\"'embedded'\"\n />\n </template>\n\n <template v-if=\"control.type === 'rating'\">\n <OrRating\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'select'\">\n <OrSelect\n v-model=\"model\"\n :options=\"control.options\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'checkbox'\">\n <OrCheckbox\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'switch'\">\n <OrSwitch\n v-model=\"model\"\n />\n </template>\n\n <template v-if=\"control.type === 'date'\">\n <OrDatePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'time'\">\n <OrTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'datetime'\">\n <OrDateTimePicker\n v-model=\"model\"\n :variant=\"'embedded'\"\n :anchor=\"root\"\n />\n </template>\n\n <template v-if=\"control.type === 'tags'\">\n <OrTagInput\n v-model=\"model\"\n :variant=\"'embedded'\"\n />\n </template>\n </template>\n\n <template v-else>\n <div\n :class=\"contentStyles\"\n :style=\"contentInlineStyles\"\n >\n <slot />\n </div>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrDatePickerV3 as OrDatePicker } from '@onereach/ui-components.or-date-picker-v3';\nimport { OrDateTimePickerV3 as OrDateTimePicker } from '@onereach/ui-components.or-date-time-picker-v3';\nimport { OrInputV3 as OrInput } from '@onereach/ui-components.or-input-v3';\nimport { OrRatingV3 as OrRating } from '@onereach/ui-components.or-rating-v3';\nimport { OrSelectV3 as OrSelect } from '@onereach/ui-components.or-select-v3';\nimport { OrSwitchV3 as OrSwitch } from '@onereach/ui-components.or-switch-v3';\nimport { OrTagInputV3 as OrTagInput } from '@onereach/ui-components.or-tag-input-v3';\nimport { OrTimePickerV3 as OrTimePicker } from '@onereach/ui-components.or-time-picker-v3';\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridVariant, DATA_GRID_DEFAULT_MIN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentCell',\n\n components: {\n OrCheckbox,\n OrDatePicker,\n OrDateTimePicker,\n OrInput,\n OrRating,\n OrSelect,\n OrSwitch,\n OrTagInput,\n OrTimePicker,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n type: undefined as unknown as PropType<any>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'>>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n\n variant: {\n type: String as PropType<DataGridVariant>,\n default: DataGridVariant.Standard,\n },\n\n override: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'input',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-cell-v3',\n ...Styles.DataGridTableContentCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ]);\n\n const rootInlineStyles = computed(() => {\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n return {\n position: 'sticky',\n insetInlineStart: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n case 'end':\n return {\n position: 'sticky',\n insetInlineEnd: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n default:\n return {\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n }\n }\n\n return {\n justifyContent: 'center',\n } as Partial<CSSStyleDeclaration>;\n });\n\n const contentStyles = computed(() => {\n const isWrapping = props.column?.wrapping ?? (props.variant === DataGridVariant.Dynamic && !props.column?.control);\n\n return [\n ...Styles.DataGridTableContentCellContent.filter((style) => style !== 'truncate'),\n ...isWrapping ? ['whitespace-pre-wrap break-words'] : ['truncate'],\n ];\n });\n\n const contentInlineStyles = computed(() => ({\n minWidth: (props.column && props.column.minWidth) || DATA_GRID_DEFAULT_MIN_WIDTH,\n maxWidth: props.column && props.column.maxWidth,\n }));\n\n // State\n const model = computed({\n get: () => props.modelValue,\n\n set: (value) => {\n context.emit('input', value);\n },\n });\n\n const control = computed(() => {\n return props.column?.control;\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n contentStyles,\n contentInlineStyles,\n\n model,\n\n control,\n\n DATA_GRID_DEFAULT_MIN_WIDTH,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableContentRow: string[] = [\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled [&:not(:last-child)]:border-b-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n\n // Theme (hover / children)\n 'children:hover:theme-background-surface-1',\n 'dark:children:hover:theme-background-surface-1-dark',\n\n // Theme (selected / children)\n 'children:selected:theme-background-surface-2',\n 'dark:children:selected:theme-background-surface-2-dark',\n\n // Theme (selected + hover / children)\n 'children:hover:selected:theme-background-surface-3',\n 'dark:children:hover:selected:theme-background-surface-3-dark',\n];\n\nexport const DataGridTableContentRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :selected=\"selected\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContentRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n\n selected: {\n type: Boolean,\n default: false,\n },\n\n interactive: {\n type: Boolean,\n default: false,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-row-v3',\n ...Styles.DataGridTableContentRow,\n ...Styles.DataGridTableContentRowVariants[props.variant],\n ...(props.interactive ? ['cursor-pointer'] : []),\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableContent: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableContent',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-content-v3',\n ...Styles.DataGridTableContent,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooterCell: string[] = [\n // Layout\n 'layout-row',\n\n // Spacing\n 'px-sm+',\n 'py-0',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterCell',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-cell-v3',\n ...Styles.DataGridTableFooterCell,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableFooterRow: string[] = [\n // Layout\n 'grid grid-cols-1',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled border-t-1',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableFooterRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooterRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-row-v3',\n ...Styles.DataGridTableFooterRow,\n ...Styles.DataGridTableFooterRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableFooter: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableFooter',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-footer-v3',\n ...Styles.DataGridTableFooter,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeaderCell: string[] = [\n // Layout\n 'layout-row items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Theme\n 'theme-border-transparent border-1',\n 'dark:theme-border-transparent-dark',\n\n 'theme-outline-transparent outline-2 -outline-offset-1',\n 'dark:theme-outline-transparent-dark',\n\n // Theme (Stacking)\n 'relative z-1 hover:z-2',\n\n // Theme (.sticky-start)\n '[&.sticky-start]:theme-background-surface-variant-1 [&.sticky-start]:border-e-disabled [&.sticky-start]:border-solid z-20 hover:z-30',\n 'dark:[&.sticky-start]:theme-background-surface-variant-1-dark dark:[&.sticky-start]:border-e-disabled-dark',\n\n // Theme (.sticky-end)\n '[&.sticky-end]:theme-background-surface-variant-1 [&.sticky-end]:border-s-disabled [&.sticky-end]:border-solid z-20 hover:z-30',\n 'dark:[&.sticky-end]:theme-background-surface-variant-1-dark dark:[&.sticky-end]:border-s-disabled-dark',\n];\n\nexport const DataGridTableHeaderCellResizeHandle: string[] = [\n // Position\n 'absolute top-0 bottom-0 end-0 z-50',\n\n // Box\n 'w-xs cursor-col-resize',\n\n // Theme\n 'theme-background-transparent',\n 'hover:theme-background-primary',\n 'dark:hover:theme-background-primary-dark',\n\n 'active:theme-background-primary',\n 'dark:active:theme-background-primary-dark',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n @click=\"toggleSorting()\"\n >\n <div\n :class=\"['truncate']\"\n :style=\"wrapInlineStyle\"\n >\n <slot />\n </div>\n\n <template v-if=\"model\">\n <OrIcon :icon=\"model.direction === 'asc' ? 'arrow_upward' : 'arrow_downward'\" />\n </template>\n\n <div\n v-if=\"isResizable\"\n :class=\"resizeHandleStyles\"\n @mousedown.stop.prevent=\"onResizeStart\"\n @click.stop\n />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { OrIconV3 as OrIcon } from '@onereach/ui-components.or-icon-v3';\nimport { useElementSize } from '@vueuse/core';\nimport { PropType, computed, defineComponent, ref, watch } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DataGridModelValue, DATA_GRID_DEFAULT_MIN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderCell',\n\n components: {\n OrIcon,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: Object as PropType<NonNullable<DataGridModelValue>['sorting']>,\n default: undefined,\n },\n\n column: {\n type: Object as PropType<Omit<DataGridColumn, 'name'> & {name?: string;}>,\n default: undefined,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: undefined,\n },\n },\n\n emits: [\n 'update:modelValue',\n\n 'update:scrollOffset',\n 'remove:scrollOffset',\n\n 'update:column-width',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n // const isSortable = computed(() => (props.features?.sorting && !props.column?.sorting === false) || !!props.column?.name);\n const isSortable = computed(() => !!props.features?.sorting && !!props.column?.name && props.column?.sorting !== false);\n const isResizable = computed(() => !!props.features?.resizing && !!props.column?.name);\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-cell-v3',\n 'relative',\n ...Styles.DataGridTableHeaderCell,\n ...props.column?.stickiness ? [`sticky-${props.column.stickiness}`] : [],\n ...isSortable.value ? ['interactivity-click'] : [],\n ]);\n\n const resizeHandleStyles = computed(() => [\n 'or-data-grid-table-header-cell-resize-handle-v3',\n ...Styles.DataGridTableHeaderCellResizeHandle,\n ]);\n\n const wrapInlineStyle = computed(() => {\n return {\n minWidth: props.column?.minWidth || DATA_GRID_DEFAULT_MIN_WIDTH,\n maxWidth: props.column?.maxWidth,\n };\n });\n\n const rootInlineStyles = computed(() => {\n if (props.column) {\n switch (props.column.stickiness) {\n case 'start':\n return {\n position: 'sticky',\n insetInlineStart: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n case 'end':\n return {\n position: 'sticky',\n insetInlineEnd: '0',\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n\n default:\n return {\n flexDirection: props.column.alignment === 'end' ? 'row-reverse' : undefined,\n justifyContent: props.column.alignment,\n } as Partial<CSSStyleDeclaration>;\n }\n }\n\n return {\n justifyContent: 'center',\n } as Partial<CSSStyleDeclaration>;\n });\n\n // State\n const model = computed({\n get: () => {\n if (!isSortable.value) {\n return;\n }\n\n return props.modelValue?.column === props.column?.name ? props.modelValue : undefined;\n },\n\n set: (value) => {\n context.emit('update:modelValue', value);\n },\n });\n\n // Methods\n function toggleSorting(): void {\n if (!isSortable.value) {\n return;\n }\n\n if (model.value) {\n model.value = {\n ...model.value,\n direction: model.value.direction === 'asc' ? 'desc' : 'asc',\n };\n } else {\n if (!props.column) {\n throw new Error('[OrDataGridTableHeaderCell]: `column` must be specified.');\n }\n\n model.value = {\n column: props.column?.name || '_check',\n direction: 'asc',\n };\n }\n }\n\n function onResizeStart(event: MouseEvent): void {\n const startX = event.pageX;\n const startWidth = root.value?.offsetWidth || 0;\n\n const onMouseMove = (moveEvent: MouseEvent) => {\n const deltaX = moveEvent.pageX - startX;\n let newWidth = Math.max(0, startWidth + deltaX);\n\n const min = props.column?.minWidth || DATA_GRID_DEFAULT_MIN_WIDTH;\n if (min && (min.endsWith('px') || !isNaN(Number(min)))) {\n const minPx = parseInt(min, 10);\n newWidth = Math.max(newWidth, minPx);\n }\n\n if (props.column?.maxWidth && (props.column.maxWidth.endsWith('px') || !isNaN(Number(props.column.maxWidth)))) {\n const maxPx = parseInt(props.column.maxWidth, 10);\n newWidth = Math.min(newWidth, maxPx);\n }\n\n context.emit('update:column-width', newWidth);\n };\n\n const onMouseUp = () => {\n document.removeEventListener('mousemove', onMouseMove);\n document.removeEventListener('mouseup', onMouseUp);\n };\n\n document.addEventListener('mousemove', onMouseMove);\n document.addEventListener('mouseup', onMouseUp);\n }\n\n // Effects\n const { width } = useElementSize(root, undefined, { box: 'border-box' });\n\n watch([\n root,\n width,\n () => props.column?.stickiness,\n ], ([\n nextRoot,\n width,\n ], [\n prevRoot,\n ]) => {\n if (prevRoot && prevRoot !== nextRoot) {\n context.emit('remove:scrollOffset', prevRoot);\n }\n\n context.emit('update:scrollOffset', nextRoot, width, props.column);\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n wrapInlineStyle,\n resizeHandleStyles,\n isSortable,\n isResizable,\n\n model,\n\n toggleSorting,\n onResizeStart,\n\n DATA_GRID_DEFAULT_MIN_WIDTH,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableHeaderRow: string[] = [\n // Position\n 'sticky top-0 z-10',\n\n // Layout\n 'grid grid-cols-[subgrid] col-span-full',\n\n // Typography\n 'typography-body-2-semibold',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-surface-variant-1',\n 'dark:children:theme-background-surface-variant-1-dark',\n];\n\nexport const DataGridTableHeaderRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeaderRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-row-v3',\n ...Styles.DataGridTableHeaderRow,\n ...Styles.DataGridTableHeaderRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTableHeader: string[] = [\n // Layout\n 'contents',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableHeader',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-header-v3',\n ...Styles.DataGridTableHeader,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTablePlaceholder: string[] = [\n // Layout\n 'layout-row justify-center items-center',\n\n // Spacing\n 'px-sm+',\n 'py-xs',\n\n 'gap-xs',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-foreground-default',\n 'dark:theme-foreground-default-dark',\n\n 'theme-background-default',\n 'dark:theme-background-default-dark',\n];\n\nexport const DataGridTablePlaceholderVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTablePlaceholder',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-placeholder-v3',\n ...Styles.DataGridTablePlaceholder,\n ...Styles.DataGridTablePlaceholderVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGridTable: string[] = [\n // Layout\n 'grid content-start',\n\n // Overflow\n 'overflow-auto',\n\n // Interactivity\n 'interactivity-default',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n :style=\"rootInlineStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridColumn, DataGridFeatures, DATA_GRID_DEFAULT_MIN_WIDTH } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTable',\n\n props: {\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-v3',\n ...Styles.DataGridTable,\n ]);\n\n const rootInlineStyles = computed(() => {\n const gridTemplateColumns = props.columns.map((column) => {\n // If width is already a complex expression like minmax, use it as is\n if (column.width && (column.width.includes('minmax') || column.width.includes('calc'))) {\n return column.width;\n }\n\n const width = column.width ?? '1fr';\n const min = column.minWidth || DATA_GRID_DEFAULT_MIN_WIDTH;\n let max = column.maxWidth || width;\n\n if (width.endsWith('px')) {\n max = width;\n }\n\n return `minmax(${min}, ${max})`;\n });\n\n if ((props.features as DataGridFeatures).selecting) {\n return { gridTemplateColumns: `auto ${gridTemplateColumns.join(' ')}` };\n }\n\n return { gridTemplateColumns: gridTemplateColumns.join(' ') };\n });\n\n return {\n root,\n rootStyles,\n rootInlineStyles,\n };\n },\n});\n</script>\n","export const DataGridToolbar: string[] = [\n // Layout\n 'layout-row',\n\n // Box\n 'h-2xl',\n\n // Spacing\n 'gap-xl',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { computed, defineComponent, ref } from 'vue';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridToolbar',\n\n expose: [\n 'root',\n ],\n\n setup() {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-toolbar-v3',\n ...Styles.DataGridToolbar,\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridNotification: string[] = [\n // Position\n 'grid sticky z-10',\n\n // Layout\n 'col-span-full',\n];\n\nexport const DataGridNotificationPositionVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Position\n 'top-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Position\n 'top-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Position\n 'top-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n\n","<template>\n <div :class=\"rootStyles\">\n <OrNotification\n v-bind=\"notification\"\n class=\"rounded-0 shadow-none\"\n @close=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrNotification>\n </div>\n</template>\n<script lang=\"ts\">\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { computed, defineComponent, PropType } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\n\nexport default defineComponent({\n components: {\n OrNotification,\n },\n props: {\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n required: true,\n },\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n emits: [\n 'close-notification',\n ],\n setup(props) {\n const rootStyles = computed(() => [\n 'or-data-grid-notification-v3',\n ...Styles.DataGridNotification,\n ...Styles.DataGridNotificationPositionVariants[props.variant],\n ]);\n\n return {\n rootStyles,\n };\n },\n});\n</script>\n","import { DataGridVariant } from '../../types';\n\nexport const DataGridTableExtraRow: string[] = [\n // Layout\n 'grid col-span-full grid-cols-[subgrid]',\n\n // Typography\n 'typography-body-2-regular',\n\n // Theme\n 'theme-border-disabled',\n 'dark:theme-border-disabled-dark',\n\n // Theme (children)\n 'children:theme-foreground-default',\n 'dark:children:theme-foreground-default-dark',\n\n 'children:theme-background-default',\n 'dark:children:theme-background-default-dark',\n];\n\nexport const DataGridTableExtraRowVariants: Record<DataGridVariant, string[]> = {\n [DataGridVariant.Standard]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Comfortable]: [\n // Box\n 'min-h-[calc(theme(spacing.3xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Compact]: [\n // Box\n 'min-h-[calc(theme(spacing.xl)+theme(spacing.xs))]',\n ],\n\n [DataGridVariant.Dynamic]: [\n // Box\n 'min-h-[calc(theme(spacing.2xl)+theme(spacing.xs))]',\n ],\n};\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <slot />\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { PropType, computed, defineComponent, ref } from 'vue';\n\nimport { DataGridVariant } from '../../types';\n\nimport * as Styles from './styles';\n\nexport default defineComponent({\n name: 'OrDataGridTableExtraRow',\n\n props: {\n variant: {\n type: String as PropType<DataGridVariant>,\n required: true,\n },\n },\n\n expose: [\n 'root',\n ],\n\n setup(props) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-table-extra-row-v3',\n ...Styles.DataGridTableExtraRow,\n ...Styles.DataGridTableExtraRowVariants[props.variant],\n ]);\n\n return {\n root,\n rootStyles,\n };\n },\n});\n</script>\n","export const DataGrid: string[] = [\n // Layout\n 'layout-column',\n];\n","<template>\n <div\n :ref=\"'root'\"\n :class=\"rootStyles\"\n >\n <template v-if=\"$slots['title'] || features.searching || $slots['search'] || $slots['extraActions']\">\n <OrDataGridHeader\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"$slots['title']\"\n v-slot:title\n >\n <slot :name=\"'title'\" />\n </template>\n\n <template\n v-if=\"features.searching\"\n v-slot:searching\n >\n <slot\n name=\"search\"\n v-bind=\"{updateSearchingModel, searchingModel}\"\n >\n <OrSearch v-model=\"searchingModel\" />\n </slot>\n </template>\n\n <template\n v-if=\"$slots['extraActions']\"\n v-slot:extraActions\n >\n <slot :name=\"'extraActions'\" />\n </template>\n </OrDataGridHeader>\n </template>\n\n <template v-if=\"$slots['toolbar']\">\n <OrDataGridToolbar\n :class=\"['shrink-0']\"\n >\n <slot :name=\"'toolbar'\" />\n </OrDataGridToolbar>\n </template>\n\n <OrDataGridTable\n ref=\"table\"\n :class=\"['grow', { 'grid-rows-[auto_1fr]': items.length === 0 }]\"\n :style=\"tableInlineStyles\"\n :columns=\"columns\"\n :features=\"features\"\n >\n <OrDataGridTableHeader>\n <OrDataGridTableHeaderRow\n :variant=\"variant\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableHeaderCell\n :column=\"{ stickiness: 'start' }\"\n class=\"md:!py-none\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n >\n <OrCheckbox\n v-model=\"selectingIndicator\"\n :indeterminate=\"!selectingIndicator && selectingModel.length > 0\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableHeaderCell>\n </template>\n\n <OrDataGridTableHeaderCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n v-model=\"sortingModel\"\n :column=\"column\"\n :features=\"features\"\n @update:scroll-offset=\"updateScrollOffset\"\n @remove:scroll-offset=\"removeScrollOffset\"\n @update:column-width=\"(width) => updateColumnWidth(column, width)\"\n >\n {{ column.label }}\n </OrDataGridTableHeaderCell>\n </OrDataGridTableHeaderRow>\n </OrDataGridTableHeader>\n <OrDataGridNotification\n v-if=\"notification\"\n :notification=\"notification\"\n :variant=\"variant\"\n @close-notification=\"$emit('close-notification')\"\n >\n <template\n v-if=\"$slots['notification']\"\n v-slot:notification\n >\n <slot :name=\"'notification'\" />\n </template>\n </OrDataGridNotification>\n <OrDataGridTableContent>\n <template v-if=\"$slots['before-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n class=\"border-b-1\"\n >\n <slot :name=\"'before-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n <template v-if=\"loading\">\n <OrDataGridTableContentRow\n v-for=\"n of skeletonsLength\"\n :key=\"n\"\n :variant=\"variant\"\n :interactive=\"interactiveRows\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ stickiness: 'start' }\"\n :variant=\"variant\"\n :override=\"true\"\n >\n <OrSkeletonText />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n :column=\"column\"\n :features=\"features\"\n :variant=\"variant\"\n :override=\"true\"\n >\n <slot\n name=\"column-loading\"\n :column=\"column\"\n >\n <OrSkeletonText />\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"items.length > 0\">\n <OrDataGridTableContentRow\n v-for=\"item of items\"\n :key=\"item.id\"\n :variant=\"variant\"\n :selected=\"selectingModel.includes(item.id)\"\n :interactive=\"interactiveRows\"\n @mouseenter=\"() => handleMouseEnterRow(item)\"\n @mouseleave=\"() => handleMouseLeaveRow(item)\"\n @click=\"() => handleRowClick(item)\"\n >\n <template v-if=\"features.selecting\">\n <OrDataGridTableContentCell\n :column=\"{ stickiness: 'start' }\"\n :variant=\"variant\"\n :override=\"true\"\n :force-state=\"'none'\"\n class=\"md:!py-none\"\n @mouseenter=\"() => handleMouseEnterCell(item, 'selecting', selectingModel.includes(item.id))\"\n @mouseleave=\"() => handleMouseLeaveCell(item, 'selecting', selectingModel.includes(item.id))\"\n >\n <OrCheckbox\n v-model=\"selectingModel\"\n :value=\"item.id\"\n :disabled=\"selectingDisabled\"\n />\n </OrDataGridTableContentCell>\n </template>\n\n <OrDataGridTableContentCell\n v-for=\"column of columns\"\n :key=\"column.name\"\n :model-value=\"item[column.name]\"\n :column=\"column\"\n :features=\"features\"\n :variant=\"variant\"\n @input=\"onInput(item, column.name, $event)\"\n @focusin=\"scrollTo($event)\"\n @mouseenter=\"() => handleMouseEnterCell(item, column.name, item[column.name])\"\n @mouseleave=\"() => handleMouseLeaveCell(item, column.name, item[column.name])\"\n >\n <slot\n :name=\"column.name\"\n :column=\"column\"\n :item=\"item\"\n >\n {{ item[column.name] }}\n </slot>\n </OrDataGridTableContentCell>\n </OrDataGridTableContentRow>\n </template>\n\n <template v-else-if=\"$slots['noSearchResults'] && ((features.filtering && filteringModel) || (features.searching && searchingModel))\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot\n :name=\"'noSearchResults'\"\n :filter=\"filteringModel\"\n :search=\"searchingModel\"\n />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-else-if=\"$slots['empty']\">\n <OrDataGridTablePlaceholder\n :class=\"['col-span-full']\"\n :variant=\"variant\"\n >\n <slot :name=\"'empty'\" />\n </OrDataGridTablePlaceholder>\n </template>\n\n <template v-if=\"$slots['after-rows']\">\n <OrDataGridTableExtraRow\n :variant=\"variant\"\n >\n <slot :name=\"'after-rows'\" />\n </OrDataGridTableExtraRow>\n </template>\n </OrDataGridTableContent>\n </OrDataGridTable>\n\n <template v-if=\"$slots['extra-row']\">\n <OrDataGridTableFooter>\n <OrDataGridTableFooterRow\n :class=\"['shrink-0']\"\n :variant=\"variant\"\n >\n <OrDataGridTableFooterCell>\n <slot :name=\"'extra-row'\" />\n </OrDataGridTableFooterCell>\n </OrDataGridTableFooterRow>\n </OrDataGridTableFooter>\n </template>\n\n <template v-if=\"$slots['actions'] || showSelectingCouter || features.paging\">\n <OrDataGridFooter\n :class=\"['shrink-0']\"\n >\n <template\n v-if=\"features.selecting && selectingModel.length > 0\"\n v-slot:status\n >\n {{ selectingModel.length }} row(s) selected\n </template>\n\n <template\n v-if=\"$slots['actions']\"\n v-slot:actions\n >\n <slot :name=\"'actions'\" />\n </template>\n\n <template\n v-if=\"features.paging\"\n v-slot:paging\n >\n <OrPagination\n ref=\"pagination\"\n v-model=\"pagingModel\"\n :length=\"features.paging.length\"\n :options=\"features.paging.options\"\n />\n </template>\n </OrDataGridFooter>\n </template>\n </div>\n</template>\n\n<script lang=\"ts\">\nimport { DataModel, Id } from '@onereach/ui-components-common/types';\nimport { OrCheckboxV3 as OrCheckbox } from '@onereach/ui-components.or-checkbox-v3';\nimport { OrNotificationV3 as OrNotification } from '@onereach/ui-components.or-notification-v3';\nimport { OrPaginationV3 as OrPagination } from '@onereach/ui-components.or-pagination-v3';\nimport { OrSearchV3 as OrSearch } from '@onereach/ui-components.or-search-v3';\nimport { OrSkeletonTextV3 as OrSkeletonText } from '@onereach/ui-components.or-skeleton-v3';\nimport { PropType, computed, defineComponent, onMounted, ref, watch } from 'vue';\n\nimport * as Partials from './partials';\nimport * as Styles from './styles';\nimport { DataGridColumn, DataGridFeatures, DataGridItem, DataGridModelValue, DataGridVariant } from './types';\n\n// Vue 2 doesn't support generically typed components\ntype T = DataModel<{ id: Id; [key: string]: unknown; }>;\n\nexport default defineComponent({\n name: 'OrDataGrid',\n\n components: {\n OrCheckbox,\n OrDataGridFooter: Partials.OrDataGridFooter,\n OrDataGridHeader: Partials.OrDataGridHeader,\n OrDataGridTable: Partials.OrDataGridTable,\n OrDataGridTableContent: Partials.OrDataGridTableContent,\n OrDataGridTableContentCell: Partials.OrDataGridTableContentCell,\n OrDataGridTableContentRow: Partials.OrDataGridTableContentRow,\n OrDataGridTableFooter: Partials.OrDataGridTableFooter,\n OrDataGridTableFooterCell: Partials.OrDataGridTableFooterCell,\n OrDataGridTableFooterRow: Partials.OrDataGridTableFooterRow,\n OrDataGridTableExtraRow: Partials.OrDataGridTableExtraRow,\n OrDataGridTableHeader: Partials.OrDataGridTableHeader,\n OrDataGridTableHeaderCell: Partials.OrDataGridTableHeaderCell,\n OrDataGridTableHeaderRow: Partials.OrDataGridTableHeaderRow,\n OrDataGridTablePlaceholder: Partials.OrDataGridTablePlaceholder,\n OrDataGridToolbar: Partials.OrDataGridToolbar,\n OrDataGridNotification: Partials.OrDataGridNotification,\n OrPagination,\n OrSearch,\n OrSkeletonText,\n },\n\n model: {\n prop: 'modelValue',\n event: 'update:modelValue',\n },\n\n props: {\n modelValue: {\n type: undefined as unknown as PropType<DataGridModelValue>,\n default: undefined,\n },\n\n items: {\n type: Array as PropType<DataGridItem<T>[]>,\n default: () => [],\n },\n\n columns: {\n type: Array as PropType<DataGridColumn[]>,\n required: true,\n },\n\n variant: {\n type: String as PropType<DataGridVariant>,\n default: () => DataGridVariant.Standard,\n },\n\n features: {\n type: Object as PropType<DataGridFeatures>,\n default: () => ({}),\n },\n\n loading: {\n type: Boolean,\n default: false,\n },\n\n notification: {\n type: Object as PropType<InstanceType<typeof OrNotification>['$props']>,\n default: undefined,\n },\n\n interactiveRows: {\n type: Boolean,\n default: false,\n },\n },\n\n emits: [\n 'update:modelValue',\n 'update:item',\n 'close-notification',\n 'hover:row',\n 'blur:row',\n 'hover:cell',\n 'blur:cell',\n 'click:row',\n ],\n\n expose: [\n 'root',\n ],\n\n setup(props, context) {\n // Refs & Styles\n const root = ref<HTMLElement>();\n\n const pagination = ref<InstanceType<typeof OrPagination>>();\n const table = ref<InstanceType<typeof Partials.OrDataGridTable>>();\n\n const rootStyles = computed(() => [\n 'or-data-grid-v3',\n ...Styles.DataGrid,\n ]);\n\n const tableInlineStyles = computed(() => ({\n scrollPaddingInlineStart: `${[...scrollOffsetStart.value.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n scrollPaddingInlineEnd: `${[...scrollOffsetEnd.value.values()].reduce((accumulator, value) => accumulator + value, 0)}px`,\n }));\n\n // State\n const selectingIndicator = computed({\n get: () => {\n return !!props.items.length && props.items.every((item) => selectingModel.value.includes(item.id));\n },\n\n set: (value) => {\n if (value) {\n selectingModel.value = [\n ...new Set([\n ...selectingModel.value,\n ...props.items.map((item) => item.id),\n ]),\n ];\n } else {\n selectingModel.value = [];\n }\n },\n });\n\n const selectingModel = computed({\n get: () => props.modelValue?.selecting ?? [],\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n paging: pagingModel.value,\n } as DataGridModelValue);\n },\n });\n\n const filteringModel = computed({\n get: () => props.modelValue?.filtering,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const searchingModel = computed({\n get: () => props.modelValue?.searching,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: value,\n sorting: sortingModel.value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const sortingModel = computed({\n get: () => props.modelValue?.sorting,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: value,\n\n paging: {\n ...pagingModel.value,\n offset: 0,\n },\n } as DataGridModelValue);\n },\n });\n\n const pagingModel = computed({\n get: () => props.modelValue?.paging,\n\n set: (value) => {\n context.emit('update:modelValue', {\n selecting: selectingModel.value,\n filtering: filteringModel.value,\n searching: searchingModel.value,\n sorting: sortingModel.value,\n paging: value,\n } as DataGridModelValue);\n },\n });\n\n watch(() => pagingModel.value?.offset, () => {\n if (table.value?.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n });\n\n const scrollOffsetStart = ref(new Map<HTMLElement, number>());\n const scrollOffsetEnd = ref(new Map<HTMLElement, number>());\n\n const showSelectingCouter = computed(() => {\n return props.features.selecting &&\n (typeof props.features.selecting === 'object' ? props.features.selecting.showCounter !== false : true);\n });\n\n const selectingDisabled = computed(() => {\n return props.items.length === 0\n || props.loading\n || (typeof props.features.selecting === 'object' && props.features.selecting.disabled);\n\n });\n\n const skeletonsLength = computed(() => {\n return pagination.value?.currentLimit || 10;\n });\n\n // Methods\n function updateSearchingModel(value: string): void {\n searchingModel.value = value;\n }\n\n function updateScrollOffset(header: HTMLElement, offset: number, column: DataGridColumn): void {\n switch (column.stickiness) {\n case 'start':\n scrollOffsetStart.value.set(header, offset);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.delete(header);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n\n break;\n\n case 'end':\n scrollOffsetStart.value.delete(header);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.set(header, offset);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n\n break;\n\n default:\n removeScrollOffset(header);\n break;\n }\n }\n\n function handleMouseEnterRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('hover:row', item);\n }\n\n function handleMouseLeaveRow(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('blur:row', item);\n }\n\n function handleMouseEnterCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('hover:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleMouseLeaveCell(item: DataGridItem<T>, columnName: string, value: unknown): void {\n if (!props.interactiveRows) return;\n context.emit('blur:cell', {\n item,\n columnName,\n value,\n });\n }\n\n function handleRowClick(item: DataGridItem<T>): void {\n if (!props.interactiveRows) return;\n context.emit('click:row', item);\n }\n\n function updateColumnWidth(column: DataGridColumn, width: number): void {\n column.width = `${width}px`;\n\n if (props.features.storageKey) {\n saveColumnWidths();\n }\n }\n\n function saveColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n const widths: Record<string, string> = {};\n props.columns.forEach((column) => {\n if (column.name && column.width) {\n widths[column.name] = column.width;\n }\n });\n\n localStorage.setItem(`or-data-grid-v3-widths-${props.features.storageKey}`, JSON.stringify(widths));\n }\n\n function loadColumnWidths(): void {\n if (typeof window === 'undefined' || !props.features.storageKey) return;\n\n try {\n const stored = localStorage.getItem(`or-data-grid-v3-widths-${props.features.storageKey}`);\n if (stored) {\n const widths = JSON.parse(stored);\n props.columns.forEach((column) => {\n if (column.name && widths[column.name]) {\n column.width = widths[column.name];\n }\n });\n }\n } catch (e) {\n console.error('[OrDataGrid]: Failed to load column widths from localStorage', e);\n }\n }\n\n onMounted(() => {\n loadColumnWidths();\n });\n\n // function handleCellClick(item: DataGridItem<T>, columnName: string, value: any): void {\n // if (!props.interactiveRows) return;\n // context.emit('click:cell', { item, columnName, value });\n // }\n\n function removeScrollOffset(header: HTMLElement): void {\n scrollOffsetStart.value.delete(header);\n scrollOffsetStart.value = new Map(scrollOffsetStart.value);\n\n scrollOffsetEnd.value.delete(header);\n scrollOffsetEnd.value = new Map(scrollOffsetEnd.value);\n }\n\n // Helpers\n function scrollTo(event: FocusEvent): void {\n (event.currentTarget as HTMLElement).scrollIntoView({ block: 'nearest' });\n }\n\n return {\n root,\n rootStyles,\n\n pagination,\n\n tableInlineStyles,\n\n selectingIndicator,\n showSelectingCouter,\n selectingDisabled,\n skeletonsLength,\n\n handleMouseEnterRow,\n handleMouseLeaveRow,\n handleMouseEnterCell,\n handleMouseLeaveCell,\n handleRowClick,\n\n updateColumnWidth,\n\n selectingModel,\n filteringModel,\n searchingModel,\n sortingModel,\n pagingModel,\n\n updateScrollOffset,\n removeScrollOffset,\n\n updateSearchingModel,\n\n scrollToTop: () => {\n if (table.value?.root) {\n table.value.root.scrollTo({\n top: 0,\n behavior: 'smooth',\n });\n }\n },\n\n scrollTo,\n onInput: (item: DataGridItem<T>, columnName: string, value: unknown) => {\n item[columnName] = value;\n context.emit('update:item', item);\n },\n };\n },\n});\n</script>\n"],"names":["DataGridFooter","DataGridFooterStatus","_sfc_main$g","defineComponent","root","ref","rootStyles","computed","Styles.DataGridFooter","statusStyles","Styles.DataGridFooterStatus","_hoisted_1","_sfc_render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","_createCommentVNode","_renderSlot","DataGridHeader","DataGridHeaderTitle","_sfc_main$f","Styles.DataGridHeader","titleStyles","Styles.DataGridHeaderTitle","DataGridVariant","DATA_GRID_DEFAULT_MIN_WIDTH","DataGridTableContentCell","DataGridTableContentCellContent","_sfc_main$e","OrCheckbox","OrDatePicker","OrDateTimePicker","OrInput","OrRating","OrSelect","OrSwitch","OrTagInput","OrTimePicker","props","context","Styles.DataGridTableContentCell","_a","rootInlineStyles","contentStyles","isWrapping","_b","Styles.DataGridTableContentCellContent","style","contentInlineStyles","model","value","control","_resolveComponent","_normalizeStyle","_Fragment","_createBlock","_component_OrInput","$event","_component_OrRating","_component_OrSelect","_component_OrCheckbox","_component_OrSwitch","_component_OrDatePicker","_component_OrTimePicker","_component_OrDateTimePicker","_component_OrTagInput","DataGridTableContentRow","DataGridTableContentRowVariants","_sfc_main$d","Styles.DataGridTableContentRow","Styles.DataGridTableContentRowVariants","DataGridTableContent","_sfc_main$c","Styles.DataGridTableContent","DataGridTableFooterCell","_sfc_main$b","Styles.DataGridTableFooterCell","DataGridTableFooterRow","DataGridTableFooterRowVariants","_sfc_main$a","Styles.DataGridTableFooterRow","Styles.DataGridTableFooterRowVariants","DataGridTableFooter","_sfc_main$9","Styles.DataGridTableFooter","DataGridTableHeaderCell","DataGridTableHeaderCellResizeHandle","_sfc_main$8","OrIcon","isSortable","_c","isResizable","Styles.DataGridTableHeaderCell","resizeHandleStyles","Styles.DataGridTableHeaderCellResizeHandle","wrapInlineStyle","toggleSorting","onResizeStart","event","startX","startWidth","onMouseMove","moveEvent","deltaX","newWidth","min","minPx","maxPx","onMouseUp","width","useElementSize","watch","nextRoot","prevRoot","_component_OrIcon","_withModifiers","args","DataGridTableHeaderRow","DataGridTableHeaderRowVariants","_sfc_main$7","Styles.DataGridTableHeaderRow","Styles.DataGridTableHeaderRowVariants","DataGridTableHeader","_sfc_main$6","Styles.DataGridTableHeader","DataGridTablePlaceholder","DataGridTablePlaceholderVariants","_sfc_main$5","Styles.DataGridTablePlaceholder","Styles.DataGridTablePlaceholderVariants","DataGridTable","_sfc_main$4","Styles.DataGridTable","gridTemplateColumns","column","max","DataGridToolbar","_sfc_main$3","Styles.DataGridToolbar","DataGridNotification","DataGridNotificationPositionVariants","_sfc_main$2","OrNotification","Styles.DataGridNotification","Styles.DataGridNotificationPositionVariants","_createVNode","_component_OrNotification","_mergeProps","_withCtx","DataGridTableExtraRow","DataGridTableExtraRowVariants","_sfc_main$1","Styles.DataGridTableExtraRow","Styles.DataGridTableExtraRowVariants","DataGrid","_sfc_main","Partials.OrDataGridFooter","Partials.OrDataGridHeader","Partials.OrDataGridTable","Partials.OrDataGridTableContent","Partials.OrDataGridTableContentCell","Partials.OrDataGridTableContentRow","Partials.OrDataGridTableFooter","Partials.OrDataGridTableFooterCell","Partials.OrDataGridTableFooterRow","Partials.OrDataGridTableExtraRow","Partials.OrDataGridTableHeader","Partials.OrDataGridTableHeaderCell","Partials.OrDataGridTableHeaderRow","Partials.OrDataGridTablePlaceholder","Partials.OrDataGridToolbar","Partials.OrDataGridNotification","OrPagination","OrSearch","OrSkeletonText","pagination","table","Styles.DataGrid","tableInlineStyles","scrollOffsetStart","accumulator","scrollOffsetEnd","selectingIndicator","item","selectingModel","filteringModel","searchingModel","sortingModel","pagingModel","showSelectingCouter","selectingDisabled","skeletonsLength","updateSearchingModel","updateScrollOffset","header","offset","removeScrollOffset","handleMouseEnterRow","handleMouseLeaveRow","handleMouseEnterCell","columnName","handleMouseLeaveCell","handleRowClick","updateColumnWidth","saveColumnWidths","widths","loadColumnWidths","stored","e","onMounted","scrollTo","_component_OrDataGridHeader","_createSlots","_normalizeProps","_guardReactiveProps","_component_OrSearch","_component_OrDataGridToolbar","_component_OrDataGridTable","_component_OrDataGridTableHeader","_component_OrDataGridTableHeaderRow","_component_OrDataGridTableHeaderCell","_renderList","_component_OrDataGridNotification","_component_OrDataGridTableContent","_component_OrDataGridTableExtraRow","n","_component_OrDataGridTableContentRow","_component_OrDataGridTableContentCell","_component_OrDataGridTablePlaceholder","_component_OrDataGridTableFooter","_component_OrDataGridTableFooterRow","_component_OrDataGridTableFooterCell","_component_OrDataGridFooter","_component_OrPagination"],"mappings":";;;;;;;;;;;;;;;;;;;AAAO,MAAMA,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAiC;AAAA;AAAA,EAE5C;AACF,GCEAC,KAAeC,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGC;AAAAA,IAAO,CACX,GAEKC,IAAeF,EAAS,MAAM;AAAA,MAClC,GAAGG;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAN;AAAA,MACA,YAAAE;AAAA,MAEA,cAAAG;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GAvCWE,KAAK;AAAA,EAAA,KAAA;AAAA;;SAZPC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEFC,EAAMR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IACTA,EAAA,OAAA,UAAAM,EAAA,GAAAC,EAAE,OAAY;AAAA,MAAA,KAAA;AAAA,MACvB,OAAAC,EAAyBR,EAAZ,YAAQ;AAAA,IAAA,GAAA;AAAA;IAIzB,GAAA,CAAA,KAEgBS,EAAM,IAAA,EAAA;AAAA,IACpBC,EAAAV,EAAA,QAAA,SAAA;AAAA,IAAAA,EAAA,OAAA,UAGFM,KAAqBC,EAAA,OAAAT,EAAA,KAAAW,EAAA,IAAA,EAAA;AAAA;;;oDCjBZE,KAA2B;AAAA;AAAA,EAEtC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GAEaC,KAAgC;AAAA;AAAA,EAE3C;AACF,GCcAC,KAAevB,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGoB;AAAAA,IAAO,CACX,GAEKC,IAAcrB,EAAS,MAAM;AAAA,MACjC,GAAGsB;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAzB;AAAA,MACA,YAAAE;AAAA,MAEA,aAAAsB;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC,GA3CWjB,KAAK;AAAA,EAAA,KAAA;AAAA;;SAVPC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,WAEFC,EAAMR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IACTA,EAAA,OAAA,SAAAM,EAAA,GAAAC,EAAE,OAAW;AAAA,MAAA,KAAA;AAAA,MACtB,OAAAC,EAAwBR,EAAX,WAAO;AAAA,IAAA,GAAA;AAAA;IAKtB,GAAA,CAAA,KAAAS,EAAA,IAAA,EAAA;AAAA,IAGFT,EAAA,OAAA,aAAAA,EAAA,OAAA,gBAAAM,EAAA,GAAwBC,EAAA,OAAAT,EAAA,KAERW,EAAM,IAAA,EAAA;AAAA,IAAAC,EACpBV,EAA+B,QAAlB,WAAA;AAAA,IAAAA,EAAA,OAAA,eAAAU,EAAAV,EAAA,QAAA,gBAAA,EAAA,KAAA,EAAA,CAAA,IAAAS,EAAA,IAAA,EAAA;AAAA;;;ACuBP,IAAAQ,sBAAAA,OACVA,EAAA,WAAW,YACXA,EAAA,cAAc,eACdA,EAAA,UAAU,WACVA,EAAA,UAAU,WAJAA,IAAAA,KAAA,CAAA,CAAA;AAyBL,MAAMC,IAA8B,QClE9BC,KAAqC;AAAA;AAAA,EAEhD;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAEaC,KAA4C;AAAA;AAAA,EAEvD;AAAA;AAAA,EAGA;AACF,GCoEAC,KAAe/B,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAAgC;AAAA,IACA,cAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,SAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,UAAAC;AAAA,IACA,YAAAC;AAAA,IACA,cAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA;AAAA,MAEV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAASb,EAAgB;AAAA,IAC3B;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMc,GAAOC,GAAS;AAEpB,UAAMzC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;;AAAA;AAAA,QAChC;AAAA,QACA,GAAGuC;AAAAA,QACH,IAAGC,IAAAH,EAAM,WAAN,QAAAG,EAAc,aAAa,CAAC,UAAUH,EAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,MAAA;AAAA,KACxE,GAEKI,IAAmBzC,EAAS,MAAM;AACtC,UAAIqC,EAAM;AACA,gBAAAA,EAAM,OAAO,YAAY;AAAA,UAC/B,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,kBAAkB;AAAA,cAClB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,gBAAgB;AAAA,cAChB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC;AACS,mBAAA;AAAA,cACL,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,QAEnC;AAGK,aAAA;AAAA,QACL,gBAAgB;AAAA,MAAA;AAAA,IAClB,CACD,GAEKK,IAAgB1C,EAAS,MAAM;;AAC7B,YAAA2C,MAAaH,IAAAH,EAAM,WAAN,gBAAAG,EAAc,cAAaH,EAAM,YAAYd,EAAgB,WAAW,GAACqB,IAAAP,EAAM,WAAN,QAAAO,EAAc;AAEnG,aAAA;AAAA,QACL,GAAGC,GAAuC,OAAO,CAACC,MAAUA,MAAU,UAAU;AAAA,QAChF,GAAGH,IAAa,CAAC,iCAAiC,IAAI,CAAC,UAAU;AAAA,MAAA;AAAA,IACnE,CACD,GAEKI,IAAsB/C,EAAS,OAAO;AAAA,MAC1C,UAAWqC,EAAM,UAAUA,EAAM,OAAO,YAAab;AAAA,MACrD,UAAUa,EAAM,UAAUA,EAAM,OAAO;AAAA,IACvC,EAAA,GAGIW,IAAQhD,EAAS;AAAA,MACrB,KAAK,MAAMqC,EAAM;AAAA,MAEjB,KAAK,CAACY,MAAU;AACN,QAAAX,EAAA,KAAK,SAASW,CAAK;AAAA,MAC7B;AAAA,IAAA,CACD,GAEKC,IAAUlD,EAAS,MAAM;;AAC7B,cAAOwC,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA,IAAA,CACtB;AAEM,WAAA;AAAA,MACL,MAAA3C;AAAA,MACA,YAAAE;AAAA,MACA,kBAAA0C;AAAA,MACA,eAAAC;AAAA,MACA,qBAAAK;AAAA,MAEA,OAAAC;AAAA,MAEA,SAAAE;AAAA,MAEA,6BAAA1B;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qLA3PC2B,EA6FM,YAAA;SA3FEvC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,WAEU8C,EAAQ9C,EAAA,gBAAA;AAAA,EAAA,GAAA;AAAA,MAIH,WAArBU,EAAAV,EAAA,QAAA,WAAA,EA0EW,cAzEO,WAKZM,KAAAC,EAAAwC,GAAA,EAAA,KAAA,KAAA;AAAA,MAAA/C,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHS0C,EAAKC,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAYjD,EAAA;AAAA,QACZ,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,QAAAkD;AAAA,QAAA,MAAA;AAAA;SAID,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAzC,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GAHS0C,EAAKC,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAMjD,EAAQ;AAAA,QACd,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,QAAAkD;AAAA,QAAA,MAAA;AAAA;SAID,MAAA,GAAC,CAAI,YAAA,CAAA,KAAAzC,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GADS0C,EAAKG,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAA1C,EAC1B,IAKE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GAJS0C,EAAKI,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASpD,EAAA;AAAA,QACT,uBAAmBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,QAAAkD;AAAA,QACnB,SAAQlD,EAAI,QAAA;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,WAAA,QAAA,CAAA,KAAAS,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,cAAAM,EAAA,GADS0C,EAAKK,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAA5C,EAC1B,IAEE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,YAAAM,EAAA,GADS0C,EAAKM,GAAA;AAAA,QAAA,KAAA;AAAA;;SAIK,MAAA,GAAC,CAAI,YAAA,CAAA,KAAA7C,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHS0C,EAAKO,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASvD,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,QAAAkD;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAzC,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAHS0C,EAAKQ,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASxD,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,QAAAkD;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAzC,EAC1B,IAIE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,cAAAM,EAAA,GAHS0C,EAAKS,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAASzD,EAAA;AAAA,QACT,uBAAYC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,QAAAkD;AAAA,QAAA,SAAA;AAAA;SAIM,MAAA,GAAC,CAAI,cAAA,QAAA,CAAA,KAAAzC,EAC1B,IAGE,EAAA;AAAA,MAAAT,EAAA,QAAA,SAAA,UAAAM,EAAA,GAFS0C,EAAKU,GAAA;AAAA,QAAA,KAAA;AAAA,QACb,YAAS1D,EAAA;AAAA,QAAA,uBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,QAAAkD;AAAA;MAMd,GAAA,MAAA,GAAA,CAAA,YAAA,CAAA,KAAAzC,EAAA,IAAA,EAAA;AAAA,IAAA,GAAA,EAAA,MAAAH,KACUC,EAAA,OAAA;AAAA,MACP,KAAK;AAAA,MAAA,OAAAC,EAAAR,EAAA,aAAA;AAAA,MAEN,OAAQ8C,EAAA9C,EAAA,mBAAA;AAAA,IAAA,GAAA;AAAA;;;;oDCzFH2D,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAqE;AAAA,EAChF,CAAC3C,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCpCA4C,KAAevE,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,aAAa;AAAA,MACX,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMyC,GAAO;AAEX,UAAMxC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGoE;AAAAA,MACH,GAAGC,GAAuChC,EAAM,OAAO;AAAA,MACvD,GAAIA,EAAM,cAAc,CAAC,gBAAgB,IAAI,CAAC;AAAA,IAAA,CAC/C;AAEM,WAAA;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAvDSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAA;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,IAED,UAAQA,EAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNCgE,KAAiC;AAAA;AAAA,EAE5C;AACF,GCWAC,KAAe3E,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGwE;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAA3E;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCmE,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GCCAC,KAAe9E,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG2E;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAA9E;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHCsE,KAAmC;AAAA;AAAA,EAE9C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAoE;AAAA,EAC/E,CAACtD,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCzBAuD,KAAelF,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMyC,GAAO;AAEX,UAAMxC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG+E;AAAAA,MACH,GAAGC,GAAsC3C,EAAM,OAAO;AAAA,IAAA,CACvD;AAEM,WAAA;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLC2E,KAAgC;AAAA;AAAA,EAE3C;AACF,GCWAC,KAAetF,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGmF;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAAtF;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLC8E,KAAoC;AAAA;AAAA,EAE/C;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AACF,GAEaC,KAAgD;AAAA;AAAA,EAE3D;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GCPAC,KAAe1F,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,QAAA2F;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,QAAQ;AAAA,MACN,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IAEA;AAAA,IACA;AAAA,IAEA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMlD,GAAOC,GAAS;AAEpB,UAAMzC,IAAOC,KAEP0F,IAAaxF,EAAS,MAAA;;AAAM,cAAC,GAACwC,IAAAH,EAAM,aAAN,QAAAG,EAAgB,YAAW,CAAC,GAACI,IAAAP,EAAM,WAAN,QAAAO,EAAc,WAAQ6C,IAAApD,EAAM,WAAN,gBAAAoD,EAAc,aAAY;AAAA,KAAK,GAChHC,IAAc1F,EAAS,MAAM;;AAAA,cAAC,GAACwC,IAAAH,EAAM,aAAN,QAAAG,EAAgB,aAAY,CAAC,GAACI,IAAAP,EAAM,WAAN,QAAAO,EAAc;AAAA,KAAI,GAE/E7C,IAAaC,EAAS,MAAM;;AAAA;AAAA,QAChC;AAAA,QACA;AAAA,QACA,GAAG2F;AAAAA,QACH,IAAGnD,IAAAH,EAAM,WAAN,QAAAG,EAAc,aAAa,CAAC,UAAUH,EAAM,OAAO,UAAU,EAAE,IAAI,CAAC;AAAA,QACvE,GAAGmD,EAAW,QAAQ,CAAC,qBAAqB,IAAI,CAAC;AAAA,MAAA;AAAA,KAClD,GAEKI,IAAqB5F,EAAS,MAAM;AAAA,MACxC;AAAA,MACA,GAAG6F;AAAAA,IAAO,CACX,GAEKC,IAAkB9F,EAAS,MAAM;;AAC9B,aAAA;AAAA,QACL,YAAUwC,IAAAH,EAAM,WAAN,gBAAAG,EAAc,aAAYhB;AAAA,QACpC,WAAUoB,IAAAP,EAAM,WAAN,gBAAAO,EAAc;AAAA,MAAA;AAAA,IAC1B,CACD,GAEKH,IAAmBzC,EAAS,MAAM;AACtC,UAAIqC,EAAM;AACA,gBAAAA,EAAM,OAAO,YAAY;AAAA,UAC/B,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,kBAAkB;AAAA,cAClB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC,KAAK;AACI,mBAAA;AAAA,cACL,UAAU;AAAA,cACV,gBAAgB;AAAA,cAChB,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,UAGjC;AACS,mBAAA;AAAA,cACL,eAAeA,EAAM,OAAO,cAAc,QAAQ,gBAAgB;AAAA,cAClE,gBAAgBA,EAAM,OAAO;AAAA,YAAA;AAAA,QAEnC;AAGK,aAAA;AAAA,QACL,gBAAgB;AAAA,MAAA;AAAA,IAClB,CACD,GAGKW,IAAQhD,EAAS;AAAA,MACrB,KAAK,MAAM;;AACL,YAACwF,EAAW;AAIhB,mBAAOhD,IAAAH,EAAM,eAAN,gBAAAG,EAAkB,cAAWI,IAAAP,EAAM,WAAN,gBAAAO,EAAc,QAAOP,EAAM,aAAa;AAAA,MAC9E;AAAA,MAEA,KAAK,CAACY,MAAU;AACN,QAAAX,EAAA,KAAK,qBAAqBW,CAAK;AAAA,MACzC;AAAA,IAAA,CACD;AAGD,aAAS8C,IAAsB;;AACzB,UAACP,EAAW;AAIhB,YAAIxC,EAAM;AACR,UAAAA,EAAM,QAAQ;AAAA,YACZ,GAAGA,EAAM;AAAA,YACT,WAAWA,EAAM,MAAM,cAAc,QAAQ,SAAS;AAAA,UAAA;AAAA,aAEnD;AACD,cAAA,CAACX,EAAM;AACH,kBAAA,IAAI,MAAM,0DAA0D;AAG5E,UAAAW,EAAM,QAAQ;AAAA,YACZ,UAAQR,IAAAH,EAAM,WAAN,gBAAAG,EAAc,SAAQ;AAAA,YAC9B,WAAW;AAAA,UAAA;AAAA,QAEf;AAAA,IACF;AAEA,aAASwD,EAAcC,GAAyB;;AAC9C,YAAMC,IAASD,EAAM,OACfE,MAAa3D,IAAA3C,EAAK,UAAL,gBAAA2C,EAAY,gBAAe,GAExC4D,IAAc,CAACC,MAA0B;;AACvC,cAAAC,IAASD,EAAU,QAAQH;AACjC,YAAIK,IAAW,KAAK,IAAI,GAAGJ,IAAaG,CAAM;AAExC,cAAAE,MAAMhE,IAAAH,EAAM,WAAN,gBAAAG,EAAc,aAAYhB;AAClC,YAAAgF,MAAQA,EAAI,SAAS,IAAI,KAAK,CAAC,MAAM,OAAOA,CAAG,CAAC,IAAI;AAChD,gBAAAC,IAAQ,SAASD,GAAK,EAAE;AACnB,UAAAD,IAAA,KAAK,IAAIA,GAAUE,CAAK;AAAA,QACrC;AAEA,aAAI7D,IAAAP,EAAM,WAAN,QAAAO,EAAc,aAAaP,EAAM,OAAO,SAAS,SAAS,IAAI,KAAK,CAAC,MAAM,OAAOA,EAAM,OAAO,QAAQ,CAAC,IAAI;AAC7G,gBAAMqE,IAAQ,SAASrE,EAAM,OAAO,UAAU,EAAE;AACrC,UAAAkE,IAAA,KAAK,IAAIA,GAAUG,CAAK;AAAA,QACrC;AAEQ,QAAApE,EAAA,KAAK,uBAAuBiE,CAAQ;AAAA,MAAA,GAGxCI,IAAY,MAAM;AACb,iBAAA,oBAAoB,aAAaP,CAAW,GAC5C,SAAA,oBAAoB,WAAWO,CAAS;AAAA,MAAA;AAG1C,eAAA,iBAAiB,aAAaP,CAAW,GACzC,SAAA,iBAAiB,WAAWO,CAAS;AAAA,IAChD;AAGM,UAAA,EAAE,OAAAC,MAAUC,GAAehH,GAAM,QAAW,EAAE,KAAK,aAAA,CAAc;AAEjE,WAAAiH,GAAA;AAAA,MACJjH;AAAA,MACA+G;AAAA,MACA,MAAM;;AAAA,gBAAApE,IAAAH,EAAM,WAAN,gBAAAG,EAAc;AAAA;AAAA,IAAA,GACnB,CAAC;AAAA,MACFuE;AAAA,MACAH;AAAAA,IAAA,GACC;AAAA,MACDI;AAAA,IAAA,MACI;AACA,MAAAA,KAAYA,MAAaD,KACnBzE,EAAA,KAAK,uBAAuB0E,CAAQ,GAG9C1E,EAAQ,KAAK,uBAAuByE,GAAUH,GAAOvE,EAAM,MAAM;AAAA,IAAA,CAClE,GAEM;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,MACA,kBAAA0C;AAAA,MACA,iBAAAqD;AAAA,MACA,oBAAAF;AAAA,MACA,YAAAJ;AAAA,MACA,aAAAE;AAAA,MAEA,OAAA1C;AAAA,MAEA,eAAA+C;AAAA,MACA,eAAAC;AAAA,MAEA,6BAAAxE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;YAlPC2B,EAuBM,QAAA;SArBEvC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IACL,OAAKC,EAAAR,EAAA,UAAA;AAAA,IAAA,OAAA8C,EAAA9C,EAAA,gBAAA;AAAA,IAEN,SAKMC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA;EAAA,GAAA;AAAA,OAHE,OAAE;AAAA,MAAA,OAAAQ,EAAA,CAAA,UAAA,CAAA;AAAA,MAER,OAAQsC,EAAA9C,EAAA,eAAA;AAAA,IAAA,GAAA;AAAA,MAGMU,EAAKV,EAAA,QAAA,SAAA;AAAA,IAAA,GAAA,CAAA;AAAA,oBACWgD,EAAA2D,GAAA;AAAA,MAAA,KAAA;AAAA;IAIxB,GAAA,MAAA,GAAA,CAAW,MADnB,CAAA,KAAAlG,EAAA,IAAA,EAAA;AAAA,IAAAT,EAAA,eAAAM,KAEUC,EAAA,OAAA;AAAA,MACP,KAAA;AAAA,MACA,OAAKC,EAAAR,EAAA,kBAAA;AAAA,MAAA,aAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA2G,EAAA,IAAAC,MAAA7G,EAAA,iBAAAA,EAAA,cAAA,GAAA6G,CAAA,GAAA,CAAA,QAAA,SAAA,CAAA;AAAA;;;;;oDCpBCC,KAAmC;AAAA;AAAA,EAE9C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAoE;AAAA,EAC/E,CAAC9F,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCxBA+F,KAAe1H,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMyC,GAAO;AAEX,UAAMxC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGuH;AAAAA,MACH,GAAGC,GAAsCnF,EAAM,OAAO;AAAA,IAAA,CACvD;AAEM,WAAA;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCmH,KAAgC;AAAA;AAAA,EAE3C;AACF,GCWAC,KAAe9H,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG2H;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAA9H;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHCsH,KAAqC;AAAA;AAAA,EAEhD;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAsE;AAAA,EACjF,CAACtG,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GC3BAuG,KAAelI,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMyC,GAAO;AAEX,UAAMxC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAG+H;AAAAA,MACH,GAAGC,GAAwC3F,EAAM,OAAO;AAAA,IAAA,CACzD;AAEM,WAAA;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLC2H,KAA0B;AAAA;AAAA,EAErC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GCQAC,KAAetI,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMyC,GAAO;AAEX,UAAMxC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGmI;AAAAA,IAAO,CACX,GAEK1F,IAAmBzC,EAAS,MAAM;AACtC,YAAMoI,IAAsB/F,EAAM,QAAQ,IAAI,CAACgG,MAAW;AAEpD,YAAAA,EAAO,UAAUA,EAAO,MAAM,SAAS,QAAQ,KAAKA,EAAO,MAAM,SAAS,MAAM;AAClF,iBAAOA,EAAO;AAGV,cAAAzB,IAAQyB,EAAO,SAAS,OACxB7B,IAAM6B,EAAO,YAAY7G;AAC3B,YAAA8G,IAAMD,EAAO,YAAYzB;AAEzB,eAAAA,EAAM,SAAS,IAAI,MACf0B,IAAA1B,IAGD,UAAUJ,CAAG,KAAK8B,CAAG;AAAA,MAAA,CAC7B;AAEI,aAAAjG,EAAM,SAA8B,YAChC,EAAE,qBAAqB,QAAQ+F,EAAoB,KAAK,GAAG,CAAC,OAG9D,EAAE,qBAAqBA,EAAoB,KAAK,GAAG,EAAE;AAAA,IAAA,CAC7D;AAEM,WAAA;AAAA,MACL,MAAAvI;AAAA,MACA,YAAAE;AAAA,MACA,kBAAA0C;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA1ESpC,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IACjB,KAAK;AAAA,IAAA,OAAAC,EAAAR,EAAA,UAAA;AAAA,IAEN,OAAQ8C,EAAA9C,EAAA,gBAAA;AAAA,EAAA,GAAA;AAAA;;;oDCNCiI,KAA4B;AAAA;AAAA,EAEvC;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AACF,GCKAC,KAAe5I,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,QAAQ;AAEN,UAAMC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGyI;AAAAA,IAAO,CACX;AAEM,WAAA;AAAA,MACL,MAAA5I;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SAjCSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCHCoI,KAAiC;AAAA;AAAA,EAE5C;AAAA;AAAA,EAGA;AACF,GAEaC,KAA0E;AAAA,EACrF,CAACpH,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCNAqH,KAAehJ,EAAgB;AAAA,EAC7B,YAAY;AAAA,IACV,gBAAAiJ;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IACA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL;AAAA,EACF;AAAA,EACA,MAAMxG,GAAO;AAOJ,WAAA;AAAA,MACL,YAPiBrC,EAAS,MAAM;AAAA,QAChC;AAAA,QACA,GAAG8I;AAAAA,QACH,GAAGC,GAA4C1G,EAAM,OAAO;AAAA,MAAA,CAC7D;AAAA,IAGC;AAAA,EAEJ;AACF,CAAC;;YAnDCc,EAYM,gBAAA;;IAXJ,OAUiBrC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA,IAPT0I,EAAAC,GAAAC,GAAE5I,EAAK,cAAA;AAAA,MAAA,OAAA;AAAA,MAMF,SAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,MAAA,oBAAA;AAAA,IAAA,CAAA,GAAA;AAAA,eADT6I,EAA+B,MAAA;AAAA,QAAA7I,EAAA,OAAA,eAAAU,EAAAV,EAAA,QAAA,gBAAA,EAAA,KAAA,EAAA,CAAA,IAAAS,EAAA,IAAA,EAAA;AAAA;;;;;oDCR1BqI,KAAkC;AAAA;AAAA,EAE7C;AAAA;AAAA,EAGA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA;AAAA,EAGA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AACF,GAEaC,KAAmE;AAAA,EAC9E,CAAC9H,EAAgB,QAAQ,GAAG;AAAA;AAAA,IAE1B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,WAAW,GAAG;AAAA;AAAA,IAE7B;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AAAA,EAEA,CAACA,EAAgB,OAAO,GAAG;AAAA;AAAA,IAEzB;AAAA,EACF;AACF,GCzBA+H,KAAe1J,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,OAAO;AAAA,IACL,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMyC,GAAO;AAEX,UAAMxC,IAAOC,KAEPC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGuJ;AAAAA,MACH,GAAGC,GAAqCnH,EAAM,OAAO;AAAA,IAAA,CACtD;AAEM,WAAA;AAAA,MACL,MAAAxC;AAAA,MACA,YAAAE;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;SA3CSM,GAAMC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAA;SACNC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAElB,OAAQC,EAAAR,EAAA,UAAA;AAAA,EAAA,GAAA;AAAA;;;oDCLCmJ,KAAqB;AAAA;AAAA,EAEhC;AACF,GC8RAC,KAAe9J,EAAgB;AAAA,EAC7B,MAAM;AAAA,EAEN,YAAY;AAAA,IACV,YAAAgC;AAAA,IACA,kBAAkB+H;AAAAA,IAClB,kBAAkBC;AAAAA,IAClB,iBAAiBC;AAAAA,IACjB,wBAAwBC;AAAAA,IACxB,4BAA4BC;AAAAA,IAC5B,2BAA2BC;AAAAA,IAC3B,uBAAuBC;AAAAA,IACvB,2BAA2BC;AAAAA,IAC3B,0BAA0BC;AAAAA,IAC1B,yBAAyBC;AAAAA,IACzB,uBAAuBC;AAAAA,IACvB,2BAA2BC;AAAAA,IAC3B,0BAA0BC;AAAAA,IAC1B,4BAA4BC;AAAAA,IAC5B,mBAAmBC;AAAAA,IACnB,wBAAwBC;AAAAA,IACxB,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,gBAAAC;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL,MAAM;AAAA,IACN,OAAO;AAAA,EACT;AAAA,EAEA,OAAO;AAAA,IACL,YAAY;AAAA,MACV,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,OAAO;AAAA,MACL,MAAM;AAAA,MACN,SAAS,MAAM,CAAC;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,UAAU;AAAA,IACZ;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS,MAAMtJ,EAAgB;AAAA,IACjC;AAAA,IAEA,UAAU;AAAA,MACR,MAAM;AAAA,MACN,SAAS,OAAO,CAAA;AAAA,IAClB;AAAA,IAEA,SAAS;AAAA,MACP,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,cAAc;AAAA,MACZ,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,IAEA,iBAAiB;AAAA,MACf,MAAM;AAAA,MACN,SAAS;AAAA,IACX;AAAA,EACF;AAAA,EAEA,OAAO;AAAA,IACL;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,IACA;AAAA,EACF;AAAA,EAEA,QAAQ;AAAA,IACN;AAAA,EACF;AAAA,EAEA,MAAMc,GAAOC,GAAS;AAEpB,UAAMzC,IAAOC,KAEPgL,IAAahL,KACbiL,IAAQjL,KAERC,IAAaC,EAAS,MAAM;AAAA,MAChC;AAAA,MACA,GAAGgL;AAAAA,IAAO,CACX,GAEKC,IAAoBjL,EAAS,OAAO;AAAA,MACxC,0BAA0B,GAAG,CAAC,GAAGkL,EAAkB,MAAM,OAAO,CAAC,EAAE,OAAO,CAACC,GAAalI,MAAUkI,IAAclI,GAAO,CAAC,CAAC;AAAA,MACzH,wBAAwB,GAAG,CAAC,GAAGmI,EAAgB,MAAM,OAAO,CAAC,EAAE,OAAO,CAACD,GAAalI,MAAUkI,IAAclI,GAAO,CAAC,CAAC;AAAA,IACrH,EAAA,GAGIoI,IAAqBrL,EAAS;AAAA,MAClC,KAAK,MACI,CAAC,CAACqC,EAAM,MAAM,UAAUA,EAAM,MAAM,MAAM,CAACiJ,MAASC,EAAe,MAAM,SAASD,EAAK,EAAE,CAAC;AAAA,MAGnG,KAAK,CAACrI,MAAU;AACd,QAAIA,IACFsI,EAAe,QAAQ;AAAA,UACrB,uBAAO,IAAI;AAAA,YACT,GAAGA,EAAe;AAAA,YAClB,GAAGlJ,EAAM,MAAM,IAAI,CAACiJ,MAASA,EAAK,EAAE;AAAA,UAAA,CACrC;AAAA,QAAA,IAGHC,EAAe,QAAQ;MAE3B;AAAA,IAAA,CACD,GAEKA,IAAiBvL,EAAS;AAAA,MAC9B,KAAK,MAAM;;AAAA,iBAAAwC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB,cAAa,CAAC;AAAA;AAAA,MAE3C,KAAK,CAACS,MAAU;AACd,QAAAX,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWW;AAAA,UACX,WAAWuI,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,SAASC,EAAa;AAAA,UACtB,QAAQC,EAAY;AAAA,QAAA,CACC;AAAA,MACzB;AAAA,IAAA,CACD,GAEKH,IAAiBxL,EAAS;AAAA,MAC9B,KAAK,MAAA;;AAAM,gBAAAwC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACS,MAAU;AACd,QAAAX,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWiJ,EAAe;AAAA,UAC1B,WAAWtI;AAAA,UACX,WAAWwI,EAAe;AAAA,UAC1B,SAASC,EAAa;AAAA,UAEtB,QAAQ;AAAA,YACN,GAAGC,EAAY;AAAA,YACf,QAAQ;AAAA,UACV;AAAA,QAAA,CACqB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKF,IAAiBzL,EAAS;AAAA,MAC9B,KAAK,MAAA;;AAAM,gBAAAwC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACS,MAAU;AACd,QAAAX,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWiJ,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,WAAWvI;AAAA,UACX,SAASyI,EAAa;AAAA,UAEtB,QAAQ;AAAA,YACN,GAAGC,EAAY;AAAA,YACf,QAAQ;AAAA,UACV;AAAA,QAAA,CACqB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKD,IAAe1L,EAAS;AAAA,MAC5B,KAAK,MAAA;;AAAM,gBAAAwC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACS,MAAU;AACd,QAAAX,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWiJ,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,SAASxI;AAAA,UAET,QAAQ;AAAA,YACN,GAAG0I,EAAY;AAAA,YACf,QAAQ;AAAA,UACV;AAAA,QAAA,CACqB;AAAA,MACzB;AAAA,IAAA,CACD,GAEKA,IAAc3L,EAAS;AAAA,MAC3B,KAAK,MAAA;;AAAM,gBAAAwC,IAAAH,EAAM,eAAN,gBAAAG,EAAkB;AAAA;AAAA,MAE7B,KAAK,CAACS,MAAU;AACd,QAAAX,EAAQ,KAAK,qBAAqB;AAAA,UAChC,WAAWiJ,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,WAAWC,EAAe;AAAA,UAC1B,SAASC,EAAa;AAAA,UACtB,QAAQzI;AAAA,QAAA,CACa;AAAA,MACzB;AAAA,IAAA,CACD;AAED,IAAA6D,GAAM,MAAM;;AAAA,cAAAtE,IAAAmJ,EAAY,UAAZ,gBAAAnJ,EAAmB;AAAA,OAAQ,MAAM;;AACvC,OAAAA,IAAAuI,EAAM,UAAN,QAAAvI,EAAa,QACTuI,EAAA,MAAM,KAAK,SAAS;AAAA,QACxB,KAAK;AAAA,QACL,UAAU;AAAA,MAAA,CACX;AAAA,IACH,CACD;AAED,UAAMG,IAAoBpL,EAAQ,oBAAA,IAA0B,CAAA,GACtDsL,IAAkBtL,EAAQ,oBAAA,IAA0B,CAAA,GAEpD8L,IAAsB5L,EAAS,MAC5BqC,EAAM,SAAS,cACnB,OAAOA,EAAM,SAAS,aAAc,WAAWA,EAAM,SAAS,UAAU,gBAAgB,KAAQ,GACpG,GAEKwJ,IAAoB7L,EAAS,MAC1BqC,EAAM,MAAM,WAAW,KACzBA,EAAM,WACL,OAAOA,EAAM,SAAS,aAAc,YAAYA,EAAM,SAAS,UAAU,QAEhF,GAEKyJ,IAAkB9L,EAAS,MAAM;;AAC9B,eAAAwC,IAAAsI,EAAW,UAAX,gBAAAtI,EAAkB,iBAAgB;AAAA,IAAA,CAC1C;AAGD,aAASuJ,EAAqB9I,GAAqB;AACjD,MAAAwI,EAAe,QAAQxI;AAAA,IACzB;AAES,aAAA+I,EAAmBC,GAAqBC,GAAgB7D,GAA8B;AAC7F,cAAQA,EAAO,YAAY;AAAA,QACzB,KAAK;AACe,UAAA6C,EAAA,MAAM,IAAIe,GAAQC,CAAM,GAC1ChB,EAAkB,QAAQ,IAAI,IAAIA,EAAkB,KAAK,GAEzCE,EAAA,MAAM,OAAOa,CAAM,GACnCb,EAAgB,QAAQ,IAAI,IAAIA,EAAgB,KAAK;AAErD;AAAA,QAEF,KAAK;AACe,UAAAF,EAAA,MAAM,OAAOe,CAAM,GACrCf,EAAkB,QAAQ,IAAI,IAAIA,EAAkB,KAAK,GAEzCE,EAAA,MAAM,IAAIa,GAAQC,CAAM,GACxCd,EAAgB,QAAQ,IAAI,IAAIA,EAAgB,KAAK;AAErD;AAAA,QAEF;AACE,UAAAe,EAAmBF,CAAM;AACzB;AAAA,MACJ;AAAA,IACF;AAEA,aAASG,EAAoBd,GAA6B;AACpD,MAACjJ,EAAM,mBACHC,EAAA,KAAK,aAAagJ,CAAI;AAAA,IAChC;AAEA,aAASe,EAAoBf,GAA6B;AACpD,MAACjJ,EAAM,mBACHC,EAAA,KAAK,YAAYgJ,CAAI;AAAA,IAC/B;AAES,aAAAgB,EAAqBhB,GAAuBiB,GAAoBtJ,GAAsB;AACzF,MAACZ,EAAM,mBACXC,EAAQ,KAAK,cAAc;AAAA,QACzB,MAAAgJ;AAAA,QACA,YAAAiB;AAAA,QACA,OAAAtJ;AAAA,MAAA,CACD;AAAA,IACH;AAES,aAAAuJ,EAAqBlB,GAAuBiB,GAAoBtJ,GAAsB;AACzF,MAACZ,EAAM,mBACXC,EAAQ,KAAK,aAAa;AAAA,QACxB,MAAAgJ;AAAA,QACA,YAAAiB;AAAA,QACA,OAAAtJ;AAAA,MAAA,CACD;AAAA,IACH;AAEA,aAASwJ,EAAenB,GAA6B;AAC/C,MAACjJ,EAAM,mBACHC,EAAA,KAAK,aAAagJ,CAAI;AAAA,IAChC;AAES,aAAAoB,EAAkBrE,GAAwBzB,GAAqB;AAC/D,MAAAyB,EAAA,QAAQ,GAAGzB,CAAK,MAEnBvE,EAAM,SAAS,cACAsK;IAErB;AAEA,aAASA,IAAyB;AAChC,UAAI,OAAO,SAAW,OAAe,CAACtK,EAAM,SAAS,WAAY;AAEjE,YAAMuK,IAAiC,CAAA;AACjC,MAAAvK,EAAA,QAAQ,QAAQ,CAACgG,MAAW;AAC5B,QAAAA,EAAO,QAAQA,EAAO,UACjBuE,EAAAvE,EAAO,IAAI,IAAIA,EAAO;AAAA,MAC/B,CACD,GAEY,aAAA,QAAQ,0BAA0BhG,EAAM,SAAS,UAAU,IAAI,KAAK,UAAUuK,CAAM,CAAC;AAAA,IACpG;AAEA,aAASC,IAAyB;AAChC,UAAI,SAAO,SAAW,OAAe,CAACxK,EAAM,SAAS;AAEjD,YAAA;AACF,gBAAMyK,IAAS,aAAa,QAAQ,0BAA0BzK,EAAM,SAAS,UAAU,EAAE;AACzF,cAAIyK,GAAQ;AACJ,kBAAAF,IAAS,KAAK,MAAME,CAAM;AAC1B,YAAAzK,EAAA,QAAQ,QAAQ,CAACgG,MAAW;AAChC,cAAIA,EAAO,QAAQuE,EAAOvE,EAAO,IAAI,MAC5BA,EAAA,QAAQuE,EAAOvE,EAAO,IAAI;AAAA,YACnC,CACD;AAAA,UACH;AAAA,iBACO0E,GAAG;AACF,kBAAA,MAAM,gEAAgEA,CAAC;AAAA,QACjF;AAAA,IACF;AAEA,IAAAC,GAAU,MAAM;AACG,MAAAH;IAAA,CAClB;AAOD,aAASV,EAAmBF,GAA2B;AACnC,MAAAf,EAAA,MAAM,OAAOe,CAAM,GACrCf,EAAkB,QAAQ,IAAI,IAAIA,EAAkB,KAAK,GAEzCE,EAAA,MAAM,OAAOa,CAAM,GACnCb,EAAgB,QAAQ,IAAI,IAAIA,EAAgB,KAAK;AAAA,IACvD;AAGA,aAAS6B,GAAShH,GAAyB;AACxC,MAAAA,EAAM,cAA8B,eAAe,EAAE,OAAO,UAAW,CAAA;AAAA,IAC1E;AAEO,WAAA;AAAA,MACL,MAAApG;AAAA,MACA,YAAAE;AAAA,MAEA,YAAA+K;AAAA,MAEA,mBAAAG;AAAA,MAEA,oBAAAI;AAAA,MACA,qBAAAO;AAAA,MACA,mBAAAC;AAAA,MACA,iBAAAC;AAAA,MAEA,qBAAAM;AAAA,MACA,qBAAAC;AAAA,MACA,sBAAAC;AAAA,MACA,sBAAAE;AAAA,MACA,gBAAAC;AAAA,MAEA,mBAAAC;AAAA,MAEA,gBAAAnB;AAAA,MACA,gBAAAC;AAAA,MACA,gBAAAC;AAAA,MACA,cAAAC;AAAA,MACA,aAAAC;AAAA,MAEA,oBAAAK;AAAA,MACA,oBAAAG;AAAA,MAEA,sBAAAJ;AAAA,MAEA,aAAa,MAAM;;AACb,SAAAvJ,IAAAuI,EAAM,UAAN,QAAAvI,EAAa,QACTuI,EAAA,MAAM,KAAK,SAAS;AAAA,UACxB,KAAK;AAAA,UACL,UAAU;AAAA,QAAA,CACX;AAAA,MAEL;AAAA,MAEA,UAAAkC;AAAA,MACA,SAAS,CAAC3B,GAAuBiB,GAAoBtJ,MAAmB;AACtE,QAAAqI,EAAKiB,CAAU,IAAItJ,GACXX,EAAA,KAAK,eAAegJ,CAAI;AAAA,MAClC;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;;qlBAxrBCnI,EA6QM,kBAAA;SA3QEvC,EAAY,GAAAC,EAAA,OAAA;AAAA,IAAA,KAAA;AAAA,IAEF,OAAAC,EAAMR,EAAa,UAAQ;AAAA,EAAA,GAAA;AAAA,IAEjCA,EAAA,OAAA,SAAAA,EAAA,SAAA,aAAAA,EAAA,OAAA,UAAAA,EAAA,OAAA,gBAAAM,EAAA,GAAA0C,EAAE4J,GAAY;AAAA,MAAA,KAAA;AAAA,aAGZpM,EAAM,CAAA,UAAA,CAAA;AAAA,IAAA,GAAAqM,EAAA,EAAA,GAAA,KAAA;AAAA,eACL,QAAK;AAAA,QAEZ,MAAA;AAAA,QAAA,IAAAhE,EAAA,MAAA;AAAA;;;MAIM,IAAA;AAAA,MACC7I,EAAA,SAAA,YAAA;AAAA,QAEP,MAAA;AAAA,QAAA,IAIE6I,EAAqC,MAAA;AAAA,UAAAnI,EAAAV,EAAlB,QAAc,UAAA8M,GAAAC,GAAA,EAAA,sBAAA/M,EAAA,sBAAA,gBAAAA,EAAA,eAAA,CAAA,CAAA,GAAA,MAAA;AAAA,YAAA0I,EAAAsE,GAAA;AAAA;;;;;;MAK7B,IAAA;AAAA,eACC,eAAY;AAAA,QAEnB,MAAA;AAAA,QAAA,IAAAnE,EAAA,MAAA;AAAA;;;;IAKU,CAAA,GAAA,IAAM,OACpB,IAIoB,EAAA;AAAA,IAAA7I,EAAA,OAAA,WAAAM,OAHV2M,GAAY;AAAA,MAAA,KAAA;AAAA,MAEM,OAAAzM,EAAA,CAAA,UAAA,CAAA;AAAA,IAAA,GAAA;AAAA;;;;IAI9B,CAAA,KACEC,EAAW,IAAA,EAAA;AAAA,IACLiI,EAAAwE,GAAA;AAAA,MACL,KAAK;AAAA,MACL,OAAO1M,EAAS,CAAA,QAAA,EAAA,wBAAAR,EAAA,MAAA,WAAA,EAAA,CAAA,CAAA;AAAA,MAChB,OAAkB8C,EAAA9C,EAAA,iBAAA;AAAA,MAAA,SAAAA,EAAA;AAAA;;MAiCU,SAAA6I,EAAA,MAAA;AAAA,QAAAH,EA9B3ByE,GA8B2B,MAAA;AAAA,UAdd,SAAAtE,EAAA,MAAA;AAAA,YAAAH,EAbK0E,GAAkB,EAAA,SAAApN,EAAA,QAAA,GAAA;AAAA,cAChC,SAAA6I,EAAA,MAAA;AAAA,gBAAA7I,EAAA,SAAA,aAAAM,EAAA,GACkC0C,EAAAqK,GAAA;AAAA,kBAChC,KAAK;AAAA,kBACJ,QAAsB,EAAA,YAAA,QAAA;AAAA,kBACtB,OAAA;AAAA,kBAAA,yBAAArN,EAAA;AAAA,kBAMC,yBAAAA,EAAA;AAAA,gBAAA,GAAA;AAAA,kBAHS,SAAA6I,EAAA,MAAA;AAAA,oBAAAH,EAAArF,GAAA;AAAA,sBACR,YAAgBrD,EAAA;AAAA,sBAChB,uBAAUC,EAAiB,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,qBAAAkD;AAAA,sBAAA,eAAA,CAAAlD,EAAA,sBAAAA,EAAA,eAAA,SAAA;AAAA;;;;gBAKlC,GAAA,GAAA,CAAA,yBAAA,uBAW4B,CAX5B,KAAAS,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAAwC,GAAA,MAAAuK,EAAAtN,EAAA,SAAA,CAAA+H,YACI/E,EAAAqK,GAAA;AAAA,kBAAA,KAAAtF,EAAA;AAAA,kBACpB,YAAQ/H,EAAM;AAAA,kBACd,uBAAkBC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,eAAAkD;AAAA,kBAClB,QAAA6E;AAAA,kBACA,UAAA/H,EAAA;AAAA,kBACA,yBAAsBA,EAAK;AAAA,kBAAA,yBAAAA,EAAA;AAAA,kBAEV,wBAAA,CAAAsG,MAAAtG,EAAA,kBAAA+H,GAAAzB,CAAA;AAAA,gBAAA,GAAA;AAAA;;;;;;;;;UAKhB,GAAA;AAAA,QAAA,CAAA;AAAA,QACLtG,EAAA,gBAAAM,KAAY0C,EAAEuK,GAAY;AAAA,UAC1B,KAAA;AAAA,UACA,cAAkBvN,EAAA;AAAA,UAAA,SAAAA,EAAA;AAAA,UAGL,qBAAAC,EAAA,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,MAAA,oBAAA;AAAA,QAAA,GAAA6M,EAAA,EAAA,GAAA,KAAA;AAAA,mBACL,eAAY;AAAA,YAEnB,MAAA;AAAA,YAAA,IAAAhE,EAAA,MAAA;AAAA;;;;QAGJ,CAAA,GAAA,MA6HyB,CArHZ,gBAAA,SAAA,CAAA,KAAApI,EAAA,IAAA,EAAA;AAAA,QAAAiI,EAPK8E,GAAM,MAAA;AAAA,UACpB,SAAA3E,EAAA,MAAA;AAAA,YAAA7I,EAAA,OAAA,aAAA,KAAAM,EACmB,GAAA0C,EAAAyK,GAAA;AAAA,cACjB,KAAK;AAAA,cAAA,SAAAzN,EAAA;AAAA;;;;;;YAKO,GAAA,GAAA,CAAA,SAAO,CACrB,KAAAS,EAAA,IAAA,EAAA;AAAA,YAEST,EAAA,WAAAM,EAAA,EAAA,GAAAC,EAAAwC,GAAA,EAAA,KAAA,EAAA,GAAAuK,EAAAtN,EAAA,iBAAA,CAAA0N,OACNpN,EAAA,GAAgB0C,EAAA2K,GAAA;AAAA,cAChB,KAAAD;AAAA,cAAA,SAAA1N,EAAA;AAAA,cAED,aAAAA,EAAA;AAAA,YAAA,GAAA;AAAA,cACE,SAAA6I,EAAA,MAAA;AAAA,gBAAA7I,EAAA,SAAA,aAAAM,EAAA,GACkC0C,EAAA4K,GAAA;AAAA,kBAC/B,KAAA;AAAA,kBACA,QAAQ,EAAE,YAAI,QAAA;AAAA,kBAAA,SAAA5N,EAAA;AAAA;;;;;;gBAMnB,GAAA,GAAA,CAAA,SAAA,CAAA,KAAAS,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAAwC,GAAA,MAAAuK,EAAAtN,EAAA,SAAA,CAAA+H,OACVzH,EAAQ,GAAA0C,EAAA4K,GAAA;AAAA,kBACd,KAAU7F,EAAA;AAAA,kBACV,QAAAA;AAAA,kBACA,UAAU/H,EAAI;AAAA,kBAAA,SAAAA,EAAA;AAAA;;2BAMb6I,EAAkB,MAAA;AAAA,oBAAAnI,EAAAV,EAAA,QAAA,kBAAA,EAAA,QAAA+H,EAAA,GAAA,MAAA;AAAA;;;;;;;YAML,GAAA,MAAK,CAAC,WAAM,aAAA,CAAA,EAAA,GAAA,GAAA,KAAA/H,EAAA,MAAA,SAAA,KAAAM,EAGvB,EAAO,GAAAC,EAAAwC,GAAA,EAAA,KAAA,EAAA,GAAAuK,EAAAtN,EAAA,OAAA,CAAAgL,OACZ1K,EAAA,GAAgB0C,EAAA2K,GAAA;AAAA,cAChB,KAAU3C,EAAA;AAAA,cACV,SAAahL,EAAA;AAAA,cACb,UAAAA,EAAU,eAAQ,SAAAgL,EAAmB,EAAC;AAAA,cACtC,aAAUhL,EAAA;AAAA,cACV,cAAK,MAAQA,EAAmB,oBAAAgL,CAAA;AAAA,cAAA,cAAA,MAAAhL,EAAA,oBAAAgL,CAAA;AAAA,cAkBtB,SAAA,MAAAhL,EAAA,eAAAgL,CAAA;AAAA,YAAA,GAAA;AAAA,cAfT,SAAAnC,EAAA,MAAA;AAAA,gBAAA7I,EAAA,SAAA,aAAAM,EAAA,GACkC0C,EAAA4K,GAAA;AAAA,kBAC/B,KAAA;AAAA,kBACA,QAAQ,EAAE,YAAI,QAAA;AAAA,kBACd,SAAW5N,EAAA;AAAA,kBACZ,UAAM;AAAA,kBACL,eAAU;AAAA,kBACV,OAAA;AAAA,kBAAA,cAAA,MAAAA,EAAA,qBAAAgL,GAAA,aAAAhL,EAAA,eAAA,SAAAgL,EAAA,EAAA,CAAA;AAAA,kBAMC,cAAA,MAAAhL,EAAA,qBAAAgL,GAAA,aAAAhL,EAAA,eAAA,SAAAgL,EAAA,EAAA,CAAA;AAAA,gBAAA,GAAA;AAAA,kBAHS,SAAAnC,EAAA,MAAA;AAAA,oBAAAH,EAAArF,GAAA;AAAA,sBACR,YAAYrD,EAAE;AAAA,sBACd,uBAAUC,EAAiB,CAAA,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,iBAAAkD;AAAA,sBAAA,OAAA8H,EAAA;AAAA;;;;gBAKlC,GAAA,MAAA,CAAA,WAAA,gBAmB6B,cAnB7B,CAAA,KAAAvK,EAAA,IAAA,EAAA;AAAA,iBAAAH,EAEQ,EAAO,GAAIC,EAAAwC,GAAA,MAAAuK,EAAAtN,EAAA,SAAA,CAAA+H,OAChBzH,EAAA,GAAkB0C,EAAW4K,GAAA;AAAA,kBAC7B,KAAQ7F,EAAA;AAAA,kBACR,eAAUiD,EAAQjD,EAAA,IAAA;AAAA,kBAClB,QAAAA;AAAA,kBACA,UAAK/H,EAAA;AAAA,kBACL,SAAOA,EAAA;AAAA,kBACP,SAAA,CAAAkD,MAAkBlD,EAAqB,QAAAgL,GAAAjD,EAAA,MAAM7E,CAAM;AAAA,kBACnD,WAAUjD,EAAA,CAAA,MAAQA,EAAqB,CAAA,IAAA,CAAAiD,MAAAlD,EAAM,SAAOkD,CAAM;AAAA,kBAAA,cAAA,MAAAlD,EAAA,qBAAAgL,GAAAjD,EAAA,MAAAiD,EAAAjD,EAAA,IAAA,CAAA;AAAA,kBAQpD,cAAA,MAAA/H,EAAA,qBAAAgL,GAAAjD,EAAA,MAAAiD,EAAAjD,EAAA,IAAA,CAAA;AAAA,gBAAA,GAAA;AAAA,2BAJJc,EAAc,MAAA;AAAA,oBACJnI,EAAAV,EAAA,QAAA+H,EAAA,MAAA;AAAA,sBAAA,QAAAA;AAAA;;;;;;;;;eAQQ,MAAA,CAAA,WAAA,YAAA,eAAiC,gBAAc,gBAAoB,SAAA,CAAA,EAAA,GAAA,GAAA,KAAA/H,EAAA,OAAA,oBAAAA,EAAA,SAAA,aAAAA,EAAA,kBAAAA,EAAA,SAAA,aAAAA,EAAA,mBAAAM,EAAA,KAElFuN,GAAiB;AAAA,cACxB,KAAA;AAAA,cAAA,OAAArN,EAAA,CAAA,eAAA,CAAA;AAAA;;uBAIEqI,EAAQ,MAAA;AAAA,gBAAAnI,EACAV,EAAc,QAAA,mBAAA;AAAA,kBAAA,QAAAA,EAAA;AAAA;;;cAKR,GAAA;AAAA,YACnB,GAAA,GAAA,CAAA,SAAA,CAAA,KAAAA,EAAA,OAAA,SAAAM,OACUuN,GAAiB;AAAA,cACxB,KAAA;AAAA,cAAA,OAAArN,EAAA,CAAA,eAAA,CAAA;AAAA;;;;;;YAMW,GAAM,qBACpB,IAI0B,EAAA;AAAA,YAAAR,EAAA,OAAA,YAAA,KAAAM,EAHP,GAAA0C,EAAAyK,GAAA;AAAA,cAAA,KAAA;AAAA;;;;;;;;;;;MAQT,GAAA;AAAA,IAAA,GAAA,GAAA,CAAA,SAAA,SACd,WASwB,UAAA,CAAA;AAAA,IAAAzN,EAAA,OAAA,WARtB,KAO2BM,EAAA,GAAA0C,EAAA8K,GAAA,EAAA,KAAA,KAAA;AAAA,MANnB,SAAAjF,EAAA,MAAA;AAAA,QAAAH,EACIqF,GAAO;AAAA,UAAA,OAAAvN,EAAA,CAAA,UAAA,CAAA;AAAA;;UAGa,SAAAqI,EAAA,MAAA;AAAA,YAAAH,EAA5BsF,GAAwB,MAAA;AAAA,cAAA,SAAAnF,EAAA,MAAA;AAAA;;;;;;;;;IAMhB,CAAA,KAAApI,EACd,IA4BmB,EAAA;AAAA,IAAAT,EAAA,OAAA,WAAAA,EAAA,uBAAAA,EAAA,SAAA,UAAAM,OA3BT2N,GAAY;AAAA,MAAA,KAAA;AAAA,MAGZ,OAAAzN,EAAS,CAAS,UAAI,CAAA;AAAA,IAAA,GAAAqM,EAAA,EAAA,GAAA,KAAA;AAAA,iBACrB,aAAM7M,EAAA,eAAA,SAAA,IAAA;AAAA;;;;;MAMP,IAAA;AAAA,eACC,UAAO;AAAA,QAEd,MAAA;AAAA,QAAA,IAAA6I,EAAA,MAAA;AAAA;;;MAIM,IAAA;AAAA,MACC7I,EAAA,SAAA,SAAA;AAAA,QAEP,MAAA;AAAA,QAAA,IACE6I,EAAI,MAAA;AAAA,UACgBH,EAAAwF,GAAA;AAAA,YAAA,KAAA;AAAA,YACnB,YAAQlO,EAAA;AAAA,YACR,uBAAkBC,EAAO,CAAO,MAAAA,EAAA,CAAA,IAAA,CAAAiD,MAAAlD,EAAA,cAAAkD;AAAA,YAAA,QAAAlD,EAAA,SAAA,OAAA;AAAA;;;;;;;;;"}