@djangocfg/ui-nextjs 2.1.254 → 2.1.256
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/package.json +7 -7
- package/src/components/sidebar.tsx +33 -12
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@djangocfg/ui-nextjs",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.256",
|
|
4
4
|
"description": "Next.js UI component library with Radix UI primitives, Tailwind CSS styling, charts, and form components",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"ui-components",
|
|
@@ -85,11 +85,11 @@
|
|
|
85
85
|
"check": "tsc --noEmit"
|
|
86
86
|
},
|
|
87
87
|
"peerDependencies": {
|
|
88
|
-
"@djangocfg/api": "^2.1.
|
|
89
|
-
"@djangocfg/i18n": "^2.1.
|
|
90
|
-
"@djangocfg/nextjs": "^2.1.
|
|
91
|
-
"@djangocfg/ui-core": "^2.1.
|
|
92
|
-
"@djangocfg/ui-tools": "^2.1.
|
|
88
|
+
"@djangocfg/api": "^2.1.256",
|
|
89
|
+
"@djangocfg/i18n": "^2.1.256",
|
|
90
|
+
"@djangocfg/nextjs": "^2.1.256",
|
|
91
|
+
"@djangocfg/ui-core": "^2.1.256",
|
|
92
|
+
"@djangocfg/ui-tools": "^2.1.256",
|
|
93
93
|
"@types/react": "^19.1.0",
|
|
94
94
|
"@types/react-dom": "^19.1.0",
|
|
95
95
|
"consola": "^3.4.2",
|
|
@@ -112,7 +112,7 @@
|
|
|
112
112
|
"react-chartjs-2": "^5.3.0"
|
|
113
113
|
},
|
|
114
114
|
"devDependencies": {
|
|
115
|
-
"@djangocfg/typescript-config": "^2.1.
|
|
115
|
+
"@djangocfg/typescript-config": "^2.1.256",
|
|
116
116
|
"@radix-ui/react-dropdown-menu": "^2.1.16",
|
|
117
117
|
"@radix-ui/react-slot": "^1.2.4",
|
|
118
118
|
"@types/node": "^24.7.2",
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use client"
|
|
2
2
|
|
|
3
3
|
import { cva, VariantProps } from 'class-variance-authority';
|
|
4
|
-
import { PanelLeft } from 'lucide-react';
|
|
4
|
+
import { Menu, PanelLeft } from 'lucide-react';
|
|
5
5
|
import { Link } from '../lib/navigation';
|
|
6
6
|
import * as React from 'react';
|
|
7
7
|
|
|
@@ -327,10 +327,34 @@ const SidebarTrigger = React.forwardRef<
|
|
|
327
327
|
React.ElementRef<typeof Button>,
|
|
328
328
|
React.ComponentProps<typeof Button>
|
|
329
329
|
>(({ className, onClick, ...props }, ref) => {
|
|
330
|
-
const { toggleSidebar } = useSidebar()
|
|
330
|
+
const { toggleSidebar, openMobile } = useSidebar()
|
|
331
331
|
const mod = useShortcutModLabel()
|
|
332
332
|
const isMobile = useIsMobile()
|
|
333
|
-
const
|
|
333
|
+
const desktopHint = `Toggle sidebar (${mod}+B)`
|
|
334
|
+
|
|
335
|
+
const handleClick = (event: React.MouseEvent<HTMLButtonElement>) => {
|
|
336
|
+
onClick?.(event)
|
|
337
|
+
toggleSidebar()
|
|
338
|
+
}
|
|
339
|
+
|
|
340
|
+
const buttonClass = cn("h-7 w-7", className)
|
|
341
|
+
|
|
342
|
+
if (isMobile) {
|
|
343
|
+
return (
|
|
344
|
+
<Button
|
|
345
|
+
ref={ref}
|
|
346
|
+
data-sidebar="trigger"
|
|
347
|
+
variant="ghost"
|
|
348
|
+
size="icon"
|
|
349
|
+
className={buttonClass}
|
|
350
|
+
onClick={handleClick}
|
|
351
|
+
{...props}
|
|
352
|
+
>
|
|
353
|
+
<Menu className="h-4 w-4" />
|
|
354
|
+
<span className="sr-only">{openMobile ? "Close menu" : "Open menu"}</span>
|
|
355
|
+
</Button>
|
|
356
|
+
)
|
|
357
|
+
}
|
|
334
358
|
|
|
335
359
|
return (
|
|
336
360
|
<Tooltip delayDuration={400}>
|
|
@@ -340,19 +364,16 @@ const SidebarTrigger = React.forwardRef<
|
|
|
340
364
|
data-sidebar="trigger"
|
|
341
365
|
variant="ghost"
|
|
342
366
|
size="icon"
|
|
343
|
-
className={
|
|
344
|
-
onClick={
|
|
345
|
-
onClick?.(event)
|
|
346
|
-
toggleSidebar()
|
|
347
|
-
}}
|
|
367
|
+
className={buttonClass}
|
|
368
|
+
onClick={handleClick}
|
|
348
369
|
{...props}
|
|
349
370
|
>
|
|
350
|
-
<PanelLeft />
|
|
351
|
-
<span className="sr-only">{
|
|
371
|
+
<PanelLeft className="h-4 w-4" />
|
|
372
|
+
<span className="sr-only">{desktopHint}</span>
|
|
352
373
|
</Button>
|
|
353
374
|
</TooltipTrigger>
|
|
354
375
|
<TooltipContent side="bottom" align="center" sideOffset={6} className="max-w-[16rem]">
|
|
355
|
-
{
|
|
376
|
+
{desktopHint}
|
|
356
377
|
</TooltipContent>
|
|
357
378
|
</Tooltip>
|
|
358
379
|
)
|
|
@@ -606,7 +627,7 @@ const SidebarMenuItem = React.forwardRef<
|
|
|
606
627
|
SidebarMenuItem.displayName = "SidebarMenuItem"
|
|
607
628
|
|
|
608
629
|
const sidebarMenuButtonVariants = cva(
|
|
609
|
-
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[&_[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground [&>svg]:opacity-70 data-[active=true]:[&>svg]:text-sidebar-accent-foreground data-[active=true]:[&>svg]:opacity-100 hover:[&>svg]:text-sidebar-accent-foreground hover:[&>svg]:opacity-100",
|
|
630
|
+
"peer/menu-button flex w-full items-center gap-2 overflow-hidden rounded-md p-2 text-left text-sm outline-none ring-sidebar-ring transition-[width,height,padding] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 active:bg-sidebar-accent active:text-sidebar-accent-foreground disabled:pointer-events-none disabled:opacity-50 group-has-[&_[data-sidebar=menu-action]]/menu-item:pr-8 aria-disabled:pointer-events-none aria-disabled:opacity-50 data-[active=true]:bg-sidebar-accent data-[active=true]:font-medium data-[active=true]:text-sidebar-accent-foreground data-[state=open]:hover:bg-sidebar-accent data-[state=open]:hover:text-sidebar-accent-foreground [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-muted-foreground [&>svg]:opacity-70 data-[active=true]:[&>svg]:text-sidebar-accent-foreground data-[active=true]:[&>svg]:opacity-100 hover:[&>svg]:text-sidebar-accent-foreground hover:[&>svg]:opacity-100 group-data-[state=collapsed]:group-data-[collapsible=icon]:justify-center group-data-[state=collapsed]:group-data-[collapsible=icon]:[&>span]:hidden",
|
|
610
631
|
{
|
|
611
632
|
variants: {
|
|
612
633
|
variant: {
|