@uipath/apollo-wind 2.64.0 → 2.65.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/components/ui/index.cjs +80 -69
  2. package/dist/components/ui/index.d.ts +1 -0
  3. package/dist/components/ui/index.js +1 -0
  4. package/dist/components/ui/sidebar/index.cjs +113 -0
  5. package/dist/components/ui/sidebar/index.d.ts +10 -0
  6. package/dist/components/ui/sidebar/index.js +7 -0
  7. package/dist/components/ui/sidebar/sidebar-context.cjs +151 -0
  8. package/dist/components/ui/sidebar/sidebar-context.d.ts +39 -0
  9. package/dist/components/ui/sidebar/sidebar-context.js +108 -0
  10. package/dist/components/ui/sidebar/sidebar-group.cjs +87 -0
  11. package/dist/components/ui/sidebar/sidebar-group.d.ts +10 -0
  12. package/dist/components/ui/sidebar/sidebar-group.js +44 -0
  13. package/dist/components/ui/sidebar/sidebar-layout.cjs +92 -0
  14. package/dist/components/ui/sidebar/sidebar-layout.d.ts +7 -0
  15. package/dist/components/ui/sidebar/sidebar-layout.js +46 -0
  16. package/dist/components/ui/sidebar/sidebar-menu-sub.cjs +79 -0
  17. package/dist/components/ui/sidebar/sidebar-menu-sub.d.ts +11 -0
  18. package/dist/components/ui/sidebar/sidebar-menu-sub.js +39 -0
  19. package/dist/components/ui/sidebar/sidebar-menu.cjs +185 -0
  20. package/dist/components/ui/sidebar/sidebar-menu.d.ts +26 -0
  21. package/dist/components/ui/sidebar/sidebar-menu.js +133 -0
  22. package/dist/components/ui/sidebar/sidebar.cjs +220 -0
  23. package/dist/components/ui/sidebar/sidebar.d.ts +22 -0
  24. package/dist/components/ui/sidebar/sidebar.js +177 -0
  25. package/dist/index.cjs +94 -18
  26. package/dist/index.d.ts +2 -0
  27. package/dist/index.js +2 -1
  28. package/dist/styles.css +626 -0
  29. package/package.json +1 -1
