@ulu/frontend-vue 0.1.3-beta.13 → 0.1.3-beta.15

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,4 +1,4 @@
1
- import { reactive as lt, inject as Ae, ref as O, computed as w, watch as te, toRef as xs, createElementBlock as f, openBlock as u, normalizeStyle as G, unref as k, normalizeClass as m, createCommentVNode as p, createBlock as _, resolveDynamicComponent as j, normalizeProps as de, mergeProps as le, Fragment as U, createTextVNode as T, toDisplayString as S, Teleport as yt, createVNode as x, resolveDirective as Nn, withDirectives as ze, createElementVNode as h, renderSlot as g, withKeys as Wn, nextTick as Ke, markRaw as Oe, watchEffect as pt, defineAsyncComponent as Bs, toRefs as Es, toValue as ct, resolveComponent as Z, withModifiers as Rs, useSlots as Dn, renderList as R, TransitionGroup as qn, withCtx as $, onMounted as Be, onBeforeUnmount as bt, isRef as Is, hasInjectionContext as js, getCurrentInstance as Ms, onDeactivated as Fs, onActivated as Ps, onUnmounted as _t, guardReactiveProps as ve, h as zs, watchPostEffect as Ls, vModelText as Vs, vShow as zt, provide as Bt, createSlots as Fe } from "vue";
1
+ import { reactive as lt, inject as Oe, ref as O, computed as w, watch as te, toRef as xs, createElementBlock as f, openBlock as u, normalizeStyle as G, unref as k, normalizeClass as m, createCommentVNode as p, createBlock as _, resolveDynamicComponent as j, normalizeProps as de, mergeProps as le, Fragment as U, createTextVNode as T, toDisplayString as S, Teleport as yt, createVNode as x, resolveDirective as Nn, withDirectives as ze, createElementVNode as h, renderSlot as g, withKeys as Wn, nextTick as Ke, markRaw as Ue, watchEffect as pt, defineAsyncComponent as Bs, toRefs as Es, toValue as ct, resolveComponent as Z, withModifiers as Rs, useSlots as Dn, renderList as R, TransitionGroup as qn, withCtx as $, onMounted as Ee, onBeforeUnmount as bt, createSlots as Te, isRef as Is, hasInjectionContext as js, getCurrentInstance as Ms, onDeactivated as Fs, onActivated as Ps, onUnmounted as _t, guardReactiveProps as ve, h as zs, watchPostEffect as Ls, vModelText as Vs, vShow as zt, provide as Bt } from "vue";
2
2
  import { useFloating as Hs, autoUpdate as Ns, inline as Ws, offset as Ds, flip as qs, shift as Xs, arrow as Gs } from "@floating-ui/vue";
3
3
  import { normalizeClasses as fn } from "@ulu/utils/templating.js";
4
4
  import { preventScroll as Ys, wasClickOutside as Ks, isBrowser as Js, getScrollParent as Qs } from "@ulu/utils/browser/dom.js";
@@ -93,7 +93,7 @@ const fl = {
93
93
  uluTooltipState: "Popovers"
94
94
  }, mn = {};
95
95
  function Ce(e) {
96
- const n = Ae(e, mn);
96
+ const n = Oe(e, mn);
97
97
  if (n === mn) {
98
98
  const t = fl[e] || "", s = t ? ` from the '${t}' plugin` : "", l = t ? "Please install missing plugin." : "";
99
99
  throw new Error(`Required inject: '${e}'${s} was not provided. ${l}`);
@@ -389,11 +389,11 @@ const _l = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
389
389
  trigger: k(d),
390
390
  content: k(v),
391
391
  isOpen: k(i)
392
- }, je = { isOpen: Se.isOpen };
392
+ }, Me = { isOpen: Se.isOpen };
393
393
  Ke(() => {
394
394
  i.value ? (A(), window.setTimeout(() => {
395
- Y(), s.directFocus(Se), t("toggle", je);
396
- }, 0)) : (J(), s.directFocus(Se), t("toggle", je));
395
+ Y(), s.directFocus(Se), t("toggle", Me);
396
+ }, 0)) : (J(), s.directFocus(Se), t("toggle", Me));
397
397
  });
398
398
  };
399
399
  let F;
@@ -405,7 +405,7 @@ const _l = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
405
405
  F && (document.removeEventListener("click", F), F = null);
406
406
  }, oe = () => I(!1);
