@a5it/sync-ui 0.1.38 → 0.1.40

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 (68) hide show
  1. package/dist/components/cards/detail-line-item.d.ts +45 -0
  2. package/dist/components/cards/detail-line-item.d.ts.map +1 -0
  3. package/dist/components/cards/detail-line-item.js +51 -0
  4. package/dist/components/cards/detail-line-item.js.map +1 -0
  5. package/dist/components/cards/index.d.ts +5 -0
  6. package/dist/components/cards/index.d.ts.map +1 -0
  7. package/dist/components/cards/index.js +6 -0
  8. package/dist/components/cards/index.js.map +1 -0
  9. package/dist/components/cards/sidebar-card.d.ts +87 -0
  10. package/dist/components/cards/sidebar-card.d.ts.map +1 -0
  11. package/dist/components/cards/sidebar-card.js +150 -0
  12. package/dist/components/cards/sidebar-card.js.map +1 -0
  13. package/dist/components/sidebar/index.d.ts +8 -1
  14. package/dist/components/sidebar/index.d.ts.map +1 -1
  15. package/dist/components/sidebar/index.js +8 -1
  16. package/dist/components/sidebar/index.js.map +1 -1
  17. package/dist/components/sidebar/sidebar-nav-popover.d.ts +70 -0
  18. package/dist/components/sidebar/sidebar-nav-popover.d.ts.map +1 -0
  19. package/dist/components/sidebar/sidebar-nav-popover.js +71 -0
  20. package/dist/components/sidebar/sidebar-nav-popover.js.map +1 -0
  21. package/dist/components/sidebar/sidebar-nav.d.ts +63 -0
  22. package/dist/components/sidebar/sidebar-nav.d.ts.map +1 -0
  23. package/dist/components/sidebar/sidebar-nav.js +119 -0
  24. package/dist/components/sidebar/sidebar-nav.js.map +1 -0
  25. package/dist/components/sidebar/sidebar-toggle.d.ts +14 -0
  26. package/dist/components/sidebar/sidebar-toggle.d.ts.map +1 -0
  27. package/dist/components/sidebar/sidebar-toggle.js +18 -0
  28. package/dist/components/sidebar/sidebar-toggle.js.map +1 -0
  29. package/dist/components/sidebar/use-sidebar-active.d.ts +12 -0
  30. package/dist/components/sidebar/use-sidebar-active.d.ts.map +1 -0
  31. package/dist/components/sidebar/use-sidebar-active.js +46 -0
  32. package/dist/components/sidebar/use-sidebar-active.js.map +1 -0
  33. package/dist/components/ui/button.d.ts +1 -1
  34. package/dist/components/ui/separator.d.ts +5 -0
  35. package/dist/components/ui/separator.d.ts.map +1 -0
  36. package/dist/components/ui/separator.js +9 -0
  37. package/dist/components/ui/separator.js.map +1 -0
  38. package/dist/components/ui/sidebar.d.ts +69 -0
  39. package/dist/components/ui/sidebar.d.ts.map +1 -0
  40. package/dist/components/ui/sidebar.js +193 -0
  41. package/dist/components/ui/sidebar.js.map +1 -0
  42. package/dist/components/ui/skeleton.d.ts +4 -0
  43. package/dist/components/ui/skeleton.d.ts.map +1 -0
  44. package/dist/components/ui/skeleton.js +8 -0
  45. package/dist/components/ui/skeleton.js.map +1 -0
  46. package/dist/components/ui/tooltip.d.ts +8 -0
  47. package/dist/components/ui/tooltip.d.ts.map +1 -0
  48. package/dist/components/ui/tooltip.js +18 -0
  49. package/dist/components/ui/tooltip.js.map +1 -0
  50. package/dist/hooks/index.d.ts +3 -0
  51. package/dist/hooks/index.d.ts.map +1 -1
  52. package/dist/hooks/index.js +3 -0
  53. package/dist/hooks/index.js.map +1 -1
  54. package/dist/hooks/use-is-mobile.d.ts +2 -0
  55. package/dist/hooks/use-is-mobile.d.ts.map +1 -0
  56. package/dist/hooks/use-is-mobile.js +16 -0
  57. package/dist/hooks/use-is-mobile.js.map +1 -0
  58. package/dist/index.d.ts +2 -0
  59. package/dist/index.d.ts.map +1 -1
  60. package/dist/index.js +2 -0
  61. package/dist/index.js.map +1 -1
  62. package/dist/providers/index.d.ts +1 -0
  63. package/dist/providers/index.d.ts.map +1 -1
  64. package/dist/providers/index.js +1 -0
  65. package/dist/providers/index.js.map +1 -1
  66. package/dist/types/index.d.ts +3 -0
  67. package/dist/types/index.d.ts.map +1 -1
  68. package/package.json +8 -4
