@kismet-ux/constellation 1.7.0 → 1.9.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.
- package/README.md +36 -0
- package/dist/form/Input/input.css +32 -0
- package/dist/form/Input/input.d.ts +18 -1
- package/dist/form/Input/input.d.ts.map +1 -1
- package/dist/form/Input/input.js +20 -2
- package/dist/form/Input/input.js.map +1 -1
- package/dist/form/Input/input.module.scss.js +1 -1
- package/dist/form/Select/select.css +9 -0
- package/dist/form/Select/select.d.ts +11 -1
- package/dist/form/Select/select.d.ts.map +1 -1
- package/dist/form/Select/select.js +10 -2
- package/dist/form/Select/select.js.map +1 -1
- package/dist/form/Select/select.module.scss.js +1 -1
- package/dist/form.d.ts +2 -2
- package/dist/{index-Bexoc2w4.d.ts → index-CRrCqjAW.d.ts} +13 -3
- package/dist/{index-K2b259WI.d.ts → index-Mihuyg_o.d.ts} +4 -2
- package/dist/{index-IHzHSsCh.d.ts → index-ZgohDspB.d.ts} +14 -14
- package/dist/index.d.ts +13 -55
- package/dist/{input-CWHXOpeH.d.ts → input-Cp5LET5i.d.ts} +17 -0
- package/dist/layout/Container/container.css +1 -1
- package/dist/layout/Container/container.d.ts.map +1 -1
- package/dist/layout/Container/container.js +5 -2
- package/dist/layout/Container/container.js.map +1 -1
- package/dist/layout/Sidebar/sidebar.d.ts.map +1 -1
- package/dist/layout/Sidebar/sidebar.js.map +1 -1
- package/dist/layout.d.ts +3 -3
- package/dist/navigation.d.ts +1 -1
- package/dist/{tooltip-CYRWWtkq.d.ts → tooltip-cjwkBINy.d.ts} +5 -1
- package/dist/types/layout/container.d.ts +2 -0
- package/dist/types/layout/container.d.ts.map +1 -1
- package/dist/ui/Button/button-variants.d.ts +1 -1
- package/dist/ui/Button/button.css +92 -77
- package/dist/ui/Button/button.d.ts +4 -0
- package/dist/ui/Button/button.d.ts.map +1 -1
- package/dist/ui/Button/button.js +8 -2
- package/dist/ui/Button/button.js.map +1 -1
- package/dist/ui/Icon/icon-variants.d.ts +1 -1
- package/dist/ui/Toggle/toggle-variants.d.ts +1 -1
- package/dist/ui.d.ts +2 -2
- package/package.json +1 -1
- package/vite-plugin.mjs +7 -2
|
@@ -2,7 +2,7 @@ import { VariantProps } from 'class-variance-authority';
|
|
|
2
2
|
import * as React from 'react';
|
|
3
3
|
import React__default, { ReactNode } from 'react';
|
|
4
4
|
import * as class_variance_authority_types from 'class-variance-authority/types';
|
|
5
|
-
import './tooltip-
|
|
5
|
+
import './tooltip-cjwkBINy.js';
|
|
6
6
|
import { e as TypographyVariant } from './typography-DOZHFR5A.js';
|
|
7
7
|
|
|
8
8
|
type AlertTheme = 'default' | 'primary' | 'secondary' | 'success' | 'destructive' | 'warning' | 'info' | 'slate';
|
|
@@ -45,7 +45,7 @@ type SortContextValue = {
|
|
|
45
45
|
};
|
|
46
46
|
|
|
47
47
|
declare const alertVariants: (props?: ({
|
|
48
|
-
theme?: "default" | "primary" | "secondary" | "
|
|
48
|
+
theme?: "default" | "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | null | undefined;
|
|
49
49
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
50
50
|
|
|
51
51
|
interface AlertProps extends VariantProps<typeof alertVariants> {
|
|
@@ -85,10 +85,10 @@ type AvatarFallbackProps = React.HTMLAttributes<HTMLSpanElement>;
|
|
|
85
85
|
declare const AvatarFallback: React.ForwardRefExoticComponent<AvatarFallbackProps & React.RefAttributes<HTMLSpanElement>>;
|
|
86
86
|
|
|
87
87
|
declare const chipVariants: (props?: ({
|
|
88
|
-
theme?: "
|
|
88
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
89
89
|
variant?: "soft" | "outline" | "solid" | null | undefined;
|
|
90
|
-
size?: "
|
|
91
|
-
shape?: "
|
|
90
|
+
size?: "xs" | "sm" | "md" | "2xs" | null | undefined;
|
|
91
|
+
shape?: "rounded" | "pill" | null | undefined;
|
|
92
92
|
dashed?: boolean | null | undefined;
|
|
93
93
|
mono?: boolean | null | undefined;
|
|
94
94
|
uppercase?: boolean | null | undefined;
|
|
@@ -114,7 +114,7 @@ interface ChipProps extends React.HTMLAttributes<HTMLSpanElement>, VariantProps<
|
|
|
114
114
|
declare const Chip: React.ForwardRefExoticComponent<ChipProps & React.RefAttributes<HTMLSpanElement>>;
|
|
115
115
|
|
|
116
116
|
declare const codeBlockVariants: (props?: ({
|
|
117
|
-
theme?: "default" | "primary" | "secondary" | "
|
|
117
|
+
theme?: "default" | "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | null | undefined;
|
|
118
118
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
119
119
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
120
120
|
|
|
@@ -187,7 +187,7 @@ declare function DialogPortal({ children }: {
|
|
|
187
187
|
}): React.JSX.Element;
|
|
188
188
|
|
|
189
189
|
declare const emptyStateVariants: (props?: ({
|
|
190
|
-
theme?: "default" | "primary" | "secondary" | "
|
|
190
|
+
theme?: "default" | "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | null | undefined;
|
|
191
191
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
192
192
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
193
193
|
|
|
@@ -205,7 +205,7 @@ declare const EmptyState: React.ForwardRefExoticComponent<EmptyStateProps & Reac
|
|
|
205
205
|
|
|
206
206
|
declare const iconVariants: (props?: ({
|
|
207
207
|
variant?: "contained" | "outlined" | "ghost" | "plain" | null | undefined;
|
|
208
|
-
theme?: "
|
|
208
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
209
209
|
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
210
210
|
rounded?: boolean | "extra" | null | undefined;
|
|
211
211
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
@@ -256,7 +256,7 @@ interface ListProps extends React.HTMLAttributes<HTMLUListElement | HTMLOListEle
|
|
|
256
256
|
size?: 'xs' | 'sm' | 'md' | 'lg';
|
|
257
257
|
muted?: boolean;
|
|
258
258
|
}
|
|
259
|
-
declare const List: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<
|
|
259
|
+
declare const List: React.ForwardRefExoticComponent<ListProps & React.RefAttributes<HTMLOListElement | HTMLUListElement>>;
|
|
260
260
|
interface ListItemProps extends React.LiHTMLAttributes<HTMLLIElement> {
|
|
261
261
|
icon?: React.ReactNode;
|
|
262
262
|
}
|
|
@@ -265,7 +265,7 @@ declare const ListItem: React.ForwardRefExoticComponent<ListItemProps & React.Re
|
|
|
265
265
|
declare const Pagination: React.ForwardRefExoticComponent<PaginationProps & React.RefAttributes<HTMLElement>>;
|
|
266
266
|
|
|
267
267
|
declare const progressBarVariants: (props?: ({
|
|
268
|
-
theme?: "
|
|
268
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
269
269
|
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
270
270
|
rounded?: boolean | null | undefined;
|
|
271
271
|
animated?: boolean | null | undefined;
|
|
@@ -317,7 +317,7 @@ interface StatCardProps extends React.ComponentPropsWithoutRef<'div'> {
|
|
|
317
317
|
declare const StatCard: React.ForwardRefExoticComponent<StatCardProps & React.RefAttributes<HTMLDivElement>>;
|
|
318
318
|
|
|
319
319
|
declare const statusDotVariants: (props?: ({
|
|
320
|
-
theme?: "
|
|
320
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
321
321
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
322
322
|
glow?: boolean | null | undefined;
|
|
323
323
|
pulse?: boolean | null | undefined;
|
|
@@ -343,7 +343,7 @@ interface StatusDotProps extends Omit<React.HTMLAttributes<HTMLSpanElement>, 'co
|
|
|
343
343
|
declare const StatusDot: React.ForwardRefExoticComponent<StatusDotProps & React.RefAttributes<HTMLSpanElement>>;
|
|
344
344
|
|
|
345
345
|
declare const stepProgressVariants: (props?: ({
|
|
346
|
-
theme?: "
|
|
346
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
347
347
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
348
348
|
orientation?: "horizontal" | "vertical" | null | undefined;
|
|
349
349
|
stretch?: boolean | null | undefined;
|
|
@@ -366,7 +366,7 @@ interface StepProgressProps extends Omit<React.HTMLAttributes<HTMLOListElement>,
|
|
|
366
366
|
declare const StepProgress: React.ForwardRefExoticComponent<StepProgressProps & React.RefAttributes<HTMLOListElement>>;
|
|
367
367
|
|
|
368
368
|
declare const switchVariants: (props?: ({
|
|
369
|
-
theme?: "
|
|
369
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
370
370
|
size?: "sm" | "md" | "lg" | null | undefined;
|
|
371
371
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
372
372
|
|
|
@@ -460,7 +460,7 @@ declare const TableToolbar: React.ForwardRefExoticComponent<TableToolbarProps &
|
|
|
460
460
|
|
|
461
461
|
declare const toggleVariants: (props?: ({
|
|
462
462
|
variant?: "contained" | "outlined" | "ghost" | null | undefined;
|
|
463
|
-
theme?: "
|
|
463
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
464
464
|
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
465
465
|
iconOnly?: boolean | null | undefined;
|
|
466
466
|
rounded?: boolean | "extra" | null | undefined;
|
package/dist/index.d.ts
CHANGED
|
@@ -1,55 +1,13 @@
|
|
|
1
|
-
export
|
|
2
|
-
export
|
|
3
|
-
export
|
|
4
|
-
|
|
5
|
-
export
|
|
6
|
-
|
|
7
|
-
export
|
|
8
|
-
export
|
|
9
|
-
export
|
|
10
|
-
export
|
|
11
|
-
export
|
|
12
|
-
export
|
|
13
|
-
|
|
14
|
-
export { T as Typography, a as TypographyAlign, b as TypographyProps, c as TypographyTheme, d as TypographyTransform, e as TypographyVariant, f as TypographyWeight } from './typography-DOZHFR5A.js';
|
|
15
|
-
export { B as Button, a as ButtonProps, T as Tooltip, b as TooltipContent, c as TooltipContentProps, d as TooltipProps, e as TooltipProvider, f as TooltipTrigger, g as TooltipTriggerProps } from './tooltip-CYRWWtkq.js';
|
|
16
|
-
export { UserInfo } from './user.js';
|
|
17
|
-
export { getCsrfToken } from './utils.js';
|
|
18
|
-
import 'react';
|
|
19
|
-
import 'class-variance-authority';
|
|
20
|
-
import 'class-variance-authority/types';
|
|
21
|
-
import 'lucide-react';
|
|
22
|
-
|
|
23
|
-
interface DragDropRef {
|
|
24
|
-
open: () => void;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
declare function useSidebar(): SidebarContextValue;
|
|
28
|
-
|
|
29
|
-
declare function useAlerts(): AlertContextValue;
|
|
30
|
-
|
|
31
|
-
declare function useTableSorting<T extends object, K extends string>(rows: T[], accessors: Record<K, (row: T) => unknown>): {
|
|
32
|
-
sortedRows: T[];
|
|
33
|
-
sortState: SortState | null | undefined;
|
|
34
|
-
};
|
|
35
|
-
|
|
36
|
-
type Appearance = 'light' | 'dark' | 'system';
|
|
37
|
-
type ResolvedAppearance = 'light' | 'dark';
|
|
38
|
-
declare function initializeTheme(): void;
|
|
39
|
-
declare function useAppearance(): {
|
|
40
|
-
readonly updateAppearance: (mode: Appearance) => void;
|
|
41
|
-
readonly appearance: Appearance;
|
|
42
|
-
readonly resolvedAppearance: ResolvedAppearance;
|
|
43
|
-
readonly isDarkMode: boolean;
|
|
44
|
-
};
|
|
45
|
-
|
|
46
|
-
declare function useInitials(): (fullName: string) => string;
|
|
47
|
-
|
|
48
|
-
declare function useBreakpoint(): {
|
|
49
|
-
width: number | undefined;
|
|
50
|
-
isBelow: (value?: number) => boolean;
|
|
51
|
-
};
|
|
52
|
-
declare function useIsMobile(breakpoint?: number): boolean;
|
|
53
|
-
|
|
54
|
-
export { AlertContextValue, SidebarContextValue, SortState, initializeTheme, useAlerts, useAppearance, useBreakpoint, useInitials, useIsMobile, useSidebar, useTableSorting };
|
|
55
|
-
export type { Appearance, DragDropRef, ResolvedAppearance };
|
|
1
|
+
export * from './brand';
|
|
2
|
+
export * from './form';
|
|
3
|
+
export * from './hooks';
|
|
4
|
+
export * from './layout';
|
|
5
|
+
export * from './navigation';
|
|
6
|
+
export * from './settings';
|
|
7
|
+
export * from './styles';
|
|
8
|
+
export * from './types';
|
|
9
|
+
export * from './typography';
|
|
10
|
+
export * from './ui';
|
|
11
|
+
export * from './user';
|
|
12
|
+
export * from './utils';
|
|
13
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -9,6 +9,23 @@ interface InputBaseProps {
|
|
|
9
9
|
helperText?: string;
|
|
10
10
|
startAdornment?: React.ReactNode;
|
|
11
11
|
endAdornment?: React.ReactNode;
|
|
12
|
+
/**
|
|
13
|
+
* Inline completion drawn behind the caret — the TAIL only, not the whole
|
|
14
|
+
* word. `value='Avo'` with `ghost='cado'` reads as "Avocado", the suggestion
|
|
15
|
+
* dimmed.
|
|
16
|
+
*
|
|
17
|
+
* The component owns the alignment; you own the policy. What to suggest and
|
|
18
|
+
* which key accepts it are decisions about your data and your users (a phone
|
|
19
|
+
* has a spacebar under the thumb and no Tab), so they stay with the caller.
|
|
20
|
+
* Accept by setting `value` to the completed string in your own `onKeyDown`.
|
|
21
|
+
*
|
|
22
|
+
* Pass `''` (not `undefined`) for "nothing to suggest right now": the
|
|
23
|
+
* element structure stays stable, so the field is never remounted mid-word.
|
|
24
|
+
*
|
|
25
|
+
* Ignored for `type='textarea'` — a ghost cannot follow a caret across
|
|
26
|
+
* wrapped lines without measuring, which is a different component.
|
|
27
|
+
*/
|
|
28
|
+
ghost?: string;
|
|
12
29
|
}
|
|
13
30
|
type InputFieldProps = InputBaseProps & React.InputHTMLAttributes<HTMLInputElement> & {
|
|
14
31
|
type?: Exclude<InputType, 'textarea'>;
|
|
@@ -166,7 +166,7 @@
|
|
|
166
166
|
padding: 0;
|
|
167
167
|
}
|
|
168
168
|
.container-module_styled__lBvLX.container-module_outlined__cT6vl {
|
|
169
|
-
border: 1px solid var(--divider);
|
|
169
|
+
border: 1px solid var(--container-color, var(--divider));
|
|
170
170
|
}
|
|
171
171
|
.container-module_styled__lBvLX.container-module_primary__j-bXY {
|
|
172
172
|
--themed-main: var(--primary-main);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/layout/Container/container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,SAAS,
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/layout/Container/container.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,eAAO,MAAM,SAAS,uFAuFrB,CAAC"}
|
|
@@ -3,7 +3,7 @@ import cn from 'clsx';
|
|
|
3
3
|
import * as React from 'react';
|
|
4
4
|
import s from './container.module.scss.js';
|
|
5
5
|
|
|
6
|
-
const Container = React.forwardRef(({ children, className, style, el, styled = true, direction = 'column', align, justify, full = false, rounded = true, theme, elevation, outlined, padding = 'lg', darkMode = false, gap = 0, ...props }, ref) => {
|
|
6
|
+
const Container = React.forwardRef(({ children, className, style, el, styled = true, direction = 'column', align, justify, full = false, rounded = true, theme, elevation, outlined, color, padding = 'lg', darkMode = false, gap = 0, ...props }, ref) => {
|
|
7
7
|
const Component = (el ?? 'div');
|
|
8
8
|
const gapClass = gap ? s[`gap-${gap}`] : undefined;
|
|
9
9
|
const rootClassName = cn(className, darkMode && 'dark', styled && s.styled, s[direction], align && s[`align-${align}`], justify && s[`justify-${justify}`], full && s.full, (styled && rounded === 'extra' && s['extra-rounded']) || (rounded && s.rounded), styled && outlined && s['outlined'], styled && typeof padding === 'number'
|
|
@@ -23,7 +23,10 @@ const Container = React.forwardRef(({ children, className, style, el, styled = t
|
|
|
23
23
|
window.clearTimeout(resetTimeout);
|
|
24
24
|
};
|
|
25
25
|
}, []);
|
|
26
|
-
const
|
|
26
|
+
const base = outlined ? { opacity, transition, ...style } : style;
|
|
27
|
+
const mergedStyle = color
|
|
28
|
+
? { ...base, '--container-color': color }
|
|
29
|
+
: base;
|
|
27
30
|
if (!el || el === 'div') {
|
|
28
31
|
return (jsx("div", { "data-slot": 'container', ref: ref, style: mergedStyle, className: rootClassName, ...props, children: children }));
|
|
29
32
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.js","sources":["../../../src/layout/Container/container.tsx"],"sourcesContent":["import { type ContainerProps } from '@constellation/types';\nimport cn from 'clsx';\nimport * as React from 'react';\nimport s from './container.module.scss';\n\nexport const Container = React.forwardRef<HTMLDivElement, ContainerProps>(\n (\n {\n children,\n className,\n style,\n el,\n styled = true,\n direction = 'column',\n align,\n justify,\n full = false,\n rounded = true,\n theme,\n elevation,\n outlined,\n padding = 'lg',\n darkMode = false,\n gap = 0,\n ...props\n },\n ref,\n ) => {\n const Component = (el ?? 'div') as React.ElementType<React.HTMLAttributes<HTMLDivElement>>;\n const gapClass = gap ? s[`gap-${gap}` as keyof typeof s] : undefined;\n\n const rootClassName = cn(\n className,\n darkMode && 'dark',\n styled && s.styled,\n s[direction],\n align && s[`align-${align}` as keyof typeof s],\n justify && s[`justify-${justify}` as keyof typeof s],\n full && s.full,\n (styled && rounded === 'extra' && s['extra-rounded']) || (rounded && s.rounded),\n styled && outlined && s['outlined'],\n styled && typeof padding === 'number'\n ? s[`padding-${padding}` as keyof typeof s]\n : styled && padding !== 'lg' && s[`padding-${padding}` as keyof typeof s],\n styled && elevation && s[`elevation-${elevation}` as keyof typeof s],\n styled && theme && s[`${theme}` as keyof typeof s],\n gapClass,\n );\n\n const [opacity, setOpacity] = React.useState(0);\n const [transition, setTransition] = React.useState('all 1s ease');\n\n React.useEffect(() => {\n const showTimeout = window.setTimeout(() => {\n setOpacity(1);\n }, 500);\n const resetTimeout = window.setTimeout(() => {\n setTransition('all .2s ease');\n }, 1500);\n\n return () => {\n window.clearTimeout(showTimeout);\n window.clearTimeout(resetTimeout);\n };\n }, []);\n\n const
|
|
1
|
+
{"version":3,"file":"container.js","sources":["../../../src/layout/Container/container.tsx"],"sourcesContent":["import { type ContainerProps } from '@constellation/types';\nimport cn from 'clsx';\nimport * as React from 'react';\nimport s from './container.module.scss';\n\nexport const Container = React.forwardRef<HTMLDivElement, ContainerProps>(\n (\n {\n children,\n className,\n style,\n el,\n styled = true,\n direction = 'column',\n align,\n justify,\n full = false,\n rounded = true,\n theme,\n elevation,\n outlined,\n color,\n padding = 'lg',\n darkMode = false,\n gap = 0,\n ...props\n },\n ref,\n ) => {\n const Component = (el ?? 'div') as React.ElementType<React.HTMLAttributes<HTMLDivElement>>;\n const gapClass = gap ? s[`gap-${gap}` as keyof typeof s] : undefined;\n\n const rootClassName = cn(\n className,\n darkMode && 'dark',\n styled && s.styled,\n s[direction],\n align && s[`align-${align}` as keyof typeof s],\n justify && s[`justify-${justify}` as keyof typeof s],\n full && s.full,\n (styled && rounded === 'extra' && s['extra-rounded']) || (rounded && s.rounded),\n styled && outlined && s['outlined'],\n styled && typeof padding === 'number'\n ? s[`padding-${padding}` as keyof typeof s]\n : styled && padding !== 'lg' && s[`padding-${padding}` as keyof typeof s],\n styled && elevation && s[`elevation-${elevation}` as keyof typeof s],\n styled && theme && s[`${theme}` as keyof typeof s],\n gapClass,\n );\n\n const [opacity, setOpacity] = React.useState(0);\n const [transition, setTransition] = React.useState('all 1s ease');\n\n React.useEffect(() => {\n const showTimeout = window.setTimeout(() => {\n setOpacity(1);\n }, 500);\n const resetTimeout = window.setTimeout(() => {\n setTransition('all .2s ease');\n }, 1500);\n\n return () => {\n window.clearTimeout(showTimeout);\n window.clearTimeout(resetTimeout);\n };\n }, []);\n\n const base = outlined ? { opacity, transition, ...style } : style;\n const mergedStyle = color\n ? ({ ...base, '--container-color': color } as React.CSSProperties)\n : base;\n\n if (!el || el === 'div') {\n return (\n <div\n data-slot={'container'}\n ref={ref}\n style={mergedStyle}\n className={rootClassName}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n return (\n <Component data-slot={'container'} style={mergedStyle} className={rootClassName} {...props}>\n {children}\n </Component>\n );\n },\n);\n\nContainer.displayName = 'Container';\n"],"names":["_jsx"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layout/Sidebar/sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAUlD,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,
|
|
1
|
+
{"version":3,"file":"sidebar.d.ts","sourceRoot":"","sources":["../../../src/layout/Sidebar/sidebar.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,2BAA2B,CAAC;AAUlD,OAAO,EAA4B,KAAK,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACrF,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAClD,OAAO,EAEL,cAAc,EAGf,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAGxD,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAG/B,OAAO,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAU/D,iBAAS,eAAe,CAAC,EACvB,WAAkB,EAClB,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,WAAW,EACzB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,OAAO,CAAC,CAAC,CAAC;CAC9D,qBA4FA;AAED,iBAAS,OAAO,CAAC,EACf,IAAa,EACb,OAAmB,EACnB,WAAoB,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,IAAI,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACxB,OAAO,CAAC,EAAE,cAAc,CAAC;IACzB,WAAW,CAAC,EAAE,WAAW,GAAG,MAAM,GAAG,MAAM,CAAC;CAC7C,qBA2DA;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,MAAM,CAAC,qBAsB5F;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,qBAe3E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAIzE;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,OAAO,KAAK,CAAC,qBAShF;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAS1E;AAED,iBAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAS1E;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAS3E;AAED,iBAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBASzE;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAWrD;AAED,iBAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,OAAe,EACf,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,qBAWxD;AAED,iBAAS,mBAAmB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAShF;AAED,iBAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBASvE;AAED,iBAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAS3E;AAED,iBAAS,iBAAiB,CAAC,EACzB,OAAe,EACf,QAAgB,EAChB,OAAmB,EACnB,IAAW,EACX,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;CAChE,GAAG,YAAY,CAAC,OAAO,yBAAyB,CAAC,qBA+BjD;AAED,iBAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,OAAe,EACf,WAAmB,EACnB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG;IAClC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,qBAWA;AAED,iBAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,qBAS7E;AAED,iBAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,QAAgB,EAChB,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG;IAC/B,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,qBA2BA;AAED,iBAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAS1E;AAED,iBAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAE,EAAE,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC,qBAS9E;AAED,iBAAS,oBAAoB,CAAC,EAC5B,OAAe,EACf,IAAW,EACX,QAAgB,EAChB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EACT,EAAE,KAAK,CAAC,cAAc,CAAC,GAAG,CAAC,GAAG;IAC7B,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,IAAI,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC,cAAc,CAAC,OAAO,cAAc,CAAC,CAAC;CAChE,qBA6BA;AAED,OAAO,EACL,OAAO,EACP,cAAc,EACd,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,aAAa,EACb,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,mBAAmB,EACnB,cAAc,EACd,oBAAoB,EACpB,kBAAkB,EAClB,eAAe,EACf,WAAW,EACX,cAAc,GACf,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sidebar.js","sources":["../../../src/layout/Sidebar/sidebar.tsx"],"sourcesContent":["import { Input } from '@constellation/form/Input';\nimport { useIsMobile, useSidebar } from '@constellation/hooks';\nimport { Skeleton } from '@constellation/layout/Skeleton';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from '@constellation/navigation/Sheet';\nimport { type SidebarContextValue, type SidebarVariant } from '@constellation/types';\nimport { Button } from '@constellation/ui/Button';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@constellation/ui/Tooltip';\nimport { VariantProps } from 'class-variance-authority';\nimport cn from 'clsx';\nimport { PanelLeftIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { Slot } from '../../internal/slot';\nimport { SidebarContext } from './sidebar-context';\nimport { sidebarMenuButtonVariants } from './sidebar-variants';\nimport s from './sidebar.module.scss';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '264px';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: React.Dispatch<React.SetStateAction<boolean>>;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n const [sidebarVariant, setSidebarVariant] = React.useState<SidebarVariant>('sidebar');\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(() => {\n if (typeof document === 'undefined') return defaultOpen;\n\n const match = document.cookie\n .split('; ')\n .find(row => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`));\n if (match) {\n return match.split('=')[1] === 'true';\n }\n\n return defaultOpen;\n });\n const open = openProp ?? _open;\n const setOpen = React.useCallback<React.Dispatch<React.SetStateAction<boolean>>>(\n value => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile(open => !open) : setOpen(open => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContextValue>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n variant: sidebarVariant,\n setVariant: setSidebarVariant,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, sidebarVariant],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot={'sidebar-wrapper'}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(s['sidebar-wrapper'], className, sidebarVariant === 'inset' && s.inset)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'icon',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: SidebarVariant;\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { isMobile, state, openMobile, setOpenMobile, setVariant } = useSidebar();\n\n React.useEffect(() => {\n setVariant(variant);\n }, [setVariant, variant]);\n\n if (collapsible === 'none') {\n return (\n <div data-slot={'sidebar'} className={cn(s['sidebar-panel'], className)} {...props}>\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetHeader className={'srOnly'}>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <SheetContent\n data-sidebar={'sidebar'}\n data-slot={'sidebar'}\n data-mobile={'true'}\n className={s['mobile-sheet-content']}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className={s['sidebar-panel']}>{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className={cn(s['sidebar-base'], className)}\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot={'sidebar'}\n {...props}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div className={s['sidebar-spacer']} />\n <div className={s['sidebar-fixed']}>\n <div data-sidebar={'sidebar'} className={s['sidebar-panel']}>\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar={'trigger'}\n data-slot={'sidebar-trigger'}\n variant={'ghost'}\n theme={'primary'}\n size={'md'}\n iconOnly\n className={cn(className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className={'srOnly'}>Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar={'rail'}\n data-slot={'sidebar-rail'}\n aria-label={'Toggle Sidebar'}\n tabIndex={-1}\n onClick={toggleSidebar}\n title={'Toggle Sidebar'}\n className={cn(s['sidebar-rail'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot={'sidebar-inset'} className={cn(s['sidebar-inset'], className)} {...props} />\n );\n}\n\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot={'sidebar-input'}\n data-sidebar={'input'}\n className={cn(s['sidebar-input'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-header'}\n data-sidebar={'header'}\n className={cn(s['sidebar-header'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-footer'}\n data-sidebar={'footer'}\n className={cn(s['sidebar-footer'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-content'}\n data-sidebar={'content'}\n className={cn(s['sidebar-content'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-group'}\n data-sidebar={'group'}\n className={cn(s['sidebar-group'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-slot={'sidebar-group-label'}\n data-sidebar={'group-label'}\n className={cn(s['sidebar-group-label'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot={'sidebar-group-action'}\n data-sidebar={'group-action'}\n className={cn(s['sidebar-group-action'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-group-content'}\n data-sidebar={'group-content'}\n className={cn(s['sidebar-group-content'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot={'sidebar-menu'}\n data-sidebar={'menu'}\n className={cn(s['sidebar-menu'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot={'sidebar-menu-item'}\n data-sidebar={'menu-item'}\n className={cn(s['sidebar-menu-item'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'md',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot={'sidebar-menu-button'}\n data-sidebar={'menu-button'}\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={'right'} hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot={'sidebar-menu-action'}\n data-sidebar={'menu-action'}\n className={cn(s['sidebar-menu-action'], showOnHover && 'is-hover', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-menu-badge'}\n data-sidebar={'menu-badge'}\n className={cn(s['sidebar-menu-badge'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot={'sidebar-menu-skeleton'}\n data-sidebar={'menu-skeleton'}\n className={cn(s['sidebar-menu-skeleton'], className)}\n {...props}\n >\n {showIcon && (\n <Skeleton className={s['menu-skeleton-icon']} data-sidebar={'menu-skeleton-icon'} />\n )}\n <Skeleton\n className={s['menu-skeleton-text']}\n data-sidebar={'menu-skeleton-text'}\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot={'sidebar-menu-sub'}\n data-sidebar={'menu-sub'}\n className={cn(s['sidebar-menu'], s['sidebar-menu-sub'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot={'sidebar-menu-sub-item'}\n data-sidebar={'menu-sub-item'}\n className={cn(s['sidebar-menu-item'], s['sidebar-menu-sub-item'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n}) {\n const Comp = asChild ? Slot : 'a';\n const { isMobile } = useSidebar();\n\n const button = (\n <Comp\n data-slot={'sidebar-menu-sub-button'}\n data-sidebar={'menu-sub-button'}\n data-size={size}\n data-active={isActive}\n className={cn(s['sidebar-menu-button'], s['sidebar-menu-sub-button'], className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = { children: tooltip };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={'right'} hidden={isMobile} {...tooltip} />\n </Tooltip>\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n};\n"],"names":["_jsx","_jsxs"],"mappings":";;;;;;;;;;;;;;;;;;AAsBA,MAAM,mBAAmB,GAAG,eAAe;AAC3C,MAAM,sBAAsB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;AAC/C,MAAM,aAAa,GAAG,OAAO;AAC7B,MAAM,oBAAoB,GAAG,OAAO;AACpC,MAAM,kBAAkB,GAAG,MAAM;AACjC,MAAM,yBAAyB,GAAG,GAAG;AAErC,SAAS,eAAe,CAAC,EACvB,WAAW,GAAG,IAAI,EAClB,IAAI,EAAE,QAAQ,EACd,YAAY,EAAE,WAAW,EACzB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,GAAG,KAAK,EAKT,EAAA;AACC,IAAA,MAAM,QAAQ,GAAG,WAAW,EAAE;AAC9B,IAAA,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC;AACzD,IAAA,MAAM,CAAC,cAAc,EAAE,iBAAiB,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAiB,SAAS,CAAC;;;IAIrF,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,QAAQ,CAAC,MAAK;QAC5C,IAAI,OAAO,QAAQ,KAAK,WAAW;AAAE,YAAA,OAAO,WAAW;AAEvD,QAAA,MAAM,KAAK,GAAG,QAAQ,CAAC;aACpB,KAAK,CAAC,IAAI;AACV,aAAA,IAAI,CAAC,GAAG,IAAI,GAAG,CAAC,UAAU,CAAC,CAAA,EAAG,mBAAmB,CAAA,CAAA,CAAG,CAAC,CAAC;QACzD,IAAI,KAAK,EAAE;YACT,OAAO,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM;QACvC;AAEA,QAAA,OAAO,WAAW;AACpB,IAAA,CAAC,CAAC;AACF,IAAA,MAAM,IAAI,GAAG,QAAQ,IAAI,KAAK;IAC9B,MAAM,OAAO,GAAG,KAAK,CAAC,WAAW,CAC/B,KAAK,IAAG;AACN,QAAA,MAAM,SAAS,GAAG,OAAO,KAAK,KAAK,UAAU,GAAG,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK;QACnE,IAAI,WAAW,EAAE;YACf,WAAW,CAAC,SAAS,CAAC;QACxB;aAAO;YACL,QAAQ,CAAC,SAAS,CAAC;QACrB;;QAGA,QAAQ,CAAC,MAAM,GAAG,CAAA,EAAG,mBAAmB,IAAI,SAAS,CAAA,kBAAA,EAAqB,sBAAsB,CAAA,CAAE;AACpG,IAAA,CAAC,EACD,CAAC,WAAW,EAAE,IAAI,CAAC,CACpB;;AAGD,IAAA,MAAM,aAAa,GAAG,KAAK,CAAC,WAAW,CAAC,MAAK;QAC3C,OAAO,QAAQ,GAAG,aAAa,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,GAAG,OAAO,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC;IACzE,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,aAAa,CAAC,CAAC;;AAGtC,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;AACnB,QAAA,MAAM,aAAa,GAAG,CAAC,KAAoB,KAAI;AAC7C,YAAA,IAAI,KAAK,CAAC,GAAG,KAAK,yBAAyB,KAAK,KAAK,CAAC,OAAO,IAAI,KAAK,CAAC,OAAO,CAAC,EAAE;gBAC/E,KAAK,CAAC,cAAc,EAAE;AACtB,gBAAA,aAAa,EAAE;YACjB;AACF,QAAA,CAAC;AAED,QAAA,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,aAAa,CAAC;QACjD,OAAO,MAAM,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,aAAa,CAAC;AACnE,IAAA,CAAC,EAAE,CAAC,aAAa,CAAC,CAAC;;;IAInB,MAAM,KAAK,GAAG,IAAI,GAAG,UAAU,GAAG,WAAW;IAE7C,MAAM,YAAY,GAAG,KAAK,CAAC,OAAO,CAChC,OAAO;QACL,KAAK;QACL,IAAI;QACJ,OAAO;QACP,QAAQ;QACR,UAAU;QACV,aAAa;QACb,aAAa;AACb,QAAA,OAAO,EAAE,cAAc;AACvB,QAAA,UAAU,EAAE,iBAAiB;AAC9B,KAAA,CAAC,EACF,CAAC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,aAAa,EAAE,aAAa,EAAE,cAAc,CAAC,CAC3F;IAED,QACEA,IAAC,cAAc,CAAC,QAAQ,EAAA,EAAC,KAAK,EAAE,YAAY,EAAA,QAAA,EAC1CA,IAAC,eAAe,EAAA,EAAC,aAAa,EAAE,CAAC,YAC/BA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EACa,iBAAiB,EAC5B,KAAK,EACH;AACE,oBAAA,iBAAiB,EAAE,aAAa;AAChC,oBAAA,sBAAsB,EAAE,kBAAkB;AAC1C,oBAAA,GAAG,KAAK;iBACc,EAE1B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,SAAS,EAAE,cAAc,KAAK,OAAO,IAAI,CAAC,CAAC,KAAK,CAAC,EAAA,GACjF,KAAK,EAAA,QAAA,EAER,QAAQ,EAAA,CACL,EAAA,CACU,EAAA,CACM;AAE9B;AAEA,SAAS,OAAO,CAAC,EACf,IAAI,GAAG,MAAM,EACb,OAAO,GAAG,SAAS,EACnB,WAAW,GAAG,MAAM,EACpB,SAAS,EACT,QAAQ,EACR,GAAG,KAAK,EAKT,EAAA;AACC,IAAA,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,UAAU,EAAE,GAAG,UAAU,EAAE;AAE/E,IAAA,KAAK,CAAC,SAAS,CAAC,MAAK;QACnB,UAAU,CAAC,OAAO,CAAC;AACrB,IAAA,CAAC,EAAE,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;AAEzB,IAAA,IAAI,WAAW,KAAK,MAAM,EAAE;QAC1B,QACEA,0BAAgB,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EAAA,GAAM,KAAK,EAAA,QAAA,EAC/E,QAAQ,EAAA,CACL;IAEV;IAEA,IAAI,QAAQ,EAAE;QACZ,QACEC,KAAC,KAAK,EAAA,EAAC,IAAI,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAA,GAAM,KAAK,aAC7DA,IAAA,CAAC,WAAW,IAAC,SAAS,EAAE,QAAQ,EAAA,QAAA,EAAA,CAC9BD,GAAA,CAAC,UAAU,0BAAqB,EAChCA,GAAA,CAAC,gBAAgB,EAAA,EAAA,QAAA,EAAA,8BAAA,EAAA,CAAgD,CAAA,EAAA,CACrD,EACdA,GAAA,CAAC,YAAY,EAAA,EAAA,cAAA,EACG,SAAS,EAAA,WAAA,EACZ,SAAS,iBACP,MAAM,EACnB,SAAS,EAAE,CAAC,CAAC,sBAAsB,CAAC,EACpC,KAAK,EACH;AACE,wBAAA,iBAAiB,EAAE,oBAAoB;AACjB,qBAAA,EAE1B,IAAI,EAAE,IAAI,EAAA,QAAA,EAEVA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,EAAA,QAAA,EAAG,QAAQ,GAAO,EAAA,CACvC,CAAA,EAAA,CACT;IAEZ;AAEA,IAAA,QACEC,IAAA,CAAA,KAAA,EAAA,EACE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,gBAC/B,KAAK,EAAA,kBAAA,EACC,KAAK,KAAK,WAAW,GAAG,WAAW,GAAG,EAAE,EAAA,cAAA,EAC5C,OAAO,EAAA,WAAA,EACV,IAAI,eACJ,SAAS,EAAA,GAChB,KAAK,EAAA,QAAA,EAAA,CAGTD,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAAA,CAAI,EACvCA,GAAA,CAAA,KAAA,EAAA,EAAK,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,EAAA,QAAA,EAChCA,GAAA,CAAA,KAAA,EAAA,EAAA,cAAA,EAAmB,SAAS,EAAE,SAAS,EAAE,CAAC,CAAC,eAAe,CAAC,EAAA,QAAA,EACxD,QAAQ,EAAA,CACL,EAAA,CACF,CAAA,EAAA,CACF;AAEV;AAEA,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,OAAO,EAAE,GAAG,KAAK,EAAuC,EAAA;AAC3F,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE;AAEtC,IAAA,QACEC,IAAA,CAAC,MAAM,EAAA,EAAA,cAAA,EACS,SAAS,EAAA,WAAA,EACZ,iBAAiB,EAC5B,OAAO,EAAE,OAAO,EAChB,KAAK,EAAE,SAAS,EAChB,IAAI,EAAE,IAAI,EACV,QAAQ,EAAA,IAAA,EACR,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,EACxB,OAAO,EAAE,KAAK,IAAG;AACf,YAAA,OAAO,GAAG,KAAK,CAAC;AAChB,YAAA,aAAa,EAAE;AACjB,QAAA,CAAC,EAAA,GACG,KAAK,EAAA,QAAA,EAAA,CAETD,GAAA,CAAC,aAAa,EAAA,EAAA,CAAG,EACjBA,GAAA,CAAA,MAAA,EAAA,EAAM,SAAS,EAAE,QAAQ,EAAA,QAAA,EAAA,gBAAA,EAAA,CAAuB,CAAA,EAAA,CACzC;AAEb;AAEA,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAkC,EAAA;AAC1E,IAAA,MAAM,EAAE,aAAa,EAAE,GAAG,UAAU,EAAE;AAEtC,IAAA,QACEA,GAAA,CAAA,QAAA,EAAA,EAAA,cAAA,EACgB,MAAM,EAAA,WAAA,EACT,cAAc,gBACb,gBAAgB,EAC5B,QAAQ,EAAE,EAAE,EACZ,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,gBAAgB,EACvB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,EAAA,GACvC,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;AACxE,IAAA,QACEA,GAAA,CAAA,KAAA,EAAA,EAAA,WAAA,EAAgB,eAAe,EAAE,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,KAAM,KAAK,EAAA,CAAI;AAEhG;AAEA,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAAsC,EAAA;IAC/E,QACEA,IAAC,KAAK,EAAA,EAAA,WAAA,EACO,eAAe,EAAA,cAAA,EACZ,OAAO,EACrB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EAAA,GACxC,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;IACzE,QACEA,0BACa,gBAAgB,EAAA,cAAA,EACb,QAAQ,EACtB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,EAAA,GACzC,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,aAAa,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;IACzE,QACEA,0BACa,gBAAgB,EAAA,cAAA,EACb,QAAQ,EACtB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,gBAAgB,CAAC,EAAE,SAAS,CAAC,EAAA,GACzC,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;IAC1E,QACEA,0BACa,iBAAiB,EAAA,cAAA,EACd,SAAS,EACvB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,iBAAiB,CAAC,EAAE,SAAS,CAAC,EAAA,GAC1C,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,YAAY,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;IACxE,QACEA,0BACa,eAAe,EAAA,cAAA,EACZ,OAAO,EACrB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,eAAe,CAAC,EAAE,SAAS,CAAC,EAAA,GACxC,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EAC4C,EAAA;IACpD,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,KAAK;IAEnC,QACEA,IAAC,IAAI,EAAA,EAAA,WAAA,EACQ,qBAAqB,EAAA,cAAA,EAClB,aAAa,EAC3B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,SAAS,CAAC,EAAA,GAC9C,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,kBAAkB,CAAC,EAC1B,SAAS,EACT,OAAO,GAAG,KAAK,EACf,GAAG,KAAK,EAC+C,EAAA;IACvD,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;IAEtC,QACEA,IAAC,IAAI,EAAA,EAAA,WAAA,EACQ,sBAAsB,EAAA,cAAA,EACnB,cAAc,EAC5B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,sBAAsB,CAAC,EAAE,SAAS,CAAC,EAAA,GAC/C,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,mBAAmB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;IAC/E,QACEA,0BACa,uBAAuB,EAAA,cAAA,EACpB,eAAe,EAC7B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,EAAA,GAChD,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,WAAW,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B,EAAA;IACtE,QACEA,yBACa,cAAc,EAAA,cAAA,EACX,MAAM,EACpB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,SAAS,CAAC,EAAA,GACvC,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,eAAe,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B,EAAA;IAC1E,QACEA,yBACa,mBAAmB,EAAA,cAAA,EAChB,WAAW,EACzB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,SAAS,CAAC,EAAA,GAC5C,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,iBAAiB,CAAC,EACzB,OAAO,GAAG,KAAK,EACf,QAAQ,GAAG,KAAK,EAChB,OAAO,GAAG,SAAS,EACnB,IAAI,GAAG,IAAI,EACX,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EAKwC,EAAA;IAChD,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;IACtC,MAAM,EAAE,QAAQ,EAAE,KAAK,EAAE,GAAG,UAAU,EAAE;AAExC,IAAA,MAAM,MAAM,IACVA,GAAA,CAAC,IAAI,EAAA,EAAA,WAAA,EACQ,qBAAqB,EAAA,cAAA,EAClB,aAAa,EAAA,WAAA,EAChB,IAAI,EAAA,aAAA,EACF,QAAQ,EACrB,SAAS,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,EAAE,SAAS,CAAC,EAAA,GAClE,KAAK,EAAA,CACT,CACH;IAED,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,QAAA,OAAO,GAAG;AACR,YAAA,QAAQ,EAAE,OAAO;SAClB;IACH;AAEA,IAAA,QACEC,IAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACND,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAAE,MAAM,EAAA,CAAkB,EACjDA,IAAC,cAAc,EAAA,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,KAAK,WAAW,IAAI,QAAQ,EAAA,GAAM,OAAO,EAAA,CAAI,CAAA,EAAA,CACjF;AAEd;AAEA,SAAS,iBAAiB,CAAC,EACzB,SAAS,EACT,OAAO,GAAG,KAAK,EACf,WAAW,GAAG,KAAK,EACnB,GAAG,KAAK,EAIT,EAAA;IACC,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,QAAQ;IAEtC,QACEA,GAAA,CAAC,IAAI,EAAA,EAAA,WAAA,EACQ,qBAAqB,EAAA,cAAA,EAClB,aAAa,EAC3B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,WAAW,IAAI,UAAU,EAAE,SAAS,CAAC,EAAA,GACzE,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA+B,EAAA;IAC5E,QACEA,0BACa,oBAAoB,EAAA,cAAA,EACjB,YAAY,EAC1B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,oBAAoB,CAAC,EAAE,SAAS,CAAC,EAAA,GAC7C,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,mBAAmB,CAAC,EAC3B,SAAS,EACT,QAAQ,GAAG,KAAK,EAChB,GAAG,KAAK,EAGT,EAAA;;AAEC,IAAA,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,CAAC,MAAK;AAC/B,QAAA,OAAO,CAAA,EAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,GAAG,EAAE,GAAG;IAClD,CAAC,EAAE,EAAE,CAAC;IAEN,QACEC,2BACa,uBAAuB,EAAA,cAAA,EACpB,eAAe,EAC7B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,EAAA,GAChD,KAAK,EAAA,QAAA,EAAA,CAER,QAAQ,KACPD,GAAA,CAAC,QAAQ,IAAC,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAA,cAAA,EAAgB,oBAAoB,EAAA,CAAI,CACrF,EACDA,GAAA,CAAC,QAAQ,EAAA,EACP,SAAS,EAAE,CAAC,CAAC,oBAAoB,CAAC,EAAA,cAAA,EACpB,oBAAoB,EAClC,KAAK,EACH;AACE,oBAAA,kBAAkB,EAAE,KAAK;iBACH,EAAA,CAE1B,CAAA,EAAA,CACE;AAEV;AAEA,SAAS,cAAc,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B,EAAA;IACzE,QACEA,GAAA,CAAA,IAAA,EAAA,EAAA,WAAA,EACa,kBAAkB,EAAA,cAAA,EACf,UAAU,EACxB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC,kBAAkB,CAAC,EAAE,SAAS,CAAC,EAAA,GAC9D,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,kBAAkB,CAAC,EAAE,SAAS,EAAE,GAAG,KAAK,EAA8B,EAAA;IAC7E,QACEA,GAAA,CAAA,IAAA,EAAA,EAAA,WAAA,EACa,uBAAuB,EAAA,cAAA,EACpB,eAAe,EAC7B,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,mBAAmB,CAAC,EAAE,CAAC,CAAC,uBAAuB,CAAC,EAAE,SAAS,CAAC,EAAA,GACxE,KAAK,EAAA,CACT;AAEN;AAEA,SAAS,oBAAoB,CAAC,EAC5B,OAAO,GAAG,KAAK,EACf,IAAI,GAAG,IAAI,EACX,QAAQ,GAAG,KAAK,EAChB,OAAO,EACP,SAAS,EACT,GAAG,KAAK,EAMT,EAAA;IACC,MAAM,IAAI,GAAG,OAAO,GAAG,IAAI,GAAG,GAAG;AACjC,IAAA,MAAM,EAAE,QAAQ,EAAE,GAAG,UAAU,EAAE;AAEjC,IAAA,MAAM,MAAM,IACVA,GAAA,CAAC,IAAI,EAAA,EAAA,WAAA,EACQ,yBAAyB,EAAA,cAAA,EACtB,iBAAiB,eACpB,IAAI,EAAA,aAAA,EACF,QAAQ,EACrB,SAAS,EAAE,EAAE,CAAC,CAAC,CAAC,qBAAqB,CAAC,EAAE,CAAC,CAAC,yBAAyB,CAAC,EAAE,SAAS,CAAC,EAAA,GAC5E,KAAK,EAAA,CACT,CACH;IAED,IAAI,CAAC,OAAO,EAAE;AACZ,QAAA,OAAO,MAAM;IACf;AAEA,IAAA,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE;AAC/B,QAAA,OAAO,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE;IACjC;IAEA,QACEC,IAAA,CAAC,OAAO,EAAA,EAAA,QAAA,EAAA,CACND,GAAA,CAAC,cAAc,EAAA,EAAC,OAAO,EAAA,IAAA,EAAA,QAAA,EAAE,MAAM,EAAA,CAAkB,EACjDA,GAAA,CAAC,cAAc,EAAA,EAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAA,GAAM,OAAO,EAAA,CAAI,CAAA,EAAA,CACxD;AAEd;;"}
|
|
1
|
+
{"version":3,"file":"sidebar.js","sources":["../../../src/layout/Sidebar/sidebar.tsx"],"sourcesContent":["import { Input } from '@constellation/form/Input';\nimport { useIsMobile, useSidebar } from '@constellation/hooks';\nimport { Skeleton } from '@constellation/layout/Skeleton';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from '@constellation/navigation/Sheet';\nimport { type SidebarContextValue, type SidebarVariant } from '@constellation/types';\nimport { Button } from '@constellation/ui/Button';\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from '@constellation/ui/Tooltip';\nimport { VariantProps } from 'class-variance-authority';\nimport cn from 'clsx';\nimport { PanelLeftIcon } from 'lucide-react';\nimport * as React from 'react';\nimport { Slot } from '../../internal/slot';\nimport { SidebarContext } from './sidebar-context';\nimport { sidebarMenuButtonVariants } from './sidebar-variants';\nimport s from './sidebar.module.scss';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '264px';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: React.Dispatch<React.SetStateAction<boolean>>;\n}) {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\n const [sidebarVariant, setSidebarVariant] = React.useState<SidebarVariant>('sidebar');\n\n // This is the internal state of the sidebar.\n // We use openProp and setOpenProp for control from outside the component.\n const [_open, _setOpen] = React.useState(() => {\n if (typeof document === 'undefined') return defaultOpen;\n\n const match = document.cookie\n .split('; ')\n .find(row => row.startsWith(`${SIDEBAR_COOKIE_NAME}=`));\n if (match) {\n return match.split('=')[1] === 'true';\n }\n\n return defaultOpen;\n });\n const open = openProp ?? _open;\n const setOpen = React.useCallback<React.Dispatch<React.SetStateAction<boolean>>>(\n value => {\n const openState = typeof value === 'function' ? value(open) : value;\n if (setOpenProp) {\n setOpenProp(openState);\n } else {\n _setOpen(openState);\n }\n\n // This sets the cookie to keep the sidebar state.\n document.cookie = `${SIDEBAR_COOKIE_NAME}=${openState}; path=/; max-age=${SIDEBAR_COOKIE_MAX_AGE}`;\n },\n [setOpenProp, open],\n );\n\n // Helper to toggle the sidebar.\n const toggleSidebar = React.useCallback(() => {\n return isMobile ? setOpenMobile(open => !open) : setOpen(open => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContextValue>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n variant: sidebarVariant,\n setVariant: setSidebarVariant,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar, sidebarVariant],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\n data-slot={'sidebar-wrapper'}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH,\n '--sidebar-width-icon': SIDEBAR_WIDTH_ICON,\n ...style,\n } as React.CSSProperties\n }\n className={cn(s['sidebar-wrapper'], className, sidebarVariant === 'inset' && s.inset)}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'icon',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: SidebarVariant;\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { isMobile, state, openMobile, setOpenMobile, setVariant } = useSidebar();\n\n React.useEffect(() => {\n setVariant(variant);\n }, [setVariant, variant]);\n\n if (collapsible === 'none') {\n return (\n <div data-slot={'sidebar'} className={cn(s['sidebar-panel'], className)} {...props}>\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetHeader className={'srOnly'}>\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <SheetContent\n data-sidebar={'sidebar'}\n data-slot={'sidebar'}\n data-mobile={'true'}\n className={s['mobile-sheet-content']}\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className={s['sidebar-panel']}>{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className={cn(s['sidebar-base'], className)}\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot={'sidebar'}\n {...props}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div className={s['sidebar-spacer']} />\n <div className={s['sidebar-fixed']}>\n <div data-sidebar={'sidebar'} className={s['sidebar-panel']}>\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar={'trigger'}\n data-slot={'sidebar-trigger'}\n variant={'ghost'}\n theme={'primary'}\n size={'md'}\n iconOnly\n className={cn(className)}\n onClick={event => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className={'srOnly'}>Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar={'rail'}\n data-slot={'sidebar-rail'}\n aria-label={'Toggle Sidebar'}\n tabIndex={-1}\n onClick={toggleSidebar}\n title={'Toggle Sidebar'}\n className={cn(s['sidebar-rail'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div data-slot={'sidebar-inset'} className={cn(s['sidebar-inset'], className)} {...props} />\n );\n}\n\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot={'sidebar-input'}\n data-sidebar={'input'}\n className={cn(s['sidebar-input'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-header'}\n data-sidebar={'header'}\n className={cn(s['sidebar-header'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-footer'}\n data-sidebar={'footer'}\n className={cn(s['sidebar-footer'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-content'}\n data-sidebar={'content'}\n className={cn(s['sidebar-content'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-group'}\n data-sidebar={'group'}\n className={cn(s['sidebar-group'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-slot={'sidebar-group-label'}\n data-sidebar={'group-label'}\n className={cn(s['sidebar-group-label'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot={'sidebar-group-action'}\n data-sidebar={'group-action'}\n className={cn(s['sidebar-group-action'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-group-content'}\n data-sidebar={'group-content'}\n className={cn(s['sidebar-group-content'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot={'sidebar-menu'}\n data-sidebar={'menu'}\n className={cn(s['sidebar-menu'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot={'sidebar-menu-item'}\n data-sidebar={'menu-item'}\n className={cn(s['sidebar-menu-item'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'md',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot={'sidebar-menu-button'}\n data-sidebar={'menu-button'}\n data-size={size}\n data-active={isActive}\n className={cn(sidebarMenuButtonVariants({ variant, size }), className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = {\n children: tooltip,\n };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={'right'} hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n );\n}\n\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot={'sidebar-menu-action'}\n data-sidebar={'menu-action'}\n className={cn(s['sidebar-menu-action'], showOnHover && 'is-hover', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot={'sidebar-menu-badge'}\n data-sidebar={'menu-badge'}\n className={cn(s['sidebar-menu-badge'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\n // Random width between 50 to 90%.\n const width = React.useMemo(() => {\n return `${Math.floor(Math.random() * 40) + 50}%`;\n }, []);\n\n return (\n <div\n data-slot={'sidebar-menu-skeleton'}\n data-sidebar={'menu-skeleton'}\n className={cn(s['sidebar-menu-skeleton'], className)}\n {...props}\n >\n {showIcon && (\n <Skeleton className={s['menu-skeleton-icon']} data-sidebar={'menu-skeleton-icon'} />\n )}\n <Skeleton\n className={s['menu-skeleton-text']}\n data-sidebar={'menu-skeleton-text'}\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot={'sidebar-menu-sub'}\n data-sidebar={'menu-sub'}\n className={cn(s['sidebar-menu'], s['sidebar-menu-sub'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot={'sidebar-menu-sub-item'}\n data-sidebar={'menu-sub-item'}\n className={cn(s['sidebar-menu-item'], s['sidebar-menu-sub-item'], className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n}) {\n const Comp = asChild ? Slot : 'a';\n const { isMobile } = useSidebar();\n\n const button = (\n <Comp\n data-slot={'sidebar-menu-sub-button'}\n data-sidebar={'menu-sub-button'}\n data-size={size}\n data-active={isActive}\n className={cn(s['sidebar-menu-button'], s['sidebar-menu-sub-button'], className)}\n {...props}\n />\n );\n\n if (!tooltip) {\n return button;\n }\n\n if (typeof tooltip === 'string') {\n tooltip = { children: tooltip };\n }\n\n return (\n <Tooltip>\n <TooltipTrigger asChild>{button}</TooltipTrigger>\n <TooltipContent side={'right'} hidden={isMobile} {...tooltip} />\n </Tooltip>\n );\n}\n\nexport {\n Sidebar,\n SidebarContent,\n SidebarFooter,\n SidebarGroup,\n SidebarGroupAction,\n SidebarGroupContent,\n SidebarGroupLabel,\n SidebarHeader,\n SidebarInput,\n SidebarInset,\n SidebarMenu,\n SidebarMenuAction,\n SidebarMenuBadge,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSkeleton,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n SidebarProvider,\n SidebarRail,\n SidebarTrigger,\n};\n"],"names":["_jsx","_jsxs"],"mappings":"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"}
|
package/dist/layout.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
export { A as AppContent, a as AppFooter, b as AppFooterProps, c as AppShell, d as AppShellProps, e as AppSidebar, f as AppSidebarHeader, g as AppSidebarHeaderProps, h as AppSidebarProps, C as Collapse, i as CollapseProps, j as Column, k as ColumnProps, l as Container, G as Grid, R as Row, p as Sidebar, q as SidebarContent, r as SidebarFooter, s as SidebarGroup, t as SidebarGroupAction, u as SidebarGroupContent, v as SidebarGroupLabel, w as SidebarHeader, x as SidebarInput, y as SidebarInset, z as SidebarMenu, B as SidebarMenuAction, D as SidebarMenuBadge, E as SidebarMenuButton, F as SidebarMenuItem, H as SidebarMenuSkeleton, I as SidebarMenuSub, J as SidebarMenuSubButton, K as SidebarMenuSubItem, L as SidebarProvider, M as SidebarRail, N as SidebarTrigger, P as Skeleton } from './index-
|
|
1
|
+
export { A as AppContent, a as AppFooter, b as AppFooterProps, c as AppShell, d as AppShellProps, e as AppSidebar, f as AppSidebarHeader, g as AppSidebarHeaderProps, h as AppSidebarProps, C as Collapse, i as CollapseProps, j as Column, k as ColumnProps, l as Container, G as Grid, R as Row, p as Sidebar, q as SidebarContent, r as SidebarFooter, s as SidebarGroup, t as SidebarGroupAction, u as SidebarGroupContent, v as SidebarGroupLabel, w as SidebarHeader, x as SidebarInput, y as SidebarInset, z as SidebarMenu, B as SidebarMenuAction, D as SidebarMenuBadge, E as SidebarMenuButton, F as SidebarMenuItem, H as SidebarMenuSkeleton, I as SidebarMenuSub, J as SidebarMenuSubButton, K as SidebarMenuSubItem, L as SidebarProvider, M as SidebarRail, N as SidebarTrigger, P as Skeleton } from './index-Mihuyg_o.js';
|
|
2
2
|
export { R as RowProps } from './row-CS9-talZ.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import './nav-user-CJIcWKyY.js';
|
|
5
5
|
import 'lucide-react';
|
|
6
6
|
import './user-menu-content-D0Ldzigm.js';
|
|
7
|
-
import './input-
|
|
8
|
-
import './tooltip-
|
|
7
|
+
import './input-Cp5LET5i.js';
|
|
8
|
+
import './tooltip-cjwkBINy.js';
|
|
9
9
|
import 'class-variance-authority';
|
|
10
10
|
import 'class-variance-authority/types';
|
package/dist/navigation.d.ts
CHANGED
|
@@ -62,7 +62,7 @@ declare function DropdownMenuSubContent({ className, ...props }: React.HTMLAttri
|
|
|
62
62
|
declare const linkVariants: (props?: ({
|
|
63
63
|
underline?: boolean | null | undefined;
|
|
64
64
|
hover?: "default" | "none" | null | undefined;
|
|
65
|
-
theme?: "
|
|
65
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
66
66
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
67
67
|
|
|
68
68
|
interface LinkProps extends Omit<React.AnchorHTMLAttributes<HTMLAnchorElement>, 'onClick'>, VariantProps<typeof linkVariants> {
|
|
@@ -4,13 +4,17 @@ import * as class_variance_authority_types from 'class-variance-authority/types'
|
|
|
4
4
|
|
|
5
5
|
declare const buttonVariants: (props?: ({
|
|
6
6
|
variant?: "contained" | "outlined" | "ghost" | null | undefined;
|
|
7
|
-
theme?: "
|
|
7
|
+
theme?: "primary" | "secondary" | "destructive" | "success" | "warning" | "info" | "slate" | "inherit" | null | undefined;
|
|
8
8
|
size?: "xs" | "sm" | "md" | "lg" | null | undefined;
|
|
9
9
|
iconOnly?: boolean | null | undefined;
|
|
10
10
|
rounded?: boolean | "extra" | null | undefined;
|
|
11
11
|
} & class_variance_authority_types.ClassProp) | undefined) => string;
|
|
12
12
|
|
|
13
13
|
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement>, VariantProps<typeof buttonVariants> {
|
|
14
|
+
/** A colour outside the theme scale; overrides the theme's colour roles. */
|
|
15
|
+
color?: string;
|
|
16
|
+
/** Ink for `contained` when `color` is set and the default contrast is wrong. */
|
|
17
|
+
onColor?: string;
|
|
14
18
|
asChild?: boolean;
|
|
15
19
|
}
|
|
16
20
|
declare const Button: React.ForwardRefExoticComponent<ButtonProps & React.RefAttributes<HTMLButtonElement>>;
|
|
@@ -9,6 +9,8 @@ export interface ContainerProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
|
9
9
|
full?: boolean;
|
|
10
10
|
rounded?: boolean | 'extra';
|
|
11
11
|
outlined?: boolean;
|
|
12
|
+
/** A border colour outside the theme scale; pairs with `outlined`. */
|
|
13
|
+
color?: string;
|
|
12
14
|
theme?: 'primary' | 'secondary' | 'success' | 'destructive' | 'warning' | 'info' | 'slate' | 'light-slate';
|
|
13
15
|
elevation?: number;
|
|
14
16
|
padding?: 0 | 1 | 2 | 3 | 4 | 5 | 6 | 'xl' | 'lg' | 'md' | 'sm' | 'none';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/types/layout/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;IACzF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,KAAK,CAAC,EACF,SAAS,GACT,WAAW,GACX,SAAS,GACT,aAAa,GACb,SAAS,GACT,MAAM,GACN,OAAO,GACP,aAAa,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
1
|
+
{"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../../../src/types/layout/container.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,MAAM,WAAW,cAAe,SAAQ,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC;IAC1E,QAAQ,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC3B,EAAE,CAAC,EAAE,KAAK,CAAC,WAAW,CAAC,KAAK,CAAC,cAAc,CAAC,cAAc,CAAC,CAAC,CAAC;IAC7D,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,SAAS,CAAC,EAAE,QAAQ,GAAG,KAAK,CAAC;IAC7B,KAAK,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;IAC/C,OAAO,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,KAAK,GAAG,eAAe,GAAG,cAAc,GAAG,cAAc,CAAC;IACzF,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC;IAC5B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,sEAAsE;IACtE,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EACF,SAAS,GACT,WAAW,GACX,SAAS,GACT,aAAa,GACb,SAAS,GACT,MAAM,GACN,OAAO,GACP,aAAa,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,GAAG,MAAM,CAAC;IACzE,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;CACd"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export declare const buttonVariants: (props?: ({
|
|
2
|
-
variant?: "
|
|
2
|
+
variant?: "ghost" | "contained" | "outlined" | null | undefined;
|
|
3
3
|
theme?: "inherit" | "primary" | "secondary" | "destructive" | "warning" | "success" | "info" | "slate" | null | undefined;
|
|
4
4
|
size?: "sm" | "md" | "lg" | "xs" | null | undefined;
|
|
5
5
|
iconOnly?: boolean | null | undefined;
|