@boobooking/dashboard-ui-components 0.16.3 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js CHANGED
@@ -54,7 +54,8 @@ var ie = {
54
54
  close: "Закрыть",
55
55
  clear: "Очистить",
56
56
  showText: "Показать текст",
57
- fullText: "Полный текст"
57
+ fullText: "Полный текст",
58
+ tabs: "Закладки"
58
59
  },
59
60
  en: {
60
61
  cancel: "Cancel",
@@ -104,7 +105,8 @@ var ie = {
104
105
  close: "Close",
105
106
  clear: "Clear",
106
107
  showText: "Show text",
107
- fullText: "Full text"
108
+ fullText: "Full text",
109
+ tabs: "Tabs"
108
110
  }
109
111
  };
110
112
  //#endregion
@@ -1570,18 +1572,77 @@ function Dn(e, t, o, s, c, l) {
1570
1572
  textContent: g(l.label)
1571
1573
  }, null, 8, En)], 10, Tn);
1572
1574
  }
1573
- var On = /*#__PURE__*/ A(wn, [["render", Dn]]), kn = { props: {
1574
- isOpen: {
1575
- type: Boolean,
1576
- default: !1
1575
+ var On = /*#__PURE__*/ A(wn, [["render", Dn]]), J = "a[href], button:not(:disabled)";
1576
+ function kn(e, t) {
1577
+ let n = document.activeElement;
1578
+ (e.querySelector("[data-dialog-focus]") ?? e.querySelector(J))?.focus();
1579
+ let r = (n) => {
1580
+ if (n.key === "Escape") {
1581
+ t();
1582
+ return;
1583
+ }
1584
+ if (n.key !== "Tab") return;
1585
+ let r = [...e.querySelectorAll(J)];
1586
+ if (r.length === 0) return;
1587
+ n.preventDefault();
1588
+ let i = n.shiftKey ? -1 : 1, a = r.indexOf(document.activeElement);
1589
+ r[a === -1 ? i === 1 ? 0 : r.length - 1 : (a + i + r.length) % r.length].focus();
1590
+ };
1591
+ document.addEventListener("keydown", r, !0);
1592
+ let i = !1;
1593
+ return () => {
1594
+ if (i) return;
1595
+ i = !0, document.removeEventListener("keydown", r, !0);
1596
+ let t = document.activeElement, a = t === null || t === document.body || e.contains(t), o = n !== null && n !== document.body && n.isConnected;
1597
+ a && o ? n.focus({ preventScroll: !0 }) : e.contains(t) && t.blur();
1598
+ };
1599
+ }
1600
+ //#endregion
1601
+ //#region src/components/Modal.vue
1602
+ var An = {
1603
+ emits: ["escape"],
1604
+ props: {
1605
+ isOpen: {
1606
+ type: Boolean,
1607
+ default: !1
1608
+ },
1609
+ headingId: {
1610
+ type: String,
1611
+ required: !0
1612
+ }
1577
1613
  },
1578
- headingId: {
1579
- type: String,
1580
- required: !0
1614
+ watch: { isOpen: {
1615
+ flush: "post",
1616
+ handler(e) {
1617
+ if (e) {
1618
+ this.holdFocus();
1619
+ return;
1620
+ }
1621
+ this.releaseFocus();
1622
+ }
1623
+ } },
1624
+ created() {
1625
+ this.focusFrame = null, this.releaseHeldFocus = null;
1626
+ },
1627
+ mounted() {
1628
+ this.isOpen && this.holdFocus();
1629
+ },
1630
+ beforeUnmount() {
1631
+ this.releaseFocus();
1632
+ },
1633
+ methods: {
1634
+ holdFocus() {
1635
+ this.focusFrame === null && this.releaseHeldFocus === null && (this.focusFrame = requestAnimationFrame(() => {
1636
+ this.focusFrame = null, this.releaseHeldFocus = kn(this.$refs.panel, () => this.$emit("escape"));
1637
+ }));
1638
+ },
1639
+ releaseFocus() {
1640
+ this.focusFrame !== null && (cancelAnimationFrame(this.focusFrame), this.focusFrame = null), this.releaseHeldFocus !== null && (this.releaseHeldFocus(), this.releaseHeldFocus = null);
1641
+ }
1581
1642
  }
1582
- } }, An = { class: "bb:flex bb:items-end bb:justify-center bb:min-h-screen bb:pt-4 bb:px-4 bb:pb-20 bb:text-center bb:sm:block bb:sm:p-0" }, jn = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Mn = ["aria-labelledby"];
1583
- function Nn(e, n, r, o, c, l) {
1584
- return d(), i("div", { class: u(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", An, [
1643
+ }, jn = { class: "bb:min-h-screen bb:text-center" }, Mn = { class: "bb:fixed bb:inset-0 bb:transition-opacity" }, Nn = ["aria-labelledby"];
1644
+ function Pn(e, n, r, o, c, l) {
1645
+ return d(), i("div", { class: u(["bb-dashboard-ui bb:fixed bb:inset-0 bb:overflow-y-auto bb:z-20", { "bb:pointer-events-none": !r.isOpen }]) }, [a("div", jn, [
1585
1646
  s(t, {
1586
1647
  "enter-active-class": "bb:ease-out bb:duration-300",
1587
1648
  "enter-from-class": "bb:opacity-0",
@@ -1590,29 +1651,30 @@ function Nn(e, n, r, o, c, l) {
1590
1651
  "leave-from-class": "bb:opacity-100",
1591
1652
  "leave-to-class": "bb:opacity-0"
1592
1653
  }, {
1593
- default: b(() => [x(a("div", jn, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
1654
+ default: b(() => [x(a("div", Mn, [...n[0] ||= [a("div", { class: "bb:absolute bb:inset-0 bb:bg-gray-500 bb:opacity-75" }, null, -1)]], 512), [[y, r.isOpen]])]),
1594
1655
  _: 1
1595
1656
  }),
1596
- n[1] ||= a("span", { class: "bb:hidden bb:sm:inline-block bb:sm:align-middle bb:sm:h-screen" }, null, -1),
1657
+ n[1] ||= a("span", { class: "bb:inline-block bb:align-middle bb:h-screen" }, null, -1),
1597
1658
  s(t, {
1598
1659
  "enter-active-class": "bb:ease-out bb:duration-300",
1599
- "enter-from-class": "bb:opacity-0 bb:translate-y-4 bb:sm:translate-y-0 bb:sm:scale-95",
1600
- "enter-to-class": "bb:opacity-100 bb:translate-y-0 bb:sm:scale-100",
1660
+ "enter-from-class": "bb:opacity-0 bb:scale-95",
1661
+ "enter-to-class": "bb:opacity-100 bb:scale-100",
1601
1662
  "leave-active-class": "bb:ease-in bb:duration-200",
1602
- "leave-from-class": "bb:opacity-100 bb:translate-y-0 bb:sm:scale-100",
1603
- "leave-to-class": "bb:opacity-0 bb:translate-y-4 bb:sm:translate-y-0 bb:sm:scale-95"
1663
+ "leave-from-class": "bb:opacity-100 bb:scale-100",
1664
+ "leave-to-class": "bb:opacity-0 bb:scale-95"
1604
1665
  }, {
1605
1666
  default: b(() => [x(a("div", {
1606
- class: "bb:relative bb:inline-block bb:align-bottom bb:bg-white bb:rounded-lg bb:text-left bb:overflow-visible bb:shadow-xl bb:transition-all bb:sm:my-8 bb:sm:align-middle bb:sm:max-w-lg bb:sm:w-full",
1667
+ ref: "panel",
1668
+ class: "bb:relative bb:inline-block bb:align-middle bb:my-8 bb:max-w-lg bb:w-full bb:bg-white bb:rounded-lg bb:text-left bb:overflow-visible bb:shadow-xl bb:transition-all",
1607
1669
  role: "dialog",
1608
1670
  "aria-modal": "true",
1609
1671
  "aria-labelledby": r.headingId
1610
- }, [p(e.$slots, "default")], 8, Mn), [[y, r.isOpen]])]),
1672
+ }, [p(e.$slots, "default")], 8, Nn), [[y, r.isOpen]])]),
1611
1673
  _: 3
1612
1674
  })
1613
1675
  ])], 2);
1614
1676
  }
1615
- var Pn = /*#__PURE__*/ A(kn, [["render", Nn]]), Fn = {}, In = {
1677
+ var Fn = /*#__PURE__*/ A(An, [["render", Pn]]), In = {}, Ln = {
1616
1678
  class: "bb:h-7 bb:w-7 bb:text-red-600",
1617
1679
  xmlns: "http://www.w3.org/2000/svg",
1618
1680
  fill: "none",
@@ -1620,33 +1682,33 @@ var Pn = /*#__PURE__*/ A(kn, [["render", Nn]]), Fn = {}, In = {
1620
1682
  stroke: "currentColor",
1621
1683
  "aria-hidden": "true"
1622
1684
  };
1623
- function Ln(e, t, n, r, o, s) {
1624
- return d(), i("svg", In, [...t[0] ||= [a("path", {
1685
+ function Rn(e, t, n, r, o, s) {
1686
+ return d(), i("svg", Ln, [...t[0] ||= [a("path", {
1625
1687
  "stroke-linecap": "round",
1626
1688
  "stroke-linejoin": "round",
1627
1689
  "stroke-width": "2",
1628
1690
  d: "M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-3L13.732 4c-.77-1.333-2.694-1.333-3.464 0L3.34 16c-.77 1.333.192 3 1.732 3z"
1629
1691
  }, null, -1)]]);
1630
1692
  }
1631
- var J = /*#__PURE__*/ A(Fn, [["render", Ln]]), Rn = {}, zn = {
1693
+ var Y = /*#__PURE__*/ A(In, [["render", Rn]]), zn = {}, Bn = {
1632
1694
  class: "bb:h-7 bb:w-7 bb:text-yellow-400",
1633
1695
  xmlns: "http://www.w3.org/2000/svg",
1634
1696
  viewBox: "0 0 20 20",
1635
1697
  fill: "currentColor",
1636
1698
  "aria-hidden": "true"
1637
1699
  };
1638
- function Bn(e, t, n, r, o, s) {
1639
- return d(), i("svg", zn, [...t[0] ||= [a("path", {
1700
+ function Vn(e, t, n, r, o, s) {
1701
+ return d(), i("svg", Bn, [...t[0] ||= [a("path", {
1640
1702
  "fill-rule": "evenodd",
1641
1703
  d: "M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z",
1642
1704
  "clip-rule": "evenodd"
1643
1705
  }, null, -1)]]);
1644
1706
  }
1645
- var Y = /*#__PURE__*/ A(Rn, [["render", Bn]]), Vn = {
1707
+ var Hn = /*#__PURE__*/ A(zn, [["render", Vn]]), Un = {
1646
1708
  components: {
1647
- Modal: Pn,
1648
- Dangerous: J,
1649
- Warning: Y
1709
+ Modal: Fn,
1710
+ Dangerous: Y,
1711
+ Warning: Hn
1650
1712
  },
1651
1713
  mixins: [M],
1652
1714
  emits: ["actionConfirmed", "actionCanceled"],
@@ -1688,54 +1750,56 @@ var Y = /*#__PURE__*/ A(Rn, [["render", Bn]]), Vn = {
1688
1750
  return this.type === "warning";
1689
1751
  }
1690
1752
  }
1691
- }, Hn = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:px-4 bb:pt-5 bb:pb-4 bb:sm:p-6 bb:sm:pb-4" }, Un = { class: "bb:sm:flex bb:sm:items-start" }, Wn = { class: "bb:mt-3 bb:text-center bb:sm:mt-0 bb:sm:ml-4 bb:sm:text-left" }, Gn = ["id"], Kn = { class: "bb:mt-2" }, qn = { class: "bb:text-sm bb:text-gray-500" }, Jn = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-4 bb:py-3 bb:sm:px-6 bb:sm:flex bb:sm:flex-row-reverse" };
1692
- function Yn(e, t, i, o, s, c) {
1753
+ }, Wn = { class: "bb:flex bb:bg-white bb:rounded-t-lg bb:p-6 bb:pb-4" }, Gn = { class: "bb:flex bb:items-start" }, Kn = { class: "bb:ml-4 bb:text-left" }, qn = ["id"], Jn = { class: "bb:mt-2" }, Yn = { class: "bb:text-sm bb:text-gray-500" }, Xn = { class: "bb:bg-gray-50 bb:rounded-b-lg bb:px-6 bb:py-3 bb:flex bb:flex-row-reverse" };
1754
+ function Zn(e, t, i, o, s, c) {
1693
1755
  let l = m("warning"), f = m("dangerous"), p = m("modal");
1694
1756
  return d(), n(p, {
1695
1757
  "is-open": i.isOpen,
1696
- "heading-id": o.headingId
1758
+ "heading-id": o.headingId,
1759
+ onEscape: t[2] ||= (t) => e.$emit("actionCanceled")
1697
1760
  }, {
1698
- default: b(() => [a("div", Hn, [a("div", Un, [a("div", { class: u(["bb:mx-auto bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-12 bb:w-12 bb:rounded-full bb:sm:mx-0 bb:sm:h-10 bb:sm:w-10", {
1761
+ default: b(() => [a("div", Wn, [a("div", Gn, [a("div", { class: u(["bb:shrink-0 bb:flex bb:items-center bb:justify-center bb:h-10 bb:w-10 bb:rounded-full", {
1699
1762
  "bb:bg-red-100": c.isDangerous,
1700
1763
  "bb:bg-yellow-100": c.isWarning
1701
- }]) }, [c.isWarning ? (d(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (d(), n(f, { key: 1 })) : r("", !0)], 2), a("div", Wn, [a("h3", {
1764
+ }]) }, [c.isWarning ? (d(), n(l, { key: 0 })) : r("", !0), c.isDangerous ? (d(), n(f, { key: 1 })) : r("", !0)], 2), a("div", Kn, [a("h3", {
1702
1765
  class: "bb:text-lg bb:leading-6 bb:font-medium bb:text-gray-900",
1703
1766
  id: o.headingId
1704
- }, g(i.confirmationHeading), 9, Gn), a("div", Kn, [a("p", qn, g(i.confirmationText), 1)])])])]), a("div", Jn, [a("button", {
1767
+ }, g(i.confirmationHeading), 9, qn), a("div", Jn, [a("p", Yn, g(i.confirmationText), 1)])])])]), a("div", Xn, [a("button", {
1705
1768
  type: "button",
1706
- class: u(["bb:w-full bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-transparent bb:shadow-xs bb:px-4 bb:py-2 bb:text-base bb:font-medium bb:text-white bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:sm:ml-3 bb:sm:w-auto bb:sm:text-sm", {
1769
+ class: u(["bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-transparent bb:shadow-xs bb:px-4 bb:py-2 bb:text-sm bb:font-medium bb:text-white bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:ml-3", {
1707
1770
  "bb:bg-red-600 bb:hover:bg-red-700 bb:focus:ring-red-500": c.isDangerous,
1708
1771
  "bb:bg-yellow-400 bb:hover:bg-yellow-500 bb:focus:ring-yellow-300": c.isWarning
1709
1772
  }]),
1710
1773
  onClick: t[0] ||= S((t) => e.$emit("actionConfirmed"), ["prevent"])
1711
1774
  }, g(i.actionButtonText), 3), a("button", {
1712
1775
  type: "button",
1713
- class: "bb:mt-3 bb:w-full bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-gray-300 bb:shadow-xs bb:px-4 bb:py-2 bb:bg-white bb:text-base bb:font-medium bb:text-gray-700 bb:hover:bg-gray-50 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500 bb:sm:mt-0 bb:sm:ml-3 bb:sm:w-auto bb:sm:text-sm",
1776
+ class: "bb:inline-flex bb:justify-center bb:rounded-md bb:border bb:border-gray-300 bb:shadow-xs bb:px-4 bb:py-2 bb:bg-white bb:text-sm bb:font-medium bb:text-gray-700 bb:hover:bg-gray-50 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500 bb:ml-3",
1777
+ "data-dialog-focus": "",
1714
1778
  onClick: t[1] ||= S((t) => e.$emit("actionCanceled"), ["prevent"])
1715
1779
  }, g(i.cancelButtonText ?? e.texts.cancel), 1)])]),
1716
1780
  _: 1
1717
1781
  }, 8, ["is-open", "heading-id"]);
1718
1782
  }
1719
- var Xn = /*#__PURE__*/ A(Vn, [["render", Yn]]);
1783
+ var Qn = /*#__PURE__*/ A(Un, [["render", Zn]]);
1720
1784
  //#endregion
1721
1785
  //#region src/menuItems.js
1722
- function Zn(e) {
1786
+ function $n(e) {
1723
1787
  if (typeof e != "object" || !e || typeof e.label != "string" || e.label === "" || e.color !== void 0 && !O(e.color)) return !1;
1724
1788
  let t = typeof e.href == "string" && e.href !== "" && e.onSelect === void 0, n = typeof e.onSelect == "function" && e.href === void 0;
1725
1789
  return t || n;
1726
1790
  }
1727
- function Qn(e) {
1791
+ function er(e) {
1728
1792
  return Array.isArray(e) ? e.filter((e) => typeof e == "object" && !!e) : [];
1729
1793
  }
1730
- function $n(e) {
1794
+ function tr(e) {
1731
1795
  return typeof e.href == "string" && e.href !== "";
1732
1796
  }
1733
- function er(e) {
1797
+ function nr(e) {
1734
1798
  return O(e.color) ? e.color : null;
1735
1799
  }
1736
1800
  //#endregion
1737
1801
  //#region src/navigation.js
1738
- function tr(e) {
1802
+ function rr(e) {
1739
1803
  let t = e.currentTarget?.target ?? "";
1740
1804
  return !(e.defaultPrevented || e.target?.isContentEditable === !0 || e.altKey || e.ctrlKey || e.metaKey || e.shiftKey || t !== "" && t !== "_self" || e.button !== 0);
1741
1805
  }
@@ -1743,9 +1807,9 @@ var X = {
1743
1807
  inject: ge,
1744
1808
  methods: { followLink(e, t) {
1745
1809
  let n = this.uiSettings.navigate;
1746
- n !== null && tr(e) && (e.preventDefault(), n(t));
1810
+ n !== null && rr(e) && (e.preventDefault(), n(t));
1747
1811
  } }
1748
- }, nr = {
1812
+ }, ir = {
1749
1813
  components: { PopoverPanel: H },
1750
1814
  mixins: [X, k],
1751
1815
  emits: ["update:modelValue"],
@@ -1758,7 +1822,7 @@ var X = {
1758
1822
  },
1759
1823
  computed: {
1760
1824
  actionItems() {
1761
- return Qn(this.actions);
1825
+ return er(this.actions);
1762
1826
  },
1763
1827
  hasActions() {
1764
1828
  return this.actionItems.length > 0;
@@ -1766,21 +1830,21 @@ var X = {
1766
1830
  },
1767
1831
  methods: {
1768
1832
  color(e) {
1769
- return er(e);
1833
+ return nr(e);
1770
1834
  },
1771
1835
  isLink(e) {
1772
- return $n(e);
1836
+ return tr(e);
1773
1837
  },
1774
1838
  select(e) {
1775
1839
  if (typeof e.onSelect == "function") return e.onSelect();
1776
1840
  }
1777
1841
  }
1778
- }, rr = [
1842
+ }, ar = [
1779
1843
  "href",
1780
1844
  "onClick",
1781
1845
  "textContent"
1782
- ], ir = ["onClick", "textContent"];
1783
- function ar(t, r, a, o, s, c) {
1846
+ ], or = ["onClick", "textContent"];
1847
+ function sr(t, r, a, o, s, c) {
1784
1848
  let l = m("popover-panel");
1785
1849
  return d(), n(l, {
1786
1850
  "model-value": a.modelValue,
@@ -1804,19 +1868,19 @@ function ar(t, r, a, o, s, c) {
1804
1868
  class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
1805
1869
  onClick: (e) => t.followLink(e, n.href),
1806
1870
  textContent: g(n.label)
1807
- }, null, 10, rr)) : (d(), i("button", {
1871
+ }, null, 10, ar)) : (d(), i("button", {
1808
1872
  key: 1,
1809
1873
  type: "button",
1810
1874
  role: "menuitem",
1811
1875
  class: u(["bb:block bb:w-full bb:px-4 bb:py-2 bb:text-sm bb:text-left bb:cursor-pointer bb:focus:outline-hidden", c.color(n) === null ? "bb:text-gray-700 bb:focus:bg-gray-100 bb:focus:text-gray-900" : t.colorClass(c.color(n), "menuItem")]),
1812
1876
  onClick: (e) => c.select(n),
1813
1877
  textContent: g(n.label)
1814
- }, null, 10, ir))], 64))), 128))]),
1878
+ }, null, 10, or))], 64))), 128))]),
1815
1879
  _: 3
1816
1880
  }, 8, ["model-value", "has-content"]);
1817
1881
  }
1818
- var or = /*#__PURE__*/ A(nr, [["render", ar]]), sr = {
1819
- components: { PopoverMenu: or },
1882
+ var cr = /*#__PURE__*/ A(ir, [["render", sr]]), lr = {
1883
+ components: { PopoverMenu: cr },
1820
1884
  mixins: [
1821
1885
  M,
1822
1886
  X,
@@ -1827,7 +1891,7 @@ var or = /*#__PURE__*/ A(nr, [["render", ar]]), sr = {
1827
1891
  actions: {
1828
1892
  type: Array,
1829
1893
  default: () => [],
1830
- validator: (e) => e.every(Zn)
1894
+ validator: (e) => e.every($n)
1831
1895
  },
1832
1896
  modelValue: {
1833
1897
  type: Boolean,
@@ -1839,7 +1903,7 @@ var or = /*#__PURE__*/ A(nr, [["render", ar]]), sr = {
1839
1903
  },
1840
1904
  computed: {
1841
1905
  items() {
1842
- return Qn(this.actions);
1906
+ return er(this.actions);
1843
1907
  },
1844
1908
  hasActions() {
1845
1909
  return this.items.length > 0;
@@ -1848,7 +1912,7 @@ var or = /*#__PURE__*/ A(nr, [["render", ar]]), sr = {
1848
1912
  return this.items[0];
1849
1913
  },
1850
1914
  mainColor() {
1851
- return this.hasActions ? er(this.mainAction) : null;
1915
+ return this.hasActions ? nr(this.mainAction) : null;
1852
1916
  },
1853
1917
  menuActions() {
1854
1918
  return this.items.slice(1);
@@ -1870,7 +1934,7 @@ var or = /*#__PURE__*/ A(nr, [["render", ar]]), sr = {
1870
1934
  },
1871
1935
  methods: {
1872
1936
  isLink(e) {
1873
- return $n(e);
1937
+ return tr(e);
1874
1938
  },
1875
1939
  select(e) {
1876
1940
  if (typeof e.onSelect == "function") return e.onSelect();
@@ -1879,13 +1943,13 @@ var or = /*#__PURE__*/ A(nr, [["render", ar]]), sr = {
1879
1943
  this.menuIsOpen = e, this.$emit("update:modelValue", e);
1880
1944
  }
1881
1945
  }
1882
- }, cr = {
1946
+ }, ur = {
1883
1947
  key: 0,
1884
1948
  class: "bb-dashboard-ui bb:relative bb:inline-flex bb:shadow-xs bb:rounded-md"
1885
- }, lr = ["href", "textContent"], ur = ["textContent"], dr = ["id", "popovertarget"], fr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
1886
- function pr(e, t, n, o, c, l) {
1949
+ }, dr = ["href", "textContent"], fr = ["textContent"], pr = ["id", "popovertarget"], mr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
1950
+ function hr(e, t, n, o, c, l) {
1887
1951
  let f = m("popover-menu");
1888
- return l.hasActions ? (d(), i("span", cr, [l.isLink(l.mainAction) ? (d(), i("a", {
1952
+ return l.hasActions ? (d(), i("span", ur, [l.isLink(l.mainAction) ? (d(), i("a", {
1889
1953
  key: 0,
1890
1954
  href: l.mainAction.href,
1891
1955
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", [{
@@ -1894,7 +1958,7 @@ function pr(e, t, n, o, c, l) {
1894
1958
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
1895
1959
  onClick: t[0] ||= (t) => e.followLink(t, l.mainAction.href),
1896
1960
  textContent: g(l.mainAction.label)
1897
- }, null, 10, lr)) : (d(), i("button", {
1961
+ }, null, 10, dr)) : (d(), i("button", {
1898
1962
  key: 1,
1899
1963
  type: "button",
1900
1964
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-4 bb:py-2 bb:border bb:text-sm bb:font-medium bb:cursor-pointer bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", [{
@@ -1903,7 +1967,7 @@ function pr(e, t, n, o, c, l) {
1903
1967
  }, l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-700 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")]]),
1904
1968
  onClick: t[1] ||= (e) => l.select(l.mainAction),
1905
1969
  textContent: g(l.mainAction.label)
1906
- }, null, 10, ur)), s(f, {
1970
+ }, null, 10, fr)), s(f, {
1907
1971
  class: "bb:-ml-px bb:flex",
1908
1972
  actions: l.menuActions,
1909
1973
  "model-value": n.modelValue,
@@ -1914,7 +1978,7 @@ function pr(e, t, n, o, c, l) {
1914
1978
  id: n.id,
1915
1979
  popovertarget: n.popovertarget,
1916
1980
  class: u(["bb:relative bb:inline-flex bb:items-center bb:px-2 bb:py-2 bb:rounded-r-md bb:border bb:text-sm bb:font-medium bb:focus:z-10 bb:focus:outline-hidden bb:focus:ring-1 bb:focus:ring-indigo-500 bb:focus:border-indigo-500", l.mainColor === null ? "bb:bg-white bb:border-gray-300 bb:text-gray-500 bb:hover:bg-gray-50" : e.colorClass(l.mainColor, "button")])
1917
- }, [a("span", fr, g(e.texts.openMenu), 1), t[2] ||= a("svg", {
1981
+ }, [a("span", mr, g(e.texts.openMenu), 1), t[2] ||= a("svg", {
1918
1982
  class: "bb:h-5 bb:w-5 bb:pointer-events-none bb:cursor-default",
1919
1983
  xmlns: "http://www.w3.org/2000/svg",
1920
1984
  viewBox: "0 0 20 20",
@@ -1924,7 +1988,7 @@ function pr(e, t, n, o, c, l) {
1924
1988
  "fill-rule": "evenodd",
1925
1989
  d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z",
1926
1990
  "clip-rule": "evenodd"
1927
- })], -1)], 10, dr)]),
1991
+ })], -1)], 10, pr)]),
1928
1992
  _: 1
1929
1993
  }, 8, [
1930
1994
  "actions",
@@ -1932,16 +1996,16 @@ function pr(e, t, n, o, c, l) {
1932
1996
  "onUpdate:modelValue"
1933
1997
  ])])) : r("", !0);
1934
1998
  }
1935
- var mr = /*#__PURE__*/ A(sr, [["render", pr]]), hr = {
1936
- components: { PopoverMenu: or },
1999
+ var gr = /*#__PURE__*/ A(lr, [["render", hr]]), _r = {
2000
+ components: { PopoverMenu: cr },
1937
2001
  mixins: [M],
1938
2002
  props: { actions: {
1939
2003
  type: Array,
1940
2004
  default: () => [],
1941
- validator: (e) => e.every(Zn)
2005
+ validator: (e) => e.every($n)
1942
2006
  } }
1943
- }, gr = ["id", "popovertarget"], _r = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
1944
- function vr(e, t, r, i, o, s) {
2007
+ }, vr = ["id", "popovertarget"], yr = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2008
+ function br(e, t, r, i, o, s) {
1945
2009
  let c = m("popover-menu");
1946
2010
  return d(), n(c, {
1947
2011
  class: "bb-dashboard-ui bb:inline-flex",
@@ -1952,7 +2016,7 @@ function vr(e, t, r, i, o, s) {
1952
2016
  id: n.id,
1953
2017
  popovertarget: n.popovertarget,
1954
2018
  class: "bb:relative bb:inline-flex bb:items-center bb:justify-center bb:p-2 bb:rounded-md bb:text-gray-400 bb:hover:text-gray-500 bb:hover:bg-gray-100 bb:focus:outline-hidden bb:focus:bg-gray-100 bb:focus:text-gray-500 bb:transition bb:duration-150 bb:ease-in-out"
1955
- }, [a("span", _r, g(e.texts.openMenu), 1), t[0] ||= a("svg", {
2019
+ }, [a("span", yr, g(e.texts.openMenu), 1), t[0] ||= a("svg", {
1956
2020
  class: "bb:h-6 bb:w-6 bb:pointer-events-none bb:cursor-default",
1957
2021
  fill: "none",
1958
2022
  viewBox: "0 0 24 24",
@@ -1963,46 +2027,46 @@ function vr(e, t, r, i, o, s) {
1963
2027
  "stroke-linejoin": "round",
1964
2028
  "stroke-width": "2",
1965
2029
  d: "M4 6h16M4 12h16M4 18h16"
1966
- })], -1)], 8, gr)]),
2030
+ })], -1)], 8, vr)]),
1967
2031
  _: 1
1968
2032
  }, 8, ["actions"]);
1969
2033
  }
1970
- var yr = /*#__PURE__*/ A(hr, [["render", vr]]), br = {}, xr = {
2034
+ var xr = /*#__PURE__*/ A(_r, [["render", br]]), Sr = {}, Cr = {
1971
2035
  xmlns: "http://www.w3.org/2000/svg",
1972
2036
  viewBox: "0 0 20 20",
1973
2037
  fill: "currentColor",
1974
2038
  "aria-hidden": "true"
1975
2039
  };
1976
- function Sr(e, t, n, r, o, s) {
1977
- return d(), i("svg", xr, [...t[0] ||= [a("path", {
2040
+ function wr(e, t, n, r, o, s) {
2041
+ return d(), i("svg", Cr, [...t[0] ||= [a("path", {
1978
2042
  "fill-rule": "evenodd",
1979
2043
  "clip-rule": "evenodd",
1980
2044
  d: "M7.707 14.707a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414l4-4a1 1 0 011.414 1.414L5.414 9H17a1 1 0 110 2H5.414l2.293 2.293a1 1 0 010 1.414z"
1981
2045
  }, null, -1)]]);
1982
2046
  }
1983
- var Cr = /*#__PURE__*/ A(br, [["render", Sr]]), wr = {}, Tr = {
2047
+ var Tr = /*#__PURE__*/ A(Sr, [["render", wr]]), Er = {}, Dr = {
1984
2048
  xmlns: "http://www.w3.org/2000/svg",
1985
2049
  viewBox: "0 0 20 20",
1986
2050
  fill: "currentColor",
1987
2051
  "aria-hidden": "true"
1988
2052
  };
1989
- function Er(e, t, n, r, o, s) {
1990
- return d(), i("svg", Tr, [...t[0] ||= [a("path", {
2053
+ function Or(e, t, n, r, o, s) {
2054
+ return d(), i("svg", Dr, [...t[0] ||= [a("path", {
1991
2055
  "fill-rule": "evenodd",
1992
2056
  "clip-rule": "evenodd",
1993
2057
  d: "M12.293 5.293a1 1 0 011.414 0l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414-1.414L14.586 11H3a1 1 0 110-2h11.586l-2.293-2.293a1 1 0 010-1.414z"
1994
2058
  }, null, -1)]]);
1995
2059
  }
1996
- var Dr = /*#__PURE__*/ A(wr, [["render", Er]]);
2060
+ var kr = /*#__PURE__*/ A(Er, [["render", Or]]);
1997
2061
  //#endregion
1998
2062
  //#region src/components/Pagination.vue
1999
- function Or(e) {
2063
+ function Z(e) {
2000
2064
  return typeof e == "string" && e !== "" ? e : null;
2001
2065
  }
2002
- var kr = {
2066
+ var Ar = {
2003
2067
  components: {
2004
- ArrowNarrowLeft: Cr,
2005
- ArrowNarrowRight: Dr
2068
+ ArrowNarrowLeft: Tr,
2069
+ ArrowNarrowRight: kr
2006
2070
  },
2007
2071
  mixins: [M, X],
2008
2072
  props: {
@@ -2032,49 +2096,49 @@ var kr = {
2032
2096
  return typeof this.from == "number" && typeof this.to == "number";
2033
2097
  },
2034
2098
  previousPageUrl() {
2035
- return Or(this.links?.prev);
2099
+ return Z(this.links?.prev);
2036
2100
  },
2037
2101
  nextPageUrl() {
2038
- return Or(this.links?.next);
2102
+ return Z(this.links?.next);
2039
2103
  }
2040
2104
  }
2041
- }, Ar = {
2105
+ }, jr = {
2042
2106
  key: 0,
2043
- class: "bb-dashboard-ui bb:px-4 bb:flex bb:items-center bb:justify-between bb:sm:px-0"
2044
- }, jr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Mr = ["href"], Nr = {
2107
+ class: "bb-dashboard-ui bb:flex bb:items-center bb:justify-between"
2108
+ }, Mr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex" }, Nr = ["href"], Pr = {
2045
2109
  key: 0,
2046
- class: "bb:hidden bb:md:-mt-px bb:md:flex bb:text-gray-400 bb:text-sm bb:leading-5"
2047
- }, Pr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Fr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Ir = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, Lr = ["href"];
2048
- function Rr(e, t, n, c, l, u) {
2110
+ class: "bb:-mt-px bb:flex bb:text-gray-400 bb:text-sm bb:leading-5"
2111
+ }, Fr = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Ir = { class: "bb:font-medium bb:text-gray-900 bb:mx-1" }, Lr = { class: "bb:-mt-px bb:w-0 bb:flex-1 bb:flex bb:justify-end" }, Rr = ["href"];
2112
+ function zr(e, t, n, c, l, u) {
2049
2113
  let f = m("arrow-narrow-left"), p = m("arrow-narrow-right");
2050
- return u.hasResults ? (d(), i("nav", Ar, [
2051
- a("div", jr, [u.previousPageUrl === null ? r("", !0) : (d(), i("a", {
2114
+ return u.hasResults ? (d(), i("nav", jr, [
2115
+ a("div", Mr, [u.previousPageUrl === null ? r("", !0) : (d(), i("a", {
2052
2116
  key: 0,
2053
2117
  href: u.previousPageUrl,
2054
2118
  class: "bb:border-t-2 bb:border-transparent bb:pt-4 bb:pr-1 bb:inline-flex bb:items-center bb:text-sm bb:font-medium bb:text-gray-500 bb:hover:text-gray-700 bb:hover:border-indigo-700",
2055
2119
  onClick: t[0] ||= (t) => e.followLink(t, u.previousPageUrl)
2056
- }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" }), o(" " + g(e.texts.previousPage), 1)], 8, Mr))]),
2057
- u.hasRange ? (d(), i("div", Nr, [
2120
+ }, [s(f, { class: "bb:mr-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" }), o(" " + g(e.texts.previousPage), 1)], 8, Nr))]),
2121
+ u.hasRange ? (d(), i("div", Pr, [
2058
2122
  o(g(e.texts.resultsBefore) + " ", 1),
2059
- a("span", Pr, g(u.from) + " - " + g(u.to), 1),
2123
+ a("span", Fr, g(u.from) + " - " + g(u.to), 1),
2060
2124
  o(" " + g(e.texts.resultsOf) + " ", 1),
2061
- a("span", Fr, g(u.total), 1),
2125
+ a("span", Ir, g(u.total), 1),
2062
2126
  o(" " + g(e.texts.resultsAfter), 1)
2063
2127
  ])) : r("", !0),
2064
- a("div", Ir, [u.nextPageUrl === null ? r("", !0) : (d(), i("a", {
2128
+ a("div", Lr, [u.nextPageUrl === null ? r("", !0) : (d(), i("a", {
2065
2129
  key: 0,
2066
2130
  href: u.nextPageUrl,
2067
2131
  class: "bb:border-t-2 bb:border-transparent bb:pt-4 bb:pl-1 bb:inline-flex bb:items-center bb:text-sm bb:font-medium bb:text-gray-500 bb:hover:text-gray-700 bb:hover:border-indigo-700",
2068
2132
  onClick: t[1] ||= (t) => e.followLink(t, u.nextPageUrl)
2069
- }, [o(g(e.texts.nextPage) + " ", 1), s(p, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" })], 8, Lr))])
2133
+ }, [o(g(e.texts.nextPage) + " ", 1), s(p, { class: "bb:ml-3 bb:h-5 bb:w-5 bb:text-gray-400 bb:pointer-events-none bb:cursor-default" })], 8, Rr))])
2070
2134
  ])) : r("", !0);
2071
2135
  }
2072
- var zr = /*#__PURE__*/ A(kr, [["render", Rr]]), Br = [
2136
+ var Br = /*#__PURE__*/ A(Ar, [["render", zr]]), Vr = [
2073
2137
  "left",
2074
2138
  "center",
2075
2139
  "right"
2076
2140
  ];
2077
- function Vr(e) {
2141
+ function Hr(e) {
2078
2142
  if (typeof e != "object" || !e || typeof e.key != "string" || e.key === "") return null;
2079
2143
  let t = e.key;
2080
2144
  return {
@@ -2083,18 +2147,18 @@ function Vr(e) {
2083
2147
  value: typeof e.value == "function" ? e.value : (e) => e?.[t],
2084
2148
  secondary: typeof e.secondary == "function" ? e.secondary : null,
2085
2149
  muted: e.muted === !0,
2086
- align: Br.includes(e.align) ? e.align : "left",
2150
+ align: Vr.includes(e.align) ? e.align : "left",
2087
2151
  wrap: e.wrap === !0,
2088
2152
  narrow: e.narrow === !0,
2089
2153
  visible: e.visible !== !1
2090
2154
  };
2091
2155
  }
2092
- function Z(e) {
2156
+ function Ur(e) {
2093
2157
  return typeof e == "string" && e !== "" ? e : null;
2094
2158
  }
2095
- var Hr = {
2159
+ var Wr = {
2096
2160
  components: {
2097
- Pagination: zr,
2161
+ Pagination: Br,
2098
2162
  InfoPill: q
2099
2163
  },
2100
2164
  mixins: [M, k],
@@ -2142,7 +2206,7 @@ var Hr = {
2142
2206
  return Array.isArray(this.rows) ? this.rows : [];
2143
2207
  },
2144
2208
  visibleColumns() {
2145
- return (Array.isArray(this.columns) ? this.columns : []).map(Vr).filter((e) => e !== null && e.visible);
2209
+ return (Array.isArray(this.columns) ? this.columns : []).map(Hr).filter((e) => e !== null && e.visible);
2146
2210
  },
2147
2211
  rowStripes() {
2148
2212
  return this.normalizedRows.map((e) => this.stripeOf(e));
@@ -2161,10 +2225,10 @@ var Hr = {
2161
2225
  },
2162
2226
  badgeText() {
2163
2227
  if (this.hasRecords) {
2164
- let e = Z(this.foundText);
2228
+ let e = Ur(this.foundText);
2165
2229
  return e === null ? null : `${e}: ${this.recordCount}`;
2166
2230
  }
2167
- return Z(this.emptyText);
2231
+ return Ur(this.emptyText);
2168
2232
  }
2169
2233
  },
2170
2234
  methods: {
@@ -2191,8 +2255,8 @@ var Hr = {
2191
2255
  return n == null ? "" : String(n);
2192
2256
  }
2193
2257
  }
2194
- }, Ur = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, Wr = { class: "bb:bg-gray-50" }, Gr = ["textContent"], Kr = { class: "bb:divide-y bb:divide-gray-200" }, qr = ["textContent"], Jr = ["textContent"];
2195
- function Yr(t, o, s, c, l, h) {
2258
+ }, Gr = { class: "bb:min-w-full bb:divide-y bb:divide-gray-200 bb:border-collapse" }, Kr = { class: "bb:bg-gray-50" }, qr = ["textContent"], Jr = { class: "bb:divide-y bb:divide-gray-200" }, Yr = ["textContent"], Xr = ["textContent"];
2259
+ function Zr(t, o, s, c, l, h) {
2196
2260
  let _ = m("info-pill"), v = m("pagination");
2197
2261
  return d(), i("div", null, [
2198
2262
  h.hasBadgeRow() ? (d(), i("div", {
@@ -2206,7 +2270,7 @@ function Yr(t, o, s, c, l, h) {
2206
2270
  h.normalizedRows.length > 0 ? (d(), i("div", {
2207
2271
  key: 1,
2208
2272
  class: u(h.isCard && h.hasBadgeRow() ? "bb:mt-4" : "")
2209
- }, [a("div", { class: u(["bb:overflow-x-auto", h.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:sm:rounded-lg"]) }, [a("table", Ur, [a("thead", null, [a("tr", Wr, [(d(!0), i(e, null, f(h.visibleColumns, (e) => (d(), i("th", {
2273
+ }, [a("div", { class: u(["bb:overflow-x-auto", h.isCard ? "bb:border-t bb:border-gray-200" : "bb:shadow-sm bb:border-b bb:border-gray-200 bb:rounded-lg"]) }, [a("table", Gr, [a("thead", null, [a("tr", Kr, [(d(!0), i(e, null, f(h.visibleColumns, (e) => (d(), i("th", {
2210
2274
  key: e.key,
2211
2275
  scope: "col",
2212
2276
  class: u(["bb:px-6 bb:py-3 bb:text-xs bb:leading-4 bb:font-medium bb:text-gray-500 bb:uppercase bb:tracking-wider bb:whitespace-nowrap", [{
@@ -2215,7 +2279,7 @@ function Yr(t, o, s, c, l, h) {
2215
2279
  "bb:text-right": e.align === "right"
2216
2280
  }, { "bb:w-px": e.narrow }]]),
2217
2281
  textContent: g(e.label)
2218
- }, null, 10, Gr))), 128))])]), a("tbody", Kr, [(d(!0), i(e, null, f(h.normalizedRows, (n, o) => (d(), i("tr", {
2282
+ }, null, 10, qr))), 128))])]), a("tbody", Jr, [(d(!0), i(e, null, f(h.normalizedRows, (n, o) => (d(), i("tr", {
2219
2283
  key: h.keyOf(n, o),
2220
2284
  class: "bb:bg-white bb:even:bg-gray-50"
2221
2285
  }, [(d(!0), i(e, null, f(h.visibleColumns, (e, s) => (d(), i("td", {
@@ -2239,11 +2303,11 @@ function Yr(t, o, s, c, l, h) {
2239
2303
  }, () => [a("div", {
2240
2304
  class: u(["bb:font-medium", e.muted ? "bb:text-gray-400" : "bb:text-gray-900"]),
2241
2305
  textContent: g(h.textOf(e.value, n))
2242
- }, null, 10, qr), e.secondary !== null && h.textOf(e.secondary, n) !== "" ? (d(), i("div", {
2306
+ }, null, 10, Yr), e.secondary !== null && h.textOf(e.secondary, n) !== "" ? (d(), i("div", {
2243
2307
  key: 0,
2244
2308
  class: "bb:text-gray-400",
2245
2309
  textContent: g(h.textOf(e.secondary, n))
2246
- }, null, 8, Jr)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
2310
+ }, null, 8, Xr)) : r("", !0)])], 2))), 128))]))), 128))])])], 2)], 2)) : r("", !0),
2247
2311
  h.hasMeta ? (d(), n(v, {
2248
2312
  key: 2,
2249
2313
  meta: s.meta,
@@ -2258,7 +2322,7 @@ function Yr(t, o, s, c, l, h) {
2258
2322
  ])) : r("", !0)
2259
2323
  ]);
2260
2324
  }
2261
- var Xr = /*#__PURE__*/ A(Hr, [["render", Yr]]), Zr = {
2325
+ var Qr = /*#__PURE__*/ A(Wr, [["render", Zr]]), $r = {
2262
2326
  mixins: [X],
2263
2327
  props: {
2264
2328
  url: {
@@ -2274,20 +2338,54 @@ var Xr = /*#__PURE__*/ A(Hr, [["render", Yr]]), Zr = {
2274
2338
  default: !1
2275
2339
  }
2276
2340
  }
2277
- }, Qr = ["href", "textContent"];
2278
- function $r(e, t, n, r, a, o) {
2341
+ }, ei = ["href", "textContent"];
2342
+ function ti(e, t, n, r, a, o) {
2279
2343
  return d(), i("a", {
2280
2344
  href: n.url,
2281
2345
  class: u([n.isActive ? "bb:border-indigo-400 bb:text-gray-600 bb:focus:border-indigo-700" : "bb:border-transparent bb:text-gray-500 bb:hover:text-gray-600 bb:hover:border-gray-300 bb:focus:text-gray-700 bb:focus:border-gray-300", "bb-dashboard-ui bb:inline-flex bb:items-center bb:px-1 bb:pt-1 bb:border-b-2 bb:text-sm bb:font-medium bb:leading-5 bb:focus:outline-hidden bb:transition bb:duration-150 bb:ease-in-out"]),
2282
2346
  onClick: t[0] ||= (t) => e.followLink(t, n.url),
2283
2347
  textContent: g(n.name)
2284
- }, null, 10, Qr);
2348
+ }, null, 10, ei);
2285
2349
  }
2286
- var ei = /*#__PURE__*/ A(Zr, [["render", $r]]), ti = [
2350
+ var ni = /*#__PURE__*/ A($r, [["render", ti]]), ri = {
2351
+ mixins: [M, X],
2352
+ props: {
2353
+ tabs: {
2354
+ type: Array,
2355
+ required: !0
2356
+ },
2357
+ activeKey: {
2358
+ type: String,
2359
+ default: null
2360
+ }
2361
+ },
2362
+ computed: { tabList() {
2363
+ return Array.isArray(this.tabs) ? this.tabs.filter((e) => typeof e == "object" && !!e) : [];
2364
+ } }
2365
+ }, ii = ["aria-label"], ai = [
2366
+ "href",
2367
+ "aria-current",
2368
+ "onClick",
2369
+ "textContent"
2370
+ ];
2371
+ function oi(t, n, r, a, o, s) {
2372
+ return d(), i("nav", {
2373
+ class: "bb-dashboard-ui bb:flex bb:space-x-4",
2374
+ "aria-label": t.texts.tabs
2375
+ }, [(d(!0), i(e, null, f(s.tabList, (e) => (d(), i("a", {
2376
+ key: e.key,
2377
+ href: e.url,
2378
+ "aria-current": e.key === r.activeKey ? "page" : null,
2379
+ class: u(["bb:px-3 bb:py-2 bb:font-medium bb:text-sm bb:rounded-md", e.key === r.activeKey ? "bb:bg-indigo-100 bb:text-gray-700" : "bb:text-gray-500 bb:hover:text-gray-700"]),
2380
+ onClick: (n) => t.followLink(n, e.url),
2381
+ textContent: g(e.name)
2382
+ }, null, 10, ai))), 128))], 8, ii);
2383
+ }
2384
+ var si = /*#__PURE__*/ A(ri, [["render", oi]]), ci = [
2287
2385
  "xl",
2288
2386
  "4xl",
2289
2387
  "7xl"
2290
- ], ni = {
2388
+ ], li = {
2291
2389
  components: { CrossButton: N },
2292
2390
  mixins: [M],
2293
2391
  inheritAttrs: !1,
@@ -2295,7 +2393,7 @@ var ei = /*#__PURE__*/ A(Zr, [["render", $r]]), ti = [
2295
2393
  width: {
2296
2394
  type: String,
2297
2395
  default: "xl",
2298
- validator: (e) => ti.includes(e)
2396
+ validator: (e) => ci.includes(e)
2299
2397
  },
2300
2398
  fallbackUrl: {
2301
2399
  type: String,
@@ -2311,7 +2409,7 @@ var ei = /*#__PURE__*/ A(Zr, [["render", $r]]), ti = [
2311
2409
  },
2312
2410
  computed: {
2313
2411
  resolvedWidth() {
2314
- return ti.includes(this.width) ? this.width : "xl";
2412
+ return ci.includes(this.width) ? this.width : "xl";
2315
2413
  },
2316
2414
  windows() {
2317
2415
  return this.uiSettings.windows;
@@ -2358,14 +2456,14 @@ var ei = /*#__PURE__*/ A(Zr, [["render", $r]]), ti = [
2358
2456
  }
2359
2457
  }
2360
2458
  };
2361
- function ri(e, t, a, s, c, f) {
2459
+ function ui(e, t, a, s, c, f) {
2362
2460
  let h = m("cross-button");
2363
2461
  return d(), i("div", l({
2364
- class: ["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:sm:rounded-lg", [
2462
+ class: ["bb:box-border bb:relative bb:my-6 bb:mx-auto bb:bg-white bb:shadow-xl bb:rounded-lg", [
2365
2463
  {
2366
- "bb:sm:max-w-xl": f.resolvedWidth === "xl",
2367
- "bb:sm:max-w-4xl": f.resolvedWidth === "4xl",
2368
- "bb:sm:max-w-7xl": f.resolvedWidth === "7xl"
2464
+ "bb:max-w-xl": f.resolvedWidth === "xl",
2465
+ "bb:max-w-4xl": f.resolvedWidth === "4xl",
2466
+ "bb:max-w-7xl": f.resolvedWidth === "7xl"
2369
2467
  },
2370
2468
  f.canClose ? {
2371
2469
  "bb:[--bb-closer-space:3.5rem] bb:md:[--bb-closer-space:0px]": f.resolvedWidth === "xl",
@@ -2378,7 +2476,7 @@ function ri(e, t, a, s, c, f) {
2378
2476
  }, { ...f.forwardedAttrs() }), [p(e.$slots, "default", { close: f.close }), f.canClose ? (d(), n(h, {
2379
2477
  key: 0,
2380
2478
  size: "large",
2381
- class: u(["bb:absolute bb:top-0 bb:right-0 bb:mt-4 bb:mr-4 bb:w-8 bb:h-8 bb:sm:mt-6 bb:rounded-md bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500", {
2479
+ class: u(["bb:absolute bb:top-0 bb:right-0 bb:mt-6 bb:mr-4 bb:w-8 bb:h-8 bb:rounded-md bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500", {
2382
2480
  "bb:md:right-auto bb:md:left-full bb:md:mr-0 bb:md:ml-4": f.resolvedWidth === "xl",
2383
2481
  "bb:lg:right-auto bb:lg:left-full bb:lg:mr-0 bb:lg:ml-4": f.resolvedWidth === "4xl",
2384
2482
  "bb:2xl:right-auto bb:2xl:left-full bb:2xl:mr-0 bb:2xl:ml-4": f.resolvedWidth === "7xl"
@@ -2390,7 +2488,7 @@ function ri(e, t, a, s, c, f) {
2390
2488
  _: 1
2391
2489
  }, 8, ["class", "onClicked"])) : r("", !0)], 16);
2392
2490
  }
2393
- var ii = /*#__PURE__*/ A(ni, [["render", ri]]), ai = {}, oi = {
2491
+ var di = /*#__PURE__*/ A(li, [["render", ui]]), fi = {}, pi = {
2394
2492
  class: "bb:h-7 bb:w-7 bb:text-green-600",
2395
2493
  xmlns: "http://www.w3.org/2000/svg",
2396
2494
  fill: "none",
@@ -2399,22 +2497,22 @@ var ii = /*#__PURE__*/ A(ni, [["render", ri]]), ai = {}, oi = {
2399
2497
  stroke: "currentColor",
2400
2498
  "aria-hidden": "true"
2401
2499
  };
2402
- function si(e, t, n, r, o, s) {
2403
- return d(), i("svg", oi, [...t[0] ||= [a("path", {
2500
+ function mi(e, t, n, r, o, s) {
2501
+ return d(), i("svg", pi, [...t[0] ||= [a("path", {
2404
2502
  "stroke-linecap": "round",
2405
2503
  "stroke-linejoin": "round",
2406
2504
  d: "M9 12.75 11.25 15 15 9.75M21 12a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z"
2407
2505
  }, null, -1)]]);
2408
2506
  }
2409
- var ci = /*#__PURE__*/ A(ai, [["render", si]]), li = {}, ui = {
2507
+ var hi = /*#__PURE__*/ A(fi, [["render", mi]]), gi = {}, _i = {
2410
2508
  class: "bb:h-5 bb:w-5",
2411
2509
  xmlns: "http://www.w3.org/2000/svg",
2412
2510
  viewBox: "0 0 20 20",
2413
2511
  fill: "currentColor",
2414
2512
  "aria-hidden": "true"
2415
2513
  };
2416
- function di(e, t, n, r, o, s) {
2417
- return d(), i("svg", ui, [...t[0] ||= [a("path", {
2514
+ function vi(e, t, n, r, o, s) {
2515
+ return d(), i("svg", _i, [...t[0] ||= [a("path", {
2418
2516
  "fill-rule": "evenodd",
2419
2517
  d: "M4.293 4.293a1 1 0 011.414 0L10 8.586l4.293-4.293a1 1 0 111.414 1.414L11.414 10l4.293 4.293a1 1 0 01-1.414 1.414L10 11.414l-4.293 4.293a1 1 0 01-1.414-1.414L8.586 10 4.293 5.707a1 1 0 010-1.414z",
2420
2518
  "clip-rule": "evenodd"
@@ -2422,12 +2520,12 @@ function di(e, t, n, r, o, s) {
2422
2520
  }
2423
2521
  //#endregion
2424
2522
  //#region src/components/NotificationMessage.vue
2425
- var fi = {
2523
+ var yi = {
2426
2524
  components: {
2427
- Check: ci,
2428
- Close: /* @__PURE__ */ A(li, [["render", di]]),
2429
- Dangerous: J,
2430
- Warning: Y
2525
+ Check: hi,
2526
+ Close: /* @__PURE__ */ A(gi, [["render", vi]]),
2527
+ Dangerous: Y,
2528
+ Warning: Hn
2431
2529
  },
2432
2530
  mixins: [M],
2433
2531
  emits: ["update:modelValue"],
@@ -2467,11 +2565,11 @@ var fi = {
2467
2565
  return this.type === "confirmation";
2468
2566
  }
2469
2567
  }
2470
- }, pi = ["role"], mi = { class: "bb:p-4" }, hi = { class: "bb:flex bb:items-start" }, gi = { class: "bb:shrink-0" }, _i = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, vi = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, yi = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, bi = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, xi = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2471
- function Si(e, t, o, c, l, f) {
2568
+ }, bi = ["role"], xi = { class: "bb:p-4" }, Si = { class: "bb:flex bb:items-start" }, Ci = { class: "bb:shrink-0" }, wi = { class: "bb:ml-3 bb:w-0 bb:flex-1 bb:pt-0.5" }, Ti = { class: "bb:text-sm bb:font-medium bb:text-gray-900" }, Ei = { class: "bb:mt-1 bb:text-sm bb:text-gray-500" }, Di = { class: "bb:ml-4 bb:shrink-0 bb:flex" }, Oi = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2569
+ function ki(e, t, o, c, l, f) {
2472
2570
  let p = m("warning"), h = m("dangerous"), _ = m("check"), v = m("close");
2473
2571
  return d(), i("div", {
2474
- class: "bb-dashboard-ui bb:fixed bb:inset-0 bb:flex bb:items-end bb:justify-center bb:px-4 bb:py-6 bb:pointer-events-none bb:sm:p-6 bb:sm:items-start bb:sm:justify-end",
2572
+ class: "bb-dashboard-ui bb:fixed bb:inset-0 bb:flex bb:items-start bb:justify-end bb:p-6 bb:pointer-events-none",
2475
2573
  role: f.isDangerous ? "alert" : "status"
2476
2574
  }, [f.hasMessage ? (d(), i("div", {
2477
2575
  key: 0,
@@ -2480,14 +2578,14 @@ function Si(e, t, o, c, l, f) {
2480
2578
  "bb:bg-yellow-50": f.isWarning,
2481
2579
  "bb:bg-gray-50": f.isConfirmation
2482
2580
  }])
2483
- }, [a("div", mi, [a("div", hi, [
2484
- a("div", gi, [
2581
+ }, [a("div", xi, [a("div", Si, [
2582
+ a("div", Ci, [
2485
2583
  f.isWarning ? (d(), n(p, { key: 0 })) : r("", !0),
2486
2584
  f.isDangerous ? (d(), n(h, { key: 1 })) : r("", !0),
2487
2585
  f.isConfirmation ? (d(), n(_, { key: 2 })) : r("", !0)
2488
2586
  ]),
2489
- a("div", _i, [a("p", vi, g(o.notificationHeading), 1), a("p", yi, g(f.text), 1)]),
2490
- a("div", bi, [a("button", {
2587
+ a("div", wi, [a("p", Ti, g(o.notificationHeading), 1), a("p", Ei, g(f.text), 1)]),
2588
+ a("div", Di, [a("button", {
2491
2589
  type: "button",
2492
2590
  class: u(["bb:rounded-md bb:inline-flex bb:text-gray-400 bb:hover:text-gray-500 bb:focus:outline-hidden bb:focus:ring-2 bb:focus:ring-offset-2 bb:focus:ring-indigo-500", {
2493
2591
  "bb:bg-red-50": f.isDangerous,
@@ -2495,10 +2593,10 @@ function Si(e, t, o, c, l, f) {
2495
2593
  "bb:bg-gray-50": f.isConfirmation
2496
2594
  }]),
2497
2595
  onClick: t[0] ||= S((t) => e.$emit("update:modelValue", ""), ["prevent"])
2498
- }, [a("span", xi, g(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
2499
- ])])], 2)) : r("", !0)], 8, pi);
2596
+ }, [a("span", Oi, g(e.texts.close), 1), s(v, { class: "bb:pointer-events-none bb:cursor-default" })], 2)])
2597
+ ])])], 2)) : r("", !0)], 8, bi);
2500
2598
  }
2501
- var Ci = /*#__PURE__*/ A(fi, [["render", Si]]), wi = {}, Ti = {
2599
+ var Ai = /*#__PURE__*/ A(yi, [["render", ki]]), ji = {}, Mi = {
2502
2600
  class: "bb:h-5 bb:w-5",
2503
2601
  xmlns: "http://www.w3.org/2000/svg",
2504
2602
  fill: "none",
@@ -2507,8 +2605,8 @@ var Ci = /*#__PURE__*/ A(fi, [["render", Si]]), wi = {}, Ti = {
2507
2605
  "stroke-width": "2",
2508
2606
  "aria-hidden": "true"
2509
2607
  };
2510
- function Ei(e, t, n, r, o, s) {
2511
- return d(), i("svg", Ti, [...t[0] ||= [a("path", {
2608
+ function Ni(e, t, n, r, o, s) {
2609
+ return d(), i("svg", Mi, [...t[0] ||= [a("path", {
2512
2610
  "stroke-linecap": "round",
2513
2611
  "stroke-linejoin": "round",
2514
2612
  d: "M15 12a3 3 0 11-6 0 3 3 0 016 0z"
@@ -2518,10 +2616,10 @@ function Ei(e, t, n, r, o, s) {
2518
2616
  d: "M2.458 12C3.732 7.943 7.523 5 12 5c4.478 0 8.268 2.943 9.542 7-1.274 4.057-5.064 7-9.542 7-4.477 0-8.268-2.943-9.542-7z"
2519
2617
  }, null, -1)]]);
2520
2618
  }
2521
- var Di = /*#__PURE__*/ A(wi, [["render", Ei]]), Q = 0, $ = null, Oi = {
2619
+ var Pi = /*#__PURE__*/ A(ji, [["render", Ni]]), Q = 0, $ = null, Fi = {
2522
2620
  components: {
2523
2621
  PopoverPanel: H,
2524
- Eye: Di
2622
+ Eye: Pi
2525
2623
  },
2526
2624
  mixins: [M],
2527
2625
  emits: ["update:modelValue"],
@@ -2566,8 +2664,8 @@ var Di = /*#__PURE__*/ A(wi, [["render", Ei]]), Q = 0, $ = null, Oi = {
2566
2664
  this.holdsPageSelectionLock && (this.holdsPageSelectionLock = !1, --Q, Q === 0 && (Object.assign(document.documentElement.style, $), $ = null));
2567
2665
  }
2568
2666
  }
2569
- }, ki = ["id", "popovertarget"], Ai = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2570
- function ji(e, t, r, i, c, l) {
2667
+ }, Ii = ["id", "popovertarget"], Li = { class: "bb:sr-only bb:pointer-events-none bb:cursor-default" };
2668
+ function Ri(e, t, r, i, c, l) {
2571
2669
  let u = m("eye"), f = m("popover-panel");
2572
2670
  return d(), n(f, {
2573
2671
  class: "bb-dashboard-ui bb:inline-flex",
@@ -2587,7 +2685,7 @@ function ji(e, t, r, i, c, l) {
2587
2685
  id: t.id,
2588
2686
  popovertarget: t.popovertarget,
2589
2687
  class: "bb:relative bb:text-gray-400 bb:hover:text-gray-600 bb:rounded-md bb:focus:outline-hidden bb:focus-visible:ring-2 bb:focus-visible:ring-indigo-500"
2590
- }, [a("span", Ai, g(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, ki)]),
2688
+ }, [a("span", Li, g(e.texts.showText), 1), s(u, { class: "bb:pointer-events-none bb:cursor-default" })], 8, Ii)]),
2591
2689
  default: b(() => [o(g(l.normalizedText), 1)]),
2592
2690
  _: 1
2593
2691
  }, 8, [
@@ -2597,6 +2695,6 @@ function ji(e, t, r, i, c, l) {
2597
2695
  "onToggle"
2598
2696
  ]);
2599
2697
  }
2600
- var Mi = /*#__PURE__*/ A(Oi, [["render", ji]]);
2698
+ var zi = /*#__PURE__*/ A(Fi, [["render", Ri]]);
2601
2699
  //#endregion
2602
- export { On as ActionPill, Xn as ConfirmationModal, Xr as DataTable, Oe as Dot, mr as DropdownButtonWithAction, un as ErrorMessages, yr as HamburgerMenu, q as InfoPill, ei as NavigationMenuElement, Ci as NotificationMessage, ii as PageCard, Ze as RussianMobileFilter, it as Search, Ft as SelectDateInterval, $t as SelectSingle, Mi as TextPopover, ve as dashboardUi, Se as downloadFile };
2700
+ export { On as ActionPill, Qn as ConfirmationModal, Qr as DataTable, Oe as Dot, gr as DropdownButtonWithAction, un as ErrorMessages, xr as HamburgerMenu, q as InfoPill, ni as NavigationMenuElement, Ai as NotificationMessage, di as PageCard, si as PageTabs, Ze as RussianMobileFilter, it as Search, Ft as SelectDateInterval, $t as SelectSingle, zi as TextPopover, ve as dashboardUi, Se as downloadFile };