@@ -0,0 +1,63 @@
1
+ import * as React from "react";
2
+ export interface SidebarNavGroupProps {
3
+ /** Optional visible label for the group */
4
+ label?: string;
5
+ className?: string;
6
+ /** Additional className for the inner SidebarMenu (ul) */
7
+ menuClassName?: string;
8
+ children: React.ReactNode;
9
+ }
10
+ /**
11
+ * A group of sidebar nav items with an optional label.
12
+ * Wraps items in SidebarGroup + SidebarMenu primitives.
13
+ * Defaults to `p-0` (no padding) so the parent controls spacing.
14
+ */
15
+ export declare function SidebarNavGroup({ label, className, menuClassName, children, }: SidebarNavGroupProps): import("react/jsx-runtime").JSX.Element;
16
+ export declare namespace SidebarNavGroup {
17
+ var displayName: string;
18
+ }
19
+ export interface SidebarNavItemProps {
20
+ /** Link destination. If omitted, renders as a button. */
21
+ href?: string;
22
+ /** Icon component rendered before the label */
23
+ icon?: React.ComponentType<{
24
+ className?: string;
25
+ }>;
26
+ /** Paths that mark this item as active. Defaults to [href]. */
27
+ activePaths?: string[];
28
+ /** Whether the item is disabled */
29
+ disabled?: boolean;
30
+ /** Hide the chevron icon that appears on hover for popover items */
31
+ hideChevron?: boolean;
32
+ className?: string;
33
+ /** Click handler (for button-only items) */
34
+ onClick?: () => void;
35
+ /**
36
+ * Children: label text, and optionally a SidebarNavPopover.
37
+ * The component separates text children from SidebarNavPopover children automatically.
38
+ */
39
+ children: React.ReactNode;
40
+ }
41
+ /**
42
+ * An individual nav item inside a SidebarNavGroup.
43
+ *
44
+ * - When it has `href`: renders as a Next.js Link with active state detection.
45
+ * - When it contains a SidebarNavPopover child: shows chevron on hover,
46
+ * triggers popover on click; shows icon-only popover trigger when collapsed.
47
+ * - When sidebar is collapsed: shows icon-only with Tooltip.
48
+ */
49
+ export declare function SidebarNavItem({ href, icon: Icon, activePaths: activePathsProp, disabled, hideChevron, className, onClick, children, }: SidebarNavItemProps): import("react/jsx-runtime").JSX.Element;
50
+ export declare namespace SidebarNavItem {
51
+ var displayName: string;
52
+ }
53
+ export interface SidebarNavDividerProps {
54
+ className?: string;
55
+ }
56
+ /**
57
+ * A visual divider between sidebar nav groups or items.
58
+ */
59
+ export declare function SidebarNavDivider({ className }: SidebarNavDividerProps): import("react/jsx-runtime").JSX.Element;
60
+ export declare namespace SidebarNavDivider {
61
+ var displayName: string;
62
+ }
63
+ //# sourceMappingURL=sidebar-nav.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-nav.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/sidebar-nav.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AA4B/B,MAAM,WAAW,oBAAoB;IACnC,2CAA2C;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,0DAA0D;IAC1D,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,EAC9B,KAAK,EACL,SAAS,EACT,aAAa,EACb,QAAQ,GACT,EAAE,oBAAoB,2CAetB;yBApBe,eAAe;;;AA4B/B,MAAM,WAAW,mBAAmB;IAClC,yDAAyD;IACzD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,+CAA+C;IAC/C,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,+DAA+D;IAC/D,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IACvB,mCAAmC;IACnC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,oEAAoE;IACpE,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4CAA4C;IAC5C,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAAC,EAC7B,IAAI,EACJ,IAAI,EAAE,IAAI,EACV,WAAW,EAAE,eAAe,EAC5B,QAAgB,EAChB,WAAmB,EACnB,SAAS,EACT,OAAO,EACP,QAAQ,GACT,EAAE,mBAAmB,2CA2MrB;yBApNe,cAAc;;;AA4N9B,MAAM,WAAW,sBAAsB;IACrC,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,EAAE,SAAS,EAAE,EAAE,sBAAsB,2CAOtE;yBAPe,iBAAiB"}
@@ -0,0 +1,119 @@
1
+ "use client";
2
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import * as React from "react";
4
+ import { useMemo, useState, useCallback } from "react";
5
+ import Link from "next/link";
6
+ import { ChevronRight } from "lucide-react";
7
+ import * as PopoverPrimitive from "@radix-ui/react-popover";
8
+ import * as TooltipPrimitive from "@radix-ui/react-tooltip";
9
+ import { cn, kebabCase } from "../../lib/utils";
10
+ import { SidebarGroup, SidebarGroupLabel, SidebarGroupContent, SidebarMenu, SidebarMenuItem, useSidebar, } from "../ui/sidebar";
11
+ import { Tooltip, TooltipContent, TooltipTrigger, } from "../ui/tooltip";
12
+ import { Popover } from "../ui/popover";
13
+ import { useSidebarActive } from "./use-sidebar-active";
14
+ /**
15
+ * A group of sidebar nav items with an optional label.
16
+ * Wraps items in SidebarGroup + SidebarMenu primitives.
17
+ * Defaults to `p-0` (no padding) so the parent controls spacing.
18
+ */
19
+ export function SidebarNavGroup({ label, className, menuClassName, children, }) {
20
+ return (_jsxs(SidebarGroup, { "data-slot": "sidebar-nav-group", "data-cy": label ? `sidebar-nav-group-${kebabCase(label)}` : undefined, className: cn("p-0", className), children: [label && _jsx(SidebarGroupLabel, { children: label }), _jsx(SidebarGroupContent, { children: _jsx(SidebarMenu, { className: cn("gap-2", menuClassName), children: children }) })] }));
21
+ }
22
+ SidebarNavGroup.displayName = "SidebarNavGroup";
23
+ /**
24
+ * An individual nav item inside a SidebarNavGroup.
25
+ *
26
+ * - When it has `href`: renders as a Next.js Link with active state detection.
27
+ * - When it contains a SidebarNavPopover child: shows chevron on hover,
28
+ * triggers popover on click; shows icon-only popover trigger when collapsed.
29
+ * - When sidebar is collapsed: shows icon-only with Tooltip.
30
+ */
31
+ export function SidebarNavItem({ href, icon: Icon, activePaths: activePathsProp, disabled = false, hideChevron = false, className, onClick, children, }) {
32
+ const { state: sidebarState, isMobile } = useSidebar();
33
+ const collapsed = sidebarState === "collapsed" && !isMobile;
34
+ const activePaths = useMemo(() => activePathsProp ?? (href ? [href] : undefined), [activePathsProp, href]);
35
+ const isActive = useSidebarActive(activePaths);
36
+ const [isHovered, setIsHovered] = useState(false);
37
+ const [isPopoverOpen, setIsPopoverOpen] = useState(false);
38
+ // Separate text/label children from SidebarNavPopover children
39
+ const { label, popoverElement } = useMemo(() => {
40
+ let popover = null;
41
+ const labelParts = [];
42
+ React.Children.forEach(children, (child) => {
43
+ if (React.isValidElement(child) &&
44
+ child.type?.displayName === "SidebarNavPopover") {
45
+ popover = child;
46
+ }
47
+ else {
48
+ labelParts.push(child);
49
+ }
50
+ });
51
+ return {
52
+ label: labelParts.length === 1 ? labelParts[0] : labelParts,
53
+ popoverElement: popover,
54
+ };
55
+ }, [children]);
56
+ const hasPopover = Boolean(popoverElement);
57
+ const itemId = useMemo(() => typeof label === "string"
58
+ ? kebabCase(label)
59
+ : href
60
+ ? kebabCase(href)
61
+ : "item", [label, href]);
62
+ const buttonDataCy = `sidebar-nav-${itemId}`;
63
+ const handleItemClick = useCallback(() => {
64
+ onClick?.();
65
+ }, [onClick]);
66
+ // Icon element
67
+ const iconEl = Icon ? (_jsx(Icon, { className: cn("size-5", isPopoverOpen
68
+ ? "text-primary-foreground"
69
+ : isActive
70
+ ? "text-primary"
71
+ : "text-[#1A1A1A]") })) : null;
72
+ const roundedClass = "rounded-[12px]";
73
+ const wrapperClasses = collapsed
74
+ ? cn("flex h-10 w-full items-center justify-center transition-colors", roundedClass, isPopoverOpen
75
+ ? "bg-primary text-primary-foreground"
76
+ : isActive
77
+ ? "bg-primary/10 text-primary"
78
+ : "text-[#1A1A1A] hover:bg-muted", disabled && "pointer-events-none opacity-50")
79
+ : cn("flex h-10 w-full items-center justify-start gap-2 p-3 transition-colors", roundedClass, isPopoverOpen
80
+ ? "bg-primary text-primary-foreground"
81
+ : isActive
82
+ ? "bg-primary/10 text-primary"
83
+ : "text-[#1A1A1A] hover:bg-muted", disabled && "pointer-events-none opacity-50");
84
+ // Content rendering
85
+ const content = collapsed ? (_jsx("span", { className: "flex items-center justify-center rounded-[4px]", children: iconEl })) : (_jsxs(_Fragment, { children: [_jsxs("span", { className: "flex items-center gap-2", children: [_jsx("span", { className: "flex items-center justify-center rounded-[4px]", children: iconEl }), _jsx("span", { className: cn("font-normal text-sm leading-[16px]", isPopoverOpen
86
+ ? "text-primary-foreground"
87
+ : isActive
88
+ ? "text-primary"
89
+ : "text-[#1A1A1A]"), children: label })] }), hasPopover && !hideChevron && (isPopoverOpen || isHovered) && (_jsx(ChevronRight, { className: cn("ml-auto h-4 w-4", isPopoverOpen ? "text-primary-foreground" : "text-[#1A1A1A]") }))] }));
90
+ const sharedProps = {
91
+ className: wrapperClasses,
92
+ "data-slot": "sidebar-nav-item",
93
+ "data-cy": buttonDataCy,
94
+ "aria-label": collapsed ? (typeof label === "string" ? label : undefined) : undefined,
95
+ ...(hasPopover && {
96
+ "aria-haspopup": "dialog",
97
+ "aria-expanded": isPopoverOpen,
98
+ }),
99
+ onClick: handleItemClick,
100
+ onMouseEnter: () => !collapsed && setIsHovered(true),
101
+ onMouseLeave: () => setIsHovered(false),
102
+ };
103
+ // Build the trigger element
104
+ const trigger = hasPopover ? (_jsx("button", { type: "button", ...sharedProps, children: content })) : href ? (_jsx(Link, { href: href, ...sharedProps, children: content })) : (_jsx("button", { type: "button", ...sharedProps, disabled: disabled && !onClick, className: cn(wrapperClasses, disabled && !onClick && "cursor-default opacity-60"), children: content }));
105
+ // Build the final element with popover/tooltip wrapping
106
+ const element = hasPopover ? (_jsxs(Popover, { open: isPopoverOpen, onOpenChange: setIsPopoverOpen, children: [collapsed ? (_jsxs(Tooltip, { children: [_jsx(TooltipPrimitive.Trigger, { asChild: true, children: _jsx(PopoverPrimitive.Trigger, { asChild: true, children: trigger }) }), _jsx(TooltipContent, { side: "right", children: typeof label === "string" ? label : "" })] })) : (_jsx(PopoverPrimitive.Trigger, { asChild: true, children: trigger })), React.isValidElement(popoverElement)
107
+ ? React.cloneElement(popoverElement, { onClose: () => setIsPopoverOpen(false) })
108
+ : popoverElement] })) : collapsed ? (_jsxs(Tooltip, { children: [_jsx(TooltipTrigger, { asChild: true, children: trigger }), _jsx(TooltipContent, { side: "right", children: typeof label === "string" ? label : "" })] })) : (trigger);
109
+ return (_jsx(SidebarMenuItem, { className: className, children: element }));
110
+ }
111
+ SidebarNavItem.displayName = "SidebarNavItem";
112
+ /**
113
+ * A visual divider between sidebar nav groups or items.
114
+ */
115
+ export function SidebarNavDivider({ className }) {
116
+ return (_jsx("div", { "data-slot": "sidebar-nav-divider", className: cn("w-full border-b-[1.5px] border-[#E6E6E6] -my-2", className) }));
117
+ }
118
+ SidebarNavDivider.displayName = "SidebarNavDivider";
119
+ //# sourceMappingURL=sidebar-nav.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-nav.js","sourceRoot":"","sources":["../../../src/components/sidebar/sidebar-nav.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import * as React from "react";
2
+ export interface SidebarToggleProps {
3
+ className?: string;
4
+ /** Custom icon component. Defaults to PanelLeftIcon. */
5
+ icon?: React.ComponentType<{
6
+ className?: string;
7
+ }>;
8
+ }
9
+ /**
10
+ * Collapse/expand toggle button for the sidebar.
11
+ * Uses useSidebar().toggleSidebar() internally.
12
+ */
13
+ export declare function SidebarToggle({ className, icon: Icon }: SidebarToggleProps): import("react/jsx-runtime").JSX.Element | null;
14
+ //# sourceMappingURL=sidebar-toggle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-toggle.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/sidebar-toggle.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAM/B,MAAM,WAAW,kBAAkB;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wDAAwD;IACxD,IAAI,CAAC,EAAE,KAAK,CAAC,aAAa,CAAC;QAAE,SAAS,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACpD;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,EAAE,kBAAkB,kDA4B1E"}
@@ -0,0 +1,18 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import { PanelLeftIcon } from "lucide-react";
4
+ import { cn } from "../../lib/utils";
5
+ import { useSidebar } from "../ui/sidebar";
6
+ /**
7
+ * Collapse/expand toggle button for the sidebar.
8
+ * Uses useSidebar().toggleSidebar() internally.
9
+ */
10
+ export function SidebarToggle({ className, icon: Icon }) {
11
+ const { toggleSidebar, state, isMobile } = useSidebar();
12
+ const collapsed = state === "collapsed";
13
+ if (isMobile)
14
+ return null;
15
+ const IconComp = Icon ?? PanelLeftIcon;
16
+ return (_jsx("div", { className: cn("flex", collapsed ? "justify-center" : "justify-end", className), children: _jsx("button", { type: "button", "data-slot": "sidebar-toggle", "data-cy": "sidebar-toggle", onClick: toggleSidebar, "aria-label": "Toggle sidebar", className: "flex h-8 w-8 items-center justify-center rounded-[8px] bg-[#F2F2F2] text-[#1A1A1A] transition-colors hover:bg-[#EDEDED] focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-primary/30", children: _jsx(IconComp, { className: "h-4 w-4" }) }) }));
17
+ }
18
+ //# sourceMappingURL=sidebar-toggle.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar-toggle.js","sourceRoot":"","sources":["../../../src/components/sidebar/sidebar-toggle.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AACrC,OAAO,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAQ3C;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAsB;IACzE,MAAM,EAAE,aAAa,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE,CAAC;IACxD,MAAM,SAAS,GAAG,KAAK,KAAK,WAAW,CAAC;IAExC,IAAI,QAAQ;QAAE,OAAO,IAAI,CAAC;IAE1B,MAAM,QAAQ,GAAG,IAAI,IAAI,aAAa,CAAC;IAEvC,OAAO,CACL,cACE,SAAS,EAAE,EAAE,CACX,MAAM,EACN,SAAS,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,aAAa,EAC5C,SAAS,CACV,YAED,iBACE,IAAI,EAAC,QAAQ,eACH,gBAAgB,aAClB,gBAAgB,EACxB,OAAO,EAAE,aAAa,gBACX,gBAAgB,EAC3B,SAAS,EAAC,uMAAuM,YAEjN,KAAC,QAAQ,IAAC,SAAS,EAAC,SAAS,GAAG,GACzB,GACL,CACP,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Default active-path matcher.
3
+ * Returns true when the current path matches any of the given active paths
4
+ * using prefix matching.
5
+ */
6
+ export declare function defaultIsActivePath(currentPath: string, activePaths: string[]): boolean;
7
+ /**
8
+ * Hook that checks whether the current route matches any of the given active paths.
9
+ * Uses `usePathname()` from Next.js internally.
10
+ */
11
+ export declare function useSidebarActive(activePaths?: string[]): boolean;
12
+ //# sourceMappingURL=use-sidebar-active.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sidebar-active.d.ts","sourceRoot":"","sources":["../../../src/components/sidebar/use-sidebar-active.ts"],"names":[],"mappings":"AAKA;;;;GAIG;AACH,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,EAAE,GACpB,OAAO,CA0BT;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,WAAW,CAAC,EAAE,MAAM,EAAE,GAAG,OAAO,CAOhE"}
@@ -0,0 +1,46 @@
1
+ "use client";
2
+ import { useMemo } from "react";
3
+ import { usePathname } from "next/navigation";
4
+ /**
5
+ * Default active-path matcher.
6
+ * Returns true when the current path matches any of the given active paths
7
+ * using prefix matching.
8
+ */
9
+ export function defaultIsActivePath(currentPath, activePaths) {
10
+ return activePaths.some((activePath) => {
11
+ // Exact match
12
+ if (currentPath === activePath)
13
+ return true;
14
+ // Check if activePath contains query params
15
+ const [pathPart, queryPart] = activePath.split("?");
16
+ // If there's a query part, check path prefix + query param match
17
+ if (queryPart && currentPath.startsWith(pathPart)) {
18
+ const url = new URL(currentPath, "http://localhost");
19
+ const params = new URLSearchParams(queryPart);
20
+ for (const [key, value] of params) {
21
+ if (url.searchParams.get(key) !== value)
22
+ return false;
23
+ }
24
+ return true;
25
+ }
26
+ // Prefix match (ensure we match at path segment boundaries)
27
+ if (currentPath.startsWith(activePath)) {
28
+ const nextChar = currentPath[activePath.length];
29
+ return !nextChar || nextChar === "/" || nextChar === "?";
30
+ }
31
+ return false;
32
+ });
33
+ }
34
+ /**
35
+ * Hook that checks whether the current route matches any of the given active paths.
36
+ * Uses `usePathname()` from Next.js internally.
37
+ */
38
+ export function useSidebarActive(activePaths) {
39
+ const pathname = usePathname();
40
+ return useMemo(() => {
41
+ if (!activePaths || activePaths.length === 0)
42
+ return false;
43
+ return defaultIsActivePath(pathname, activePaths);
44
+ }, [pathname, activePaths]);
45
+ }
46
+ //# sourceMappingURL=use-sidebar-active.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-sidebar-active.js","sourceRoot":"","sources":["../../../src/components/sidebar/use-sidebar-active.ts"],"names":[],"mappings":"AAAA,YAAY,CAAC;AAEb,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAChC,OAAO,EAAE,WAAW,EAAE,MAAM,iBAAiB,CAAC;AAE9C;;;;GAIG;AACH,MAAM,UAAU,mBAAmB,CACjC,WAAmB,EACnB,WAAqB;IAErB,OAAO,WAAW,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,EAAE;QACrC,cAAc;QACd,IAAI,WAAW,KAAK,UAAU;YAAE,OAAO,IAAI,CAAC;QAE5C,4CAA4C;QAC5C,MAAM,CAAC,QAAQ,EAAE,SAAS,CAAC,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;QAEpD,iEAAiE;QACjE,IAAI,SAAS,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAClD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;YACrD,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC,SAAS,CAAC,CAAC;YAC9C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,EAAE,CAAC;gBAClC,IAAI,GAAG,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,KAAK;oBAAE,OAAO,KAAK,CAAC;YACxD,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QAED,4DAA4D;QAC5D,IAAI,WAAW,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YACvC,MAAM,QAAQ,GAAG,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;YAChD,OAAO,CAAC,QAAQ,IAAI,QAAQ,KAAK,GAAG,IAAI,QAAQ,KAAK,GAAG,CAAC;QAC3D,CAAC;QAED,OAAO,KAAK,CAAC;IACf,CAAC,CAAC,CAAC;AACL,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,WAAsB;IACrD,MAAM,QAAQ,GAAG,WAAW,EAAE,CAAC;IAE/B,OAAO,OAAO,CAAC,GAAG,EAAE;QAClB,IAAI,CAAC,WAAW,IAAI,WAAW,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,KAAK,CAAC;QAC3D,OAAO,mBAAmB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACpD,CAAC,EAAE,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC,CAAC;AAC9B,CAAC"}
@@ -2,7 +2,7 @@ import * as React from "react";
2
2
  import { type VariantProps } from "class-variance-authority";
