@trsys-tech/matrix-library 1.1.1-canary.0 → 1.1.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.
@@ -1 +1 @@
1
- {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/Sidebar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/use-mobile.tsx"],"names":[],"mappings":"AAEA,wBAAgB,WAAW,YAe1B"}
1
+ {"version":3,"file":"use-mobile.d.ts","sourceRoot":"","sources":["../../../src/lib/hooks/use-mobile.tsx"],"names":[],"mappings":"AAkBA,wBAAgB,WAAW,YAE1B"}
@@ -9,50 +9,50 @@ import { Separator as E } from "./separator.es.js";
9
9
  import { useIsMobile as B } from "./use-mobile.es.js";
10
10
  import { Tooltip as T, TooltipTrigger as A, TooltipContent as D, TooltipProvider as O } from "./tooltip.es.js";
11
11
  import { Sheet as G, SheetContent as H, SheetHeader as j, SheetTitle as K, SheetDescription as L } from "./sheet.es.js";
12
- const V = "sidebar:state", $ = 3600 * 24 * 7, y = "16rem", _ = "18rem", N = "4rem", P = "b", M = i.createContext(null);
12
+ const V = "sidebar:state", P = 3600 * 24 * 7, y = "16rem", _ = "18rem", N = "4rem", W = "b", k = i.createContext(null);
13
13
  function R() {
14
- const t = i.useContext(M);
14
+ const t = i.useContext(k);
15
15
  if (!t)
16
16
  throw new Error("useSidebar must be used within a SidebarProvider.");
17
17
  return t;
18
18
  }
19
- const W = i.forwardRef(({ defaultOpen: t = !0, open: e, onOpenChange: a, className: m, style: o, children: s, ...n }, x) => {
20
- const p = B(), [f, g] = i.useState(t), l = e ?? f, b = i.useCallback(
19
+ const $ = i.forwardRef(({ defaultOpen: t = !0, open: e, onOpenChange: a, className: m, style: o, children: s, ...n }, p) => {
20
+ const x = B(), [f, g] = i.useState(t), l = e ?? f, b = i.useCallback(
21
21
  (c) => {
22
22
  const u = typeof c == "function" ? c(l) : c;
23
- a ? a(u) : g(u), document.cookie = `${V}=${u}; path=/; max-age=${$}`;
23
+ a ? a(u) : g(u), document.cookie = `${V}=${u}; path=/; max-age=${P}`;
24
24
  },
25
25
  [a, l]
26
26
  ), h = i.useCallback(() => b((c) => !c), [b]);
27
27
  i.useEffect(() => {
28
28
  const c = (u) => {
29
- u.key === P && (u.metaKey || u.ctrlKey) && (u.preventDefault(), h());
29
+ u.key === W && (u.metaKey || u.ctrlKey) && (u.preventDefault(), h());
30
30
  };
31
31
  return window.addEventListener("keydown", c), () => window.removeEventListener("keydown", c);
32
32
  }, [h]);
33
- const S = l ? "expanded" : "collapsed", k = i.useMemo(
33
+ const S = l ? "expanded" : "collapsed", M = i.useMemo(
34
34
  () => ({
35
35
  state: S,
36
36
  open: l,
37
37
  setOpen: b,
38
- isMobile: p,
38
+ isMobile: x,
39
39
  toggleSidebar: h
40
40
  }),
41
- [S, l, b, p, h]
41
+ [S, l, b, x, h]
42
42
  );
43
- return /* @__PURE__ */ r(M.Provider, { value: k, children: /* @__PURE__ */ r(O, { delayDuration: 0, children: /* @__PURE__ */ r(
43
+ return /* @__PURE__ */ r(k.Provider, { value: M, children: /* @__PURE__ */ r(O, { delayDuration: 0, children: /* @__PURE__ */ r(
44
44
  "div",
45
45
  {
46
46
  style: { ...o },
47
47
  className: d("mtx-group/sidebar-wrapper mtx-flex mtx-h-full mtx-w-full has-[[data-variant=inset]]:mtx-bg-gray-50", m),
48
- ref: x,
48
+ ref: p,
49
49
  ...n,
50
50
  children: s
51
51
  }
52
52
  ) }) });
53
53
  });
54
- W.displayName = "SidebarProvider";
55
- const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible: a = "offcanvas", className: m, children: o, width: s, widthIcon: n, widthMobile: x, style: p, ...f }, g) => {
54
+ $.displayName = "SidebarProvider";
55
+ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible: a = "offcanvas", className: m, children: o, width: s, widthIcon: n, widthMobile: p, style: x, ...f }, g) => {
56
56
  const { isMobile: l, state: b, open: h, setOpen: S } = R();
57
57
  return a === "none" ? /* @__PURE__ */ r(
58
58
  "div",
@@ -66,7 +66,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
66
66
  "--sidebar-right-width": s ?? y,
67
67
  "--sidebar-right-width-icon": n ?? N
68
68
  },
69
- ...p
69
+ ...x
70
70
  },
71
71
  className: d(
72
72
  "mtx-flex mtx-h-full data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-flex-col mtx-bg-gray-50",
@@ -85,9 +85,9 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
85
85
  className: "data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-gray-50 mtx-p-0 [&>button]:mtx-hidden",
86
86
  style: {
87
87
  ...t === "left" ? {
88
- "--sidebar-left-width": x ?? _
88
+ "--sidebar-left-width": p ?? _
89
89
  } : {
90
- "--sidebar-right-width": x ?? _
90
+ "--sidebar-right-width": p ?? _
91
91
  }
92
92
  },
93
93
  side: t,
@@ -116,7 +116,7 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
116
116
  "--sidebar-right-width": s ?? y,
117
117
  "--sidebar-right-width-icon": n ?? N
118
118
  },
119
- ...p
119
+ ...x
120
120
  },
121
121
  children: [
122
122
  /* @__PURE__ */ r(
@@ -158,11 +158,12 @@ const q = i.forwardRef(({ side: t = "left", variant: e = "sidebar", collapsible:
158
158
  q.displayName = "Sidebar";
159
159
  const F = i.forwardRef(
160
160
  ({ className: t, onClick: e, asChild: a, ...m }, o) => {
161
- const { toggleSidebar: s } = R();
161
+ const { toggleSidebar: s, state: n } = R();
162
162
  return /* @__PURE__ */ r(
163
163
  a ? w : "button",
164
164
  {
165
165
  ref: o,
166
+ "data-state": n,
166
167
  "data-sidebar": "trigger",
167
168
  className: d("mtx-h-7 mtx-w-7", t),
168
169
  onClick: (x) => {
@@ -298,11 +299,11 @@ const mt = z({
298
299
  variant: "default",
299
300
  size: "default"
300
301
  }
301
- }), ot = i.forwardRef(({ asChild: t = !1, isActive: e = !1, variant: a = "default", size: m = "default", tooltip: o, className: s, ...n }, x) => {
302
- const p = t ? w : "button", { isMobile: f, state: g } = R(), l = /* @__PURE__ */ r(
303
- p,
302
+ }), ot = i.forwardRef(({ asChild: t = !1, isActive: e = !1, variant: a = "default", size: m = "default", tooltip: o, className: s, ...n }, p) => {
303
+ const x = t ? w : "button", { isMobile: f, state: g } = R(), l = /* @__PURE__ */ r(
304
+ x,
304
305
  {
305
- ref: x,
306
+ ref: p,
306
307
  "data-sidebar": "menu-button",
307
308
  "data-size": m,
308
309
  "data-active": e,
@@ -355,31 +356,28 @@ const nt = i.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ r(
355
356
  }
356
357
  ));
357
358
  nt.displayName = "SidebarMenuBadge";
358
- const lt = i.forwardRef(({ className: t, showIcon: e = !1, ...a }, m) => {
359
- const o = i.useMemo(() => `${Math.floor(Math.random() * 40) + 50}%`, []);
360
- return /* @__PURE__ */ v(
361
- "div",
362
- {
363
- ref: m,
364
- "data-sidebar": "menu-skeleton",
365
- className: d("mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center", t),
366
- ...a,
367
- children: [
368
- e && /* @__PURE__ */ r(C, { className: "mtx-size-4 mtx-rounded-md", "data-sidebar": "menu-skeleton-icon" }),
369
- /* @__PURE__ */ r(
370
- C,
371
- {
372
- className: "mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]",
373
- "data-sidebar": "menu-skeleton-text",
374
- style: {
375
- "--skeleton-width": o
376
- }
359
+ const lt = i.forwardRef(({ className: t, showIcon: e = !1, ...a }, m) => /* @__PURE__ */ v(
360
+ "div",
361
+ {
362
+ ref: m,
363
+ "data-sidebar": "menu-skeleton",
364
+ className: d("mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center", t),
365
+ ...a,
366
+ children: [
367
+ e && /* @__PURE__ */ r(C, { className: "mtx-size-4 mtx-rounded-md", "data-sidebar": "menu-skeleton-icon" }),
368
+ /* @__PURE__ */ r(
369
+ C,
370
+ {
371
+ className: "mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]",
372
+ "data-sidebar": "menu-skeleton-text",
373
+ style: {
374
+ "--skeleton-width": "70%"
377
375
  }
378
- )
379
- ]
380
- }
381
- );
382
- });
376
+ }
377
+ )
378
+ ]
379
+ }
380
+ ));
383
381
  lt.displayName = "SidebarMenuSkeleton";
384
382
  const xt = i.forwardRef(({ className: t, ...e }, a) => /* @__PURE__ */ r(
385
383
  "ul",
@@ -431,7 +429,7 @@ export {
431
429
  xt as SidebarMenuSub,
432
430
  ut as SidebarMenuSubButton,
433
431
  ct as SidebarMenuSubItem,
434
- W as SidebarProvider,
432
+ $ as SidebarProvider,
435
433
  U as SidebarRail,
436
434
  Q as SidebarSeparator,
437
435
  F as SidebarTrigger,
@@ -1 +1 @@
1
- {"version":3,"file":"sidebar.es.js","sources":["../src/components/sidebar/Sidebar.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { VariantProps, tv } from \"tailwind-variants\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Skeleton } from \"../skeleton/Skeleton\";\r\nimport { Separator } from \"../separator/Separator\";\r\nimport { useIsMobile } from \"../../lib/hooks/use-mobile\";\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip/Tooltip\";\r\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"../sheet/Sheet\";\r\n\r\nconst SIDEBAR_COOKIE_NAME = \"sidebar:state\";\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\r\nconst SIDEBAR_WIDTH = \"16rem\";\r\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\r\nconst SIDEBAR_WIDTH_ICON = \"4rem\";\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\r\n\r\ntype SidebarContext = {\r\n state: \"expanded\" | \"collapsed\";\r\n open: boolean;\r\n setOpen: (open: boolean) => void;\r\n isMobile: boolean;\r\n toggleSidebar: () => void;\r\n};\r\n\r\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\r\n\r\nfunction useSidebar() {\r\n const context = React.useContext(SidebarContext);\r\n if (!context) {\r\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\nconst SidebarProvider = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n defaultOpen?: boolean;\r\n open?: boolean;\r\n onOpenChange?: (open: boolean) => void;\r\n }\r\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\r\n const isMobile = useIsMobile();\r\n\r\n // This is the internal state of the sidebar.\r\n // We use openProp and setOpenProp for control from outside the component.\r\n const [_open, _setOpen] = React.useState(defaultOpen);\r\n const open = openProp ?? _open;\r\n const setOpen = React.useCallback(\r\n (value: boolean | ((value: boolean) => boolean)) => {\r\n const openState = typeof value === \"function\" ? value(open) : value;\r\n if (setOpenProp) {\r\n setOpenProp(openState);\r\n } else {\r\n _setOpen(openState);\r\n }\r\n\r\n // This sets the cookie to keep the sidebar state.\r\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\r\n },\r\n [setOpenProp, open],\r\n );\r\n\r\n // Helper to toggle the sidebar.\r\n const toggleSidebar = React.useCallback(() => {\r\n return setOpen(open => !open);\r\n }, [setOpen]);\r\n\r\n // Adds a keyboard shortcut to toggle the sidebar.\r\n React.useEffect(() => {\r\n const handleKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\r\n event.preventDefault();\r\n toggleSidebar();\r\n }\r\n };\r\n\r\n window.addEventListener(\"keydown\", handleKeyDown);\r\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\r\n }, [toggleSidebar]);\r\n\r\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n // This makes it easier to style the sidebar with Tailwind classes.\r\n const state = open ? \"expanded\" : \"collapsed\";\r\n\r\n const contextValue = React.useMemo<SidebarContext>(\r\n () => ({\r\n state,\r\n open,\r\n setOpen,\r\n isMobile,\r\n toggleSidebar,\r\n }),\r\n [state, open, setOpen, isMobile, toggleSidebar],\r\n );\r\n\r\n return (\r\n <SidebarContext.Provider value={contextValue}>\r\n <TooltipProvider delayDuration={0}>\r\n <div\r\n style={{ ...style } as React.CSSProperties}\r\n className={cn(\"mtx-group/sidebar-wrapper mtx-flex mtx-h-full mtx-w-full has-[[data-variant=inset]]:mtx-bg-gray-50\", className)}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </TooltipProvider>\r\n </SidebarContext.Provider>\r\n );\r\n});\r\nSidebarProvider.displayName = \"SidebarProvider\";\r\ntype SidebarProviderProps = React.ComponentProps<typeof SidebarProvider>;\r\n\r\nconst Sidebar = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n side?: \"left\" | \"right\";\r\n variant?: \"sidebar\" | \"floating\" | \"inset\";\r\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\r\n width?: string;\r\n widthIcon?: string;\r\n widthMobile?: string;\r\n }\r\n>(({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children, width, widthIcon, widthMobile, style, ...props }, ref) => {\r\n const { isMobile, state, open, setOpen } = useSidebar();\r\n\r\n if (collapsible === \"none\") {\r\n return (\r\n <div\r\n data-side={side}\r\n style={\r\n {\r\n ...(side === \"left\"\r\n ? {\r\n \"--sidebar-left-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-left-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }\r\n : {\r\n \"--sidebar-right-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-right-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }),\r\n ...style,\r\n } as React.CSSProperties\r\n }\r\n className={cn(\r\n \"mtx-flex mtx-h-full data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-flex-col mtx-bg-gray-50\",\r\n className,\r\n )}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n );\r\n }\r\n\r\n if (isMobile) {\r\n return (\r\n <Sheet open={open} onOpenChange={setOpen} {...props}>\r\n <SheetContent\r\n data-sidebar=\"sidebar\"\r\n data-mobile=\"true\"\r\n data-side={side}\r\n className=\"data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-gray-50 mtx-p-0 [&>button]:mtx-hidden\"\r\n style={\r\n {\r\n ...(side === \"left\"\r\n ? {\r\n \"--sidebar-left-width\": widthMobile ?? SIDEBAR_WIDTH_MOBILE,\r\n }\r\n : {\r\n \"--sidebar-right-width\": widthMobile ?? SIDEBAR_WIDTH_MOBILE,\r\n }),\r\n } as React.CSSProperties\r\n }\r\n side={side}\r\n >\r\n <VisuallyHidden>\r\n <SheetHeader>\r\n <SheetTitle> </SheetTitle>\r\n <SheetDescription> </SheetDescription>\r\n </SheetHeader>\r\n </VisuallyHidden>\r\n <div className=\"mtx-flex mtx-h-full mtx-w-full mtx-flex-col\">{children}</div>\r\n </SheetContent>\r\n </Sheet>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"mtx-group mtx-peer mtx-hidden md:mtx-block mtx-relative\"\r\n data-state={state}\r\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\r\n data-variant={variant}\r\n data-side={side}\r\n style={\r\n {\r\n ...(side === \"left\"\r\n ? {\r\n \"--sidebar-left-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-left-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }\r\n : {\r\n \"--sidebar-right-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-right-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }),\r\n ...style,\r\n } as React.CSSProperties\r\n }\r\n >\r\n {/* This is what handles the sidebar gap on desktop */}\r\n <div\r\n className={cn(\r\n \"mtx-duration-200 mtx-relative mtx-h-full group-data-[side=left]:mtx-w-[--sidebar-left-width] group-data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-transparent mtx-transition-[width] mtx-ease-linear\",\r\n \"group-data-[side=left]:group-data-[collapsible=offcanvas]:mtx-w-0 group-data-[side=right]:group-data-[collapsible=offcanvas]:mtx-w-0\",\r\n \"group-data-[side=right]:mtx-rotate-180\",\r\n variant === \"floating\" || variant === \"inset\"\r\n ? \"group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-left-width-icon)_+_theme(spacing.4))] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-right-width-icon)_+_theme(spacing.4))]\"\r\n : \"group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[--sidebar-left-width-icon] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[--sidebar-right-width-icon]\",\r\n )}\r\n />\r\n <div\r\n className={cn(\r\n \"mtx-duration-200 mtx-absolute mtx-inset-y-0 mtx-z-10 mtx-hidden mtx-h-full group-data-[side=left]:mtx-w-[--sidebar-left-width] group-data-[side=right]:mtx-w-[--sidebar-right-width] mtx-transition-[left,right,width] mtx-ease-linear md:mtx-flex\",\r\n side === \"left\"\r\n ? \"mtx-left-0 group-data-[collapsible=offcanvas]:mtx-left-[calc(var(--sidebar-left-width)*-1)]\"\r\n : \"mtx-right-0 group-data-[collapsible=offcanvas]:mtx-right-[calc(var(--sidebar-right-width)*-1)]\",\r\n // Adjust the padding for floating and inset variants.\r\n variant === \"floating\" || variant === \"inset\"\r\n ? \"mtx-p-2 group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-left-width-icon)_+_theme(spacing.4)_+2px)] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-right-width-icon)_+_theme(spacing.4)_+2px)]\"\r\n : \"group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[--sidebar-left-width-icon] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[--sidebar-right-width-icon] group-data-[side=left]:mtx-border-r group-data-[side=right]:mtx-border-l\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n <div\r\n data-sidebar=\"sidebar\"\r\n className=\"mtx-flex mtx-h-full mtx-w-full mtx-flex-col mtx-bg-gray-50 group-data-[variant=floating]:mtx-rounded-lg group-data-[variant=floating]:mtx-border group-data-[variant=floating]:mtx-shadow\"\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n});\r\nSidebar.displayName = \"Sidebar\";\r\ntype SidebarProps = React.ComponentProps<typeof Sidebar>;\r\n\r\nconst SidebarTrigger = React.forwardRef<React.ElementRef<\"button\">, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\r\n ({ className, onClick, asChild, ...props }, ref) => {\r\n const { toggleSidebar } = useSidebar();\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"trigger\"\r\n className={cn(\"mtx-h-7 mtx-w-7\", className)}\r\n onClick={event => {\r\n onClick?.(event);\r\n toggleSidebar();\r\n }}\r\n {...props}\r\n />\r\n );\r\n },\r\n);\r\nSidebarTrigger.displayName = \"SidebarTrigger\";\r\ntype SidebarTriggerProps = React.ComponentProps<typeof SidebarTrigger>;\r\n\r\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\">>(({ className, ...props }, ref) => {\r\n const { toggleSidebar } = useSidebar();\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n data-sidebar=\"rail\"\r\n aria-label=\"Toggle Sidebar\"\r\n tabIndex={-1}\r\n onClick={toggleSidebar}\r\n title=\"Toggle Sidebar\"\r\n className={cn(\r\n \"mtx-absolute mtx-inset-y-0 mtx-z-20 mtx-hidden mtx-w-4 -mtx-translate-x-1/2 mtx-transition-all mtx-ease-linear after:mtx-absolute after:mtx-inset-y-0 after:mtx-left-1/2 after:mtx-w-[2px] hover:after:mtx-bg-gray-50-border group-data-[side=left]:-mtx-right-4 group-data-[side=right]:mtx-left-0 sm:mtx-flex\",\r\n \"[[data-side=left]_&]:mtx-cursor-w-resize [[data-side=right]_&]:mtx-cursor-e-resize\",\r\n \"[[data-side=left][data-state=collapsed]_&]:mtx-cursor-e-resize [[data-side=right][data-state=collapsed]_&]:mtx-cursor-w-resize\",\r\n \"group-data-[collapsible=offcanvas]:mtx-translate-x-0 group-data-[collapsible=offcanvas]:after:mtx-left-full group-data-[collapsible=offcanvas]:hover:mtx-bg-gray-50\",\r\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-mtx-right-2\",\r\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-mtx-left-2\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarRail.displayName = \"SidebarRail\";\r\ntype SidebarRailProps = React.ComponentProps<typeof SidebarRail>;\r\n\r\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<\"main\">>(({ className, ...props }, ref) => {\r\n return (\r\n <main\r\n ref={ref}\r\n className={cn(\r\n \"mtx-relative mtx-flex mtx-h-full mtx-flex-1 mtx-flex-col mtx-bg-background\",\r\n \"peer-data-[variant=inset]:mtx-min-h-[calc(100%-theme(spacing.4))] md:peer-data-[variant=inset]:mtx-m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:mtx-ml-2 md:peer-data-[variant=inset]:mtx-ml-0 md:peer-data-[variant=inset]:mtx-rounded-xl md:peer-data-[variant=inset]:mtx-shadow\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarInset.displayName = \"SidebarInset\";\r\ntype SidebarInsetProps = React.ComponentProps<typeof SidebarInset>;\r\n\r\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return <div ref={ref} data-sidebar=\"header\" className={cn(\"mtx-flex mtx-flex-col mtx-gap-2 mtx-p-2\", className)} {...props} />;\r\n});\r\nSidebarHeader.displayName = \"SidebarHeader\";\r\ntype SidebarHeaderProps = React.ComponentProps<typeof SidebarHeader>;\r\n\r\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return <div ref={ref} data-sidebar=\"footer\" className={cn(\"mtx-flex mtx-flex-col mtx-gap-2 mtx-p-2\", className)} {...props} />;\r\n});\r\nSidebarFooter.displayName = \"SidebarFooter\";\r\ntype SidebarFooterProps = React.ComponentProps<typeof SidebarFooter>;\r\n\r\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\r\n ({ className, ...props }, ref) => {\r\n return <Separator ref={ref} data-sidebar=\"separator\" className={cn(\"mtx-mx-2 mtx-w-auto mtx-bg-gray-50-border\", className)} {...props} />;\r\n },\r\n);\r\nSidebarSeparator.displayName = \"SidebarSeparator\";\r\ntype SidebarSeparatorProps = React.ComponentProps<typeof SidebarSeparator>;\r\n\r\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"content\"\r\n className={cn(\r\n \"mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col mtx-gap-2 mtx-overflow-auto group-data-[collapsible=icon]:mtx-overflow-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarContent.displayName = \"SidebarContent\";\r\ntype SidebarContentProps = React.ComponentProps<typeof SidebarContent>;\r\n\r\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return (\r\n <div ref={ref} data-sidebar=\"group\" className={cn(\"mtx-relative mtx-flex mtx-w-full mtx-min-w-0 mtx-flex-col mtx-py-2\", className)} {...props} />\r\n );\r\n});\r\nSidebarGroup.displayName = \"SidebarGroup\";\r\ntype SidebarGroupProps = React.ComponentProps<typeof SidebarGroup>;\r\n\r\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\"> & { asChild?: boolean }>(\r\n ({ className, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"div\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"group-label\"\r\n className={cn(\r\n \"mtx-duration-200 mtx-flex mtx-h-8 mtx-shrink-0 mtx-items-center mtx-rounded-md mtx-px-2 mtx-text-xs mtx-font-medium mtx-outline-none mtx-transition-[margin,opacity] mtx-ease-linear focus-visible:mtx-ring-2 [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n \"group-data-[collapsible=icon]:-mtx-mt-8 group-data-[collapsible=icon]:mtx-opacity-0\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n },\r\n);\r\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\r\ntype SidebarGroupLabelProps = React.ComponentProps<typeof SidebarGroupLabel>;\r\n\r\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\r\n ({ className, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"group-action\"\r\n className={cn(\r\n \"mtx-absolute mtx-right-3 mtx-top-3.5 mtx-flex mtx-aspect-square mtx-w-5 mtx-items-center mtx-justify-center mtx-rounded-md mtx-p-0 mtx-outline-none mtx-transition-transform hover:mtx-bg-gray-50-accent focus-visible:mtx-ring-2 [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n // Increases the hit area of the button on mobile.\r\n \"after:mtx-absolute after:-mtx-inset-2 after:md:mtx-hidden\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n },\r\n);\r\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\r\ntype SidebarGroupActionProps = React.ComponentProps<typeof SidebarGroupAction>;\r\n\r\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => (\r\n <div ref={ref} data-sidebar=\"group-content\" className={cn(\"mtx-w-full mtx-text-sm\", className)} {...props} />\r\n));\r\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\r\ntype SidebarGroupContentProps = React.ComponentProps<typeof SidebarGroupContent>;\r\n\r\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\r\n <ul ref={ref} data-sidebar=\"menu\" className={cn(\"mtx-flex mtx-w-full mtx-min-w-0 mtx-flex-col mtx-gap-4\", className)} {...props} />\r\n));\r\nSidebarMenu.displayName = \"SidebarMenu\";\r\ntype SidebarMenuProps = React.ComponentProps<typeof SidebarMenu>;\r\n\r\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ className, ...props }, ref) => (\r\n <li ref={ref} data-sidebar=\"menu-item\" className={cn(\"mtx-group/menu-item mtx-relative mtx-ps-2\", className)} {...props} />\r\n));\r\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\r\ntype SidebarMenuItemProps = React.ComponentProps<typeof SidebarMenuItem>;\r\n\r\nconst sidebarMenuButtonVariants = tv({\r\n base: [\r\n \"mtx-peer/menu-button mtx-flex mtx-w-full mtx-items-center mtx-gap-2 mtx-overflow-hidden mtx-rounded-s-md mtx-rounded-e-none mtx-p-2 mtx-text-left mtx-text-sm mtx-text-text-400 mtx-font-medium mtx-outline-none mtx-transition-[width,height,padding] hover:mtx-bg-gray-50 disabled:mtx-pointer-events-none disabled:mtx-opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:mtx-pr-8 aria-disabled:mtx-pointer-events-none aria-disabled:mtx-opacity-50\",\r\n \"data-[active=true]:mtx-bg-primary data-[active=true]:mtx-text-gray-0 data-[active=true]:mtx-font-bold group-data-[collapsible=icon]:mtx-size-10 group-data-[collapsible=icon]:mtx-w-14 group-data-[collapsible=icon]:mtx-p-2 group-data-[collapsible=icon]:mtx-pl-4 [&>span:last-child]:mtx-truncate\",\r\n \"[&>svg]:mtx-size-6 [&>svg]:mtx-shrink-0 [&>svg]:data-[active=true]:mtx-text-secondary group-data-[collapsible=icon]:[&>svg]:mtx-me-2\",\r\n \"data-[active=true]:before:mtx-[content:''] data-[active=true]:before:mtx-absolute data-[active=true]:before:mtx-start-0 data-[active=true]:before:mtx-h-10 data-[active=true]:before:mtx-w-1 data-[active=true]:before:mtx-bg-secondary data-[active=true]:before:mtx-rounded-e-md\",\r\n \"mtx-overflow-ellipsis mtx-whitespace-nowrap\",\r\n ].join(\" \"),\r\n variants: {\r\n variant: {\r\n default: \"hover:mtx-bg-gray-50\",\r\n outline: \"mtx-bg-background mtx-shadow-[oklch(var(--gray--300))] hover:mtx-bg-gray-50 hover:mtx-shadow-[oklch(var(--gray-400))]\",\r\n },\r\n size: {\r\n default: \"mtx-h-10 mtx-text-sm\",\r\n sm: \"mtx-h-7 mtx-text-xs\",\r\n lg: \"mtx-h-12 mtx-text-sm group-data-[collapsible=icon]:mtx-!p-0\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"default\",\r\n },\r\n});\r\n\r\nconst SidebarMenuButton = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\"> & {\r\n asChild?: boolean;\r\n isActive?: boolean;\r\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\r\n } & VariantProps<typeof sidebarMenuButtonVariants>\r\n>(({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n const { isMobile, state } = useSidebar();\r\n\r\n const button = (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\r\n {...props}\r\n />\r\n );\r\n\r\n if (!tooltip) {\r\n return button;\r\n }\r\n\r\n if (typeof tooltip === \"string\") {\r\n tooltip = {\r\n children: tooltip,\r\n };\r\n }\r\n\r\n return (\r\n <Tooltip>\r\n <TooltipTrigger asChild>{button}</TooltipTrigger>\r\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== \"collapsed\" || isMobile} {...tooltip} />\r\n </Tooltip>\r\n );\r\n});\r\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\r\ntype SidebarMenuButtonProps = React.ComponentProps<typeof SidebarMenuButton>;\r\n\r\nconst SidebarMenuAction = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\"> & {\r\n asChild?: boolean;\r\n showOnHover?: boolean;\r\n }\r\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-action\"\r\n className={cn(\r\n \"mtx-absolute mtx-right-1 mtx-top-1.5 mtx-flex mtx-aspect-square mtx-w-5 mtx-items-center mtx-justify-center mtx-rounded-md mtx-p-0 mtx-outline-none mtx-transition-transform hover:mtx-bg-gray-50-accent focus-visible:mtx-ring-2 [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n // Increases the hit area of the button on mobile.\r\n \"after:mtx-absolute after:-mtx-inset-2 after:md:mtx-hidden\",\r\n \"peer-data-[size=sm]/menu-button:mtx-top-1\",\r\n \"peer-data-[size=default]/menu-button:mtx-top-1.5\",\r\n \"peer-data-[size=lg]/menu-button:mtx-top-2.5\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n showOnHover &&\r\n \"group-focus-within/menu-item:mtx-opacity-100 group-hover/menu-item:mtx-opacity-100 data-[state=open]:mtx-opacity-100 md:mtx-opacity-0\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\r\ntype SidebarMenuActionProps = React.ComponentProps<typeof SidebarMenuAction>;\r\n\r\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"menu-badge\"\r\n className={cn(\r\n \"mtx-absolute mtx-right-1 mtx-flex mtx-h-5 mtx-min-w-5 mtx-items-center mtx-justify-center mtx-rounded-md mtx-px-1 mtx-text-xs mtx-font-medium mtx-tabular-nums mtx-select-none mtx-pointer-events-none\",\r\n \"peer-data-[size=sm]/menu-button:mtx-top-1\",\r\n \"peer-data-[size=default]/menu-button:mtx-top-1.5\",\r\n \"peer-data-[size=lg]/menu-button:mtx-top-2.5\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n));\r\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\r\ntype SidebarMenuBadgeProps = React.ComponentProps<typeof SidebarMenuBadge>;\r\n\r\nconst SidebarMenuSkeleton = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n showIcon?: boolean;\r\n }\r\n>(({ className, showIcon = false, ...props }, ref) => {\r\n // Random width between 50 to 90%.\r\n const width = React.useMemo(() => {\r\n return `${Math.floor(Math.random() * 40) + 50}%`;\r\n }, []);\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"menu-skeleton\"\r\n className={cn(\"mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center\", className)}\r\n {...props}\r\n >\r\n {showIcon && <Skeleton className=\"mtx-size-4 mtx-rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\r\n <Skeleton\r\n className=\"mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]\"\r\n data-sidebar=\"menu-skeleton-text\"\r\n style={\r\n {\r\n \"--skeleton-width\": width,\r\n } as React.CSSProperties\r\n }\r\n />\r\n </div>\r\n );\r\n});\r\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\r\ntype SidebarMenuSkeletonProps = React.ComponentProps<typeof SidebarMenuSkeleton>;\r\n\r\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\r\n <ul\r\n ref={ref}\r\n data-sidebar=\"menu-sub\"\r\n className={cn(\"mtx-flex mtx-min-w-0 mtx-translate-x-px mtx-flex-col mtx-gap-1\", \"group-data-[collapsible=icon]:mtx-hidden\", className)}\r\n {...props}\r\n />\r\n));\r\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\r\ntype SidebarMenuSubProps = React.ComponentProps<typeof SidebarMenuSub>;\r\n\r\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ ...props }, ref) => <li ref={ref} {...props} />);\r\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\r\ntype SidebarMenuSubItemProps = React.ComponentProps<typeof SidebarMenuSubItem>;\r\n\r\nconst SidebarMenuSubButton = React.forwardRef<\r\n HTMLAnchorElement,\r\n React.ComponentProps<\"a\"> & {\r\n asChild?: boolean;\r\n size?: \"sm\" | \"md\";\r\n isActive?: boolean;\r\n }\r\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"a\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-sub-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(\r\n \"mtx-flex mtx-h-10 mtx-min-w-0 -mtx-translate-x-px mtx-items-center mtx-gap-2 mtx-overflow-hidden mtx-rounded-s-md mtx-ps-10 mtx-text-sm mtx-text-text-400 mtx-font-medium mtx-outline-none hover:mtx-bg-gray-50 disabled:mtx-pointer-events-none disabled:mtx-opacity-50 aria-disabled:mtx-pointer-events-none aria-disabled:mtx-opacity-50 [&>span:last-child]:mtx-truncate [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n \"data-[active=true]:mtx-bg-gray-100 data-[active=true]:mtx-text-text\",\r\n size === \"sm\" && \"mtx-text-xs\",\r\n size === \"md\" && \"mtx-text-sm\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\r\ntype SidebarMenuSubButtonProps = React.ComponentProps<typeof SidebarMenuSubButton>;\r\n\r\nexport {\r\n Sidebar,\r\n SidebarContent,\r\n SidebarFooter,\r\n SidebarGroup,\r\n SidebarGroupAction,\r\n SidebarGroupContent,\r\n SidebarGroupLabel,\r\n SidebarHeader,\r\n SidebarInset,\r\n SidebarMenu,\r\n SidebarMenuAction,\r\n SidebarMenuBadge,\r\n SidebarMenuButton,\r\n SidebarMenuItem,\r\n SidebarMenuSkeleton,\r\n SidebarMenuSub,\r\n SidebarMenuSubButton,\r\n SidebarMenuSubItem,\r\n SidebarProvider,\r\n SidebarRail,\r\n SidebarSeparator,\r\n SidebarTrigger,\r\n useSidebar,\r\n type SidebarProps,\r\n type SidebarContentProps,\r\n type SidebarFooterProps,\r\n type SidebarGroupProps,\r\n type SidebarGroupActionProps,\r\n type SidebarGroupContentProps,\r\n type SidebarGroupLabelProps,\r\n type SidebarHeaderProps,\r\n type SidebarInsetProps,\r\n type SidebarMenuProps,\r\n type SidebarMenuActionProps,\r\n type SidebarMenuBadgeProps,\r\n type SidebarMenuButtonProps,\r\n type SidebarMenuItemProps,\r\n type SidebarMenuSkeletonProps,\r\n type SidebarMenuSubProps,\r\n type SidebarMenuSubButtonProps,\r\n type SidebarMenuSubItemProps,\r\n type SidebarProviderProps,\r\n type SidebarRailProps,\r\n type SidebarSeparatorProps,\r\n type SidebarTriggerProps,\r\n};\r\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","width","widthIcon","widthMobile","Sheet","jsxs","SheetContent","VisuallyHidden","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","asChild","Slot","SidebarRail","SidebarInset","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","tv","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
1
+ {"version":3,"file":"sidebar.es.js","sources":["../src/components/sidebar/Sidebar.tsx"],"sourcesContent":["\"use client\";\r\n\r\nimport * as React from \"react\";\r\nimport { Slot } from \"@radix-ui/react-slot\";\r\nimport { VariantProps, tv } from \"tailwind-variants\";\r\nimport { VisuallyHidden } from \"@radix-ui/react-visually-hidden\";\r\n\r\nimport { cn } from \"../../lib/utils\";\r\nimport { Skeleton } from \"../skeleton/Skeleton\";\r\nimport { Separator } from \"../separator/Separator\";\r\nimport { useIsMobile } from \"../../lib/hooks/use-mobile\";\r\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from \"../tooltip/Tooltip\";\r\nimport { Sheet, SheetContent, SheetDescription, SheetHeader, SheetTitle } from \"../sheet/Sheet\";\r\n\r\nconst SIDEBAR_COOKIE_NAME = \"sidebar:state\";\r\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\r\nconst SIDEBAR_WIDTH = \"16rem\";\r\nconst SIDEBAR_WIDTH_MOBILE = \"18rem\";\r\nconst SIDEBAR_WIDTH_ICON = \"4rem\";\r\nconst SIDEBAR_KEYBOARD_SHORTCUT = \"b\";\r\n\r\ntype SidebarContext = {\r\n state: \"expanded\" | \"collapsed\";\r\n open: boolean;\r\n setOpen: (open: boolean) => void;\r\n isMobile: boolean;\r\n toggleSidebar: () => void;\r\n};\r\n\r\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\r\n\r\nfunction useSidebar() {\r\n const context = React.useContext(SidebarContext);\r\n if (!context) {\r\n throw new Error(\"useSidebar must be used within a SidebarProvider.\");\r\n }\r\n\r\n return context;\r\n}\r\n\r\nconst SidebarProvider = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n defaultOpen?: boolean;\r\n open?: boolean;\r\n onOpenChange?: (open: boolean) => void;\r\n }\r\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\r\n const isMobile = useIsMobile();\r\n\r\n // This is the internal state of the sidebar.\r\n // We use openProp and setOpenProp for control from outside the component.\r\n const [_open, _setOpen] = React.useState(defaultOpen);\r\n const open = openProp ?? _open;\r\n const setOpen = React.useCallback(\r\n (value: boolean | ((value: boolean) => boolean)) => {\r\n const openState = typeof value === \"function\" ? value(open) : value;\r\n if (setOpenProp) {\r\n setOpenProp(openState);\r\n } else {\r\n _setOpen(openState);\r\n }\r\n\r\n // This sets the cookie to keep the sidebar state.\r\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\r\n },\r\n [setOpenProp, open],\r\n );\r\n\r\n // Helper to toggle the sidebar.\r\n const toggleSidebar = React.useCallback(() => {\r\n return setOpen(open => !open);\r\n }, [setOpen]);\r\n\r\n // Adds a keyboard shortcut to toggle the sidebar.\r\n React.useEffect(() => {\r\n const handleKeyDown = (event: KeyboardEvent) => {\r\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\r\n event.preventDefault();\r\n toggleSidebar();\r\n }\r\n };\r\n\r\n window.addEventListener(\"keydown\", handleKeyDown);\r\n return () => window.removeEventListener(\"keydown\", handleKeyDown);\r\n }, [toggleSidebar]);\r\n\r\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\r\n // This makes it easier to style the sidebar with Tailwind classes.\r\n const state = open ? \"expanded\" : \"collapsed\";\r\n\r\n const contextValue = React.useMemo<SidebarContext>(\r\n () => ({\r\n state,\r\n open,\r\n setOpen,\r\n isMobile,\r\n toggleSidebar,\r\n }),\r\n [state, open, setOpen, isMobile, toggleSidebar],\r\n );\r\n\r\n return (\r\n <SidebarContext.Provider value={contextValue}>\r\n <TooltipProvider delayDuration={0}>\r\n <div\r\n style={{ ...style } as React.CSSProperties}\r\n className={cn(\"mtx-group/sidebar-wrapper mtx-flex mtx-h-full mtx-w-full has-[[data-variant=inset]]:mtx-bg-gray-50\", className)}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n </TooltipProvider>\r\n </SidebarContext.Provider>\r\n );\r\n});\r\nSidebarProvider.displayName = \"SidebarProvider\";\r\ntype SidebarProviderProps = React.ComponentProps<typeof SidebarProvider>;\r\n\r\nconst Sidebar = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n side?: \"left\" | \"right\";\r\n variant?: \"sidebar\" | \"floating\" | \"inset\";\r\n collapsible?: \"offcanvas\" | \"icon\" | \"none\";\r\n width?: string;\r\n widthIcon?: string;\r\n widthMobile?: string;\r\n }\r\n>(({ side = \"left\", variant = \"sidebar\", collapsible = \"offcanvas\", className, children, width, widthIcon, widthMobile, style, ...props }, ref) => {\r\n const { isMobile, state, open, setOpen } = useSidebar();\r\n\r\n if (collapsible === \"none\") {\r\n return (\r\n <div\r\n data-side={side}\r\n style={\r\n {\r\n ...(side === \"left\"\r\n ? {\r\n \"--sidebar-left-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-left-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }\r\n : {\r\n \"--sidebar-right-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-right-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }),\r\n ...style,\r\n } as React.CSSProperties\r\n }\r\n className={cn(\r\n \"mtx-flex mtx-h-full data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-flex-col mtx-bg-gray-50\",\r\n className,\r\n )}\r\n ref={ref}\r\n {...props}\r\n >\r\n {children}\r\n </div>\r\n );\r\n }\r\n\r\n if (isMobile) {\r\n return (\r\n <Sheet open={open} onOpenChange={setOpen} {...props}>\r\n <SheetContent\r\n data-sidebar=\"sidebar\"\r\n data-mobile=\"true\"\r\n data-side={side}\r\n className=\"data-[side=left]:mtx-w-[--sidebar-left-width] data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-gray-50 mtx-p-0 [&>button]:mtx-hidden\"\r\n style={\r\n {\r\n ...(side === \"left\"\r\n ? {\r\n \"--sidebar-left-width\": widthMobile ?? SIDEBAR_WIDTH_MOBILE,\r\n }\r\n : {\r\n \"--sidebar-right-width\": widthMobile ?? SIDEBAR_WIDTH_MOBILE,\r\n }),\r\n } as React.CSSProperties\r\n }\r\n side={side}\r\n >\r\n <VisuallyHidden>\r\n <SheetHeader>\r\n <SheetTitle> </SheetTitle>\r\n <SheetDescription> </SheetDescription>\r\n </SheetHeader>\r\n </VisuallyHidden>\r\n <div className=\"mtx-flex mtx-h-full mtx-w-full mtx-flex-col\">{children}</div>\r\n </SheetContent>\r\n </Sheet>\r\n );\r\n }\r\n\r\n return (\r\n <div\r\n ref={ref}\r\n className=\"mtx-group mtx-peer mtx-hidden md:mtx-block mtx-relative\"\r\n data-state={state}\r\n data-collapsible={state === \"collapsed\" ? collapsible : \"\"}\r\n data-variant={variant}\r\n data-side={side}\r\n style={\r\n {\r\n ...(side === \"left\"\r\n ? {\r\n \"--sidebar-left-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-left-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }\r\n : {\r\n \"--sidebar-right-width\": width ?? SIDEBAR_WIDTH,\r\n \"--sidebar-right-width-icon\": widthIcon ?? SIDEBAR_WIDTH_ICON,\r\n }),\r\n ...style,\r\n } as React.CSSProperties\r\n }\r\n >\r\n {/* This is what handles the sidebar gap on desktop */}\r\n <div\r\n className={cn(\r\n \"mtx-duration-200 mtx-relative mtx-h-full group-data-[side=left]:mtx-w-[--sidebar-left-width] group-data-[side=right]:mtx-w-[--sidebar-right-width] mtx-bg-transparent mtx-transition-[width] mtx-ease-linear\",\r\n \"group-data-[side=left]:group-data-[collapsible=offcanvas]:mtx-w-0 group-data-[side=right]:group-data-[collapsible=offcanvas]:mtx-w-0\",\r\n \"group-data-[side=right]:mtx-rotate-180\",\r\n variant === \"floating\" || variant === \"inset\"\r\n ? \"group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-left-width-icon)_+_theme(spacing.4))] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-right-width-icon)_+_theme(spacing.4))]\"\r\n : \"group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[--sidebar-left-width-icon] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[--sidebar-right-width-icon]\",\r\n )}\r\n />\r\n <div\r\n className={cn(\r\n \"mtx-duration-200 mtx-absolute mtx-inset-y-0 mtx-z-10 mtx-hidden mtx-h-full group-data-[side=left]:mtx-w-[--sidebar-left-width] group-data-[side=right]:mtx-w-[--sidebar-right-width] mtx-transition-[left,right,width] mtx-ease-linear md:mtx-flex\",\r\n side === \"left\"\r\n ? \"mtx-left-0 group-data-[collapsible=offcanvas]:mtx-left-[calc(var(--sidebar-left-width)*-1)]\"\r\n : \"mtx-right-0 group-data-[collapsible=offcanvas]:mtx-right-[calc(var(--sidebar-right-width)*-1)]\",\r\n // Adjust the padding for floating and inset variants.\r\n variant === \"floating\" || variant === \"inset\"\r\n ? \"mtx-p-2 group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-left-width-icon)_+_theme(spacing.4)_+2px)] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[calc(var(--sidebar-right-width-icon)_+_theme(spacing.4)_+2px)]\"\r\n : \"group-data-[side=left]:group-data-[collapsible=icon]:mtx-w-[--sidebar-left-width-icon] group-data-[side=right]:group-data-[collapsible=icon]:mtx-w-[--sidebar-right-width-icon] group-data-[side=left]:mtx-border-r group-data-[side=right]:mtx-border-l\",\r\n className,\r\n )}\r\n {...props}\r\n >\r\n <div\r\n data-sidebar=\"sidebar\"\r\n className=\"mtx-flex mtx-h-full mtx-w-full mtx-flex-col mtx-bg-gray-50 group-data-[variant=floating]:mtx-rounded-lg group-data-[variant=floating]:mtx-border group-data-[variant=floating]:mtx-shadow\"\r\n >\r\n {children}\r\n </div>\r\n </div>\r\n </div>\r\n );\r\n});\r\nSidebar.displayName = \"Sidebar\";\r\ntype SidebarProps = React.ComponentProps<typeof Sidebar>;\r\n\r\nconst SidebarTrigger = React.forwardRef<React.ElementRef<\"button\">, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\r\n ({ className, onClick, asChild, ...props }, ref) => {\r\n const { toggleSidebar, state } = useSidebar();\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-state={state}\r\n data-sidebar=\"trigger\"\r\n className={cn(\"mtx-h-7 mtx-w-7\", className)}\r\n onClick={event => {\r\n onClick?.(event);\r\n toggleSidebar();\r\n }}\r\n {...props}\r\n />\r\n );\r\n },\r\n);\r\nSidebarTrigger.displayName = \"SidebarTrigger\";\r\ntype SidebarTriggerProps = React.ComponentProps<typeof SidebarTrigger>;\r\n\r\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\">>(({ className, ...props }, ref) => {\r\n const { toggleSidebar } = useSidebar();\r\n\r\n return (\r\n <button\r\n ref={ref}\r\n data-sidebar=\"rail\"\r\n aria-label=\"Toggle Sidebar\"\r\n tabIndex={-1}\r\n onClick={toggleSidebar}\r\n title=\"Toggle Sidebar\"\r\n className={cn(\r\n \"mtx-absolute mtx-inset-y-0 mtx-z-20 mtx-hidden mtx-w-4 -mtx-translate-x-1/2 mtx-transition-all mtx-ease-linear after:mtx-absolute after:mtx-inset-y-0 after:mtx-left-1/2 after:mtx-w-[2px] hover:after:mtx-bg-gray-50-border group-data-[side=left]:-mtx-right-4 group-data-[side=right]:mtx-left-0 sm:mtx-flex\",\r\n \"[[data-side=left]_&]:mtx-cursor-w-resize [[data-side=right]_&]:mtx-cursor-e-resize\",\r\n \"[[data-side=left][data-state=collapsed]_&]:mtx-cursor-e-resize [[data-side=right][data-state=collapsed]_&]:mtx-cursor-w-resize\",\r\n \"group-data-[collapsible=offcanvas]:mtx-translate-x-0 group-data-[collapsible=offcanvas]:after:mtx-left-full group-data-[collapsible=offcanvas]:hover:mtx-bg-gray-50\",\r\n \"[[data-side=left][data-collapsible=offcanvas]_&]:-mtx-right-2\",\r\n \"[[data-side=right][data-collapsible=offcanvas]_&]:-mtx-left-2\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarRail.displayName = \"SidebarRail\";\r\ntype SidebarRailProps = React.ComponentProps<typeof SidebarRail>;\r\n\r\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<\"main\">>(({ className, ...props }, ref) => {\r\n return (\r\n <main\r\n ref={ref}\r\n className={cn(\r\n \"mtx-relative mtx-flex mtx-h-full mtx-flex-1 mtx-flex-col mtx-bg-background\",\r\n \"peer-data-[variant=inset]:mtx-min-h-[calc(100%-theme(spacing.4))] md:peer-data-[variant=inset]:mtx-m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:mtx-ml-2 md:peer-data-[variant=inset]:mtx-ml-0 md:peer-data-[variant=inset]:mtx-rounded-xl md:peer-data-[variant=inset]:mtx-shadow\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarInset.displayName = \"SidebarInset\";\r\ntype SidebarInsetProps = React.ComponentProps<typeof SidebarInset>;\r\n\r\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return <div ref={ref} data-sidebar=\"header\" className={cn(\"mtx-flex mtx-flex-col mtx-gap-2 mtx-p-2\", className)} {...props} />;\r\n});\r\nSidebarHeader.displayName = \"SidebarHeader\";\r\ntype SidebarHeaderProps = React.ComponentProps<typeof SidebarHeader>;\r\n\r\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return <div ref={ref} data-sidebar=\"footer\" className={cn(\"mtx-flex mtx-flex-col mtx-gap-2 mtx-p-2\", className)} {...props} />;\r\n});\r\nSidebarFooter.displayName = \"SidebarFooter\";\r\ntype SidebarFooterProps = React.ComponentProps<typeof SidebarFooter>;\r\n\r\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\r\n ({ className, ...props }, ref) => {\r\n return <Separator ref={ref} data-sidebar=\"separator\" className={cn(\"mtx-mx-2 mtx-w-auto mtx-bg-gray-50-border\", className)} {...props} />;\r\n },\r\n);\r\nSidebarSeparator.displayName = \"SidebarSeparator\";\r\ntype SidebarSeparatorProps = React.ComponentProps<typeof SidebarSeparator>;\r\n\r\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"content\"\r\n className={cn(\r\n \"mtx-flex mtx-min-h-0 mtx-flex-1 mtx-flex-col mtx-gap-2 mtx-overflow-auto group-data-[collapsible=icon]:mtx-overflow-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarContent.displayName = \"SidebarContent\";\r\ntype SidebarContentProps = React.ComponentProps<typeof SidebarContent>;\r\n\r\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => {\r\n return (\r\n <div ref={ref} data-sidebar=\"group\" className={cn(\"mtx-relative mtx-flex mtx-w-full mtx-min-w-0 mtx-flex-col mtx-py-2\", className)} {...props} />\r\n );\r\n});\r\nSidebarGroup.displayName = \"SidebarGroup\";\r\ntype SidebarGroupProps = React.ComponentProps<typeof SidebarGroup>;\r\n\r\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\"> & { asChild?: boolean }>(\r\n ({ className, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"div\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"group-label\"\r\n className={cn(\r\n \"mtx-duration-200 mtx-flex mtx-h-8 mtx-shrink-0 mtx-items-center mtx-rounded-md mtx-px-2 mtx-text-xs mtx-font-medium mtx-outline-none mtx-transition-[margin,opacity] mtx-ease-linear focus-visible:mtx-ring-2 [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n \"group-data-[collapsible=icon]:-mtx-mt-8 group-data-[collapsible=icon]:mtx-opacity-0\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n },\r\n);\r\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\";\r\ntype SidebarGroupLabelProps = React.ComponentProps<typeof SidebarGroupLabel>;\r\n\r\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<\"button\"> & { asChild?: boolean }>(\r\n ({ className, asChild = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"group-action\"\r\n className={cn(\r\n \"mtx-absolute mtx-right-3 mtx-top-3.5 mtx-flex mtx-aspect-square mtx-w-5 mtx-items-center mtx-justify-center mtx-rounded-md mtx-p-0 mtx-outline-none mtx-transition-transform hover:mtx-bg-gray-50-accent focus-visible:mtx-ring-2 [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n // Increases the hit area of the button on mobile.\r\n \"after:mtx-absolute after:-mtx-inset-2 after:md:mtx-hidden\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n },\r\n);\r\nSidebarGroupAction.displayName = \"SidebarGroupAction\";\r\ntype SidebarGroupActionProps = React.ComponentProps<typeof SidebarGroupAction>;\r\n\r\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => (\r\n <div ref={ref} data-sidebar=\"group-content\" className={cn(\"mtx-w-full mtx-text-sm\", className)} {...props} />\r\n));\r\nSidebarGroupContent.displayName = \"SidebarGroupContent\";\r\ntype SidebarGroupContentProps = React.ComponentProps<typeof SidebarGroupContent>;\r\n\r\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\r\n <ul ref={ref} data-sidebar=\"menu\" className={cn(\"mtx-flex mtx-w-full mtx-min-w-0 mtx-flex-col mtx-gap-4\", className)} {...props} />\r\n));\r\nSidebarMenu.displayName = \"SidebarMenu\";\r\ntype SidebarMenuProps = React.ComponentProps<typeof SidebarMenu>;\r\n\r\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ className, ...props }, ref) => (\r\n <li ref={ref} data-sidebar=\"menu-item\" className={cn(\"mtx-group/menu-item mtx-relative mtx-ps-2\", className)} {...props} />\r\n));\r\nSidebarMenuItem.displayName = \"SidebarMenuItem\";\r\ntype SidebarMenuItemProps = React.ComponentProps<typeof SidebarMenuItem>;\r\n\r\nconst sidebarMenuButtonVariants = tv({\r\n base: [\r\n \"mtx-peer/menu-button mtx-flex mtx-w-full mtx-items-center mtx-gap-2 mtx-overflow-hidden mtx-rounded-s-md mtx-rounded-e-none mtx-p-2 mtx-text-left mtx-text-sm mtx-text-text-400 mtx-font-medium mtx-outline-none mtx-transition-[width,height,padding] hover:mtx-bg-gray-50 disabled:mtx-pointer-events-none disabled:mtx-opacity-50 group-has-[[data-sidebar=menu-action]]/menu-item:mtx-pr-8 aria-disabled:mtx-pointer-events-none aria-disabled:mtx-opacity-50\",\r\n \"data-[active=true]:mtx-bg-primary data-[active=true]:mtx-text-gray-0 data-[active=true]:mtx-font-bold group-data-[collapsible=icon]:mtx-size-10 group-data-[collapsible=icon]:mtx-w-14 group-data-[collapsible=icon]:mtx-p-2 group-data-[collapsible=icon]:mtx-pl-4 [&>span:last-child]:mtx-truncate\",\r\n \"[&>svg]:mtx-size-6 [&>svg]:mtx-shrink-0 [&>svg]:data-[active=true]:mtx-text-secondary group-data-[collapsible=icon]:[&>svg]:mtx-me-2\",\r\n \"data-[active=true]:before:mtx-[content:''] data-[active=true]:before:mtx-absolute data-[active=true]:before:mtx-start-0 data-[active=true]:before:mtx-h-10 data-[active=true]:before:mtx-w-1 data-[active=true]:before:mtx-bg-secondary data-[active=true]:before:mtx-rounded-e-md\",\r\n \"mtx-overflow-ellipsis mtx-whitespace-nowrap\",\r\n ].join(\" \"),\r\n variants: {\r\n variant: {\r\n default: \"hover:mtx-bg-gray-50\",\r\n outline: \"mtx-bg-background mtx-shadow-[oklch(var(--gray--300))] hover:mtx-bg-gray-50 hover:mtx-shadow-[oklch(var(--gray-400))]\",\r\n },\r\n size: {\r\n default: \"mtx-h-10 mtx-text-sm\",\r\n sm: \"mtx-h-7 mtx-text-xs\",\r\n lg: \"mtx-h-12 mtx-text-sm group-data-[collapsible=icon]:mtx-!p-0\",\r\n },\r\n },\r\n defaultVariants: {\r\n variant: \"default\",\r\n size: \"default\",\r\n },\r\n});\r\n\r\nconst SidebarMenuButton = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\"> & {\r\n asChild?: boolean;\r\n isActive?: boolean;\r\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\r\n } & VariantProps<typeof sidebarMenuButtonVariants>\r\n>(({ asChild = false, isActive = false, variant = \"default\", size = \"default\", tooltip, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n const { isMobile, state } = useSidebar();\r\n\r\n const button = (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\r\n {...props}\r\n />\r\n );\r\n\r\n if (!tooltip) {\r\n return button;\r\n }\r\n\r\n if (typeof tooltip === \"string\") {\r\n tooltip = {\r\n children: tooltip,\r\n };\r\n }\r\n\r\n return (\r\n <Tooltip>\r\n <TooltipTrigger asChild>{button}</TooltipTrigger>\r\n <TooltipContent side=\"right\" align=\"center\" hidden={state !== \"collapsed\" || isMobile} {...tooltip} />\r\n </Tooltip>\r\n );\r\n});\r\nSidebarMenuButton.displayName = \"SidebarMenuButton\";\r\ntype SidebarMenuButtonProps = React.ComponentProps<typeof SidebarMenuButton>;\r\n\r\nconst SidebarMenuAction = React.forwardRef<\r\n HTMLButtonElement,\r\n React.ComponentProps<\"button\"> & {\r\n asChild?: boolean;\r\n showOnHover?: boolean;\r\n }\r\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"button\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-action\"\r\n className={cn(\r\n \"mtx-absolute mtx-right-1 mtx-top-1.5 mtx-flex mtx-aspect-square mtx-w-5 mtx-items-center mtx-justify-center mtx-rounded-md mtx-p-0 mtx-outline-none mtx-transition-transform hover:mtx-bg-gray-50-accent focus-visible:mtx-ring-2 [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n // Increases the hit area of the button on mobile.\r\n \"after:mtx-absolute after:-mtx-inset-2 after:md:mtx-hidden\",\r\n \"peer-data-[size=sm]/menu-button:mtx-top-1\",\r\n \"peer-data-[size=default]/menu-button:mtx-top-1.5\",\r\n \"peer-data-[size=lg]/menu-button:mtx-top-2.5\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n showOnHover &&\r\n \"group-focus-within/menu-item:mtx-opacity-100 group-hover/menu-item:mtx-opacity-100 data-[state=open]:mtx-opacity-100 md:mtx-opacity-0\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarMenuAction.displayName = \"SidebarMenuAction\";\r\ntype SidebarMenuActionProps = React.ComponentProps<typeof SidebarMenuAction>;\r\n\r\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<\"div\">>(({ className, ...props }, ref) => (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"menu-badge\"\r\n className={cn(\r\n \"mtx-absolute mtx-right-1 mtx-flex mtx-h-5 mtx-min-w-5 mtx-items-center mtx-justify-center mtx-rounded-md mtx-px-1 mtx-text-xs mtx-font-medium mtx-tabular-nums mtx-select-none mtx-pointer-events-none\",\r\n \"peer-data-[size=sm]/menu-button:mtx-top-1\",\r\n \"peer-data-[size=default]/menu-button:mtx-top-1.5\",\r\n \"peer-data-[size=lg]/menu-button:mtx-top-2.5\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n));\r\nSidebarMenuBadge.displayName = \"SidebarMenuBadge\";\r\ntype SidebarMenuBadgeProps = React.ComponentProps<typeof SidebarMenuBadge>;\r\n\r\nconst SidebarMenuSkeleton = React.forwardRef<\r\n HTMLDivElement,\r\n React.ComponentProps<\"div\"> & {\r\n showIcon?: boolean;\r\n }\r\n>(({ className, showIcon = false, ...props }, ref) => {\r\n return (\r\n <div\r\n ref={ref}\r\n data-sidebar=\"menu-skeleton\"\r\n className={cn(\"mtx-rounded-md mtx-h-8 mtx-flex mtx-gap-2 mtx-px-2 mtx-items-center\", className)}\r\n {...props}\r\n >\r\n {showIcon && <Skeleton className=\"mtx-size-4 mtx-rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\r\n <Skeleton\r\n className=\"mtx-h-4 mtx-flex-1 mtx-max-w-[--skeleton-width]\"\r\n data-sidebar=\"menu-skeleton-text\"\r\n style={\r\n {\r\n \"--skeleton-width\": \"70%\",\r\n } as React.CSSProperties\r\n }\r\n />\r\n </div>\r\n );\r\n});\r\nSidebarMenuSkeleton.displayName = \"SidebarMenuSkeleton\";\r\ntype SidebarMenuSkeletonProps = React.ComponentProps<typeof SidebarMenuSkeleton>;\r\n\r\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<\"ul\">>(({ className, ...props }, ref) => (\r\n <ul\r\n ref={ref}\r\n data-sidebar=\"menu-sub\"\r\n className={cn(\"mtx-flex mtx-min-w-0 mtx-translate-x-px mtx-flex-col mtx-gap-1\", \"group-data-[collapsible=icon]:mtx-hidden\", className)}\r\n {...props}\r\n />\r\n));\r\nSidebarMenuSub.displayName = \"SidebarMenuSub\";\r\ntype SidebarMenuSubProps = React.ComponentProps<typeof SidebarMenuSub>;\r\n\r\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<\"li\">>(({ ...props }, ref) => <li ref={ref} {...props} />);\r\nSidebarMenuSubItem.displayName = \"SidebarMenuSubItem\";\r\ntype SidebarMenuSubItemProps = React.ComponentProps<typeof SidebarMenuSubItem>;\r\n\r\nconst SidebarMenuSubButton = React.forwardRef<\r\n HTMLAnchorElement,\r\n React.ComponentProps<\"a\"> & {\r\n asChild?: boolean;\r\n size?: \"sm\" | \"md\";\r\n isActive?: boolean;\r\n }\r\n>(({ asChild = false, size = \"md\", isActive, className, ...props }, ref) => {\r\n const Comp = asChild ? Slot : \"a\";\r\n\r\n return (\r\n <Comp\r\n ref={ref}\r\n data-sidebar=\"menu-sub-button\"\r\n data-size={size}\r\n data-active={isActive}\r\n className={cn(\r\n \"mtx-flex mtx-h-10 mtx-min-w-0 -mtx-translate-x-px mtx-items-center mtx-gap-2 mtx-overflow-hidden mtx-rounded-s-md mtx-ps-10 mtx-text-sm mtx-text-text-400 mtx-font-medium mtx-outline-none hover:mtx-bg-gray-50 disabled:mtx-pointer-events-none disabled:mtx-opacity-50 aria-disabled:mtx-pointer-events-none aria-disabled:mtx-opacity-50 [&>span:last-child]:mtx-truncate [&>svg]:mtx-size-4 [&>svg]:mtx-shrink-0\",\r\n \"data-[active=true]:mtx-bg-gray-100 data-[active=true]:mtx-text-text\",\r\n size === \"sm\" && \"mtx-text-xs\",\r\n size === \"md\" && \"mtx-text-sm\",\r\n \"group-data-[collapsible=icon]:mtx-hidden\",\r\n className,\r\n )}\r\n {...props}\r\n />\r\n );\r\n});\r\nSidebarMenuSubButton.displayName = \"SidebarMenuSubButton\";\r\ntype SidebarMenuSubButtonProps = React.ComponentProps<typeof SidebarMenuSubButton>;\r\n\r\nexport {\r\n Sidebar,\r\n SidebarContent,\r\n SidebarFooter,\r\n SidebarGroup,\r\n SidebarGroupAction,\r\n SidebarGroupContent,\r\n SidebarGroupLabel,\r\n SidebarHeader,\r\n SidebarInset,\r\n SidebarMenu,\r\n SidebarMenuAction,\r\n SidebarMenuBadge,\r\n SidebarMenuButton,\r\n SidebarMenuItem,\r\n SidebarMenuSkeleton,\r\n SidebarMenuSub,\r\n SidebarMenuSubButton,\r\n SidebarMenuSubItem,\r\n SidebarProvider,\r\n SidebarRail,\r\n SidebarSeparator,\r\n SidebarTrigger,\r\n useSidebar,\r\n type SidebarProps,\r\n type SidebarContentProps,\r\n type SidebarFooterProps,\r\n type SidebarGroupProps,\r\n type SidebarGroupActionProps,\r\n type SidebarGroupContentProps,\r\n type SidebarGroupLabelProps,\r\n type SidebarHeaderProps,\r\n type SidebarInsetProps,\r\n type SidebarMenuProps,\r\n type SidebarMenuActionProps,\r\n type SidebarMenuBadgeProps,\r\n type SidebarMenuButtonProps,\r\n type SidebarMenuItemProps,\r\n type SidebarMenuSkeletonProps,\r\n type SidebarMenuSubProps,\r\n type SidebarMenuSubButtonProps,\r\n type SidebarMenuSubItemProps,\r\n type SidebarProviderProps,\r\n type SidebarRailProps,\r\n type SidebarSeparatorProps,\r\n type SidebarTriggerProps,\r\n};\r\n"],"names":["SIDEBAR_COOKIE_NAME","SIDEBAR_COOKIE_MAX_AGE","SIDEBAR_WIDTH","SIDEBAR_WIDTH_MOBILE","SIDEBAR_WIDTH_ICON","SIDEBAR_KEYBOARD_SHORTCUT","SidebarContext","React","useSidebar","context","SidebarProvider","defaultOpen","openProp","setOpenProp","className","style","children","props","ref","isMobile","useIsMobile","_open","_setOpen","open","setOpen","value","openState","toggleSidebar","handleKeyDown","event","state","contextValue","jsx","TooltipProvider","cn","Sidebar","side","variant","collapsible","width","widthIcon","widthMobile","Sheet","jsxs","SheetContent","VisuallyHidden","SheetHeader","SheetTitle","SheetDescription","SidebarTrigger","onClick","asChild","Slot","SidebarRail","SidebarInset","SidebarHeader","SidebarFooter","SidebarSeparator","Separator","SidebarContent","SidebarGroup","SidebarGroupLabel","SidebarGroupAction","SidebarGroupContent","SidebarMenu","SidebarMenuItem","sidebarMenuButtonVariants","tv","SidebarMenuButton","isActive","size","tooltip","Comp","button","Tooltip","TooltipTrigger","TooltipContent","SidebarMenuAction","showOnHover","SidebarMenuBadge","SidebarMenuSkeleton","showIcon","Skeleton","SidebarMenuSub","SidebarMenuSubItem","SidebarMenuSubButton"],"mappings":"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"}
@@ -1,14 +1,19 @@
1
- import * as o from "react";
2
- function r() {
3
- const [s, n] = o.useState(void 0), e = 640;
4
- return o.useEffect(() => {
5
- const t = window.matchMedia(`(max-width: ${e - 1}px)`), i = () => {
6
- n(window.innerWidth < e);
7
- };
8
- return t.addEventListener("change", i), n(window.innerWidth < e), () => t.removeEventListener("change", i);
9
- }, [e]), !!s;
1
+ import * as r from "react";
2
+ const t = 640;
3
+ function i(e) {
4
+ const n = window.matchMedia(`(max-width: ${t - 1}px)`);
5
+ return n.addEventListener("change", e), () => n.removeEventListener("change", e);
6
+ }
7
+ function o() {
8
+ return window.innerWidth < t;
9
+ }
10
+ function s() {
11
+ return !1;
12
+ }
13
+ function a() {
14
+ return r.useSyncExternalStore(i, o, s);
10
15
  }
11
16
  export {
12
- r as useIsMobile
17
+ a as useIsMobile
13
18
  };
14
19
  //# sourceMappingURL=use-mobile.es.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-mobile.es.js","sources":["../src/lib/hooks/use-mobile.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nexport function useIsMobile() {\r\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined);\r\n const mobileBreakpoint = 640;\r\n\r\n React.useEffect(() => {\r\n const mql = window.matchMedia(`(max-width: ${mobileBreakpoint - 1}px)`);\r\n const onChange = () => {\r\n setIsMobile(window.innerWidth < mobileBreakpoint);\r\n };\r\n mql.addEventListener(\"change\", onChange);\r\n setIsMobile(window.innerWidth < mobileBreakpoint);\r\n return () => mql.removeEventListener(\"change\", onChange);\r\n }, [mobileBreakpoint]);\r\n\r\n return !!isMobile;\r\n}\r\n"],"names":["useIsMobile","isMobile","setIsMobile","React","mobileBreakpoint","mql","onChange"],"mappings":";AAEO,SAASA,IAAc;AAC5B,QAAM,CAACC,GAAUC,CAAW,IAAIC,EAAM,SAA8B,MAAS,GACvEC,IAAmB;AAEzB,SAAAD,EAAM,UAAU,MAAM;AACpB,UAAME,IAAM,OAAO,WAAW,eAAeD,IAAmB,CAAC,KAAK,GAChEE,IAAW,MAAM;AACrB,MAAAJ,EAAY,OAAO,aAAaE,CAAgB;AAAA,IAClD;AACA,WAAAC,EAAI,iBAAiB,UAAUC,CAAQ,GACvCJ,EAAY,OAAO,aAAaE,CAAgB,GACzC,MAAMC,EAAI,oBAAoB,UAAUC,CAAQ;AAAA,EACzD,GAAG,CAACF,CAAgB,CAAC,GAEd,CAAC,CAACH;AACX;"}
1
+ {"version":3,"file":"use-mobile.es.js","sources":["../src/lib/hooks/use-mobile.tsx"],"sourcesContent":["import * as React from \"react\";\r\n\r\nconst MOBILE_BREAKPOINT = 640;\r\n\r\nfunction subscribe(onStoreChange: () => void) {\r\n const mediaQuery = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`);\r\n mediaQuery.addEventListener(\"change\", onStoreChange);\r\n return () => mediaQuery.removeEventListener(\"change\", onStoreChange);\r\n}\r\n\r\nfunction getSnapshot() {\r\n return window.innerWidth < MOBILE_BREAKPOINT;\r\n}\r\n\r\nfunction getServerSnapshot() {\r\n return false;\r\n}\r\n\r\nexport function useIsMobile() {\r\n return React.useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\r\n}\r\n"],"names":["MOBILE_BREAKPOINT","subscribe","onStoreChange","mediaQuery","getSnapshot","getServerSnapshot","useIsMobile","React"],"mappings":";AAEA,MAAMA,IAAoB;AAE1B,SAASC,EAAUC,GAA2B;AAC5C,QAAMC,IAAa,OAAO,WAAW,eAAeH,IAAoB,CAAC,KAAK;AAC9E,SAAAG,EAAW,iBAAiB,UAAUD,CAAa,GAC5C,MAAMC,EAAW,oBAAoB,UAAUD,CAAa;AACrE;AAEA,SAASE,IAAc;AACrB,SAAO,OAAO,aAAaJ;AAC7B;AAEA,SAASK,IAAoB;AAC3B,SAAO;AACT;AAEO,SAASC,IAAc;AAC5B,SAAOC,EAAM,qBAAqBN,GAAWG,GAAaC,CAAiB;AAC7E;"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@trsys-tech/matrix-library",
3
3
  "description": "MatrixUI Library",
4
4
  "private": false,
5
- "version": "1.1.1-canary.0",
5
+ "version": "1.1.1",
6
6
  "type": "module",
7
7
  "main": "dist/index.js",
8
8
  "module": "dist/index.es.js",