@@ -0,0 +1,185 @@
1
+ "use strict";
2
+ "use client";
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ SidebarMenuButton: ()=>SidebarMenuButton,
29
+ SidebarMenuAction: ()=>SidebarMenuAction,
30
+ SidebarMenuItem: ()=>SidebarMenuItem,
31
+ SidebarMenuBadge: ()=>SidebarMenuBadge,
32
+ SidebarMenuSkeleton: ()=>SidebarMenuSkeleton,
33
+ SidebarMenu: ()=>SidebarMenu,
34
+ sidebarMenuButtonVariants: ()=>sidebarMenuButtonVariants
35
+ });
36
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
37
+ const react_slot_namespaceObject = require("@radix-ui/react-slot");
38
+ const external_class_variance_authority_namespaceObject = require("class-variance-authority");
39
+ const external_react_namespaceObject = require("react");
40
+ const external_skeleton_cjs_namespaceObject = require("../skeleton.cjs");
41
+ const external_tooltip_cjs_namespaceObject = require("../tooltip.cjs");
42
+ const index_cjs_namespaceObject = require("../../../lib/index.cjs");
43
+ const external_sidebar_context_cjs_namespaceObject = require("./sidebar-context.cjs");
44
+ const SidebarMenu = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("ul", {
45
+ ref: ref,
46
+ "data-slot": "sidebar-menu",
47
+ "data-sidebar": "menu",
48
+ className: (0, index_cjs_namespaceObject.cn)('flex w-full min-w-0 flex-col gap-1', className),
49
+ ...props
50
+ }));
51
+ SidebarMenu.displayName = 'SidebarMenu';
52
+ const SidebarMenuItem = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("li", {
53
+ ref: ref,
54
+ "data-slot": "sidebar-menu-item",
55
+ "data-sidebar": "menu-item",
56
+ className: (0, index_cjs_namespaceObject.cn)('group/menu-item relative', className),
57
+ ...props
58
+ }));
59
+ SidebarMenuItem.displayName = 'SidebarMenuItem';
60
+ const sidebarMenuButtonVariants = (0, external_class_variance_authority_namespaceObject.cva)('peer/menu-button flex w-full cursor-pointer items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm text-foreground ring-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-has-data-[sidebar=menu-badge]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-background-hover focus-visible:ring-2 active:bg-background-hover disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-surface-selected data-[active=true]:hover:bg-surface-selected data-[active=true]:text-foreground data-[state=open]:hover:bg-background-hover [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', {
61
+ variants: {
62
+ variant: {
63
+ default: '',
64
+ outline: 'bg-background inset-ring inset-ring-border-subtle hover:inset-ring-border'
65
+ },
66
+ size: {
67
+ default: 'h-8 text-sm',
68
+ sm: 'h-7 text-xs',
69
+ lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!'
70
+ }
71
+ },
72
+ defaultVariants: {
73
+ variant: 'default',
74
+ size: 'default'
75
+ }
76
+ });
77
+ const SidebarMenuButton = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, onClick, onClickCapture, ...props }, ref)=>{
78
+ const Comp = asChild ? react_slot_namespaceObject.Slot : 'button';
79
+ const { isMobile, state } = (0, external_sidebar_context_cjs_namespaceObject.useSidebar)();
80
+ const button = /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Comp, {
81
+ ref: ref,
82
+ type: asChild ? void 0 : 'button',
83
+ "data-slot": "sidebar-menu-button",
84
+ "data-sidebar": "menu-button",
85
+ "data-size": size,
86
+ "data-active": isActive,
87
+ "aria-current": isActive ? 'true' : void 0,
88
+ className: (0, index_cjs_namespaceObject.cn)(sidebarMenuButtonVariants({
89
+ variant,
90
+ size
91
+ }), className),
92
+ ...props,
93
+ onClick: onClick,
94
+ onClickCapture: (0, external_sidebar_context_cjs_namespaceObject.guardDisabledClick)(props['aria-disabled'], onClickCapture)
95
+ });
96
+ if (!tooltip) return button;
97
+ const tooltipProps = 'string' == typeof tooltip ? {
98
+ children: tooltip
99
+ } : tooltip;
100
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_tooltip_cjs_namespaceObject.Tooltip, {
101
+ children: [
102
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipTrigger, {
103
+ asChild: true,
104
+ children: button
105
+ }),
106
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_tooltip_cjs_namespaceObject.TooltipContent, {
107
+ side: "right",
108
+ align: "center",
109
+ hidden: 'collapsed' !== state || isMobile,
110
+ ...tooltipProps
111
+ })
112
+ ]
113
+ });
114
+ });
115
+ SidebarMenuButton.displayName = 'SidebarMenuButton';
116
+ const SidebarMenuAction = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref)=>{
117
+ const Comp = asChild ? react_slot_namespaceObject.Slot : 'button';
118
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(Comp, {
119
+ ref: ref,
120
+ type: asChild ? void 0 : 'button',
121
+ "data-slot": "sidebar-menu-action",
122
+ "data-sidebar": "menu-action",
123
+ className: (0, index_cjs_namespaceObject.cn)('absolute top-1.5 right-1 flex aspect-square w-5 cursor-pointer items-center justify-center rounded-md p-0 text-foreground-muted ring-ring outline-hidden transition-transform peer-hover/menu-button:text-foreground hover:bg-background-hover hover:text-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0', 'after:absolute after:-inset-2 md:after:hidden', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-3.5', 'group-data-[collapsible=icon]:hidden', showOnHover && 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-foreground data-[state=open]:opacity-100 md:opacity-0', className),
124
+ ...props
125
+ });
126
+ });
127
+ SidebarMenuAction.displayName = 'SidebarMenuAction';
128
+ const SidebarMenuBadge = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
129
+ ref: ref,
130
+ "data-slot": "sidebar-menu-badge",
131
+ "data-sidebar": "menu-badge",
132
+ className: (0, index_cjs_namespaceObject.cn)('pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-foreground-muted tabular-nums select-none', 'peer-data-[active=true]/menu-button:text-foreground', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-3.5', 'group-data-[collapsible=icon]:hidden', className),
133
+ ...props
134
+ }));
135
+ SidebarMenuBadge.displayName = 'SidebarMenuBadge';
136
+ const SidebarMenuSkeleton = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, showIcon = false, ...props }, ref)=>{
137
+ const id = external_react_namespaceObject.useId();
138
+ const width = external_react_namespaceObject.useMemo(()=>{
139
+ let hash = 0;
140
+ for(let i = 0; i < id.length; i++)hash = 31 * hash + id.charCodeAt(i) >>> 0;
141
+ return `${hash % 41 + 50}%`;
142
+ }, [
143
+ id
144
+ ]);
145
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
146
+ ref: ref,
147
+ "data-slot": "sidebar-menu-skeleton",
148
+ "data-sidebar": "menu-skeleton",
149
+ className: (0, index_cjs_namespaceObject.cn)('flex h-8 items-center gap-2 rounded-md px-2', className),
150
+ ...props,
151
+ children: [
152
+ showIcon && /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton, {
153
+ className: "size-4 rounded-md",
154
+ "data-sidebar": "menu-skeleton-icon"
155
+ }),
156
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_skeleton_cjs_namespaceObject.Skeleton, {
157
+ className: "h-4 max-w-(--skeleton-width) flex-1",
158
+ "data-sidebar": "menu-skeleton-text",
159
+ style: {
160
+ '--skeleton-width': width
161
+ }
162
+ })
163
+ ]
164
+ });
165
+ });
166
+ SidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';
167
+ exports.SidebarMenu = __webpack_exports__.SidebarMenu;
168
+ exports.SidebarMenuAction = __webpack_exports__.SidebarMenuAction;
169
+ exports.SidebarMenuBadge = __webpack_exports__.SidebarMenuBadge;
170
+ exports.SidebarMenuButton = __webpack_exports__.SidebarMenuButton;
171
+ exports.SidebarMenuItem = __webpack_exports__.SidebarMenuItem;
172
+ exports.SidebarMenuSkeleton = __webpack_exports__.SidebarMenuSkeleton;
173
+ exports.sidebarMenuButtonVariants = __webpack_exports__.sidebarMenuButtonVariants;
174
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
175
+ "SidebarMenu",
176
+ "SidebarMenuAction",
177
+ "SidebarMenuBadge",
178
+ "SidebarMenuButton",
179
+ "SidebarMenuItem",
180
+ "SidebarMenuSkeleton",
181
+ "sidebarMenuButtonVariants"
182
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
183
+ Object.defineProperty(exports, '__esModule', {
184
+ value: true
185
+ });
@@ -0,0 +1,26 @@
1
+ import { type VariantProps } from 'class-variance-authority';
2
+ import * as React from 'react';
3
+ import { TooltipContent } from '../tooltip';
4
+ declare const SidebarMenu: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLUListElement>, HTMLUListElement>, "ref"> & React.RefAttributes<HTMLUListElement>>;
5
+ declare const SidebarMenuItem: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.LiHTMLAttributes<HTMLLIElement>, HTMLLIElement>, "ref"> & React.RefAttributes<HTMLLIElement>>;
6
+ declare const sidebarMenuButtonVariants: (props?: ({
7
+ variant?: "default" | "outline" | null | undefined;
8
+ size?: "default" | "lg" | "sm" | null | undefined;
9
+ } & import("class-variance-authority/types").ClassProp) | undefined) => string;
10
+ export interface SidebarMenuButtonProps extends React.ComponentProps<'button'>, VariantProps<typeof sidebarMenuButtonVariants> {
11
+ asChild?: boolean;
12
+ /** Marks the item as the current selection. Sets `data-active` and `aria-current="true"` (pass `aria-current="page"` for route links). */
13
+ isActive?: boolean;
14
+ /** Shown beside the button when the sidebar is collapsed to icons. */
15
+ tooltip?: string | React.ComponentProps<typeof TooltipContent>;
16
+ }
17
+ declare const SidebarMenuButton: React.ForwardRefExoticComponent<Omit<SidebarMenuButtonProps, "ref"> & React.RefAttributes<HTMLButtonElement>>;
18
+ declare const SidebarMenuAction: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLButtonElement> & React.ButtonHTMLAttributes<HTMLButtonElement> & {
19
+ asChild?: boolean;
20
+ showOnHover?: boolean;
21
+ }, "ref"> & React.RefAttributes<HTMLButtonElement>>;
22
+ declare const SidebarMenuBadge: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLDivElement>, HTMLDivElement>, "ref"> & React.RefAttributes<HTMLDivElement>>;
23
+ declare const SidebarMenuSkeleton: React.ForwardRefExoticComponent<Omit<React.ClassAttributes<HTMLDivElement> & React.HTMLAttributes<HTMLDivElement> & {
24
+ showIcon?: boolean;
25
+ }, "ref"> & React.RefAttributes<HTMLDivElement>>;
26
+ export { SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, sidebarMenuButtonVariants, };
@@ -0,0 +1,133 @@
1
+ "use client";
2
+ import { jsx, jsxs } from "react/jsx-runtime";
3
+ import { Slot } from "@radix-ui/react-slot";
4
+ import { cva } from "class-variance-authority";
5
+ import { forwardRef, useId, useMemo } from "react";
6
+ import { Skeleton } from "../skeleton.js";
7
+ import { Tooltip, TooltipContent, TooltipTrigger } from "../tooltip.js";
8
+ import { cn } from "../../../lib/index.js";
9
+ import { guardDisabledClick, useSidebar } from "./sidebar-context.js";
10
+ const SidebarMenu = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("ul", {
11
+ ref: ref,
12
+ "data-slot": "sidebar-menu",
13
+ "data-sidebar": "menu",
14
+ className: cn('flex w-full min-w-0 flex-col gap-1', className),
15
+ ...props
16
+ }));
17
+ SidebarMenu.displayName = 'SidebarMenu';
18
+ const SidebarMenuItem = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("li", {
19
+ ref: ref,
20
+ "data-slot": "sidebar-menu-item",
21
+ "data-sidebar": "menu-item",
22
+ className: cn('group/menu-item relative', className),
23
+ ...props
24
+ }));
25
+ SidebarMenuItem.displayName = 'SidebarMenuItem';
26
+ const sidebarMenuButtonVariants = cva('peer/menu-button flex w-full cursor-pointer items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm text-foreground ring-ring outline-hidden transition-[width,height,padding] group-has-data-[sidebar=menu-action]/menu-item:pr-8 group-has-data-[sidebar=menu-badge]/menu-item:pr-8 group-data-[collapsible=icon]:size-8! group-data-[collapsible=icon]:p-2! hover:bg-background-hover focus-visible:ring-2 active:bg-background-hover disabled:pointer-events-none disabled:opacity-50 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-surface-selected data-[active=true]:hover:bg-surface-selected data-[active=true]:text-foreground data-[state=open]:hover:bg-background-hover [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0', {
27
+ variants: {
28
+ variant: {
29
+ default: '',
30
+ outline: 'bg-background inset-ring inset-ring-border-subtle hover:inset-ring-border'
31
+ },
32
+ size: {
33
+ default: 'h-8 text-sm',
34
+ sm: 'h-7 text-xs',
35
+ lg: 'h-12 text-sm group-data-[collapsible=icon]:p-0!'
36
+ }
37
+ },
38
+ defaultVariants: {
39
+ variant: 'default',
40
+ size: 'default'
41
+ }
42
+ });
43
+ const SidebarMenuButton = /*#__PURE__*/ forwardRef(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, onClick, onClickCapture, ...props }, ref)=>{
44
+ const Comp = asChild ? Slot : 'button';
45
+ const { isMobile, state } = useSidebar();
46
+ const button = /*#__PURE__*/ jsx(Comp, {
47
+ ref: ref,
48
+ type: asChild ? void 0 : 'button',
49
+ "data-slot": "sidebar-menu-button",
50
+ "data-sidebar": "menu-button",
51
+ "data-size": size,
52
+ "data-active": isActive,
53
+ "aria-current": isActive ? 'true' : void 0,
54
+ className: cn(sidebarMenuButtonVariants({
55
+ variant,
56
+ size
57
+ }), className),
58
+ ...props,
59
+ onClick: onClick,
60
+ onClickCapture: guardDisabledClick(props['aria-disabled'], onClickCapture)
61
+ });
62
+ if (!tooltip) return button;
63
+ const tooltipProps = 'string' == typeof tooltip ? {
64
+ children: tooltip
65
+ } : tooltip;
66
+ return /*#__PURE__*/ jsxs(Tooltip, {
67
+ children: [
68
+ /*#__PURE__*/ jsx(TooltipTrigger, {
69
+ asChild: true,
70
+ children: button
71
+ }),
72
+ /*#__PURE__*/ jsx(TooltipContent, {
73
+ side: "right",
74
+ align: "center",
75
+ hidden: 'collapsed' !== state || isMobile,
76
+ ...tooltipProps
77
+ })
78
+ ]
79
+ });
80
+ });
81
+ SidebarMenuButton.displayName = 'SidebarMenuButton';
82
+ const SidebarMenuAction = /*#__PURE__*/ forwardRef(({ className, asChild = false, showOnHover = false, ...props }, ref)=>{
83
+ const Comp = asChild ? Slot : 'button';
84
+ return /*#__PURE__*/ jsx(Comp, {
85
+ ref: ref,
86
+ type: asChild ? void 0 : 'button',
87
+ "data-slot": "sidebar-menu-action",
88
+ "data-sidebar": "menu-action",
89
+ className: cn('absolute top-1.5 right-1 flex aspect-square w-5 cursor-pointer items-center justify-center rounded-md p-0 text-foreground-muted ring-ring outline-hidden transition-transform peer-hover/menu-button:text-foreground hover:bg-background-hover hover:text-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0', 'after:absolute after:-inset-2 md:after:hidden', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-3.5', 'group-data-[collapsible=icon]:hidden', showOnHover && 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 peer-data-[active=true]/menu-button:text-foreground data-[state=open]:opacity-100 md:opacity-0', className),
90
+ ...props
91
+ });
92
+ });
93
+ SidebarMenuAction.displayName = 'SidebarMenuAction';
94
+ const SidebarMenuBadge = /*#__PURE__*/ forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ jsx("div", {
95
+ ref: ref,
96
+ "data-slot": "sidebar-menu-badge",
97
+ "data-sidebar": "menu-badge",
98
+ className: cn('pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium text-foreground-muted tabular-nums select-none', 'peer-data-[active=true]/menu-button:text-foreground', 'peer-data-[size=sm]/menu-button:top-1', 'peer-data-[size=default]/menu-button:top-1.5', 'peer-data-[size=lg]/menu-button:top-3.5', 'group-data-[collapsible=icon]:hidden', className),
99
+ ...props
100
+ }));
101
+ SidebarMenuBadge.displayName = 'SidebarMenuBadge';
102
+ const SidebarMenuSkeleton = /*#__PURE__*/ forwardRef(({ className, showIcon = false, ...props }, ref)=>{
103
+ const id = useId();
104
+ const width = useMemo(()=>{
105
+ let hash = 0;
106
+ for(let i = 0; i < id.length; i++)hash = 31 * hash + id.charCodeAt(i) >>> 0;
107
+ return `${hash % 41 + 50}%`;
108
+ }, [
109
+ id
110
+ ]);
111
+ return /*#__PURE__*/ jsxs("div", {
112
+ ref: ref,
113
+ "data-slot": "sidebar-menu-skeleton",
114
+ "data-sidebar": "menu-skeleton",
115
+ className: cn('flex h-8 items-center gap-2 rounded-md px-2', className),
116
+ ...props,
117
+ children: [
118
+ showIcon && /*#__PURE__*/ jsx(Skeleton, {
119
+ className: "size-4 rounded-md",
120
+ "data-sidebar": "menu-skeleton-icon"
121
+ }),
122
+ /*#__PURE__*/ jsx(Skeleton, {
123
+ className: "h-4 max-w-(--skeleton-width) flex-1",
124
+ "data-sidebar": "menu-skeleton-text",
125
+ style: {
126
+ '--skeleton-width': width
127
+ }
128
+ })
129
+ ]
130
+ });
131
+ });
132
+ SidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';
133
+ export { SidebarMenu, SidebarMenuAction, SidebarMenuBadge, SidebarMenuButton, SidebarMenuItem, SidebarMenuSkeleton, sidebarMenuButtonVariants };
@@ -0,0 +1,220 @@
1
+ "use strict";
2
+ "use client";
3
+ var __webpack_require__ = {};
4
+ (()=>{
5
+ __webpack_require__.d = (exports1, definition)=>{
6
+ for(var key in definition)if (__webpack_require__.o(definition, key) && !__webpack_require__.o(exports1, key)) Object.defineProperty(exports1, key, {
7
+ enumerable: true,
8
+ get: definition[key]
9
+ });
10
+ };
11
+ })();
12
+ (()=>{
13
+ __webpack_require__.o = (obj, prop)=>Object.prototype.hasOwnProperty.call(obj, prop);
14
+ })();
15
+ (()=>{
16
+ __webpack_require__.r = (exports1)=>{
17
+ if ("u" > typeof Symbol && Symbol.toStringTag) Object.defineProperty(exports1, Symbol.toStringTag, {
18
+ value: 'Module'
19
+ });
20
+ Object.defineProperty(exports1, '__esModule', {
21
+ value: true
22
+ });
23
+ };
24
+ })();
25
+ var __webpack_exports__ = {};
26
+ __webpack_require__.r(__webpack_exports__);
27
+ __webpack_require__.d(__webpack_exports__, {
28
+ Sidebar: ()=>Sidebar,
29
+ SidebarRail: ()=>SidebarRail,
30
+ SidebarTrigger: ()=>SidebarTrigger,
31
+ SidebarInset: ()=>SidebarInset
32
+ });
33
+ const jsx_runtime_namespaceObject = require("react/jsx-runtime");
34
+ const external_lucide_react_namespaceObject = require("lucide-react");
35
+ const external_react_namespaceObject = require("react");
36
+ const external_button_cjs_namespaceObject = require("../button.cjs");
37
+ const external_sheet_cjs_namespaceObject = require("../sheet.cjs");
38
+ const index_cjs_namespaceObject = require("../../../lib/index.cjs");
39
+ const external_sidebar_context_cjs_namespaceObject = require("./sidebar-context.cjs");
40
+ const HIDING_ATTRIBUTES = [
41
+ {
42
+ name: 'inert',
43
+ value: ''
44
+ },
45
+ {
46
+ name: 'aria-hidden',
47
+ value: 'true'
48
+ }
49
+ ];
50
+ const Sidebar = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref)=>{
51
+ const { isMobile, state, openMobile, setOpenMobile } = (0, external_sidebar_context_cjs_namespaceObject.useSidebar)();
52
+ const containerRef = external_react_namespaceObject.useRef(null);
53
+ const setContainerRef = external_react_namespaceObject.useMemo(()=>(0, index_cjs_namespaceObject.composeRefs)(containerRef, ref), [
54
+ ref
55
+ ]);
56
+ const hiddenOffcanvas = 'offcanvas' === collapsible && 'collapsed' === state;
57
+ external_react_namespaceObject.useEffect(()=>{
58
+ const inner = containerRef.current?.querySelector('[data-slot="sidebar-inner"]');
59
+ if (!inner || isMobile) return;
60
+ const sync = ()=>{
61
+ for (const child of Array.from(inner.children))if (!child.matches('[data-sidebar="rail"]')) for (const attr of HIDING_ATTRIBUTES){
62
+ const marker = `data-sidebar-set-${attr.name}`;
63
+ if (hiddenOffcanvas) {
64
+ if (!child.hasAttribute(attr.name)) {
65
+ child.setAttribute(attr.name, attr.value);
66
+ child.setAttribute(marker, '');
67
+ }
68
+ } else if (child.hasAttribute(marker)) {
69
+ child.removeAttribute(attr.name);
70
+ child.removeAttribute(marker);
71
+ }
72
+ }
73
+ };
74
+ sync();
75
+ if (!hiddenOffcanvas || "u" < typeof MutationObserver) return;
76
+ const observer = new MutationObserver(sync);
77
+ observer.observe(inner, {
78
+ childList: true
79
+ });
80
+ return ()=>observer.disconnect();
81
+ }, [
82
+ hiddenOffcanvas,
83
+ isMobile
84
+ ]);
85
+ if ('none' === collapsible) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
86
+ ref: ref,
87
+ "data-slot": "sidebar",
88
+ "data-sidebar": "sidebar",
89
+ className: (0, index_cjs_namespaceObject.cn)('flex h-full w-(--sidebar-width) flex-col text-foreground', className),
90
+ ...props,
91
+ children: children
92
+ });
93
+ if (isMobile) return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_sheet_cjs_namespaceObject.Sheet, {
94
+ open: openMobile,
95
+ onOpenChange: setOpenMobile,
96
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_sheet_cjs_namespaceObject.SheetContent, {
97
+ ref: ref,
98
+ ...props,
99
+ "data-sidebar": "sidebar",
100
+ "data-slot": "sidebar",
101
+ "data-mobile": "true",
102
+ className: (0, index_cjs_namespaceObject.cn)('w-(--sidebar-width) max-w-none bg-surface p-0 text-foreground sm:max-w-none [&>button]:hidden', className),
103
+ style: {
104
+ '--sidebar-width': external_sidebar_context_cjs_namespaceObject.SIDEBAR_WIDTH_MOBILE,
105
+ ...props.style
106
+ },
107
+ side: side,
108
+ children: [
109
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_sheet_cjs_namespaceObject.SheetHeader, {
110
+ className: "sr-only",
111
+ children: [
112
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_sheet_cjs_namespaceObject.SheetTitle, {
113
+ children: "Sidebar"
114
+ }),
115
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_sheet_cjs_namespaceObject.SheetDescription, {
116
+ children: "Displays the mobile sidebar."
117
+ })
118
+ ]
119
+ }),
120
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
121
+ className: "flex h-full w-full flex-col",
122
+ children: children
123
+ })
124
+ ]
125
+ })
126
+ });
127
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)("div", {
128
+ className: "group peer hidden text-foreground data-[side=right]:order-last md:block",
129
+ "data-state": state,
130
+ "data-collapsible": 'collapsed' === state ? collapsible : '',
131
+ "data-variant": variant,
132
+ "data-side": side,
133
+ "data-slot": "sidebar",
134
+ children: [
135
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
136
+ "data-slot": "sidebar-gap",
137
+ className: (0, index_cjs_namespaceObject.cn)('relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear', 'group-data-[collapsible=offcanvas]:w-0', 'group-data-[side=right]:rotate-180', 'floating' === variant || 'inset' === variant ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]' : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)')
138
+ }),
139
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
140
+ ref: setContainerRef,
141
+ "data-slot": "sidebar-container",
142
+ className: (0, index_cjs_namespaceObject.cn)('fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex', 'left' === side ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]' : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]', 'floating' === variant || 'inset' === variant ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4))+2px)]' : 'border-border-subtle group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l', className),
143
+ ...props,
144
+ children: /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("div", {
145
+ "data-sidebar": "sidebar",
146
+ "data-slot": "sidebar-inner",
147
+ className: "flex h-full w-full flex-col bg-surface group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-border-subtle group-data-[variant=floating]:shadow-sm",
148
+ children: children
149
+ })
150
+ })
151
+ ]
152
+ });
153
+ });
154
+ Sidebar.displayName = 'Sidebar';
155
+ const SidebarTrigger = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, onClick, ...props }, ref)=>{
156
+ const { toggleSidebar, open, openMobile, isMobile } = (0, external_sidebar_context_cjs_namespaceObject.useSidebar)();
157
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsxs)(external_button_cjs_namespaceObject.Button, {
158
+ ref: ref,
159
+ "aria-expanded": isMobile ? openMobile : open,
160
+ "data-sidebar": "trigger",
161
+ "data-slot": "sidebar-trigger",
162
+ variant: "ghost",
163
+ size: "2xs",
164
+ icon: true,
165
+ className: className,
166
+ onClick: (event)=>{
167
+ onClick?.(event);
168
+ toggleSidebar();
169
+ },
170
+ ...props,
171
+ children: [
172
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)(external_lucide_react_namespaceObject.PanelLeftIcon, {}),
173
+ /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("span", {
174
+ className: "sr-only",
175
+ children: "Toggle Sidebar"
176
+ })
177
+ ]
178
+ });
179
+ });
180
+ SidebarTrigger.displayName = 'SidebarTrigger';
181
+ const SidebarRail = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, onClick, ...props }, ref)=>{
182
+ const { toggleSidebar, open } = (0, external_sidebar_context_cjs_namespaceObject.useSidebar)();
183
+ return /*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("button", {
184
+ ref: ref,
185
+ "aria-expanded": open,
186
+ type: "button",
187
+ "data-sidebar": "rail",
188
+ "data-slot": "sidebar-rail",
189
+ "aria-label": "Toggle Sidebar",
190
+ tabIndex: -1,
191
+ onClick: (event)=>{
192
+ onClick?.(event);
193
+ toggleSidebar();
194
+ },
195
+ title: "Toggle Sidebar",
196
+ className: (0, index_cjs_namespaceObject.cn)('absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-border-subtle md:flex', 'in-data-[side=left]:cursor-w-resize in-data-[side=right]:cursor-e-resize', '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize', 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full hover:group-data-[collapsible=offcanvas]:bg-surface', '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2', '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2', className),
197
+ ...props
198
+ });
199
+ });
200
+ SidebarRail.displayName = 'SidebarRail';
201
+ const SidebarInset = /*#__PURE__*/ external_react_namespaceObject.forwardRef(({ className, ...props }, ref)=>/*#__PURE__*/ (0, jsx_runtime_namespaceObject.jsx)("main", {
202
+ ref: ref,
203
+ "data-slot": "sidebar-inset",
204
+ className: (0, index_cjs_namespaceObject.cn)('relative flex w-full flex-1 flex-col bg-background', 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2', 'md:peer-data-[variant=inset]:peer-data-[side=right]:mr-0 md:peer-data-[variant=inset]:peer-data-[side=right]:ml-2 md:peer-data-[variant=inset]:peer-data-[side=right]:peer-data-[state=collapsed]:mr-2', className),
205
+ ...props
206
+ }));
207
+ SidebarInset.displayName = 'SidebarInset';
208
+ exports.Sidebar = __webpack_exports__.Sidebar;
209
+ exports.SidebarInset = __webpack_exports__.SidebarInset;
210
+ exports.SidebarRail = __webpack_exports__.SidebarRail;
211
+ exports.SidebarTrigger = __webpack_exports__.SidebarTrigger;
212
+ for(var __rspack_i in __webpack_exports__)if (-1 === [
213
+ "Sidebar",
214
+ "SidebarInset",
215
+ "SidebarRail",
216
+ "SidebarTrigger"
217
+ ].indexOf(__rspack_i)) exports[__rspack_i] = __webpack_exports__[__rspack_i];
218
+ Object.defineProperty(exports, '__esModule', {
219
+ value: true
220
+ });
@@ -0,0 +1,22 @@
1
+ import * as React from 'react';
2
+ export interface SidebarProps extends React.ComponentProps<'div'> {
3
+ side?: 'left' | 'right';
4
+ variant?: 'sidebar' | 'floating' | 'inset';
5
+ /**
6
+ * - `offcanvas`: slides fully out of view when collapsed.
7
+ * - `icon`: collapses to an icon rail.
8
+ * - `none`: static panel for embedding (dialogs, split panes).
9
+ */
10
+ collapsible?: 'offcanvas' | 'icon' | 'none';
11
+ }
12
+ declare const Sidebar: React.ForwardRefExoticComponent<Omit<SidebarProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
13
+ declare const SidebarTrigger: React.ForwardRefExoticComponent<Omit<import("../button").ButtonProps & React.RefAttributes<HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
14
+ /**
15
+ * A thin, pointer-only toggle along the sidebar's edge. It's left out of the tab
16
+ * order on purpose (as in shadcn), so it doesn't add an invisible tab stop beside
17
+ * every sidebar. Keyboard users toggle with `SidebarTrigger`, so a layout should
18
+ * always include one. The rail still reports `aria-expanded` for assistive tech.
19
+ */
20
+ declare const SidebarRail: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.ButtonHTMLAttributes<HTMLButtonElement>, HTMLButtonElement>, "ref"> & React.RefAttributes<HTMLButtonElement>>;
21
+ declare const SidebarInset: React.ForwardRefExoticComponent<Omit<React.DetailedHTMLProps<React.HTMLAttributes<HTMLElement>, HTMLElement>, "ref"> & React.RefAttributes<HTMLElement>>;
22
+ export { Sidebar, SidebarInset, SidebarRail, SidebarTrigger };