3
3
  declare const buttonVariants: (props?: ({
4
4
  variant?: "link" | "default" | "destructive" | "outline" | "secondary" | "ghost" | null | undefined;
5
- size?: "default" | "sm" | "lg" | "icon" | null | undefined;
5
+ size?: "default" | "icon" | "sm" | "lg" | null | undefined;
6
6
  } & import("class-variance-authority/types").ClassProp) | undefined) => string;
7
7
  declare function Button({ className, variant, size, asChild, isLoading, ...props }: React.ComponentProps<"button"> & VariantProps<typeof buttonVariants> & {
8
8
  asChild?: boolean;
@@ -0,0 +1,5 @@
1
+ import * as React from "react";
2
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
3
+ declare function Separator({ className, orientation, decorative, ...props }: React.ComponentProps<typeof SeparatorPrimitive.Root>): import("react/jsx-runtime").JSX.Element;
4
+ export { Separator };
5
+ //# sourceMappingURL=separator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.d.ts","sourceRoot":"","sources":["../../../src/components/ui/separator.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAC/B,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAIhE,iBAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAA0B,EAC1B,UAAiB,EACjB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,kBAAkB,CAAC,IAAI,CAAC,2CActD;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use client";
2
+ import { jsx as _jsx } from "react/jsx-runtime";
3
+ import * as SeparatorPrimitive from "@radix-ui/react-separator";
4
+ import { cn } from "../../lib/utils";
5
+ function Separator({ className, orientation = "horizontal", decorative = true, ...props }) {
6
+ return (_jsx(SeparatorPrimitive.Root, { "data-slot": "separator", decorative: decorative, orientation: orientation, className: cn("bg-border shrink-0", orientation === "horizontal" ? "h-px w-full" : "h-full w-px", className), ...props }));
7
+ }
8
+ export { Separator };
9
+ //# sourceMappingURL=separator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"separator.js","sourceRoot":"","sources":["../../../src/components/ui/separator.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAGb,OAAO,KAAK,kBAAkB,MAAM,2BAA2B,CAAC;AAEhE,OAAO,EAAE,EAAE,EAAE,MAAM,iBAAiB,CAAC;AAErC,SAAS,SAAS,CAAC,EACjB,SAAS,EACT,WAAW,GAAG,YAAY,EAC1B,UAAU,GAAG,IAAI,EACjB,GAAG,KAAK,EAC6C;IACrD,OAAO,CACL,KAAC,kBAAkB,CAAC,IAAI,iBACZ,WAAW,EACrB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,EACxB,SAAS,EAAE,EAAE,CACX,oBAAoB,EACpB,WAAW,KAAK,YAAY,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,aAAa,EAC5D,SAAS,CACV,KACG,KAAK,GACT,CACH,CAAC;AACJ,CAAC;AAED,OAAO,EAAE,SAAS,EAAE,CAAC"}
@@ -0,0 +1,69 @@
1
+ import * as React from "react";
2
+ import { type VariantProps } from "class-variance-authority";
3
+ import { Button } from "./button";
4
+ import { Input } from "./input";
5
+ import { Separator } from "./separator";
6
+ import { TooltipContent } from "./tooltip";
7
+ type SidebarContextType = {
8
+ state: "expanded" | "collapsed";
9
+ open: boolean;
10
+ setOpen: (open: boolean) => void;
11
+ openMobile: boolean;
12
+ setOpenMobile: (open: boolean) => void;
13
+ isMobile: boolean;
14
+ toggleSidebar: () => void;
15
+ };
16
+ declare function useSidebar(): SidebarContextType;
17
+ declare function SidebarProvider({ defaultOpen, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }: React.ComponentProps<"div"> & {
18
+ defaultOpen?: boolean;
19
+ open?: boolean;
20
+ onOpenChange?: (open: boolean) => void;
21
+ }): import("react/jsx-runtime").JSX.Element;
22
+ declare function Sidebar({ variant, collapsible, className, children, ...props }: React.ComponentProps<"div"> & {
23
+ variant?: "sidebar" | "floating" | "inset";
24
+ collapsible?: "offcanvas" | "icon";
25
+ }): import("react/jsx-runtime").JSX.Element;
26
+ declare function SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>): import("react/jsx-runtime").JSX.Element;
27
+ declare function SidebarRail({ className, ...props }: React.ComponentProps<"button">): import("react/jsx-runtime").JSX.Element;
28
+ declare function SidebarInset({ className, ...props }: React.ComponentProps<"main">): import("react/jsx-runtime").JSX.Element;
29
+ declare function SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>): import("react/jsx-runtime").JSX.Element;
30
+ declare function SidebarHeader({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
31
+ declare function SidebarFooter({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
32
+ declare function SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>): import("react/jsx-runtime").JSX.Element;
33
+ declare function SidebarContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
34
+ declare function SidebarGroup({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
35
+ declare function SidebarGroupLabel({ className, asChild, ...props }: React.ComponentProps<"div"> & {
36
+ asChild?: boolean;
37
+ }): import("react/jsx-runtime").JSX.Element;
38
+ declare function SidebarGroupAction({ className, asChild, ...props }: React.ComponentProps<"button"> & {
39
+ asChild?: boolean;
40
+ }): import("react/jsx-runtime").JSX.Element;
41
+ declare function SidebarGroupContent({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
42
+ declare function SidebarMenu({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
43
+ declare function SidebarMenuItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
44
+ declare const sidebarMenuButtonVariants: (props?: ({
45
+ variant?: "default" | "outline" | null | undefined;
46
+ size?: "default" | "sm" | "lg" | null | undefined;
47
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
48
+ declare function SidebarMenuButton({ asChild, isActive, variant, size, tooltip, className, ...props }: React.ComponentProps<"button"> & {
49
+ asChild?: boolean;
50
+ isActive?: boolean;
51
+ tooltip?: string | React.ComponentProps<typeof TooltipContent>;
52
+ } & VariantProps<typeof sidebarMenuButtonVariants>): import("react/jsx-runtime").JSX.Element;
53
+ declare function SidebarMenuAction({ className, asChild, showOnHover, ...props }: React.ComponentProps<"button"> & {
54
+ asChild?: boolean;
55
+ showOnHover?: boolean;
56
+ }): import("react/jsx-runtime").JSX.Element;
57
+ declare function SidebarMenuBadge({ className, ...props }: React.ComponentProps<"div">): import("react/jsx-runtime").JSX.Element;
58
+ declare function SidebarMenuSkeleton({ className, showIcon, ...props }: React.ComponentProps<"div"> & {
59
+ showIcon?: boolean;
60
+ }): import("react/jsx-runtime").JSX.Element;
61
+ declare function SidebarMenuSub({ className, ...props }: React.ComponentProps<"ul">): import("react/jsx-runtime").JSX.Element;
62
+ declare function SidebarMenuSubItem({ className, ...props }: React.ComponentProps<"li">): import("react/jsx-runtime").JSX.Element;
63
+ declare function SidebarMenuSubButton({ asChild, size, isActive, className, ...props }: React.ComponentProps<"a"> & {
64
+ asChild?: boolean;
65
+ size?: "sm" | "md";
66
+ isActive?: boolean;
67
+ }): import("react/jsx-runtime").JSX.Element;
68
+ export { Sidebar, SidebarContent, SidebarFooter, SidebarGroup, SidebarGroupAction, SidebarGroupContent, SidebarGroupLabel, SidebarHeader, SidebarInput, SidebarInset, SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, SidebarMenuSub, SidebarMenuSubButton, SidebarMenuSubItem, SidebarProvider, SidebarRail, SidebarSeparator, SidebarTrigger, useSidebar, sidebarMenuButtonVariants, };
69
+ //# sourceMappingURL=sidebar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/components/ui/sidebar.tsx"],"names":[],"mappings":"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"}