@popgrids/ui 0.0.9 → 0.0.10
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/button-D4TdCwoe.d.cts +21 -0
- package/dist/button-D4TdCwoe.d.ts +21 -0
- package/dist/button.cjs +260 -1
- package/dist/button.cjs.map +1 -1
- package/dist/button.d.cts +3 -27
- package/dist/button.d.ts +3 -27
- package/dist/button.js +258 -1
- package/dist/button.js.map +1 -1
- package/dist/content-block.cjs +25 -1
- package/dist/content-block.cjs.map +1 -1
- package/dist/content-block.d.cts +6 -5
- package/dist/content-block.d.ts +6 -5
- package/dist/content-block.js +23 -1
- package/dist/content-block.js.map +1 -1
- package/dist/dialog.cjs +144 -1
- package/dist/dialog.cjs.map +1 -1
- package/dist/dialog.d.cts +12 -11
- package/dist/dialog.d.ts +12 -11
- package/dist/dialog.js +131 -1
- package/dist/dialog.js.map +1 -1
- package/dist/dropdown-menu.cjs +228 -1
- package/dist/dropdown-menu.cjs.map +1 -1
- package/dist/dropdown-menu.d.cts +21 -15
- package/dist/dropdown-menu.d.ts +21 -15
- package/dist/dropdown-menu.js +212 -1
- package/dist/dropdown-menu.js.map +1 -1
- package/dist/footer.cjs +191 -2
- package/dist/footer.cjs.map +1 -1
- package/dist/footer.js +189 -2
- package/dist/footer.js.map +1 -1
- package/dist/index.cjs +1148 -2
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +12 -7
- package/dist/index.d.ts +12 -7
- package/dist/index.js +1106 -2
- package/dist/index.js.map +1 -1
- package/dist/input.cjs +30 -1
- package/dist/input.cjs.map +1 -1
- package/dist/input.d.cts +4 -2
- package/dist/input.d.ts +4 -2
- package/dist/input.js +28 -1
- package/dist/input.js.map +1 -1
- package/dist/label.cjs +30 -1
- package/dist/label.cjs.map +1 -1
- package/dist/label.d.cts +4 -3
- package/dist/label.d.ts +4 -3
- package/dist/label.js +28 -1
- package/dist/label.js.map +1 -1
- package/dist/loader-xdvZkRei.d.cts +20 -0
- package/dist/loader-xdvZkRei.d.ts +20 -0
- package/dist/loader.cjs +127 -0
- package/dist/loader.cjs.map +1 -0
- package/dist/loader.d.cts +2 -0
- package/dist/loader.d.ts +2 -0
- package/dist/loader.js +125 -0
- package/dist/loader.js.map +1 -0
- package/dist/metafile-cjs.json +1 -0
- package/dist/metafile-esm.json +1 -0
- package/dist/notification-badge.cjs +66 -0
- package/dist/notification-badge.cjs.map +1 -0
- package/dist/notification-badge.d.cts +19 -0
- package/dist/notification-badge.d.ts +19 -0
- package/dist/notification-badge.js +64 -0
- package/dist/notification-badge.js.map +1 -0
- package/dist/section-flourish.cjs +9 -1
- package/dist/section-flourish.cjs.map +1 -1
- package/dist/section-flourish.js +7 -1
- package/dist/section-flourish.js.map +1 -1
- package/dist/section-header-BWd0FD9Q.d.cts +18 -0
- package/dist/section-header-BWd0FD9Q.d.ts +18 -0
- package/dist/section-header.cjs +150 -0
- package/dist/section-header.cjs.map +1 -0
- package/dist/section-header.d.cts +2 -0
- package/dist/section-header.d.ts +2 -0
- package/dist/section-header.js +148 -0
- package/dist/section-header.js.map +1 -0
- package/dist/theme.css +21 -14
- package/dist/tooltip.cjs +72 -0
- package/dist/tooltip.cjs.map +1 -0
- package/dist/tooltip.d.cts +12 -0
- package/dist/tooltip.d.ts +12 -0
- package/dist/tooltip.js +66 -0
- package/dist/tooltip.js.map +1 -0
- package/package.json +81 -30
package/dist/dialog.cjs.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/components/dialog/dialog.tsx"],"names":["cn","inputs","twMerge","clsx","Dialog","props","jsx","e","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","className","DialogContent","children","bottom","showCloseButton","jsxs","XClose","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":"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","file":"dialog.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport type * as React from \"react\";\n\nimport { XClose } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[rgb(0_0_32_/_0.01)] backdrop-blur-sm dark:bg-[rgb(255_255_255_/_0.01)]\",\n // \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n bottom = false,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n bottom?: boolean;\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n {/* <Button\n className=\"fixed top-[15px] left-5 z-50 overflow-visible before:absolute before:top-3 before:left-3 before:z-50 before:flex before:size-[100px] before:bg-red-600 before:content-['']\"\n collapsed\n leading={<XClose className=\"size-[18px]\" />}\n pill\n theme=\"brand\"\n variant=\"primary\"\n /> */}\n <button\n type=\"button\"\n className=\"before:bg-tint-700-reversed fixed top-[15px] left-5 z-50 overflow-visible before:absolute before:-inset-1.5 before:z-40 before:flex before:size-[calc(100%+12px)] before:rounded-full before:backdrop-blur-sm before:content-['']\"\n >\n <div className=\"bg-foreground text-background relative z-50 flex size-10 items-center justify-center rounded-full\">\n <XClose className=\"size-[18px]\" />\n </div>\n </button>\n </DialogPrimitive.Close>\n )}\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-surface-bg-default 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-xl shadow-2xl duration-200 sm:max-w-lg\",\n {\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom m:max-h-full z-50 h-full max-h-full w-full max-w-full overflow-auto data-[state=closed]:duration-200 data-[state=closed]:ease-[cubic-bezier(1,0,0.72,0.32)] data-[state=open]:duration-500 data-[state=open]:ease-[cubic-bezier(0.32,0.72,0,1)] sm:max-w-full\":\n bottom,\n },\n className,\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/dialog/dialog.tsx"],"names":["twMerge","clsx","jsx","DialogPrimitive","jsxs","XClose"],"mappings":";;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACKA,SAAS,WAAW,KAAA,EAA0D;AAC5E,EAAA,uBAAOC,cAAA,CAACC,YAAA,CAAgB,IAAA,EAAhB,EAAsB,GAAG,KAAA,EAAO,CAAA;AAC1C;AAMA,SAAS,aAAa,KAAA,EAA4D;AAChF,EAAA,uBAAOD,cAAA,CAACC,YAAA,CAAgB,MAAA,EAAhB,EAAwB,GAAG,KAAA,EAAO,CAAA;AAC5C;AAMA,SAAS,cAAc,KAAA,EAA6D;AAClF,EAAA,uBAAOD,cAAA,CAACC,YAAA,CAAgB,OAAA,EAAhB,EAAyB,GAAG,KAAA,EAAO,CAAA;AAC7C;AAMA,SAAS,YAAY,KAAA,EAA2D;AAC9E,EAAA,uBAAOD,cAAA,CAACC,YAAA,CAAgB,KAAA,EAAhB,EAAuB,GAAG,KAAA,EAAO,CAAA;AAC3C;AAMA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACED,cAAA;AAAA,IAACC,YAAA,CAAgB,QAAA;AAAA,IAAhB;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,qRAAA;AAAA,QACA,6CAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,cAAA,CAAe;AAAA,EACtB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA0D;AACxD,EAAA,uBACED,cAAA;AAAA,IAACC,YAAA,CAAgB,QAAA;AAAA,IAAhB;AAAA,MACC,SAAA,EAAW,EAAA;AAAA,QACT,sIAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAMA,SAAS,WAAA,CAAY;AAAA,EACnB,SAAA;AAAA,EACA,QAAA;AAAA,EACA,MAAA,GAAS,KAAA;AAAA,EACT,eAAA,GAAkB,IAAA;AAAA,EAClB,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACEC,eAAA,CAACD,YAAA,CAAgB,MAAA,EAAhB,EACC,QAAA,EAAA;AAAA,oBAAAD,cAAA,CAAC,cAAA,EAAA,EAAe,CAAA;AAAA,oBAChBE,eAAA,CAACD,YAAA,CAAgB,KAAA,EAAhB,EAAsB,WAAU,2MAAA,EAC9B,QAAA,EAAA;AAAA,MAAA,eAAA,oBACCC,eAAA;AAAA,QAAC,WAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAU,kDAAA;AAAA,UACV,YAAA,EAAW,OAAA;AAAA,UAEX,QAAA,EAAA;AAAA,4BAAAF,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,SAAA,EAAU,QAAA,EAAA,OAAA,EAAK,CAAA;AAAA,4BAC/BA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,0HAAA,EACd,QAAA,kBAAAA,cAAA,CAAC,MAAA,EAAA,EAAK,SAAA,EAAU,2GAAA,EACd,QAAA,kBAAAA,cAAA,CAACG,YAAA,EAAA,EAAO,SAAA,EAAU,aAAA,EAAc,GAClC,CAAA,EACF;AAAA;AAAA;AAAA,OACF;AAAA,sBAEFH,cAAA;AAAA,QAAC,KAAA;AAAA,QAAA;AAAA,UACC,SAAA,EAAW,EAAA;AAAA,YACT,6MAAA;AAAA,YACA;AAAA,cACE,uQACE,CAAC,MAAA;AAAA,cACH,ikBAAA,EACE;AAAA,aACJ;AAAA,YACA;AAAA,WACF;AAAA,UACC,GAAG,KAAA;AAAA,UAEH;AAAA;AAAA;AACH,KAAA,EACF;AAAA,GAAA,EACF,CAAA;AAEJ;AAMA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AAC1E,EAAA,uBACEA,cAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,gDAAgD,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAE9F;AAEA,SAAS,YAAA,CAAa,EAAE,SAAA,EAAW,GAAG,OAAM,EAAgC;AAC1E,EAAA,uBAAOA,cAAA,CAAC,SAAI,SAAA,EAAW,EAAA,CAAG,2CAA2C,SAAS,CAAA,EAAI,GAAG,KAAA,EAAO,CAAA;AAC9F;AAMA,SAAS,WAAA,CAAY,EAAE,SAAA,EAAW,GAAG,OAAM,EAAuD;AAChG,EAAA,uBACEA,cAAA;AAAA,IAACC,YAAA,CAAgB,KAAA;AAAA,IAAhB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,oCAAA,EAAsC,SAAS,CAAA;AAAA,MAC5D,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACzB,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAA6D;AAC3D,EAAA,uBACED,cAAA;AAAA,IAACC,YAAA,CAAgB,WAAA;AAAA,IAAhB;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,+BAAA,EAAiC,SAAS,CAAA;AAAA,MACvD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,WAAW,EAAE,SAAA,EAAW,QAAA,EAAU,GAAG,OAAM,EAAgC;AAClF,EAAA,uBACED,cAAA;AAAA,IAAC,KAAA;AAAA,IAAA;AAAA,MACC,SAAA,EAAW,EAAA,CAAG,8DAAA,EAAgE,SAAS,CAAA;AAAA,MACtF,GAAG,KAAA;AAAA,MAEJ,QAAA,kBAAAA,cAAA,CAAC,KAAA,EAAA,EAAI,SAAA,EAAU,uFAAA,EACZ,QAAA,EACH;AAAA;AAAA,GACF;AAEJ","file":"dialog.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react\";\nimport { XClose } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\n/* ---------------------------------------------\n * Root\n * --------------------------------------------- */\n\nfunction DialogRoot(props: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root {...props} />;\n}\n\n/* ---------------------------------------------\n * Portal\n * --------------------------------------------- */\n\nfunction DialogPortal(props: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal {...props} />;\n}\n\n/* ---------------------------------------------\n * Trigger\n * --------------------------------------------- */\n\nfunction DialogTrigger(props: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger {...props} />;\n}\n\n/* ---------------------------------------------\n * Close\n * --------------------------------------------- */\n\nfunction DialogClose(props: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close {...props} />;\n}\n\n/* ---------------------------------------------\n * Overlay (Backdrop)\n * --------------------------------------------- */\n\nfunction DialogBackdrop({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Backdrop>) {\n return (\n <DialogPrimitive.Backdrop\n className={cn(\n \"fixed inset-0 min-h-dvh bg-[rgb(0_0_32/0.01)] opacity-0 backdrop-blur-sm transition-[opacity,backdrop-filter] duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute dark:bg-[rgb(255_255_255/0.01)] dark:opacity-70\",\n \"data-closed:opacity-0 data-open:opacity-100\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogViewport({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Viewport>) {\n return (\n <DialogPrimitive.Viewport\n className={cn(\n \"fixed inset-0 flex items-center justify-center overflow-hidden py-6 [@media(min-height:600px)]:pt-8 [@media(min-height:600px)]:pb-12\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/* ---------------------------------------------\n * Content (Popup)\n * --------------------------------------------- */\n\nfunction DialogPopup({\n className,\n children,\n bottom = false,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Popup> & {\n bottom?: boolean;\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPrimitive.Portal>\n <DialogBackdrop />\n <DialogPrimitive.Popup className=\"group/popup pointer-events-none flex h-full max-h-full min-h-0 w-full max-w-full justify-center overflow-hidden transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0\">\n {showCloseButton && (\n <DialogClose\n className=\"pointer-events-auto fixed top-[15px] left-5 z-50\"\n aria-label=\"Close\"\n >\n <span className=\"sr-only\">Close</span>\n <span className=\"before:bg-tint-700-reversed relative block before:absolute before:-inset-1.5 before:rounded-full before:backdrop-blur-sm\">\n <span className=\"bg-primary-foreground text-background relative z-10 flex size-10 items-center justify-center rounded-full\">\n <XClose className=\"size-[18px]\" />\n </span>\n </span>\n </DialogClose>\n )}\n <div\n className={cn(\n \"bg-background pointer-events-auto fixed top-1/2 left-1/2 flex h-full max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl shadow-2xl transition-all\",\n {\n \"group-data-ending-style/popup:translate-y-0 group-data-ending-style/popup:scale-[0.98] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:translate-y-0 group-data-starting-style/popup:scale-[0.98] group-data-starting-style/popup:opacity-0\":\n !bottom,\n \"group-data-open/popup:slide-in-from-bottom group-data-closed/popup:slide-out-to-bottom group-data-starting-style/popup-scale-100 group-data-ending-style/popup-scale-100 group-data-open/popup:animate-in group-data-closed/popup:animate-out top-auto bottom-0 h-full translate-y-0 rounded-b-none group-data-closed/popup:duration-200 group-data-closed/popup:ease-[cubic-bezier(1,0,0.72,0.32)] group-data-ending-style/popup:translate-y-full group-data-open/popup:duration-500 group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)] group-data-starting-style/popup:translate-y-full\":\n bottom,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </DialogPrimitive.Popup>\n </DialogPrimitive.Portal>\n );\n}\n\n/* ---------------------------------------------\n * Header / Footer\n * --------------------------------------------- */\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)} {...props} />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex flex-col-reverse gap-2 sm:flex-row\", className)} {...props} />;\n}\n\n/* ---------------------------------------------\n * Title / Description\n * --------------------------------------------- */\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogBody({ className, children, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"flex shrink-0 grow basis-0 flex-col items-start self-stretch\", className)}\n {...props}\n >\n <div className=\"flex shrink-0 grow basis-0 flex-col items-start gap-10 self-stretch overflow-auto p-4\">\n {children}\n </div>\n </div>\n );\n}\n/* ---------------------------------------------\n * Exports (preserve your public API)\n * --------------------------------------------- */\n\nexport {\n DialogRoot as Dialog,\n DialogBackdrop,\n DialogBody,\n DialogClose,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogPopup,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n DialogViewport,\n};\n"]}
|
package/dist/dialog.d.cts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
3
|
-
import * as React from 'react';
|
|
2
|
+
import { Dialog } from '@base-ui/react';
|
|
4
3
|
|
|
5
|
-
declare function
|
|
6
|
-
declare function
|
|
7
|
-
declare function
|
|
8
|
-
declare function DialogClose(
|
|
9
|
-
declare function
|
|
10
|
-
declare function
|
|
4
|
+
declare function DialogRoot(props: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare function DialogPortal(props: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function DialogTrigger(props: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function DialogClose(props: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function DialogBackdrop({ className, ...props }: React.ComponentProps<typeof Dialog.Backdrop>): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function DialogViewport({ className, ...props }: React.ComponentProps<typeof Dialog.Viewport>): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function DialogPopup({ className, children, bottom, showCloseButton, ...props }: React.ComponentProps<typeof Dialog.Popup> & {
|
|
11
11
|
bottom?: boolean;
|
|
12
12
|
showCloseButton?: boolean;
|
|
13
13
|
}): react_jsx_runtime.JSX.Element;
|
|
14
14
|
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
15
15
|
declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
16
|
-
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof
|
|
17
|
-
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof
|
|
16
|
+
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime.JSX.Element;
|
|
17
|
+
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime.JSX.Element;
|
|
18
|
+
declare function DialogBody({ className, children, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
18
19
|
|
|
19
|
-
export { Dialog,
|
|
20
|
+
export { DialogRoot as Dialog, DialogBackdrop, DialogBody, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DialogViewport };
|
package/dist/dialog.d.ts
CHANGED
|
@@ -1,19 +1,20 @@
|
|
|
1
1
|
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
2
|
-
import
|
|
3
|
-
import * as React from 'react';
|
|
2
|
+
import { Dialog } from '@base-ui/react';
|
|
4
3
|
|
|
5
|
-
declare function
|
|
6
|
-
declare function
|
|
7
|
-
declare function
|
|
8
|
-
declare function DialogClose(
|
|
9
|
-
declare function
|
|
10
|
-
declare function
|
|
4
|
+
declare function DialogRoot(props: React.ComponentProps<typeof Dialog.Root>): react_jsx_runtime.JSX.Element;
|
|
5
|
+
declare function DialogPortal(props: React.ComponentProps<typeof Dialog.Portal>): react_jsx_runtime.JSX.Element;
|
|
6
|
+
declare function DialogTrigger(props: React.ComponentProps<typeof Dialog.Trigger>): react_jsx_runtime.JSX.Element;
|
|
7
|
+
declare function DialogClose(props: React.ComponentProps<typeof Dialog.Close>): react_jsx_runtime.JSX.Element;
|
|
8
|
+
declare function DialogBackdrop({ className, ...props }: React.ComponentProps<typeof Dialog.Backdrop>): react_jsx_runtime.JSX.Element;
|
|
9
|
+
declare function DialogViewport({ className, ...props }: React.ComponentProps<typeof Dialog.Viewport>): react_jsx_runtime.JSX.Element;
|
|
10
|
+
declare function DialogPopup({ className, children, bottom, showCloseButton, ...props }: React.ComponentProps<typeof Dialog.Popup> & {
|
|
11
11
|
bottom?: boolean;
|
|
12
12
|
showCloseButton?: boolean;
|
|
13
13
|
}): react_jsx_runtime.JSX.Element;
|
|
14
14
|
declare function DialogHeader({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
15
15
|
declare function DialogFooter({ className, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
16
|
-
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof
|
|
17
|
-
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof
|
|
16
|
+
declare function DialogTitle({ className, ...props }: React.ComponentProps<typeof Dialog.Title>): react_jsx_runtime.JSX.Element;
|
|
17
|
+
declare function DialogDescription({ className, ...props }: React.ComponentProps<typeof Dialog.Description>): react_jsx_runtime.JSX.Element;
|
|
18
|
+
declare function DialogBody({ className, children, ...props }: React.ComponentProps<"div">): react_jsx_runtime.JSX.Element;
|
|
18
19
|
|
|
19
|
-
export { Dialog,
|
|
20
|
+
export { DialogRoot as Dialog, DialogBackdrop, DialogBody, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DialogViewport };
|
package/dist/dialog.js
CHANGED
|
@@ -1,2 +1,132 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { Dialog } from '@base-ui/react';
|
|
2
|
+
import { XClose } from '@untitledui/icons';
|
|
3
|
+
import { clsx } from 'clsx';
|
|
4
|
+
import { twMerge } from 'tailwind-merge';
|
|
5
|
+
import { jsx, jsxs } from 'react/jsx-runtime';
|
|
6
|
+
|
|
7
|
+
function cn(...inputs) {
|
|
8
|
+
return twMerge(clsx(inputs));
|
|
9
|
+
}
|
|
10
|
+
function DialogRoot(props) {
|
|
11
|
+
return /* @__PURE__ */ jsx(Dialog.Root, { ...props });
|
|
12
|
+
}
|
|
13
|
+
function DialogPortal(props) {
|
|
14
|
+
return /* @__PURE__ */ jsx(Dialog.Portal, { ...props });
|
|
15
|
+
}
|
|
16
|
+
function DialogTrigger(props) {
|
|
17
|
+
return /* @__PURE__ */ jsx(Dialog.Trigger, { ...props });
|
|
18
|
+
}
|
|
19
|
+
function DialogClose(props) {
|
|
20
|
+
return /* @__PURE__ */ jsx(Dialog.Close, { ...props });
|
|
21
|
+
}
|
|
22
|
+
function DialogBackdrop({
|
|
23
|
+
className,
|
|
24
|
+
...props
|
|
25
|
+
}) {
|
|
26
|
+
return /* @__PURE__ */ jsx(
|
|
27
|
+
Dialog.Backdrop,
|
|
28
|
+
{
|
|
29
|
+
className: cn(
|
|
30
|
+
"fixed inset-0 min-h-dvh bg-[rgb(0_0_32/0.01)] opacity-0 backdrop-blur-sm transition-[opacity,backdrop-filter] duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute dark:bg-[rgb(255_255_255/0.01)] dark:opacity-70",
|
|
31
|
+
"data-closed:opacity-0 data-open:opacity-100",
|
|
32
|
+
className
|
|
33
|
+
),
|
|
34
|
+
...props
|
|
35
|
+
}
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
function DialogViewport({
|
|
39
|
+
className,
|
|
40
|
+
...props
|
|
41
|
+
}) {
|
|
42
|
+
return /* @__PURE__ */ jsx(
|
|
43
|
+
Dialog.Viewport,
|
|
44
|
+
{
|
|
45
|
+
className: cn(
|
|
46
|
+
"fixed inset-0 flex items-center justify-center overflow-hidden py-6 [@media(min-height:600px)]:pt-8 [@media(min-height:600px)]:pb-12",
|
|
47
|
+
className
|
|
48
|
+
),
|
|
49
|
+
...props
|
|
50
|
+
}
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
function DialogPopup({
|
|
54
|
+
className,
|
|
55
|
+
children,
|
|
56
|
+
bottom = false,
|
|
57
|
+
showCloseButton = true,
|
|
58
|
+
...props
|
|
59
|
+
}) {
|
|
60
|
+
return /* @__PURE__ */ jsxs(Dialog.Portal, { children: [
|
|
61
|
+
/* @__PURE__ */ jsx(DialogBackdrop, {}),
|
|
62
|
+
/* @__PURE__ */ jsxs(Dialog.Popup, { className: "group/popup pointer-events-none flex h-full max-h-full min-h-0 w-full max-w-full justify-center overflow-hidden transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0", children: [
|
|
63
|
+
showCloseButton && /* @__PURE__ */ jsxs(
|
|
64
|
+
DialogClose,
|
|
65
|
+
{
|
|
66
|
+
className: "pointer-events-auto fixed top-[15px] left-5 z-50",
|
|
67
|
+
"aria-label": "Close",
|
|
68
|
+
children: [
|
|
69
|
+
/* @__PURE__ */ jsx("span", { className: "sr-only", children: "Close" }),
|
|
70
|
+
/* @__PURE__ */ jsx("span", { className: "before:bg-tint-700-reversed relative block before:absolute before:-inset-1.5 before:rounded-full before:backdrop-blur-sm", children: /* @__PURE__ */ jsx("span", { className: "bg-primary-foreground text-background relative z-10 flex size-10 items-center justify-center rounded-full", children: /* @__PURE__ */ jsx(XClose, { className: "size-[18px]" }) }) })
|
|
71
|
+
]
|
|
72
|
+
}
|
|
73
|
+
),
|
|
74
|
+
/* @__PURE__ */ jsx(
|
|
75
|
+
"div",
|
|
76
|
+
{
|
|
77
|
+
className: cn(
|
|
78
|
+
"bg-background pointer-events-auto fixed top-1/2 left-1/2 flex h-full max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl shadow-2xl transition-all",
|
|
79
|
+
{
|
|
80
|
+
"group-data-ending-style/popup:translate-y-0 group-data-ending-style/popup:scale-[0.98] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:translate-y-0 group-data-starting-style/popup:scale-[0.98] group-data-starting-style/popup:opacity-0": !bottom,
|
|
81
|
+
"group-data-open/popup:slide-in-from-bottom group-data-closed/popup:slide-out-to-bottom group-data-starting-style/popup-scale-100 group-data-ending-style/popup-scale-100 group-data-open/popup:animate-in group-data-closed/popup:animate-out top-auto bottom-0 h-full translate-y-0 rounded-b-none group-data-closed/popup:duration-200 group-data-closed/popup:ease-[cubic-bezier(1,0,0.72,0.32)] group-data-ending-style/popup:translate-y-full group-data-open/popup:duration-500 group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)] group-data-starting-style/popup:translate-y-full": bottom
|
|
82
|
+
},
|
|
83
|
+
className
|
|
84
|
+
),
|
|
85
|
+
...props,
|
|
86
|
+
children
|
|
87
|
+
}
|
|
88
|
+
)
|
|
89
|
+
] })
|
|
90
|
+
] });
|
|
91
|
+
}
|
|
92
|
+
function DialogHeader({ className, ...props }) {
|
|
93
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col gap-2 text-center sm:text-left", className), ...props });
|
|
94
|
+
}
|
|
95
|
+
function DialogFooter({ className, ...props }) {
|
|
96
|
+
return /* @__PURE__ */ jsx("div", { className: cn("flex flex-col-reverse gap-2 sm:flex-row", className), ...props });
|
|
97
|
+
}
|
|
98
|
+
function DialogTitle({ className, ...props }) {
|
|
99
|
+
return /* @__PURE__ */ jsx(
|
|
100
|
+
Dialog.Title,
|
|
101
|
+
{
|
|
102
|
+
className: cn("text-lg leading-none font-semibold", className),
|
|
103
|
+
...props
|
|
104
|
+
}
|
|
105
|
+
);
|
|
106
|
+
}
|
|
107
|
+
function DialogDescription({
|
|
108
|
+
className,
|
|
109
|
+
...props
|
|
110
|
+
}) {
|
|
111
|
+
return /* @__PURE__ */ jsx(
|
|
112
|
+
Dialog.Description,
|
|
113
|
+
{
|
|
114
|
+
className: cn("text-muted-foreground text-sm", className),
|
|
115
|
+
...props
|
|
116
|
+
}
|
|
117
|
+
);
|
|
118
|
+
}
|
|
119
|
+
function DialogBody({ className, children, ...props }) {
|
|
120
|
+
return /* @__PURE__ */ jsx(
|
|
121
|
+
"div",
|
|
122
|
+
{
|
|
123
|
+
className: cn("flex shrink-0 grow basis-0 flex-col items-start self-stretch", className),
|
|
124
|
+
...props,
|
|
125
|
+
children: /* @__PURE__ */ jsx("div", { className: "flex shrink-0 grow basis-0 flex-col items-start gap-10 self-stretch overflow-auto p-4", children })
|
|
126
|
+
}
|
|
127
|
+
);
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
export { DialogRoot as Dialog, DialogBackdrop, DialogBody, DialogClose, DialogDescription, DialogFooter, DialogHeader, DialogPopup, DialogPortal, DialogTitle, DialogTrigger, DialogViewport };
|
|
131
|
+
//# sourceMappingURL=dialog.js.map
|
|
2
132
|
//# sourceMappingURL=dialog.js.map
|
package/dist/dialog.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/components/dialog/dialog.tsx"],"names":["cn","inputs","twMerge","clsx","Dialog","props","jsx","DialogTrigger","DialogPortal","DialogClose","DialogOverlay","className","DialogContent","children","bottom","showCloseButton","jsxs","XClose","DialogHeader","DialogFooter","DialogTitle","DialogDescription"],"mappings":"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","file":"dialog.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as DialogPrimitive from \"@radix-ui/react-dialog\";\nimport type * as React from \"react\";\n\nimport { XClose } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\nfunction Dialog({ ...props }: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root data-slot=\"dialog\" {...props} />;\n}\n\nfunction DialogTrigger({ ...props }: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger data-slot=\"dialog-trigger\" {...props} />;\n}\n\nfunction DialogPortal({ ...props }: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal data-slot=\"dialog-portal\" {...props} />;\n}\n\nfunction DialogClose({ ...props }: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close data-slot=\"dialog-close\" {...props} />;\n}\n\nfunction DialogOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Overlay>) {\n return (\n <DialogPrimitive.Overlay\n data-slot=\"dialog-overlay\"\n className={cn(\n \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-[rgb(0_0_32_/_0.01)] backdrop-blur-sm dark:bg-[rgb(255_255_255_/_0.01)]\",\n // \"data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogContent({\n className,\n children,\n bottom = false,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Content> & {\n bottom?: boolean;\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPortal data-slot=\"dialog-portal\">\n <DialogOverlay />\n {showCloseButton && (\n <DialogPrimitive.Close data-slot=\"dialog-close\" asChild>\n {/* <Button\n className=\"fixed top-[15px] left-5 z-50 overflow-visible before:absolute before:top-3 before:left-3 before:z-50 before:flex before:size-[100px] before:bg-red-600 before:content-['']\"\n collapsed\n leading={<XClose className=\"size-[18px]\" />}\n pill\n theme=\"brand\"\n variant=\"primary\"\n /> */}\n <button\n type=\"button\"\n className=\"before:bg-tint-700-reversed fixed top-[15px] left-5 z-50 overflow-visible before:absolute before:-inset-1.5 before:z-40 before:flex before:size-[calc(100%+12px)] before:rounded-full before:backdrop-blur-sm before:content-['']\"\n >\n <div className=\"bg-foreground text-background relative z-50 flex size-10 items-center justify-center rounded-full\">\n <XClose className=\"size-[18px]\" />\n </div>\n </button>\n </DialogPrimitive.Close>\n )}\n <DialogPrimitive.Content\n data-slot=\"dialog-content\"\n className={cn(\n \"bg-surface-bg-default 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 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] rounded-xl shadow-2xl duration-200 sm:max-w-lg\",\n {\n \"data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom m:max-h-full z-50 h-full max-h-full w-full max-w-full overflow-auto data-[state=closed]:duration-200 data-[state=closed]:ease-[cubic-bezier(1,0,0.72,0.32)] data-[state=open]:duration-500 data-[state=open]:ease-[cubic-bezier(0.32,0.72,0,1)] sm:max-w-full\":\n bottom,\n },\n className,\n )}\n {...props}\n >\n {children}\n </DialogPrimitive.Content>\n </DialogPortal>\n );\n}\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-header\"\n className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n data-slot=\"dialog-footer\"\n className={cn(\"flex flex-col-reverse gap-2 sm:flex-row sm:justify-end\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n data-slot=\"dialog-title\"\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n data-slot=\"dialog-description\"\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nexport {\n Dialog,\n DialogClose,\n DialogContent,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogOverlay,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/dialog/dialog.tsx"],"names":["DialogPrimitive"],"mappings":"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","file":"dialog.js","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","\"use client\";\n\nimport { Dialog as DialogPrimitive } from \"@base-ui/react\";\nimport { XClose } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\n/* ---------------------------------------------\n * Root\n * --------------------------------------------- */\n\nfunction DialogRoot(props: React.ComponentProps<typeof DialogPrimitive.Root>) {\n return <DialogPrimitive.Root {...props} />;\n}\n\n/* ---------------------------------------------\n * Portal\n * --------------------------------------------- */\n\nfunction DialogPortal(props: React.ComponentProps<typeof DialogPrimitive.Portal>) {\n return <DialogPrimitive.Portal {...props} />;\n}\n\n/* ---------------------------------------------\n * Trigger\n * --------------------------------------------- */\n\nfunction DialogTrigger(props: React.ComponentProps<typeof DialogPrimitive.Trigger>) {\n return <DialogPrimitive.Trigger {...props} />;\n}\n\n/* ---------------------------------------------\n * Close\n * --------------------------------------------- */\n\nfunction DialogClose(props: React.ComponentProps<typeof DialogPrimitive.Close>) {\n return <DialogPrimitive.Close {...props} />;\n}\n\n/* ---------------------------------------------\n * Overlay (Backdrop)\n * --------------------------------------------- */\n\nfunction DialogBackdrop({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Backdrop>) {\n return (\n <DialogPrimitive.Backdrop\n className={cn(\n \"fixed inset-0 min-h-dvh bg-[rgb(0_0_32/0.01)] opacity-0 backdrop-blur-sm transition-[opacity,backdrop-filter] duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0 supports-[-webkit-touch-callout:none]:absolute dark:bg-[rgb(255_255_255/0.01)] dark:opacity-70\",\n \"data-closed:opacity-0 data-open:opacity-100\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DialogViewport({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Viewport>) {\n return (\n <DialogPrimitive.Viewport\n className={cn(\n \"fixed inset-0 flex items-center justify-center overflow-hidden py-6 [@media(min-height:600px)]:pt-8 [@media(min-height:600px)]:pb-12\",\n className,\n )}\n {...props}\n />\n );\n}\n\n/* ---------------------------------------------\n * Content (Popup)\n * --------------------------------------------- */\n\nfunction DialogPopup({\n className,\n children,\n bottom = false,\n showCloseButton = true,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Popup> & {\n bottom?: boolean;\n showCloseButton?: boolean;\n}) {\n return (\n <DialogPrimitive.Portal>\n <DialogBackdrop />\n <DialogPrimitive.Popup className=\"group/popup pointer-events-none flex h-full max-h-full min-h-0 w-full max-w-full justify-center overflow-hidden transition-opacity duration-150 data-ending-style:opacity-0 data-starting-style:opacity-0\">\n {showCloseButton && (\n <DialogClose\n className=\"pointer-events-auto fixed top-[15px] left-5 z-50\"\n aria-label=\"Close\"\n >\n <span className=\"sr-only\">Close</span>\n <span className=\"before:bg-tint-700-reversed relative block before:absolute before:-inset-1.5 before:rounded-full before:backdrop-blur-sm\">\n <span className=\"bg-primary-foreground text-background relative z-10 flex size-10 items-center justify-center rounded-full\">\n <XClose className=\"size-[18px]\" />\n </span>\n </span>\n </DialogClose>\n )}\n <div\n className={cn(\n \"bg-background pointer-events-auto fixed top-1/2 left-1/2 flex h-full max-h-[calc(100%-2rem)] w-full max-w-[calc(100%-2rem)] -translate-x-1/2 -translate-y-1/2 flex-col rounded-xl shadow-2xl transition-all\",\n {\n \"group-data-ending-style/popup:translate-y-0 group-data-ending-style/popup:scale-[0.98] group-data-ending-style/popup:opacity-0 group-data-starting-style/popup:translate-y-0 group-data-starting-style/popup:scale-[0.98] group-data-starting-style/popup:opacity-0\":\n !bottom,\n \"group-data-open/popup:slide-in-from-bottom group-data-closed/popup:slide-out-to-bottom group-data-starting-style/popup-scale-100 group-data-ending-style/popup-scale-100 group-data-open/popup:animate-in group-data-closed/popup:animate-out top-auto bottom-0 h-full translate-y-0 rounded-b-none group-data-closed/popup:duration-200 group-data-closed/popup:ease-[cubic-bezier(1,0,0.72,0.32)] group-data-ending-style/popup:translate-y-full group-data-open/popup:duration-500 group-data-open/popup:ease-[cubic-bezier(0.32,0.72,0,1)] group-data-starting-style/popup:translate-y-full\":\n bottom,\n },\n className,\n )}\n {...props}\n >\n {children}\n </div>\n </DialogPrimitive.Popup>\n </DialogPrimitive.Portal>\n );\n}\n\n/* ---------------------------------------------\n * Header / Footer\n * --------------------------------------------- */\n\nfunction DialogHeader({ className, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div className={cn(\"flex flex-col gap-2 text-center sm:text-left\", className)} {...props} />\n );\n}\n\nfunction DialogFooter({ className, ...props }: React.ComponentProps<\"div\">) {\n return <div className={cn(\"flex flex-col-reverse gap-2 sm:flex-row\", className)} {...props} />;\n}\n\n/* ---------------------------------------------\n * Title / Description\n * --------------------------------------------- */\n\nfunction DialogTitle({ className, ...props }: React.ComponentProps<typeof DialogPrimitive.Title>) {\n return (\n <DialogPrimitive.Title\n className={cn(\"text-lg leading-none font-semibold\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DialogPrimitive.Description>) {\n return (\n <DialogPrimitive.Description\n className={cn(\"text-muted-foreground text-sm\", className)}\n {...props}\n />\n );\n}\n\nfunction DialogBody({ className, children, ...props }: React.ComponentProps<\"div\">) {\n return (\n <div\n className={cn(\"flex shrink-0 grow basis-0 flex-col items-start self-stretch\", className)}\n {...props}\n >\n <div className=\"flex shrink-0 grow basis-0 flex-col items-start gap-10 self-stretch overflow-auto p-4\">\n {children}\n </div>\n </div>\n );\n}\n/* ---------------------------------------------\n * Exports (preserve your public API)\n * --------------------------------------------- */\n\nexport {\n DialogRoot as Dialog,\n DialogBackdrop,\n DialogBody,\n DialogClose,\n DialogDescription,\n DialogFooter,\n DialogHeader,\n DialogPopup,\n DialogPortal,\n DialogTitle,\n DialogTrigger,\n DialogViewport,\n};\n"]}
|
package/dist/dropdown-menu.cjs
CHANGED
|
@@ -1,2 +1,229 @@
|
|
|
1
|
-
'use strict';
|
|
1
|
+
'use strict';
|
|
2
|
+
|
|
3
|
+
var menu = require('@base-ui/react/menu');
|
|
4
|
+
var icons = require('@untitledui/icons');
|
|
5
|
+
var clsx = require('clsx');
|
|
6
|
+
var tailwindMerge = require('tailwind-merge');
|
|
7
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
8
|
+
|
|
9
|
+
// src/components/dropdown-menu/dropdown-menu.tsx
|
|
10
|
+
function cn(...inputs) {
|
|
11
|
+
return tailwindMerge.twMerge(clsx.clsx(inputs));
|
|
12
|
+
}
|
|
13
|
+
function DropdownMenu({ ...props }) {
|
|
14
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Root, { "data-slot": "dropdown-menu", ...props });
|
|
15
|
+
}
|
|
16
|
+
function DropdownMenuPortal({ ...props }) {
|
|
17
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Portal, { "data-slot": "dropdown-menu-portal", ...props });
|
|
18
|
+
}
|
|
19
|
+
function DropdownMenuTrigger({ ...props }) {
|
|
20
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Trigger, { "data-slot": "dropdown-menu-trigger", ...props });
|
|
21
|
+
}
|
|
22
|
+
function DropdownMenuContent({
|
|
23
|
+
className,
|
|
24
|
+
sideOffset = 4,
|
|
25
|
+
positionerProps,
|
|
26
|
+
children,
|
|
27
|
+
...props
|
|
28
|
+
}) {
|
|
29
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Positioner, { sideOffset, ...positionerProps, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
30
|
+
menu.Menu.Popup,
|
|
31
|
+
{
|
|
32
|
+
"data-slot": "dropdown-menu-content",
|
|
33
|
+
className: cn(
|
|
34
|
+
"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 border-border-border-edge-light z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl border p-1.5 shadow-xl",
|
|
35
|
+
className
|
|
36
|
+
),
|
|
37
|
+
...props,
|
|
38
|
+
children
|
|
39
|
+
}
|
|
40
|
+
) }) });
|
|
41
|
+
}
|
|
42
|
+
function DropdownMenuGroup({ ...props }) {
|
|
43
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Group, { "data-slot": "dropdown-menu-group", ...props });
|
|
44
|
+
}
|
|
45
|
+
function DropdownMenuItem({
|
|
46
|
+
className,
|
|
47
|
+
inset,
|
|
48
|
+
variant = "default",
|
|
49
|
+
...props
|
|
50
|
+
}) {
|
|
51
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
52
|
+
menu.Menu.Item,
|
|
53
|
+
{
|
|
54
|
+
"data-slot": "dropdown-menu-item",
|
|
55
|
+
"data-inset": inset,
|
|
56
|
+
"data-variant": variant,
|
|
57
|
+
className: cn(
|
|
58
|
+
"data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 data-[variant=destructive]:data-highlighted:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
59
|
+
className
|
|
60
|
+
),
|
|
61
|
+
...props
|
|
62
|
+
}
|
|
63
|
+
);
|
|
64
|
+
}
|
|
65
|
+
function DropdownMenuCheckboxItem({
|
|
66
|
+
className,
|
|
67
|
+
children,
|
|
68
|
+
checked,
|
|
69
|
+
...props
|
|
70
|
+
}) {
|
|
71
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
72
|
+
menu.Menu.CheckboxItem,
|
|
73
|
+
{
|
|
74
|
+
"data-slot": "dropdown-menu-checkbox-item",
|
|
75
|
+
className: cn(
|
|
76
|
+
"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
77
|
+
className
|
|
78
|
+
),
|
|
79
|
+
checked,
|
|
80
|
+
...props,
|
|
81
|
+
children: [
|
|
82
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
83
|
+
menu.Menu.CheckboxItemIndicator,
|
|
84
|
+
{
|
|
85
|
+
keepMounted: true,
|
|
86
|
+
className: "transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0",
|
|
87
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons.CheckCircle, { className: "size-4" })
|
|
88
|
+
}
|
|
89
|
+
) }),
|
|
90
|
+
children
|
|
91
|
+
]
|
|
92
|
+
}
|
|
93
|
+
);
|
|
94
|
+
}
|
|
95
|
+
function DropdownMenuRadioGroup({ ...props }) {
|
|
96
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.RadioGroup, { "data-slot": "dropdown-menu-radio-group", ...props });
|
|
97
|
+
}
|
|
98
|
+
function DropdownMenuRadioItem({
|
|
99
|
+
className,
|
|
100
|
+
children,
|
|
101
|
+
...props
|
|
102
|
+
}) {
|
|
103
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
104
|
+
menu.Menu.RadioItem,
|
|
105
|
+
{
|
|
106
|
+
"data-slot": "dropdown-menu-radio-item",
|
|
107
|
+
className: cn(
|
|
108
|
+
"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
109
|
+
className
|
|
110
|
+
),
|
|
111
|
+
...props,
|
|
112
|
+
children: [
|
|
113
|
+
/* @__PURE__ */ jsxRuntime.jsx("span", { className: "pointer-events-none absolute left-2 flex size-3.5 items-center justify-center", children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
114
|
+
menu.Menu.RadioItemIndicator,
|
|
115
|
+
{
|
|
116
|
+
keepMounted: true,
|
|
117
|
+
className: "transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0",
|
|
118
|
+
children: /* @__PURE__ */ jsxRuntime.jsx(icons.Circle, { className: "size-2 fill-current" })
|
|
119
|
+
}
|
|
120
|
+
) }),
|
|
121
|
+
children
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
);
|
|
125
|
+
}
|
|
126
|
+
function DropdownMenuLabel({
|
|
127
|
+
className,
|
|
128
|
+
inset,
|
|
129
|
+
children,
|
|
130
|
+
...props
|
|
131
|
+
}) {
|
|
132
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
133
|
+
menu.Menu.GroupLabel,
|
|
134
|
+
{
|
|
135
|
+
"data-slot": "dropdown-menu-label",
|
|
136
|
+
"data-inset": inset,
|
|
137
|
+
className: cn("px-2 py-1.5 text-sm font-medium data-inset:pl-8", className),
|
|
138
|
+
...props,
|
|
139
|
+
children
|
|
140
|
+
}
|
|
141
|
+
);
|
|
142
|
+
}
|
|
143
|
+
function DropdownMenuSeparator({
|
|
144
|
+
className,
|
|
145
|
+
...props
|
|
146
|
+
}) {
|
|
147
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
148
|
+
menu.Menu.Separator,
|
|
149
|
+
{
|
|
150
|
+
"data-slot": "dropdown-menu-separator",
|
|
151
|
+
className: cn("bg-border -mx-1 my-1 h-px", className),
|
|
152
|
+
...props
|
|
153
|
+
}
|
|
154
|
+
);
|
|
155
|
+
}
|
|
156
|
+
function DropdownMenuShortcut({ className, ...props }) {
|
|
157
|
+
return /* @__PURE__ */ jsxRuntime.jsx(
|
|
158
|
+
"span",
|
|
159
|
+
{
|
|
160
|
+
"data-slot": "dropdown-menu-shortcut",
|
|
161
|
+
className: cn("text-muted-foreground ml-auto text-xs tracking-widest", className),
|
|
162
|
+
...props
|
|
163
|
+
}
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
function DropdownMenuSub({ ...props }) {
|
|
167
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.SubmenuRoot, { "data-slot": "dropdown-menu-sub", ...props });
|
|
168
|
+
}
|
|
169
|
+
function DropdownMenuSubTrigger({
|
|
170
|
+
className,
|
|
171
|
+
inset,
|
|
172
|
+
children,
|
|
173
|
+
...props
|
|
174
|
+
}) {
|
|
175
|
+
return /* @__PURE__ */ jsxRuntime.jsxs(
|
|
176
|
+
menu.Menu.SubmenuTrigger,
|
|
177
|
+
{
|
|
178
|
+
"data-slot": "dropdown-menu-sub-trigger",
|
|
179
|
+
"data-inset": inset,
|
|
180
|
+
className: cn(
|
|
181
|
+
"data-highlighted:bg-accent data-highlighted:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",
|
|
182
|
+
className
|
|
183
|
+
),
|
|
184
|
+
...props,
|
|
185
|
+
children: [
|
|
186
|
+
children,
|
|
187
|
+
/* @__PURE__ */ jsxRuntime.jsx(icons.ChevronRight, { className: "ml-auto size-4" })
|
|
188
|
+
]
|
|
189
|
+
}
|
|
190
|
+
);
|
|
191
|
+
}
|
|
192
|
+
function DropdownMenuSubContent({
|
|
193
|
+
className,
|
|
194
|
+
sideOffset = 4,
|
|
195
|
+
positionerProps,
|
|
196
|
+
children,
|
|
197
|
+
...props
|
|
198
|
+
}) {
|
|
199
|
+
return /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Portal, { children: /* @__PURE__ */ jsxRuntime.jsx(menu.Menu.Positioner, { sideOffset, ...positionerProps, children: /* @__PURE__ */ jsxRuntime.jsx(
|
|
200
|
+
menu.Menu.Popup,
|
|
201
|
+
{
|
|
202
|
+
"data-slot": "dropdown-menu-sub-content",
|
|
203
|
+
className: cn(
|
|
204
|
+
"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-2xl border p-1 shadow-lg",
|
|
205
|
+
className
|
|
206
|
+
),
|
|
207
|
+
...props,
|
|
208
|
+
children
|
|
209
|
+
}
|
|
210
|
+
) }) });
|
|
211
|
+
}
|
|
212
|
+
|
|
213
|
+
exports.DropdownMenu = DropdownMenu;
|
|
214
|
+
exports.DropdownMenuCheckboxItem = DropdownMenuCheckboxItem;
|
|
215
|
+
exports.DropdownMenuContent = DropdownMenuContent;
|
|
216
|
+
exports.DropdownMenuGroup = DropdownMenuGroup;
|
|
217
|
+
exports.DropdownMenuItem = DropdownMenuItem;
|
|
218
|
+
exports.DropdownMenuLabel = DropdownMenuLabel;
|
|
219
|
+
exports.DropdownMenuPortal = DropdownMenuPortal;
|
|
220
|
+
exports.DropdownMenuRadioGroup = DropdownMenuRadioGroup;
|
|
221
|
+
exports.DropdownMenuRadioItem = DropdownMenuRadioItem;
|
|
222
|
+
exports.DropdownMenuSeparator = DropdownMenuSeparator;
|
|
223
|
+
exports.DropdownMenuShortcut = DropdownMenuShortcut;
|
|
224
|
+
exports.DropdownMenuSub = DropdownMenuSub;
|
|
225
|
+
exports.DropdownMenuSubContent = DropdownMenuSubContent;
|
|
226
|
+
exports.DropdownMenuSubTrigger = DropdownMenuSubTrigger;
|
|
227
|
+
exports.DropdownMenuTrigger = DropdownMenuTrigger;
|
|
228
|
+
//# sourceMappingURL=dropdown-menu.cjs.map
|
|
2
229
|
//# sourceMappingURL=dropdown-menu.cjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../src/lib/utils.ts","../src/components/dropdown-menu/dropdown-menu.tsx"],"names":["cn","inputs","twMerge","clsx","DropdownMenu","props","jsx","e","DropdownMenuPortal","DropdownMenuTrigger","DropdownMenuContent","className","sideOffset","DropdownMenuGroup","DropdownMenuItem","inset","variant","DropdownMenuCheckboxItem","children","checked","jsxs","CheckCircle","DropdownMenuRadioGroup","DropdownMenuRadioItem","Circle","DropdownMenuLabel","DropdownMenuSeparator","DropdownMenuShortcut","DropdownMenuSub","DropdownMenuSubTrigger","ChevronRight","DropdownMenuSubContent"],"mappings":"0iBAGO,SAASA,CAAAA,CAAAA,GAAMC,CAAAA,CAAsB,CAC1C,OAAOC,qBAAAA,CAAQC,SAAAA,CAAKF,CAAM,CAAC,CAC7B,CCCA,SAASG,CAAAA,CAAa,CAAE,GAAGC,CAAM,CAAA,CAA4D,CAC3F,OAAOC,cAAAA,CAAuBC,YAAA,CAAA,IAAA,CAAtB,CAA2B,YAAU,eAAA,CAAiB,GAAGF,CAAAA,CAAO,CAC1E,CAEA,SAASG,EAAmB,CAC1B,GAAGH,CACL,CAAA,CAA8D,CAC5D,OAAOC,cAAAA,CAAuBC,YAAA,CAAA,MAAA,CAAtB,CAA6B,WAAA,CAAU,sBAAA,CAAwB,GAAGF,EAAO,CACnF,CAEA,SAASI,CAAAA,CAAoB,CAC3B,GAAGJ,CACL,CAAA,CAA+D,CAC7D,OAAOC,cAAAA,CAAuBC,YAAA,CAAA,OAAA,CAAtB,CAA8B,YAAU,uBAAA,CAAyB,GAAGF,CAAAA,CAAO,CACrF,CAEA,SAASK,EAAoB,CAC3B,SAAA,CAAAC,CAAAA,CACA,UAAA,CAAAC,CAAAA,CAAa,CAAA,CACb,GAAGP,CACL,CAAA,CAA+D,CAC7D,OACEC,cAAAA,CAAuBC,YAAA,CAAA,MAAA,CAAtB,CACC,QAAA,CAAAD,cAAAA,CAAuBC,YAAA,CAAA,OAAA,CAAtB,CACC,WAAA,CAAU,uBAAA,CACV,WAAYK,CAAAA,CACZ,SAAA,CAAWZ,EACT,2lBAAA,CACAW,CACF,EACC,GAAGN,CAAAA,CACN,CAAA,CACF,CAEJ,CAEA,SAASQ,EAAkB,CAAE,GAAGR,CAAM,CAAA,CAA6D,CACjG,OAAOC,eAAuBC,YAAA,CAAA,KAAA,CAAtB,CAA4B,WAAA,CAAU,qBAAA,CAAuB,GAAGF,CAAAA,CAAO,CACjF,CAEA,SAASS,EAAiB,CACxB,SAAA,CAAAH,EACA,KAAA,CAAAI,CAAAA,CACA,OAAA,CAAAC,CAAAA,CAAU,SAAA,CACV,GAAGX,CACL,CAAA,CAGG,CACD,OACEC,cAAAA,CAAuBC,YAAA,CAAA,IAAA,CAAtB,CACC,YAAU,oBAAA,CACV,YAAA,CAAYQ,CAAAA,CACZ,cAAA,CAAcC,CAAAA,CACd,SAAA,CAAWhB,EACT,qnBAAA,CACAW,CACF,EACC,GAAGN,CAAAA,CACN,CAEJ,CAEA,SAASY,CAAAA,CAAyB,CAChC,SAAA,CAAAN,CAAAA,CACA,SAAAO,CAAAA,CACA,OAAA,CAAAC,CAAAA,CACA,GAAGd,CACL,CAAA,CAAoE,CAClE,OACEe,eAAAA,CAAuBb,YAAA,CAAA,YAAA,CAAtB,CACC,WAAA,CAAU,6BAAA,CACV,UAAWP,CAAAA,CACT,4SAAA,CACAW,CACF,CAAA,CACA,OAAA,CAASQ,CAAAA,CACR,GAAGd,CAAAA,CAEJ,QAAA,CAAA,CAAAC,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,+EAAA,CACd,SAAAA,cAAAA,CAAuBC,YAAA,CAAA,aAAA,CAAtB,CACC,QAAA,CAAAD,cAAAA,CAACe,iBAAAA,CAAA,CAAY,SAAA,CAAU,QAAA,CAAS,CAAA,CAClC,CAAA,CACF,CAAA,CACCH,CAAAA,CAAAA,CACH,CAEJ,CAEA,SAASI,EAAuB,CAC9B,GAAGjB,CACL,CAAA,CAAkE,CAChE,OAAOC,cAAAA,CAAuBC,YAAA,CAAA,UAAA,CAAtB,CAAiC,YAAU,2BAAA,CAA6B,GAAGF,CAAAA,CAAO,CAC5F,CAEA,SAASkB,EAAsB,CAC7B,SAAA,CAAAZ,CAAAA,CACA,QAAA,CAAAO,CAAAA,CACA,GAAGb,CACL,CAAA,CAAiE,CAC/D,OACEe,eAAAA,CAAuBb,YAAA,CAAA,SAAA,CAAtB,CACC,WAAA,CAAU,0BAAA,CACV,SAAA,CAAWP,CAAAA,CACT,4SAAA,CACAW,CACF,EACC,GAAGN,CAAAA,CAEJ,QAAA,CAAA,CAAAC,cAAAA,CAAC,MAAA,CAAA,CAAK,SAAA,CAAU,gFACd,QAAA,CAAAA,cAAAA,CAAuBC,YAAA,CAAA,aAAA,CAAtB,CACC,QAAA,CAAAD,cAAAA,CAACkB,aAAA,CAAO,SAAA,CAAU,sBAAsB,CAAA,CAC1C,CAAA,CACF,EACCN,CAAAA,CAAAA,CACH,CAEJ,CAEA,SAASO,CAAAA,CAAkB,CACzB,UAAAd,CAAAA,CACA,KAAA,CAAAI,CAAAA,CACA,GAAGV,CACL,CAAA,CAEG,CACD,OACEC,cAAAA,CAAuBC,YAAA,CAAA,KAAA,CAAtB,CACC,WAAA,CAAU,qBAAA,CACV,aAAYQ,CAAAA,CACZ,SAAA,CAAWf,CAAAA,CAAG,iDAAA,CAAmDW,CAAS,CAAA,CACzE,GAAGN,CAAAA,CACN,CAEJ,CAEA,SAASqB,CAAAA,CAAsB,CAC7B,UAAAf,CAAAA,CACA,GAAGN,CACL,CAAA,CAAiE,CAC/D,OACEC,eAAuBC,YAAA,CAAA,SAAA,CAAtB,CACC,WAAA,CAAU,yBAAA,CACV,SAAA,CAAWP,CAAAA,CAAG,4BAA6BW,CAAS,CAAA,CACnD,GAAGN,CAAAA,CACN,CAEJ,CAEA,SAASsB,CAAAA,CAAqB,CAAE,SAAA,CAAAhB,CAAAA,CAAW,GAAGN,CAAM,CAAA,CAAiC,CACnF,OACEC,cAAAA,CAAC,MAAA,CAAA,CACC,WAAA,CAAU,yBACV,SAAA,CAAWN,CAAAA,CAAG,uDAAA,CAAyDW,CAAS,CAAA,CAC/E,GAAGN,EACN,CAEJ,CAEA,SAASuB,CAAAA,CAAgB,CAAE,GAAGvB,CAAM,CAAA,CAA2D,CAC7F,OAAOC,cAAAA,CAAuBC,YAAA,CAAA,GAAA,CAAtB,CAA0B,WAAA,CAAU,mBAAA,CAAqB,GAAGF,CAAAA,CAAO,CAC7E,CAEA,SAASwB,CAAAA,CAAuB,CAC9B,SAAA,CAAAlB,CAAAA,CACA,KAAA,CAAAI,CAAAA,CACA,SAAAG,CAAAA,CACA,GAAGb,CACL,CAAA,CAEG,CACD,OACEe,eAAAA,CAAuBb,YAAA,CAAA,UAAA,CAAtB,CACC,WAAA,CAAU,2BAAA,CACV,YAAA,CAAYQ,EACZ,SAAA,CAAWf,CAAAA,CACT,4WAAA,CACAW,CACF,CAAA,CACC,GAAGN,EAEH,QAAA,CAAA,CAAAa,CAAAA,CACDZ,cAAAA,CAACwB,kBAAAA,CAAA,CAAa,SAAA,CAAU,iBAAiB,CAAA,CAAA,CAC3C,CAEJ,CAEA,SAASC,CAAAA,CAAuB,CAC9B,UAAApB,CAAAA,CACA,GAAGN,CACL,CAAA,CAAkE,CAChE,OACEC,eAAuBC,YAAA,CAAA,UAAA,CAAtB,CACC,WAAA,CAAU,2BAAA,CACV,SAAA,CAAWP,CAAAA,CACT,ifACAW,CACF,CAAA,CACC,GAAGN,CAAAA,CACN,CAEJ","file":"dropdown-menu.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\";\nimport type * as React from \"react\";\n\nimport { CheckCircle, ChevronRight, Circle } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n \"bg-popover text-popover-foreground 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 border-border-border-edge-light z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl border p-1.5 shadow-xl\",\n className,\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckCircle className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <Circle className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\"px-2 py-1.5 text-sm font-medium data-inset:pl-8\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground 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 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-2xl border p-1 shadow-lg\",\n className,\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"]}
|
|
1
|
+
{"version":3,"sources":["../src/lib/utils.ts","../src/components/dropdown-menu/dropdown-menu.tsx"],"names":["twMerge","clsx","Menu","jsx","jsxs","CheckCircle","Circle","ChevronRight"],"mappings":";;;;;;;;;AAGO,SAAS,MAAM,MAAA,EAAsB;AAC1C,EAAA,OAAOA,qBAAA,CAAQC,SAAA,CAAK,MAAM,CAAC,CAAA;AAC7B;ACCA,SAAS,YAAA,CAAa,EAAE,GAAG,KAAA,EAAM,EAA2C;AAC1E,EAAA,sCAAQC,SAAA,CAAK,IAAA,EAAL,EAAU,WAAA,EAAU,eAAA,EAAiB,GAAG,KAAA,EAAO,CAAA;AACzD;AAEA,SAAS,kBAAA,CAAmB,EAAE,GAAG,KAAA,EAAM,EAA6C;AAClF,EAAA,sCAAQA,SAAA,CAAK,MAAA,EAAL,EAAY,WAAA,EAAU,sBAAA,EAAwB,GAAG,KAAA,EAAO,CAAA;AAClE;AAEA,SAAS,mBAAA,CAAoB,EAAE,GAAG,KAAA,EAAM,EAA8C;AACpF,EAAA,sCAAQA,SAAA,CAAK,OAAA,EAAL,EAAa,WAAA,EAAU,uBAAA,EAAyB,GAAG,KAAA,EAAO,CAAA;AACpE;AAEA,SAAS,mBAAA,CAAoB;AAAA,EAC3B,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,eAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACEC,cAAA,CAACD,SAAA,CAAK,MAAA,EAAL,EACC,QAAA,kBAAAC,cAAA,CAACD,UAAK,UAAA,EAAL,EAAgB,UAAA,EAAyB,GAAG,eAAA,EAC3C,QAAA,kBAAAC,cAAA;AAAA,IAACD,SAAA,CAAK,KAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,uBAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,+eAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,KAEL,CAAA,EACF,CAAA;AAEJ;AAEA,SAAS,iBAAA,CAAkB,EAAE,GAAG,KAAA,EAAM,EAA4C;AAChF,EAAA,sCAAQA,SAAA,CAAK,KAAA,EAAL,EAAW,WAAA,EAAU,qBAAA,EAAuB,GAAG,KAAA,EAAO,CAAA;AAChE;AAEA,SAAS,gBAAA,CAAiB;AAAA,EACxB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA,GAAU,SAAA;AAAA,EACV,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACEC,cAAA;AAAA,IAACD,SAAA,CAAK,IAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,oBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,cAAA,EAAc,OAAA;AAAA,MACd,SAAA,EAAW,EAAA;AAAA,QACT,4qBAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,wBAAA,CAAyB;AAAA,EAChC,SAAA;AAAA,EACA,QAAA;AAAA,EACA,OAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAmD;AACjD,EAAA,uBACEE,eAAA;AAAA,IAACF,SAAA,CAAK,YAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,6BAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,kUAAA;AAAA,QACA;AAAA,OACF;AAAA,MACA,OAAA;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,WAAU,+EAAA,EACd,QAAA,kBAAAA,cAAA;AAAA,UAACD,SAAA,CAAK,qBAAA;AAAA,UAAL;AAAA,YACC,WAAA,EAAW,IAAA;AAAA,YACX,SAAA,EAAU,6GAAA;AAAA,YAEV,QAAA,kBAAAC,cAAA,CAACE,iBAAA,EAAA,EAAY,SAAA,EAAU,QAAA,EAAS;AAAA;AAAA,SAClC,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAEA,SAAS,sBAAA,CAAuB,EAAE,GAAG,KAAA,EAAM,EAAiD;AAC1F,EAAA,sCAAQH,SAAA,CAAK,UAAA,EAAL,EAAgB,WAAA,EAAU,2BAAA,EAA6B,GAAG,KAAA,EAAO,CAAA;AAC3E;AAEA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgD;AAC9C,EAAA,uBACEE,eAAA;AAAA,IAACF,SAAA,CAAK,SAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,0BAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,kUAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEJ,QAAA,EAAA;AAAA,wBAAAC,cAAA,CAAC,MAAA,EAAA,EAAK,WAAU,+EAAA,EACd,QAAA,kBAAAA,cAAA;AAAA,UAACD,SAAA,CAAK,kBAAA;AAAA,UAAL;AAAA,YACC,WAAA,EAAW,IAAA;AAAA,YACX,SAAA,EAAU,6GAAA;AAAA,YAEV,QAAA,kBAAAC,cAAA,CAACG,YAAA,EAAA,EAAO,SAAA,EAAU,qBAAA,EAAsB;AAAA;AAAA,SAC1C,EACF,CAAA;AAAA,QACC;AAAA;AAAA;AAAA,GACH;AAEJ;AAEA,SAAS,iBAAA,CAAkB;AAAA,EACzB,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACEH,cAAA;AAAA,IAACD,SAAA,CAAK,UAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,qBAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA,CAAG,iDAAA,EAAmD,SAAS,CAAA;AAAA,MACzE,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,GACH;AAEJ;AAEA,SAAS,qBAAA,CAAsB;AAAA,EAC7B,SAAA;AAAA,EACA,GAAG;AACL,CAAA,EAAgD;AAC9C,EAAA,uBACEC,cAAA;AAAA,IAACD,SAAA,CAAK,SAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,yBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,2BAAA,EAA6B,SAAS,CAAA;AAAA,MACnD,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,oBAAA,CAAqB,EAAE,SAAA,EAAW,GAAG,OAAM,EAAiC;AACnF,EAAA,uBACEC,cAAA;AAAA,IAAC,MAAA;AAAA,IAAA;AAAA,MACC,WAAA,EAAU,wBAAA;AAAA,MACV,SAAA,EAAW,EAAA,CAAG,uDAAA,EAAyD,SAAS,CAAA;AAAA,MAC/E,GAAG;AAAA;AAAA,GACN;AAEJ;AAEA,SAAS,eAAA,CAAgB,EAAE,GAAG,KAAA,EAAM,EAAkD;AACpF,EAAA,sCAAQD,SAAA,CAAK,WAAA,EAAL,EAAiB,WAAA,EAAU,mBAAA,EAAqB,GAAG,KAAA,EAAO,CAAA;AACpE;AAEA,SAAS,sBAAA,CAAuB;AAAA,EAC9B,SAAA;AAAA,EACA,KAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAEG;AACD,EAAA,uBACEE,eAAA;AAAA,IAACF,SAAA,CAAK,cAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,2BAAA;AAAA,MACV,YAAA,EAAY,KAAA;AAAA,MACZ,SAAA,EAAW,EAAA;AAAA,QACT,ybAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH,QAAA,EAAA;AAAA,QAAA,QAAA;AAAA,wBACDC,cAAA,CAACI,kBAAA,EAAA,EAAa,SAAA,EAAU,gBAAA,EAAiB;AAAA;AAAA;AAAA,GAC3C;AAEJ;AAEA,SAAS,sBAAA,CAAuB;AAAA,EAC9B,SAAA;AAAA,EACA,UAAA,GAAa,CAAA;AAAA,EACb,eAAA;AAAA,EACA,QAAA;AAAA,EACA,GAAG;AACL,CAAA,EAGG;AACD,EAAA,uBACEJ,cAAA,CAACD,SAAA,CAAK,MAAA,EAAL,EACC,QAAA,kBAAAC,cAAA,CAACD,UAAK,UAAA,EAAL,EAAgB,UAAA,EAAyB,GAAG,eAAA,EAC3C,QAAA,kBAAAC,cAAA;AAAA,IAACD,SAAA,CAAK,KAAA;AAAA,IAAL;AAAA,MACC,WAAA,EAAU,2BAAA;AAAA,MACV,SAAA,EAAW,EAAA;AAAA,QACT,gaAAA;AAAA,QACA;AAAA,OACF;AAAA,MACC,GAAG,KAAA;AAAA,MAEH;AAAA;AAAA,KAEL,CAAA,EACF,CAAA;AAEJ","file":"dropdown-menu.cjs","sourcesContent":["import { clsx, type ClassValue } from \"clsx\";\nimport { twMerge } from \"tailwind-merge\";\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n","import * as React from \"react\";\n\nimport { Menu } from \"@base-ui/react/menu\";\nimport { CheckCircle, ChevronRight, Circle } from \"@untitledui/icons\";\nimport { cn } from \"../../lib/utils\";\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof Menu.Root>) {\n return <Menu.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({ ...props }: React.ComponentProps<typeof Menu.Portal>) {\n return <Menu.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({ ...props }: React.ComponentProps<typeof Menu.Trigger>) {\n return <Menu.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n positionerProps,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.Popup> & {\n sideOffset?: number;\n positionerProps?: Omit<React.ComponentProps<typeof Menu.Positioner>, \"children\">;\n}) {\n return (\n <Menu.Portal>\n <Menu.Positioner sideOffset={sideOffset} {...positionerProps}>\n <Menu.Popup\n data-slot=\"dropdown-menu-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 border-border-border-edge-light z-50 max-h-(--available-height) min-w-32 origin-(--transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl border p-1.5 shadow-xl\",\n className,\n )}\n {...props}\n >\n {children}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof Menu.Group>) {\n return <Menu.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = \"default\",\n ...props\n}: React.ComponentProps<typeof Menu.Item> & {\n inset?: boolean;\n variant?: \"default\" | \"destructive\";\n}) {\n return (\n <Menu.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:data-highlighted:bg-destructive/10 dark:data-[variant=destructive]:data-highlighted:bg-destructive/20 data-[variant=destructive]:data-highlighted:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm font-medium outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof Menu.CheckboxItem>) {\n return (\n <Menu.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <Menu.CheckboxItemIndicator\n keepMounted\n className=\"transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0\"\n >\n <CheckCircle className=\"size-4\" />\n </Menu.CheckboxItemIndicator>\n </span>\n {children}\n </Menu.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({ ...props }: React.ComponentProps<typeof Menu.RadioGroup>) {\n return <Menu.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.RadioItem>) {\n return (\n <Menu.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground relative flex cursor-default items-center gap-1.5 rounded-xs py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <Menu.RadioItemIndicator\n keepMounted\n className=\"transition data-checked:scale-100 data-checked:opacity-100 data-unchecked:scale-75 data-unchecked:opacity-0\"\n >\n <Circle className=\"size-2 fill-current\" />\n </Menu.RadioItemIndicator>\n </span>\n {children}\n </Menu.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.GroupLabel> & {\n inset?: boolean;\n}) {\n return (\n <Menu.GroupLabel\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn(\"px-2 py-1.5 text-sm font-medium data-inset:pl-8\", className)}\n {...props}\n >\n {children}\n </Menu.GroupLabel>\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof Menu.Separator>) {\n return (\n <Menu.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn(\"bg-border -mx-1 my-1 h-px\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<\"span\">) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn(\"text-muted-foreground ml-auto text-xs tracking-widest\", className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof Menu.SubmenuRoot>) {\n return <Menu.SubmenuRoot data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.SubmenuTrigger> & {\n inset?: boolean;\n}) {\n return (\n <Menu.SubmenuTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n \"data-highlighted:bg-accent data-highlighted:text-accent-foreground data-popup-open:bg-accent data-popup-open:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground flex cursor-default items-center gap-1.5 rounded-xs px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className,\n )}\n {...props}\n >\n {children}\n <ChevronRight className=\"ml-auto size-4\" />\n </Menu.SubmenuTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n sideOffset = 4,\n positionerProps,\n children,\n ...props\n}: React.ComponentProps<typeof Menu.Popup> & {\n sideOffset?: number;\n positionerProps?: Omit<React.ComponentProps<typeof Menu.Positioner>, \"children\">;\n}) {\n return (\n <Menu.Portal>\n <Menu.Positioner sideOffset={sideOffset} {...positionerProps}>\n <Menu.Popup\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n \"bg-popover text-popover-foreground data-open:animate-in data-closed:animate-out data-closed:fade-out-0 data-open:fade-in-0 data-closed:zoom-out-95 data-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 z-50 min-w-32 origin-(--transform-origin) overflow-hidden rounded-2xl border p-1 shadow-lg\",\n className,\n )}\n {...props}\n >\n {children}\n </Menu.Popup>\n </Menu.Positioner>\n </Menu.Portal>\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuCheckboxItem,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuItem,\n DropdownMenuLabel,\n DropdownMenuPortal,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubContent,\n DropdownMenuSubTrigger,\n DropdownMenuTrigger,\n};\n"]}
|