@egose/shadcn-theme 0.0.54 → 0.0.55
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-EILSBSRU.mjs → chunk-37EH7QCX.mjs} +1 -1
- package/chunk-37EH7QCX.mjs.map +1 -0
- package/{chunk-B7QAAQMG.js → chunk-4FD63HEQ.js} +9 -9
- package/{chunk-B7QAAQMG.js.map → chunk-4FD63HEQ.js.map} +1 -1
- package/{chunk-FQBFIZY3.mjs → chunk-4NMFJSJN.mjs} +1 -1
- package/{chunk-FQBFIZY3.mjs.map → chunk-4NMFJSJN.mjs.map} +1 -1
- package/{chunk-S4X22CRP.mjs → chunk-4XC6EXHZ.mjs} +2 -2
- package/chunk-4XC6EXHZ.mjs.map +1 -0
- package/{chunk-YMQLUZVD.mjs → chunk-54PLQ33F.mjs} +3 -3
- package/chunk-54PLQ33F.mjs.map +1 -0
- package/{chunk-PLIFFDWQ.js → chunk-5HD5BGK7.js} +12 -12
- package/{chunk-PLIFFDWQ.js.map → chunk-5HD5BGK7.js.map} +1 -1
- package/{chunk-BKCGAF7P.js → chunk-73VYAPJR.js} +4 -4
- package/{chunk-BKCGAF7P.js.map → chunk-73VYAPJR.js.map} +1 -1
- package/{chunk-M3IF5WMA.mjs → chunk-ACE5WNTU.mjs} +6 -6
- package/{chunk-SEM2M65Q.js → chunk-CE4PBEIL.js} +5 -5
- package/{chunk-SEM2M65Q.js.map → chunk-CE4PBEIL.js.map} +1 -1
- package/{chunk-6RRWPK3R.mjs → chunk-CPGH6LBC.mjs} +2 -2
- package/{chunk-QAB6DGZF.mjs → chunk-DMATER3M.mjs} +3 -3
- package/chunk-DMATER3M.mjs.map +1 -0
- package/{chunk-A4HQTRDU.mjs → chunk-DTJ43DCW.mjs} +3 -3
- package/{chunk-A4HQTRDU.mjs.map → chunk-DTJ43DCW.mjs.map} +1 -1
- package/{chunk-L2MO6T36.js → chunk-DYUS5722.js} +11 -11
- package/{chunk-L2MO6T36.js.map → chunk-DYUS5722.js.map} +1 -1
- package/{chunk-WERYBLJZ.js → chunk-E4SSD5P4.js} +1 -1
- package/{chunk-WERYBLJZ.js.map → chunk-E4SSD5P4.js.map} +1 -1
- package/{chunk-CNR5OJOZ.mjs → chunk-EJQJ3BCF.mjs} +2 -2
- package/{chunk-CNR5OJOZ.mjs.map → chunk-EJQJ3BCF.mjs.map} +1 -1
- package/{chunk-DSWNLHEW.js → chunk-EZZ2YCUU.js} +1 -1
- package/{chunk-DSWNLHEW.js.map → chunk-EZZ2YCUU.js.map} +1 -1
- package/{chunk-NUMBVYVR.js → chunk-I64GW5SA.js} +3 -3
- package/{chunk-NUMBVYVR.js.map → chunk-I64GW5SA.js.map} +1 -1
- package/{chunk-2SKDOU2K.mjs → chunk-IAJ2ZBSJ.mjs} +1 -1
- package/chunk-IAJ2ZBSJ.mjs.map +1 -0
- package/{chunk-MTEJGYUG.js → chunk-JHUXWZVG.js} +1 -1
- package/chunk-JHUXWZVG.js.map +1 -0
- package/{chunk-SPFMZ2EK.js → chunk-MYO4WRNB.js} +6 -6
- package/chunk-MYO4WRNB.js.map +1 -0
- package/{chunk-CNKUWWZ7.js → chunk-NI2SIUXO.js} +1 -1
- package/chunk-NI2SIUXO.js.map +1 -0
- package/{chunk-SEWCR6NS.mjs → chunk-NTYWTGYX.mjs} +3 -3
- package/{chunk-HEQKEA7M.mjs → chunk-O7E6RNCD.mjs} +7 -4
- package/chunk-O7E6RNCD.mjs.map +1 -0
- package/{chunk-MDBMHJV2.mjs → chunk-OXTCSLHP.mjs} +1 -1
- package/chunk-OXTCSLHP.mjs.map +1 -0
- package/{chunk-JF52Z27L.js → chunk-PCR4GC74.js} +8 -8
- package/{chunk-JF52Z27L.js.map → chunk-PCR4GC74.js.map} +1 -1
- package/{chunk-IKMOSUDO.mjs → chunk-PS7WGOZH.mjs} +2 -2
- package/{chunk-YTXVFY6V.js → chunk-QGXFFTPH.js} +1 -1
- package/{chunk-YTXVFY6V.js.map → chunk-QGXFFTPH.js.map} +1 -1
- package/{chunk-ETIGFRE4.js → chunk-RY3M2GTK.js} +9 -6
- package/chunk-RY3M2GTK.js.map +1 -0
- package/{chunk-YWFLDXW4.js → chunk-U3KAN7IM.js} +1 -1
- package/{chunk-YWFLDXW4.js.map → chunk-U3KAN7IM.js.map} +1 -1
- package/{chunk-OXLQUUKH.js → chunk-XJ7GBFHV.js} +4 -4
- package/{chunk-OXLQUUKH.js.map → chunk-XJ7GBFHV.js.map} +1 -1
- package/{chunk-CQ5UU2AD.mjs → chunk-YAPKDLRQ.mjs} +1 -1
- package/chunk-YAPKDLRQ.mjs.map +1 -0
- package/{chunk-KIYPK4VF.mjs → chunk-YWILOKX4.mjs} +2 -2
- package/chunk-YWILOKX4.mjs.map +1 -0
- package/{chunk-QACXLARW.mjs → chunk-ZJAFK7BR.mjs} +1 -1
- package/chunk-ZJAFK7BR.mjs.map +1 -0
- package/{chunk-MNL6TV33.js → chunk-ZOF6UW3D.js} +6 -6
- package/{chunk-MNL6TV33.js.map → chunk-ZOF6UW3D.js.map} +1 -1
- package/components/form/date-picker.d.mts +2 -1
- package/components/form/date-picker.d.ts +2 -1
- package/components/form/date-picker.js +4 -4
- package/components/form/date-picker.mjs +3 -3
- package/components/form/date-range-picker.js +4 -4
- package/components/form/date-range-picker.mjs +2 -2
- package/components/form/hook-date-picker.js +4 -4
- package/components/form/hook-date-picker.mjs +3 -3
- package/components/form/hook-searchable-select.js +5 -5
- package/components/form/hook-searchable-select.mjs +4 -4
- package/components/form/hook-select.js +3 -3
- package/components/form/hook-select.mjs +2 -2
- package/components/form/searchable-select.js +5 -5
- package/components/form/searchable-select.mjs +4 -4
- package/components/form/select.js +3 -3
- package/components/form/select.mjs +2 -2
- package/components/ui/accordion.js.map +1 -1
- package/components/ui/accordion.mjs.map +1 -1
- package/components/ui/alert-dialog.js +3 -3
- package/components/ui/alert-dialog.js.map +1 -1
- package/components/ui/alert-dialog.mjs +1 -1
- package/components/ui/alert-dialog.mjs.map +1 -1
- package/components/ui/button.js +2 -2
- package/components/ui/button.mjs +1 -1
- package/components/ui/calendar.js +3 -3
- package/components/ui/calendar.mjs +2 -2
- package/components/ui/carousel.js +3 -3
- package/components/ui/carousel.mjs +1 -1
- package/components/ui/command.js +3 -3
- package/components/ui/command.mjs +2 -2
- package/components/ui/context-menu.js.map +1 -1
- package/components/ui/context-menu.mjs.map +1 -1
- package/components/ui/copy-button.js.map +1 -1
- package/components/ui/copy-button.mjs.map +1 -1
- package/components/ui/dialog.js +2 -2
- package/components/ui/dialog.mjs +1 -1
- package/components/ui/drawer.js.map +1 -1
- package/components/ui/drawer.mjs.map +1 -1
- package/components/ui/dropdown-menu.js +2 -2
- package/components/ui/dropdown-menu.mjs +1 -1
- package/components/ui/extension/file-input.js +2 -2
- package/components/ui/extension/file-input.mjs +1 -1
- package/components/ui/extension/multi-select.d.mts +4 -4
- package/components/ui/extension/multi-select.d.ts +4 -4
- package/components/ui/extension/multi-select.js +6 -6
- package/components/ui/extension/multi-select.mjs +2 -2
- package/components/ui/input-otp.js.map +1 -1
- package/components/ui/input-otp.mjs.map +1 -1
- package/components/ui/menubar.js.map +1 -1
- package/components/ui/menubar.mjs.map +1 -1
- package/components/ui/navigation-menu.js +1 -0
- package/components/ui/navigation-menu.js.map +1 -1
- package/components/ui/navigation-menu.mjs +1 -0
- package/components/ui/navigation-menu.mjs.map +1 -1
- package/components/ui/pagination.js +2 -2
- package/components/ui/pagination.js.map +1 -1
- package/components/ui/pagination.mjs +1 -1
- package/components/ui/pagination.mjs.map +1 -1
- package/components/ui/resizable.d.mts +1 -1
- package/components/ui/resizable.d.ts +1 -1
- package/components/ui/scroll-area.js.map +1 -1
- package/components/ui/scroll-area.mjs.map +1 -1
- package/components/ui/select.js +2 -2
- package/components/ui/select.mjs +1 -1
- package/components/ui/sheet.js +2 -2
- package/components/ui/sheet.mjs +1 -1
- package/components/ui/sidebar.js +4 -4
- package/components/ui/sidebar.mjs +3 -3
- package/components/ui/slider.js.map +1 -1
- package/components/ui/slider.mjs.map +1 -1
- package/components/ui/toaster.js.map +1 -1
- package/components/ui/toaster.mjs.map +1 -1
- package/layouts/sidebar1/app-sidebar.js +9 -9
- package/layouts/sidebar1/app-sidebar.mjs +8 -8
- package/layouts/sidebar1/context-switcher.js +6 -6
- package/layouts/sidebar1/context-switcher.mjs +5 -5
- package/layouts/sidebar1/index.js +9 -9
- package/layouts/sidebar1/index.js.map +1 -1
- package/layouts/sidebar1/index.mjs +8 -8
- package/layouts/sidebar1/index.mjs.map +1 -1
- package/layouts/sidebar1/nav-menus.js +5 -5
- package/layouts/sidebar1/nav-menus.mjs +4 -4
- package/layouts/sidebar1/nav-user.js +6 -6
- package/layouts/sidebar1/nav-user.mjs +5 -5
- package/layouts/simple/index.js +5 -5
- package/layouts/simple/index.js.map +1 -1
- package/layouts/simple/index.mjs +3 -3
- package/layouts/simple/index.mjs.map +1 -1
- package/layouts/simple/mobile-menu.js +2 -2
- package/layouts/simple/mobile-menu.mjs +1 -1
- package/layouts/simple/user-menu.js +3 -3
- package/layouts/simple/user-menu.mjs +2 -2
- package/package.json +3 -3
- package/chunk-2SKDOU2K.mjs.map +0 -1
- package/chunk-CNKUWWZ7.js.map +0 -1
- package/chunk-CQ5UU2AD.mjs.map +0 -1
- package/chunk-EILSBSRU.mjs.map +0 -1
- package/chunk-ETIGFRE4.js.map +0 -1
- package/chunk-HEQKEA7M.mjs.map +0 -1
- package/chunk-KIYPK4VF.mjs.map +0 -1
- package/chunk-MDBMHJV2.mjs.map +0 -1
- package/chunk-MTEJGYUG.js.map +0 -1
- package/chunk-QAB6DGZF.mjs.map +0 -1
- package/chunk-QACXLARW.mjs.map +0 -1
- package/chunk-S4X22CRP.mjs.map +0 -1
- package/chunk-SPFMZ2EK.js.map +0 -1
- package/chunk-YMQLUZVD.mjs.map +0 -1
- /package/{chunk-M3IF5WMA.mjs.map → chunk-ACE5WNTU.mjs.map} +0 -0
- /package/{chunk-6RRWPK3R.mjs.map → chunk-CPGH6LBC.mjs.map} +0 -0
- /package/{chunk-SEWCR6NS.mjs.map → chunk-NTYWTGYX.mjs.map} +0 -0
- /package/{chunk-IKMOSUDO.mjs.map → chunk-PS7WGOZH.mjs.map} +0 -0
|
@@ -6,7 +6,7 @@ var _chunkV7M2UXTRjs = require('./chunk-V7M2UXTR.js');
|
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
|
|
9
|
-
var
|
|
9
|
+
var _chunkE4SSD5P4js = require('./chunk-E4SSD5P4.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
12
|
var _chunkLUIXCCN2js = require('./chunk-LUIXCCN2.js');
|
|
@@ -24,7 +24,7 @@ var _chunkW2N2NIVEjs = require('./chunk-W2N2NIVE.js');
|
|
|
24
24
|
var _chunkN7JSYNXMjs = require('./chunk-N7JSYNXM.js');
|
|
25
25
|
|
|
26
26
|
|
|
27
|
-
var
|
|
27
|
+
var _chunkEZZ2YCUUjs = require('./chunk-EZZ2YCUU.js');
|
|
28
28
|
|
|
29
29
|
|
|
30
30
|
var _chunk6N4WCMTEjs = require('./chunk-6N4WCMTE.js');
|
|
@@ -127,8 +127,8 @@ var Sidebar = React.forwardRef((_a, ref) => {
|
|
|
127
127
|
);
|
|
128
128
|
}
|
|
129
129
|
if (isMobile) {
|
|
130
|
-
return /* @__PURE__ */ React.createElement(
|
|
131
|
-
|
|
130
|
+
return /* @__PURE__ */ React.createElement(_chunkE4SSD5P4js.Sheet, _chunk2NMEKWO5js.__spreadValues.call(void 0, { open: openMobile, onOpenChange: setOpenMobile }, props), /* @__PURE__ */ React.createElement(_chunkE4SSD5P4js.SheetTitle, { className: "hidden" }), /* @__PURE__ */ React.createElement(
|
|
131
|
+
_chunkE4SSD5P4js.SheetContent,
|
|
132
132
|
{
|
|
133
133
|
"data-sidebar": "sidebar",
|
|
134
134
|
"data-mobile": "true",
|
|
@@ -191,7 +191,7 @@ var SidebarTrigger = React.forwardRef(
|
|
|
191
191
|
var _b = _a, { className, onClick } = _b, props = _chunk2NMEKWO5js.__objRest.call(void 0, _b, ["className", "onClick"]);
|
|
192
192
|
const { toggleSidebar } = useSidebar();
|
|
193
193
|
return /* @__PURE__ */ React.createElement(
|
|
194
|
-
|
|
194
|
+
_chunkEZZ2YCUUjs.Button,
|
|
195
195
|
_chunk2NMEKWO5js.__spreadValues.call(void 0, {
|
|
196
196
|
ref,
|
|
197
197
|
"data-sidebar": "trigger",
|
|
@@ -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-MYO4WRNB.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-MYO4WRNB.js","../components/ui/sidebar.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-MYO4WRNB.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 '../../lib/utils';\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"]}
|
|
@@ -151,4 +151,4 @@ DropdownMenuShortcut.displayName = "DropdownMenuShortcut";
|
|
|
151
151
|
|
|
152
152
|
|
|
153
153
|
exports.DropdownMenu = DropdownMenu; exports.DropdownMenuTrigger = DropdownMenuTrigger; exports.DropdownMenuGroup = DropdownMenuGroup; exports.DropdownMenuPortal = DropdownMenuPortal; exports.DropdownMenuSub = DropdownMenuSub; exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup; exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger; exports.DropdownMenuSubContent = DropdownMenuSubContent; exports.DropdownMenuContent = DropdownMenuContent; exports.DropdownMenuItem = DropdownMenuItem; exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem; exports.DropdownMenuRadioItem = DropdownMenuRadioItem; exports.DropdownMenuLabel = DropdownMenuLabel; exports.DropdownMenuSeparator = DropdownMenuSeparator; exports.DropdownMenuShortcut = DropdownMenuShortcut;
|
|
154
|
-
//# sourceMappingURL=chunk-
|
|
154
|
+
//# sourceMappingURL=chunk-NI2SIUXO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-NI2SIUXO.js","../components/ui/dropdown-menu.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-NI2SIUXO.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { Check, ChevronRight, Circle } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst DropdownMenu = DropdownMenuPrimitive.Root;\n\nconst DropdownMenuTrigger = DropdownMenuPrimitive.Trigger;\n\nconst DropdownMenuGroup = DropdownMenuPrimitive.Group;\n\nconst DropdownMenuPortal = DropdownMenuPrimitive.Portal;\n\nconst DropdownMenuSub = DropdownMenuPrimitive.Sub;\n\nconst DropdownMenuRadioGroup = DropdownMenuPrimitive.RadioGroup;\n\nconst DropdownMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n }\n>(({ className, inset, children, ...props }, ref) => (\n <DropdownMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n 'flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-none focus:bg-light data-[state=open]:bg-light [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n));\nDropdownMenuSubTrigger.displayName = DropdownMenuPrimitive.SubTrigger.displayName;\n\nconst DropdownMenuSubContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.SubContent\n ref={ref}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuSubContent.displayName = DropdownMenuPrimitive.SubContent.displayName;\n\nconst DropdownMenuContent = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n 'z-50 min-w-[8rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md',\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2',\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n));\nDropdownMenuContent.displayName = DropdownMenuPrimitive.Content.displayName;\n\nconst DropdownMenuItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Item\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&>svg]:size-4 [&>svg]:shrink-0',\n inset && 'pl-8',\n className,\n )}\n {...props}\n />\n));\nDropdownMenuItem.displayName = DropdownMenuPrimitive.Item.displayName;\n\nconst DropdownMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <DropdownMenuPrimitive.CheckboxItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n));\nDropdownMenuCheckboxItem.displayName = DropdownMenuPrimitive.CheckboxItem.displayName;\n\nconst DropdownMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <DropdownMenuPrimitive.RadioItem\n ref={ref}\n className={cn(\n 'relative flex cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-none transition-colors focus:bg-light focus:text-light-foreground data-[disabled]:pointer-events-none data-[disabled]:opacity-50',\n className,\n )}\n {...props}\n >\n <span className=\"absolute left-2 flex h-3.5 w-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"h-2 w-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n));\nDropdownMenuRadioItem.displayName = DropdownMenuPrimitive.RadioItem.displayName;\n\nconst DropdownMenuLabel = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n }\n>(({ className, inset, ...props }, ref) => (\n <DropdownMenuPrimitive.Label\n ref={ref}\n className={cn('px-2 py-1.5 text-sm font-semibold', inset && 'pl-8', className)}\n {...props}\n />\n));\nDropdownMenuLabel.displayName = DropdownMenuPrimitive.Label.displayName;\n\nconst DropdownMenuSeparator = React.forwardRef<\n React.ElementRef<typeof DropdownMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof DropdownMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <DropdownMenuPrimitive.Separator ref={ref} className={cn('-mx-1 my-1 h-px bg-muted', className)} {...props} />\n));\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName;\n\nconst DropdownMenuShortcut = ({ className, ...props }: React.HTMLAttributes<HTMLSpanElement>) => {\n return <span className={cn('ml-auto text-xs tracking-widest opacity-60', className)} {...props} />;\n};\nDropdownMenuShortcut.displayName = 'DropdownMenuShortcut';\n\nexport {\n DropdownMenu,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioItem,\n DropdownMenuLabel,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuGroup,\n DropdownMenuPortal,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuRadioGroup,\n};\n"]}
|
|
@@ -3,7 +3,7 @@ import {
|
|
|
3
3
|
SidebarMenuButton,
|
|
4
4
|
SidebarMenuItem,
|
|
5
5
|
useSidebar
|
|
6
|
-
} from "./chunk-
|
|
6
|
+
} from "./chunk-54PLQ33F.mjs";
|
|
7
7
|
import {
|
|
8
8
|
DropdownMenu,
|
|
9
9
|
DropdownMenuContent,
|
|
@@ -12,7 +12,7 @@ import {
|
|
|
12
12
|
DropdownMenuSeparator,
|
|
13
13
|
DropdownMenuShortcut,
|
|
14
14
|
DropdownMenuTrigger
|
|
15
|
-
} from "./chunk-
|
|
15
|
+
} from "./chunk-IAJ2ZBSJ.mjs";
|
|
16
16
|
import {
|
|
17
17
|
cn
|
|
18
18
|
} from "./chunk-F5XCCSBC.mjs";
|
|
@@ -70,4 +70,4 @@ function ContextSwitcher({
|
|
|
70
70
|
export {
|
|
71
71
|
ContextSwitcher
|
|
72
72
|
};
|
|
73
|
-
//# sourceMappingURL=chunk-
|
|
73
|
+
//# sourceMappingURL=chunk-NTYWTGYX.mjs.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
Calendar
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-PS7WGOZH.mjs";
|
|
4
4
|
import {
|
|
5
5
|
Popover,
|
|
6
6
|
PopoverContent,
|
|
@@ -8,7 +8,7 @@ import {
|
|
|
8
8
|
} from "./chunk-TMC4JKD5.mjs";
|
|
9
9
|
import {
|
|
10
10
|
Button
|
|
11
|
-
} from "./chunk-
|
|
11
|
+
} from "./chunk-4NMFJSJN.mjs";
|
|
12
12
|
import {
|
|
13
13
|
isEqualDate
|
|
14
14
|
} from "./chunk-Z3VXGHCE.mjs";
|
|
@@ -38,6 +38,7 @@ function FormDatePicker({
|
|
|
38
38
|
name,
|
|
39
39
|
label,
|
|
40
40
|
required = false,
|
|
41
|
+
closeOnSelect = true,
|
|
41
42
|
disabled,
|
|
42
43
|
initialValue,
|
|
43
44
|
value,
|
|
@@ -46,6 +47,7 @@ function FormDatePicker({
|
|
|
46
47
|
}) {
|
|
47
48
|
const [date, setDate] = useState(void 0);
|
|
48
49
|
const [initialized, setInitialized] = useState(false);
|
|
50
|
+
const [isOpen, setIsOpen] = useState(false);
|
|
49
51
|
useEffect(() => {
|
|
50
52
|
if (!initialized) {
|
|
51
53
|
const dt = initialValue ? getStartOfDay(new Date(initialValue)) : getStartOfDay(/* @__PURE__ */ new Date());
|
|
@@ -72,7 +74,7 @@ function FormDatePicker({
|
|
|
72
74
|
}, [date, initialized]);
|
|
73
75
|
if (!id) id = _kebabCase(name);
|
|
74
76
|
const display = !initialized ? /* @__PURE__ */ React.createElement("span", null) : date ? /* @__PURE__ */ React.createElement(React.Fragment, null, formatDate(date)) : /* @__PURE__ */ React.createElement("span", null, "Pick a date");
|
|
75
|
-
return /* @__PURE__ */ React.createElement("div", { className: cn("date-picker", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ React.createElement(Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ React.createElement("div", { className: cn("grid gap-2") }, /* @__PURE__ */ React.createElement(Popover,
|
|
77
|
+
return /* @__PURE__ */ React.createElement("div", { className: cn("date-picker", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ React.createElement(Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ React.createElement("div", { className: cn("grid gap-2") }, /* @__PURE__ */ React.createElement(Popover, { open: isOpen, onOpenChange: setIsOpen }, /* @__PURE__ */ React.createElement(PopoverTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(
|
|
76
78
|
Button,
|
|
77
79
|
{
|
|
78
80
|
variant: date ? "secondary" : "muted",
|
|
@@ -91,6 +93,7 @@ function FormDatePicker({
|
|
|
91
93
|
if (!isEqualDate(date, newdate)) {
|
|
92
94
|
setDate(newdate);
|
|
93
95
|
}
|
|
96
|
+
if (closeOnSelect) setIsOpen(false);
|
|
94
97
|
},
|
|
95
98
|
disabled
|
|
96
99
|
}
|
|
@@ -100,4 +103,4 @@ function FormDatePicker({
|
|
|
100
103
|
export {
|
|
101
104
|
FormDatePicker
|
|
102
105
|
};
|
|
103
|
-
//# sourceMappingURL=chunk-
|
|
106
|
+
//# sourceMappingURL=chunk-O7E6RNCD.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../components/form/date-picker.tsx"],"sourcesContent":["\"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 '../../lib/date';\nimport { cn } from '../../lib/utils';\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"],"mappings":";;;;;;;;;;;;;;;;;;;;;;AACA,OAAO,SAAS,WAAW,gBAAgB;AAC3C,SAAkB,cAAuB;AACzC,SAAS,oBAAoB;AAC7B,OAAO,gBAAgB;AAEvB,OAAO,kBAAkB;AACzB,OAAO,eAAe;AAUtB,SAAS,WAAW,MAAY;AAC9B,SAAO,OAAO,MAAM,WAAW;AACjC;AAEA,SAAS,cAAc,MAAY;AACjC,QAAM,aAAa,IAAI,KAAK,KAAK,YAAY,GAAG,KAAK,SAAS,GAAG,KAAK,QAAQ,CAAC;AAC/E,SAAO;AACT;AAmBO,SAAS,eAAe;AAAA,EAC7B;AAAA,EACA;AAAA,EACA;AAAA,EACA,WAAW;AAAA,EACX,gBAAgB;AAAA,EAChB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF,GAAwB;AACtB,QAAM,CAAC,MAAM,OAAO,IAAI,SAA2B,MAAS;AAC5D,QAAM,CAAC,aAAa,cAAc,IAAI,SAAS,KAAK;AACpD,QAAM,CAAC,QAAQ,SAAS,IAAI,SAAS,KAAK;AAE1C,YAAU,MAAM;AACd,QAAI,CAAC,aAAa;AAChB,YAAM,KAAK,eAAe,cAAc,IAAI,KAAK,YAAY,CAAC,IAAI,cAAc,oBAAI,KAAK,CAAC;AAE1F,cAAQ,EAAE;AACV,qBAAe,IAAI;AAAA,IACrB;AAAA,EACF,GAAG,CAAC,aAAa,YAAY,CAAC;AAE9B,YAAU,MAAM;AACd,QAAI,aAAa,KAAK,GAAG;AACvB,UAAI,CAAC,aAAa,IAAI,GAAG;AACvB,gBAAQ,MAAS;AAAA,MACnB;AAAA,IACF,OAAO;AACL,YAAM,KAAK,UAAU,KAAK,IAAI,IAAI,KAAK,KAAK,IAAI;AAChD,UAAI,CAAC,YAAY,MAAM,EAAE,GAAG;AAC1B,gBAAQ,cAAc,EAAE,CAAC;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,GAAG,CAAC,KAAK,CAAC;AAEV,YAAU,MAAM;AACd,QAAI,aAAa;AACf,eAAS,IAAI;AAAA,IACf;AAAA,EACF,GAAG,CAAC,MAAM,WAAW,CAAC;AAEtB,MAAI,CAAC,GAAI,MAAK,WAAW,IAAI;AAE7B,QAAM,UAAU,CAAC,cAAc,oCAAC,YAAK,IAAU,OAAO,0DAAG,WAAW,IAAI,CAAE,IAAM,oCAAC,cAAK,aAAW;AAEjG,SACE,oCAAC,SAAI,WAAW,GAAG,eAAe,yCAAY,OAAO,KAClD,SACC,oCAAC,SAAM,SAAS,IAAI,WAAW,yCAAY,OAAO,YAC/C,KACH,GAGF,oCAAC,SAAI,WAAW,GAAG,YAAY,KAC7B,oCAAC,WAAQ,MAAM,QAAQ,cAAc,aACnC,oCAAC,kBAAe,SAAO,QACrB;AAAA,IAAC;AAAA;AAAA,MACC,SAAS,OAAO,cAAc;AAAA,MAC9B,YAAW;AAAA,MACX,WAAW,GAAG,qDAAqD,yCAAY,MAAM;AAAA;AAAA,IAErF,oCAAC,kBAAa;AAAA,IACb;AAAA,EACH,CACF,GAEA,oCAAC,kBAAe,WAAU,cAAa,OAAM,WAC3C;AAAA,IAAC;AAAA;AAAA,MACC,MAAK;AAAA,MACL,cAAc;AAAA,MACd,UAAU;AAAA,MACV,UAAU,CAAC,YAAY;AACrB,YAAI,CAAC,YAAY,MAAM,OAAO,GAAG;AAC/B,kBAAQ,OAAO;AAAA,QACjB;AACA,YAAI,cAAe,WAAU,KAAK;AAAA,MACpC;AAAA,MACA;AAAA;AAAA,EACF,CACF,CACF,CACF,CACF;AAEJ;","names":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../layouts/simple/mobile-menu.tsx"],"sourcesContent":["\"use client\";\nimport React from 'react';\nimport { cn } from '../../lib/utils';\nimport type { UserMenuSection } from './types';\n\ninterface MobileMenuProps {\n sections: UserMenuSection[];\n aslink?: React.ElementType;\n onClick?: () => void;\n}\n\nexport function MobileMenu({ sections, aslink, onClick }: MobileMenuProps) {\n const LinkComponent = aslink ?? 'a';\n\n return (\n <div className=\"w-full bg-white p-2 space-y-4\">\n {sections.map((section, sectionIndex) => (\n <div key={section.label ?? sectionIndex} className=\"space-y-2\">\n {/* Section label */}\n {section.label && <div className=\"text-sm font-semibold text-gray-500\">{section.label}</div>}\n\n {/* Section items */}\n {section.items?.length ? (\n <ul className=\"space-y-1\">\n {section.items.map((item, itemIndex) => (\n <li key={item.label ?? itemIndex} className=\"cursor-pointer\" onClick={onClick}>\n {item.link ? (\n <LinkComponent\n to={item.link}\n href={item.link}\n className={cn('block w-full px-3 py-1 rounded hover:bg-gray-100', item.className)}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n onClick={item.action}\n className={cn(\n 'block w-full text-left px-3 py-1 rounded hover:bg-gray-100 cursor-pointer',\n item.className,\n )}\n >\n {item.label}\n </button>\n )}\n </li>\n ))}\n </ul>\n ) : null}\n\n {/* Separator */}\n {section.separator && <hr className=\"my-2\" />}\n </div>\n ))}\n </div>\n );\n}\n"],"mappings":";;;;;AACA,OAAO,WAAW;AAUX,SAAS,WAAW,EAAE,UAAU,QAAQ,QAAQ,GAAoB;AACzE,QAAM,gBAAgB,0BAAU;AAEhC,SACE,oCAAC,SAAI,WAAU,mCACZ,SAAS,IAAI,CAAC,SAAS,iBAAc;AAhB5C;AAiBQ,+CAAC,SAAI,MAAK,aAAQ,UAAR,YAAiB,cAAc,WAAU,eAEhD,QAAQ,SAAS,oCAAC,SAAI,WAAU,yCAAuC,QAAQ,KAAM,KAGrF,aAAQ,UAAR,mBAAe,UACd,oCAAC,QAAG,WAAU,eACX,QAAQ,MAAM,IAAI,CAAC,MAAM,cAAW;AAxBnD,UAAAA;AAyBgB,iDAAC,QAAG,MAAKA,MAAA,KAAK,UAAL,OAAAA,MAAc,WAAW,WAAU,kBAAiB,WAC1D,KAAK,OACJ;AAAA,QAAC;AAAA;AAAA,UACC,IAAI,KAAK;AAAA,UACT,MAAM,KAAK;AAAA,UACX,WAAW,GAAG,oDAAoD,KAAK,SAAS;AAAA;AAAA,QAE/E,KAAK;AAAA,MACR,IAEA;AAAA,QAAC;AAAA;AAAA,UACC,SAAS,KAAK;AAAA,UACd,WAAW;AAAA,YACT;AAAA,YACA,KAAK;AAAA,UACP;AAAA;AAAA,QAEC,KAAK;AAAA,MACR,CAEJ;AAAA,KACD,CACH,IACE,MAGH,QAAQ,aAAa,oCAAC,QAAG,WAAU,QAAO,CAC7C;AAAA,GACD,CACH;AAEJ;","names":["_a"]}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkMYO4WRNBjs = require('./chunk-MYO4WRNB.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
|
|
@@ -20,19 +20,19 @@ var _chunkOROMS2CNjs = require('./chunk-OROMS2CN.js');
|
|
|
20
20
|
var _react = require('react'); var React = _interopRequireWildcard(_react);
|
|
21
21
|
var _lucidereact = require('lucide-react');
|
|
22
22
|
function SidebarMenuLink({ item, as: LinkComponent }) {
|
|
23
|
-
const { setOpenMobile } =
|
|
23
|
+
const { setOpenMobile } = _chunkMYO4WRNBjs.useSidebar.call(void 0, );
|
|
24
24
|
const Comp = LinkComponent && item.url ? LinkComponent : "button";
|
|
25
|
-
return /* @__PURE__ */ React.createElement(
|
|
25
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuButton, { asChild: true, isActive: item.isActive, tooltip: item.title, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(Comp, { to: item.url, href: item.url, onClick: () => {
|
|
26
26
|
var _a;
|
|
27
27
|
return (_a = item.onClick) == null ? void 0 : _a.call(item, item.title);
|
|
28
28
|
} }, item.icon && /* @__PURE__ */ React.createElement(item.icon, null), /* @__PURE__ */ React.createElement("span", null, item.title))));
|
|
29
29
|
}
|
|
30
30
|
function SidebarMenuCollapsible({ item, as: LinkComponent }) {
|
|
31
|
-
const { setOpenMobile } =
|
|
31
|
+
const { setOpenMobile } = _chunkMYO4WRNBjs.useSidebar.call(void 0, );
|
|
32
32
|
if (!item.subItems) return null;
|
|
33
|
-
return /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(
|
|
33
|
+
return /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.Collapsible, { key: item.title, asChild: true, defaultOpen: item.isActive, className: "group/collapsible" }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuItem, null, /* @__PURE__ */ React.createElement(_chunkOROMS2CNjs.CollapsibleTrigger, { asChild: true }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.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(_chunkMYO4WRNBjs.SidebarMenuSub, null, item.subItems.map((subItem) => {
|
|
34
34
|
const Comp = LinkComponent && subItem.url ? LinkComponent : "button";
|
|
35
|
-
return /* @__PURE__ */ React.createElement(
|
|
35
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuSubItem, { key: subItem.title }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenuSubButton, { asChild: true, isActive: subItem.isActive, onClick: () => setOpenMobile(false) }, /* @__PURE__ */ React.createElement(
|
|
36
36
|
Comp,
|
|
37
37
|
{
|
|
38
38
|
to: subItem.url,
|
|
@@ -50,7 +50,7 @@ function SidebarMenuCollapsible({ item, as: LinkComponent }) {
|
|
|
50
50
|
}
|
|
51
51
|
function NavMenus({ menus, aslink }) {
|
|
52
52
|
return menus.map((menu) => {
|
|
53
|
-
return /* @__PURE__ */ React.createElement(
|
|
53
|
+
return /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarGroup, { key: menu.title }, /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarGroupLabel, null, menu.title), /* @__PURE__ */ React.createElement(_chunkMYO4WRNBjs.SidebarMenu, null, menu.items.map(
|
|
54
54
|
(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 })
|
|
55
55
|
)));
|
|
56
56
|
});
|
|
@@ -59,4 +59,4 @@ function NavMenus({ menus, aslink }) {
|
|
|
59
59
|
|
|
60
60
|
|
|
61
61
|
exports.NavMenus = NavMenus;
|
|
62
|
-
//# sourceMappingURL=chunk-
|
|
62
|
+
//# sourceMappingURL=chunk-PCR4GC74.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-PCR4GC74.js","../layouts/sidebar1/nav-menus.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-PCR4GC74.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';\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}\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}>\n <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"]}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import {
|
|
2
2
|
buttonVariants
|
|
3
|
-
} from "./chunk-
|
|
3
|
+
} from "./chunk-4NMFJSJN.mjs";
|
|
4
4
|
import {
|
|
5
5
|
cn
|
|
6
6
|
} from "./chunk-F5XCCSBC.mjs";
|
|
@@ -68,4 +68,4 @@ Calendar.displayName = "Calendar";
|
|
|
68
68
|
export {
|
|
69
69
|
Calendar
|
|
70
70
|
};
|
|
71
|
-
//# sourceMappingURL=chunk-
|
|
71
|
+
//# sourceMappingURL=chunk-PS7WGOZH.mjs.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-QGXFFTPH.js","../layouts/simple/mobile-menu.tsx"],"names":["_a"],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACA;ACHA,4EAAkB;AAUX,SAAS,UAAA,CAAW,EAAE,QAAA,EAAU,MAAA,EAAQ,QAAQ,CAAA,EAAoB;AACzE,EAAA,MAAM,cAAA,EAAgB,OAAA,GAAA,KAAA,EAAA,OAAA,EAAU,GAAA;AAEhC,EAAA,uBACE,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,gCAAA,CAAA,EACZ,QAAA,CAAS,GAAA,CAAI,CAAC,OAAA,EAAS,YAAA,EAAA,GAAc;AAhB5C,IAAA,IAAA,EAAA,EAAA,EAAA;AAiBQ,IAAA,uBAAA,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,GAAA,EAAA,CAAK,GAAA,EAAA,OAAA,CAAQ,KAAA,EAAA,GAAR,KAAA,EAAA,GAAA,EAAiB,YAAA,EAAc,SAAA,EAAU,YAAA,CAAA,EAEhD,OAAA,CAAQ,MAAA,mBAAS,eAAA,CAAA,aAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,sCAAA,CAAA,EAAuC,OAAA,CAAQ,KAAM,CAAA,EAAA,CAAA,CAGrF,GAAA,EAAA,OAAA,CAAQ,KAAA,EAAA,GAAR,KAAA,EAAA,KAAA,EAAA,EAAA,EAAA,CAAe,MAAA,EAAA,kBACd,eAAA,CAAA,aAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,YAAA,CAAA,EACX,OAAA,CAAQ,KAAA,CAAM,GAAA,CAAI,CAAC,IAAA,EAAM,SAAA,EAAA,GAAW;AAxBnD,MAAA,IAAAA,GAAAA;AAyBgB,MAAA,uBAAA,eAAA,CAAA,aAAA,CAAC,IAAA,EAAA,EAAG,GAAA,EAAA,CAAKA,IAAAA,EAAA,IAAA,CAAK,KAAA,EAAA,GAAL,KAAA,EAAAA,IAAAA,EAAc,SAAA,EAAW,SAAA,EAAU,gBAAA,EAAiB,QAAA,CAAA,EAC1D,IAAA,CAAK,KAAA,kBACJ,eAAA,CAAA,aAAA;AAAA,QAAC,aAAA;AAAA,QAAA;AAAA,UACC,EAAA,EAAI,IAAA,CAAK,IAAA;AAAA,UACT,IAAA,EAAM,IAAA,CAAK,IAAA;AAAA,UACX,SAAA,EAAW,iCAAA,kDAAG,EAAoD,IAAA,CAAK,SAAS;AAAA,QAAA,CAAA;AAAA,QAE/E,IAAA,CAAK;AAAA,MACR,EAAA,kBAEA,eAAA,CAAA,aAAA;AAAA,QAAC,QAAA;AAAA,QAAA;AAAA,UACC,OAAA,EAAS,IAAA,CAAK,MAAA;AAAA,UACd,SAAA,EAAW,iCAAA;AAAA,YACT,2EAAA;AAAA,YACA,IAAA,CAAK;AAAA,UACP;AAAA,QAAA,CAAA;AAAA,QAEC,IAAA,CAAK;AAAA,MACR,CAEJ,CAAA;AAAA,IAAA,CACD,CACH,EAAA,EACE,IAAA,EAGH,OAAA,CAAQ,UAAA,mBAAa,eAAA,CAAA,aAAA,CAAC,IAAA,EAAA,EAAG,SAAA,EAAU,OAAA,CAAO,CAC7C,CAAA;AAAA,EAAA,CACD,CACH,CAAA;AAEJ;ADtBA;AACA;AACE;AACF,gCAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-QGXFFTPH.js","sourcesContent":[null,"\"use client\";\nimport React from 'react';\nimport { cn } from '../../lib/utils';\nimport type { UserMenuSection } from './types';\n\ninterface MobileMenuProps {\n sections: UserMenuSection[];\n aslink?: React.ElementType;\n onClick?: () => void;\n}\n\nexport function MobileMenu({ sections, aslink, onClick }: MobileMenuProps) {\n const LinkComponent = aslink ?? 'a';\n\n return (\n <div className=\"w-full bg-white p-2 space-y-4\">\n {sections.map((section, sectionIndex) => (\n <div key={section.label ?? sectionIndex} className=\"space-y-2\">\n {/* Section label */}\n {section.label && <div className=\"text-sm font-semibold text-gray-500\">{section.label}</div>}\n\n {/* Section items */}\n {section.items?.length ? (\n <ul className=\"space-y-1\">\n {section.items.map((item, itemIndex) => (\n <li key={item.label ?? itemIndex} className=\"cursor-pointer\" onClick={onClick}>\n {item.link ? (\n <LinkComponent\n to={item.link}\n href={item.link}\n className={cn('block w-full px-3 py-1 rounded hover:bg-gray-100', item.className)}\n >\n {item.label}\n </LinkComponent>\n ) : (\n <button\n onClick={item.action}\n className={cn(\n 'block w-full text-left px-3 py-1 rounded hover:bg-gray-100 cursor-pointer',\n item.className,\n )}\n >\n {item.label}\n </button>\n )}\n </li>\n ))}\n </ul>\n ) : null}\n\n {/* Separator */}\n {section.separator && <hr className=\"my-2\" />}\n </div>\n ))}\n </div>\n );\n}\n"]}
|
|
@@ -1,7 +1,7 @@
|
|
|
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 _chunk73VYAPJRjs = require('./chunk-73VYAPJR.js');
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
@@ -9,7 +9,7 @@ var _chunkBKCGAF7Pjs = require('./chunk-BKCGAF7P.js');
|
|
|
9
9
|
var _chunkNK4XTZ5Wjs = require('./chunk-NK4XTZ5W.js');
|
|
10
10
|
|
|
11
11
|
|
|
12
|
-
var
|
|
12
|
+
var _chunkEZZ2YCUUjs = require('./chunk-EZZ2YCUU.js');
|
|
13
13
|
|
|
14
14
|
|
|
15
15
|
var _chunkLQETWWSUjs = require('./chunk-LQETWWSU.js');
|
|
@@ -39,6 +39,7 @@ function FormDatePicker({
|
|
|
39
39
|
name,
|
|
40
40
|
label,
|
|
41
41
|
required = false,
|
|
42
|
+
closeOnSelect = true,
|
|
42
43
|
disabled,
|
|
43
44
|
initialValue,
|
|
44
45
|
value,
|
|
@@ -47,6 +48,7 @@ function FormDatePicker({
|
|
|
47
48
|
}) {
|
|
48
49
|
const [date, setDate] = _react.useState.call(void 0, void 0);
|
|
49
50
|
const [initialized, setInitialized] = _react.useState.call(void 0, false);
|
|
51
|
+
const [isOpen, setIsOpen] = _react.useState.call(void 0, false);
|
|
50
52
|
_react.useEffect.call(void 0, () => {
|
|
51
53
|
if (!initialized) {
|
|
52
54
|
const dt = initialValue ? getStartOfDay(new Date(initialValue)) : getStartOfDay(/* @__PURE__ */ new Date());
|
|
@@ -73,8 +75,8 @@ function FormDatePicker({
|
|
|
73
75
|
}, [date, initialized]);
|
|
74
76
|
if (!id) id = _kebabCase3.default.call(void 0, name);
|
|
75
77
|
const display = !initialized ? /* @__PURE__ */ _react2.default.createElement("span", null) : date ? /* @__PURE__ */ _react2.default.createElement(_react2.default.Fragment, null, formatDate(date)) : /* @__PURE__ */ _react2.default.createElement("span", null, "Pick a date");
|
|
76
|
-
return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "date-picker", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ _react2.default.createElement(_chunkTUFO3JJEjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "grid gap-2") }, /* @__PURE__ */ _react2.default.createElement(_chunkNK4XTZ5Wjs.Popover,
|
|
77
|
-
|
|
78
|
+
return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "date-picker", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ _react2.default.createElement(_chunkTUFO3JJEjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "grid gap-2") }, /* @__PURE__ */ _react2.default.createElement(_chunkNK4XTZ5Wjs.Popover, { open: isOpen, onOpenChange: setIsOpen }, /* @__PURE__ */ _react2.default.createElement(_chunkNK4XTZ5Wjs.PopoverTrigger, { asChild: true }, /* @__PURE__ */ _react2.default.createElement(
|
|
79
|
+
_chunkEZZ2YCUUjs.Button,
|
|
78
80
|
{
|
|
79
81
|
variant: date ? "secondary" : "muted",
|
|
80
82
|
appearance: "outline",
|
|
@@ -83,7 +85,7 @@ function FormDatePicker({
|
|
|
83
85
|
/* @__PURE__ */ _react2.default.createElement(_lucidereact.CalendarIcon, null),
|
|
84
86
|
display
|
|
85
87
|
)), /* @__PURE__ */ _react2.default.createElement(_chunkNK4XTZ5Wjs.PopoverContent, { className: "w-auto p-0", align: "start" }, /* @__PURE__ */ _react2.default.createElement(
|
|
86
|
-
|
|
88
|
+
_chunk73VYAPJRjs.Calendar,
|
|
87
89
|
{
|
|
88
90
|
mode: "single",
|
|
89
91
|
defaultMonth: date,
|
|
@@ -92,6 +94,7 @@ function FormDatePicker({
|
|
|
92
94
|
if (!_chunkLQETWWSUjs.isEqualDate.call(void 0, date, newdate)) {
|
|
93
95
|
setDate(newdate);
|
|
94
96
|
}
|
|
97
|
+
if (closeOnSelect) setIsOpen(false);
|
|
95
98
|
},
|
|
96
99
|
disabled
|
|
97
100
|
}
|
|
@@ -101,4 +104,4 @@ function FormDatePicker({
|
|
|
101
104
|
|
|
102
105
|
|
|
103
106
|
exports.FormDatePicker = FormDatePicker;
|
|
104
|
-
//# sourceMappingURL=chunk-
|
|
107
|
+
//# sourceMappingURL=chunk-RY3M2GTK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-RY3M2GTK.js","../components/form/date-picker.tsx"],"names":[],"mappings":"AAAA;AACE;AACF,sDAA4B;AAC5B;AACE;AACA;AACA;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACE;AACF,sDAA4B;AAC5B;AACA;ACpBA,4EAA2C;AAC3C,mCAAyC;AACzC,2CAA6B;AAC7B,wGAAuB;AAEvB,gHAAyB;AACzB,oGAAsB;AAUtB,SAAS,UAAA,CAAW,IAAA,EAAY;AAC9B,EAAA,OAAO,6BAAA,IAAO,EAAM,WAAW,CAAA;AACjC;AAEA,SAAS,aAAA,CAAc,IAAA,EAAY;AACjC,EAAA,MAAM,WAAA,EAAa,IAAI,IAAA,CAAK,IAAA,CAAK,WAAA,CAAY,CAAA,EAAG,IAAA,CAAK,QAAA,CAAS,CAAA,EAAG,IAAA,CAAK,OAAA,CAAQ,CAAC,CAAA;AAC/E,EAAA,OAAO,UAAA;AACT;AAmBO,SAAS,cAAA,CAAe;AAAA,EAC7B,EAAA;AAAA,EACA,IAAA;AAAA,EACA,KAAA;AAAA,EACA,SAAA,EAAW,KAAA;AAAA,EACX,cAAA,EAAgB,IAAA;AAAA,EAChB,QAAA;AAAA,EACA,YAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA;AACF,CAAA,EAAwB;AACtB,EAAA,MAAM,CAAC,IAAA,EAAM,OAAO,EAAA,EAAI,6BAAA,KAA2B,CAAS,CAAA;AAC5D,EAAA,MAAM,CAAC,WAAA,EAAa,cAAc,EAAA,EAAI,6BAAA,KAAc,CAAA;AACpD,EAAA,MAAM,CAAC,MAAA,EAAQ,SAAS,EAAA,EAAI,6BAAA,KAAc,CAAA;AAE1C,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,CAAC,WAAA,EAAa;AAChB,MAAA,MAAM,GAAA,EAAK,aAAA,EAAe,aAAA,CAAc,IAAI,IAAA,CAAK,YAAY,CAAC,EAAA,EAAI,aAAA,iBAAc,IAAI,IAAA,CAAK,CAAC,CAAA;AAE1F,MAAA,OAAA,CAAQ,EAAE,CAAA;AACV,MAAA,cAAA,CAAe,IAAI,CAAA;AAAA,IACrB;AAAA,EACF,CAAA,EAAG,CAAC,WAAA,EAAa,YAAY,CAAC,CAAA;AAE9B,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,mCAAA,KAAkB,CAAA,EAAG;AACvB,MAAA,GAAA,CAAI,CAAC,mCAAA,IAAiB,CAAA,EAAG;AACvB,QAAA,OAAA,CAAQ,KAAA,CAAS,CAAA;AAAA,MACnB;AAAA,IACF,EAAA,KAAO;AACL,MAAA,MAAM,GAAA,EAAK,gCAAA,KAAe,EAAA,EAAI,IAAI,IAAA,CAAK,KAAK,EAAA,EAAI,KAAA;AAChD,MAAA,GAAA,CAAI,CAAC,0CAAA,IAAY,EAAM,EAAE,CAAA,EAAG;AAC1B,QAAA,OAAA,CAAQ,aAAA,CAAc,EAAE,CAAC,CAAA;AAAA,MAC3B;AAAA,IACF;AAAA,EACF,CAAA,EAAG,CAAC,KAAK,CAAC,CAAA;AAEV,EAAA,8BAAA,CAAU,EAAA,GAAM;AACd,IAAA,GAAA,CAAI,WAAA,EAAa;AACf,MAAA,QAAA,CAAS,IAAI,CAAA;AAAA,IACf;AAAA,EACF,CAAA,EAAG,CAAC,IAAA,EAAM,WAAW,CAAC,CAAA;AAEtB,EAAA,GAAA,CAAI,CAAC,EAAA,EAAI,GAAA,EAAK,iCAAA,IAAe,CAAA;AAE7B,EAAA,MAAM,QAAA,EAAU,CAAC,YAAA,kBAAc,eAAA,CAAA,aAAA,CAAC,MAAA,EAAA,IAAK,EAAA,EAAU,KAAA,kBAAO,eAAA,CAAA,aAAA,CAAA,eAAA,CAAA,QAAA,EAAA,IAAA,EAAG,UAAA,CAAW,IAAI,CAAE,EAAA,kBAAM,eAAA,CAAA,aAAA,CAAC,MAAA,EAAA,IAAA,EAAK,aAAW,CAAA;AAEjG,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,CAAC,KAAA,EAAA,EAAI,SAAA,EAAW,iCAAA,YAAe,EAAA,CAAA,kBAC7B,eAAA,CAAA,aAAA,CAAC,wBAAA,EAAA,EAAQ,IAAA,EAAM,MAAA,EAAQ,YAAA,EAAc,UAAA,CAAA,kBACnC,eAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,EAAe,OAAA,EAAO,KAAA,CAAA,kBACrB,eAAA,CAAA,aAAA;AAAA,IAAC,uBAAA;AAAA,IAAA;AAAA,MACC,OAAA,EAAS,KAAA,EAAO,YAAA,EAAc,OAAA;AAAA,MAC9B,UAAA,EAAW,SAAA;AAAA,MACX,SAAA,EAAW,iCAAA,mDAAG,EAAqD,WAAA,GAAA,KAAA,EAAA,KAAA,EAAA,EAAA,UAAA,CAAY,MAAM;AAAA,IAAA,CAAA;AAAA,oBAErF,eAAA,CAAA,aAAA,CAAC,yBAAA,EAAA,IAAa,CAAA;AAAA,IACb;AAAA,EACH,CACF,CAAA,kBAEA,eAAA,CAAA,aAAA,CAAC,+BAAA,EAAA,EAAe,SAAA,EAAU,YAAA,EAAa,KAAA,EAAM,QAAA,CAAA,kBAC3C,eAAA,CAAA,aAAA;AAAA,IAAC,yBAAA;AAAA,IAAA;AAAA,MACC,IAAA,EAAK,QAAA;AAAA,MACL,YAAA,EAAc,IAAA;AAAA,MACd,QAAA,EAAU,IAAA;AAAA,MACV,QAAA,EAAU,CAAC,OAAA,EAAA,GAAY;AACrB,QAAA,GAAA,CAAI,CAAC,0CAAA,IAAY,EAAM,OAAO,CAAA,EAAG;AAC/B,UAAA,OAAA,CAAQ,OAAO,CAAA;AAAA,QACjB;AACA,QAAA,GAAA,CAAI,aAAA,EAAe,SAAA,CAAU,KAAK,CAAA;AAAA,MACpC,CAAA;AAAA,MACA;AAAA,IAAA;AAAA,EACF,CACF,CACF,CACF,CACF,CAAA;AAEJ;AD7BA;AACA;AACE;AACF,wCAAC","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-RY3M2GTK.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 '../../lib/date';\nimport { cn } from '../../lib/utils';\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"]}
|
|
@@ -89,4 +89,4 @@ DialogDescription.displayName = DialogPrimitive.Description.displayName;
|
|
|
89
89
|
|
|
90
90
|
|
|
91
91
|
exports.Dialog = Dialog; exports.DialogTrigger = DialogTrigger; exports.DialogPortal = DialogPortal; exports.DialogClose = DialogClose; exports.DialogOverlay = DialogOverlay; exports.DialogContent = DialogContent; exports.DialogHeader = DialogHeader; exports.DialogFooter = DialogFooter; exports.DialogTitle = DialogTitle; exports.DialogDescription = DialogDescription;
|
|
92
|
-
//# sourceMappingURL=chunk-
|
|
92
|
+
//# sourceMappingURL=chunk-U3KAN7IM.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-U3KAN7IM.js","../components/ui/dialog.tsx"],"names":[],"mappings":"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","file":"/home/jahn/projects/shadcn-theme/packages/react/dist/chunk-U3KAN7IM.js","sourcesContent":[null,"\"use client\";\nimport * as React from 'react';\nimport * as DialogPrimitive from '@radix-ui/react-dialog';\nimport { X } from 'lucide-react';\n\nimport { cn } from '../../lib/utils';\n\nconst Dialog = DialogPrimitive.Root;\n\nconst DialogTrigger = DialogPrimitive.Trigger;\n\nconst DialogPortal = DialogPrimitive.Portal;\n\nconst DialogClose = DialogPrimitive.Close;\n\nconst DialogOverlay = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Overlay\n ref={ref}\n className={cn(\n 'fixed inset-0 z-50 bg-black/80 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0',\n className,\n )}\n {...props}\n />\n));\nDialogOverlay.displayName = DialogPrimitive.Overlay.displayName;\n\nconst DialogContent = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Content> & {\n closeOnClickOutside?: boolean;\n }\n>(({ className, children, closeOnClickOutside = true, ...props }, ref) => (\n <DialogPortal>\n <DialogOverlay />\n <DialogPrimitive.Content\n ref={ref}\n className={cn(\n 'fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg max-h-screen overflow-y-auto translate-x-[-50%] translate-y-[-50%] gap-4 border bg-background p-6 shadow-lg duration-200 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[state=closed]:slide-out-to-left-1/2 data-[state=closed]:slide-out-to-top-[48%] data-[state=open]:slide-in-from-left-1/2 data-[state=open]:slide-in-from-top-[48%] sm:rounded-lg',\n className,\n )}\n onPointerDownOutside={(e) => {\n if (!closeOnClickOutside) {\n e.preventDefault();\n }\n }}\n {...props}\n >\n {children}\n <DialogPrimitive.Close className=\"absolute right-4 top-4 rounded-sm opacity-70 ring-offset-background transition-opacity hover:opacity-100 focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none data-[state=open]:bg-accent data-[state=open]:text-muted-foreground\">\n <X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </DialogPrimitive.Close>\n </DialogPrimitive.Content>\n </DialogPortal>\n));\nDialogContent.displayName = DialogPrimitive.Content.displayName;\n\nconst DialogHeader = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col space-y-1.5 text-center sm:text-left', className)} {...props} />\n);\nDialogHeader.displayName = 'DialogHeader';\n\nconst DialogFooter = ({ className, ...props }: React.HTMLAttributes<HTMLDivElement>) => (\n <div className={cn('flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2', className)} {...props} />\n);\nDialogFooter.displayName = 'DialogFooter';\n\nconst DialogTitle = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Title\n ref={ref}\n className={cn('text-lg font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n));\nDialogTitle.displayName = DialogPrimitive.Title.displayName;\n\nconst DialogDescription = React.forwardRef<\n React.ElementRef<typeof DialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DialogPrimitive.Description ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nDialogDescription.displayName = DialogPrimitive.Description.displayName;\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogTrigger,\n DialogClose,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n};\n"]}
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
var
|
|
8
|
+
var _chunkJHUXWZVGjs = require('./chunk-JHUXWZVG.js');
|
|
9
9
|
|
|
10
10
|
|
|
11
11
|
var _chunkTUFO3JJEjs = require('./chunk-TUFO3JJE.js');
|
|
@@ -61,12 +61,12 @@ function FormSelect(_a) {
|
|
|
61
61
|
}
|
|
62
62
|
}
|
|
63
63
|
if (!id) id = _kebabCase3.default.call(void 0, name);
|
|
64
|
-
return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "_select", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ _react2.default.createElement(_chunkTUFO3JJEjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement(
|
|
65
|
-
return /* @__PURE__ */ _react2.default.createElement(
|
|
64
|
+
return /* @__PURE__ */ _react2.default.createElement("div", { className: _chunk6N4WCMTEjs.cn.call(void 0, "_select", classNames == null ? void 0 : classNames.wrapper) }, label && /* @__PURE__ */ _react2.default.createElement(_chunkTUFO3JJEjs.Label, { htmlFor: id, className: classNames == null ? void 0 : classNames.label, required }, label), /* @__PURE__ */ _react2.default.createElement(_chunkJHUXWZVGjs.Select, { onValueChange: onChange, defaultValue: (_a2 = defaultValue != null ? defaultValue : value) != null ? _a2 : "", value }, /* @__PURE__ */ _react2.default.createElement(_chunkJHUXWZVGjs.SelectTrigger, { className: "" }, /* @__PURE__ */ _react2.default.createElement(_chunkJHUXWZVGjs.SelectValue, { placeholder })), /* @__PURE__ */ _react2.default.createElement(_chunkJHUXWZVGjs.SelectContent, { className: _chunk6N4WCMTEjs.cn.call(void 0, classNames == null ? void 0 : classNames.input) }, _options.map((option, index) => {
|
|
65
|
+
return /* @__PURE__ */ _react2.default.createElement(_chunkJHUXWZVGjs.SelectItem, { key: option.value, value: option.value }, option.label);
|
|
66
66
|
}))));
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
|
|
70
70
|
|
|
71
71
|
exports.FormSelect = FormSelect;
|
|
72
|
-
//# sourceMappingURL=chunk-
|
|
72
|
+
//# sourceMappingURL=chunk-XJ7GBFHV.js.map
|