@blakesteve/roster 5.0.1 → 5.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/README.md +110 -9
  2. package/dist/components/atoms/Chip/Chip.cjs +1 -1
  3. package/dist/components/atoms/Chip/Chip.js +27 -27
  4. package/dist/components/atoms/Disclosure/Disclosure.cjs +1 -1
  5. package/dist/components/atoms/Disclosure/Disclosure.js +42 -44
  6. package/dist/components/atoms/Input/Input.cjs +1 -1
  7. package/dist/components/atoms/Input/Input.js +46 -41
  8. package/dist/components/atoms/Spinner/Spinner.cjs +1 -1
  9. package/dist/components/atoms/Spinner/Spinner.d.ts +6 -1
  10. package/dist/components/atoms/Spinner/Spinner.js +9 -8
  11. package/dist/components/atoms/Stat/Stat.cjs +1 -1
  12. package/dist/components/atoms/Stat/Stat.d.ts +27 -2
  13. package/dist/components/atoms/Stat/Stat.js +38 -13
  14. package/dist/components/atoms/Switch/Switch.cjs +1 -1
  15. package/dist/components/atoms/Switch/Switch.d.ts +11 -1
  16. package/dist/components/atoms/Switch/Switch.js +38 -36
  17. package/dist/components/atoms/Switch/switch-variants.cjs +1 -1
  18. package/dist/components/atoms/Switch/switch-variants.js +1 -1
  19. package/dist/components/molecules/Carousel/Carousel.cjs +1 -0
  20. package/dist/components/molecules/Carousel/Carousel.d.ts +146 -0
  21. package/dist/components/molecules/Carousel/Carousel.js +363 -0
  22. package/dist/components/molecules/Carousel/carousel-layout.cjs +1 -0
  23. package/dist/components/molecules/Carousel/carousel-layout.d.ts +23 -0
  24. package/dist/components/molecules/Carousel/carousel-layout.js +22 -0
  25. package/dist/components/molecules/Carousel/carousel-math.cjs +1 -0
  26. package/dist/components/molecules/Carousel/carousel-math.d.ts +60 -0
  27. package/dist/components/molecules/Carousel/carousel-math.js +58 -0
  28. package/dist/components/molecules/EmptyState/EmptyState.cjs +1 -1
  29. package/dist/components/molecules/EmptyState/EmptyState.d.ts +7 -1
  30. package/dist/components/molecules/EmptyState/EmptyState.js +18 -14
  31. package/dist/components/molecules/LiquidTabs/LiquidNav.cjs +1 -0
  32. package/dist/components/molecules/LiquidTabs/LiquidNav.d.ts +62 -0
  33. package/dist/components/molecules/LiquidTabs/LiquidNav.js +78 -0
  34. package/dist/components/molecules/LiquidTabs/LiquidTabs.cjs +1 -0
  35. package/dist/components/molecules/LiquidTabs/LiquidTabs.d.ts +69 -0
  36. package/dist/components/molecules/LiquidTabs/LiquidTabs.js +92 -0
  37. package/dist/components/molecules/LiquidTabs/liquid-pill.cjs +1 -0
  38. package/dist/components/molecules/LiquidTabs/liquid-pill.d.ts +56 -0
  39. package/dist/components/molecules/LiquidTabs/liquid-pill.js +129 -0
  40. package/dist/components/molecules/LiquidTabs/liquid-tab-id.cjs +1 -0
  41. package/dist/components/molecules/LiquidTabs/liquid-tab-id.d.ts +12 -0
  42. package/dist/components/molecules/LiquidTabs/liquid-tab-id.js +6 -0
  43. package/dist/components/molecules/Toast/Toaster.cjs +1 -1
  44. package/dist/components/molecules/Toast/Toaster.d.ts +7 -0
  45. package/dist/components/molecules/Toast/Toaster.js +67 -45
  46. package/dist/components/organisms/Dialog/Dialog.cjs +1 -1
  47. package/dist/components/organisms/Dialog/Dialog.js +102 -79
  48. package/dist/components/organisms/Navbar/Navbar.cjs +1 -1
  49. package/dist/components/organisms/Navbar/Navbar.js +157 -157
  50. package/dist/components/organisms/Sheet/Sheet.cjs +1 -0
  51. package/dist/components/organisms/Sheet/Sheet.d.ts +85 -0
  52. package/dist/components/organisms/Sheet/Sheet.js +304 -0
  53. package/dist/components/organisms/Sheet/sheet-drag.cjs +1 -0
  54. package/dist/components/organisms/Sheet/sheet-drag.d.ts +40 -0
  55. package/dist/components/organisms/Sheet/sheet-drag.js +22 -0
  56. package/dist/components/organisms/Sheet/sheet-title.cjs +1 -0
  57. package/dist/components/organisms/Sheet/sheet-title.d.ts +10 -0
  58. package/dist/components/organisms/Sheet/sheet-title.js +17 -0
  59. package/dist/index.d.ts +5 -1
  60. package/dist/internal/motion.cjs +1 -0
  61. package/dist/internal/motion.d.ts +12 -0
  62. package/dist/internal/motion.js +21 -0
  63. package/dist/internal/page-inert.cjs +1 -0
  64. package/dist/internal/page-inert.d.ts +51 -0
  65. package/dist/internal/page-inert.js +36 -0
  66. package/dist/meta.json +3 -3
  67. package/dist/roster.cjs +1 -1
  68. package/dist/roster.css +1 -1
  69. package/dist/roster.js +130 -122
  70. package/package.json +1 -1
  71. package/dist/components/atoms/LiquidTabs/LiquidTabs.cjs +0 -1
  72. package/dist/components/atoms/LiquidTabs/LiquidTabs.d.ts +0 -39
  73. package/dist/components/atoms/LiquidTabs/LiquidTabs.js +0 -120
@@ -1,25 +1,39 @@
1
1
  "use client";
2
2
  import { jsx as r, jsxs as s, Fragment as I } from "react/jsx-runtime";
3
- import T, { Fragment as R, useEffect as P, useRef as rr } from "react";
3
+ import Z, { Fragment as q, useEffect as H, useRef as rr } from "react";
4
4
  import { FontAwesomeIcon as g } from "../../../node_modules/@fortawesome/react-fontawesome/dist/index.js";
