@illinois-grad/grad-vue 3.0.6 → 3.0.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -5999,40 +5999,43 @@ function Cd() {
5999
5999
  let e = globalThis;
6000
6000
  return e.__GRAD_VUE_WC_SIDEBAR_CHANNELS__ ||= /* @__PURE__ */ new Map(), e.__GRAD_VUE_WC_SIDEBAR_CHANNELS__;
6001
6001
  }
6002
- function wd(e = "default", t = "(max-width: 800px)") {
6003
- let n = Cd(), r = e || "default";
6002
+ function wd(e = "default", t) {
6003
+ let n = Cd(), r = e || "default", i = typeof t == "string" ? t : t?.value, a = i && i.trim() ? i : "(max-width: 800px)";
6004
6004
  if (!n.has(r)) {
6005
- let e = Sd(r);
6005
+ let e = Sd(r), t = /* @__PURE__ */ N(a);
6006
6006
  n.set(r, {
6007
6007
  id: `g-wc-sidebar-${e}`,
6008
6008
  open: /* @__PURE__ */ N(!1),
6009
+ breakpoint: t,
6009
6010
  isCollapsible: Oc(t, { ssrWidth: 1e3 }),
6010
6011
  toggle: () => void 0
6011
6012
  });
6012
6013
  }
6013
- let i = n.get(r);
6014
- i.toggle = () => i.open.value = !i.open.value;
6015
- function a(e) {
6016
- if (!i.isCollapsible.value || !i.open.value) return;
6017
- let t = e.target, n = document.getElementById(`${i.id}-sidebar`);
6014
+ let o = n.get(r);
6015
+ o.toggle = () => o.open.value = !o.open.value, typeof t == "string" ? t.trim() && (o.breakpoint.value = t) : t && L(t, (e) => {
6016
+ e && e.trim() && (o.breakpoint.value = e);
6017
+ }, { immediate: !0 });
6018
+ function s(e) {
6019
+ if (!o.isCollapsible.value || !o.open.value) return;
6020
+ let t = e.target, n = document.getElementById(`${o.id}-sidebar`);
6018
6021
  n && (n.contains(t) || setTimeout(() => {
6019
- i.open.value = !1;
6022
+ o.open.value = !1;
6020
6023
  }, 5));
6021
6024
  }
6022
- function o(e) {
6023
- if (!i.isCollapsible.value || !i.open.value) return;
6024
- let t = e.target, n = document.getElementById(`${i.id}-sidebar`), r = document.getElementById(`${i.id}-hamburger`);
6025
+ function c(e) {
6026
+ if (!o.isCollapsible.value || !o.open.value) return;
6027
+ let t = e.target, n = document.getElementById(`${o.id}-sidebar`), r = document.getElementById(`${o.id}-hamburger`);
6025
6028
  n && (n.contains(t) || r?.contains(t) || setTimeout(() => {
6026
- i.open.value = !1;
6029
+ o.open.value = !1;
6027
6030
  }, 5));
6028
6031
  }
6029
6032
  return Gr(() => {
6030
- L(i.isCollapsible, (e) => {
6031
- e ? (document.addEventListener("mousedown", a), document.addEventListener("focusin", o)) : (document.removeEventListener("mousedown", a), document.removeEventListener("focusin", o));
6033
+ L(o.isCollapsible, (e) => {
6034
+ e ? (document.addEventListener("mousedown", s), document.addEventListener("focusin", c)) : (document.removeEventListener("mousedown", s), document.removeEventListener("focusin", c));
6032
6035
  }, { immediate: !0 });
6033
6036
  }), Jr(() => {
6034
- document.removeEventListener("mousedown", a), document.removeEventListener("focusin", o);
6035
- }), i;
6037
+ document.removeEventListener("mousedown", s), document.removeEventListener("focusin", c);
6038
+ }), o;
6036
6039
  }
6037
6040
  //#endregion
6038
6041
  //#region src/components/GHamburgerMenu.vue?vue&type=script&setup=true&lang.ts
@@ -6051,11 +6054,12 @@ var Td = [
6051
6054
  sidebarKey: {
6052
6055
  default: "default",
6053
6056
  type: String
6054
- }
6057
+ },
6058
+ mediaQuery: { type: String }
6055
6059
  },
6056
6060
  emits: ["toggle"],
6057
6061
  setup(e, { emit: t }) {
6058
- let n = e, r = qn("sidebar") ?? (Ql() ? wd(n.sidebarKey) : void 0), i = t;
6062
+ let n = e, r = qn("sidebar") ?? (Ql() ? wd(n.sidebarKey, /* @__PURE__ */ fn(n, "mediaQuery")) : void 0), i = t;
6059
6063
  function a() {
6060
6064
  i("toggle"), r?.toggle();
6061
6065
  }
@@ -7456,10 +7460,11 @@ var Bd = ["id", "for"], Vd = {
7456
7460
  sidebarKey: {
7457
7461
  default: "default",
7458
7462
  type: String
7459
- }
7463
+ },
7464
+ mediaQuery: { type: String }
7460
7465
  },
7461
7466
  setup(e) {
7462
- let t = e, n = qn("sidebar", () => void 0, !0) ?? (Ql() ? wd(t.sidebarKey) : void 0), r = Q(() => t.backgroundImage ? t.backgroundImage : t.theme === "light" ? "none" : "url('https://gradcdn.blob.core.windows.net/public/sidebar-bg2.jpg')"), i = Q(() => t.backgroundColor ? t.backgroundColor : t.theme === "light" ? "#f9f9f9" : "#030913"), a = Q(() => t.topOffsetVar ? `var(${t.topOffsetVar})` : t.topOffset ? t.topOffset : "var(--g-toolbar-height)"), o = z();
7467
+ let t = e, n = qn("sidebar", () => void 0, !0) ?? (Ql() ? wd(t.sidebarKey, /* @__PURE__ */ fn(t, "mediaQuery")) : void 0), r = Q(() => t.backgroundImage ? t.backgroundImage : t.theme === "light" ? "none" : "url('https://gradcdn.blob.core.windows.net/public/sidebar-bg2.jpg')"), i = Q(() => t.backgroundColor ? t.backgroundColor : t.theme === "light" ? "#f9f9f9" : "#030913"), a = Q(() => t.topOffsetVar ? `var(${t.topOffsetVar})` : t.topOffset ? t.topOffset : "var(--g-toolbar-height)"), o = z();
7463
7468
  function s(e) {
7464
7469
  e.key === "Escape" && n?.isCollapsible?.value && n?.open?.value && (n.open.value = !1, document.getElementById(`${n.id}-hamburger`)?.focus());
7465
7470
  }
@@ -8686,42 +8691,66 @@ var up = { class: "g-table-outer-wrap" }, dp = {
8686
8691
  }
8687
8692
  return null;
8688
8693
  }
8689
- let o = null;
8690
- function s() {
8694
+ let o = null, s = null, c = null, l = !1;
8695
+ function u() {
8691
8696
  i && o && (i.value = o.scrollTop);
8692
8697
  }
8698
+ function d() {
8699
+ s &&= (s.disconnect(), null), c &&= (c.disconnect(), null);
8700
+ }
8701
+ function f() {
8702
+ !i || !o || l || i.value <= 0 || (o.scrollTop = i.value, l = o.scrollTop > 0, l && d());
8703
+ }
8704
+ function p(e) {
8705
+ if (typeof MutationObserver > "u") return;
8706
+ c = new MutationObserver(() => {
8707
+ f();
8708
+ });
8709
+ let t = e;
8710
+ for (; t;) c.observe(t, {
8711
+ attributes: !0,
8712
+ attributeFilter: [
8713
+ "class",
8714
+ "style",
8715
+ "hidden",
8716
+ "open"
8717
+ ]
8718
+ }), t = t.parentElement;
8719
+ }
8693
8720
  Gr(() => {
8694
- !i || !r.value || (o = a(r.value), o && (i.value > 0 && F(() => {
8695
- o && (o.scrollTop = i.value);
8696
- }), o.addEventListener("scroll", s)));
8721
+ !i || !r.value || (o = a(r.value), o && (F(() => {
8722
+ f();
8723
+ }), typeof ResizeObserver < "u" && (s = new ResizeObserver(() => {
8724
+ f();
8725
+ }), s.observe(r.value), s.observe(o)), p(r.value), o.addEventListener("scroll", u)));
8697
8726
  }), Yr(() => {
8698
- o &&= (o.removeEventListener("scroll", s), null);
8727
+ d(), o &&= (o.removeEventListener("scroll", u), null), l = !1;
8699
8728
  });
8700
- let c = /* @__PURE__ */ Ht(/* @__PURE__ */ new Map());
8701
- Kn("g-tree-menu-expandable-items", c);
8702
- let l = /* @__PURE__ */ N({
8729
+ let m = /* @__PURE__ */ Ht(/* @__PURE__ */ new Map());
8730
+ Kn("g-tree-menu-expandable-items", m);
8731
+ let h = /* @__PURE__ */ N({
8703
8732
  expanded: !0,
8704
8733
  version: 0
8705
8734
  });
8706
- Kn("g-tree-menu-expand-all-signal", l);
8707
- let u = Q(() => {
8708
- if (c.size === 0) return !1;
8709
- for (let e of c.values()) if (!e) return !1;
8735
+ Kn("g-tree-menu-expand-all-signal", h);
8736
+ let g = Q(() => {
8737
+ if (m.size === 0) return !1;
8738
+ for (let e of m.values()) if (!e) return !1;
8710
8739
  return !0;
8711
8740
  });
8712
- function d() {
8713
- l.value = {
8714
- expanded: !u.value,
8715
- version: l.value.version + 1
8741
+ function _() {
8742
+ h.value = {
8743
+ expanded: !g.value,
8744
+ version: h.value.version + 1
8716
8745
  };
8717
8746
  }
8718
- function f(e) {
8747
+ function v(e) {
8719
8748
  return e.querySelector("a, button, [tabindex='0']") || e;
8720
8749
  }
8721
- function p(e) {
8750
+ function y(e) {
8722
8751
  return Array.from(e.querySelectorAll("[data-tree-primary]"));
8723
8752
  }
8724
- function m(e) {
8753
+ function b(e) {
8725
8754
  let t = e.currentTarget, n = document.activeElement;
8726
8755
  if (!t.contains(n) || ![
8727
8756
  "ArrowUp",
@@ -8731,16 +8760,16 @@ var up = { class: "g-table-outer-wrap" }, dp = {
8731
8760
  "Home",
8732
8761
  "End"
8733
8762
  ].includes(e.key)) return;
8734
- let r = n.closest(".g-tree-menu__item"), i = r?.querySelector("[data-tree-primary]") ?? null, a = p(t), o = i ? a.indexOf(i) : -1;
8763
+ let r = n.closest(".g-tree-menu__item"), i = r?.querySelector("[data-tree-primary]") ?? null, a = y(t), o = i ? a.indexOf(i) : -1;
8735
8764
  switch (e.key) {
8736
8765
  case "ArrowDown": {
8737
8766
  let e = a[o + 1];
8738
- e && f(e).focus();
8767
+ e && v(e).focus();
8739
8768
  break;
8740
8769
  }
8741
8770
  case "ArrowUp": {
8742
8771
  let e = a[o - 1];
8743
- e && f(e).focus();
8772
+ e && v(e).focus();
8744
8773
  break;
8745
8774
  }
8746
8775
  case "ArrowRight":
@@ -8750,27 +8779,27 @@ var up = { class: "g-table-outer-wrap" }, dp = {
8750
8779
  e && e.click();
8751
8780
  } else {
8752
8781
  let e = a[o + 1];
8753
- e && f(e).focus();
8782
+ e && v(e).focus();
8754
8783
  }
8755
8784
  break;
8756
8785
  case "ArrowLeft":
8757
8786
  if (!r) break;
8758
8787
  if (r.querySelector("[aria-expanded='true']") !== null) {
8759
8788
  let e = r.querySelector(".g-tree-menu__toggle-btn");
8760
- e && e.click(), i && F(() => f(i).focus());
8789
+ e && e.click(), i && F(() => v(i).focus());
8761
8790
  } else {
8762
8791
  let e = r.parentElement?.closest(".g-tree-menu__item");
8763
8792
  if (e) {
8764
8793
  let t = e.querySelector("[data-tree-primary]");
8765
- t && f(t).focus();
8794
+ t && v(t).focus();
8766
8795
  }
8767
8796
  }
8768
8797
  break;
8769
8798
  case "Home":
8770
- a.length > 0 && f(a[0]).focus();
8799
+ a.length > 0 && v(a[0]).focus();
8771
8800
  break;
8772
8801
  case "End":
8773
- a.length > 0 && f(a[a.length - 1]).focus();
8802
+ a.length > 0 && v(a[a.length - 1]).focus();
8774
8803
  break;
8775
8804
  }
8776
8805
  e.preventDefault();
@@ -8781,7 +8810,7 @@ var up = { class: "g-table-outer-wrap" }, dp = {
8781
8810
  }, {
8782
8811
  "aria-labelledby": e.heading ? P(n) : void 0,
8783
8812
  "aria-label": e.heading ? void 0 : "Tree Menu"
8784
- }, { onKeydown: m }), [
8813
+ }, { onKeydown: b }), [
8785
8814
  e.heading ? (G(), K("h2", {
8786
8815
  key: 0,
8787
8816
  id: P(n),
@@ -8789,9 +8818,9 @@ var up = { class: "g-table-outer-wrap" }, dp = {
8789
8818
  }, A(e.heading), 9, Cm)) : Z("", !0),
8790
8819
  J("div", wm, [i[1] ||= J("div", { class: "g-tree-menu__divider-line" }, null, -1), e.showExpandAll ? (G(), K("div", Tm, [J("button", {
8791
8820
  class: "g-tree-menu__expand-all-btn",
8792
- onClick: d
8821
+ onClick: _
8793
8822
  }, [(G(), K("svg", {
8794
- class: k(["g-tree-menu__expand-all-icon", { "g-tree-menu__expand-all-icon--collapse": u.value }]),
8823
+ class: k(["g-tree-menu__expand-all-icon", { "g-tree-menu__expand-all-icon--collapse": g.value }]),
8795
8824
  role: "none",
8796
8825
  viewBox: "0 0 24 24",
8797
8826
  fill: "none",
@@ -8799,7 +8828,7 @@ var up = { class: "g-table-outer-wrap" }, dp = {
8799
8828
  "stroke-width": "2.5",
8800
8829
  "stroke-linecap": "round",
8801
8830
  "stroke-linejoin": "round"
8802
- }, [...i[0] ||= [J("polyline", { points: "7 8 12 13 17 8" }, null, -1), J("polyline", { points: "7 13 12 18 17 13" }, null, -1)]], 2)), X(" " + A(u.value ? "Collapse all" : "Expand all"), 1)])])) : Z("", !0)]),
8831
+ }, [...i[0] ||= [J("polyline", { points: "7 8 12 13 17 8" }, null, -1), J("polyline", { points: "7 13 12 18 17 13" }, null, -1)]], 2)), X(" " + A(g.value ? "Collapse all" : "Expand all"), 1)])])) : Z("", !0)]),
8803
8832
  J("div", Em, [V(r.$slots, "default")])
8804
8833
  ], 16));
8805
8834
  }