@gamecp/ui 0.1.39 → 0.1.41
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/dist/index.d.mts +3 -21
- package/dist/index.d.ts +3 -21
- package/dist/index.js +22 -29
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +23 -28
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/dist/index.d.mts
CHANGED
|
@@ -75,7 +75,7 @@ interface CardProps extends AccordionCardProps, StatusCardProps {
|
|
|
75
75
|
maxHeight?: string;
|
|
76
76
|
headerBorder?: string;
|
|
77
77
|
headerBg?: string;
|
|
78
|
-
headerStatus?: 'online' | 'offline' | 'maintenance' | 'error' | 'restarting' | 'starting' | 'success' | 'info' | 'updating' | 'unknown';
|
|
78
|
+
headerStatus?: 'online' | 'offline' | 'maintenance' | 'error' | 'restarting' | 'starting' | 'success' | 'info' | 'updating' | 'terminating' | 'unknown';
|
|
79
79
|
}
|
|
80
80
|
declare function Card({ children, className, onClick, disabled, padding, borderAccent, variant, overflow, minHeight, maxHeight, hover, clickable, title, subtitle, description, icon: Icon, iconColor, iconSize, actionButton, headerClassName, accordion, defaultExpanded, onToggle, contentClassName, status, statusIcon, statusText, headerBorder, headerBg, headerStatus, }: CardProps): react_jsx_runtime.JSX.Element;
|
|
81
81
|
|
|
@@ -251,15 +251,6 @@ interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
|
251
251
|
}
|
|
252
252
|
declare const Link: React__default.ForwardRefExoticComponent<LinkProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
253
253
|
|
|
254
|
-
/**
|
|
255
|
-
* Get the sidebar nav item classes based on active state.
|
|
256
|
-
* Useful for extensions that need custom Link components.
|
|
257
|
-
*/
|
|
258
|
-
declare function getSidebarNavItemClasses(isActive: boolean, className?: string): string;
|
|
259
|
-
/**
|
|
260
|
-
* Get the sidebar nav icon classes.
|
|
261
|
-
*/
|
|
262
|
-
declare function getSidebarNavIconClasses(isActive?: boolean): string;
|
|
263
254
|
interface SidebarNavItemProps {
|
|
264
255
|
href: string;
|
|
265
256
|
icon?: IconType;
|
|
@@ -270,17 +261,8 @@ interface SidebarNavItemProps {
|
|
|
270
261
|
exact?: boolean;
|
|
271
262
|
onClick?: () => void;
|
|
272
263
|
isButton?: boolean;
|
|
273
|
-
/** Custom Link component for extensions that inject their own routing */
|
|
274
|
-
LinkComponent?: React__default.ComponentType<{
|
|
275
|
-
href: string;
|
|
276
|
-
className?: string;
|
|
277
|
-
onClick?: () => void;
|
|
278
|
-
children: React__default.ReactNode;
|
|
279
|
-
}>;
|
|
280
|
-
/** Custom pathname for extensions that inject their own routing context */
|
|
281
|
-
pathname?: string;
|
|
282
264
|
}
|
|
283
|
-
declare function SidebarNavItem({ href, icon: Icon, children, active, className, title, exact, onClick, isButton,
|
|
265
|
+
declare function SidebarNavItem({ href, icon: Icon, children, active, className, title, exact, onClick, isButton, }: SidebarNavItemProps): react_jsx_runtime.JSX.Element;
|
|
284
266
|
|
|
285
267
|
interface LoadingSpinnerProps {
|
|
286
268
|
message?: string;
|
|
@@ -1025,4 +1007,4 @@ declare function VariableInput({ name, label, value, onChange, placeholder, erro
|
|
|
1025
1007
|
|
|
1026
1008
|
declare const VERSION = "0.1.35";
|
|
1027
1009
|
|
|
1028
|
-
export { ActionButton, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, ConfirmDialog, type ConfirmDialogOptions, Container, DangerNotice, DataTable, DataTableActions, DataTableBody, DataTableCell, DataTableEmptyState, DataTableHeader, DataTableHeaderCell, DataTableLoadingState, DataTableRow, DropDownArrow, Dropdown, DropdownItem, EmptyState, ErrorAlert, ErrorMessage, FilterSelect, FilterToggleButton, FormInput, FormSection, Grid, IconButtonWithCount, InfoAlert, InfoBox, InfoNotice, Link, type LinkProps, LoadingSpinner, MobileSearchLayout, Modal, Notice, PageHeader, RefreshButton, SearchCard, SearchCardContent, SearchCardHeader, SearchInput, Select, SharedTooltip, SidebarNavItem, type SidebarNavItemProps, Skeleton, SkeletonCard, SkeletonEnvironmentsList, SkeletonForm, SkeletonGameCard, SkeletonGameServerCard, SkeletonGameServerCards, SkeletonGameServerTable, SkeletonGamesTable, SkeletonItem, SkeletonList, SkeletonNodeCard, SkeletonNodeCards, SkeletonNodeTable, SkeletonRecentActivity, SkeletonSearchCard, SkeletonStats, SkeletonTable, SkeletonTenantCard, SkeletonUserCard, SmartDropdown, SmartSelect, Spinner, StatusBadge, StickyActionsColumn, SuccessAlert, SuccessNotice, Switch, type SwitchVariant, Typography, UnsavedAlert, UnsavedChangesNotification, VERSION, VariableInput, VariableSelector, ViewToggle, WarningAlert, WarningNotice,
|
|
1010
|
+
export { ActionButton, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, ConfirmDialog, type ConfirmDialogOptions, Container, DangerNotice, DataTable, DataTableActions, DataTableBody, DataTableCell, DataTableEmptyState, DataTableHeader, DataTableHeaderCell, DataTableLoadingState, DataTableRow, DropDownArrow, Dropdown, DropdownItem, EmptyState, ErrorAlert, ErrorMessage, FilterSelect, FilterToggleButton, FormInput, FormSection, Grid, IconButtonWithCount, InfoAlert, InfoBox, InfoNotice, Link, type LinkProps, LoadingSpinner, MobileSearchLayout, Modal, Notice, PageHeader, RefreshButton, SearchCard, SearchCardContent, SearchCardHeader, SearchInput, Select, SharedTooltip, SidebarNavItem, type SidebarNavItemProps, Skeleton, SkeletonCard, SkeletonEnvironmentsList, SkeletonForm, SkeletonGameCard, SkeletonGameServerCard, SkeletonGameServerCards, SkeletonGameServerTable, SkeletonGamesTable, SkeletonItem, SkeletonList, SkeletonNodeCard, SkeletonNodeCards, SkeletonNodeTable, SkeletonRecentActivity, SkeletonSearchCard, SkeletonStats, SkeletonTable, SkeletonTenantCard, SkeletonUserCard, SmartDropdown, SmartSelect, Spinner, StatusBadge, StickyActionsColumn, SuccessAlert, SuccessNotice, Switch, type SwitchVariant, Typography, UnsavedAlert, UnsavedChangesNotification, VERSION, VariableInput, VariableSelector, ViewToggle, WarningAlert, WarningNotice, useConfirmDialog };
|
package/dist/index.d.ts
CHANGED
|
@@ -75,7 +75,7 @@ interface CardProps extends AccordionCardProps, StatusCardProps {
|
|
|
75
75
|
maxHeight?: string;
|
|
76
76
|
headerBorder?: string;
|
|
77
77
|
headerBg?: string;
|
|
78
|
-
headerStatus?: 'online' | 'offline' | 'maintenance' | 'error' | 'restarting' | 'starting' | 'success' | 'info' | 'updating' | 'unknown';
|
|
78
|
+
headerStatus?: 'online' | 'offline' | 'maintenance' | 'error' | 'restarting' | 'starting' | 'success' | 'info' | 'updating' | 'terminating' | 'unknown';
|
|
79
79
|
}
|
|
80
80
|
declare function Card({ children, className, onClick, disabled, padding, borderAccent, variant, overflow, minHeight, maxHeight, hover, clickable, title, subtitle, description, icon: Icon, iconColor, iconSize, actionButton, headerClassName, accordion, defaultExpanded, onToggle, contentClassName, status, statusIcon, statusText, headerBorder, headerBg, headerStatus, }: CardProps): react_jsx_runtime.JSX.Element;
|
|
81
81
|
|
|
@@ -251,15 +251,6 @@ interface LinkProps extends AnchorHTMLAttributes<HTMLAnchorElement> {
|
|
|
251
251
|
}
|
|
252
252
|
declare const Link: React__default.ForwardRefExoticComponent<LinkProps & React__default.RefAttributes<HTMLAnchorElement>>;
|
|
253
253
|
|
|
254
|
-
/**
|
|
255
|
-
* Get the sidebar nav item classes based on active state.
|
|
256
|
-
* Useful for extensions that need custom Link components.
|
|
257
|
-
*/
|
|
258
|
-
declare function getSidebarNavItemClasses(isActive: boolean, className?: string): string;
|
|
259
|
-
/**
|
|
260
|
-
* Get the sidebar nav icon classes.
|
|
261
|
-
*/
|
|
262
|
-
declare function getSidebarNavIconClasses(isActive?: boolean): string;
|
|
263
254
|
interface SidebarNavItemProps {
|
|
264
255
|
href: string;
|
|
265
256
|
icon?: IconType;
|
|
@@ -270,17 +261,8 @@ interface SidebarNavItemProps {
|
|
|
270
261
|
exact?: boolean;
|
|
271
262
|
onClick?: () => void;
|
|
272
263
|
isButton?: boolean;
|
|
273
|
-
/** Custom Link component for extensions that inject their own routing */
|
|
274
|
-
LinkComponent?: React__default.ComponentType<{
|
|
275
|
-
href: string;
|
|
276
|
-
className?: string;
|
|
277
|
-
onClick?: () => void;
|
|
278
|
-
children: React__default.ReactNode;
|
|
279
|
-
}>;
|
|
280
|
-
/** Custom pathname for extensions that inject their own routing context */
|
|
281
|
-
pathname?: string;
|
|
282
264
|
}
|
|
283
|
-
declare function SidebarNavItem({ href, icon: Icon, children, active, className, title, exact, onClick, isButton,
|
|
265
|
+
declare function SidebarNavItem({ href, icon: Icon, children, active, className, title, exact, onClick, isButton, }: SidebarNavItemProps): react_jsx_runtime.JSX.Element;
|
|
284
266
|
|
|
285
267
|
interface LoadingSpinnerProps {
|
|
286
268
|
message?: string;
|
|
@@ -1025,4 +1007,4 @@ declare function VariableInput({ name, label, value, onChange, placeholder, erro
|
|
|
1025
1007
|
|
|
1026
1008
|
declare const VERSION = "0.1.35";
|
|
1027
1009
|
|
|
1028
|
-
export { ActionButton, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, ConfirmDialog, type ConfirmDialogOptions, Container, DangerNotice, DataTable, DataTableActions, DataTableBody, DataTableCell, DataTableEmptyState, DataTableHeader, DataTableHeaderCell, DataTableLoadingState, DataTableRow, DropDownArrow, Dropdown, DropdownItem, EmptyState, ErrorAlert, ErrorMessage, FilterSelect, FilterToggleButton, FormInput, FormSection, Grid, IconButtonWithCount, InfoAlert, InfoBox, InfoNotice, Link, type LinkProps, LoadingSpinner, MobileSearchLayout, Modal, Notice, PageHeader, RefreshButton, SearchCard, SearchCardContent, SearchCardHeader, SearchInput, Select, SharedTooltip, SidebarNavItem, type SidebarNavItemProps, Skeleton, SkeletonCard, SkeletonEnvironmentsList, SkeletonForm, SkeletonGameCard, SkeletonGameServerCard, SkeletonGameServerCards, SkeletonGameServerTable, SkeletonGamesTable, SkeletonItem, SkeletonList, SkeletonNodeCard, SkeletonNodeCards, SkeletonNodeTable, SkeletonRecentActivity, SkeletonSearchCard, SkeletonStats, SkeletonTable, SkeletonTenantCard, SkeletonUserCard, SmartDropdown, SmartSelect, Spinner, StatusBadge, StickyActionsColumn, SuccessAlert, SuccessNotice, Switch, type SwitchVariant, Typography, UnsavedAlert, UnsavedChangesNotification, VERSION, VariableInput, VariableSelector, ViewToggle, WarningAlert, WarningNotice,
|
|
1010
|
+
export { ActionButton, Badge, type BadgeSize, type BadgeVariant, Button, type ButtonProps, type ButtonSize, type ButtonVariant, Card, ConfirmDialog, type ConfirmDialogOptions, Container, DangerNotice, DataTable, DataTableActions, DataTableBody, DataTableCell, DataTableEmptyState, DataTableHeader, DataTableHeaderCell, DataTableLoadingState, DataTableRow, DropDownArrow, Dropdown, DropdownItem, EmptyState, ErrorAlert, ErrorMessage, FilterSelect, FilterToggleButton, FormInput, FormSection, Grid, IconButtonWithCount, InfoAlert, InfoBox, InfoNotice, Link, type LinkProps, LoadingSpinner, MobileSearchLayout, Modal, Notice, PageHeader, RefreshButton, SearchCard, SearchCardContent, SearchCardHeader, SearchInput, Select, SharedTooltip, SidebarNavItem, type SidebarNavItemProps, Skeleton, SkeletonCard, SkeletonEnvironmentsList, SkeletonForm, SkeletonGameCard, SkeletonGameServerCard, SkeletonGameServerCards, SkeletonGameServerTable, SkeletonGamesTable, SkeletonItem, SkeletonList, SkeletonNodeCard, SkeletonNodeCards, SkeletonNodeTable, SkeletonRecentActivity, SkeletonSearchCard, SkeletonStats, SkeletonTable, SkeletonTenantCard, SkeletonUserCard, SmartDropdown, SmartSelect, Spinner, StatusBadge, StickyActionsColumn, SuccessAlert, SuccessNotice, Switch, type SwitchVariant, Typography, UnsavedAlert, UnsavedChangesNotification, VERSION, VariableInput, VariableSelector, ViewToggle, WarningAlert, WarningNotice, useConfirmDialog };
|
package/dist/index.js
CHANGED
|
@@ -287,6 +287,8 @@ function Card({
|
|
|
287
287
|
case "restarting":
|
|
288
288
|
case "updating":
|
|
289
289
|
return { border: "bg-orange", bg: "bg-orange/10" };
|
|
290
|
+
case "terminating":
|
|
291
|
+
return { border: "bg-destructive", bg: "bg-danger/10" };
|
|
290
292
|
case "unknown":
|
|
291
293
|
return { border: "bg-muted-foreground/30", bg: "bg-muted/10" };
|
|
292
294
|
default:
|
|
@@ -1060,8 +1062,8 @@ function DropdownItem({
|
|
|
1060
1062
|
flex items-start gap-3 border-b border-border/30 last:border-b-0
|
|
1061
1063
|
${disabled ? "opacity-50 cursor-not-allowed" : "cursor-pointer"}
|
|
1062
1064
|
${selected && !multiple ? "bg-primary text-primary-foreground" : variantClasses5[variant]}
|
|
1063
|
-
${focused && !selected ? "bg-muted/70 ring-
|
|
1064
|
-
${focused && selected ? "brightness-110 ring-
|
|
1065
|
+
${focused && !selected ? "bg-muted/70 ring-1 ring-primary/50 ring-inset" : ""}
|
|
1066
|
+
${focused && selected ? "brightness-110 ring-1 ring-primary-foreground/30" : ""}
|
|
1065
1067
|
`;
|
|
1066
1068
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
1067
1069
|
"button",
|
|
@@ -3554,7 +3556,7 @@ function FormInput({
|
|
|
3554
3556
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3555
3557
|
"div",
|
|
3556
3558
|
{
|
|
3557
|
-
className: `relative flex-1 ${footerDescription ? "
|
|
3559
|
+
className: `relative flex-1 ${footerDescription ? "cursor-help" : ""}`,
|
|
3558
3560
|
"data-tooltip-id": footerDescription ? `${uniqueId}-help` : void 0,
|
|
3559
3561
|
children: [
|
|
3560
3562
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3573,7 +3575,7 @@ function FormInput({
|
|
|
3573
3575
|
} : handleSelectChange,
|
|
3574
3576
|
options: options || [],
|
|
3575
3577
|
placeholder: placeholder || "Select an option...",
|
|
3576
|
-
className: `${error ? "form-input-error" : ""} ${inputClassName}`,
|
|
3578
|
+
className: `${error ? "form-input-error" : ""} ${footerDescription ? "border-r-2 border-r-info/50 hover:border-r-info transition-colors" : ""} ${inputClassName}`,
|
|
3577
3579
|
multiple: multiSelect,
|
|
3578
3580
|
width: selectWidth,
|
|
3579
3581
|
searchable,
|
|
@@ -3605,7 +3607,7 @@ function FormInput({
|
|
|
3605
3607
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
3606
3608
|
"div",
|
|
3607
3609
|
{
|
|
3608
|
-
className: `relative flex-1 ${footerDescription ? "
|
|
3610
|
+
className: `relative flex-1 ${footerDescription ? "cursor-help" : ""}`,
|
|
3609
3611
|
"data-tooltip-id": footerDescription ? `${uniqueId}-help` : void 0,
|
|
3610
3612
|
children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
3611
3613
|
"textarea",
|
|
@@ -3624,7 +3626,7 @@ function FormInput({
|
|
|
3624
3626
|
maxLength,
|
|
3625
3627
|
"aria-invalid": error ? "true" : "false",
|
|
3626
3628
|
"aria-describedby": error ? `${name}-error` : description ? `${name}-description` : void 0,
|
|
3627
|
-
className: `form-input ${error ? "form-input-error" : ""} ${inputClassName}`
|
|
3629
|
+
className: `form-input ${error ? "form-input-error" : ""} ${footerDescription ? "border-r-2 border-r-info/50 hover:border-r-info transition-colors" : ""} ${inputClassName}`
|
|
3628
3630
|
}
|
|
3629
3631
|
)
|
|
3630
3632
|
}
|
|
@@ -3642,7 +3644,7 @@ function FormInput({
|
|
|
3642
3644
|
] }) : type === "color" ? /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3643
3645
|
"div",
|
|
3644
3646
|
{
|
|
3645
|
-
className: `flex items-center space-x-3 ${footerDescription ? "
|
|
3647
|
+
className: `flex items-center space-x-3 ${footerDescription ? "cursor-help" : ""}`,
|
|
3646
3648
|
"data-tooltip-id": footerDescription ? `${uniqueId}-help` : void 0,
|
|
3647
3649
|
children: [
|
|
3648
3650
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative w-10 h-10 border border-input rounded-md overflow-hidden bg-card", children: [
|
|
@@ -3712,7 +3714,7 @@ function FormInput({
|
|
|
3712
3714
|
/* @__PURE__ */ jsxRuntime.jsxs(
|
|
3713
3715
|
"div",
|
|
3714
3716
|
{
|
|
3715
|
-
className: `relative flex-1 ${footerDescription ? "
|
|
3717
|
+
className: `relative flex-1 ${footerDescription ? "cursor-help" : ""}`,
|
|
3716
3718
|
"data-tooltip-id": footerDescription ? `${uniqueId}-help` : void 0,
|
|
3717
3719
|
children: [
|
|
3718
3720
|
/* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -3734,7 +3736,7 @@ function FormInput({
|
|
|
3734
3736
|
onBlur,
|
|
3735
3737
|
"aria-invalid": error ? "true" : "false",
|
|
3736
3738
|
"aria-describedby": error ? `${name}-error` : description ? `${name}-description` : void 0,
|
|
3737
|
-
className: `form-input ${error ? "form-input-error" : ""} ${readOnly ? "bg-muted cursor-default" : ""} ${copyable ? "pr-20" : "pr-10"} ${getInputPaddingClasses(type, getIconConfig(icon))} ${inputClassName}`
|
|
3739
|
+
className: `form-input ${error ? "form-input-error" : ""} ${readOnly ? "bg-muted cursor-default" : ""} ${copyable ? "pr-20" : "pr-10"} ${footerDescription ? "border-r-2 border-r-info/50 hover:border-r-info transition-colors" : ""} ${getInputPaddingClasses(type, getIconConfig(icon))} ${inputClassName}`
|
|
3738
3740
|
}
|
|
3739
3741
|
),
|
|
3740
3742
|
shouldShowIcons(type) && (() => {
|
|
@@ -3802,7 +3804,7 @@ function FormInput({
|
|
|
3802
3804
|
] }) : /* @__PURE__ */ jsxRuntime.jsxs(
|
|
3803
3805
|
"div",
|
|
3804
3806
|
{
|
|
3805
|
-
className: `flex items-center ${variablePicker ? "input-group" : ""} ${footerDescription ? "
|
|
3807
|
+
className: `flex items-center ${variablePicker ? "input-group" : ""} ${footerDescription ? "cursor-help" : ""}`,
|
|
3806
3808
|
"data-tooltip-id": footerDescription ? `${uniqueId}-help` : void 0,
|
|
3807
3809
|
children: [
|
|
3808
3810
|
/* @__PURE__ */ jsxRuntime.jsxs("div", { className: "relative group flex-1", children: [
|
|
@@ -3829,7 +3831,7 @@ function FormInput({
|
|
|
3829
3831
|
onBlur,
|
|
3830
3832
|
"aria-invalid": error ? "true" : "false",
|
|
3831
3833
|
"aria-describedby": error ? `${name}-error` : description ? `${name}-description` : void 0,
|
|
3832
|
-
className: `form-input ${error ? "form-input-error" : ""} ${readOnly ? "bg-muted cursor-default" : ""} ${copyable ? "pr-10" : ""} ${variablePicker ? "rounded-r-none border-r-0" : ""} ${getInputPaddingClasses(type, getIconConfig(icon))} ${inputClassName}`
|
|
3834
|
+
className: `form-input ${error ? "form-input-error" : ""} ${readOnly ? "bg-muted cursor-default" : ""} ${copyable ? "pr-10" : ""} ${variablePicker ? "rounded-r-none border-r-0" : ""} ${footerDescription && !variablePicker ? "border-r-2 border-r-info/50 hover:border-r-info transition-colors" : ""} ${getInputPaddingClasses(type, getIconConfig(icon))} ${inputClassName}`
|
|
3833
3835
|
}
|
|
3834
3836
|
),
|
|
3835
3837
|
shouldShowIcons(type) && (() => {
|
|
@@ -4114,12 +4116,6 @@ var Link2 = React6.forwardRef(
|
|
|
4114
4116
|
);
|
|
4115
4117
|
Link2.displayName = "Link";
|
|
4116
4118
|
var Link_default = Link2;
|
|
4117
|
-
function getSidebarNavItemClasses(isActive, className = "") {
|
|
4118
|
-
return `group flex items-center gap-0 overflow-hidden rounded-md px-3 py-2 text-sm font-medium outline-hidden ring-sidebar-ring transition-[width,height,padding,background-color,color] duration-300 focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 ${isActive ? "bg-primary text-primary-foreground" : "text-sidebar-foreground hover:bg-sidebar-accent hover:text-sidebar-accent-foreground"} ${className}`;
|
|
4119
|
-
}
|
|
4120
|
-
function getSidebarNavIconClasses(isActive = false) {
|
|
4121
|
-
return `mr-3 h-5 w-5 shrink-0 transition-all duration-300 ease-in-out${isActive ? " text-primary-foreground" : ""}`;
|
|
4122
|
-
}
|
|
4123
4119
|
function SidebarNavItem({
|
|
4124
4120
|
href,
|
|
4125
4121
|
icon: Icon,
|
|
@@ -4129,22 +4125,20 @@ function SidebarNavItem({
|
|
|
4129
4125
|
title,
|
|
4130
4126
|
exact = false,
|
|
4131
4127
|
onClick,
|
|
4132
|
-
isButton = false
|
|
4133
|
-
LinkComponent,
|
|
4134
|
-
pathname: externalPathname
|
|
4128
|
+
isButton = false
|
|
4135
4129
|
}) {
|
|
4136
|
-
const
|
|
4137
|
-
const pathname = externalPathname ?? nextPathname;
|
|
4130
|
+
const pathname = navigation.usePathname();
|
|
4138
4131
|
const isActive = active !== void 0 ? active : exact ? pathname === href : pathname === href || pathname?.startsWith(`${href}/`);
|
|
4139
|
-
const commonClasses =
|
|
4140
|
-
const iconClasses =
|
|
4132
|
+
const commonClasses = `group flex items-center gap-0 overflow-hidden rounded-md px-3 py-2 text-sm font-medium outline-hidden ring-sidebar-ring transition-all duration-300 focus-visible:ring-2 disabled:pointer-events-none disabled:opacity-50 ${isActive ? "bg-primary/15 backdrop-blur-md border border-primary/30 text-primary shadow-[0_0_12px_-3px_hsl(var(--primary)/0.2)] hover:bg-primary/20 hover:border-primary/50 hover:shadow-[0_0_16px_-2px_hsl(var(--primary)/0.3)]" : "border border-transparent text-sidebar-foreground hover:bg-sidebar-accent/50 hover:backdrop-blur-sm hover:border-sidebar-foreground/10 hover:text-sidebar-accent-foreground active:bg-sidebar-accent"} ${className}`;
|
|
4133
|
+
const iconClasses = `mr-3 h-5 w-5 shrink-0 transition-all duration-300 ease-in-out${isActive ? " text-primary" : ""}`;
|
|
4141
4134
|
if (isButton) {
|
|
4142
4135
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4143
4136
|
"button",
|
|
4144
4137
|
{
|
|
4145
4138
|
type: "button",
|
|
4146
4139
|
onClick,
|
|
4147
|
-
title,
|
|
4140
|
+
"data-tooltip-id": title ? "global-tooltip" : void 0,
|
|
4141
|
+
"data-tooltip-content": title,
|
|
4148
4142
|
"aria-current": isActive ? "page" : void 0,
|
|
4149
4143
|
className: `w-full text-left ${commonClasses}`,
|
|
4150
4144
|
children: [
|
|
@@ -4160,12 +4154,13 @@ function SidebarNavItem({
|
|
|
4160
4154
|
}
|
|
4161
4155
|
);
|
|
4162
4156
|
}
|
|
4163
|
-
const LinkEl = LinkComponent || Link__default.default;
|
|
4164
4157
|
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
4165
|
-
|
|
4158
|
+
Link__default.default,
|
|
4166
4159
|
{
|
|
4167
4160
|
href,
|
|
4168
4161
|
onClick,
|
|
4162
|
+
"data-tooltip-id": title ? "global-tooltip" : void 0,
|
|
4163
|
+
"data-tooltip-content": title,
|
|
4169
4164
|
className: commonClasses,
|
|
4170
4165
|
children: [
|
|
4171
4166
|
Icon && /* @__PURE__ */ jsxRuntime.jsx(
|
|
@@ -5561,8 +5556,6 @@ exports.VariableSelector = VariableSelector;
|
|
|
5561
5556
|
exports.ViewToggle = ViewToggle;
|
|
5562
5557
|
exports.WarningAlert = WarningAlert;
|
|
5563
5558
|
exports.WarningNotice = WarningNotice;
|
|
5564
|
-
exports.getSidebarNavIconClasses = getSidebarNavIconClasses;
|
|
5565
|
-
exports.getSidebarNavItemClasses = getSidebarNavItemClasses;
|
|
5566
5559
|
exports.useConfirmDialog = useConfirmDialog;
|
|
5567
5560
|
//# sourceMappingURL=index.js.map
|
|
5568
5561
|
//# sourceMappingURL=index.js.map
|