5
- import { faInbox as tr, faMoon as $, faRightFromBracket as sr, faXmark as q, faBars as er } from "../../../node_modules/@fortawesome/free-solid-svg-icons/index.js";
5
+ import { faInbox as tr, faMoon as E, faRightFromBracket as sr, faXmark as K, faBars as er } from "../../../node_modules/@fortawesome/free-solid-svg-icons/index.js";
6
6
  import { cn as a } from "../../../lib/utils.js";
7
7
  import { Button as p } from "../../atoms/Button/Button.js";
8
8
  import { Link as x } from "../../atoms/Link/Link.js";
9
- import { Badge as _ } from "../../atoms/Badge/Badge.js";
9
+ import { Badge as V } from "../../atoms/Badge/Badge.js";
10
10
  import { Avatar as ar } from "../../atoms/Avatar/Avatar.js";
11
- import { Switch as X } from "../../atoms/Switch/Switch.js";
12
- import { navbarVariants as nr } from "./navbar-variants.js";
13
- import { Menu as ir, MenuButton as or, MenuItems as lr, MenuItem as A } from "../../../node_modules/@headlessui/react/dist/components/menu/menu.js";
14
- import { Popover as cr, PopoverButton as G, PopoverPanel as dr } from "../../../node_modules/@headlessui/react/dist/components/popover/popover.js";
15
- import { Transition as H } from "../../../node_modules/@headlessui/react/dist/components/transition/transition.js";
16
- const J = (e, i) => typeof e == "function" ? e({ close: i }) : e;
17
- function mr(e) {
18
- return T.useSyncExternalStore(
19
- (i) => {
11
+ import { switchThumbVariants as nr, switchTrackVariants as ir } from "../../atoms/Switch/switch-variants.js";
12
+ import { navbarVariants as or } from "./navbar-variants.js";
13
+ import { Menu as lr, MenuButton as cr, MenuItems as dr, MenuItem as A } from "../../../node_modules/@headlessui/react/dist/components/menu/menu.js";
14
+ import { Popover as mr, PopoverButton as _, PopoverPanel as hr } from "../../../node_modules/@headlessui/react/dist/components/popover/popover.js";
15
+ import { Transition as T } from "../../../node_modules/@headlessui/react/dist/components/transition/transition.js";
16
+ function X({ on: e, size: n }) {
17
+ return /* @__PURE__ */ r(
18
+ "span",
19
+ {
20
+ "aria-hidden": "true",
21
+ "data-testid": "navbar-theme-track",
22
+ "data-checked": e ? "" : void 0,
23
+ className: a(ir({ size: n, variant: "neutral" }), "rst:pointer-events-none"),
24
+ children: /* @__PURE__ */ r("span", { className: a(nr({ size: n })) })
25
+ }
26
+ );
27
+ }
28
+ const gr = (e) => {
29
+ e?.setAttribute("role", "menuitemcheckbox");
30
+ }, G = (e, n) => typeof e == "function" ? e({ close: n }) : e;
31
+ function ur(e) {
32
+ return Z.useSyncExternalStore(
33
+ (n) => {
20
34
  if (!e || typeof document > "u") return () => {
21
35
  };
22
- const l = new MutationObserver(i);
36
+ const l = new MutationObserver(n);
23
37
  return l.observe(document.documentElement, {
24
38
  attributes: !0,
25
39
  attributeFilter: ["class"]
@@ -29,76 +43,76 @@ function mr(e) {
29
43
  () => !1
30
44
  );
31
45
  }
32
- function hr({ close: e }) {
33
- return P(() => {
34
- const i = (l) => {
35
- const u = document.querySelector("[data-roster-mobile-panel]"), v = document.querySelector("[data-roster-hamburger]"), m = l.target;
36
- !u?.contains(m) && !v?.contains(m) && e();
46
+ function pr({ close: e }) {
47
+ return H(() => {
48
+ const n = (l) => {
49
+ const u = document.querySelector("[data-roster-mobile-panel]"), v = document.querySelector("[data-roster-hamburger]"), h = l.target;
50
+ !u?.contains(h) && !v?.contains(h) && e();
37
51
  };
38
- return document.addEventListener("pointerdown", i, { capture: !0 }), () => document.removeEventListener("pointerdown", i, { capture: !0 });
52
+ return document.addEventListener("pointerdown", n, { capture: !0 }), () => document.removeEventListener("pointerdown", n, { capture: !0 });
39
53
  }, [e]), null;
40
54
  }
41
- function gr({
55
+ function yr({
42
56
  activePath: e,
43
- close: i
57
+ close: n
44
58
  }) {
45
59
  const l = rr(e);
46
- return P(() => {
47
- l.current !== e && (l.current = e, i());
48
- }, [e, i]), null;
60
+ return H(() => {
61
+ l.current !== e && (l.current = e, n());
62
+ }, [e, n]), null;
49
63
  }
50
- const Br = ({
64
+ const Ir = ({
51
65
  logoSrc: e,
52
- logoSize: i = "2rem",
66
+ logoSize: n = "2rem",
53
67
  logoClassName: l,
54
68
  brandName: u,
55
69
  items: v,
56
- activePath: m,
57
- routerElement: f,
58
- user: o,
70
+ activePath: h,
71
+ routerElement: y,
72
+ user: i,
59
73
  onLogin: b,
60
74
  onLogout: k,
61
75
  onInboxClick: N,
62
- onThemeToggle: y,
63
- actions: Q,
76
+ onThemeToggle: f,
77
+ actions: J,
64
78
  brandElement: M,
65
- navActions: U,
79
+ navActions: P,
66
80
  userMenuItems: w = [],
67
- className: V,
68
- variant: d = "default",
69
- position: W = "sticky",
81
+ className: Q,
82
+ variant: m = "default",
83
+ position: U = "sticky",
70
84
  themeMode: B,
71
85
  notificationVariant: O = "error",
72
86
  notificationFill: L = "solid",
73
- ...Y
87
+ ...W
74
88
  }) => {
75
- const C = (o?.notificationCount || 0) > 0, E = typeof i == "number" ? `${i}px` : i, K = { width: E, height: E }, Z = mr(B === "auto"), h = (B === "auto" ? Z ? "dark" : "light" : B ?? (d === "white" || d === "default" ? "light" : "dark")) === "dark", D = d === "slate" || d === "primary" || d === "default" && h || d === "white" && h || d === "transparent" && h, j = {
76
- brand: D ? "rst:text-white rst:dark:text-white rst:hover:text-gray-200 rst:dark:hover:text-gray-200" : "rst:text-gray-900 rst:dark:text-gray-900 rst:hover:text-gray-600 rst:dark:hover:text-gray-600",
77
- linkBase: D ? "rst:text-gray-300 rst:dark:text-gray-300 rst:hover:text-white rst:dark:hover:text-white" : "rst:text-gray-600 rst:dark:text-gray-600 rst:hover:text-gray-900 rst:dark:hover:text-gray-900",
78
- linkActive: D ? "rst:text-primary-400 rst:dark:text-primary-400 rst:font-semibold rst:hover:text-primary-300 rst:dark:hover:text-primary-300" : "rst:text-primary-600 rst:dark:text-primary-600 rst:font-semibold rst:hover:text-primary-700 rst:dark:hover:text-primary-700",
79
- hamburger: D ? "rst:text-gray-300 rst:dark:text-gray-300 rst:hover:bg-white/10 rst:dark:hover:bg-white/10 rst:hover:text-white rst:dark:hover:text-white" : "rst:text-gray-500 rst:dark:text-gray-500 rst:hover:bg-gray-100 rst:dark:hover:bg-gray-100 rst:hover:text-gray-700 rst:dark:hover:text-gray-700"
89
+ const C = (i?.notificationCount || 0) > 0, R = typeof n == "number" ? `${n}px` : n, $ = { width: R, height: R }, Y = ur(B === "auto"), c = (B === "auto" ? Y ? "dark" : "light" : B ?? (m === "white" || m === "default" ? "light" : "dark")) === "dark", j = m === "slate" || m === "primary" || m === "default" && c || m === "white" && c || m === "transparent" && c, D = {
90
+ brand: j ? "rst:text-white rst:dark:text-white rst:hover:text-gray-200 rst:dark:hover:text-gray-200" : "rst:text-gray-900 rst:dark:text-gray-900 rst:hover:text-gray-600 rst:dark:hover:text-gray-600",
91
+ linkBase: j ? "rst:text-gray-300 rst:dark:text-gray-300 rst:hover:text-white rst:dark:hover:text-white" : "rst:text-gray-600 rst:dark:text-gray-600 rst:hover:text-gray-900 rst:dark:hover:text-gray-900",
92
+ linkActive: j ? "rst:text-primary-400 rst:dark:text-primary-400 rst:font-semibold rst:hover:text-primary-300 rst:dark:hover:text-primary-300" : "rst:text-primary-600 rst:dark:text-primary-600 rst:font-semibold rst:hover:text-primary-700 rst:dark:hover:text-primary-700",
93
+ hamburger: j ? "rst:text-gray-300 rst:dark:text-gray-300 rst:hover:bg-white/10 rst:dark:hover:bg-white/10 rst:hover:text-white rst:dark:hover:text-white" : "rst:text-gray-500 rst:dark:text-gray-500 rst:hover:bg-gray-100 rst:dark:hover:bg-gray-100 rst:hover:text-gray-700 rst:dark:hover:text-gray-700"
80
94
  };
81
95
  return /* @__PURE__ */ r(
82
- cr,
96
+ mr,
83
97
  {
84
98
  as: "nav",
85
- className: a("rst:z-50", nr({ variant: d, position: W }), V),
86
- ...Y,
87
- children: ({ open: z, close: c }) => {
88
- const S = J(Q, c), F = J(U, c);
99
+ className: a("rst:z-50", or({ variant: m, position: U }), Q),
100
+ ...W,
101
+ children: ({ open: F, close: d }) => {
102
+ const S = G(J, d), z = G(P, d);
89
103
  return /* @__PURE__ */ s(I, { children: [
90
104
  /* @__PURE__ */ s("div", { className: "rst:container rst:mx-auto rst:flex rst:items-center rst:justify-between rst:px-4 rst:h-16", children: [
91
105
  /* @__PURE__ */ s(
92
106
  x,
93
107
  {
94
- as: f,
108
+ as: y,
95
109
  href: "/",
96
110
  to: "/",
97
111
  variant: "neutral",
98
112
  underline: "none",
99
113
  className: a(
100
114
  "rst:flex rst:items-center rst:gap-3 rst:transition-opacity",
101
- j.brand
115
+ D.brand
102
116
  ),
103
117
  children: [
104
118
  /* @__PURE__ */ r(
@@ -106,7 +120,7 @@ const Br = ({
106
120
  {
107
121
  src: e,
108
122
  alt: `${u} Logo`,
109
- style: K,
123
+ style: $,
110
124
  className: a("rst:shrink-0", l ?? "rst:rounded-md")
111
125
  }
112
126
  ),
@@ -116,18 +130,18 @@ const Br = ({
116
130
  ),
117
131
  /* @__PURE__ */ s("div", { className: "rst:hidden rst:md:flex rst:items-center rst:gap-8", children: [
118
132
  /* @__PURE__ */ r("div", { className: "rst:flex rst:items-center rst:gap-6", children: v.map((t) => {
119
- const n = m === t.path;
133
+ const o = h === t.path;
120
134
  return /* @__PURE__ */ s(
121
135
  x,
122
136
  {
123
- as: f,
137
+ as: y,
124
138
  href: t.path,
125
139
  to: t.path,
126
140
  variant: "neutral",
127
141
  underline: "none",
128
142
  className: a(
129
143
  "rst:inline-flex rst:items-center rst:gap-1.5 rst:text-sm rst:transition-colors rst:duration-200",
130
- n ? j.linkActive : j.linkBase
144
+ o ? D.linkActive : D.linkBase
131
145
  ),
132
146
  children: [
133
147
  t.label,
@@ -137,42 +151,42 @@ const Br = ({
137
151
  t.path
138
152
  );
139
153
  }) }),
140
- F,
141
- S ?? (o ? /* @__PURE__ */ s(ir, { as: "div", className: "rst:relative rst:ml-2", children: [
142
- /* @__PURE__ */ s(or, { className: "rst:relative rst:flex rst:rounded-full rst:text-sm rst:focus-visible:outline-hidden rst:focus-visible:ring-2 rst:focus-visible:ring-ring rst:focus-visible:ring-offset-2 rst:ring-offset-background", children: [
154
+ z,
155
+ S ?? (i ? /* @__PURE__ */ s(lr, { as: "div", className: "rst:relative rst:ml-2", children: [
156
+ /* @__PURE__ */ s(cr, { className: "rst:relative rst:flex rst:rounded-full rst:text-sm rst:focus-visible:outline-hidden rst:focus-visible:ring-2 rst:focus-visible:ring-ring rst:focus-visible:ring-offset-2 rst:ring-offset-background", children: [
143
157
  /* @__PURE__ */ r("span", { className: "rst:sr-only", children: "Open user menu" }),
144
158
  /* @__PURE__ */ r(
145
159
  ar,
146
160
  {
147
- initials: o.initials,
148
- src: o.avatarSrc,
161
+ initials: i.initials,
162
+ src: i.avatarSrc,
149
163
  size: "sm",
150
164
  shape: "circle",
151
- colorScheme: o.avatarColor ?? "primary"
165
+ colorScheme: i.avatarColor ?? "primary"
152
166
  }
153
167
  ),
154
168
  C && /* @__PURE__ */ r("div", { className: "rst:absolute rst:-top-1 rst:-right-2", children: /* @__PURE__ */ r(
155
- _,
169
+ V,
156
170
  {
157
171
  fill: L,
158
172
  size: "xs",
159
173
  statusBadge: !0,
160
174
  variant: O,
161
- children: o.notificationCount
175
+ children: i.notificationCount
162
176
  }
163
177
  ) })
164
178
  ] }),
165
179
  /* @__PURE__ */ r(
166
- H,
180
+ T,
167
181
  {
168
- as: R,
182
+ as: q,
169
183
  enter: "rst:transition rst:ease-out rst:duration-100",
170
184
  enterFrom: "rst:transform rst:opacity-0 rst:scale-95",
171
185
  enterTo: "rst:transform rst:opacity-100 rst:scale-100",
172
186
  leave: "rst:transition rst:ease-in rst:duration-75",
173
187
  leaveFrom: "rst:transform rst:opacity-100 rst:scale-100",
174
188
  leaveTo: "rst:transform rst:opacity-0 rst:scale-95",
175
- children: /* @__PURE__ */ s(lr, { className: "rst:absolute rst:right-0 rst:z-50 rst:mt-2 rst:w-48 rst:origin-top-right rst:rounded-md rst:bg-white rst:dark:bg-gray-800 rst:py-1 rst:elevation-anchored rst:ring-1 rst:ring-black/5 rst:dark:ring-white/10 rst:focus:outline-hidden rst:divide-y rst:divide-gray-100 rst:dark:divide-gray-700", children: [
189
+ children: /* @__PURE__ */ s(dr, { className: "rst:absolute rst:right-0 rst:z-50 rst:mt-2 rst:w-48 rst:origin-top-right rst:rounded-md rst:bg-white rst:dark:bg-gray-800 rst:py-1 rst:elevation-anchored rst:ring-1 rst:ring-black/5 rst:dark:ring-white/10 rst:focus:outline-hidden rst:divide-y rst:divide-gray-100 rst:dark:divide-gray-700", children: [
176
190
  /* @__PURE__ */ s("div", { className: "rst:py-1", children: [
177
191
  C && N && /* @__PURE__ */ r(A, { children: ({ focus: t }) => /* @__PURE__ */ s(
178
192
  p,
@@ -194,66 +208,59 @@ const Br = ({
194
208
  ),
195
209
  children: [
196
210
  "Inbox (",
197
- o.notificationCount,
211
+ i.notificationCount,
198
212
  ")"
199
213
  ]
200
214
  }
201
215
  ) }),
202
- y && /* @__PURE__ */ r(A, { children: ({ focus: t }) => /* @__PURE__ */ s(
203
- "div",
204
- {
205
- onClick: (n) => {
206
- n.preventDefault(), y();
207
- },
208
- role: "button",
209
- tabIndex: 0,
210
- className: a(
211
- "rst:flex rst:w-full rst:items-center rst:justify-between rst:px-4 rst:py-2 rst:text-sm rst:text-gray-700 rst:dark:text-gray-200 rst:cursor-pointer rst:transition-colors",
212
- t && "rst:bg-gray-50 rst:dark:bg-gray-700"
213
- ),
214
- onKeyDown: (n) => {
215
- (n.key === "Enter" || n.key === " ") && (n.preventDefault(), y());
216
- },
217
- children: [
218
- /* @__PURE__ */ s("div", { className: "rst:flex rst:items-center rst:gap-2", children: [
219
- /* @__PURE__ */ r(
220
- g,
221
- {
222
- icon: $,
223
- className: a(
224
- "rst:w-4 rst:transition-colors",
225
- h ? "rst:text-amber-500" : "rst:text-gray-400"
226
- )
227
- }
228
- ),
229
- /* @__PURE__ */ r("span", { className: "rst:font-medium", children: "Dark Mode" })
230
- ] }),
231
- /* @__PURE__ */ r(
232
- X,
233
- {
234
- checked: h,
235
- onChange: () => {
236
- },
237
- size: "xs",
238
- variant: "neutral",
239
- className: "rst:pointer-events-none rst:m-0"
240
- }
241
- )
242
- ]
243
- }
216
+ f && /* @__PURE__ */ r(A, { children: ({ focus: t }) => (
217
+ /* The row is the control. Headless UI keeps
218
+ focus on the menu and clicks the active item
219
+ on Enter or Space, so the row needs no key
220
+ handler of its own. */
221
+ /* @__PURE__ */ s(
222
+ "div",
223
+ {
224
+ ref: gr,
225
+ "aria-checked": c,
226
+ onClick: (o) => {
227
+ o.preventDefault(), f();
228
+ },
229
+ className: a(
230
+ "rst:flex rst:w-full rst:items-center rst:justify-between rst:px-4 rst:py-2 rst:text-sm rst:text-gray-700 rst:dark:text-gray-200 rst:cursor-pointer rst:transition-colors",
231
+ t && "rst:bg-gray-50 rst:dark:bg-gray-700"
232
+ ),
233
+ children: [
234
+ /* @__PURE__ */ s("div", { className: "rst:flex rst:items-center rst:gap-2", children: [
235
+ /* @__PURE__ */ r(
236
+ g,
237
+ {
238
+ icon: E,
239
+ className: a(
240
+ "rst:w-4 rst:transition-colors",
241
+ c ? "rst:text-amber-500" : "rst:text-gray-400"
242
+ )
243
+ }
244
+ ),
245
+ /* @__PURE__ */ r("span", { className: "rst:font-medium", children: "Dark Mode" })
246
+ ] }),
247
+ /* @__PURE__ */ r(X, { on: c, size: "xs" })
248
+ ]
249
+ }
250
+ )
244
251
  ) })
245
252
  ] }),
246
- w.length > 0 && /* @__PURE__ */ r("div", { className: "rst:py-1", children: w.map((t) => /* @__PURE__ */ r(A, { children: ({ focus: n }) => /* @__PURE__ */ s(
253
+ w.length > 0 && /* @__PURE__ */ r("div", { className: "rst:py-1", children: w.map((t) => /* @__PURE__ */ r(A, { children: ({ focus: o }) => /* @__PURE__ */ s(
247
254
  x,
248
255
  {
249
- as: f,
256
+ as: y,
250
257
  href: t.path,
251
258
  to: t.path,
252
259
  variant: "neutral",
253
260
  underline: "none",
254
261
  className: a(
255
262
  "rst:flex rst:w-full rst:items-center rst:justify-between rst:gap-2 rst:px-4 rst:py-2 rst:text-sm rst:text-gray-700 rst:dark:text-gray-200 rst:transition-colors",
256
- n && "rst:bg-gray-50 rst:dark:bg-gray-700"
263
+ o && "rst:bg-gray-50 rst:dark:bg-gray-700"
257
264
  ),
258
265
  children: [
259
266
  t.label,
@@ -288,18 +295,18 @@ const Br = ({
288
295
  ] }) : /* @__PURE__ */ r(p, { size: "sm", variant: "solid", colorScheme: "primary", onClick: b, children: "Log In" }))
289
296
  ] }),
290
297
  /* @__PURE__ */ r("div", { "data-roster-hamburger": !0, className: "rst:flex rst:md:hidden", children: /* @__PURE__ */ s(
291
- G,
298
+ _,
292
299
  {
293
300
  className: a(
294
301
  "rst:inline-flex rst:items-center rst:justify-center rst:rounded-md rst:p-2 rst:focus-visible:outline-hidden rst:focus-visible:ring-2 rst:focus-visible:ring-ring rst:focus-visible:ring-offset-2 rst:ring-offset-background",
295
- j.hamburger
302
+ D.hamburger
296
303
  ),
297
304
  children: [
298
305
  /* @__PURE__ */ r("span", { className: "rst:sr-only", children: "Open main menu" }),
299
- z ? /* @__PURE__ */ r(
306
+ F ? /* @__PURE__ */ r(
300
307
  g,
301
308
  {
302
- icon: q,
309
+ icon: K,
303
310
  className: "rst:block rst:h-6 rst:w-6",
304
311
  "aria-hidden": "true"
305
312
  }
@@ -318,12 +325,12 @@ const Br = ({
318
325
  }
319
326
  ) })
320
327
  ] }),
321
- z && /* @__PURE__ */ r(hr, { close: c }),
322
- z && /* @__PURE__ */ r(gr, { activePath: m, close: c }),
328
+ F && /* @__PURE__ */ r(pr, { close: d }),
329
+ F && /* @__PURE__ */ r(yr, { activePath: h, close: d }),
323
330
  /* @__PURE__ */ r(
324
- H,
331
+ T,
325
332
  {
326
- as: R,
333
+ as: q,
327
334
  enter: "rst:duration-200 rst:ease-out",
328
335
  enterFrom: "rst:opacity-0 rst:scale-95",
329
336
  enterTo: "rst:opacity-100 rst:scale-100",
@@ -331,7 +338,7 @@ const Br = ({
331
338
  leaveFrom: "rst:opacity-100 rst:scale-100",
332
339
  leaveTo: "rst:opacity-0 rst:scale-95",
333
340
  children: /* @__PURE__ */ r(
334
- dr,
341
+ hr,
335
342
  {
336
343
  focus: !0,
337
344
  className: "rst:absolute rst:top-0 rst:inset-x-0 rst:z-50 rst:origin-top-right rst:transform rst:p-2 rst:transition rst:md:hidden",
@@ -344,18 +351,18 @@ const Br = ({
344
351
  {
345
352
  src: e,
346
353
  alt: u,
347
- style: K,
354
+ style: $,
348
355
  className: a("rst:shrink-0", l ?? "rst:rounded-md")
349
356
  }
350
357
  ),
351
358
  M ?? /* @__PURE__ */ r("span", { className: "rst:font-bold rst:text-gray-900 rst:dark:text-white", children: u })
352
359
  ] }),
353
- /* @__PURE__ */ r("div", { className: "rst:-mr-2", children: /* @__PURE__ */ s(G, { className: "rst:inline-flex rst:items-center rst:justify-center rst:rounded-md rst:p-2 rst:text-gray-400 rst:hover:bg-gray-100 rst:dark:hover:bg-gray-700 rst:hover:text-gray-500 rst:dark:hover:text-white rst:focus:outline-hidden", children: [
360
+ /* @__PURE__ */ r("div", { className: "rst:-mr-2", children: /* @__PURE__ */ s(_, { className: "rst:inline-flex rst:items-center rst:justify-center rst:rounded-md rst:p-2 rst:text-gray-400 rst:hover:bg-gray-100 rst:dark:hover:bg-gray-700 rst:hover:text-gray-500 rst:dark:hover:text-white rst:focus:outline-hidden", children: [
354
361
  /* @__PURE__ */ r("span", { className: "rst:sr-only", children: "Close menu" }),
355
362
  /* @__PURE__ */ r(
356
363
  g,
357
364
  {
358
- icon: q,
365
+ icon: K,
359
366
  className: "rst:h-6 rst:w-6",
360
367
  "aria-hidden": "true"
361
368
  }
@@ -363,30 +370,30 @@ const Br = ({
363
370
  ] }) })
364
371
  ] }),
365
372
  /* @__PURE__ */ s("div", { className: "rst:mt-6", children: [
366
- F && /* @__PURE__ */ r("div", { className: "rst:mb-4", children: F }),
373
+ z && /* @__PURE__ */ r("div", { className: "rst:mb-4", children: z }),
367
374
  /* @__PURE__ */ s("nav", { className: "rst:grid rst:gap-y-4", children: [
368
375
  v.map((t) => {
369
- const n = m === t.path;
376
+ const o = h === t.path;
370
377
  return /* @__PURE__ */ r(
371
378
  x,
372
379
  {
373
- as: f,
380
+ as: y,
374
381
  href: t.path,
375
382
  to: t.path,
376
- onClick: () => c(),
383
+ onClick: () => d(),
377
384
  variant: "neutral",
378
385
  underline: "none",
379
386
  className: a(
380
387
  "rst:-m-3 rst:flex rst:items-center rst:rounded-md rst:p-3 rst:transition-colors",
381
388
  "rst:hover:bg-gray-50 rst:dark:hover:bg-gray-700",
382
- n ? "rst:bg-gray-50 rst:dark:bg-gray-700" : "rst:text-gray-900 rst:dark:text-gray-100"
389
+ o ? "rst:bg-gray-50 rst:dark:bg-gray-700" : "rst:text-gray-900 rst:dark:text-gray-100"
383
390
  ),
384
391
  children: /* @__PURE__ */ s(
385
392
  "span",
386
393
  {
387
394
  className: a(
388
395
  "rst:ml-3 rst:inline-flex rst:items-center rst:gap-1.5 rst:text-base rst:font-medium",
389
- n ? "rst:text-primary-600 rst:dark:text-primary-400 rst:font-bold" : "rst:text-gray-900 rst:dark:text-gray-100"
396
+ o ? "rst:text-primary-600 rst:dark:text-primary-400 rst:font-bold" : "rst:text-gray-900 rst:dark:text-gray-100"
390
397
  ),
391
398
  children: [
392
399
  t.label,
@@ -398,23 +405,23 @@ const Br = ({
398
405
  t.path
399
406
  );
400
407
  }),
401
- o && w.length > 0 && /* @__PURE__ */ s(I, { children: [
408
+ i && w.length > 0 && /* @__PURE__ */ s(I, { children: [
402
409
  /* @__PURE__ */ r("hr", { className: "rst:border-gray-100 rst:dark:border-gray-700" }),
403
410
  w.map((t) => {
404
- const n = m === t.path;
411
+ const o = h === t.path;
405
412
  return /* @__PURE__ */ s(
406
413
  x,
407
414
  {
408
- as: f,
415
+ as: y,
409
416
  href: t.path,
410
417
  to: t.path,
411
- onClick: () => c(),
418
+ onClick: () => d(),
412
419
  variant: "neutral",
413
420
  underline: "none",
414
421
  className: a(
415
422
  "rst:-m-3 rst:flex rst:items-center rst:rounded-md rst:p-3 rst:transition-colors",
416
423
  "rst:hover:bg-gray-50 rst:dark:hover:bg-gray-700",
417
- n ? "rst:bg-gray-50 rst:dark:bg-gray-700" : "rst:text-gray-900 rst:dark:text-gray-100"
424
+ o ? "rst:bg-gray-50 rst:dark:bg-gray-700" : "rst:text-gray-900 rst:dark:text-gray-100"
418
425
  ),
419
426
  children: [
420
427
  /* @__PURE__ */ r(
@@ -422,7 +429,7 @@ const Br = ({
422
429
  {
423
430
  className: a(
424
431
  "rst:ml-3 rst:text-base rst:font-medium",
425
- n ? "rst:text-primary-600 rst:dark:text-primary-400 rst:font-bold" : "rst:text-gray-900 rst:dark:text-gray-100"
432
+ o ? "rst:text-primary-600 rst:dark:text-primary-400 rst:font-bold" : "rst:text-gray-900 rst:dark:text-gray-100"
426
433
  ),
427
434
  children: t.label
428
435
  }
@@ -437,14 +444,14 @@ const Br = ({
437
444
  ] })
438
445
  ] })
439
446
  ] }),
440
- (o || S || b) && /* @__PURE__ */ r("div", { className: "rst:py-6 rst:px-5 rst:space-y-4", children: S || (!o && b ? /* @__PURE__ */ r(
447
+ (i || S || b) && /* @__PURE__ */ r("div", { className: "rst:py-6 rst:px-5 rst:space-y-4", children: S || (!i && b ? /* @__PURE__ */ r(
441
448
  p,
442
449
  {
443
450
  variant: "solid",
444
451
  colorScheme: "primary",
445
452
  className: "rst:w-full rst:justify-center",
446
453
  onClick: () => {
447
- b(), c();
454
+ b(), d();
448
455
  },
449
456
  children: "Log In"
450
457
  }
@@ -455,32 +462,35 @@ const Br = ({
455
462
  variant: "ghost",
456
463
  colorScheme: "neutral",
457
464
  onClick: () => {
458
- N?.(), c();
465
+ N?.(), d();
459
466
  },
460
467
  className: "rst:w-full rst:justify-between rst:px-4 rst:text-base rst:font-medium rst:hover:bg-gray-50 rst:dark:hover:bg-gray-700 rst:text-gray-900 rst:dark:text-gray-100",
461
468
  endIcon: /* @__PURE__ */ r(
462
- _,
469
+ V,
463
470
  {
464
471
  fill: L,
465
472
  size: "xs",
466
473
  statusBadge: !0,
467
474
  variant: O,
468
- children: o?.notificationCount
475
+ children: i?.notificationCount
469
476
  }
470
477
  ),
471
478
  children: "Pending Invitations"
472
479
  }
473
480
  ),
474
- y && /* @__PURE__ */ s(
481
+ f && /* The row is the switch: one tab stop, its
482
+ state in `aria-checked`, its name from its text. */
483
+ /* @__PURE__ */ s(
475
484
  "div",
476
485
  {
477
486
  onClick: (t) => {
478
- t.preventDefault(), y();
487
+ t.preventDefault(), f();
479
488
  },
480
- role: "button",
489
+ role: "switch",
490
+ "aria-checked": c,
481
491
  tabIndex: 0,
482
492
  onKeyDown: (t) => {
483
- (t.key === "Enter" || t.key === " ") && (t.preventDefault(), y());
493
+ t.repeat || (t.key === "Enter" || t.key === " ") && (t.preventDefault(), f());
484
494
  },
485
495
  className: "rst:flex rst:w-full rst:items-center rst:justify-between rst:rounded-md rst:px-4 rst:py-2 rst:text-base rst:transition-colors rst:cursor-pointer rst:hover:bg-gray-50 rst:dark:hover:bg-gray-700 rst:text-gray-900 rst:dark:text-gray-100",
486
496
  children: [
@@ -488,26 +498,16 @@ const Br = ({
488
498
  /* @__PURE__ */ r(
489
499
  g,
490
500
  {
491
- icon: $,
501
+ icon: E,
492
502
  className: a(
493
503
  "rst:w-5 rst:transition-colors",
494
- h ? "rst:text-amber-500" : "rst:text-gray-400"
504
+ c ? "rst:text-amber-500" : "rst:text-gray-400"
495
505
  )
496
506
  }
497
507
  ),
498
508
  /* @__PURE__ */ r("span", { children: "Dark Mode" })
499
509
  ] }),
500
- /* @__PURE__ */ r(
501
- X,
502
- {
503
- checked: h,
504
- onChange: () => {
505
- },
506
- size: "sm",
507
- variant: "neutral",
508
- className: "rst:pointer-events-none rst:m-0"
509
- }
510
- )
510
+ /* @__PURE__ */ r(X, { on: c, size: "sm" })
511
511
  ]
512
512
  }
513
513
  ),
@@ -518,7 +518,7 @@ const Br = ({
518
518
  colorScheme: "error",
519
519
  className: "rst:w-full rst:justify-center",
520
520
  onClick: () => {
521
- k?.(), c();
521
+ k?.(), d();
522
522
  },
523
523
  children: "Log Out"
524
524
  }
@@ -535,5 +535,5 @@ const Br = ({
535
535
  );
536
536
  };
537
537
  export {
538
- Br as Navbar
538
+ Ir as Navbar
539
539
  };
@@ -0,0 +1 @@
1
+ "use client";"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const s=require("react/jsx-runtime"),H=require("react"),J=require("../../../node_modules/@headlessui/react/dist/components/description/description.cjs"),y=require("../../../node_modules/@headlessui/react/dist/components/dialog/dialog.cjs"),Q=require("../../../node_modules/@headlessui/react/dist/components/transition/transition.cjs"),f=require("../../../lib/utils.cjs"),Z=require("../../../internal/popup.cjs"),W=require("../../../internal/motion.cjs"),O=require("../../../internal/page-inert.cjs"),D=require("./sheet-drag.cjs"),tt=require("./sheet-title.cjs");function et(r){const i=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(r){for(const c in r)if(c!=="default"){const l=Object.getOwnPropertyDescriptor(r,c);Object.defineProperty(i,c,l.get?l:{enumerable:!0,get:()=>r[c]})}}return i.default=r,Object.freeze(i)}const n=et(H),rt="rst:transition-transform rst:duration-(--roster-sheet-enter-duration) rst:ease-(--roster-sheet-enter-easing) rst:data-leave:duration-(--roster-sheet-leave-duration) rst:data-leave:ease-(--roster-sheet-leave-easing) rst:data-closed:translate-y-full",st="rst:transition-opacity rst:duration-(--roster-sheet-fade-duration) rst:ease-out rst:data-closed:opacity-0",nt="rst:transition-opacity rst:duration-(--roster-sheet-enter-duration) rst:ease-out rst:data-leave:duration-(--roster-sheet-leave-duration) rst:data-closed:opacity-0",ot="rst:transition-opacity rst:duration-(--roster-sheet-fade-duration) rst:ease-out rst:data-closed:opacity-0",at=["input:not([type=checkbox]):not([type=radio]):not([type=button]):not([type=submit]):not([type=reset]):not([type=range]):not([type=color]):not([type=file]):not([type=image])","textarea","select","[contenteditable]:not([contenteditable=false])"].join(",");function it(r){return r?"current"in r?r.current:r:null}function ct({target:r}){const i=n.useRef(r),c=n.useRef(!1);return n.useEffect(()=>{i.current=r}),n.useEffect(()=>(c.current=!1,()=>{c.current=!0,queueMicrotask(()=>{if(!c.current)return;const l=it(i.current);l?.isConnected&&l.focus()})}),[]),null}function ut(){return s.jsx("svg",{"aria-hidden":"true",focusable:"false",viewBox:"0 0 20 20",className:"rst:h-5 rst:w-5",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",children:s.jsx("path",{d:"M5 5l10 10M15 5L5 15"})})}const lt=({isOpen:r,onClose:i,onAfterClose:c,title:l,hideTitle:T=!1,description:S,actions:N,maxWidth:b=560,initialFocus:v,returnFocus:_,busy:p=!1,dragToDismiss:j=!0,contentKey:h,className:z,children:Y})=>{const{ref:R,inDarkScope:B}=Z.useDarkScope(),C=W.useReducedMotion();n.useLayoutEffect(()=>{if(r)return O.lockPage(R.current)},[r,R]);const u=n.useRef(null),I=n.useRef(null),L=n.useRef(null),E=n.useRef(null),k=n.useRef(null),P=n.useId(),g=tt.titleSignature(l),w=n.useRef({signature:g,contentKey:h,open:r,busy:p});n.useEffect(()=>{const t=w.current;if(w.current={signature:g,contentKey:h,open:r,busy:p},!t.open||!r)return;const e=t.contentKey!==h,o=t.signature!==g&&!t.busy;!e&&!o||(L.current?.focus(),k.current&&(k.current.scrollTop=0))},[g,h,r,p]),n.useEffect(()=>{if(!r)return;const t=requestAnimationFrame(()=>{const e=u.current,o=document.activeElement;!e||o&&e.contains(o)||(v?.current??E.current)?.focus()});return()=>cancelAnimationFrame(t)},[r,v]);const[q,M]=n.useState(null);n.useEffect(()=>{if(!r)return;const t=window.visualViewport;if(!t)return;const e=()=>{const o=document.activeElement,d=!!o&&!!u.current?.contains(o)&&o.matches(at);M(d?Math.round(t.height):null)};return t.addEventListener("resize",e),document.addEventListener("focusin",e),document.addEventListener("focusout",e),()=>{t.removeEventListener("resize",e),document.removeEventListener("focusin",e),document.removeEventListener("focusout",e),M(null)}},[r]);const a=n.useRef(null),m=n.useRef(!1),A=n.useRef(r);n.useEffect(()=>{A.current=r},[r]);const x=t=>{u.current?.style.setProperty("--rst-sheet-drag",`${t}px`)},F=t=>{const e=u.current;a.current=null,e&&(delete e.dataset.dragging,t==="close"?(i(),requestAnimationFrame(()=>{A.current&&!a.current&&x(0)})):x(0))};n.useEffect(()=>{!r&&a.current&&(a.current=null,u.current&&delete u.current.dataset.dragging),r&&!a.current&&x(0)},[r]);const U=t=>{a.current||(m.current=!1,!(!j||!r)&&(t.pointerType==="mouse"&&(t.button!==0||!I.current?.contains(t.target))||(a.current={pointerId:t.pointerId,x0:t.clientX,y0:t.clientY,dy:0,phase:"pending",samples:[{t:t.timeStamp,y:t.clientY}]})))},V=t=>{const e=a.current;if(!e||t.pointerId!==e.pointerId)return;const o=t.clientX-e.x0,d=t.clientY-e.y0;if(e.phase==="pending"){if(!D.exceedsSheetTapSlop(o,d))return;if(Math.abs(o)>Math.abs(d)){e.phase="ignored";return}e.phase="dragging",m.current=!0;try{t.currentTarget.setPointerCapture(t.pointerId)}catch{}u.current&&(u.current.dataset.dragging="")}e.phase==="dragging"&&(e.dy=d,e.samples.push({t:t.timeStamp,y:t.clientY}),e.samples.length>32&&e.samples.shift(),x(Math.max(0,d)))},X=t=>{const e=a.current;if(!e||t.pointerId!==e.pointerId)return;if(e.phase!=="dragging"){a.current=null;return}e.samples.push({t:t.timeStamp,y:t.clientY});const o=t.clientY-e.y0,d=u.current?.getBoundingClientRect().height??0;F(D.sheetDragOutcome(o,d,D.sheetReleaseVelocity(e.samples)))},$=t=>{const e=a.current;!e||t.pointerId!==e.pointerId||(e.phase==="dragging"?F("stay"):a.current=null)},G=t=>{!m.current||t.detail===0||(m.current=!1,t.preventDefault(),t.stopPropagation())},K={"--rst-sheet-max-width":typeof b=="number"?`${b}px`:b,...q!==null&&{"--rst-sheet-keyboard-cap":`${q}px`}};return s.jsxs(s.Fragment,{children:[s.jsx("span",{ref:R,hidden:!0}),s.jsxs(y.Dialog,{open:r,as:"div",onClose:i,initialFocus:v??E,className:f.cn("rst:font-ui rst:relative rst:z-50 rst:focus:outline-hidden",B&&"dark"),children:[s.jsx(y.DialogBackdrop,{transition:!0,"data-testid":"sheet-backdrop",className:f.cn("rst:fixed rst:inset-0 rst:bg-(--roster-sheet-backdrop)",C?ot:nt)}),s.jsx("div",{className:"rst:fixed rst:inset-0 rst:flex rst:items-end rst:justify-center",children:s.jsx(Q.TransitionChild,{afterLeave:c,children:s.jsxs(y.DialogPanel,{ref:u,style:K,"data-testid":"sheet-panel",className:f.cn("rst:relative rst:flex rst:max-h-[min(92dvh,var(--rst-sheet-keyboard-cap,92dvh))] rst:w-full rst:flex-col","rst:md:max-w-(--rst-sheet-max-width)","rst:rounded-t-2xl rst:border rst:border-b-0 rst:elevation-overlay","rst:bg-[var(--roster-popover-bg)] rst:border-[var(--roster-popover-border)] rst:text-[var(--roster-popover-text)]","rst:[--roster-ring-offset:var(--roster-popover-bg)]","rst:pb-[env(safe-area-inset-bottom)]","rst:translate-y-[var(--rst-sheet-drag,0px)]",C?st:rt,"rst:data-dragging:transition-none",z),children:[s.jsxs("div",{"data-testid":"sheet-drag-zone",className:f.cn("rst:shrink-0",j&&"rst:touch-none"),onPointerDown:U,onPointerMove:V,onPointerUp:X,onPointerCancel:$,onClickCapture:G,children:[s.jsx("div",{ref:I,"aria-hidden":"true","data-testid":"sheet-handle",className:f.cn("rst:flex rst:h-11 rst:items-start rst:justify-center rst:pt-2",j&&"rst:cursor-grab rst:active:cursor-grabbing"),children:s.jsx("span",{className:"rst:h-1 rst:w-10 rst:rounded-full rst:bg-current rst:opacity-30"})}),s.jsxs("div",{className:"rst:-mt-3 rst:flex rst:items-start rst:gap-2 rst:px-5 rst:pb-4",children:[s.jsxs("div",{className:"rst:min-w-0 rst:flex-1 rst:pt-2",children:[s.jsx(y.DialogTitle,{as:"h2",id:P,ref:L,tabIndex:-1,className:f.cn("rst:text-lg rst:font-semibold rst:text-inherit rst:focus:outline-hidden",T&&"rst:sr-only"),children:l}),S&&s.jsx(J.Description,{as:"p",className:"rst:mt-1 rst:text-sm rst:text-inherit rst:opacity-75",children:S})]}),N&&s.jsx("div",{className:"rst:flex rst:h-11 rst:shrink-0 rst:items-center rst:gap-1",children:N}),s.jsx("button",{ref:E,type:"button",onClick:i,"aria-label":"Close",className:"rst:inline-flex rst:size-11 rst:shrink-0 rst:-mr-2 rst:cursor-pointer rst:items-center rst:justify-center rst:rounded-md rst:bg-transparent rst:text-inherit rst:opacity-60 rst:transition-opacity rst:hover:opacity-100 rst:focus:outline-hidden rst:focus-visible:opacity-100 rst:focus-visible:ring-2 rst:focus-visible:ring-ring rst:focus-visible:ring-offset-2 rst:ring-offset-background",children:s.jsx(ut,{})})]})]}),s.jsx("div",{ref:k,role:"region","aria-labelledby":P,tabIndex:0,"data-testid":"sheet-content","aria-busy":p||void 0,className:"rst:min-h-0 rst:flex-1 rst:overflow-y-auto rst:overscroll-contain rst:px-5 rst:pb-4 rst:focus:outline-hidden rst:ring-inset rst:focus-visible:ring-2 rst:focus-visible:ring-ring",children:Y}),s.jsx(ct,{target:_})]})})})]})]})};exports.Sheet=lt;