407
407
  return (re, Se) => {
408
- const je = Nn("ulu-tooltip");
408
+ const Me = Nn("ulu-tooltip");
409
409
  return u(), f(U, null, [
410
410
  ze((u(), f("button", {
411
411
  type: "button",
@@ -429,7 +429,7 @@ const _l = /* @__PURE__ */ Object.freeze(/* @__PURE__ */ Object.defineProperty({
429
429
  T(S(e.triggerText), 1)
430
430
  ])
431
431
  ], 10, wl)), [
432
- [je, e.tooltip ? e.tooltip : null]
432
+ [Me, e.tooltip ? e.tooltip : null]
433
433
  ]),
434
434
  h("span", {
435
435
  class: m(["popover", [
@@ -527,7 +527,7 @@ function Gf(e) {
527
527
  const St = "uluPopoverOptions", kt = "uluTooltipState", Kn = "ulu-global-tooltip", Lt = (e, n) => {
528
528
  if (e === !1 || e === null) return null;
529
529
  let t = e;
530
- return (typeof t != "object" || Array.isArray(t)) && (t = { content: t }), t.component && (t.component = Oe(t.component)), { ...n, ...t };
530
+ return (typeof t != "object" || Array.isArray(t)) && (t = { content: t }), t.component && (t.component = Ue(t.component)), { ...n, ...t };
531
531
  };
532
532
  function Yf(e, n = {}) {
533
533
  const t = {
@@ -679,7 +679,7 @@ const q = {
679
679
  spaced: Boolean
680
680
  },
681
681
  setup(e) {
682
- const n = Ae("uluCore"), t = O(null), { getIconProps: s, getClassesFromDefinition: l } = Ol();
682
+ const n = Oe("uluCore"), t = O(null), { getIconProps: s, getClassesFromDefinition: l } = Ol();
683
683
  let o;
684
684
  const a = e, r = w(() => n.getSetting("fontAwesomeStatic")), c = w(() => n.getSetting("iconComponent")), i = w(() => n.getSetting("iconPropResolver")), d = w(() => {
685
685
  const { icon: C } = a;
@@ -698,13 +698,13 @@ const q = {
698
698
  if (!r.value && d.value) {
699
699
  if (t.value === null)
700
700
  if (o)
701
- t.value = Oe(o.FontAwesomeIcon);
701
+ t.value = Ue(o.FontAwesomeIcon);
702
702
  else {
703
703
  const C = Bs(async () => {
704
704
  const B = await import("@fortawesome/vue-fontawesome");
705
705
  return o = B, B.FontAwesomeIcon;
706
706
  });
707
- t.value = Oe(C);
707
+ t.value = Ue(C);
708
708
  }
709
709
  } else
710
710
  t.value = null;
@@ -1045,7 +1045,7 @@ const Jn = /* @__PURE__ */ L(Ul, [["render", Il]]), Xe = [], jl = O({
1045
1045
  }, Ml = (e) => ({
1046
1046
  open(n, t = null) {
1047
1047
  const s = this.get(n);
1048
- Ge.active = Oe(s), Ge.activeProps = Object.assign({}, s.props, t);
1048
+ Ge.active = Ue(s), Ge.activeProps = Object.assign({}, s.props, t);
1049
1049
  },
1050
1050
  /**
1051
1051
  * Close the active modal
@@ -1191,7 +1191,7 @@ const Qn = /* @__PURE__ */ L(Pl, [["render", Ll]]), vn = {
1191
1191
  /**
1192
1192
  * Component used to render the toast in the display
1193
1193
  */
1194
- component: Oe(Qn),
1194
+ component: Ue(Qn),
1195
1195
  /**
1196
1196
  * Duration of toast
1197
1197
  */
@@ -1318,8 +1318,8 @@ function ql(e) {
1318
1318
  await new Promise((d) => {
1319
1319
  document.readyState === "loading" ? document.addEventListener("DOMContentLoaded", () => d()) : d();
1320
1320
  });
1321
- const a = await import("@ulu/frontend/js/ui/breakpoints.js"), { BreakpointManager: r } = a, c = Oe(new r(n.plugin));
1322
- t.value = Oe(c);
1321
+ const a = await import("@ulu/frontend/js/ui/breakpoints.js"), { BreakpointManager: r } = a, c = Ue(new r(n.plugin));
1322
+ t.value = Ue(c);
1323
1323
  const i = () => {
1324
1324
  s.value = c.active, l.value = c.resizeDirection;
1325
1325
  };
@@ -1355,14 +1355,14 @@ function Qf(e, n) {
1355
1355
  } = ql(r);
1356
1356
  e.provide("uluBreakpointActive", w(() => i.value)), e.provide("uluBreakpointDirection", w(() => d.value)), e.provide("uluBreakpointManager", w(() => c.value)), e.provide("uluIsMobile", w(() => t.value));
1357
1357
  }
1358
- const Ht = /* @__PURE__ */ new Set(), ne = /* @__PURE__ */ new WeakMap(), Ue = /* @__PURE__ */ new WeakMap(), ie = /* @__PURE__ */ new WeakMap(), Ze = /* @__PURE__ */ new WeakMap(), Rt = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap(), Te = /* @__PURE__ */ new WeakMap(), $e = /* @__PURE__ */ new WeakMap(), Me = /* @__PURE__ */ new WeakSet();
1358
+ const Ht = /* @__PURE__ */ new Set(), ne = /* @__PURE__ */ new WeakMap(), xe = /* @__PURE__ */ new WeakMap(), ie = /* @__PURE__ */ new WeakMap(), Ze = /* @__PURE__ */ new WeakMap(), Rt = /* @__PURE__ */ new WeakMap(), Ye = /* @__PURE__ */ new WeakMap(), Ae = /* @__PURE__ */ new WeakMap(), $e = /* @__PURE__ */ new WeakMap(), Fe = /* @__PURE__ */ new WeakSet();
1359
1359
  let ae, Jt = 0, Qt = 0;
1360
1360
  const _e = "__aa_tgt", et = "__aa_del", ht = "__aa_new", Zn = (e) => {
1361
1361
  const n = Jl(e);
1362
1362
  n && n.forEach((t) => Ql(t));
1363
1363
  }, Gl = (e) => {
1364
1364
  e.forEach((n) => {
1365
- n.target === ae && Yl(), ne.has(n.target) && Ee(n.target);
1365
+ n.target === ae && Yl(), ne.has(n.target) && Re(n.target);
1366
1366
  });
1367
1367
  };
1368
1368
  function es(e) {
@@ -1381,7 +1381,7 @@ function Zt(e) {
1381
1381
  a - (t.top + l + t.height),
1382
1382
  t.left - l
1383
1383
  ].map((d) => `${-1 * Math.floor(d)}px`).join(" "), i = new IntersectionObserver(() => {
1384
- ++s > 1 && Ee(e);
1384
+ ++s > 1 && Re(e);
1385
1385
  }, {
1386
1386
  root: ae,
1387
1387
  threshold: 1,
@@ -1389,7 +1389,7 @@ function Zt(e) {
1389
1389
  });
1390
1390
  i.observe(e), Ze.set(e, i);
1391
1391
  }
1392
- function Ee(e, n = !0) {
1392
+ function Re(e, n = !0) {
1393
1393
  clearTimeout($e.get(e));
1394
1394
  const t = $t(e), s = n ? tt(t) ? 500 : t.duration : 0;
1395
1395
  $e.set(e, setTimeout(async () => {
@@ -1402,12 +1402,12 @@ function Ee(e, n = !0) {
1402
1402
  }
1403
1403
  function Yl() {
1404
1404
  clearTimeout($e.get(ae)), $e.set(ae, setTimeout(() => {
1405
- Ht.forEach((e) => ut(e, (n) => ts(() => Ee(n))));
1405
+ Ht.forEach((e) => ut(e, (n) => ts(() => Re(n))));
1406
1406
  }, 100));
1407
1407
  }
1408
1408
  function Kl(e) {
1409
1409
  setTimeout(() => {
1410
- Ye.set(e, setInterval(() => ts(Ee.bind(null, e)), 2e3));
1410
+ Ye.set(e, setInterval(() => ts(Re.bind(null, e)), 2e3));
1411
1411
  }, Math.round(2e3 * Math.random()));
1412
1412
  }
1413
1413
  function ts(e) {
@@ -1443,7 +1443,7 @@ function Jl(e) {
1443
1443
  const a = l.removedNodes[o];
1444
1444
  if (et in a)
1445
1445
  return !1;
1446
- a instanceof Element && (s.add(a), It(l.target, a), Ue.set(a, [
1446
+ a instanceof Element && (s.add(a), It(l.target, a), xe.set(a, [
1447
1447
  l.previousSibling,
1448
1448
  l.nextSibling
1449
1449
  ]));
@@ -1458,7 +1458,7 @@ function It(e, n) {
1458
1458
  function Ql(e) {
1459
1459
  var n, t;
1460
1460
  const s = e.isConnected, l = ne.has(e);
1461
- s && Ue.has(e) && Ue.delete(e), ((n = ie.get(e)) === null || n === void 0 ? void 0 : n.playState) !== "finished" && ((t = ie.get(e)) === null || t === void 0 || t.cancel()), ht in e ? yn(e) : l && s ? eo(e) : l && !s ? to(e) : yn(e);
1461
+ s && xe.has(e) && xe.delete(e), ((n = ie.get(e)) === null || n === void 0 ? void 0 : n.playState) !== "finished" && ((t = ie.get(e)) === null || t === void 0 || t.cancel()), ht in e ? yn(e) : l && s ? eo(e) : l && !s ? to(e) : yn(e);
1462
1462
  }
1463
1463
  function ge(e) {
1464
1464
  return Number(e.replace(/[^0-9.\-]/g, ""));
@@ -1491,7 +1491,7 @@ function ss(e, n, t) {
1491
1491
  return [s, o, l, a].map(Math.round);
1492
1492
  }
1493
1493
  function $t(e) {
1494
- return _e in e && Te.has(e[_e]) ? Te.get(e[_e]) : { duration: 250, easing: "ease-in-out" };
1494
+ return _e in e && Ae.has(e[_e]) ? Ae.get(e[_e]) : { duration: 250, easing: "ease-in-out" };
1495
1495
  }
1496
1496
  function ls(e) {
1497
1497
  if (_e in e)
@@ -1499,13 +1499,13 @@ function ls(e) {
1499
1499
  }
1500
1500
  function en(e) {
1501
1501
  const n = ls(e);
1502
- return n ? Me.has(n) : !1;
1502
+ return n ? Fe.has(n) : !1;
1503
1503
  }
1504
1504
  function ut(e, ...n) {
1505
- n.forEach((t) => t(e, Te.has(e)));
1505
+ n.forEach((t) => t(e, Ae.has(e)));
1506
1506
  for (let t = 0; t < e.children.length; t++) {
1507
1507
  const s = e.children.item(t);
1508
- s && n.forEach((l) => l(s, Te.has(s)));
1508
+ s && n.forEach((l) => l(s, Ae.has(s)));
1509
1509
  }
1510
1510
  }
1511
1511
  function tn(e) {
@@ -1543,7 +1543,7 @@ function eo(e) {
1543
1543
  const [o] = tn(l(e, "remain", n, t));
1544
1544
  s = new Animation(o), s.play();
1545
1545
  }
1546
- ie.set(e, s), ne.set(e, t), s.addEventListener("finish", Ee.bind(null, e, !1), {
1546
+ ie.set(e, s), ne.set(e, t), s.addEventListener("finish", Re.bind(null, e, !1), {
1547
1547
  once: !0
1548
1548
  });
1549
1549
  }
@@ -1572,13 +1572,13 @@ function yn(e) {
1572
1572
  const [l] = tn(t(e, "add", n));
1573
1573
  s = new Animation(l), s.play();
1574
1574
  }
1575
- ie.set(e, s), s.addEventListener("finish", Ee.bind(null, e, !1), {
1575
+ ie.set(e, s), s.addEventListener("finish", Re.bind(null, e, !1), {
1576
1576
  once: !0
1577
1577
  });
1578
1578
  }
1579
1579
  function pn(e, n) {
1580
1580
  var t;
1581
- e.remove(), ne.delete(e), Ue.delete(e), ie.delete(e), (t = Ze.get(e)) === null || t === void 0 || t.disconnect(), setTimeout(() => {
1581
+ e.remove(), ne.delete(e), xe.delete(e), ie.delete(e), (t = Ze.get(e)) === null || t === void 0 || t.disconnect(), setTimeout(() => {
1582
1582
  if (et in e && delete e[et], Object.defineProperty(e, ht, { value: !0, configurable: !0 }), n && e instanceof HTMLElement)
1583
1583
  for (const s in n)
1584
1584
  e.style[s] = "";
@@ -1586,9 +1586,9 @@ function pn(e, n) {
1586
1586
  }
1587
1587
  function to(e) {
1588
1588
  var n;
1589
- if (!Ue.has(e) || !ne.has(e))
1589
+ if (!xe.has(e) || !ne.has(e))
1590
1590
  return;
1591
- const [t, s] = Ue.get(e);
1591
+ const [t, s] = xe.get(e);
1592
1592
  Object.defineProperty(e, et, { value: !0, configurable: !0 });
1593
1593
  const l = window.scrollX, o = window.scrollY;
1594
1594
  if (s && s.parentNode && s.parentNode instanceof Element ? s.parentNode.insertBefore(e, s) : t && t.parentNode ? t.parentNode.appendChild(e) : (n = ls(e)) === null || n === void 0 || n.appendChild(e), !en(e))
@@ -1660,7 +1660,7 @@ function so(e) {
1660
1660
  }
1661
1661
  function lo(e, n = {}) {
1662
1662
  if (ns && pe && !(window.matchMedia("(prefers-reduced-motion: reduce)").matches && !tt(n) && !n.disrespectUserMotionPreference)) {
1663
- Me.add(e), getComputedStyle(e).position === "static" && Object.assign(e.style, { position: "relative" }), ut(e, Ee, Kl, (a) => pe?.observe(a)), tt(n) ? Te.set(e, n) : Te.set(e, {
1663
+ Fe.add(e), getComputedStyle(e).position === "static" && Object.assign(e.style, { position: "relative" }), ut(e, Re, Kl, (a) => pe?.observe(a)), tt(n) ? Ae.set(e, n) : Ae.set(e, {
1664
1664
  duration: 250,
1665
1665
  easing: "ease-in-out",
1666
1666
  ...n
@@ -1671,10 +1671,10 @@ function lo(e, n = {}) {
1671
1671
  return Object.freeze({
1672
1672
  parent: e,
1673
1673
  enable: () => {
1674
- Me.add(e);
1674
+ Fe.add(e);
1675
1675
  },
1676
1676
  disable: () => {
1677
- Me.delete(e), ut(e, (s) => {
1677
+ Fe.delete(e), ut(e, (s) => {
1678
1678
  const l = ie.get(s);
1679
1679
  try {
1680
1680
  l?.cancel();
@@ -1687,9 +1687,9 @@ function lo(e, n = {}) {
1687
1687
  a && clearInterval(a), Ye.delete(s);
1688
1688
  });
1689
1689
  },
1690
- isEnabled: () => Me.has(e),
1690
+ isEnabled: () => Fe.has(e),
1691
1691
  destroy: () => {
1692
- Me.delete(e), Ht.delete(e), Te.delete(e);
1692
+ Fe.delete(e), Ht.delete(e), Ae.delete(e);
1693
1693
  const s = Rt.get(e);
1694
1694
  s?.disconnect(), Rt.delete(e), ut(e, (l) => {
1695
1695
  pe?.unobserve(l);
@@ -1704,7 +1704,7 @@ function lo(e, n = {}) {
1704
1704
  const r = Ye.get(l);
1705
1705
  r && clearInterval(r), Ye.delete(l);
1706
1706
  const c = $e.get(l);
1707
- c && clearTimeout(c), $e.delete(l), ne.delete(l), Ue.delete(l);
1707
+ c && clearTimeout(c), $e.delete(l), ne.delete(l), xe.delete(l);
1708
1708
  });
1709
1709
  }
1710
1710
  });
@@ -1715,7 +1715,7 @@ function oo(e) {
1715
1715
  function s(l) {
1716
1716
  t && (l ? t.enable() : t.disable());
1717
1717
  }
1718
- return Be(() => {
1718
+ return Ee(() => {
1719
1719
  pt((l) => {
1720
1720
  let o;
1721
1721
  n.value instanceof HTMLElement ? o = n.value : n.value && "$el" in n.value && n.value.$el instanceof HTMLElement && (o = n.value.$el), o && (t = lo(o, e || {}), l(() => {
@@ -1778,7 +1778,7 @@ const ao = ["id", "aria-controls", "aria-expanded"], ro = ["id", "aria-hidden",
1778
1778
  emits: ["update:modelValue"],
1779
1779
  setup(e, { emit: n }) {
1780
1780
  const t = e, s = n, l = w(() => typeof t.animate == "object" ? t.animate : {}), [o, a] = oo(l);
1781
- Be(() => {
1781
+ Ee(() => {
1782
1782
  a(!!t.animate);
1783
1783
  }), te(() => t.animate, (A) => {
1784
1784
  a(!!A);
@@ -1936,6 +1936,27 @@ const ao = ["id", "aria-controls", "aria-expanded"], ro = ["id", "aria-hidden",
1936
1936
  items: {
1937
1937
  type: Array,
1938
1938
  default: () => []
1939
+ },
1940
+ /**
1941
+ * If using summary text sets the inner element the text is wrapped in, usually a headline or strong
1942
+ */
1943
+ triggerTextElement: {
1944
+ type: String,
1945
+ default: "strong"
1946
+ },
1947
+ /**
1948
+ * Class modifiers (ie. 'transparent', 'secondary', etc)
1949
+ */
1950
+ modifiers: [String, Array],
1951
+ /**
1952
+ * Enable or configure animations.
1953
+ * - `false` (default) to disable all animations.
1954
+ * - `true` to enable animations with default settings.
1955
+ * - An object to provide custom options to auto-animate (e.g., { duration: 100, easing: 'linear' }).
1956
+ */
1957
+ animate: {
1958
+ type: [Boolean, Object],
1959
+ default: !0
1939
1960
  }
1940
1961
  },
1941
1962
  setup(e) {
@@ -1957,18 +1978,46 @@ const ao = ["id", "aria-controls", "aria-expanded"], ro = ["id", "aria-hidden",
1957
1978
  "model-value": a.isOpen,
1958
1979
  "onUpdate:modelValue": (c) => s(r, c),
1959
1980
  "trigger-text": a.title,
1960
- classes: a.classes
1961
- }, {
1962
- default: $(() => [
1981
+ classes: a.classes,
1982
+ "trigger-text-element": e.triggerTextElement,
1983
+ modifiers: e.modifiers,
1984
+ animate: e.animate
1985
+ }, Te({
1986
+ default: $(({ isOpen: c, toggle: i }) => [
1963
1987
  g(l.$slots, "item", {
1964
1988
  item: a,
1965
- index: r
1989
+ index: r,
1990
+ isOpen: c,
1991
+ toggle: i
1966
1992
  }, () => [
1967
1993
  T(S(a.content), 1)
1968
1994
  ])
1969
1995
  ]),
1970
1996
  _: 2
1971
- }, 1032, ["model-value", "onUpdate:modelValue", "trigger-text", "classes"]))), 128))
1997
+ }, [
1998
+ l.$slots.trigger ? {
1999
+ name: "trigger",
2000
+ fn: $(({ isOpen: c }) => [
2001
+ g(l.$slots, "trigger", {
2002
+ item: a,
2003
+ index: r,
2004
+ isOpen: c
2005
+ })
2006
+ ]),
2007
+ key: "0"
2008
+ } : void 0,
2009
+ l.$slots.icon ? {
2010
+ name: "icon",
2011
+ fn: $(({ isOpen: c }) => [
2012
+ g(l.$slots, "icon", {
2013
+ item: a,
2014
+ index: r,
2015
+ isOpen: c
2016
+ })
2017
+ ]),
2018
+ key: "1"
2019
+ } : void 0
2020
+ ]), 1032, ["model-value", "onUpdate:modelValue", "trigger-text", "classes", "trigger-text-element", "modifiers", "animate"]))), 128))
1972
2021
  ]));
1973
2022
  }
1974
2023
  }, os = {
@@ -2321,7 +2370,7 @@ function Dt(e, n, t) {
2321
2370
  const go = (e, n) => Is(n) ? ct(n) : n, vo = "usehead";
2322
2371
  function yo() {
2323
2372
  if (js()) {
2324
- const e = Ae(vo);
2373
+ const e = Oe(vo);
2325
2374
  if (!e)
2326
2375
  throw new Error("useHead() was called without provide context, ensure you call it through the setup() function.");
2327
2376
  return e;
@@ -2512,7 +2561,7 @@ const Ao = { class: "layout-flex-baseline" }, Oo = { class: "type-word-break" },
2512
2561
  l.value = r.offsetWidth < r.scrollWidth;
2513
2562
  });
2514
2563
  }, a = t(o);
2515
- return Be(o), _t(a), (r, c) => (u(), f("div", Ao, [
2564
+ return Ee(o), _t(a), (r, c) => (u(), f("div", Ao, [
2516
2565
  h("div", {
2517
2566
  class: "type-truncate",
2518
2567
  ref_key: "text",
@@ -4163,7 +4212,7 @@ const yh = /* @__PURE__ */ L(ta, [["render", sa]]), ph = {
4163
4212
  setup(e) {
4164
4213
  const n = e, t = O(null), s = O(null);
4165
4214
  let l = null, o = null;
4166
- return Be(async () => {
4215
+ return Ee(async () => {
4167
4216
  l = () => al(t.value), l(), s.value = !0, o = Kt(l, 200, !1), window.addEventListener("resize", o);
4168
4217
  }), bt(() => {
4169
4218
  o && (window.removeEventListener("resize", o), o = null, l = null);
@@ -5117,7 +5166,7 @@ const Yh = /* @__PURE__ */ L(gr, [["render", vr]]), yr = {
5117
5166
  };
5118
5167
  return n.status && (c[`progress-circle--${n.status}`] = !0), c;
5119
5168
  });
5120
- return Be(() => {
5169
+ return Ee(() => {
5121
5170
  l();
5122
5171
  }), (c, i) => (u(), f("div", {
5123
5172
  class: m(r.value)
@@ -5283,7 +5332,7 @@ function Qh(e, n = {}) {
5283
5332
  const E = I.value[H.value]?.sort;
5284
5333
  return typeof E != "function" ? re.value : E([...re.value]);
5285
5334
  });
5286
- function je() {
5335
+ function Me() {
5287
5336
  C.value.forEach((E) => {
5288
5337
  E.children && E.children.forEach((M) => M.selected = !1), E.selectedCount = 0;
5289
5338
  });
@@ -5377,7 +5426,7 @@ function Qh(e, n = {}) {
5377
5426
  sortTypes: I,
5378
5427
  displayItems: Se,
5379
5428
  selectedFacets: oe,
5380
- clearFilters: je,
5429
+ clearFilters: Me,
5381
5430
  handleFacetChange: xt
5382
5431
  };
5383
5432
  }
@@ -6019,7 +6068,7 @@ const Er = ["onClick"], Zh = {
6019
6068
  }
6020
6069
  },
6021
6070
  setup(e) {
6022
- const n = O(!1), t = Ae("uluIsMobile"), s = O(null), l = O(null), o = w(() => t.value ? l.value : s.value);
6071
+ const n = O(!1), t = Oe("uluIsMobile"), s = O(null), l = O(null), o = w(() => t.value ? l.value : s.value);
6023
6072
  return (a, r) => (u(), f("div", {
6024
6073
  class: m(["facets-sidebar", { "facets-sidebar--filters-hidden": k(t) }])
6025
6074
  }, [
@@ -6176,7 +6225,7 @@ function ei({ sections: e, props: n, emit: t, componentElRef: s }) {
6176
6225
  function i() {
6177
6226
  l && (l.disconnect(), l = null);
6178
6227
  }
6179
- Be(() => {
6228
+ Ee(() => {
6180
6229
  if (n.firstItemActive && e.value.length > 0) {
6181
6230
  const d = e.value[0];
6182
6231
  d && (d.active = !0);
@@ -6191,7 +6240,7 @@ function ei({ sections: e, props: n, emit: t, componentElRef: s }) {
6191
6240
  });
6192
6241
  }
6193
6242
  function ds(e) {
6194
- const n = O(null), t = Ae("uluScrollAnchorsRegister"), s = Ae("uluScrollAnchorsUnregister"), l = (r) => `ulu-sa-${ul(r)}`, o = w(() => e.customTitleId || l(e.title)), a = lt({
6243
+ const n = O(null), t = Oe("uluScrollAnchorsRegister"), s = Oe("uluScrollAnchorsUnregister"), l = (r) => `ulu-sa-${ul(r)}`, o = w(() => e.customTitleId || l(e.title)), a = lt({
6195
6244
  id: Symbol("section-id"),
6196
6245
  title: e.title,
6197
6246
  titleId: o.value,
@@ -6203,7 +6252,7 @@ function ds(e) {
6203
6252
  a.title = r, a.titleId = e.customTitleId || l(r);
6204
6253
  }), te(() => e.customTitleId, (r) => {
6205
6254
  a.titleId = r || l(e.title);
6206
- }), Be(() => {
6255
+ }), Ee(() => {
6207
6256
  t && n.value && (a.element = n.value, t(a));
6208
6257
  }), _t(() => {
6209
6258
  s && s(a.id);
@@ -6216,7 +6265,7 @@ function ds(e) {
6216
6265
  };
6217
6266
  }
6218
6267
  function fs() {
6219
- const e = Ae("uluScrollAnchorsSections");
6268
+ const e = Oe("uluScrollAnchorsSections");
6220
6269
  return e || console.warn("useScrollAnchorSections() must be used within an UluScrollAnchors component provider."), e;
6221
6270
  }
6222
6271
  const cm = {
@@ -7218,7 +7267,7 @@ function Di(e, n, t, s, l, o) {
7218
7267
  columnWidth: t.columnWidth,
7219
7268
  classes: t.classes,
7220
7269
  value: o.value
7221
- }, Fe({ _: 2 }, [
7270
+ }, Te({ _: 2 }, [
7222
7271
  R(e.$slots, (r, c) => ({
7223
7272
  name: c,
7224
7273
  fn: $((i) => [
@@ -7239,7 +7288,7 @@ function Di(e, n, t, s, l, o) {
7239
7288
  classes: t.classes,
7240
7289
  value: o.value,
7241
7290
  foot: ""
7242
- }, Fe({ _: 2 }, [
7291
+ }, Te({ _: 2 }, [
7243
7292
  R(e.$slots, (r, c) => ({
7244
7293
  name: c,
7245
7294
  fn: $((i) => [
@@ -7345,7 +7394,7 @@ function yc(e) {
7345
7394
  return !!wn && wn in e;
7346
7395
  }
7347
7396
  var pc = Function.prototype, bc = pc.toString;
7348
- function Re(e) {
7397
+ function Ie(e) {
7349
7398
  if (e != null) {
7350
7399
  try {
7351
7400
  return bc.call(e);
@@ -7365,16 +7414,16 @@ function Ac(e) {
7365
7414
  if (!Ot(e) || yc(e))
7366
7415
  return !1;
7367
7416
  var n = vs(e) ? Tc : wc;
7368
- return n.test(Re(e));
7417
+ return n.test(Ie(e));
7369
7418
  }
7370
7419
  function Oc(e, n) {
7371
7420
  return e?.[n];
7372
7421
  }
7373
- function Ie(e, n) {
7422
+ function je(e, n) {
7374
7423
  var t = Oc(e, n);
7375
7424
  return Ac(t) ? t : void 0;
7376
7425
  }
7377
- var nt = Ie(ye, "Map"), st = Ie(Object, "create");
7426
+ var nt = je(ye, "Map"), st = je(Object, "create");
7378
7427
  function Uc() {
7379
7428
  this.__data__ = st ? st(null) : {}, this.size = 0;
7380
7429
  }
@@ -7401,23 +7450,23 @@ function zc(e, n) {
7401
7450
  var t = this.__data__;
7402
7451
  return this.size += this.has(e) ? 0 : 1, t[e] = st && n === void 0 ? Pc : n, this;
7403
7452
  }
7404
- function xe(e) {
7453
+ function Be(e) {
7405
7454
  var n = -1, t = e == null ? 0 : e.length;
7406
7455
  for (this.clear(); ++n < t; ) {
7407
7456
  var s = e[n];
7408
7457
  this.set(s[0], s[1]);
7409
7458
  }
7410
7459
  }
7411
- xe.prototype.clear = Uc;
7412
- xe.prototype.delete = xc;
7413
- xe.prototype.get = Ic;
7414
- xe.prototype.has = Fc;
7415
- xe.prototype.set = zc;
7460
+ Be.prototype.clear = Uc;
7461
+ Be.prototype.delete = xc;
7462
+ Be.prototype.get = Ic;
7463
+ Be.prototype.has = Fc;
7464
+ Be.prototype.set = zc;
7416
7465
  function Lc() {
7417
7466
  this.size = 0, this.__data__ = {
7418
- hash: new xe(),
7467
+ hash: new Be(),
7419
7468
  map: new (nt || we)(),
7420
- string: new xe()
7469
+ string: new Be()
7421
7470
  };
7422
7471
  }
7423
7472
  function Vc(e) {
@@ -7481,7 +7530,7 @@ function Gc(e, n) {
7481
7530
  }
7482
7531
  var Sn = function() {
7483
7532
  try {
7484
- var e = Ie(Object, "defineProperty");
7533
+ var e = je(Object, "defineProperty");
7485
7534
  return e({}, "", {}), e;
7486
7535
  } catch {
7487
7536
  }
@@ -7614,9 +7663,9 @@ function sd(e, n, t) {
7614
7663
  function ld(e) {
7615
7664
  return sd(e, Xu, ed);
7616
7665
  }
7617
- var qt = Ie(ye, "DataView"), Xt = Ie(ye, "Promise"), Gt = Ie(ye, "Set"), Yt = Ie(ye, "WeakMap"), xn = "[object Map]", od = "[object Object]", Bn = "[object Promise]", En = "[object Set]", Rn = "[object WeakMap]", In = "[object DataView]", ad = Re(qt), rd = Re(nt), id = Re(Xt), cd = Re(Gt), ud = Re(Yt), be = ot;
7666
+ var qt = je(ye, "DataView"), Xt = je(ye, "Promise"), Gt = je(ye, "Set"), Yt = je(ye, "WeakMap"), xn = "[object Map]", od = "[object Object]", Bn = "[object Promise]", En = "[object Set]", Rn = "[object WeakMap]", In = "[object DataView]", ad = Ie(qt), rd = Ie(nt), id = Ie(Xt), cd = Ie(Gt), ud = Ie(Yt), be = ot;
7618
7667
  (qt && be(new qt(new ArrayBuffer(1))) != In || nt && be(new nt()) != xn || Xt && be(Xt.resolve()) != Bn || Gt && be(new Gt()) != En || Yt && be(new Yt()) != Rn) && (be = function(e) {
7619
- var n = ot(e), t = n == od ? e.constructor : void 0, s = t ? Re(t) : "";
7668
+ var n = ot(e), t = n == od ? e.constructor : void 0, s = t ? Ie(t) : "";
7620
7669
  if (s)
7621
7670
  switch (s) {
7622
7671
  case ad:
@@ -8198,7 +8247,7 @@ function Uf(e, n, t, s, l, o) {
8198
8247
  width: l.tableWidth
8199
8248
  }),
8200
8249
  onColumnSorted: o.applySort
8201
- }, Fe({ _: 2 }, [
8250
+ }, Te({ _: 2 }, [
8202
8251
  R(e.$slots, (r, c) => ({
8203
8252
  name: c,
8204
8253
  fn: $((i) => [
@@ -8224,7 +8273,7 @@ function Uf(e, n, t, s, l, o) {
8224
8273
  pointerEvents: o.headerVisibleX ? "auto" : "none"
8225
8274
  }),
8226
8275
  onColumnSorted: o.applySort
8227
- }, Fe({ _: 2 }, [
8276
+ }, Te({ _: 2 }, [
8228
8277
  R(e.$slots, (r, c) => ({
8229
8278
  name: c,
8230
8279
  fn: $((i) => [
@@ -8295,7 +8344,7 @@ function Uf(e, n, t, s, l, o) {
8295
8344
  onActualHeaderRemoved: o.headerRemoved,
8296
8345
  onActualHeaderAdded: o.headerAdded,
8297
8346
  onColumnSorted: o.applySort
8298
- }, Fe({ _: 2 }, [
8347
+ }, Te({ _: 2 }, [
8299
8348
  R(e.$slots, (r, c) => ({
8300
8349
  name: c,
8301
8350
  fn: $((i) => [
@@ -8324,7 +8373,7 @@ function Uf(e, n, t, s, l, o) {
8324
8373
  pointerEvents: o.headerVisibleX ? "auto" : "none"
8325
8374
  }),
8326
8375
  onColumnSorted: o.applySort
8327
- }, Fe({ _: 2 }, [
8376
+ }, Te({ _: 2 }, [
8328
8377
  R(e.$slots, (r, c) => ({
8329
8378
  name: c,
8330
8379
  fn: $((i) => [
@@ -5,15 +5,35 @@ type __VLS_WithSlots<T, S> = T & (new () => {
5
5
  });
6
6
  declare const __VLS_component: import("vue").DefineComponent<{}, {
7
7
  $props: Partial<typeof props>;
8
+ animate: boolean | Record<string, any>;
9
+ triggerTextElement: string;
8
10
  items: unknown[];
11
+ modifiers?: string | unknown[] | undefined;
9
12
  }, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, {}, string, import("vue").PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
10
13
  type __VLS_Slots = {
14
+ trigger?: ((props: {
15
+ item: never;
16
+ index: number;
17
+ isOpen: boolean | undefined;
18
+ }) => any) | undefined;
19
+ } & {
20
+ icon?: ((props: {
21
+ item: never;
22
+ index: number;
23
+ isOpen: boolean | undefined;
24
+ }) => any) | undefined;
25
+ } & {
11
26
  item?: ((props: {
12
27
  item: never;
13
28
  index: number;
29
+ isOpen: true;
30
+ toggle: typeof toggle;
14
31
  }) => any) | undefined;
15
32
  };
16
33
  declare const props: {
34
+ readonly animate: boolean | Record<string, any>;
35
+ readonly triggerTextElement: string;
17
36
  readonly items: unknown[];
37
+ readonly modifiers?: string | unknown[] | undefined;
18
38
  };
19
39
  //# sourceMappingURL=UluAccordionGroup.vue.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"UluAccordionGroup.vue.d.ts","sourceRoot":"","sources":["../../../../lib/components/collapsible/UluAccordionGroup.vue"],"names":[],"mappings":"wBAwKqB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;;qBAEpD,CAAC,EAAE,CAAC;;;AARzB;YAGmB,OAAO,CAAC,OAAO,KAAK,CAAC;;2OAErC;;;;;;;AA5GH;;EASG"}
1
+ {"version":3,"file":"UluAccordionGroup.vue.d.ts","sourceRoot":"","sources":["../../../../lib/components/collapsible/UluAccordionGroup.vue"],"names":[],"mappings":"wBAsQqB,eAAe,CAAC,OAAO,eAAe,EAAE,WAAW,CAAC;;qBAEpD,CAAC,EAAE,CAAC;;;AARzB;YAGmB,OAAO,CAAC,OAAO,KAAK,CAAC;;;;;2OAErC;;;;;;;;;;;;;;;;;;;;;AAzKH;;;;;EA8BG"}
@@ -7,10 +7,23 @@
7
7
  @update:modelValue="(newValue) => handleToggle(index, newValue)"
8
8
  :trigger-text="item.title"
9
9
  :classes="item.classes"
10
+ :trigger-text-element="triggerTextElement"
11
+ :modifiers="modifiers"
12
+ :animate="animate"
10
13
  >
11
- <slot name="item" :item="item" :index="index">
12
- {{ item.content }}
13
- </slot>
14
+ <template #trigger="{ isOpen }" v-if="$slots.trigger">
15
+ <slot name="trigger" :item="item" :index="index" :isOpen="isOpen"></slot>
16
+ </template>
17
+
18
+ <template #icon="{ isOpen }" v-if="$slots.icon">
19
+ <slot name="icon" :item="item" :index="index" :isOpen="isOpen"></slot>
20
+ </template>
21
+
22
+ <template #default="{ isOpen, toggle }">
23
+ <slot name="item" :item="item" :index="index" :isOpen="isOpen" :toggle="toggle">
24
+ {{ item.content }}
25
+ </slot>
26
+ </template>
14
27
  </UluAccordion>
15
28
  </div>
16
29
  </template>
@@ -27,7 +40,28 @@ const props = defineProps({
27
40
  items: {
28
41
  type: Array,
29
42
  default: () => []
30
- }
43
+ },
44
+ /**
45
+ * If using summary text sets the inner element the text is wrapped in, usually a headline or strong
46
+ */
47
+ triggerTextElement: {
48
+ type: String,
49
+ default: "strong"
50
+ },
51
+ /**
52
+ * Class modifiers (ie. 'transparent', 'secondary', etc)
53
+ */
54
+ modifiers: [String, Array],
55
+ /**
56
+ * Enable or configure animations.
57
+ * - `false` (default) to disable all animations.
58
+ * - `true` to enable animations with default settings.
59
+ * - An object to provide custom options to auto-animate (e.g., { duration: 100, easing: 'linear' }).
60
+ */
61
+ animate: {
62
+ type: [Boolean, Object],
63
+ default: true
64
+ },
31
65
  });
32
66
 
33
67
  const internalItems = ref([]);
@@ -51,4 +85,4 @@ function handleToggle(selectedIndex, newValue) {
51
85
  internalItems.value[selectedIndex].isOpen = false;
52
86
  }
53
87
  }
54
- </script>
88
+ </script>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@ulu/frontend-vue",
3
- "version": "0.1.3-beta.13",
3
+ "version": "0.1.3-beta.15",
4
4
  "description": "A modular and tree-shakeable Vue 3 component library for the Ulu frontend",
5
5
  "type": "module",
6
6
  "files": [