@egose/shadcn-theme 0.0.60 → 0.0.61
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/{chunk-XNTCCRNR.mjs → chunk-3DG54EVO.mjs} +4 -4
- package/{chunk-MW4W54D3.js → chunk-5AC6SSUU.js} +6 -6
- package/{chunk-MW4W54D3.js.map → chunk-5AC6SSUU.js.map} +1 -1
- package/{chunk-RXDQPTVS.js → chunk-5WZCVX6I.js} +9 -9
- package/{chunk-RXDQPTVS.js.map → chunk-5WZCVX6I.js.map} +1 -1
- package/{chunk-LSVA45KP.mjs → chunk-C736G6RV.mjs} +5 -5
- package/{chunk-JOD4N4QT.js → chunk-CSDFVUNP.js} +3 -3
- package/{chunk-JOD4N4QT.js.map → chunk-CSDFVUNP.js.map} +1 -1
- package/{chunk-UVCJNDR3.mjs → chunk-EIAS7WVI.mjs} +6 -6
- package/chunk-EIAS7WVI.mjs.map +1 -0
- package/{chunk-CJQZPOT7.mjs → chunk-F57PDM2P.mjs} +7 -7
- package/{chunk-MGX55IOV.mjs → chunk-GGOYFF4M.mjs} +2 -2
- package/{chunk-YRL22JCC.mjs → chunk-IYZWOHGP.mjs} +4 -4
- package/{chunk-6YOBNAXV.js → chunk-NUCMI4CP.js} +3 -3
- package/{chunk-6YOBNAXV.js.map → chunk-NUCMI4CP.js.map} +1 -1
- package/{chunk-36OX4XHZ.mjs → chunk-OI7CIW4X.mjs} +7 -7
- package/{chunk-JXS4XATF.js → chunk-PVKN7E6W.js} +9 -9
- package/chunk-PVKN7E6W.js.map +1 -0
- package/{chunk-KQXA7HBQ.js → chunk-Q5QVXAFP.js} +7 -7
- package/{chunk-KQXA7HBQ.js.map → chunk-Q5QVXAFP.js.map} +1 -1
- package/{chunk-757RWUDS.mjs → chunk-QJLNEVAE.mjs} +7 -7
- package/{chunk-UUWNH7TQ.mjs → chunk-VOED37ZV.mjs} +2 -2
- package/{chunk-BBVLNT32.js → chunk-WCMH464B.js} +5 -5
- package/{chunk-BBVLNT32.js.map → chunk-WCMH464B.js.map} +1 -1
- package/{chunk-J6TVLHSD.js → chunk-WGNLM36B.js} +3 -3
- package/{chunk-J6TVLHSD.js.map → chunk-WGNLM36B.js.map} +1 -1
- package/{chunk-SOP27IBG.js → chunk-XCFEBPRG.js} +3 -3
- package/{chunk-SOP27IBG.js.map → chunk-XCFEBPRG.js.map} +1 -1
- package/components/form/date-picker.js +4 -4
- package/components/form/date-picker.mjs +3 -3
- package/components/form/date-range-picker.js +3 -3
- package/components/form/date-range-picker.js.map +1 -1
- package/components/form/date-range-picker.mjs +5 -5
- package/components/form/hook-checkbox.js +3 -3
- package/components/form/hook-checkbox.js.map +1 -1
- package/components/form/hook-checkbox.mjs +3 -3
- package/components/form/hook-date-picker.js +7 -7
- package/components/form/hook-date-picker.js.map +1 -1
- package/components/form/hook-date-picker.mjs +6 -6
- package/components/form/hook-native-select.js +1 -1
- package/components/form/hook-native-select.js.map +1 -1
- package/components/form/hook-native-select.mjs +1 -1
- package/components/form/hook-searchable-select.js +4 -4
- package/components/form/hook-searchable-select.js.map +1 -1
- package/components/form/hook-searchable-select.mjs +3 -3
- package/components/form/hook-select.js +1 -1
- package/components/form/hook-select.js.map +1 -1
- package/components/form/hook-select.mjs +1 -1
- package/components/form/hook-text-input.js +4 -4
- package/components/form/hook-text-input.mjs +3 -3
- package/components/form/hook-textarea.js +1 -1
- package/components/form/hook-textarea.js.map +1 -1
- package/components/form/hook-textarea.mjs +1 -1
- package/components/form/hook-time-input.js +5 -5
- package/components/form/hook-time-input.mjs +4 -4
- package/components/form/searchable-select.js +3 -3
- package/components/form/searchable-select.mjs +2 -2
- package/components/form/text-input.js +3 -3
- package/components/form/text-input.mjs +2 -2
- package/components/form/time-input.js +5 -5
- package/components/form/time-input.mjs +4 -4
- package/components/ui/copy-button.js +2 -2
- package/components/ui/copy-button.js.map +1 -1
- package/components/ui/copy-button.mjs +3 -3
- package/components/ui/separator.d.mts +2 -2
- package/components/ui/separator.d.ts +2 -2
- package/components/ui/sidebar.d.mts +2 -2
- package/components/ui/sidebar.d.ts +2 -2
- package/components/ui/sidebar.js +4 -4
- package/components/ui/sidebar.mjs +3 -3
- package/layouts/sidebar1/app-sidebar.d.mts +2 -2
- package/layouts/sidebar1/app-sidebar.d.ts +2 -2
- package/layouts/sidebar1/app-sidebar.js +11 -11
- package/layouts/sidebar1/app-sidebar.mjs +10 -10
- package/layouts/sidebar1/context-switcher.js +6 -6
- package/layouts/sidebar1/context-switcher.mjs +5 -5
- package/layouts/sidebar1/index.js +15 -15
- package/layouts/sidebar1/index.js.map +1 -1
- package/layouts/sidebar1/index.mjs +17 -17
- package/layouts/sidebar1/nav-menus.js +6 -6
- package/layouts/sidebar1/nav-menus.mjs +5 -5
- package/layouts/sidebar1/nav-user.js +7 -7
- package/layouts/sidebar1/nav-user.mjs +6 -6
- package/layouts/simple/index.js +2 -2
- package/layouts/simple/index.mjs +3 -3
- package/package.json +1 -1
- package/chunk-JXS4XATF.js.map +0 -1
- package/chunk-UVCJNDR3.mjs.map +0 -1
- /package/{chunk-XNTCCRNR.mjs.map → chunk-3DG54EVO.mjs.map} +0 -0
- /package/{chunk-LSVA45KP.mjs.map → chunk-C736G6RV.mjs.map} +0 -0
- /package/{chunk-CJQZPOT7.mjs.map → chunk-F57PDM2P.mjs.map} +0 -0
- /package/{chunk-MGX55IOV.mjs.map → chunk-GGOYFF4M.mjs.map} +0 -0
- /package/{chunk-YRL22JCC.mjs.map → chunk-IYZWOHGP.mjs.map} +0 -0
- /package/{chunk-36OX4XHZ.mjs.map → chunk-OI7CIW4X.mjs.map} +0 -0
- /package/{chunk-757RWUDS.mjs.map → chunk-QJLNEVAE.mjs.map} +0 -0
- /package/{chunk-UUWNH7TQ.mjs.map → chunk-VOED37ZV.mjs.map} +0 -0
|
@@ -11,12 +11,12 @@ import {
|
|
|
11
11
|
PopoverContent,
|
|
12
12
|
PopoverTrigger
|
|
13
13
|
} from "./chunk-47TKC7DB.mjs";
|
|
14
|
-
import {
|
|
15
|
-
Label
|
|
16
|
-
} from "./chunk-NL4534LH.mjs";
|
|
17
14
|
import {
|
|
18
15
|
Button
|
|
19
16
|
} from "./chunk-SQK67X4D.mjs";
|
|
17
|
+
import {
|
|
18
|
+
Label
|
|
19
|
+
} from "./chunk-NL4534LH.mjs";
|
|
20
20
|
import {
|
|
21
21
|
cn
|
|
22
22
|
} from "./chunk-KGUUDFJE.mjs";
|
|
@@ -84,4 +84,4 @@ function FormSearchableSelect({
|
|
|
84
84
|
export {
|
|
85
85
|
FormSearchableSelect
|
|
86
86
|
};
|
|
87
|
-
//# sourceMappingURL=chunk-
|
|
87
|
+
//# sourceMappingURL=chunk-3DG54EVO.mjs.map
|
|
@@ -1,9 +1,6 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireWildcard(obj) { if (obj && obj.__esModule) { return obj; } else { var newObj = {}; if (obj != null) { for (var key in obj) { if (Object.prototype.hasOwnProperty.call(obj, key)) { newObj[key] = obj[key]; } } } newObj.default = obj; return newObj; } }
|
|
3
3
|
|
|
4
|
-
var _chunkHN73FRPZjs = require('./chunk-HN73FRPZ.js');
|
|
5
|
-
|
|
6
|
-
|
|
7
4
|
var _chunkHMEHDD5Njs = require('./chunk-HMEHDD5N.js');
|
|
8
5
|
|
|
9
6
|
|
|
@@ -12,6 +9,9 @@ var _chunkHMEHDD5Njs = require('./chunk-HMEHDD5N.js');
|
|
|
12
9
|
var _chunkBH4FHKARjs = require('./chunk-BH4FHKAR.js');
|
|
13
10
|
|
|
14
11
|
|
|
12
|
+
var _chunkHN73FRPZjs = require('./chunk-HN73FRPZ.js');
|
|
13
|
+
|
|
14
|
+
|
|
15
15
|
|
|
16
16
|
|
|
17
17
|
|
|
@@ -21,10 +21,10 @@ var _chunkGZPKVSCRjs = require('./chunk-GZPKVSCR.js');
|
|
|
21
21
|
var _chunkAPMXMQPZjs = require('./chunk-APMXMQPZ.js');
|
|
22
22
|
|
|
23
23
|
|
|
24
|
-
var
|
|
24
|
+
var _chunkN7JSYNXMjs = require('./chunk-N7JSYNXM.js');
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunkOFRRRK4Njs = require('./chunk-OFRRRK4N.js');
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
var _chunkPSPAJNNBjs = require('./chunk-PSPAJNNB.js');
|
|
@@ -564,4 +564,4 @@ SidebarMenuSubButton.displayName = "SidebarMenuSubButton";
|
|
|
564
564
|
|
|
565
565
|
|
|
566
566
|
exports.useSidebar = useSidebar; exports.SidebarProvider = SidebarProvider; exports.Sidebar = Sidebar; exports.SidebarTrigger = SidebarTrigger; exports.SidebarRail = SidebarRail; exports.SidebarInset = SidebarInset; exports.SidebarInput = SidebarInput; exports.SidebarHeader = SidebarHeader; exports.SidebarFooter = SidebarFooter; exports.SidebarSeparator = SidebarSeparator; exports.SidebarContent = SidebarContent; exports.SidebarGroup = SidebarGroup; exports.SidebarGroupLabel = SidebarGroupLabel; exports.SidebarGroupAction = SidebarGroupAction; exports.SidebarGroupContent = SidebarGroupContent; exports.SidebarMenu = SidebarMenu; exports.SidebarMenuItem = SidebarMenuItem; exports.SidebarMenuButton = SidebarMenuButton; exports.SidebarMenuAction = SidebarMenuAction; exports.SidebarMenuBadge = SidebarMenuBadge; exports.SidebarMenuSkeleton = SidebarMenuSkeleton; exports.SidebarMenuSub = SidebarMenuSub; exports.SidebarMenuSubItem = SidebarMenuSubItem; exports.SidebarMenuSubButton = SidebarMenuSubButton;
|
|
567
|
-
//# sourceMappingURL=chunk-
|
|
567
|
+
//# sourceMappingURL=chunk-5AC6SSUU.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-MW4W54D3.js","../components/ui/sidebar.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-MW4W54D3.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { PanelLeft } from 'lucide-react';\n\nimport { useIsMobile } from '../../hooks/use-mobile';\nimport { cn } from '../../utils/ui';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Separator } from './separator';\nimport { Sheet, SheetTitle, SheetContent } from './sheet';\nimport { Skeleton } from './skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContext = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n }\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\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(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\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<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\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(\n 'group/sidebar-wrapper flex min-h-svh w-screen has-[[data-variant=inset]]:bg-sidebar w-full',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n});\nSidebarProvider.displayName = 'SidebarProvider';\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n }\n>(({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn('flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground', className)}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetTitle className=\"hidden\"></SheetTitle>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n aria-describedby=\"\"\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden text-sidebar-foreground md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar';\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\n ({ className, onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"light\"\n size=\"icon\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeft />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n },\n);\nSidebarTrigger.displayName = 'SidebarTrigger';\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(\n ({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarRail.displayName = 'SidebarRail';\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n 'relative flex min-h-svh flex-1 flex-col bg-background',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarInset.displayName = 'SidebarInset';\n\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof Input>, React.ComponentProps<typeof Input>>(\n ({ className, ...props }, ref) => {\n return (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n 'h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarInput.displayName = 'SidebarInput';\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return <div ref={ref} data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return <div ref={ref} data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarFooter.displayName = 'SidebarFooter';\n\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\n ({ className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\n {...props}\n />\n );\n },\n);\nSidebarSeparator.displayName = 'SidebarSeparator';\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarContent.displayName = 'SidebarContent';\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n );\n});\nSidebarGroup.displayName = 'SidebarGroup';\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & { asChild?: boolean }>(\n ({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n 'flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'> & { asChild?: boolean }>(\n ({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n 'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarGroupAction.displayName = 'SidebarGroupAction';\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />\n ),\n);\nSidebarGroupContent.displayName = 'SidebarGroupContent';\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n <ul ref={ref} data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n));\nSidebarMenu.displayName = 'SidebarMenu';\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n <li ref={ref} data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />\n));\nSidebarMenuItem.displayName = 'SidebarMenuItem';\n\nconst sidebarMenuButtonVariants = cva(\n '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 group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n } & VariantProps<typeof sidebarMenuButtonVariants>\n>(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n ref={ref}\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\" align=\"center\" hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n );\n});\nSidebarMenuButton.displayName = 'SidebarMenuButton';\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n }\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n 'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarMenuAction.displayName = 'SidebarMenuAction';\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n 'pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n ),\n);\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n showIcon?: boolean;\n }\n>(({ className, showIcon = false, ...props }, ref) => {\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 ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-[--skeleton-width] flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n});\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n ),\n);\nSidebarMenuSub.displayName = 'SidebarMenuSub';\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ ...props }, ref) => (\n <li ref={ref} {...props} />\n));\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n }\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\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 SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-5AC6SSUU.js","../components/ui/sidebar.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-5AC6SSUU.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { VariantProps, cva } from 'class-variance-authority';\nimport { PanelLeft } from 'lucide-react';\n\nimport { useIsMobile } from '../../hooks/use-mobile';\nimport { cn } from '../../utils/ui';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Separator } from './separator';\nimport { Sheet, SheetTitle, SheetContent } from './sheet';\nimport { Skeleton } from './skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContext = {\n state: 'expanded' | 'collapsed';\n open: boolean;\n setOpen: (open: boolean) => void;\n openMobile: boolean;\n setOpenMobile: (open: boolean) => void;\n isMobile: boolean;\n toggleSidebar: () => void;\n};\n\nconst SidebarContext = React.createContext<SidebarContext | null>(null);\n\nfunction useSidebar() {\n const context = React.useContext(SidebarContext);\n if (!context) {\n throw new Error('useSidebar must be used within a SidebarProvider.');\n }\n\n return context;\n}\n\nconst SidebarProvider = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\n }\n>(({ defaultOpen = true, open: openProp, onOpenChange: setOpenProp, className, style, children, ...props }, ref) => {\n const isMobile = useIsMobile();\n const [openMobile, setOpenMobile] = React.useState(false);\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(defaultOpen);\n const open = openProp ?? _open;\n const setOpen = React.useCallback(\n (value: boolean | ((value: boolean) => boolean)) => {\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<SidebarContext>(\n () => ({\n state,\n open,\n setOpen,\n isMobile,\n openMobile,\n setOpenMobile,\n toggleSidebar,\n }),\n [state, open, setOpen, isMobile, openMobile, setOpenMobile, toggleSidebar],\n );\n\n return (\n <SidebarContext.Provider value={contextValue}>\n <TooltipProvider delayDuration={0}>\n <div\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(\n 'group/sidebar-wrapper flex min-h-svh w-screen has-[[data-variant=inset]]:bg-sidebar w-full',\n className,\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n});\nSidebarProvider.displayName = 'SidebarProvider';\n\nconst Sidebar = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n }\n>(({ side = 'left', variant = 'sidebar', collapsible = 'offcanvas', className, children, ...props }, ref) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n className={cn('flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground', className)}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n );\n }\n\n if (isMobile) {\n return (\n <Sheet open={openMobile} onOpenChange={setOpenMobile} {...props}>\n <SheetTitle className=\"hidden\"></SheetTitle>\n <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\n aria-describedby=\"\"\n className=\"w-(--sidebar-width) bg-sidebar p-0 text-sidebar-foreground [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n ref={ref}\n className=\"group peer hidden text-sidebar-foreground md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n className={cn(\n 'relative h-svh w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)',\n )}\n />\n <div\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)_+_theme(spacing.4)_+2px)]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon) group-data-[side=left]:border-r group-data-[side=right]:border-l',\n className,\n )}\n {...props}\n >\n <div\n data-sidebar=\"sidebar\"\n className=\"flex h-full w-full flex-col bg-sidebar group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:border-sidebar-border group-data-[variant=floating]:shadow\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n});\nSidebar.displayName = 'Sidebar';\n\nconst SidebarTrigger = React.forwardRef<React.ElementRef<typeof Button>, React.ComponentProps<typeof Button>>(\n ({ className, onClick, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n ref={ref}\n data-sidebar=\"trigger\"\n variant=\"light\"\n size=\"icon\"\n className={cn('h-7 w-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeft />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n },\n);\nSidebarTrigger.displayName = 'SidebarTrigger';\n\nconst SidebarRail = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'>>(\n ({ className, ...props }, ref) => {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n ref={ref}\n data-sidebar=\"rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] hover:after:bg-sidebar-border group-data-[side=left]:-right-4 group-data-[side=right]:left-0 sm:flex',\n '[[data-side=left]_&]:cursor-w-resize [[data-side=right]_&]:cursor-e-resize',\n '[[data-side=left][data-state=collapsed]_&]:cursor-e-resize [[data-side=right][data-state=collapsed]_&]:cursor-w-resize',\n 'group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full group-data-[collapsible=offcanvas]:hover:bg-sidebar',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarRail.displayName = 'SidebarRail';\n\nconst SidebarInset = React.forwardRef<HTMLDivElement, React.ComponentProps<'main'>>(({ className, ...props }, ref) => {\n return (\n <main\n ref={ref}\n className={cn(\n 'relative flex min-h-svh flex-1 flex-col bg-background',\n 'peer-data-[variant=inset]:min-h-[calc(100svh-theme(spacing.4))] md:peer-data-[variant=inset]:m-2 md:peer-data-[state=collapsed]:peer-data-[variant=inset]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarInset.displayName = 'SidebarInset';\n\nconst SidebarInput = React.forwardRef<React.ElementRef<typeof Input>, React.ComponentProps<typeof Input>>(\n ({ className, ...props }, ref) => {\n return (\n <Input\n ref={ref}\n data-sidebar=\"input\"\n className={cn(\n 'h-8 w-full bg-background shadow-none focus-visible:ring-2 focus-visible:ring-sidebar-ring',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarInput.displayName = 'SidebarInput';\n\nconst SidebarHeader = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return <div ref={ref} data-sidebar=\"header\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarHeader.displayName = 'SidebarHeader';\n\nconst SidebarFooter = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return <div ref={ref} data-sidebar=\"footer\" className={cn('flex flex-col gap-2 p-2', className)} {...props} />;\n});\nSidebarFooter.displayName = 'SidebarFooter';\n\nconst SidebarSeparator = React.forwardRef<React.ElementRef<typeof Separator>, React.ComponentProps<typeof Separator>>(\n ({ className, ...props }, ref) => {\n return (\n <Separator\n ref={ref}\n data-sidebar=\"separator\"\n className={cn('mx-2 w-auto bg-sidebar-border', className)}\n {...props}\n />\n );\n },\n);\nSidebarSeparator.displayName = 'SidebarSeparator';\n\nconst SidebarContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"content\"\n className={cn(\n 'flex min-h-0 flex-1 flex-col gap-2 overflow-auto group-data-[collapsible=icon]:overflow-hidden',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarContent.displayName = 'SidebarContent';\n\nconst SidebarGroup = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n );\n});\nSidebarGroup.displayName = 'SidebarGroup';\n\nconst SidebarGroupLabel = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'> & { asChild?: boolean }>(\n ({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-label\"\n className={cn(\n 'flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-none ring-sidebar-ring transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarGroupLabel.displayName = 'SidebarGroupLabel';\n\nconst SidebarGroupAction = React.forwardRef<HTMLButtonElement, React.ComponentProps<'button'> & { asChild?: boolean }>(\n ({ className, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"group-action\"\n className={cn(\n 'absolute right-3 top-3.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n );\n },\n);\nSidebarGroupAction.displayName = 'SidebarGroupAction';\n\nconst SidebarGroupContent = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} data-sidebar=\"group-content\" className={cn('w-full text-sm', className)} {...props} />\n ),\n);\nSidebarGroupContent.displayName = 'SidebarGroupContent';\n\nconst SidebarMenu = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(({ className, ...props }, ref) => (\n <ul ref={ref} data-sidebar=\"menu\" className={cn('flex w-full min-w-0 flex-col gap-1', className)} {...props} />\n));\nSidebarMenu.displayName = 'SidebarMenu';\n\nconst SidebarMenuItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ className, ...props }, ref) => (\n <li ref={ref} data-sidebar=\"menu-item\" className={cn('group/menu-item relative', className)} {...props} />\n));\nSidebarMenuItem.displayName = 'SidebarMenuItem';\n\nconst sidebarMenuButtonVariants = cva(\n '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 group-data-[collapsible=icon]:!size-8 group-data-[collapsible=icon]:!p-2 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0',\n {\n variants: {\n variant: {\n default: 'hover:bg-sidebar-accent hover:text-sidebar-accent-foreground',\n outline:\n 'bg-background shadow-[0_0_0_1px_hsl(var(--sidebar-border))] hover:bg-sidebar-accent hover:text-sidebar-accent-foreground hover:shadow-[0_0_0_1px_hsl(var(--sidebar-accent))]',\n },\n size: {\n default: 'h-8 text-sm',\n sm: 'h-7 text-xs',\n lg: 'h-12 text-sm group-data-[collapsible=icon]:!p-0',\n },\n },\n defaultVariants: {\n variant: 'default',\n size: 'default',\n },\n },\n);\n\nconst SidebarMenuButton = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n } & VariantProps<typeof sidebarMenuButtonVariants>\n>(({ asChild = false, isActive = false, variant = 'default', size = 'default', tooltip, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n ref={ref}\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\" align=\"center\" hidden={state !== 'collapsed' || isMobile} {...tooltip} />\n </Tooltip>\n );\n});\nSidebarMenuButton.displayName = 'SidebarMenuButton';\n\nconst SidebarMenuAction = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n }\n>(({ className, asChild = false, showOnHover = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-action\"\n className={cn(\n 'absolute right-1 top-1.5 flex aspect-square w-5 items-center justify-center rounded-md p-0 text-sidebar-foreground outline-none ring-sidebar-ring transition-transform hover:bg-sidebar-accent hover:text-sidebar-accent-foreground focus-visible:ring-2 peer-hover/menu-button:text-sidebar-accent-foreground [&>svg]:size-4 [&>svg]:shrink-0',\n // Increases the hit area of the button on mobile.\n 'after:absolute after:-inset-2 after:md:hidden',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n showOnHover &&\n 'group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 peer-data-[active=true]/menu-button:text-sidebar-accent-foreground md:opacity-0',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarMenuAction.displayName = 'SidebarMenuAction';\n\nconst SidebarMenuBadge = React.forwardRef<HTMLDivElement, React.ComponentProps<'div'>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n 'pointer-events-none absolute right-1 flex h-5 min-w-5 select-none items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground',\n 'peer-hover/menu-button:text-sidebar-accent-foreground peer-data-[active=true]/menu-button:text-sidebar-accent-foreground',\n 'peer-data-[size=sm]/menu-button:top-1',\n 'peer-data-[size=default]/menu-button:top-1.5',\n 'peer-data-[size=lg]/menu-button:top-2.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n ),\n);\nSidebarMenuBadge.displayName = 'SidebarMenuBadge';\n\nconst SidebarMenuSkeleton = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<'div'> & {\n showIcon?: boolean;\n }\n>(({ className, showIcon = false, ...props }, ref) => {\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 ref={ref}\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-[--skeleton-width] flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n});\nSidebarMenuSkeleton.displayName = 'SidebarMenuSkeleton';\n\nconst SidebarMenuSub = React.forwardRef<HTMLUListElement, React.ComponentProps<'ul'>>(\n ({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu-sub\"\n className={cn(\n 'mx-3.5 flex min-w-0 translate-x-px flex-col gap-1 border-l border-sidebar-border px-2.5 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n ),\n);\nSidebarMenuSub.displayName = 'SidebarMenuSub';\n\nconst SidebarMenuSubItem = React.forwardRef<HTMLLIElement, React.ComponentProps<'li'>>(({ ...props }, ref) => (\n <li ref={ref} {...props} />\n));\nSidebarMenuSubItem.displayName = 'SidebarMenuSubItem';\n\nconst SidebarMenuSubButton = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n }\n>(({ asChild = false, size = 'md', isActive, className, ...props }, ref) => {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n ref={ref}\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 text-sidebar-foreground outline-none ring-sidebar-ring 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 aria-disabled:pointer-events-none aria-disabled:opacity-50 [&>span:last-child]:truncate [&>svg]:size-4 [&>svg]:shrink-0 [&>svg]:text-sidebar-accent-foreground',\n 'data-[active=true]:bg-sidebar-accent data-[active=true]:text-sidebar-accent-foreground',\n size === 'sm' && 'text-xs',\n size === 'md' && 'text-sm',\n 'group-data-[collapsible=icon]:hidden',\n className,\n )}\n {...props}\n />\n );\n});\nSidebarMenuSubButton.displayName = 'SidebarMenuSubButton';\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 SidebarSeparator,\n SidebarTrigger,\n useSidebar,\n};\n"]}
|
|
@@ -3,18 +3,18 @@
|
|
|
3
3
|
|
|
4
4
|
|
|
5
5
|
|
|
6
|
-
var _chunkOROMS2CNjs = require('./chunk-OROMS2CN.js');
|
|
7
6
|
|
|
8
7
|
|
|
9
8
|
|
|
10
9
|
|
|
11
10
|
|
|
12
11
|
|
|
12
|
+
var _chunk5AC6SSUUjs = require('./chunk-5AC6SSUU.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
var
|
|
17
|
+
var _chunkOROMS2CNjs = require('./chunk-OROMS2CN.js');
|
|
18
18
|
|
|
19
19
|
|
|
20
20
|
var _chunkPSPAJNNBjs = require('./chunk-PSPAJNNB.js');
|
|
@@ -23,19 +23,19 @@ var _chunkPSPAJNNBjs = require('./chunk-PSPAJNNB.js');
|
|
|
23
23
|
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
24
24
|
var _lucidereact = require('lucide-react');
|
|
25
25
|
function SidebarMenuLink({ item, as: LinkComponent }) {
|
|
26
|
-
const { setOpenMobile } =
|
|
26
|
+
const { setOpenMobile } = _chunk5AC6SSUUjs.useSidebar.call(void 0, );
|
|
27
27
|
const Comp = LinkComponent && item.url ? LinkComponent : "button";
|
|
28
|
-
return /* @__PURE__ */ React.createElement(
|
|
28
|
+
return /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
|
|
29
29
|
var _a;
|
|
30
30
|
return (_a = item.onClick) == null ? void 0 : _a.call(item, item.title);
|
|
31
31
|
} }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title))));
|
|
32
32
|
}
|
|
33
33
|
function SidebarMenuCollapsible({ item, as: LinkComponent }) {
|
|
34
|
-
const { setOpenMobile } =
|
|
34
|
+
const { setOpenMobile } = _chunk5AC6SSUUjs.useSidebar.call(void 0, );
|
|
35
35
|
if (!item.subItems) return null;
|
|
36
|
-
return /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(
|
|
36
|
+
return /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.CollapsibleTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenuButton, { tooltip: item.title }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title), /* @__PURE__ */ React.createElement(_lucidereact.ChevronRight, { className: "ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90" }))), /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.CollapsibleContent, null, /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenuSub, null, item.subItems.map((subItem) => {
|
|
37
37
|
const Comp = LinkComponent && subItem.url ? LinkComponent : "button";
|
|
38
|
-
return /* @__PURE__ */ React.createElement(
|
|
38
|
+
return /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(
|
|
39
39
|
Comp,
|
|
40
40
|
{
|
|
41
41
|
to: subItem.url,
|
|
@@ -53,7 +53,7 @@ function SidebarMenuCollapsible({ item, as: LinkComponent }) {
|
|
|
53
53
|
}
|
|
54
54
|
function NavMenus({ menus, aslink }) {
|
|
55
55
|
return menus.map((menu) => {
|
|
56
|
-
return /* @__PURE__ */ React.createElement(
|
|
56
|
+
return /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarGroup, { key: menu.title, className: _chunkPSPAJNNBjs.cn.call(void 0, menu.className) }, !menu.hideTitle && /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarGroupLabel, null, menu.title), /* @__PURE__ */ React.createElement(_chunk5AC6SSUUjs.SidebarMenu, null, menu.items.map(
|
|
57
57
|
(item) => item.subItems && item.subItems.length > 0 ? /* @__PURE__ */ React.createElement(SidebarMenuCollapsible, { key: item.title, item, as: aslink }) : /* @__PURE__ */ React.createElement(SidebarMenuLink, { key: item.title, item, as: aslink })
|
|
58
58
|
)));
|
|
59
59
|
});
|
|
@@ -62,4 +62,4 @@ function NavMenus({ menus, aslink }) {
|
|
|
62
62
|
|
|
63
63
|
|
|
64
64
|
exports.NavMenus = NavMenus;
|
|
65
|
-
//# sourceMappingURL=chunk-
|
|
65
|
+
//# sourceMappingURL=chunk-5WZCVX6I.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-5WZCVX6I.js","../layouts/sidebar1/nav-menus.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-5WZCVX6I.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport { ChevronRight } from 'lucide-react';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../components/ui/collapsible';\nimport {\n SidebarGroup,\n SidebarGroupLabel,\n SidebarMenu,\n SidebarMenuButton,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarMenuSubButton,\n SidebarMenuSubItem,\n} from '../../components/ui/sidebar';\nimport { useSidebar } from '../../components/ui/sidebar';\nimport { cn } from '../../utils/ui';\n\nexport interface IMenuSubItem {\n title: string;\n url?: string;\n icon?: React.ElementType;\n isActive?: boolean;\n onClick?: (title: string) => void;\n}\n\nexport interface IMenuItem extends IMenuSubItem {\n subItems?: IMenuSubItem[];\n}\n\nexport interface INavMenu {\n title: string;\n items: IMenuItem[];\n hideTitle?: boolean;\n className?: string;\n}\n\nfunction SidebarMenuLink({ item, as: LinkComponent }: { item: IMenuSubItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n const Comp = LinkComponent && item.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuItem>\n <SidebarMenuButton asChild isActive={item.isActive} tooltip={item.title} onClick={() => setOpenMobile(false)}>\n <Comp to={item.url} href={item.url} onClick={() => item.onClick?.(item.title)}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n </Comp>\n </SidebarMenuButton>\n </SidebarMenuItem>\n );\n}\n\nfunction SidebarMenuCollapsible({ item, as: LinkComponent }: { item: IMenuItem; as: React.ElementType }) {\n const { setOpenMobile } = useSidebar();\n if (!item.subItems) return null;\n\n return (\n <Collapsible key={item.title} asChild defaultOpen={item.isActive} className=\"group/collapsible\">\n <SidebarMenuItem>\n <CollapsibleTrigger asChild>\n <SidebarMenuButton tooltip={item.title}>\n {item.icon && <item.icon />}\n <span>{item.title}</span>\n\n <ChevronRight className=\"ml-auto transition-transform duration-200 group-data-[state=open]/collapsible:rotate-90\" />\n </SidebarMenuButton>\n </CollapsibleTrigger>\n\n <CollapsibleContent>\n <SidebarMenuSub>\n {item.subItems.map((subItem) => {\n const Comp = LinkComponent && subItem.url ? LinkComponent : 'button';\n\n return (\n <SidebarMenuSubItem key={subItem.title}>\n <SidebarMenuSubButton asChild isActive={subItem.isActive} onClick={() => setOpenMobile(false)}>\n <Comp\n to={subItem.url}\n href={subItem.url}\n onClick={() => item.onClick?.(subItem.title)}\n className=\"block w-full\"\n >\n {subItem.icon && <subItem.icon />}\n <span>{subItem.title}</span>\n </Comp>\n </SidebarMenuSubButton>\n </SidebarMenuSubItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </Collapsible>\n );\n}\n\nexport function NavMenus({ menus, aslink }: { menus: INavMenu[]; aslink: React.ElementType }) {\n return menus.map((menu) => {\n return (\n <SidebarGroup key={menu.title} className={cn(menu.className)}>\n {!menu.hideTitle && <SidebarGroupLabel>{menu.title}</SidebarGroupLabel>}\n\n <SidebarMenu>\n {menu.items.map((item) =>\n item.subItems && item.subItems.length > 0 ? (\n <SidebarMenuCollapsible key={item.title} item={item} as={aslink} />\n ) : (\n <SidebarMenuLink key={item.title} item={item} as={aslink} />\n ),\n )}\n </SidebarMenu>\n </SidebarGroup>\n );\n });\n}\n"]}
|
|
@@ -7,14 +7,14 @@ import {
|
|
|
7
7
|
PopoverTrigger
|
|
8
8
|
} from "./chunk-47TKC7DB.mjs";
|
|
9
9
|
import {
|
|
10
|
-
|
|
11
|
-
} from "./chunk-
|
|
10
|
+
Button
|
|
11
|
+
} from "./chunk-SQK67X4D.mjs";
|
|
12
12
|
import {
|
|
13
13
|
isEqualDate
|
|
14
14
|
} from "./chunk-SX4LQFOF.mjs";
|
|
15
15
|
import {
|
|
16
|
-
|
|
17
|
-
} from "./chunk-
|
|
16
|
+
Label
|
|
17
|
+
} from "./chunk-NL4534LH.mjs";
|
|
18
18
|
import {
|
|
19
19
|
cn
|
|
20
20
|
} from "./chunk-KGUUDFJE.mjs";
|
|
@@ -103,4 +103,4 @@ function FormDatePicker({
|
|
|
103
103
|
export {
|
|
104
104
|
FormDatePicker
|
|
105
105
|
};
|
|
106
|
-
//# sourceMappingURL=chunk-
|
|
106
|
+
//# sourceMappingURL=chunk-C736G6RV.mjs.map
|
|
@@ -9,13 +9,13 @@ var _chunkXDCB6C5Sjs = require('./chunk-XDCB6C5S.js');
|
|
|
9
9
|
var _chunkLYMKN3NYjs = require('./chunk-LYMKN3NY.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkOFRRRK4Njs = require('./chunk-OFRRRK4N.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
var _chunkIYVLRZJ4js = require('./chunk-IYVLRZJ4.js');
|
|
16
16
|
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _chunkKNNX4FAHjs = require('./chunk-KNNX4FAH.js');
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
var _chunkPSPAJNNBjs = require('./chunk-PSPAJNNB.js');
|
|
@@ -104,4 +104,4 @@ function FormDatePicker({
|
|
|
104
104
|
|
|
105
105
|
|
|
106
106
|
exports.FormDatePicker = FormDatePicker;
|
|
107
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
//# sourceMappingURL=chunk-CSDFVUNP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-CSDFVUNP.js","../components/form/date-picker.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-CSDFVUNP.js","sourcesContent":[null,"\"use client\";\nimport React, { useEffect, useState } from 'react';\nimport { addDays, format, isEqual } from 'date-fns';\nimport { CalendarIcon } from 'lucide-react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport _isNil from 'lodash-es/isNil';\nimport _isUndefined from 'lodash-es/isUndefined';\nimport _isString from 'lodash-es/isString';\n\nimport { isEqualDate } from '../../utils/date';\nimport { cn } from '../../utils/ui';\nimport { Button } from '../ui/button';\nimport { Label } from '../ui/label';\nimport { Calendar } from '../ui/calendar';\nimport { Popover, PopoverContent, PopoverTrigger } from '../ui/popover';\nimport { Matcher } from 'react-day-picker';\n\nfunction formatDate(date: Date) {\n return format(date, 'LLL dd, y');\n}\n\nfunction getStartOfDay(date: Date) {\n const startOfDay = new Date(date.getFullYear(), date.getMonth(), date.getDate());\n return startOfDay;\n}\n\nexport interface FormDatePickerProps {\n id?: string;\n name: string;\n label?: string;\n required?: boolean;\n disabled?: Matcher | Matcher[];\n initialValue?: Date | string;\n closeOnSelect?: boolean;\n value?: Date | string;\n onChange: (value?: Date) => void;\n classNames?: {\n wrapper?: string;\n label?: string;\n button?: string;\n };\n}\n\nexport function FormDatePicker({\n id,\n name,\n label,\n required = false,\n closeOnSelect = true,\n disabled,\n initialValue,\n value,\n onChange,\n classNames,\n}: FormDatePickerProps) {\n const [date, setDate] = useState<Date | undefined>(undefined);\n const [initialized, setInitialized] = useState(false);\n const [isOpen, setIsOpen] = useState(false);\n\n useEffect(() => {\n if (!initialized) {\n const dt = initialValue ? getStartOfDay(new Date(initialValue)) : getStartOfDay(new Date());\n\n setDate(dt);\n setInitialized(true);\n }\n }, [initialized, initialValue]);\n\n useEffect(() => {\n if (_isUndefined(value)) {\n if (!_isUndefined(date)) {\n setDate(undefined);\n }\n } else {\n const dt = _isString(value) ? new Date(value) : value;\n if (!isEqualDate(date, dt)) {\n setDate(getStartOfDay(dt));\n }\n }\n }, [value]);\n\n useEffect(() => {\n if (initialized) {\n onChange(date);\n }\n }, [date, initialized]);\n\n if (!id) id = _kebabCase(name);\n\n const display = !initialized ? <span></span> : date ? <>{formatDate(date)}</> : <span>Pick a date</span>;\n\n return (\n <div className={cn('date-picker', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <div className={cn('grid gap-2')}>\n <Popover open={isOpen} onOpenChange={setIsOpen}>\n <PopoverTrigger asChild>\n <Button\n variant={date ? 'secondary' : 'muted'}\n appearance=\"outline\"\n className={cn('min-w-[145px] justify-start text-left font-normal', classNames?.button)}\n >\n <CalendarIcon />\n {display}\n </Button>\n </PopoverTrigger>\n\n <PopoverContent className=\"w-auto p-0\" align=\"start\">\n <Calendar\n mode=\"single\"\n defaultMonth={date}\n selected={date}\n onSelect={(newdate) => {\n if (!isEqualDate(date, newdate)) {\n setDate(newdate);\n }\n if (closeOnSelect) setIsOpen(false);\n }}\n disabled={disabled}\n />\n </PopoverContent>\n </Popover>\n </div>\n </div>\n );\n}\n"]}
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
import {
|
|
2
2
|
ContextSwitcher
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-GGOYFF4M.mjs";
|
|
4
4
|
import {
|
|
5
5
|
NavMenus
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-QJLNEVAE.mjs";
|
|
7
7
|
import {
|
|
8
8
|
NavUser
|
|
9
|
-
} from "./chunk-
|
|
9
|
+
} from "./chunk-F57PDM2P.mjs";
|
|
10
10
|
import {
|
|
11
11
|
Sidebar,
|
|
12
12
|
SidebarContent,
|
|
13
13
|
SidebarFooter,
|
|
14
14
|
SidebarHeader,
|
|
15
15
|
SidebarRail
|
|
16
|
-
} from "./chunk-
|
|
16
|
+
} from "./chunk-OI7CIW4X.mjs";
|
|
17
17
|
import {
|
|
18
18
|
Button
|
|
19
19
|
} from "./chunk-SQK67X4D.mjs";
|
|
@@ -29,7 +29,7 @@ function AppSidebar(_a) {
|
|
|
29
29
|
var _b;
|
|
30
30
|
const _a2 = props, { data, aslink } = _a2, rest = __objRest(_a2, ["data", "aslink"]);
|
|
31
31
|
const { context } = data;
|
|
32
|
-
return /* @__PURE__ */ React.createElement(Sidebar, __spreadValues({ collapsible: "icon" }, rest), /* @__PURE__ */ React.createElement(SidebarHeader, null, /* @__PURE__ */ React.createElement(
|
|
32
|
+
return /* @__PURE__ */ React.createElement(Sidebar, __spreadValues({ collapsible: "icon" }, rest), (context == null ? void 0 : context.items) && context.items.length > 0 && /* @__PURE__ */ React.createElement(SidebarHeader, null, /* @__PURE__ */ React.createElement(
|
|
33
33
|
ContextSwitcher,
|
|
34
34
|
{
|
|
35
35
|
items: context.items,
|
|
@@ -67,4 +67,4 @@ function AppSidebar(_a) {
|
|
|
67
67
|
export {
|
|
68
68
|
AppSidebar
|
|
69
69
|
};
|
|
70
|
-
//# sourceMappingURL=chunk-
|
|
70
|
+
//# sourceMappingURL=chunk-EIAS7WVI.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../layouts/sidebar1/app-sidebar.tsx"],"sourcesContent":["\"use client\";\nimport * as React from 'react';\nimport { NavMenus } from './nav-menus';\nimport { NavUser, INavUser, INavUserMenuItem } from './nav-user';\nimport { ContextSwitcher, INavContext } from './context-switcher';\nimport { INavMenu } from './nav-menus';\nimport { Sidebar, SidebarContent, SidebarFooter, SidebarHeader, SidebarRail } from '../../components/ui/sidebar';\nimport { Button } from '../../components/ui/button';\n\nexport interface ISidebarContext {\n title?: string;\n addText?: string;\n items?: INavContext[];\n canAdd?: boolean;\n}\n\nexport interface ISidebarData {\n user?: INavUser;\n context?: ISidebarContext;\n menus: INavMenu[];\n userMenus: INavUserMenuItem[];\n events?: {\n login?: () => void;\n logout?: (user: INavUser) => void;\n newContext?: () => void;\n contextSelect?: (context: INavContext) => void;\n };\n}\n\nexport function AppSidebar({\n ...props\n}: React.ComponentProps<typeof Sidebar> & {\n data: ISidebarData;\n aslink: React.ElementType;\n}) {\n const { data, aslink, ...rest } = props;\n const { context } = data;\n\n return (\n <Sidebar collapsible=\"icon\" {...rest}>\n {context?.items && context.items.length > 0 && (\n <SidebarHeader>\n <ContextSwitcher\n items={context.items}\n title={context.title}\n newContextText={context.addText}\n canAdd={context.canAdd}\n onContextAdd={() => {\n if (data.events?.newContext) {\n data.events.newContext();\n }\n }}\n onContextSelected={(context: INavContext) => {\n if (data.events?.contextSelect) {\n data.events.contextSelect(context);\n }\n }}\n />\n </SidebarHeader>\n )}\n\n <SidebarContent>\n <NavMenus menus={data.menus} aslink={aslink} />\n </SidebarContent>\n\n <SidebarFooter>\n {data.user ? (\n <NavUser user={data.user} menus={data.userMenus} aslink={aslink} onLogout={data.events?.logout} />\n ) : (\n <Button\n variant=\"primary\"\n onClick={() => {\n if (data.events?.login) {\n data.events.login();\n }\n }}\n >\n Sign in\n </Button>\n )}\n </SidebarFooter>\n\n <SidebarRail />\n </Sidebar>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AACA,YAAY,WAAW;AA4BhB,SAAS,WAAW,IAKxB;AALwB,MACtB,kBADsB,IACtB;AA9BL;AAmCE,QAAkCA,MAAA,OAA1B,QAAM,OAnChB,IAmCoCA,KAAT,iBAASA,KAAT,CAAjB,QAAM;AACd,QAAM,EAAE,QAAQ,IAAI;AAEpB,SACE,oCAAC,0BAAQ,aAAY,UAAW,QAC7B,mCAAS,UAAS,QAAQ,MAAM,SAAS,KACxC,oCAAC,qBACC;AAAA,IAAC;AAAA;AAAA,MACC,OAAO,QAAQ;AAAA,MACf,OAAO,QAAQ;AAAA,MACf,gBAAgB,QAAQ;AAAA,MACxB,QAAQ,QAAQ;AAAA,MAChB,cAAc,MAAM;AA/ChC,YAAAA;AAgDc,aAAIA,MAAA,KAAK,WAAL,gBAAAA,IAAa,YAAY;AAC3B,eAAK,OAAO,WAAW;AAAA,QACzB;AAAA,MACF;AAAA,MACA,mBAAmB,CAACC,aAAyB;AApDzD,YAAAD;AAqDc,aAAIA,MAAA,KAAK,WAAL,gBAAAA,IAAa,eAAe;AAC9B,eAAK,OAAO,cAAcC,QAAO;AAAA,QACnC;AAAA,MACF;AAAA;AAAA,EACF,CACF,GAGF,oCAAC,sBACC,oCAAC,YAAS,OAAO,KAAK,OAAO,QAAgB,CAC/C,GAEA,oCAAC,qBACE,KAAK,OACJ,oCAAC,WAAQ,MAAM,KAAK,MAAM,OAAO,KAAK,WAAW,QAAgB,WAAU,UAAK,WAAL,mBAAa,QAAQ,IAEhG;AAAA,IAAC;AAAA;AAAA,MACC,SAAQ;AAAA,MACR,SAAS,MAAM;AAvE3B,YAAAD;AAwEc,aAAIA,MAAA,KAAK,WAAL,gBAAAA,IAAa,OAAO;AACtB,eAAK,OAAO,MAAM;AAAA,QACpB;AAAA,MACF;AAAA;AAAA,IACD;AAAA,EAED,CAEJ,GAEA,oCAAC,iBAAY,CACf;AAEJ;","names":["_a","context"]}
|
|
@@ -1,14 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Avatar,
|
|
3
|
-
AvatarFallback,
|
|
4
|
-
AvatarImage
|
|
5
|
-
} from "./chunk-M55DCHAX.mjs";
|
|
6
1
|
import {
|
|
7
2
|
SidebarMenu,
|
|
8
3
|
SidebarMenuButton,
|
|
9
4
|
SidebarMenuItem,
|
|
10
5
|
useSidebar
|
|
11
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OI7CIW4X.mjs";
|
|
12
7
|
import {
|
|
13
8
|
DropdownMenu,
|
|
14
9
|
DropdownMenuContent,
|
|
@@ -18,6 +13,11 @@ import {
|
|
|
18
13
|
DropdownMenuSeparator,
|
|
19
14
|
DropdownMenuTrigger
|
|
20
15
|
} from "./chunk-QJKRCNUX.mjs";
|
|
16
|
+
import {
|
|
17
|
+
Avatar,
|
|
18
|
+
AvatarFallback,
|
|
19
|
+
AvatarImage
|
|
20
|
+
} from "./chunk-M55DCHAX.mjs";
|
|
21
21
|
|
|
22
22
|
// layouts/sidebar1/nav-user.tsx
|
|
23
23
|
import * as React from "react";
|
|
@@ -72,4 +72,4 @@ function NavUser({
|
|
|
72
72
|
export {
|
|
73
73
|
NavUser
|
|
74
74
|
};
|
|
75
|
-
//# sourceMappingURL=chunk-
|
|
75
|
+
//# sourceMappingURL=chunk-F57PDM2P.mjs.map
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
SidebarMenuButton,
|
|
4
4
|
SidebarMenuItem,
|
|
5
5
|
useSidebar
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-OI7CIW4X.mjs";
|
|
7
7
|
import {
|
|
8
8
|
DropdownMenu,
|
|
9
9
|
DropdownMenuContent,
|
|
@@ -97,4 +97,4 @@ function ContextSwitcher({
|
|
|
97
97
|
export {
|
|
98
98
|
ContextSwitcher
|
|
99
99
|
};
|
|
100
|
-
//# sourceMappingURL=chunk-
|
|
100
|
+
//# sourceMappingURL=chunk-GGOYFF4M.mjs.map
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Label
|
|
3
|
-
} from "./chunk-NL4534LH.mjs";
|
|
4
1
|
import {
|
|
5
2
|
Input
|
|
6
3
|
} from "./chunk-ABZ4SF2K.mjs";
|
|
4
|
+
import {
|
|
5
|
+
Label
|
|
6
|
+
} from "./chunk-NL4534LH.mjs";
|
|
7
7
|
import {
|
|
8
8
|
cn
|
|
9
9
|
} from "./chunk-KGUUDFJE.mjs";
|
|
@@ -56,4 +56,4 @@ function FormTextInput(_a) {
|
|
|
56
56
|
export {
|
|
57
57
|
FormTextInput
|
|
58
58
|
};
|
|
59
|
-
//# sourceMappingURL=chunk-
|
|
59
|
+
//# sourceMappingURL=chunk-IYZWOHGP.mjs.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use client";
|
|
2
2
|
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
3
3
|
|
|
4
|
-
var
|
|
4
|
+
var _chunkAPMXMQPZjs = require('./chunk-APMXMQPZ.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
|
-
var
|
|
7
|
+
var _chunkKNNX4FAHjs = require('./chunk-KNNX4FAH.js');
|
|
8
8
|
|
|
9
9
|
|
|
10
10
|
var _chunkPSPAJNNBjs = require('./chunk-PSPAJNNB.js');
|
|
@@ -57,4 +57,4 @@ function FormTextInput(_a) {
|
|
|
57
57
|
|
|
58
58
|
|
|
59
59
|
exports.FormTextInput = FormTextInput;
|
|
60
|
-
//# sourceMappingURL=chunk-
|
|
60
|
+
//# sourceMappingURL=chunk-NUCMI4CP.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-NUCMI4CP.js","../components/form/text-input.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACA;ACdA,4EAA2C;AAC3C,wGAAuB;AAOvB,IAAM,WAAA,EAAa,EAAA;AAcZ,SAAS,aAAA,CAAc,EAAA,EAUP;AAVO,EAAA,IAAA,GAAA,EAAA,EAAA,EAC5B;AAAA,IAAA,EAAA;AAAA,IACA,IAAA;AAAA,IACA,KAAA;AAAA,IACA,KAAA,EAAO,MAAA;AAAA,IACP,UAAA;AAAA,IACA,QAAA;AAAA,IACA,QAAA;AAAA,IACA,WAAA,EAAa,CAAC;AAAA,EA/BhB,EAAA,EAuB8B,EAAA,EASzB,KAAA,EAAA,wCAAA,EATyB,EASzB;AAAA,IARH,IAAA;AAAA,IACA,MAAA;AAAA,IACA,OAAA;AAAA,IACA,MAAA;AAAA,IACA,YAAA;AAAA,IACA,UAAA;AAAA,IACA,UAAA;AAAA,IACA;AAAA,EAAA,CAAA,CAAA;AAGA,EAAA,GAAA,CAAI,CAAC,EAAA,EAAI,GAAA,EAAK,iCAAA,IAAe,CAAA;AAE7B,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,aAAG,EAAe,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,OAAO,EAAA,CAAA,EAClD,MAAA,mBACC,eAAA,CAAA,aAAA,CAAC,sBAAA,EAAA,EAAM,OAAA,EAAS,EAAA,EAAI,SAAA,EAAW,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAA,EAAO,SAAA,CAAA,EAC/C,KACH,CAAA,kBAGF,eAAA,CAAA,aAAA;AAAA,IAAC,sBAAA;AAAA,IAAA,4CAAA,6CAAA,6CAAA;AAAA,MACC,IAAA;AAAA,MACA,EAAA;AAAA,MACA,IAAA;AAAA,MACA,QAAA;AAAA,MACA,QAAA;AAAA,MACA,YAAA,EAAa;AAAA,IAAA,CAAA,EACT,UAAA,CAAA,EACA,IAAA,CAAA,EARL;AAAA,MASC,SAAA,EAAW,iCAAA,UAAG,EAAY,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,KAAK;AAAA,IAAA,CAAA;AAAA,EAC7C,CACF,CAAA;AAEJ;ADHA;AACA;AACE;AACF,sCAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-NUCMI4CP.js","sourcesContent":[null,"\"use client\";\nimport React, { InputHTMLAttributes } from 'react';\nimport _kebabCase from 'lodash-es/kebabCase';\nimport { cn } from '../../utils/ui';\nimport { Label } from '../ui/label';\nimport { Input } from '../ui/input';\n\ninterface InputProps extends InputHTMLAttributes<HTMLInputElement> {}\n\nconst inputClass = '';\n\nexport interface FormTextInputProps extends InputProps {\n id?: string;\n name: string;\n label?: string;\n inputProps?: InputProps;\n classNames?: {\n wrapper?: string;\n label?: string;\n input?: string;\n };\n}\n\nexport function FormTextInput({\n id,\n name,\n label,\n type = 'text',\n classNames,\n required,\n disabled,\n inputProps = {},\n ...rest\n}: FormTextInputProps) {\n if (!id) id = _kebabCase(name);\n\n return (\n <div className={cn('_text-input', classNames?.wrapper)}>\n {label && (\n <Label htmlFor={id} className={classNames?.label} required={required}>\n {label}\n </Label>\n )}\n\n <Input\n type={type}\n id={id}\n name={name}\n required={required}\n disabled={disabled}\n autoComplete=\"off\"\n {...inputProps}\n {...rest}\n className={cn(inputClass, classNames?.input)}\n />\n </div>\n );\n}\n"]}
|
|
@@ -1,6 +1,3 @@
|
|
|
1
|
-
import {
|
|
2
|
-
Skeleton
|
|
3
|
-
} from "./chunk-AJFINSLK.mjs";
|
|
4
1
|
import {
|
|
5
2
|
Separator
|
|
6
3
|
} from "./chunk-SSL4EXAQ.mjs";
|
|
@@ -9,6 +6,9 @@ import {
|
|
|
9
6
|
SheetContent,
|
|
10
7
|
SheetTitle
|
|
11
8
|
} from "./chunk-JVMY3LCD.mjs";
|
|
9
|
+
import {
|
|
10
|
+
Skeleton
|
|
11
|
+
} from "./chunk-AJFINSLK.mjs";
|
|
12
12
|
import {
|
|
13
13
|
Tooltip,
|
|
14
14
|
TooltipContent,
|
|
@@ -18,12 +18,12 @@ import {
|
|
|
18
18
|
import {
|
|
19
19
|
Input
|
|
20
20
|
} from "./chunk-ABZ4SF2K.mjs";
|
|
21
|
-
import {
|
|
22
|
-
Button
|
|
23
|
-
} from "./chunk-SQK67X4D.mjs";
|
|
24
21
|
import {
|
|
25
22
|
useIsMobile
|
|
26
23
|
} from "./chunk-77MASFCZ.mjs";
|
|
24
|
+
import {
|
|
25
|
+
Button
|
|
26
|
+
} from "./chunk-SQK67X4D.mjs";
|
|
27
27
|
import {
|
|
28
28
|
cn
|
|
29
29
|
} from "./chunk-KGUUDFJE.mjs";
|
|
@@ -563,4 +563,4 @@ export {
|
|
|
563
563
|
SidebarMenuSubItem,
|
|
564
564
|
SidebarMenuSubButton
|
|
565
565
|
};
|
|
566
|
-
//# sourceMappingURL=chunk-
|
|
566
|
+
//# sourceMappingURL=chunk-OI7CIW4X.mjs.map
|