@gamecp/ui 0.1.27 → 0.1.29

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.mjs CHANGED
@@ -4,6 +4,7 @@ import { RiCloseLine, RiCheckLine, RiLoader4Line, RiFileCopyLine, RiEyeOffLine,
4
4
  import { createPortal } from 'react-dom';
5
5
  import { AnimatePresence, motion } from 'framer-motion';
6
6
  import NextLink from 'next/link';
7
+ import { usePathname } from 'next/navigation';
7
8
  import { Tooltip } from 'react-tooltip';
8
9
 
9
10
  // src/Badge.tsx
@@ -284,7 +285,7 @@ function Card({
284
285
  variantClasses2[variant],
285
286
  paddingClasses[padding],
286
287
  borderAccentClasses[borderAccent],
287
- overflow !== "visible" || activeHeaderBorder ? `overflow-${overflow === "visible" && activeHeaderBorder ? "hidden" : overflow}` : "",
288
+ overflow !== "visible" ? `overflow-${overflow}` : "",
288
289
  activeHeaderBorder ? "relative" : "",
289
290
  hover ? "hover:shadow-md transition-shadow" : "",
290
291
  clickable || onClick ? "cursor-pointer" : "",
@@ -2598,6 +2599,63 @@ var Link = forwardRef(
2598
2599
  );
2599
2600
  Link.displayName = "Link";
2600
2601
  var Link_default = Link;
2602
+ function SidebarNavItem({
2603
+ href,
2604
+ icon: Icon,
2605
+ children,
2606
+ active,
2607
+ className = "",
2608
+ title,
2609
+ exact = false,
2610
+ onClick,
2611
+ isButton = false
2612
+ }) {
2613
+ const pathname = usePathname();
2614
+ const isActive = active !== void 0 ? active : exact ? pathname === href : pathname === href || pathname?.startsWith(`${href}/`);
2615
+ const commonClasses = `group flex items-center px-3 py-2 text-sm font-medium rounded-md transition-all duration-150 ease-in-out ${isActive ? "" : "hover:bg-muted"} ${className}`;
2616
+ if (isButton) {
2617
+ return /* @__PURE__ */ jsxs(
2618
+ "button",
2619
+ {
2620
+ type: "button",
2621
+ onClick,
2622
+ title,
2623
+ "aria-current": isActive ? "page" : void 0,
2624
+ className: `w-full text-left ${commonClasses}`,
2625
+ children: [
2626
+ Icon && /* @__PURE__ */ jsx(
2627
+ Icon,
2628
+ {
2629
+ className: `mr-3 h-5 w-5 shrink-0 transition-all duration-150 ease-in-out`,
2630
+ "aria-hidden": "true"
2631
+ }
2632
+ ),
2633
+ /* @__PURE__ */ jsx("span", { children })
2634
+ ]
2635
+ }
2636
+ );
2637
+ }
2638
+ return /* @__PURE__ */ jsxs(
2639
+ NextLink,
2640
+ {
2641
+ href,
2642
+ onClick,
2643
+ title,
2644
+ "aria-current": isActive ? "page" : void 0,
2645
+ className: commonClasses,
2646
+ children: [
2647
+ Icon && /* @__PURE__ */ jsx(
2648
+ Icon,
2649
+ {
2650
+ className: `mr-3 h-5 w-5 shrink-0 transition-all duration-150 ease-in-out`,
2651
+ "aria-hidden": "true"
2652
+ }
2653
+ ),
2654
+ /* @__PURE__ */ jsx("span", { children })
2655
+ ]
2656
+ }
2657
+ );
2658
+ }
2601
2659
  var LoadingSpinner = ({
2602
2660
  message = "Initializing...",
2603
2661
  className,
@@ -3592,6 +3650,6 @@ function ViewToggle({
3592
3650
  // src/index.ts
3593
3651
  var VERSION = "0.1.3";
3594
3652
 
3595
- export { ActionButton, Badge, Button_default as Button, Card, ConfirmDialog_default as ConfirmDialog, Container, DataTable, DataTableActions, DataTableBody, DataTableCell, DataTableEmptyState, DataTableHeader, DataTableHeaderCell, DataTableLoadingState, DataTableRow, EmptyState_default as EmptyState, FilterSelect, FilterToggleButton, FormInput, FormSection, Grid, IconButtonWithCount, InfoBox, Link_default as Link, LoadingSpinner_default as LoadingSpinner, MobileSearchLayout, Modal, PageHeader, RefreshButton, SearchCard, SearchCardContent, SearchCardHeader, SearchInput, SharedTooltip, Skeleton, SkeletonCard, SkeletonEnvironmentsList, SkeletonForm, SkeletonGameCard, SkeletonGameServerCard, SkeletonGameServerCards, SkeletonGameServerTable, SkeletonGamesTable, SkeletonItem, SkeletonList, SkeletonNodeCard, SkeletonNodeCards, SkeletonNodeTable, SkeletonRecentActivity, SkeletonSearchCard, SkeletonStats, SkeletonTable, SkeletonTenantCard, SkeletonUserCard, SmartDropdown, SmartSelect, Spinner_default as Spinner, StatusBadge, StickyActionsColumn, Switch, Typography, VERSION, ViewToggle, useConfirmDialog };
3653
+ export { ActionButton, Badge, Button_default as Button, Card, ConfirmDialog_default as ConfirmDialog, Container, DataTable, DataTableActions, DataTableBody, DataTableCell, DataTableEmptyState, DataTableHeader, DataTableHeaderCell, DataTableLoadingState, DataTableRow, EmptyState_default as EmptyState, FilterSelect, FilterToggleButton, FormInput, FormSection, Grid, IconButtonWithCount, InfoBox, Link_default as Link, LoadingSpinner_default as LoadingSpinner, MobileSearchLayout, Modal, PageHeader, RefreshButton, SearchCard, SearchCardContent, SearchCardHeader, SearchInput, SharedTooltip, SidebarNavItem, Skeleton, SkeletonCard, SkeletonEnvironmentsList, SkeletonForm, SkeletonGameCard, SkeletonGameServerCard, SkeletonGameServerCards, SkeletonGameServerTable, SkeletonGamesTable, SkeletonItem, SkeletonList, SkeletonNodeCard, SkeletonNodeCards, SkeletonNodeTable, SkeletonRecentActivity, SkeletonSearchCard, SkeletonStats, SkeletonTable, SkeletonTenantCard, SkeletonUserCard, SmartDropdown, SmartSelect, Spinner_default as Spinner, StatusBadge, StickyActionsColumn, Switch, Typography, VERSION, ViewToggle, useConfirmDialog };
3596
3654
  //# sourceMappingURL=index.mjs.map
3597
3655
  //# sourceMappingURL=index.mjs.map