@windrun-huaiin/base-ui 3.2.1 → 3.2.2
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/components/index.d.mts +3 -1
- package/dist/components/index.d.ts +3 -1
- package/dist/components/index.js +14 -0
- package/dist/components/index.js.map +1 -1
- package/dist/components/index.mjs +13 -0
- package/dist/components/index.mjs.map +1 -1
- package/dist/index.d.mts +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js +14 -0
- package/dist/index.js.map +1 -1
- package/dist/index.mjs +13 -0
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
- package/src/components/script/google-analytics-script.tsx +2 -2
- package/src/components/script/microsoft-clarity-script.tsx +2 -2
package/dist/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"sources":["../src/ui/accordion.tsx","../src/assets/github.tsx","../src/lib/theme-util.ts","../src/assets/d8.tsx","../src/assets/clerk.tsx","../src/assets/iterm.tsx","../src/assets/markdown.tsx","../src/assets/mdx.tsx","../src/assets/html.tsx","../src/assets/json.tsx","../src/assets/xml.tsx","../src/assets/yaml.tsx","../src/assets/csv.tsx","../src/assets/txt.tsx","../src/assets/java.tsx","../src/assets/sql.tsx","../src/assets/log.tsx","../src/assets/mac.tsx","../src/assets/bitcoin.tsx","../src/assets/css.tsx","../src/assets/mermaid.tsx","../src/assets/last-updated.tsx","../src/assets/snippets.tsx","../src/assets/test.tsx","../src/assets/diff.tsx","../src/assets/dpa.tsx","../src/assets/subp.tsx","../src/assets/t3p.tsx","../src/assets/http.tsx","../src/assets/scheme.tsx","../src/assets/index.ts","../../lib/src/limited-lucide-icons.ts","../src/components/global-icon.tsx","../../lib/src/utils.ts","../src/ui/alert-dialog.tsx","../src/ui/button.tsx","../src/ui/alert.tsx","../src/ui/aspect-ratio.tsx","../src/ui/avatar.tsx","../src/ui/badge.tsx","../src/ui/breadcrumb.tsx","../src/ui/calendar.tsx","../src/ui/card.tsx","../src/ui/carousel.tsx","../src/ui/chart.tsx","../src/ui/checkbox.tsx","../src/ui/collapsible.tsx","../src/ui/command.tsx","../src/ui/dialog.tsx","../src/ui/context-menu.tsx","../src/ui/drawer.tsx","../src/ui/dropdown-menu.tsx","../src/ui/form.tsx","../src/ui/label.tsx","../src/ui/hover-card.tsx","../src/ui/input-otp.tsx","../src/ui/input.tsx","../src/ui/language-button.tsx","../src/ui/menubar.tsx","../src/ui/navigation-menu.tsx","../src/ui/pagination.tsx","../src/ui/popover.tsx","../src/ui/progress.tsx","../src/ui/radio-group.tsx","../src/ui/resizable.tsx","../src/ui/scroll-area.tsx","../src/ui/select.tsx","../src/ui/separator.tsx","../src/ui/sheet.tsx","../src/ui/sidebar.tsx","../src/ui/use-mobile.tsx","../src/ui/skeleton.tsx","../src/ui/tooltip.tsx","../src/ui/slider.tsx","../src/ui/sonner.tsx","../src/ui/switch.tsx","../src/ui/table.tsx","../src/ui/tabs.tsx","../src/ui/textarea.tsx","../src/ui/toast.tsx","../src/ui/use-toast.ts","../src/ui/toaster.tsx","../src/ui/toggle-group.tsx","../src/ui/toggle.tsx","../src/lib/icon-context.tsx","../src/lib/site-icon.tsx","../src/components/404-page.tsx","../src/components/go-to-top.tsx","../src/components/language-detector.tsx","../src/components/language-switcher.tsx","../src/components/script/google-analytics-script.tsx","../src/components/script/microsoft-clarity-script.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst GitHubIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path\n d=\"M512 0C229.283787 0 0.142041 234.942803 0.142041 524.867683c0 231.829001 146.647305 428.553077 350.068189 497.952484 25.592898 4.819996 34.976961-11.38884 34.976961-25.294314 0-12.45521-0.469203-45.470049-0.725133-89.276559-142.381822 31.735193-172.453477-70.380469-172.453477-70.380469-23.246882-60.569859-56.816233-76.693384-56.816234-76.693385-46.493765-32.58829 3.540351-31.948468 3.540351-31.948467 51.356415 3.71097 78.356923 54.086324 78.356923 54.086324 45.683323 80.19108 119.817417 57.072162 148.993321 43.593236 4.649376-33.91059 17.915029-57.029508 32.50298-70.167195-113.675122-13.222997-233.151301-58.223843-233.1513-259.341366 0-57.285437 19.919806-104.163095 52.678715-140.846248-5.246544-13.265652-22.820334-66.626844 4.990615-138.884127 0 0 42.996069-14.076094 140.760939 53.787741 40.863327-11.644769 84.627183-17.445825 128.177764-17.6591 43.465272 0.213274 87.271782 6.014331 128.135109 17.6591 97.679561-67.906489 140.59032-53.787741 140.59032-53.787741 27.938914 72.257282 10.407779 125.618474 5.118579 138.884127 32.844219 36.683154 52.593405 83.560812 52.593405 140.846248 0 201.586726-119.646798 245.990404-233.663158 258.957473 18.341577 16.208835 34.721032 48.199958 34.721032 97.210357 0 70.167195-0.639822 126.7275-0.639823 143.960051 0 14.033439 9.213443 30.370239 35.190235 25.209005 203.250265-69.527373 349.769606-266.123484 349.769605-497.867175C1023.857959 234.942803 794.673558 0 512 0\"\n fill={themeSvgIconColor} p-id=\"6929\">\n </path>\n </svg>\n )\n);\n\nGitHubIcon.displayName = \"GitHub\";\n\nexport default GitHubIcon; ","\n// Attention: This icon color will be used in the entire project, and it depends on the ENV variable NEXT_PUBLIC_STYLE_ICON_COLOR\nexport const themeIconColor = process.env.NEXT_PUBLIC_STYLE_ICON_COLOR || \"text-purple-500\";\n\n// Attention: This icon color will be used in the entire project, and it depends on the ENV variable NEXT_PUBLIC_STYLE_SVG_ICON_COLOR\nexport const themeSvgIconColor = process.env.NEXT_PUBLIC_STYLE_SVG_ICON_COLOR || \"#AC62FD\";\nexport const themeSvgIconSize = process.env.NEXT_PUBLIC_STYLE_SVG_ICON_SIZE || 18","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst D8Icon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path d=\"M376.832 80.896C187.392 142.336 61.44 313.344 61.44 513.024c0 290.816 277.504 506.88 558.08 434.176C842.752 888.832 993.28 665.6 955.392 445.44 908.288 168.96 635.904-2.048 376.832 80.896zM624.64 134.144c103.424 25.6 214.016 131.072 256 241.664 32.768 87.04 26.624 220.16-15.36 305.152-37.888 77.824-106.496 146.432-184.32 185.344-56.32 26.624-70.656 29.696-168.96 29.696-95.232 0-114.688-3.072-165.888-27.648-157.696-73.728-253.952-251.904-225.28-416.768 41.984-239.616 264.192-378.88 503.808-317.44z\"\n fill={themeSvgIconColor}></path>\n <path d=\"M462.848 227.328L460.8 286.72h-35.84c-19.456 0-35.84 4.096-35.84 10.24 0 5.12 11.264 10.24 24.576 10.24 14.336 0 27.648 3.072 29.696 7.168 2.048 5.12-17.408 91.136-43.008 192.512l-47.104 184.32-32.768 3.072c-68.608 7.168-30.72 22.528 53.248 22.528h86.016l4.096 64.512 3.072 63.488 2.048-64.512 2.048-63.488 44.032 1.024c56.32 2.048 123.904-25.6 155.648-64.512 45.056-54.272 26.624-134.144-34.816-153.6-9.216-3.072-1.024-12.288 23.552-26.624 21.504-12.288 41.984-20.48 47.104-17.408 19.456 12.288 35.84-73.728 20.48-112.64-14.336-38.912-66.56-56.32-167.936-56.32h-87.04l-4.096-59.392-3.072-58.368-2.048 58.368z m190.464 96.256c52.224 36.864 10.24 136.192-67.584 157.696C532.48 495.616 460.8 494.592 460.8 478.208c0-6.144 4.096-28.672 9.216-48.128 6.144-19.456 15.36-55.296 21.504-79.872l11.264-43.008h63.488c40.96 0 71.68 6.144 87.04 16.384z m-24.576 211.968c19.456 26.624 19.456 30.72 6.144 70.656-22.528 64.512-66.56 90.112-154.624 90.112-41.984 0-70.656-4.096-70.656-10.24s10.24-50.176 21.504-98.304l22.528-87.04 76.8 3.072c70.656 3.072 78.848 5.12 98.304 31.744z\"\n fill={themeSvgIconColor}></path>\n <path d=\"M227.328 421.888c-7.168 7.168-12.288 18.432-12.288 25.6 0 18.432-10.24 16.384-33.792-5.12-19.456-16.384-20.48-16.384-8.192 5.12 6.144 13.312 16.384 23.552 21.504 23.552 19.456 0 10.24 22.528-10.24 27.648-19.456 5.12-20.48 6.144-3.072 19.456 12.288 9.216 14.336 16.384 7.168 21.504-6.144 5.12-14.336 17.408-17.408 28.672-7.168 20.48-7.168 20.48 8.192 0 13.312-16.384 19.456-18.432 35.84-7.168 24.576 15.36 58.368 16.384 66.56 2.048 12.288-20.48 46.08-11.264 47.104 12.288 1.024 19.456 2.048 19.456 6.144 5.12 3.072-10.24-3.072-27.648-13.312-38.912-16.384-18.432-16.384-19.456 7.168-28.672 24.576-10.24 24.576-10.24 2.048-10.24C317.44 501.76 307.2 496.64 307.2 491.52v-18.432c0-4.096 6.144-7.168 12.288-7.168 7.168 0 14.336-9.216 16.384-19.456 4.096-19.456 3.072-19.456-14.336-2.048-17.408 18.432-18.432 17.408-37.888-8.192-20.48-28.672-36.864-33.792-56.32-14.336zM750.592 427.008c-1.024 10.24-5.12 37.888-9.216 61.44-4.096 29.696-3.072 49.152 6.144 59.392 8.192 10.24 9.216 15.36 1.024 15.36-6.144 0-17.408 14.336-26.624 30.72-18.432 34.816-6.144 71.68 22.528 71.68 15.36 0 15.36-1.024-1.024-13.312-17.408-12.288-17.408-16.384-2.048-51.2 15.36-37.888 43.008-50.176 53.248-24.576 3.072 8.192-1.024 27.648-7.168 44.032-7.168 16.384-13.312 38.912-14.336 49.152-1.024 10.24-10.24 25.6-20.48 32.768-11.264 8.192-14.336 14.336-9.216 14.336 23.552 0 44.032-28.672 59.392-80.896 20.48-68.608 20.48-72.704 1.024-72.704-16.384 0-20.48-12.288-8.192-23.552 3.072-4.096 12.288-2.048 19.456 4.096 16.384 13.312 45.056 5.12 44.032-13.312 0-10.24-2.048-10.24-6.144-1.024-2.048 7.168-9.216 13.312-15.36 13.312-10.24 0-6.144-45.056 8.192-100.352 4.096-12.288 2.048-22.528-4.096-22.528-5.12 0-15.36 21.504-22.528 48.128-13.312 54.272-26.624 74.752-47.104 74.752-17.408 0-19.456-53.248-3.072-83.968 8.192-15.36 8.192-24.576-3.072-34.816-12.288-12.288-14.336-11.264-15.36 3.072zM696.32 695.296c0 6.144 5.12 13.312 10.24 16.384 6.144 3.072 10.24-1.024 10.24-9.216 0-9.216-4.096-16.384-10.24-16.384-5.12 0-10.24 4.096-10.24 9.216z\"\n fill={themeSvgIconColor}></path>\n </svg>\n )\n);\n\nD8Icon.displayName = \"D8\";\n\nexport default D8Icon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst ClerkIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref} \n role=\"img\" \n className={className}\n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M 21.255071,20.629393 18.43951,17.813831 a 0.5590077,0.5590077 0 0 0 -0.6841,-0.08209 6.6983195,6.6983195 0 0 1 -6.920164,0 0.56291684,0.56291684 0 0 0 -0.6841,0.08209 l -2.8155614,2.815562 a 0.56291684,0.56291684 0 0 0 -0.1006604,0.674327 0.55705312,0.55705312 0 0 0 0.1622295,0.181775 11.727434,11.727434 0 0 0 13.7924393,0 0.56682599,0.56682599 0 0 0 0.233572,-0.413392 0.56291684,0.56291684 0 0 0 -0.168094,-0.44271 z m 0.002,-17.2666924 -2.814584,2.8145842 A 0.55607584,0.55607584 0 0 1 17.757364,6.2593769 6.7012514,6.7012514 0 0 0 8.7985821,8.1699714 6.7061378,6.7061378 0 0 0 7.6043383,11.778112 6.7041832,6.7041832 0 0 0 8.5601242,15.456617 0.55998498,0.55998498 0 0 1 8.4790095,16.13974 L 5.663448,18.954324 A 0.55412127,0.55412127 0 0 1 4.8190727,18.892755 11.720593,11.720593 0 0 1 6.8899421,2.9121717 11.717661,11.717661 0 0 1 21.19448,2.5163708 0.55314398,0.55314398 0 0 1 21.42121,2.9248764 0.55705312,0.55705312 0 0 1 21.257026,3.3627006 Z M 14.300703,15.345206 a 3.3491597,3.3491597 0 1 0 0,-6.698319 3.3491597,3.3491597 0 0 0 0,6.698319 z\"\n fill='none' stroke={themeSvgIconColor} strokeWidth=\"1.5\" \n />\n </svg>\n )\n);\n\nClerkIcon.displayName = \"Clerk\";\n\nexport default ClerkIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst ItermIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path\n d=\"M24 5.359v13.282A5.36 5.36 0 0 1 18.641 24H5.359A5.36 5.36 0 0 1 0 18.641V5.359A5.36 5.36 0 0 1 5.359 0h13.282A5.36 5.36 0 0 1 24 5.359m-.932-.233A4.196 4.196 0 0 0 18.874.932H5.126A4.196 4.196 0 0 0 .932 5.126v13.748a4.196 4.196 0 0 0 4.194 4.194h13.748a4.196 4.196 0 0 0 4.194-4.194zm-.816.233v13.282a3.613 3.613 0 0 1-3.611 3.611H5.359a3.613 3.613 0 0 1-3.611-3.611V5.359a3.613 3.613 0 0 1 3.611-3.611h13.282a3.613 3.613 0 0 1 3.611 3.611M8.854 4.194v6.495h.962V4.194zM5.483 9.493v1.085h.597V9.48q.283-.037.508-.133.373-.165.575-.448.208-.284.208-.649a.9.9 0 0 0-.171-.568 1.4 1.4 0 0 0-.426-.388 3 3 0 0 0-.544-.261 32 32 0 0 0-.545-.209 1.8 1.8 0 0 1-.426-.216q-.164-.12-.164-.284 0-.223.179-.351.18-.126.485-.127.344 0 .575.105.239.105.5.298l.433-.5a2.3 2.3 0 0 0-.605-.433 1.6 1.6 0 0 0-.582-.159v-.968h-.597v.978a2 2 0 0 0-.477.127 1.2 1.2 0 0 0-.545.411q-.194.268-.194.634 0 .335.164.56.164.224.418.38a4 4 0 0 0 .552.262q.291.104.545.209.261.104.425.238a.39.39 0 0 1 .165.321q0 .225-.187.359-.18.134-.537.134-.381 0-.717-.134a4.4 4.4 0 0 1-.649-.351l-.388.589q.209.173.477.306.276.135.575.217.191.046.373.064\" \n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"1\"\n />\n </svg>\n )\n);\n\nItermIcon.displayName = \"Iterm\";\n\nexport default ItermIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MarkdownIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.48 327.76192a163.84 163.84 0 0 1 163.84-163.84h655.36a163.84 163.84 0 0 1 163.84 163.84v327.68a163.84 163.84 0 0 1-163.84 163.84H184.32a163.84 163.84 0 0 1-163.84-163.84v-327.68z m163.84-81.92a81.92 81.92 0 0 0-81.92 81.92v327.68a81.92 81.92 0 0 0 81.92 81.92h655.36a81.92 81.92 0 0 0 81.92-81.92v-327.68a81.92 81.92 0 0 0-81.92-81.92H184.32z m68.97664 84.00896a40.96 40.96 0 0 1 45.71136 14.336L389.12 464.24064l90.112-120.13568a40.96 40.96 0 0 1 73.728 24.576v245.76a40.96 40.96 0 0 1-81.92 0v-122.88l-49.152 65.536a41.04192 41.04192 0 0 1-65.536 0l-49.152-65.536v122.88a40.96 40.96 0 1 1-81.92 0v-245.76a40.96 40.96 0 0 1 28.01664-38.87104zM757.76 368.76288a40.96 40.96 0 0 0-81.92 0v146.8416l-12.00128-12.00128a40.96 40.96 0 0 0-57.91744 57.91744l81.92 81.92a40.96 40.96 0 0 0 57.91744 0l81.92-81.92a40.96 40.96 0 0 0-57.91744-57.91744l-12.00128 12.00128V368.72192z\"\n fill={themeSvgIconColor} p-id=\"7370\">\n </path>\n </svg>\n )\n);\n\nMarkdownIcon.displayName = \"Markdown\";\n\nexport default MarkdownIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MDXIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.48 327.76192a163.84 163.84 0 0 1 163.84-163.84h655.36a163.84 163.84 0 0 1 163.84 163.84v327.68a163.84 163.84 0 0 1-163.84 163.84H184.32a163.84 163.84 0 0 1-163.84-163.84v-327.68z m163.84-81.92a81.92 81.92 0 0 0-81.92 81.92v327.68a81.92 81.92 0 0 0 81.92 81.92h655.36a81.92 81.92 0 0 0 81.92-81.92v-327.68a81.92 81.92 0 0 0-81.92-81.92H184.32z m68.97664 84.00896a40.96 40.96 0 0 1 45.71136 14.336L389.12 464.24064l90.112-120.13568a40.96 40.96 0 0 1 73.728 24.576v245.76a40.96 40.96 0 0 1-81.92 0v-122.88l-49.152 65.536a41.04192 41.04192 0 0 1-65.536 0l-49.152-65.536v122.88a40.96 40.96 0 1 1-81.92 0v-245.76a40.96 40.96 0 0 1 28.01664-38.87104zM757.76 368.76288a40.96 40.96 0 0 0-81.92 0v146.8416l-12.00128-12.00128a40.96 40.96 0 0 0-57.91744 57.91744l81.92 81.92a40.96 40.96 0 0 0 57.91744 0l81.92-81.92a40.96 40.96 0 0 0-57.91744-57.91744l-12.00128 12.00128V368.72192z\"\n p-id=\"7370\"\n id=\"path1\"\n style={{\n stroke: \"none\",\n strokeOpacity: 1,\n fill: themeSvgIconColor,\n fillOpacity: 1,\n strokeWidth: 16,\n strokeDasharray: \"none\"\n }} />\n <circle\n id=\"path3\"\n cx=\"719.29987\"\n cy=\"577.29211\"\n r=\"40.298649\"\n style={{\n opacity: 1,\n fill: \"#FFFFFF\",\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n <circle\n id=\"path3-6\"\n cx=\"850.25433\"\n cy=\"310.07559\"\n r=\"40.298649\" \n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }}/>\n <circle\n id=\"path3-6-8\"\n cx=\"173.18126\"\n cy=\"310.07559\"\n r=\"40.298649\" \n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n <circle\n id=\"path3-6-8-7\"\n cx=\"850.25433\"\n cy=\"666.45483\"\n r=\"40.298649\" \n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n <circle\n id=\"path3-6-4\"\n cx=\"173.18126\"\n cy=\"669.54193\"\n r=\"40.298649\"\n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n </svg>\n )\n);\n\nMDXIcon.displayName = \"MDX\";\n\nexport default MDXIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst HtmlIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path fill={themeSvgIconColor}\n d=\"m4 4 2 22 10 2 10-2 2-22Zm19.72 7H11.28l.29 3h11.86l-.802 9.335L15.99 25l-6.635-1.646L8.93 19h3.02l.19 2 3.86.77 3.84-.77.29-4H8.84L8 8h16Z\" \n />\n </svg>\n )\n);\n\nHtmlIcon.displayName = \"Html\";\n\nexport default HtmlIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst JsonIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 -960 960 960\" xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path fill={themeSvgIconColor}\n d=\"M560-160v-80h120q17 0 28.5-11.5T720-280v-80q0-38 22-69t58-44v-14q-36-13-58-44t-22-69v-80q0-17-11.5-28.5T680-720H560v-80h120q50 0 85 35t35 85v80q0 17 11.5 28.5T840-560h40v160h-40q-17 0-28.5 11.5T800-360v80q0 50-35 85t-85 35zm-280 0q-50 0-85-35t-35-85v-80q0-17-11.5-28.5T120-400H80v-160h40q17 0 28.5-11.5T160-600v-80q0-50 35-85t85-35h120v80H280q-17 0-28.5 11.5T240-680v80q0 38-22 69t-58 44v14q36 13 58 44t22 69v80q0 17 11.5 28.5T280-240h120v80z\"\n />\n </svg>\n )\n);\n\nJsonIcon.displayName = \"Json\";\n\nexport default JsonIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst XMLIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M354.40128 0c-87.04 0-157.44 70.55872-157.44 157.59872v275.68128H78.72c-21.6576 0-39.36256 17.69984-39.36256 39.36256v236.31872c0 21.6576 17.69984 39.35744 39.36256 39.35744h118.24128v118.08256c0 87.04 70.4 157.59872 157.44 157.59872h472.63744c87.04 0 157.59872-70.55872 157.59872-157.59872V315.0336c0-41.74848-38.9888-81.93024-107.52-149.27872l-29.11744-29.12256L818.87744 107.52C751.5392 38.9888 711.39328 0 669.59872 0H354.4064z m0 78.72h287.20128c28.35456 7.0912 27.99616 42.1376 27.99616 76.8v120.16128c0 21.6576 17.69984 39.35744 39.36256 39.35744h118.07744c39.38816 0 78.87872-0.0256 78.87872 39.36256v512c0 43.32032-35.55328 78.87872-78.87872 78.87872H354.4064c-43.32544 0-78.72-35.5584-78.72-78.87872v-118.08256h393.91744c21.66272 0 39.36256-17.69472 39.36256-39.35744V472.64256c0-21.66272-17.69984-39.36256-39.36256-39.36256H275.68128V157.59872c0-43.32032 35.39456-78.87872 78.72-78.87872zM145.12128 507.36128h23.99744l39.36256 67.2 40.32-67.2h23.04l-50.88256 83.51744 54.72256 92.16h-24.96l-43.20256-75.83744-43.19744 75.83744h-23.04l54.71744-92.16-50.87744-83.51744z m154.55744 0h32.64l49.92 143.03744h0.96256l48.95744-143.03744h33.60256v175.67744h-22.08256v-106.55744c0-10.88 0.32256-26.56256 0.96256-47.04256h-0.96256l-52.79744 153.6h-19.2l-52.80256-153.6h-0.95744c1.28 22.4 1.92 38.72256 1.92 48.96256v104.63744H299.6736V507.36128z m214.08256 0h22.07744v155.52h69.12v20.15744h-91.19744V507.36128z\"\n p-id=\"9479\" fill={themeSvgIconColor}>\n </path>\n </svg>\n )\n);\n\nXMLIcon.displayName = \"XML\";\n\nexport default XMLIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst YamlIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M354.401 0c-87.04 0-157.44 70.559-157.44 157.599V433.28H78.72c-21.658 0-39.363 17.7-39.363 39.363V708.96c0 21.658 17.7 39.358 39.363 39.358h118.241V866.4c0 87.04 70.4 157.599 157.44 157.599H827.04c87.04 0 157.598-70.559 157.598-157.599V315.034c0-41.749-38.988-81.93-107.52-149.28L848 136.633l-29.123-29.112C751.54 38.989 711.393 0 669.6 0H354.406z m0 78.72h287.202c28.354 7.091 27.996 42.138 27.996 76.8v120.161c0 21.658 17.7 39.358 39.362 39.358H827.04c39.388 0 78.878-0.026 78.878 39.362v512c0 43.32-35.553 78.879-78.878 78.879H354.406c-43.325 0-78.72-35.558-78.72-78.879V748.32h393.918c21.663 0 39.362-17.695 39.362-39.358V472.643c0-21.663-17.7-39.363-39.362-39.363H275.68V157.599c0-43.32 35.395-78.879 78.72-78.879z m-93.127 427.679h20.162l65.28 176.64h-23.04l-19.2-54.718h-65.28l-19.2 54.718h-23.04l64.318-176.64z m-181.438 0.962h23.998l40.32 89.278 41.282-89.278h23.998l-53.76 107.52v68.158h-22.078v-67.2L79.836 507.36z m290.878 0h32.64l49.92 143.038h0.962l48.958-143.038h33.602V683.04h-22.082V576.48c0-10.88 0.322-26.562 0.962-47.042h-0.962l-52.798 153.6h-19.2l-52.802-153.6h-0.958c1.28 22.4 1.92 38.722 1.92 48.962V683.04h-20.162V507.36z m214.082 0h22.078v155.52h69.12v20.158h-91.188V507.36z m-312.96 23.04c-1.92 8.96-4.802 18.238-8.642 27.838l-17.28 50.882h51.84l-18.238-50.882c-3.84-10.88-6.4-20.158-7.68-27.838z\"\n p-id=\"10866\" fill={themeSvgIconColor}>\n </path>\n </svg>\n )\n);\n\nYamlIcon.displayName = \"Yaml\";\n\nexport default YamlIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst CSVIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M158.72 517.12h61.44v394.24c0 28.27776 22.92224 51.2 51.2 51.2h614.4c28.27776 0 51.2-22.92224 51.2-51.2V317.44h-204.8c-28.27776 0-51.2-22.92224-51.2-51.2V61.44H271.36c-28.27776 0-51.2 22.92224-51.2 51.2v97.28H158.72V76.8c0-42.41408 34.38592-76.8 76.8-76.8h481.28l281.6 281.6v665.6c0 42.41408-34.38592 76.8-76.8 76.8H235.52c-42.41408 0-76.8-34.38592-76.8-76.8v-430.08z\"\n fill={themeSvgIconColor} p-id=\"8469\">\n </path>\n <path\n d=\"M102.4 209.92h460.8c42.41408 0 76.8 34.38592 76.8 76.8v153.6c0 42.41408-34.38592 76.8-76.8 76.8H102.4c-42.41408 0-76.8-34.38592-76.8-76.8V286.72c0-42.41408 34.38592-76.8 76.8-76.8z m129.81248 176.2304c-2.7136 11.80672-7.18848 20.45952-13.42464 25.9584-6.23104 5.49888-13.6704 8.25344-22.3232 8.25344-11.74016 0-21.2736-4.3264-28.60544-12.98432-7.33184-8.6528-10.99776-23.17312-10.99776-43.55584 0-19.21536 3.72224-33.11104 11.1616-41.69216 7.44448-8.58112 17.14176-12.87168 29.09696-12.87168 8.6528 0 16.00512 2.42176 22.05696 7.26016 6.04672 4.84352 10.02496 11.4432 11.9296 19.79904l32.23552-7.69536c-3.67104-12.90752-9.1648-22.8096-16.50176-29.70112-12.31872-11.66336-28.34432-17.48992-48.07168-17.48992-22.58432 0-40.8064 7.424-54.66624 22.272-13.86496 14.848-20.79232 35.69664-20.79232 62.53568 0 25.37472 6.89152 45.37856 20.67968 60.0064 13.78816 14.62784 31.3856 21.94432 52.80256 21.94432 17.3056 0 31.5904-4.27008 42.84416-12.81536 11.25376-8.54016 19.3024-21.61152 24.14592-39.21408l-31.56992-10.0096z m51.25632 6.81984c2.12992 18.03776 8.6528 31.7696 19.57888 41.19552 10.9312 9.4208 26.58304 14.1312 46.97088 14.1312 14.00832 0 25.7024-1.96096 35.09248-5.88288 9.38496-3.92192 16.64512-9.91744 21.78048-17.98656 5.13024-8.064 7.70048-16.7168 7.70048-25.9584 0-10.1888-2.1504-18.75456-6.43584-25.68192-4.29056-6.93248-10.22976-12.39552-17.8176-16.39424-7.59296-3.9936-19.30752-7.86432-35.1488-11.60192-15.84128-3.7376-25.81504-7.33184-29.92128-10.78272-3.2256-2.7136-4.8384-5.97504-4.8384-9.78944 0-4.17792 1.72544-7.51616 5.1712-10.0096 5.3504-3.88608 12.75904-5.83168 22.2208-5.83168 9.1648 0 16.04096 1.8176 20.62336 5.44768 4.5824 3.63008 7.57248 9.58976 8.96 17.87392l32.5632-1.4336c-0.512-14.80704-5.888-26.65472-16.11264-35.52768-10.22976-8.87296-25.46688-13.312-45.70624-13.312-12.3904 0-22.97344 1.87392-31.73376 5.61152-8.76544 3.74272-15.47264 9.18528-20.13184 16.3328-4.6592 7.15264-6.98368 14.83776-6.98368 23.05024 0 12.75904 4.95104 23.5776 14.848 32.45056 7.04 6.30784 19.28704 11.6224 36.74112 15.9488 13.568 3.37408 22.25664 5.71904 26.07104 7.04 5.57056 1.98144 9.47712 4.31104 11.71456 6.98368 2.23744 2.67776 3.3536 5.92384 3.3536 9.73824 0 5.9392-2.65728 11.12576-7.97184 15.5648-5.31968 4.43392-13.21984 6.656-23.7056 6.656-9.90208 0-17.7664-2.49344-23.59808-7.48032-5.82656-4.98688-9.69728-12.8-11.60192-23.43424l-31.68256 3.08224zM483.1232 445.44h34.7648l57.74848-161.25952h-34.53952l-39.49056 119.3472-40.81152-119.3472h-35.30752L483.11808 445.44z\"\n fill={themeSvgIconColor} p-id=\"8470\">\n </path>\n <path\n d=\"M266.24 634.88m30.72 0l563.2 0q30.72 0 30.72 30.72l0 0q0 30.72-30.72 30.72l-563.2 0q-30.72 0-30.72-30.72l0 0q0-30.72 30.72-30.72Z\"\n fill={themeSvgIconColor} p-id=\"8471\">\n </path>\n <path\n d=\"M266.24 808.96m30.72 0l563.2 0q30.72 0 30.72 30.72l0 0q0 30.72-30.72 30.72l-563.2 0q-30.72 0-30.72-30.72l0 0q0-30.72 30.72-30.72Z\"\n fill={themeSvgIconColor} p-id=\"8472\">\n </path>\n </svg>\n )\n);\n\nCSVIcon.displayName = \"CSV\";\n\nexport default CSVIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst TxtIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M764.6 791c-35.6 0-77.2-19.2-77.2-73.6 0-21.8 7.8-37.2 25.2-49.6 17-12.2 43-20.8 73.4-24.4 42.8-5 91-7.8 132.2-9.2 0.6 0 1 0.2 1.6 0.4 0.6 0.2 1 0.6 1.4 1 0.4 0.4 0.6 0.8 0.8 1.4 0.2 0.6 0.2 1 0.2 1.6-5.4 102.4-57.2 152.4-157.6 152.4z m42.2-460.6c-84.6-0.6-160.4 48.8-192.8 125.6-0.6 1.4-1 2.8-1.6 4.2-0.4 1.4-0.8 2.8-1 4.2-0.2 1.4-0.6 2.8-0.6 4.4-0.2 1.4-0.2 3-0.2 4.4 0 1.4 0 3 0.2 4.4 0.2 1.4 0.4 3 0.6 4.4 0.2 1.4 0.6 2.8 1 4.2 0.4 1.4 0.8 2.8 1.4 4.2 0.6 1.4 1.2 2.8 1.8 4 0.6 1.4 1.4 2.6 2.2 3.8 0.8 1.2 1.6 2.4 2.6 3.6 1 1.2 1.8 2.2 3 3.2 1 1 2 2 3.2 3 1.2 1 2.2 1.8 3.4 2.6 1.2 0.8 2.4 1.6 3.8 2.4 1.2 0.8 2.6 1.4 4 2 1.4 0.6 2.8 1 4.2 1.6l4.2 1.2c1.4 0.4 2.8 0.6 4.4 0.6 1.4 0.2 3 0.2 4.4 0.2 1.4 0 3 0 4.4-0.2 1.4-0.2 3-0.4 4.4-0.6 1.4-0.2 2.8-0.6 4.2-1 1.4-0.4 2.8-0.8 4.2-1.4 1.4-0.6 2.6-1.2 4-1.8 1.2-0.6 2.6-1.4 3.8-2.2 1.2-0.8 2.4-1.6 3.6-2.6 1.2-1 2.2-2 3.2-3s2-2.2 3-3.2c1-1.2 1.8-2.4 2.6-3.6 0.8-1.2 1.6-2.4 2.2-3.8 0.8-1.2 1.4-2.6 2-4 18-42.8 60.4-70.4 108.2-70.8 65.6-0.4 118.6 54.2 118.6 120.4 0 0.4 0 0.8-0.2 1.2-0.2 0.4-0.4 0.6-0.6 1-0.2 0.2-0.6 0.6-1 0.6-0.4 0.2-0.8 0.2-1.2 0.2-44.4 1.2-97.2 4.2-144.4 9.8-111 13.2-177.4 74.2-177.4 163.4 0 47.4 17.8 90 50 120 30.2 28.2 71.6 43.6 116.4 43.6 63 0 117-16.4 158.2-47.6h0.2c0 1.4 0 3 0.2 4.4 0.2 1.4 0.4 3 0.6 4.4 0.2 1.4 0.6 2.8 1 4.2 0.4 1.4 1 2.8 1.4 4.2 0.6 1.4 1.2 2.8 1.8 4 0.6 1.4 1.4 2.6 2.2 3.8 0.8 1.2 1.6 2.4 2.6 3.6 1 1.2 1.8 2.2 3 3.2 1 1 2.2 2 3.2 3 1.2 1 2.2 1.8 3.6 2.6 1.2 0.8 2.4 1.6 3.8 2.2 1.2 0.8 2.6 1.4 4 2 1.4 0.6 2.8 1 4.2 1.6 1.4 0.4 2.8 0.8 4.2 1 1.4 0.2 2.8 0.6 4.4 0.6 1.4 0.2 3 0.2 4.4 0.2 1.4 0 3 0 4.4-0.2 1.4-0.2 3-0.4 4.4-0.6 1.4-0.2 2.8-0.6 4.2-1 1.4-0.4 2.8-1 4.2-1.4 1.4-0.6 2.6-1.2 4-1.8 1.2-0.6 2.6-1.4 3.8-2.2 1.2-0.8 2.4-1.6 3.6-2.6 1.2-1 2.2-2 3.2-3s2-2.2 3-3.2c1-1.2 1.8-2.4 2.6-3.6 0.8-1.2 1.6-2.4 2.2-3.8 0.6-1.2 1.4-2.6 1.8-4 0.6-1.4 1-2.8 1.4-4.2 0.4-1.4 0.8-2.8 1-4.2 0.2-1.4 0.6-3 0.6-4.4 0.2-1.4 0.2-3 0.2-4.4V541.2c-0.4-115-91.8-210-205.8-210.8zM210.2 554l88-236.6c0.2-0.8 0.8-1.4 1.4-2 0.6-0.4 1.4-0.8 2.4-0.8 0.8 0 1.6 0.2 2.4 0.8 0.6 0.4 1.2 1.2 1.4 2l88 236.8c0.2 0.4 0.2 0.6 0.2 1v1c0 0.4-0.2 0.6-0.2 1-0.2 0.4-0.2 0.6-0.4 0.8-0.2 0.2-0.4 0.6-0.6 0.8-0.2 0.2-0.6 0.4-0.8 0.6-0.2 0.2-0.6 0.2-1 0.4-0.4 0-0.6 0.2-1 0.2h-176c-0.4 0-0.6 0-1-0.2-0.4 0-0.6-0.2-1-0.4-0.2-0.2-0.6-0.4-0.8-0.6-0.2-0.2-0.4-0.4-0.6-0.8-0.2-0.2-0.4-0.6-0.4-0.8-0.2-0.4-0.2-0.6-0.2-1v-1c0-0.4 0-0.8 0.2-1.2z m377 264L343.8 163.2c-0.8-2.2-1.8-4.2-2.8-6.2-1.2-2-2.4-3.8-3.8-5.6-1.4-1.8-3-3.4-4.6-5-1.6-1.6-3.4-3-5.2-4.2-1.8-1.2-3.8-2.4-5.8-3.4s-4.2-1.8-6.2-2.6c-2.2-0.6-4.4-1.2-6.6-1.6-2.2-0.4-4.4-0.6-6.8-0.6-2.2 0-4.6 0.2-6.8 0.6-2.2 0.4-4.4 0.8-6.6 1.6-2.2 0.6-4.2 1.6-6.2 2.6s-4 2.2-5.8 3.4c-1.8 1.2-3.6 2.8-5.2 4.2-1.6 1.6-3.2 3.2-4.6 5-1.4 1.8-2.6 3.6-3.8 5.6-1.2 2-2 4-2.8 6.2L16.6 818c-0.4 1.4-1 2.8-1.2 4.2-0.4 1.4-0.6 2.8-0.8 4.4-0.2 1.4-0.4 3-0.4 4.4v4.4c0 1.4 0.2 3 0.4 4.4 0.2 1.4 0.4 2.8 0.8 4.4l1.2 4.2c0.4 1.4 1 2.8 1.6 4 0.6 1.4 1.2 2.6 2 3.8l2.4 3.6c0.8 1.2 1.8 2.4 2.8 3.4 1 1 2 2.2 3 3.2s2.2 2 3.4 2.8c1.2 0.8 2.4 1.8 3.6 2.4 1.2 0.8 2.6 1.4 3.8 2.2 1.4 0.6 2.6 1.2 4 1.8 1.4 0.6 2.8 1 4.2 1.4 1.4 0.4 2.8 0.6 4.2 1 1.4 0.2 2.8 0.4 4.4 0.6 1.4 0 3 0.2 4.4 0 1.4 0 2.8-0.2 4.4-0.4 1.4-0.2 2.8-0.4 4.2-0.8l4.2-1.2c1.4-0.4 2.8-1 4-1.6 1.4-0.6 2.6-1.2 3.8-2l3.6-2.4c1.2-0.8 2.4-1.8 3.4-2.8 1-1 2.2-2 3.2-3s2-2.2 2.8-3.4c0.8-1.2 1.8-2.4 2.6-3.6 0.8-1.2 1.4-2.6 2.2-3.8 0.6-1.4 1.2-2.6 1.8-4L174 652.2c0.2-0.8 0.8-1.4 1.4-2 0.6-0.4 1.4-0.8 2.4-0.8h249c0.8 0 1.6 0.2 2.4 0.8 0.6 0.4 1.2 1.2 1.4 2l73.4 197.4c0.6 1.4 1.2 2.8 1.8 4 0.6 1.4 1.4 2.6 2.2 3.8 0.8 1.2 1.6 2.4 2.6 3.6 0.8 1.2 1.8 2.2 2.8 3.4 1 1 2 2 3.2 3s2.2 1.8 3.4 2.8l3.6 2.4c1.2 0.8 2.6 1.4 3.8 2 1.4 0.6 2.6 1.2 4 1.6l4.2 1.2c1.4 0.4 2.8 0.6 4.2 0.8 1.4 0.2 2.8 0.4 4.4 0.4h4.4c1.4 0 2.8-0.2 4.4-0.6s2.8-0.6 4.2-1c1.4-0.4 2.8-0.8 4.2-1.4 1.4-0.6 2.6-1 4-1.8 1.4-0.6 2.6-1.4 3.8-2.2l3.6-2.4c1.2-0.8 2.2-1.8 3.4-2.8 1-1 2-2 3-3.2 1-1 1.8-2.2 2.8-3.4l2.4-3.6c0.8-1.2 1.4-2.6 2-3.8 0.6-1.4 1.2-2.6 1.6-4l1.2-4.2c0.4-1.4 0.6-2.8 0.8-4.4 0.2-1.4 0.4-3 0.4-4.4v-4.4c0-1.4-0.2-3-0.4-4.4-0.2-1.4-0.6-2.8-0.8-4.4-1-1.4-1.4-2.8-2-4.2z\"\n fill={themeSvgIconColor} p-id=\"18326\">\n </path>\n </svg>\n )\n);\n\nTxtIcon.displayName = \"Txt\";\n\nexport default TxtIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst JavaIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4 26h24v2H4zM28 4H7a1 1 0 0 0-1 1v13a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-4h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 8h-4V6h4Z\"\n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"2\"\n />\n </svg>\n )\n);\n\nJavaIcon.displayName = \"Java\";\n\nexport default JavaIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SQLIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M477.12 858.56l14.72-16.64a77.44 77.44 0 0 0 54.08 24c25.6 0 40.96-12.8 40.96-32s-14.08-26.56-32-34.88l-28.48-12.16a52.16 52.16 0 0 1 22.08-101.76 79.36 79.36 0 0 1 57.28 24l-12.8 15.68a64 64 0 0 0-44.48-18.24c-22.08 0-36.48 11.2-36.48 28.8s16.96 25.92 32 32l28.16 12.16A54.08 54.08 0 0 1 611.84 832a58.88 58.88 0 0 1-66.24 55.36 93.76 93.76 0 0 1-68.48-28.8zM810.24 928a96 96 0 0 1-28.16 4.16 74.24 74.24 0 0 1-71.68-46.4c-42.56-4.8-70.4-42.56-70.4-99.84 0-62.4 34.56-100.48 83.52-100.48s83.2 38.08 83.2 100.48c0 56.32-27.52 93.44-68.8 100.8a50.24 50.24 0 0 0 47.68 25.92 68.8 68.8 0 0 0 20.8-2.88z m-87.68-61.44c34.88 0 57.92-32 57.92-81.6s-23.04-79.04-57.92-79.04-58.24 30.08-58.24 79.04 23.04 82.56 58.24 82.56zM848 688.96h24.64V864h85.44v21.12H848zM444.16 377.28c-192 0-387.2-52.8-387.2-153.92s194.56-154.24 387.2-154.24S832 121.92 832 224s-195.52 153.28-387.84 153.28z m0-244.16C234.88 133.12 120.96 192 120.96 224s113.92 89.92 323.2 89.92S768 253.76 768 224s-114.88-90.88-323.84-90.88z\"\n p-id=\"12089\" fill={themeSvgIconColor} >\n </path>\n <path\n d=\"M444.16 554.88c-192 0-387.2-52.8-387.2-154.24a32 32 0 0 1 64 0c0 32 113.92 90.24 323.2 90.24S768 431.36 768 400.64a32 32 0 1 1 64 0c0 101.44-195.52 154.24-387.84 154.24zM444.16 732.48c-192 0-387.2-53.12-387.2-154.24a32 32 0 0 1 64 0c0 32 113.92 90.24 323.2 90.24a32 32 0 1 1 0 64zM444.16 932.16c-192 0-387.2-52.8-387.2-153.92a32 32 0 0 1 64 0c0 30.4 113.92 89.92 323.2 89.92a32 32 0 0 1 0 64z\"\n p-id=\"12090\" fill={themeSvgIconColor} >\n </path>\n <path\n d=\"M800 699.2a32 32 0 0 1-32-32V234.24a32 32 0 0 1 64 0v432.96a32 32 0 0 1-32 32zM88.96 821.12a32 32 0 0 1-32-32V234.24a32 32 0 0 1 64 0v554.88a32 32 0 0 1-32 32z\"\n p-id=\"12091\" fill={themeSvgIconColor} >\n </path>\n </svg>\n )\n);\n\nSQLIcon.displayName = \"SQL\";\n\nexport default SQLIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst LogIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M568.896 910.208h-512V113.792h739.52V512h-56.832V170.688H113.792v682.624H512z\"\n fill={themeSvgIconColor} p-id=\"12257\">\n </path>\n <path\n d=\"M711.104 512c108.096 0 199.104 91.008 199.104 199.104 0 108.096-91.008 199.104-199.04 199.104C602.944 910.208 512 819.2 512 711.168 512 602.944 603.008 512 711.104 512m0-56.896c-142.208 0-256 113.792-256 256s113.792 256 256 256 256-113.792 256-256-113.792-256-256-256zM227.584 56.96h56.832v170.688h-56.832V56.896z m341.312 0h56.896v170.688h-56.96V56.896zM170.688 341.312h512v56.96h-512v-56.96z m0 170.688H455.04v56.896H170.688V512z m0 170.688h227.52v56.896H170.688v-56.96z\"\n fill={themeSvgIconColor} p-id=\"12258\">\n </path>\n <path d=\"M853.312 796.416h-170.624V568.96h56.896v170.688h113.728z\" fill={themeSvgIconColor} p-id=\"12259\">\n </path>\n </svg>\n )\n);\n\nLogIcon.displayName = \"Log\";\n\nexport default LogIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MACIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701\" \n fill='none' stroke={themeSvgIconColor} strokeWidth=\"2\"\n />\n </svg>\n )\n);\n\nMACIcon.displayName = \"MAC\";\n\nexport default MACIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst BitcoinIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M23.638 14.904c-1.602 6.43-8.113 10.34-14.542 8.736C2.67 22.05-1.244 15.525.362 9.105 1.962 2.67 8.475-1.243 14.9.358c6.43 1.605 10.342 8.115 8.738 14.548v-.002zm-6.35-4.613c.24-1.59-.974-2.45-2.64-3.03l.54-2.153-1.315-.33-.525 2.107c-.345-.087-.705-.167-1.064-.25l.526-2.127-1.32-.33-.54 2.165c-.285-.067-.565-.132-.84-.2l-1.815-.45-.35 1.407s.975.225.955.236c.535.136.63.486.615.766l-1.477 5.92c-.075.166-.24.406-.614.314.015.02-.96-.24-.96-.24l-.66 1.51 1.71.426.93.242-.54 2.19 1.32.327.54-2.17c.36.1.705.19 1.05.273l-.51 2.154 1.32.33.545-2.19c2.24.427 3.93.257 4.64-1.774.57-1.637-.03-2.58-1.217-3.196.854-.193 1.5-.76 1.68-1.93h.01zm-3.01 4.22c-.404 1.64-3.157.75-4.05.53l.72-2.9c.896.23 3.757.67 3.33 2.37zm.41-4.24c-.37 1.49-2.662.735-3.405.55l.654-2.64c.744.18 3.137.524 2.75 2.084v.006z\"\n fill='none' stroke={themeSvgIconColor} strokeWidth=\"1\" \n />\n </svg>\n )\n);\n\nBitcoinIcon.displayName = \"BTC\";\n\nexport default BitcoinIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst CSSIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref} \n role=\"img\" \n className={className} {...props}\n viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill={themeSvgIconColor}\n d=\"M23.5 12H8c.89-2.3 4.02-4 7.75-4s6.86 1.7 7.75 4M14 12h15.5c-.89 2.3-4.02 4-7.75 4s-6.86-1.7-7.75-4m3.5 8H2c.89-2.3 4.02-4 7.75-4s6.86 1.7 7.75 4M8 20h15.5c-.89 2.3-4.02 4-7.75 4S8.89 22.3 8 20\"\n />\n </svg>\n )\n);\n\nCSSIcon.displayName = \"CSS\";\n\nexport default CSSIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MermaidIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n // Memmaid need special size for good view\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path\n d=\"M23.99 2.115A12.223 12.223 0 0 0 12 10.149 12.223 12.223 0 0 0 .01 2.115a12.23 12.23 0 0 0 5.32 10.604 6.562 6.562 0 0 1 2.845 5.423v3.754h7.65v-3.754a6.561 6.561 0 0 1 2.844-5.423 12.223 12.223 0 0 0 5.32-10.604Z\"\n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"2\" \n />\n </svg>\n )\n);\n\nMermaidIcon.displayName = \"Mmd\";\n\nexport default MermaidIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst LastUpdatedIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M918.362566 956.685895 106.992291 956.685895c-14.145162 0-25.611308-11.466146-25.611308-25.611308L81.380984 191.053314c0-14.145162 11.467169-25.611308 25.611308-25.611308l811.370275 0c14.145162 0 25.611308 11.467169 25.611308 25.611308l0 740.02025C943.974897 945.219749 932.508751 956.685895 918.362566 956.685895zM132.603599 905.462257l760.146637 0L892.750235 216.665645 132.603599 216.665645 132.603599 905.462257zM915.696854 410.394904 109.450273 410.394904c-14.145162 0-25.611308-11.467169-25.611308-25.611308s11.467169-25.611308 25.611308-25.611308l806.246581 0c14.145162 0 25.611308 11.467169 25.611308 25.611308S929.842015 410.394904 915.696854 410.394904zM248.987283 313.735447c-14.145162 0-25.611308-11.467169-25.611308-25.611308L223.375975 91.962481c0-14.145162 11.467169-25.611308 25.611308-25.611308s25.611308 11.467169 25.611308 25.611308l0 196.160635C274.59859 302.269301 263.132444 313.735447 248.987283 313.735447zM786.915815 313.735447c-14.145162 0-25.611308-11.467169-25.611308-25.611308L761.304508 91.962481c0-14.145162 11.466146-25.611308 25.611308-25.611308s25.611308 11.467169 25.611308 25.611308l0 196.160635C812.527123 302.269301 801.060977 313.735447 786.915815 313.735447zM378.463146 832.067666c-4.732791 0-9.406231-1.641383-13.156648-4.787026-5.810333-4.874007-8.448416-12.56006-6.856152-19.97596l21.574365-100.484575c0.699941-3.261277 2.186805-6.30152 4.329609-8.856715l173.234483-206.507284c3.488451-4.158716 8.486278-6.760984 13.893428-7.234775 5.392824-0.473791 10.779507 1.219781 14.939247 4.709255l73.627904 61.765739c8.66024 7.264451 9.790994 20.173458 2.526543 28.832675L489.341443 786.03526c-2.143826 2.555196-4.880147 4.548596-7.969509 5.805216l-95.201246 38.71986C383.679961 831.573409 381.062344 832.067666 378.463146 832.067666zM418.978908 720.378911l-12.386098 57.68684 54.653761-22.228257 156.816558-186.93553-42.268686-35.458583L418.978908 720.378911zM483.354078 781.820262c-6.737448 0.001023-13.334703-3.322675-17.244756-9.414417l-23.737634-36.991496-40.554648-16.944927c-10.429537-4.358261-15.35164-16.34527-10.994402-26.774807 4.357238-10.42749 16.343223-15.350616 26.774807-10.993378l46.442752 19.404955c3.834328 1.601474 7.090489 4.333702 9.334599 7.830339l27.183106 42.361807c6.105045 9.513678 3.342118 22.174022-6.17156 28.278043C490.967476 780.771373 487.137241 781.820262 483.354078 781.820262zM601.041454 641.489166c-4.641717 0-9.307993-1.569752-13.143345-4.787026l-73.625858-61.765739c-8.659217-7.264451-9.78997-20.173458-2.52552-28.833699 7.263427-8.659217 20.171412-9.78997 28.833699-2.52552l73.625858 61.765739c8.659217 7.264451 9.78997 20.173458 2.52552 28.833699C612.683609 639.001509 606.882486 641.489166 601.041454 641.489166z\"\n fill={themeSvgIconColor} p-id=\"2501\">\n </path>\n </svg>\n )\n);\n\nLastUpdatedIcon.displayName = \"LastUpdated\";\n\nexport default LastUpdatedIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SnippetsIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.825 17.527a.111.111 0 0 1-.107-.142l3.05-10.837a.111.111 0 0 1 .108-.081H14.2c.074 0 .127.07.107.141l-3.063 10.838a.111.111 0 0 1-.107.08H9.825Zm-2.146-2.732a.11.11 0 0 1-.079-.033l-2.667-2.704a.111.111 0 0 1 0-.156L7.6 9.211a.111.111 0 0 1 .08-.033h1.702c.1 0 .149.12.079.19l-2.534 2.534a.111.111 0 0 0 0 .157l2.535 2.546c.07.07.02.19-.079.19H7.68Zm6.954 0a.111.111 0 0 1-.079-.19l2.525-2.546a.111.111 0 0 0 0-.157l-2.524-2.535a.111.111 0 0 1 .079-.19h1.692c.03 0 .058.013.078.034l2.68 2.69a.111.111 0 0 1 0 .157l-2.68 2.704a.111.111 0 0 1-.078.033h-1.693ZM12 24C5.383 24 0 18.617 0 12S5.383 0 12 0s12 5.383 12 12-5.383 12-12 12Zm0-22.667C6.118 1.333 1.333 6.118 1.333 12S6.118 22.667 12 22.667 22.667 17.882 22.667 12 17.882 1.333 12 1.333Z\"\n fill={themeSvgIconColor} \n />\n </svg>\n )\n);\n\nSnippetsIcon.displayName = \"Snippets\";\n\nexport default SnippetsIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst TestIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M640 126.577778c-140.8 0-256 115.2-256 256 0 65.422222 25.6 125.155556 65.422222 170.666666l-91.022222 91.022223-35.555556-35.555556-174.933333 176.355556c-25.6 25.6-25.6 68.266667 0 93.866666 25.6 25.6 68.266667 25.6 93.866667 0l176.355555-176.355555-38.4-38.4 91.022223-91.022222c45.511111 41.244444 105.244444 65.422222 170.666666 65.422222 140.8 0 256-115.2 256-256-1.422222-142.222222-116.622222-256-257.422222-256z m19.911111 462.222222c-41.244444 0-75.377778-34.133333-75.377778-75.377778v-4.266666c0-8.533333 5.688889-14.222222 14.222223-14.222223s14.222222 5.688889 14.222222 14.222223v4.266666c0 25.6 21.333333 46.933333 46.933333 46.933334 8.533333 0 14.222222 5.688889 14.222222 14.222222s-5.688889 14.222222-14.222222 14.222222zM817.777778 341.333333h-58.311111c-2.844444 12.8-7.111111 24.177778-14.222223 35.555556l41.244445 41.244444c5.688889 5.688889 5.688889 14.222222 0 19.911111-2.844444 2.844444-7.111111 4.266667-9.955556 4.266667-2.844444 0-7.111111-1.422222-9.955555-4.266667L725.333333 396.8c-14.222222 9.955556-31.288889 15.644444-49.777777 15.644444-18.488889 0-35.555556-5.688889-49.777778-15.644444l-41.244445 41.244444c-2.844444 2.844444-7.111111 4.266667-9.955555 4.266667-2.844444 0-7.111111-1.422222-9.955556-4.266667-5.688889-5.688889-5.688889-14.222222 0-19.911111l41.244445-41.244444c-7.111111-9.955556-12.8-22.755556-14.222223-35.555556h-58.311111c-8.533333 0-14.222222-5.688889-14.222222-14.222222s5.688889-14.222222 14.222222-14.222222h58.311111c2.844444-12.8 7.111111-24.177778 14.222223-35.555556l-41.244445-41.244444c-5.688889-5.688889-5.688889-14.222222 0-19.911111 5.688889-5.688889 14.222222-5.688889 19.911111 0l41.244445 41.244444c14.222222-9.955556 31.288889-15.644444 49.777778-15.644444 18.488889 0 35.555556 5.688889 49.777777 15.644444l41.244445-41.244444c5.688889-5.688889 14.222222-5.688889 19.911111 0 5.688889 5.688889 5.688889 14.222222 0 19.911111l-41.244445 41.244444c7.111111 9.955556 12.8 22.755556 14.222223 35.555556h58.311111c8.533333 0 14.222222 5.688889 14.222222 14.222222s-5.688889 14.222222-14.222222 14.222222z\"\n fill={themeSvgIconColor} p-id=\"7101\">\n </path>\n </svg>\n )\n);\n\nTestIcon.displayName = \"Test\";\n\nexport default TestIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst DiffIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path fill={themeSvgIconColor}\n d=\"M18 23H4c-1.1 0-2-.9-2-2V7h2v14h14zM14.5 7V5h-2v2h-2v2h2v2h2V9h2V7zm2 6h-6v2h6zM15 1H8c-1.1 0-1.99.9-1.99 2L6 17c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V7zm4 16H8V3h6.17L19 7.83z\" \n />\n </svg>\n )\n);\n\nDiffIcon.displayName = \"Diff\";\n\nexport default DiffIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst DPAIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M23.373 20.364a4.682 4.682 0 0 1-8.1 0 4.694 4.694 0 0 1 0-4.669c.326-.564.778-.995 1.272-1.358.472.198 3.394 1.421 3.917 1.717a2.291 2.291 0 0 0-3.109.842 2.304 2.304 0 0 0 0 2.267 2.267 2.267 0 0 0 2.564 1.053 2.254 2.254 0 0 0 1.375-1.053 2.328 2.328 0 0 0 0-2.279 2.478 2.478 0 0 0-.83-.83l-3.53-2.045-5.727-3.317a5.022 5.022 0 0 0 4.139-.36l6.32 3.641a4.682 4.682 0 0 1 1.709 6.391zm-14-2.01v.004l-3.558 2a2.27 2.27 0 0 1-3.102-.823 2.267 2.267 0 0 1 2.551-3.332c.591.161 1.089.56 1.375 1.102v-.05a2.27 2.27 0 0 1-.824 3.103c.559-.303 3.352-2.62 3.465-2.714-.304-1.744-1.573-3.24-3.396-3.72a4.608 4.608 0 0 0-3.558.479 4.67 4.67 0 0 0-1.694 6.383 4.682 4.682 0 0 0 2.865 2.192 4.657 4.657 0 0 0 3.66-.56l6.877-3.973c-.019-1.303.512-2.604 1.375-3.58l-6.036 3.49zm-2.4-4.703v-8.1h.012c.002-1.617.821-3.189 2.321-4.055a4.682 4.682 0 1 1 2.337 8.737 4.678 4.678 0 0 1-1.55-.28c-.016-.085-.733-3.796-.733-4.188L9.29 9.59v6.761a4.075 4.075 0 0 0-2.317-2.7zm2.403-8.1a2.279 2.279 0 1 0 4.546 0 2.23 2.23 0 0 0-.297-1.127 2.279 2.279 0 0 0-1.97-1.14 2.267 2.267 0 0 0-2.279 2.254v.013z\"\n fill={themeSvgIconColor} />\n </svg>\n )\n);\n\nDPAIcon.displayName = \"DPA\";\n\nexport default DPAIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SubPIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.999 0a12 12 0 100 24A12 12 0 0012 0zm1.183 5.255h.048c3.273 0 5.247 1.48 5.247 4.103 0 2.727-1.974 4.536-5.295 4.669v-1.742c1.837-.11 2.801-1.061 2.801-2.744 0-1.498-.957-2.442-2.8-2.516zm-1.773.026l.005 11.896c.779.052 1.583.18 2.26.337l-.269 1.324H6.788v-1.324a14.96 14.96 0 012.26-.337V6.993a14.71 14.71 0 01-2.26-.337V5.33h2.26c.64 0 1.469-.028 2.361-.05z\" \n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"1.5\" />\n </svg>\n )\n);\n\nSubPIcon.displayName = \"SubP\";\n\nexport default SubPIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst T3PIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.71 2.136a1.43 1.43 0 0 0-2.047 0h-.007a1.48 1.48 0 0 0-.421 1.042c0 .41.161.777.422 1.039l.007.007c.257.264.616.426 1.019.426.404 0 .766-.162 1.027-.426l.003-.007c.261-.262.421-.629.421-1.039 0-.408-.159-.777-.421-1.042H9.71zM8.683 22.295c.404 0 .766-.167 1.027-.429l.003-.008c.261-.261.421-.631.421-1.036 0-.41-.159-.778-.421-1.044H9.71a1.42 1.42 0 0 0-1.027-.432 1.4 1.4 0 0 0-1.02.432h-.007c-.26.266-.422.634-.422 1.044 0 .406.161.775.422 1.036l.007.008c.258.262.617.429 1.02.429zm7.89-4.462c.359-.096.683-.33.882-.684l.027-.052a1.47 1.47 0 0 0 .114-1.067 1.454 1.454 0 0 0-.675-.896l-.021-.014a1.425 1.425 0 0 0-1.078-.132c-.36.091-.684.335-.881.686-.2.349-.241.75-.146 1.119.099.363.33.691.675.896h.002c.346.203.737.239 1.101.144zm-6.405-7.342a2.083 2.083 0 0 0-1.485-.627c-.58 0-1.103.242-1.482.627-.378.385-.612.916-.612 1.507s.233 1.124.612 1.514a2.08 2.08 0 0 0 2.967 0c.379-.39.612-.923.612-1.514s-.233-1.122-.612-1.507zm-.835-2.51c.843.141 1.6.552 2.178 1.144h.004c.092.093.182.196.265.299l1.446-.851a3.176 3.176 0 0 1-.047-1.808 3.149 3.149 0 0 1 1.456-1.926l.025-.016a3.062 3.062 0 0 1 2.345-.306c.77.21 1.465.721 1.898 1.482v.002c.431.757.518 1.626.313 2.408a3.145 3.145 0 0 1-1.456 1.928l-.198.118h-.02a3.095 3.095 0 0 1-2.154.201 3.127 3.127 0 0 1-1.514-.944l-1.444.848a4.162 4.162 0 0 1 0 2.879l1.444.846c.413-.47.939-.789 1.514-.944a3.041 3.041 0 0 1 2.371.319l.048.023v.002a3.17 3.17 0 0 1 1.408 1.906 3.215 3.215 0 0 1-.313 2.405l-.026.053-.003-.005a3.147 3.147 0 0 1-1.867 1.436 3.096 3.096 0 0 1-2.371-.318v-.006a3.156 3.156 0 0 1-1.456-1.927 3.175 3.175 0 0 1 .047-1.805l-1.446-.848a3.905 3.905 0 0 1-.265.294l-.004.005a3.938 3.938 0 0 1-2.178 1.138v1.699a3.09 3.09 0 0 1 1.56.862l.002.004c.565.572.914 1.368.914 2.243 0 .873-.35 1.664-.914 2.239l-.002.009a3.1 3.1 0 0 1-2.21.931 3.1 3.1 0 0 1-2.206-.93h-.002v-.009a3.186 3.186 0 0 1-.916-2.239c0-.875.35-1.672.916-2.243v-.004h.002a3.1 3.1 0 0 1 1.558-.862v-1.699a3.926 3.926 0 0 1-2.176-1.138l-.006-.005a4.098 4.098 0 0 1-1.173-2.874c0-1.122.452-2.136 1.173-2.872h.006a3.947 3.947 0 0 1 2.176-1.144V6.289a3.137 3.137 0 0 1-1.558-.864h-.002v-.004a3.192 3.192 0 0 1-.916-2.243c0-.871.35-1.669.916-2.243l.002-.002A3.084 3.084 0 0 1 8.683 0c.861 0 1.641.355 2.21.932v.002h.002c.565.574.914 1.372.914 2.243 0 .876-.35 1.667-.914 2.243l-.002.005a3.142 3.142 0 0 1-1.56.864v1.692zm8.121-1.129l-.012-.019a1.452 1.452 0 0 0-.87-.668 1.43 1.43 0 0 0-1.103.146h.002c-.347.2-.58.529-.677.896-.095.365-.054.768.146 1.119l.007.009c.2.347.519.579.874.673.357.103.755.059 1.098-.144l.019-.009a1.47 1.47 0 0 0 .657-.885 1.493 1.493 0 0 0-.141-1.118\"\n fill={themeSvgIconColor} \n />\n </svg>\n )\n);\n\nT3PIcon.displayName = \"T3P\";\n\nexport default T3PIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst HttpIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M400.896 704.292571v194.889143a376.795429 376.795429 0 0 1-84.845714-12.8c-21.028571-34.486857-48.384-93.732571-65.682286-182.089143h150.528z m448 8.521143v38.070857H803.108571V885.028571h-41.984v-134.144h-89.929142V885.028571h-41.984v-134.144h-45.860572v-38.034285h265.508572z m-368.347429 0v63.561143h50.395429V712.777143h41.984V885.028571h-41.984v-70.582857H480.548571v70.582857h-41.947428V712.777143h41.947428z m433.188572 0c19.456 0 32.146286 0.841143 38.509714 2.633143 10.057143 2.742857 18.505143 8.740571 25.161143 17.810286 6.729143 9.069714 10.020571 20.662857 10.020571 34.596571 0 10.715429-1.901714 19.894857-5.741714 27.428572a49.115429 49.115429 0 0 1-33.024 26.404571c-7.899429 1.645714-19.017143 2.450286-33.462857 2.450286h-14.994286V885.028571h-41.947428V712.777143h55.478857z m-691.602286-8.521143c15.579429 79.798857 39.460571 135.606857 59.465143 171.154286a377.526857 377.526857 0 0 1-198.144-171.154286h138.678857z m693.248 35.84h-25.929143v56.576h22.491429c12.946286 0 21.686857-0.914286 26.697143-2.925714a26.038857 26.038857 0 0 0 12.214857-9.984 27.757714 27.757714 0 0 0 4.388571-15.506286 26.733714 26.733714 0 0 0-6.217143-18.029714 26.697143 26.697143 0 0 0-15.652571-8.923428 114.505143 114.505143 0 0 0-17.993143-1.170286z m-514.486857-203.410285v139.629714h-155.428571a957.586286 957.586286 0 0 1-11.702858-139.629714h167.131429z m-195.108571 0a955.977143 955.977143 0 0 0 11.776 139.629714H70.107429A372.626286 372.626286 0 0 1 36.571429 536.722286h169.216z m390.217142 0a957.696 957.696 0 0 1-11.702857 139.629714h-155.428571v-139.629714h167.131428z m193.170286 0a374.930286 374.930286 0 0 1-33.389714 139.629714H612.205714a956.342857 956.342857 0 0 0 11.776-139.629714h165.193143z m-32.548571-167.570286c19.346286 42.934857 30.902857 89.965714 32.841143 139.629714h-165.376c-0.694857-52.48-5.010286-98.742857-11.556572-139.629714h144.091429z m-355.730286 0v139.629714H233.581714c0.731429-52.516571 5.12-98.742857 11.629715-139.629714h155.684571z m-183.661714 0a965.412571 965.412571 0 0 0-11.593143 139.629714H36.790857c1.828571-49.627429 13.019429-96.768 32.256-139.629714H217.234286z m367.323428 0c6.546286 40.923429 10.898286 87.113143 11.629715 139.629714h-167.350858v-139.629714h155.721143z m-34.998857-197.595429c82.651429 32.109714 150.528 92.891429 193.060572 169.691429H607.817143c-15.286857-78.189714-38.509714-133.741714-58.258286-169.691429zM428.873143 146.285714c29.696 1.316571 58.514286 5.997714 86.125714 13.750857 20.955429 35.181714 47.908571 93.952 64.987429 181.174858h-151.149715V146.285714z m-27.977143 0.036572v194.925714H249.819429c17.115429-87.771429 44.324571-146.724571 65.316571-181.833143A376.758857 376.758857 0 0 1 400.896 146.285714z m-120.100571 24.064c-19.858286 35.949714-43.410286 91.794286-58.88 170.825143H83.053714a378.404571 378.404571 0 0 1 197.741715-170.788572z\"\n fill={themeSvgIconColor} p-id=\"1509\">\n </path>\n </svg>\n )\n);\n\nHttpIcon.displayName = \"Http\";\n\nexport default HttpIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SchemeIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill={themeSvgIconColor}\n d=\"M5.11 21.186 9.887 7.303 8.945 5.11H7.407V2.813h2.296c.483 0 .896.299 1.068.724l6.58 15.353h1.539v2.296h-2.297a1.14 1.14 0 0 1-1.068-.735L11.231 10.45 7.544 21.186z\"\n />\n </svg>\n )\n);\n\nSchemeIcon.displayName = \"Scheme\";\n\nexport default SchemeIcon;\n","// Import all built-in icon components\nimport GitHubIcon from './github';\nimport D8Icon from './d8';\nimport ClerkIcon from './clerk';\nimport ItermIcon from './iterm';\nimport MarkdownIcon from './markdown';\nimport MDXIcon from './mdx';\nimport HtmlIcon from './html';\nimport JsonIcon from './json';\nimport XMLIcon from './xml';\nimport YamlIcon from './yaml';\nimport CSVIcon from './csv';\nimport TxtIcon from './txt';\nimport JavaIcon from './java';\nimport SQLIcon from './sql';\nimport LogIcon from './log';\nimport MACIcon from './mac';\nimport BTCIcon from './bitcoin';\nimport CSSIcon from './css';\nimport MmdIcon from './mermaid';\nimport LastUpdatedIcon from './last-updated';\nimport SnippetsIcon from './snippets';\nimport TestIcon from './test';\nimport DiffIcon from './diff';\nimport DPAIcon from './dpa';\nimport SubPIcon from './subp';\nimport T3PIcon from './t3p';\nimport HttpIcon from './http';\nimport SchemeIcon from './scheme';\n\n// Built-in icon components mapped by display name - internal use only\nexport const BUILTIN_ICON_COMPONENTS = {\n GitHub: GitHubIcon,\n D8: D8Icon,\n Clerk: ClerkIcon,\n Iterm: ItermIcon,\n Markdown: MarkdownIcon,\n MDX: MDXIcon,\n Html: HtmlIcon,\n Json: JsonIcon,\n XML: XMLIcon,\n Yaml: YamlIcon,\n CSV: CSVIcon,\n Txt: TxtIcon,\n Java: JavaIcon,\n SQL: SQLIcon,\n Log: LogIcon,\n MAC: MACIcon,\n BTC: BTCIcon,\n CSS: CSSIcon,\n Mmd: MmdIcon,\n LastUpdated: LastUpdatedIcon,\n Snippets: SnippetsIcon,\n Test: TestIcon,\n Diff: DiffIcon,\n DPA: DPAIcon,\n SubP: SubPIcon,\n T3P: T3PIcon,\n Http: HttpIcon,\n Scheme: SchemeIcon,\n} as const;","/*\n * This file re-exports selected icons from 'lucide-react'.\n * This is the single place to manage which lucide-react icons are available globally.\n * Editing the list of exports here will automatically update their availability\n * in globalLucideIcons.\n */\nexport {\n AlbumIcon,\n AlignHorizontalJustifyEnd,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n Binary,\n Blocks,\n BookX,\n BringToFront,\n Building2,\n Bug,\n Car,\n Circle,\n CircleAlert,\n CircleSmall,\n Check,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Cpu,\n ComponentIcon,\n DatabaseZap,\n Dot,\n Download,\n Eye,\n ExternalLink,\n Facebook,\n FileLock2,\n Fingerprint,\n Gift,\n GitPullRequestArrow,\n Globe,\n GlobeLock,\n GripVertical,\n HandHeart,\n Handshake,\n Highlighter,\n HousePlus,\n Info,\n ImageDown,\n ImageOff,\n ImageUp,\n Keyboard,\n LandPlot,\n Layout,\n LayoutTemplate,\n LibraryIcon,\n Link,\n Loader2,\n LogIn,\n LogOut,\n MoreHorizontal,\n MousePointerClick,\n PanelLeft,\n PanelsTopLeft,\n Pencil,\n Pi,\n Palette,\n ReceiptText,\n Regex,\n Replace,\n Rss,\n Scale,\n Search,\n Share,\n ShieldUser,\n SquareDashedBottomCode,\n SquareTerminal,\n Server,\n SplinePointer,\n Sparkles,\n Star,\n Tablets,\n Terminal,\n Twitter,\n X,\n Zap\n} from 'lucide-react'; ","/* \n * For the icon used in the project, unified management is required\n * 1. Strictly control the number of icons introduced to reduce the project package size and use them as needed\n * 2. Unify the style customization, and keep the icon style consistent within the project\n * 3. Mainly support the introduction of icons in mdx files, and report errors in advance\n*/\n\nimport { BUILTIN_ICON_COMPONENTS } from '@base-ui/assets';\nimport { themeIconColor, themeSvgIconSize } from '@base-ui/lib/theme-util';\n\nimport * as limitedIconsModule from '@lib/limited-lucide-icons';\nimport { type LucideProps } from 'lucide-react';\nimport React from 'react';\n\n\n// Type for styled Lucide icon components (accepts LucideProps)\ntype StyledLucideIconComponent = (props: LucideProps) => React.ReactElement;\n\n// Union type for all icon components (both Lucide and built-in)\ntype IconComponent = StyledLucideIconComponent | React.ComponentType<LucideProps>;\n\n// Style Lucide icons with global color\nconst tempStyledLimitedIcons: Partial<Record<keyof typeof limitedIconsModule, StyledLucideIconComponent>> = {};\n\nfor (const iconNameKey in limitedIconsModule) {\n if (Object.prototype.hasOwnProperty.call(limitedIconsModule, iconNameKey)) {\n const iconName = iconNameKey as keyof typeof limitedIconsModule;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const OriginalIconComponent = limitedIconsModule[iconName] as any; \n\n if (typeof OriginalIconComponent === 'function' || \n (typeof OriginalIconComponent === 'object' && \n OriginalIconComponent !== null && \n OriginalIconComponent.$$typeof === Symbol.for('react.forward_ref'))) {\n const ComponentToRender = OriginalIconComponent as React.ComponentType<LucideProps>;\n \n const StyledIcon = (props: LucideProps): React.ReactElement => {\n const originalClassName = props.className || '';\n // Check if user provided a text color class, if so, don't use global color\n const hasTextColor = /\\btext-\\w+(-\\d+)?\\b/.test(originalClassName);\n // Check if user provided size/dimension classes\n const hasSizeClass = /\\b(size-\\d+|w-\\d+|h-\\d+)\\b/.test(originalClassName);\n \n const newClassName = hasTextColor \n ? originalClassName \n : `${themeIconColor} ${originalClassName}`.trim();\n \n // If user provided size classes in className, don't use default size\n // Otherwise, use inline styles to ensure size precedence over external CSS\n const finalProps = hasSizeClass \n ? { ...props, className: newClassName, size: undefined }\n : { \n ...props, \n className: newClassName,\n style: { \n width: props.size || themeSvgIconSize, \n height: props.size || themeSvgIconSize,\n ...props.style \n }\n };\n \n return <ComponentToRender {...finalProps} />;\n };\n StyledIcon.displayName = `Styled(${iconName})`;\n tempStyledLimitedIcons[iconName] = StyledIcon;\n } else {\n console.warn(`[global-icon.tsx] Skipped styling for \"${iconName}\" as it is not a function, undefined, or not a recognized React component type. Value:`, OriginalIconComponent);\n }\n }\n}\n\nconst styledLimitedIconsPart = tempStyledLimitedIcons as {\n [K in keyof typeof limitedIconsModule]: StyledLucideIconComponent;\n};\n\n// Wrap built-in SVG components with the same className handling logic\nconst tempWrappedBuiltinIcons: Partial<Record<keyof typeof BUILTIN_ICON_COMPONENTS, StyledLucideIconComponent>> = {};\nfor (const [iconName, IconComponent] of Object.entries(BUILTIN_ICON_COMPONENTS)) {\n const WrappedIcon = (props: LucideProps): React.ReactElement => {\n const originalClassName = props.className || '';\n // Check if user provided a text color class, if so, don't use global color\n const hasTextColor = /\\btext-\\w+(-\\d+)?\\b/.test(originalClassName);\n // Check if user provided size/dimension classes\n const hasSizeClass = /\\b(size-\\d+|w-\\d+|h-\\d+)\\b/.test(originalClassName);\n \n const newClassName = hasTextColor \n ? originalClassName \n : `${themeIconColor} ${originalClassName}`.trim();\n \n // If user provided size classes in className, don't use default size\n // Otherwise, use inline styles to ensure size precedence over external CSS\n const finalProps = hasSizeClass \n ? { ...props, className: newClassName, size: undefined }\n : { \n ...props, \n className: newClassName,\n style: { \n width: props.size || themeSvgIconSize, \n height: props.size || themeSvgIconSize,\n ...props.style \n }\n };\n \n return <IconComponent {...finalProps} />;\n };\n WrappedIcon.displayName = `Wrapped(${iconName})`;\n tempWrappedBuiltinIcons[iconName as keyof typeof BUILTIN_ICON_COMPONENTS] = WrappedIcon;\n}\n\nconst wrappedBuiltinIconsPart = tempWrappedBuiltinIcons as {\n [K in keyof typeof BUILTIN_ICON_COMPONENTS]: StyledLucideIconComponent;\n};\n\n// All icons should be imported from here, and icons will occupy the project package size, so it is best to design and plan in advance\nexport const globalLucideIcons = {\n ...styledLimitedIconsPart,\n ...wrappedBuiltinIconsPart, // Spread all wrapped built-in icon components\n};\n\n// Default fallback icon - centralized configuration\n// Use a safe fallback that we know exists in both Lucide and custom icons\nconst DEFAULT_FALLBACK_ICON = 'BTC' as keyof typeof globalLucideIcons;\n\n/**\n * use iconKey to load icon safely\n * @param iconKey translation or configuration\n * @param createElement whether to return a React element instead of component\n */\nexport function getGlobalIcon(\n iconKey: string | undefined\n): IconComponent;\nexport function getGlobalIcon(\n iconKey: string | undefined,\n createElement: true\n): React.ReactElement | undefined;\nexport function getGlobalIcon(\n iconKey: string | undefined,\n createElement?: boolean\n): IconComponent | React.ReactElement | undefined {\n // Handle undefined iconKey case (for getIconElement compatibility)\n if (!iconKey) {\n if (createElement) {\n return undefined;\n }\n return globalLucideIcons[DEFAULT_FALLBACK_ICON] as IconComponent;\n }\n \n const Icon = globalLucideIcons[iconKey as keyof typeof globalLucideIcons];\n if (!Icon) {\n if (process.env.NODE_ENV !== 'production') {\n // only show in dev|test\n // eslint-disable-next-line no-console\n console.warn(\n `[global-icon] iconKey \"${iconKey}\" is not defined in globalIcons, will use default \"${String(DEFAULT_FALLBACK_ICON)}\" icon, please check!`\n );\n }\n const FallbackIcon = globalLucideIcons[DEFAULT_FALLBACK_ICON];\n if (createElement) {\n return React.createElement(FallbackIcon as React.ComponentType<any>);\n }\n return FallbackIcon as IconComponent;\n }\n \n if (createElement) {\n return React.createElement(Icon as React.ComponentType<any>);\n }\n return Icon as IconComponent;\n}\n\n/**\n * Get icon element (for fumadocs source compatibility)\n * This is a wrapper around getGlobalIcon for backwards compatibility\n * @param icon icon key from frontmatter\n */\nexport function getIconElement(\n icon: string | undefined, \n): React.ReactElement | undefined {\n // Note: defaultIconKey parameter is kept for backwards compatibility but ignored\n // The function now uses the centralized DEFAULT_FALLBACK_ICON\n return getGlobalIcon(icon, true);\n}\n\n// Define the default site icon as a functional component (for export)\nexport const DefaultSiteIcon = () => (\n <globalLucideIcons.Zap className={`h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}`} />\n);\n\n// Note: SiteIcon is available from @base-ui/lib/site-icon as a separate client component\n\n// Define 404 not found icon as a functional component (fixed, no configuration)\nexport const NotFoundIcon = () => (\n <globalLucideIcons.SquareTerminal className={`h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}`} />\n); ","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\nimport { format, isValid } from 'date-fns';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function formatTimestamp(timestamp: string, formatter: string) {\n const fail = \"\";\n if (!timestamp) {\n return fail;\n }\n\n // Assume gitTimestamp is a millisecond timestamp string\n const timestampMs = parseInt(timestamp, 10);\n if (isNaN(timestampMs)) {\n return fail;\n }\n\n const date = new Date(timestampMs); // or if it is determined to be seconds, use fromUnixTime(timestampSeconds)\n\n // Check if the date is valid\n if (!isValid(date)) {\n return fail;\n }\n\n // Format the date\n try {\n // 'yyyy-MM-dd HH:mm:ss' is the date-fns formatting pattern\n return format(date, formatter);\n } catch (error) {\n // format may also throw an error due to an invalid date (although isValid should have already caught it)\n console.error(\"Error formatting date:\", error);\n return fail;\n }\n} ","\"use client\"\n\nimport * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport { cn } from \"@lib/utils\"\nimport { buttonVariants } from \"@base-ui/ui/button\"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\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 ref={ref}\n />\n))\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg 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 {...props}\n />\n </AlertDialogPortal>\n))\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nconst AlertDialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nAlertDialogHeader.displayName = \"AlertDialogHeader\"\n\nconst AlertDialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nAlertDialogFooter.displayName = \"AlertDialogFooter\"\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n))\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n))\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({ variant: \"outline\" }),\n \"mt-2 sm:mt-0\",\n className\n )}\n {...props}\n />\n))\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport { cn } from \"@lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n loading?: boolean\n align?: 'left' | 'center' | 'right'\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, loading = false, children, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n \n if (asChild) {\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={loading || props.disabled}\n {...props}\n >\n {children}\n </Comp>\n )\n }\n\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={loading || props.disabled}\n {...props}\n >\n {children}\n {loading && <icons.Loader2 className=\"ml-2 h-4 w-4 animate-spin\" />}\n </Comp>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }\n","\"use client\"\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nconst AspectRatio = AspectRatioPrimitive.Root\n\nexport { AspectRatio }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> { }\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<\"nav\"> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = \"Breadcrumb\"\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<\"ol\">\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = \"BreadcrumbList\"\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<\"a\"> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\n {...props}\n >\n {children ?? <icons.ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <icons.MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport { DayPicker } from \"react-day-picker\"\n\nimport { cn } from \"@lib/utils\"\nimport { buttonVariants } from \"@base-ui/ui/button\"\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\n month: \"space-y-4\",\n caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-sm font-medium\",\n nav: \"space-x-1 flex items-center\",\n nav_button: cn(\n buttonVariants({ variant: \"outline\" }),\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-y-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: \"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20\",\n day: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100\"\n ),\n day_range_end: \"day-range-end\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ..._props }) => <icons.ChevronLeft className=\"h-4 w-4\" />,\n IconRight: ({ ..._props }) => <icons.ChevronRight className=\"h-4 w-4\" />,\n }}\n {...props}\n />\n )\n}\nCalendar.displayName = \"Calendar\"\n\nexport { Calendar }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-xs\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\nimport { Button } from \"@base-ui/ui/button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = \"Carousel\"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = \"CarouselContent\"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = \"CarouselItem\"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <icons.ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = \"CarouselPrevious\"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <icons.ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = \"CarouselNext\"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([_, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item.dataKey || item.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <icons.Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n","\"use client\"\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\nimport { Dialog, DialogContent } from \"@base-ui/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <icons.Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\" \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>(({ className, children, ...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 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 {...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 <icons.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 = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\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(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\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\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ContextMenu = ContextMenuPrimitive.Root\n\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger\n\nconst ContextMenuGroup = ContextMenuPrimitive.Group\n\nconst ContextMenuPortal = ContextMenuPrimitive.Portal\n\nconst ContextMenuSub = ContextMenuPrimitive.Sub\n\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup\n\nconst ContextMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <ContextMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronRight className=\"ml-auto h-4 w-4\" />\n </ContextMenuPrimitive.SubTrigger>\n))\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName\n\nconst ContextMenuSubContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.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-md 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))\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName\n\nconst ContextMenuContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\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-md animate-in fade-in-80 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 </ContextMenuPrimitive.Portal>\n))\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName\n\nconst ContextMenuItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <ContextMenuPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <ContextMenuPrimitive.ItemIndicator>\n <icons.Check className=\"h-4 w-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n))\nContextMenuCheckboxItem.displayName =\n ContextMenuPrimitive.CheckboxItem.displayName\n\nconst ContextMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <ContextMenuPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <ContextMenuPrimitive.ItemIndicator>\n <icons.Circle className=\"h-2 w-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n))\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName\n\nconst ContextMenuLabel = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold text-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName\n\nconst ContextMenuSeparator = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n))\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName\n\nconst ContextMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nContextMenuShortcut.displayName = \"ContextMenuShortcut\"\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Drawer as DrawerPrimitive } from \"vaul\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = \"Drawer\"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = \"DrawerContent\"\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = \"DrawerHeader\"\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = \"DrawerFooter\"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\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-hidden focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n 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 =\n 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 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-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_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-hidden transition-colors focus:bg-accent focus:text-accent-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 <icons.Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n 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-hidden transition-colors focus:bg-accent focus:text-accent-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 <icons.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(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\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\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\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","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from \"react-hook-form\"\n\nimport { cn } from \"@lib/utils\"\nimport { Label } from \"@base-ui/ui/label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-sm font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@lib/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"flex items-center gap-2 has-disabled:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n))\nInputOTP.displayName = \"InputOTP\"\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex items-center\", className)} {...props} />\n))\nInputOTPGroup.displayName = \"InputOTPGroup\"\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md\",\n isActive && \"z-10 ring-2 ring-ring ring-offset-background\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n )\n})\nInputOTPSlot.displayName = \"InputOTPSlot\"\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <icons.Dot />\n </div>\n))\nInputOTPSeparator.displayName = \"InputOTPSeparator\"\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","/**\n * @license\n * MIT License\n * Copyright (c) 2025 D8ger\n * \n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from \"react\"\nimport { cn } from \"@lib/utils\"\n\nexport interface LanguageButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: \"default\" | \"ghost\"\n size?: \"default\" | \"sm\" | \"lg\" | \"icon\"\n}\n\nconst LanguageButton = React.forwardRef<HTMLButtonElement, LanguageButtonProps>(\n ({ className, variant = \"default\", size = \"default\", ...props }, ref) => {\n return (\n <button\n className={cn(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background\",\n {\n \"bg-primary text-primary-foreground hover:bg-primary/90\": variant === \"default\",\n \"hover:bg-accent hover:text-accent-foreground\": variant === \"ghost\",\n \"h-10 px-4 py-2\": size === \"default\",\n \"h-9 px-3\": size === \"sm\",\n \"h-11 px-8\": size === \"lg\",\n \"h-10 w-10\": size === \"icon\",\n },\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nLanguageButton.displayName = \"Button\"\n\nexport { LanguageButton }","\"use client\"\n\nimport * as React from \"react\"\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst MenubarMenu = MenubarPrimitive.Menu as typeof MenubarPrimitive.Menu\n\nconst MenubarGroup = MenubarPrimitive.Group as typeof MenubarPrimitive.Group\n\nconst MenubarPortal = MenubarPrimitive.Portal as typeof MenubarPrimitive.Portal\n\nconst MenubarSub = MenubarPrimitive.Sub as typeof MenubarPrimitive.Sub\n\nconst MenubarRadioGroup = MenubarPrimitive.RadioGroup as typeof MenubarPrimitive.RadioGroup\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n \"flex h-10 items-center space-x-1 rounded-md border bg-background p-1\",\n className\n )}\n {...props}\n />\n))\nMenubar.displayName = MenubarPrimitive.Root.displayName\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className\n )}\n {...props}\n />\n))\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronRight className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n))\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.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 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))\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n { className, align = \"start\", alignOffset = -4, sideOffset = 8, ...props },\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in 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 </MenubarPrimitive.Portal>\n )\n)\nMenubarContent.displayName = MenubarPrimitive.Content.displayName\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarItem.displayName = MenubarPrimitive.Item.displayName\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <MenubarPrimitive.ItemIndicator>\n <icons.Check className=\"h-4 w-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n))\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <MenubarPrimitive.ItemIndicator>\n <icons.Circle className=\"h-2 w-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n))\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName\n\nconst MenubarShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nMenubarShortcut.displayName = \"MenubarShortcut\"\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n}\n","import * as React from \"react\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { cva } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1\",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-active:bg-accent/50 data-[state=open]:bg-accent/50\"\n)\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <icons.ChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n}\n","import * as React from \"react\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\nimport { ButtonProps, buttonVariants } from \"@base-ui/ui/button\"\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n)\nPagination.displayName = \"Pagination\"\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n))\nPaginationContent.displayName = \"PaginationContent\"\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn(\"\", className)} {...props} />\n))\nPaginationItem.displayName = \"PaginationItem\"\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"a\">\n\nconst PaginationLink = ({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) => (\n <a\n aria-current={isActive ? \"page\" : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className\n )}\n {...props}\n />\n)\nPaginationLink.displayName = \"PaginationLink\"\n\nconst PaginationPrevious = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 pl-2.5\", className)}\n {...props}\n >\n <icons.ChevronLeft className=\"h-4 w-4\" />\n <span>Previous</span>\n </PaginationLink>\n)\nPaginationPrevious.displayName = \"PaginationPrevious\"\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 pr-2.5\", className)}\n {...props}\n >\n <span>Next</span>\n <icons.ChevronRight className=\"h-4 w-4\" />\n </PaginationLink>\n)\nPaginationNext.displayName = \"PaginationNext\"\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n aria-hidden\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <icons.MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n)\nPaginationEllipsis.displayName = \"PaginationEllipsis\"\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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 </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <icons.Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem }\n","\"use client\"\n\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport * as ResizablePrimitive from \"react-resizable-panels\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ResizablePanelGroup = ({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => (\n <ResizablePrimitive.PanelGroup\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n)\n\nconst ResizablePanel = ResizablePrimitive.Panel\n\nconst ResizableHandle = ({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean\n}) => (\n <ResizablePrimitive.PanelResizeHandle\n className={cn(\n \"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n <icons.GripVertical className=\"h-2.5 w-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n)\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n))\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport { ScrollArea, ScrollBar }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <icons.ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <icons.ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <icons.ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-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 <SelectPrimitive.ItemIndicator>\n <icons.Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\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 ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> { }\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = \"right\", className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.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-secondary\">\n <icons.X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = \"SheetHeader\"\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = \"SheetFooter\"\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { VariantProps, cva } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { useIsMobile } from \"@base-ui/ui/use-mobile\"\nimport { cn } from \"@lib/utils\"\nimport { Button } from \"@base-ui/ui/button\"\nimport { Input } from \"@base-ui/ui/input\"\nimport { Separator } from \"@base-ui/ui/separator\"\nimport { Sheet, SheetContent } from \"@base-ui/ui/sheet\"\nimport { Skeleton } from \"@base-ui/ui/skeleton\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@base-ui/ui/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>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\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\n ? setOpenMobile((open) => !open)\n : 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 (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\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-full has-data-[variant=inset]:bg-sidebar\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\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>(\n (\n {\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\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 <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\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 md:block text-sidebar-foreground\"\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 \"duration-200 relative h-svh w-(--sidebar-width) bg-transparent transition-[width] 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)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n />\n <div\n className={cn(\n \"duration-200 fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] 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)+(--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-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n }\n)\nSidebar.displayName = \"Sidebar\"\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n 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=\"ghost\"\n size=\"icon\"\n className={cn(\"h-7 w-7\", className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <icons.PanelLeft />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n})\nSidebarTrigger.displayName = \"SidebarTrigger\"\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n 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 \"in-data-[side=left]:cursor-w-resize in-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 hover:group-data-[collapsible=offcanvas]: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})\nSidebarRail.displayName = \"SidebarRail\"\n\nconst SidebarInset = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"main\">\n>(({ 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-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInset.displayName = \"SidebarInset\"\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<typeof Input>,\n 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})\nSidebarInput.displayName = \"SidebarInput\"\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarHeader.displayName = \"SidebarHeader\"\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarFooter.displayName = \"SidebarFooter\"\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n 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})\nSidebarSeparator.displayName = \"SidebarSeparator\"\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ 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<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ 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<\n HTMLDivElement,\n 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 \"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-hidden ring-sidebar-ring transition-[margin,opa] 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})\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\"\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n 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-hidden 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 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupAction.displayName = \"SidebarGroupAction\"\n\nconst SidebarGroupContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n))\nSidebarGroupContent.displayName = \"SidebarGroupContent\"\n\nconst SidebarMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n))\nSidebarMenu.displayName = \"SidebarMenu\"\n\nconst SidebarMenuItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\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-hidden 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>(\n (\n {\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\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\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\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-hidden 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 md:after: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<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n \"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none\",\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))\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(\"rounded-md h-8 flex gap-2 px-2 items-center\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 flex-1 max-w-(--skeleton-width)\"\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<\n HTMLUListElement,\n 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))\nSidebarMenuSub.displayName = \"SidebarMenuSub\"\n\nconst SidebarMenuSubItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ ...props }, ref) => <li ref={ref} {...props} />)\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-hidden 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","import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n","import { cn } from \"@lib/utils\"\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport { Slider }\n","\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as Sonner } from \"sonner\"\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme()\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n },\n }}\n {...props}\n />\n )\n}\n\nexport { Toaster }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport { Switch }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n))\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n))\nTableBody.displayName = \"TableBody\"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium last:[&>tr]:border-b-0\",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = \"TableFooter\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0\",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className)}\n {...props}\n />\n))\nTableCell.displayName = \"TableCell\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n})\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-100 flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 hover:group-[.destructive]:border-destructive/30 hover:group-[.destructive]:bg-destructive hover:group-[.destructive]:text-destructive-foreground focus:group-[.destructive]:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-hidden focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 hover:group-[.destructive]:text-red-50 focus:group-[.destructive]:ring-red-400 focus:group-[.destructive]:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n {...props}\n >\n <icons.X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n}\n","\"use client\"\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\"\n\nimport type {\n ToastActionElement,\n ToastProps,\n} from \"@base-ui/ui/toast\"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst ACTIONS = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const\n\n// 删除未使用的 ActionType 类型定义\ntype Action =\n | {\n type: typeof ACTIONS.ADD_TOAST\n toast: ToasterToast\n }\n | {\n type: typeof ACTIONS.UPDATE_TOAST\n toast: Partial<ToasterToast>\n }\n | {\n type: typeof ACTIONS.DISMISS_TOAST\n toastId?: ToasterToast[\"id\"]\n }\n | {\n type: typeof ACTIONS.REMOVE_TOAST\n toastId?: ToasterToast[\"id\"]\n }\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: ACTIONS.REMOVE_TOAST,\n toastId: toastId,\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t\n ),\n }\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n })\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id })\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n },\n },\n })\n\n return {\n id: id,\n dismiss,\n update,\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n }\n}\n\nexport { useToast, toast }\n","\"use client\"\n\nimport { useToast } from \"@base-ui/ui/use-toast\"\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from \"@base-ui/ui/toast\"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && (\n <ToastDescription>{description}</ToastDescription>\n )}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\"\nimport { type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\nimport { toggleVariants } from \"@base-ui/ui/toggle\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: \"default\",\n variant: \"default\",\n})\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn(\"flex items-center justify-center gap-1\", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n))\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName\n\nexport { ToggleGroup, ToggleGroupItem }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-10 px-3 min-w-10\",\n sm: \"h-9 px-2.5 min-w-9\",\n lg: \"h-11 px-5 min-w-11\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof TogglePrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, ...props }, ref) => (\n <TogglePrimitive.Root\n ref={ref}\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n))\n\nToggle.displayName = TogglePrimitive.Root.displayName\n\nexport { Toggle, toggleVariants }\n","'use client';\n\nimport { createContext, useContext, type ComponentType, type ReactNode } from 'react';\n\nexport interface IconConfig {\n siteIcon?: ComponentType | string;\n}\n\n// icon config context, directly store the config value\nconst IconConfigContext = createContext<IconConfig | null>(null);\n\ninterface IconConfigProviderProps {\n config: IconConfig;\n children: ReactNode;\n}\n\n/**\n * IconConfigProvider - icon config provider based on React Context\n * directly store the config value, without depending on module state\n */\nexport function IconConfigProvider({ config, children }: IconConfigProviderProps) {\n return (\n <IconConfigContext.Provider value={config}>\n {children}\n </IconConfigContext.Provider>\n );\n}\n\n/**\n * internal hook: get icon config\n * not exposed, only used by base-ui internal components\n */\nfunction useIconConfig(): IconConfig {\n const config = useContext(IconConfigContext);\n \n if (config === null) {\n throw new Error(\n '[SiteIcon] IconConfigProvider not found. Please wrap your app with <IconConfigProvider config={{ siteIcon: \"YourIcon\" }}>.'\n );\n }\n \n return config;\n}\n\n/**\n * internal hook: safe get specific icon config\n * not exposed, only used by base-ui internal components\n */\nexport function useIconConfigSafe(iconKey: keyof IconConfig): ComponentType | string | undefined {\n try {\n const config = useIconConfig();\n return config[iconKey];\n } catch {\n // if there is no provider, return undefined, let the caller handle it\n return undefined;\n }\n} ","'use client';\n\nimport { type LucideProps } from 'lucide-react';\nimport { cn } from '@lib/utils';\nimport { useIconConfigSafe } from '@base-ui/lib/icon-context';\nimport { globalLucideIcons } from '@base-ui/components/global-icon';\nimport { themeIconColor } from '@base-ui/lib/theme-util';\n\n/**\n * site icon component - client component\n * based on React Context to get the config, solve the problem of cross-package module instance isolation\n */\nexport function SiteIcon({ \n size = 24, \n className,\n ...props \n}: Omit<LucideProps, 'children'>) {\n const configuredIcon = useIconConfigSafe('siteIcon');\n \n if (configuredIcon === undefined) {\n throw new Error(\n '[SiteIcon] Site icon is not configured. Please use <IconConfigProvider config={{ siteIcon: YourCustomIcon }}> or <IconConfigProvider config={{ siteIcon: \"IconKeyName\" }}> to set a custom site icon to avoid legal risks.'\n );\n }\n\n // render the icon, pass in the config value and attributes\n if (typeof configuredIcon === 'string') {\n // string type: the key name of globalLucideIcons\n if (configuredIcon === '') {\n // empty string use default icon\n const DefaultIcon = globalLucideIcons['Download' as keyof typeof globalLucideIcons];\n return <DefaultIcon size={size} className={cn(themeIconColor, className)} {...props} />;\n }\n const IconComponent = globalLucideIcons[configuredIcon as keyof typeof globalLucideIcons];\n if (!IconComponent) {\n throw new Error(`[SiteIcon] Icon key \"${configuredIcon}\" not found in globalLucideIcons.`);\n }\n return <IconComponent size={size} className={cn(themeIconColor, className)} {...props} />;\n } else {\n // React component type: custom icon component\n const CustomIcon = configuredIcon as React.ComponentType<LucideProps>;\n const hasColorClass = className && /text-\\w+/.test(className);\n const finalClassName = hasColorClass ? className : cn(themeIconColor, className);\n return <CustomIcon size={size} className={finalClassName} {...props} />;\n }\n} ","\"use client\";\n\nimport { NotFoundIcon } from \"@base-ui/components/global-icon\";\nimport { SiteIcon } from \"@base-ui/lib/site-icon\";\nimport { useEffect, useState } from \"react\";\n\nexport function NotFoundPage() {\n const [glitchText, setGlitchText] = useState(\"404\");\n\n // glitch effect\n useEffect(() => {\n const glitchChars = [\"4\", \"0\", \"4\", \"?\", \"#\", \"!\", \"*\", \"&\", \"%\", \"$\"];\n\n const interval = setInterval(() => {\n // 80% probability to display \"404\", 20% probability to display random characters\n if (Math.random() < 0.5) {\n setGlitchText(\"404\");\n } else {\n const randomChars = Array.from(\n { length: 3 },\n () => glitchChars[Math.floor(Math.random() * glitchChars.length)]\n ).join(\"\");\n setGlitchText(randomChars);\n }\n }, 600); // every 1.5 seconds\n\n return () => clearInterval(interval);\n }, []);\n\n return (\n <div className=\"flex flex-col items-center justify-center min-h-[75vh] w-full px-4 py-8\">\n {/* main content area */}\n <div className=\"text-center space-y-8 max-w-2xl\">\n {/* 404 number - glitch effect */}\n <div className=\"relative flex justify-center\">\n <h1\n className=\"text-8xl md:text-9xl font-bold bg-gradient-to-r from-purple-600 via-pink-500 to-purple-700 bg-clip-text text-transparent select-none\"\n style={{\n fontFamily: \"Montserrat, monospace\",\n textShadow: \"0 0 30px rgba(172, 98, 253, 0.3)\",\n letterSpacing: \"0.1em\",\n }}\n >\n {glitchText}\n </h1>\n {/* scan line effect */}\n <div className=\"absolute inset-0 pointer-events-none\">\n <div className=\"h-full w-full bg-gradient-to-b from-transparent via-purple-500/10 to-transparent animate-pulse\" />\n </div>\n </div>\n\n {/* error message */}\n <div className=\"space-y-4\">\n <h2 className=\"text-2xl md:text-3xl font-semibold text-foreground\">\n Page Not Found\n </h2>\n <p className=\"text-lg text-muted-foreground max-w-md mx-auto leading-relaxed\">\n The page you're looking for doesn't exist\n </p>\n </div>\n\n {/* decorative elements */}\n <div className=\"flex justify-center items-center gap-8 pt-8 opacity-60\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <SiteIcon />\n <span>Woops!</span>\n </div>\n <div className=\"w-1 h-1 bg-purple-500 rounded-full animate-ping\" />\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <NotFoundIcon />\n <span>Error Code: 404</span>\n </div>\n </div>\n </div>\n\n {/* background decoration */}\n <div className=\"fixed inset-0 pointer-events-none overflow-hidden -z-10\">\n {/* grid background */}\n <div\n className=\"absolute inset-0 opacity-[0.02] dark:opacity-[0.05]\"\n style={{\n backgroundImage: `\n linear-gradient(rgba(172, 98, 253, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(172, 98, 253, 0.1) 1px, transparent 1px)\n `,\n backgroundSize: \"50px 50px\",\n }}\n />\n\n {/* floating particles */}\n {Array.from({ length: 6 }).map((_, i) => (\n <div\n key={i}\n className=\"absolute w-2 h-2 bg-purple-500/20 rounded-full animate-bounce\"\n style={{\n left: `${20 + i * 15}%`,\n top: `${30 + (i % 3) * 20}%`,\n animationDelay: `${i * 0.5}s`,\n animationDuration: `${2 + i * 0.3}s`,\n }}\n />\n ))}\n </div>\n </div>\n );\n}","'use client';\n\nimport { useState, useEffect } from 'react';\nimport { globalLucideIcons as icons } from '@base-ui/components/global-icon';\nexport default function GoToTop() {\n const [isVisible, setIsVisible] = useState(false);\n\n // 监听滚动事件\n useEffect(() => {\n const toggleVisibility = () => {\n if (window.scrollY > 300) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n };\n\n window.addEventListener('scroll', toggleVisibility);\n return () => window.removeEventListener('scroll', toggleVisibility);\n }, []);\n\n // 回到顶部\n const scrollToTop = () => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n };\n\n return (\n <>\n {isVisible && (\n <button\n onClick={scrollToTop}\n className=\"fixed bottom-6 right-6 p-3 bg-neutral-800 text-neutral-100 hover:bg-neutral-700 dark:bg-neutral-300 dark:text-neutral-900 dark:hover:bg-neutral-400 rounded-full shadow-lg transition-all z-50\"\n aria-label=\"Go to top\"\n >\n <icons.ArrowUp size={20} />\n </button>\n )}\n </>\n );\n} ","/**\n * @license\n * MIT License\n * Copyright (c) 2025 D8ger\n * \n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client'\n\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport { useLocale, useTranslations } from 'next-intl'\nimport { useRouter } from 'next/navigation'\nimport { useEffect, useState } from 'react'\n\ntype I18nConfig = {\n locales: readonly string[];\n detector: {\n storagePrefix: string;\n storageKey: string;\n autoCloseTimeout: number;\n expirationDays: number;\n };\n};\n\ninterface LanguageDetectorProps {\n i18nConfig: I18nConfig;\n}\n\ntype Locale = string;\n\ninterface LanguagePreference {\n locale: string;\n status: 'accepted' | 'rejected';\n timestamp: number;\n}\n\nexport default function LanguageDetector({ i18nConfig }: LanguageDetectorProps) {\n const [show, setShow] = useState(false)\n const [detectedLocale, setDetectedLocale] = useState<Locale | null>(null)\n const currentLocale = useLocale()\n const router = useRouter()\n const t = useTranslations('languageDetection')\n\n // Get the storage key from the configuration\n const LANGUAGE_PREFERENCE_KEY = `${i18nConfig.detector.storagePrefix}-${i18nConfig.detector.storageKey}`\n\n useEffect(() => {\n // Get the browser language\n const browserLang = navigator.language.split('-')[0] as Locale\n\n // Get the language preference from localStorage\n const savedPreference = localStorage.getItem(LANGUAGE_PREFERENCE_KEY)\n const preference: LanguagePreference | null = savedPreference\n ? JSON.parse(savedPreference)\n : null\n\n // Check if the language detection box should be displayed\n const shouldShowDetector = () => {\n if (!preference) return true;\n\n // If the stored language is the same as the current language, do not display the detection box\n if (preference.locale === currentLocale) return false;\n\n // If the user has previously rejected switching to this language, do not display the detection box\n if (preference.status === 'rejected' && preference.locale === browserLang) return false;\n\n // If the user has previously accepted switching to this language, do not display the detection box\n if (preference.status === 'accepted' && preference.locale === currentLocale) return false;\n\n // Use the expiration time from the configuration\n const expirationMs = i18nConfig.detector.expirationDays * 24 * 60 * 60 * 1000;\n if (Date.now() - preference.timestamp < expirationMs) return false;\n\n return true;\n }\n\n // Check if the browser language is in the supported language list and needs to display the detection box\n if ((i18nConfig.locales as string[]).includes(browserLang) &&\n browserLang !== currentLocale &&\n shouldShowDetector()) {\n setDetectedLocale(browserLang)\n setShow(true)\n\n // Use the automatic closing time from the configuration\n const timer = setTimeout(() => {\n console.log('[LanguageDetector] Auto closing after timeout')\n setShow(false)\n // Save the rejected state when the automatic closing occurs\n savePreference(browserLang, 'rejected')\n }, i18nConfig.detector.autoCloseTimeout)\n\n return () => clearTimeout(timer)\n }\n }, [currentLocale])\n\n // Save the language preference to localStorage\n const savePreference = (locale: string, status: 'accepted' | 'rejected') => {\n const preference: LanguagePreference = {\n locale,\n status,\n timestamp: Date.now()\n }\n localStorage.setItem(LANGUAGE_PREFERENCE_KEY, JSON.stringify(preference))\n }\n\n const handleLanguageChange = () => {\n if (detectedLocale) {\n // Save the accepted state\n savePreference(detectedLocale, 'accepted')\n\n // Get the current path\n const pathname = window.location.pathname\n // Replace the language part\n const newPathname = pathname.replace(`/${currentLocale}`, `/${detectedLocale}`)\n // Redirect to the new path\n router.push(newPathname)\n setShow(false)\n }\n }\n\n const handleClose = () => {\n if (detectedLocale) {\n // Save the rejected state\n savePreference(detectedLocale, 'rejected')\n }\n setShow(false)\n }\n\n if (!detectedLocale || !show) return null\n\n return (\n <div className=\"fixed top-16 right-4 z-40 w-[420px]\">\n <div className={`shadow-lg rounded-lg transition-all duration-300 ${show ? 'translate-x-0 opacity-100' : 'translate-x-full opacity-0'} \n bg-linear-to-r from-purple-100/95 via-white/95 to-purple-100/95 backdrop-blur-xs\n animate-gradient-x`}>\n <div className=\"relative px-6 py-4 overflow-hidden\">\n <div className=\"relative z-10 flex flex-col gap-3\">\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"flex flex-col gap-1.5\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n {t('title')}\n </h3>\n <p className=\"text-base text-gray-600\">\n {t('description')} <span className=\"text-purple-500 font-semibold\">{detectedLocale === 'zh' ? '中文' : 'English'}</span>?\n </p>\n </div>\n <button\n onClick={handleClose}\n className=\"text-gray-500 hover:text-gray-700\"\n >\n <icons.X className=\"h-5 w-5\" />\n </button>\n </div>\n <div className=\"flex items-center gap-3\">\n <button\n onClick={handleClose}\n className=\"flex-1 px-4 py-2 text-base bg-gray-100 text-gray-600 rounded-md hover:bg-gray-200\"\n >\n {t('close')}\n </button>\n <button\n onClick={handleLanguageChange}\n className=\"flex-1 px-4 py-2 text-base bg-purple-500 text-white rounded-md hover:bg-purple-600\"\n >\n {t('changeAction')}\n </button>\n </div>\n </div>\n <div className=\"absolute inset-0 bg-linear-to-r from-transparent via-purple-200/30 to-transparent animate-shimmer\" />\n </div>\n </div>\n </div>\n )\n} ","/**\n * @license\n * MIT License\n * Copyright (c) 2025 D8ger\n * \n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use client'\n\nimport { usePathname, useRouter } from 'next/navigation'\nimport { useLocale } from 'next-intl'\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@base-ui/ui/dropdown-menu'\nimport { LanguageButton } from '@base-ui/ui/language-button'\n\ninterface LanguageSwitcherProps {\n locales: readonly string[];\n localeLabels: Record<string, string>;\n}\n\nexport default function LanguageSwitcher({ locales, localeLabels }: LanguageSwitcherProps) {\n const locale = useLocale()\n const router = useRouter()\n const pathname = usePathname()\n\n const handleLocaleChange = (newLocale: string) => {\n const newPathname = pathname.replace(`/${locale}`, `/${newLocale}`)\n router.push(newPathname)\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <LanguageButton\n variant=\"ghost\"\n size=\"icon\"\n className=\"bg-linear-to-r from-purple-400 to-pink-600 hover:from-purple-500 hover:to-pink-700 text-white transform hover:scale-110 transition-all duration-300\"\n >\n <icons.Globe className=\"h-5 w-5\" />\n </LanguageButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n className=\"bg-white/90 dark:bg-gray-800/90 border-purple-100 dark:border-purple-800 w-[200px] p-2 backdrop-blur-xs translate-x-[50px]\"\n >\n <div className=\"grid grid-cols-2 gap-1\">\n {locales.map((loc) => (\n <DropdownMenuItem\n key={loc}\n className={`\n px-2 py-2 text-sm cursor-pointer text-center justify-center\n transition-all duration-300 ease-in-out\n hover:scale-105 hover:shadow-md\n rounded-md whitespace-nowrap\n ${locale === loc\n ? 'bg-linear-to-r from-purple-400 to-pink-600 text-white font-medium shadow-lg scale-105'\n : 'hover:bg-linear-to-r hover:from-purple-400/10 hover:to-pink-600/10 hover:text-transparent hover:bg-clip-text'\n }\n `}\n onClick={() => handleLocaleChange(loc)}\n >\n {localeLabels[loc]}\n </DropdownMenuItem>\n ))}\n </div>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\n\"use client\";\n\nimport Script from \"next/script\";\n\nconst googleAnalyticsId = process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID!;\n\nexport function GoogleAnalyticsScript() {\n // 只在生产环境中加载 Microsoft Clarity\n if (process.env.NODE_ENV !== 'production') {\n return null\n }\n \n return (\n <>\n <Script\n strategy=\"afterInteractive\"\n src={`https://www.googletagmanager.com/gtag/js?id=${googleAnalyticsId}`}\n />\n <Script\n id=\"google-analytics\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${googleAnalyticsId}');\n `,\n }}\n />\n </>\n );\n}\n\nexport function useGoogleAnalytics() {\n const trackEvent = (event: string, data?: Record<string, unknown>) => {\n if (typeof window === \"undefined\" || !window.gtag) {\n return;\n }\n\n window.gtag(\"event\", event, data);\n };\n\n return {\n trackEvent,\n };\n}\n\n// 为 window 添加 gtag 类型定义\ndeclare global {\n interface Window {\n dataLayer: any[];\n gtag: (...args: any[]) => void;\n }\n}\n","'use client'\n\nimport Script from 'next/script'\n\nconst microsoftClarityId = process.env.NEXT_PUBLIC_MICROSOFT_CLARITY_ID!;\n\nexport default function MicrosoftClarityScript() {\n // 只在生产环境中加载 Microsoft Clarity\n if (process.env.NODE_ENV !== 'production') {\n return null\n }\n\n return (\n <Script id=\"microsoft-clarity\" strategy=\"afterInteractive\">\n {`\n (function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src=\"https://www.clarity.ms/tag/\"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n })(window, document, \"clarity\", \"script\", \"${microsoftClarityId}\");\n `}\n </Script>\n )\n} "],"mappings":"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","names":["React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","Icon","React","jsx","jsxs","React","React","jsx","jsxs","jsx","jsxs","React","cva","jsx","cva","React","jsx","cva","jsx","cva","React","Slot","jsx","jsxs","Slot","jsx","_a","_b","React","jsx","React","jsx","jsxs","api","React","jsx","jsxs","config","React","jsx","CollapsibleTrigger","CollapsibleContent","React","React","jsx","jsxs","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","Slot","React","cva","jsx","cva","Label","jsx","Label","Slot","React","jsx","React","jsx","jsxs","React","jsx","React","jsx","React","jsx","jsxs","React","cva","jsx","jsxs","cva","React","jsx","jsxs","React","jsx","React","jsx","React","jsx","RadioGroup","jsx","React","jsx","jsxs","React","jsx","jsxs","React","jsx","Separator","React","cva","jsx","jsxs","cva","React","Slot","cva","React","jsx","React","jsx","Tooltip","jsx","jsxs","open","Separator","Slot","cva","Tooltip","React","jsx","jsxs","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","cva","jsx","cva","React","toast","props","jsx","jsxs","Toaster","React","React","cva","jsx","cva","jsx","createContext","useContext","jsx","jsx","useEffect","useState","jsx","jsxs","useState","useEffect","Fragment","jsx","useEffect","useState","jsx","jsxs","useRouter","useLocale","jsx","jsxs","Fragment","jsx","jsxs","Script","jsx"]}
|
1
|
+
{"version":3,"sources":["../src/ui/accordion.tsx","../src/assets/github.tsx","../src/lib/theme-util.ts","../src/assets/d8.tsx","../src/assets/clerk.tsx","../src/assets/iterm.tsx","../src/assets/markdown.tsx","../src/assets/mdx.tsx","../src/assets/html.tsx","../src/assets/json.tsx","../src/assets/xml.tsx","../src/assets/yaml.tsx","../src/assets/csv.tsx","../src/assets/txt.tsx","../src/assets/java.tsx","../src/assets/sql.tsx","../src/assets/log.tsx","../src/assets/mac.tsx","../src/assets/bitcoin.tsx","../src/assets/css.tsx","../src/assets/mermaid.tsx","../src/assets/last-updated.tsx","../src/assets/snippets.tsx","../src/assets/test.tsx","../src/assets/diff.tsx","../src/assets/dpa.tsx","../src/assets/subp.tsx","../src/assets/t3p.tsx","../src/assets/http.tsx","../src/assets/scheme.tsx","../src/assets/index.ts","../../lib/src/limited-lucide-icons.ts","../src/components/global-icon.tsx","../../lib/src/utils.ts","../src/ui/alert-dialog.tsx","../src/ui/button.tsx","../src/ui/alert.tsx","../src/ui/aspect-ratio.tsx","../src/ui/avatar.tsx","../src/ui/badge.tsx","../src/ui/breadcrumb.tsx","../src/ui/calendar.tsx","../src/ui/card.tsx","../src/ui/carousel.tsx","../src/ui/chart.tsx","../src/ui/checkbox.tsx","../src/ui/collapsible.tsx","../src/ui/command.tsx","../src/ui/dialog.tsx","../src/ui/context-menu.tsx","../src/ui/drawer.tsx","../src/ui/dropdown-menu.tsx","../src/ui/form.tsx","../src/ui/label.tsx","../src/ui/hover-card.tsx","../src/ui/input-otp.tsx","../src/ui/input.tsx","../src/ui/language-button.tsx","../src/ui/menubar.tsx","../src/ui/navigation-menu.tsx","../src/ui/pagination.tsx","../src/ui/popover.tsx","../src/ui/progress.tsx","../src/ui/radio-group.tsx","../src/ui/resizable.tsx","../src/ui/scroll-area.tsx","../src/ui/select.tsx","../src/ui/separator.tsx","../src/ui/sheet.tsx","../src/ui/sidebar.tsx","../src/ui/use-mobile.tsx","../src/ui/skeleton.tsx","../src/ui/tooltip.tsx","../src/ui/slider.tsx","../src/ui/sonner.tsx","../src/ui/switch.tsx","../src/ui/table.tsx","../src/ui/tabs.tsx","../src/ui/textarea.tsx","../src/ui/toast.tsx","../src/ui/use-toast.ts","../src/ui/toaster.tsx","../src/ui/toggle-group.tsx","../src/ui/toggle.tsx","../src/lib/icon-context.tsx","../src/lib/site-icon.tsx","../src/components/404-page.tsx","../src/components/go-to-top.tsx","../src/components/language-detector.tsx","../src/components/language-switcher.tsx","../src/components/script/google-analytics-script.tsx","../src/components/script/microsoft-clarity-script.tsx"],"sourcesContent":["\"use client\"\n\nimport * as React from \"react\"\nimport * as AccordionPrimitive from \"@radix-ui/react-accordion\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Accordion = AccordionPrimitive.Root\n\nconst AccordionItem = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <AccordionPrimitive.Item\n ref={ref}\n className={cn(\"border-b\", className)}\n {...props}\n />\n))\nAccordionItem.displayName = \"AccordionItem\"\n\nconst AccordionTrigger = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Header className=\"flex\">\n <AccordionPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex flex-1 items-center justify-between py-4 font-medium transition-all hover:underline [&[data-state=open]>svg]:rotate-180\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronDown className=\"h-4 w-4 shrink-0 transition-transform duration-200\" />\n </AccordionPrimitive.Trigger>\n </AccordionPrimitive.Header>\n))\nAccordionTrigger.displayName = AccordionPrimitive.Trigger.displayName\n\nconst AccordionContent = React.forwardRef<\n React.ElementRef<typeof AccordionPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AccordionPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <AccordionPrimitive.Content\n ref={ref}\n className=\"overflow-hidden text-sm transition-all data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down\"\n {...props}\n >\n <div className={cn(\"pb-4 pt-0\", className)}>{children}</div>\n </AccordionPrimitive.Content>\n))\n\nAccordionContent.displayName = AccordionPrimitive.Content.displayName\n\nexport { Accordion, AccordionItem, AccordionTrigger, AccordionContent }\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst GitHubIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path\n d=\"M512 0C229.283787 0 0.142041 234.942803 0.142041 524.867683c0 231.829001 146.647305 428.553077 350.068189 497.952484 25.592898 4.819996 34.976961-11.38884 34.976961-25.294314 0-12.45521-0.469203-45.470049-0.725133-89.276559-142.381822 31.735193-172.453477-70.380469-172.453477-70.380469-23.246882-60.569859-56.816233-76.693384-56.816234-76.693385-46.493765-32.58829 3.540351-31.948468 3.540351-31.948467 51.356415 3.71097 78.356923 54.086324 78.356923 54.086324 45.683323 80.19108 119.817417 57.072162 148.993321 43.593236 4.649376-33.91059 17.915029-57.029508 32.50298-70.167195-113.675122-13.222997-233.151301-58.223843-233.1513-259.341366 0-57.285437 19.919806-104.163095 52.678715-140.846248-5.246544-13.265652-22.820334-66.626844 4.990615-138.884127 0 0 42.996069-14.076094 140.760939 53.787741 40.863327-11.644769 84.627183-17.445825 128.177764-17.6591 43.465272 0.213274 87.271782 6.014331 128.135109 17.6591 97.679561-67.906489 140.59032-53.787741 140.59032-53.787741 27.938914 72.257282 10.407779 125.618474 5.118579 138.884127 32.844219 36.683154 52.593405 83.560812 52.593405 140.846248 0 201.586726-119.646798 245.990404-233.663158 258.957473 18.341577 16.208835 34.721032 48.199958 34.721032 97.210357 0 70.167195-0.639822 126.7275-0.639823 143.960051 0 14.033439 9.213443 30.370239 35.190235 25.209005 203.250265-69.527373 349.769606-266.123484 349.769605-497.867175C1023.857959 234.942803 794.673558 0 512 0\"\n fill={themeSvgIconColor} p-id=\"6929\">\n </path>\n </svg>\n )\n);\n\nGitHubIcon.displayName = \"GitHub\";\n\nexport default GitHubIcon; ","\n// Attention: This icon color will be used in the entire project, and it depends on the ENV variable NEXT_PUBLIC_STYLE_ICON_COLOR\nexport const themeIconColor = process.env.NEXT_PUBLIC_STYLE_ICON_COLOR || \"text-purple-500\";\n\n// Attention: This icon color will be used in the entire project, and it depends on the ENV variable NEXT_PUBLIC_STYLE_SVG_ICON_COLOR\nexport const themeSvgIconColor = process.env.NEXT_PUBLIC_STYLE_SVG_ICON_COLOR || \"#AC62FD\";\nexport const themeSvgIconSize = process.env.NEXT_PUBLIC_STYLE_SVG_ICON_SIZE || 18","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst D8Icon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path d=\"M376.832 80.896C187.392 142.336 61.44 313.344 61.44 513.024c0 290.816 277.504 506.88 558.08 434.176C842.752 888.832 993.28 665.6 955.392 445.44 908.288 168.96 635.904-2.048 376.832 80.896zM624.64 134.144c103.424 25.6 214.016 131.072 256 241.664 32.768 87.04 26.624 220.16-15.36 305.152-37.888 77.824-106.496 146.432-184.32 185.344-56.32 26.624-70.656 29.696-168.96 29.696-95.232 0-114.688-3.072-165.888-27.648-157.696-73.728-253.952-251.904-225.28-416.768 41.984-239.616 264.192-378.88 503.808-317.44z\"\n fill={themeSvgIconColor}></path>\n <path d=\"M462.848 227.328L460.8 286.72h-35.84c-19.456 0-35.84 4.096-35.84 10.24 0 5.12 11.264 10.24 24.576 10.24 14.336 0 27.648 3.072 29.696 7.168 2.048 5.12-17.408 91.136-43.008 192.512l-47.104 184.32-32.768 3.072c-68.608 7.168-30.72 22.528 53.248 22.528h86.016l4.096 64.512 3.072 63.488 2.048-64.512 2.048-63.488 44.032 1.024c56.32 2.048 123.904-25.6 155.648-64.512 45.056-54.272 26.624-134.144-34.816-153.6-9.216-3.072-1.024-12.288 23.552-26.624 21.504-12.288 41.984-20.48 47.104-17.408 19.456 12.288 35.84-73.728 20.48-112.64-14.336-38.912-66.56-56.32-167.936-56.32h-87.04l-4.096-59.392-3.072-58.368-2.048 58.368z m190.464 96.256c52.224 36.864 10.24 136.192-67.584 157.696C532.48 495.616 460.8 494.592 460.8 478.208c0-6.144 4.096-28.672 9.216-48.128 6.144-19.456 15.36-55.296 21.504-79.872l11.264-43.008h63.488c40.96 0 71.68 6.144 87.04 16.384z m-24.576 211.968c19.456 26.624 19.456 30.72 6.144 70.656-22.528 64.512-66.56 90.112-154.624 90.112-41.984 0-70.656-4.096-70.656-10.24s10.24-50.176 21.504-98.304l22.528-87.04 76.8 3.072c70.656 3.072 78.848 5.12 98.304 31.744z\"\n fill={themeSvgIconColor}></path>\n <path d=\"M227.328 421.888c-7.168 7.168-12.288 18.432-12.288 25.6 0 18.432-10.24 16.384-33.792-5.12-19.456-16.384-20.48-16.384-8.192 5.12 6.144 13.312 16.384 23.552 21.504 23.552 19.456 0 10.24 22.528-10.24 27.648-19.456 5.12-20.48 6.144-3.072 19.456 12.288 9.216 14.336 16.384 7.168 21.504-6.144 5.12-14.336 17.408-17.408 28.672-7.168 20.48-7.168 20.48 8.192 0 13.312-16.384 19.456-18.432 35.84-7.168 24.576 15.36 58.368 16.384 66.56 2.048 12.288-20.48 46.08-11.264 47.104 12.288 1.024 19.456 2.048 19.456 6.144 5.12 3.072-10.24-3.072-27.648-13.312-38.912-16.384-18.432-16.384-19.456 7.168-28.672 24.576-10.24 24.576-10.24 2.048-10.24C317.44 501.76 307.2 496.64 307.2 491.52v-18.432c0-4.096 6.144-7.168 12.288-7.168 7.168 0 14.336-9.216 16.384-19.456 4.096-19.456 3.072-19.456-14.336-2.048-17.408 18.432-18.432 17.408-37.888-8.192-20.48-28.672-36.864-33.792-56.32-14.336zM750.592 427.008c-1.024 10.24-5.12 37.888-9.216 61.44-4.096 29.696-3.072 49.152 6.144 59.392 8.192 10.24 9.216 15.36 1.024 15.36-6.144 0-17.408 14.336-26.624 30.72-18.432 34.816-6.144 71.68 22.528 71.68 15.36 0 15.36-1.024-1.024-13.312-17.408-12.288-17.408-16.384-2.048-51.2 15.36-37.888 43.008-50.176 53.248-24.576 3.072 8.192-1.024 27.648-7.168 44.032-7.168 16.384-13.312 38.912-14.336 49.152-1.024 10.24-10.24 25.6-20.48 32.768-11.264 8.192-14.336 14.336-9.216 14.336 23.552 0 44.032-28.672 59.392-80.896 20.48-68.608 20.48-72.704 1.024-72.704-16.384 0-20.48-12.288-8.192-23.552 3.072-4.096 12.288-2.048 19.456 4.096 16.384 13.312 45.056 5.12 44.032-13.312 0-10.24-2.048-10.24-6.144-1.024-2.048 7.168-9.216 13.312-15.36 13.312-10.24 0-6.144-45.056 8.192-100.352 4.096-12.288 2.048-22.528-4.096-22.528-5.12 0-15.36 21.504-22.528 48.128-13.312 54.272-26.624 74.752-47.104 74.752-17.408 0-19.456-53.248-3.072-83.968 8.192-15.36 8.192-24.576-3.072-34.816-12.288-12.288-14.336-11.264-15.36 3.072zM696.32 695.296c0 6.144 5.12 13.312 10.24 16.384 6.144 3.072 10.24-1.024 10.24-9.216 0-9.216-4.096-16.384-10.24-16.384-5.12 0-10.24 4.096-10.24 9.216z\"\n fill={themeSvgIconColor}></path>\n </svg>\n )\n);\n\nD8Icon.displayName = \"D8\";\n\nexport default D8Icon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst ClerkIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref} \n role=\"img\" \n className={className}\n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M 21.255071,20.629393 18.43951,17.813831 a 0.5590077,0.5590077 0 0 0 -0.6841,-0.08209 6.6983195,6.6983195 0 0 1 -6.920164,0 0.56291684,0.56291684 0 0 0 -0.6841,0.08209 l -2.8155614,2.815562 a 0.56291684,0.56291684 0 0 0 -0.1006604,0.674327 0.55705312,0.55705312 0 0 0 0.1622295,0.181775 11.727434,11.727434 0 0 0 13.7924393,0 0.56682599,0.56682599 0 0 0 0.233572,-0.413392 0.56291684,0.56291684 0 0 0 -0.168094,-0.44271 z m 0.002,-17.2666924 -2.814584,2.8145842 A 0.55607584,0.55607584 0 0 1 17.757364,6.2593769 6.7012514,6.7012514 0 0 0 8.7985821,8.1699714 6.7061378,6.7061378 0 0 0 7.6043383,11.778112 6.7041832,6.7041832 0 0 0 8.5601242,15.456617 0.55998498,0.55998498 0 0 1 8.4790095,16.13974 L 5.663448,18.954324 A 0.55412127,0.55412127 0 0 1 4.8190727,18.892755 11.720593,11.720593 0 0 1 6.8899421,2.9121717 11.717661,11.717661 0 0 1 21.19448,2.5163708 0.55314398,0.55314398 0 0 1 21.42121,2.9248764 0.55705312,0.55705312 0 0 1 21.257026,3.3627006 Z M 14.300703,15.345206 a 3.3491597,3.3491597 0 1 0 0,-6.698319 3.3491597,3.3491597 0 0 0 0,6.698319 z\"\n fill='none' stroke={themeSvgIconColor} strokeWidth=\"1.5\" \n />\n </svg>\n )\n);\n\nClerkIcon.displayName = \"Clerk\";\n\nexport default ClerkIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst ItermIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path\n d=\"M24 5.359v13.282A5.36 5.36 0 0 1 18.641 24H5.359A5.36 5.36 0 0 1 0 18.641V5.359A5.36 5.36 0 0 1 5.359 0h13.282A5.36 5.36 0 0 1 24 5.359m-.932-.233A4.196 4.196 0 0 0 18.874.932H5.126A4.196 4.196 0 0 0 .932 5.126v13.748a4.196 4.196 0 0 0 4.194 4.194h13.748a4.196 4.196 0 0 0 4.194-4.194zm-.816.233v13.282a3.613 3.613 0 0 1-3.611 3.611H5.359a3.613 3.613 0 0 1-3.611-3.611V5.359a3.613 3.613 0 0 1 3.611-3.611h13.282a3.613 3.613 0 0 1 3.611 3.611M8.854 4.194v6.495h.962V4.194zM5.483 9.493v1.085h.597V9.48q.283-.037.508-.133.373-.165.575-.448.208-.284.208-.649a.9.9 0 0 0-.171-.568 1.4 1.4 0 0 0-.426-.388 3 3 0 0 0-.544-.261 32 32 0 0 0-.545-.209 1.8 1.8 0 0 1-.426-.216q-.164-.12-.164-.284 0-.223.179-.351.18-.126.485-.127.344 0 .575.105.239.105.5.298l.433-.5a2.3 2.3 0 0 0-.605-.433 1.6 1.6 0 0 0-.582-.159v-.968h-.597v.978a2 2 0 0 0-.477.127 1.2 1.2 0 0 0-.545.411q-.194.268-.194.634 0 .335.164.56.164.224.418.38a4 4 0 0 0 .552.262q.291.104.545.209.261.104.425.238a.39.39 0 0 1 .165.321q0 .225-.187.359-.18.134-.537.134-.381 0-.717-.134a4.4 4.4 0 0 1-.649-.351l-.388.589q.209.173.477.306.276.135.575.217.191.046.373.064\" \n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"1\"\n />\n </svg>\n )\n);\n\nItermIcon.displayName = \"Iterm\";\n\nexport default ItermIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MarkdownIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.48 327.76192a163.84 163.84 0 0 1 163.84-163.84h655.36a163.84 163.84 0 0 1 163.84 163.84v327.68a163.84 163.84 0 0 1-163.84 163.84H184.32a163.84 163.84 0 0 1-163.84-163.84v-327.68z m163.84-81.92a81.92 81.92 0 0 0-81.92 81.92v327.68a81.92 81.92 0 0 0 81.92 81.92h655.36a81.92 81.92 0 0 0 81.92-81.92v-327.68a81.92 81.92 0 0 0-81.92-81.92H184.32z m68.97664 84.00896a40.96 40.96 0 0 1 45.71136 14.336L389.12 464.24064l90.112-120.13568a40.96 40.96 0 0 1 73.728 24.576v245.76a40.96 40.96 0 0 1-81.92 0v-122.88l-49.152 65.536a41.04192 41.04192 0 0 1-65.536 0l-49.152-65.536v122.88a40.96 40.96 0 1 1-81.92 0v-245.76a40.96 40.96 0 0 1 28.01664-38.87104zM757.76 368.76288a40.96 40.96 0 0 0-81.92 0v146.8416l-12.00128-12.00128a40.96 40.96 0 0 0-57.91744 57.91744l81.92 81.92a40.96 40.96 0 0 0 57.91744 0l81.92-81.92a40.96 40.96 0 0 0-57.91744-57.91744l-12.00128 12.00128V368.72192z\"\n fill={themeSvgIconColor} p-id=\"7370\">\n </path>\n </svg>\n )\n);\n\nMarkdownIcon.displayName = \"Markdown\";\n\nexport default MarkdownIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MDXIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path\n d=\"M20.48 327.76192a163.84 163.84 0 0 1 163.84-163.84h655.36a163.84 163.84 0 0 1 163.84 163.84v327.68a163.84 163.84 0 0 1-163.84 163.84H184.32a163.84 163.84 0 0 1-163.84-163.84v-327.68z m163.84-81.92a81.92 81.92 0 0 0-81.92 81.92v327.68a81.92 81.92 0 0 0 81.92 81.92h655.36a81.92 81.92 0 0 0 81.92-81.92v-327.68a81.92 81.92 0 0 0-81.92-81.92H184.32z m68.97664 84.00896a40.96 40.96 0 0 1 45.71136 14.336L389.12 464.24064l90.112-120.13568a40.96 40.96 0 0 1 73.728 24.576v245.76a40.96 40.96 0 0 1-81.92 0v-122.88l-49.152 65.536a41.04192 41.04192 0 0 1-65.536 0l-49.152-65.536v122.88a40.96 40.96 0 1 1-81.92 0v-245.76a40.96 40.96 0 0 1 28.01664-38.87104zM757.76 368.76288a40.96 40.96 0 0 0-81.92 0v146.8416l-12.00128-12.00128a40.96 40.96 0 0 0-57.91744 57.91744l81.92 81.92a40.96 40.96 0 0 0 57.91744 0l81.92-81.92a40.96 40.96 0 0 0-57.91744-57.91744l-12.00128 12.00128V368.72192z\"\n p-id=\"7370\"\n id=\"path1\"\n style={{\n stroke: \"none\",\n strokeOpacity: 1,\n fill: themeSvgIconColor,\n fillOpacity: 1,\n strokeWidth: 16,\n strokeDasharray: \"none\"\n }} />\n <circle\n id=\"path3\"\n cx=\"719.29987\"\n cy=\"577.29211\"\n r=\"40.298649\"\n style={{\n opacity: 1,\n fill: \"#FFFFFF\",\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n <circle\n id=\"path3-6\"\n cx=\"850.25433\"\n cy=\"310.07559\"\n r=\"40.298649\" \n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }}/>\n <circle\n id=\"path3-6-8\"\n cx=\"173.18126\"\n cy=\"310.07559\"\n r=\"40.298649\" \n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n <circle\n id=\"path3-6-8-7\"\n cx=\"850.25433\"\n cy=\"666.45483\"\n r=\"40.298649\" \n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n <circle\n id=\"path3-6-4\"\n cx=\"173.18126\"\n cy=\"669.54193\"\n r=\"40.298649\"\n style={{\n fill: themeSvgIconColor,\n fillOpacity: 1,\n stroke: \"none\",\n strokeWidth: 9.49366,\n strokeDasharray: \"none\",\n strokeOpacity: 1\n }} />\n </svg>\n )\n);\n\nMDXIcon.displayName = \"MDX\";\n\nexport default MDXIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst HtmlIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path fill={themeSvgIconColor}\n d=\"m4 4 2 22 10 2 10-2 2-22Zm19.72 7H11.28l.29 3h11.86l-.802 9.335L15.99 25l-6.635-1.646L8.93 19h3.02l.19 2 3.86.77 3.84-.77.29-4H8.84L8 8h16Z\" \n />\n </svg>\n )\n);\n\nHtmlIcon.displayName = \"Html\";\n\nexport default HtmlIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst JsonIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 -960 960 960\" xmlns=\"http://www.w3.org/2000/svg\"\n >\n <path fill={themeSvgIconColor}\n d=\"M560-160v-80h120q17 0 28.5-11.5T720-280v-80q0-38 22-69t58-44v-14q-36-13-58-44t-22-69v-80q0-17-11.5-28.5T680-720H560v-80h120q50 0 85 35t35 85v80q0 17 11.5 28.5T840-560h40v160h-40q-17 0-28.5 11.5T800-360v80q0 50-35 85t-85 35zm-280 0q-50 0-85-35t-35-85v-80q0-17-11.5-28.5T120-400H80v-160h40q17 0 28.5-11.5T160-600v-80q0-50 35-85t85-35h120v80H280q-17 0-28.5 11.5T240-680v80q0 38-22 69t-58 44v14q36 13 58 44t22 69v80q0 17 11.5 28.5T280-240h120v80z\"\n />\n </svg>\n )\n);\n\nJsonIcon.displayName = \"Json\";\n\nexport default JsonIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst XMLIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M354.40128 0c-87.04 0-157.44 70.55872-157.44 157.59872v275.68128H78.72c-21.6576 0-39.36256 17.69984-39.36256 39.36256v236.31872c0 21.6576 17.69984 39.35744 39.36256 39.35744h118.24128v118.08256c0 87.04 70.4 157.59872 157.44 157.59872h472.63744c87.04 0 157.59872-70.55872 157.59872-157.59872V315.0336c0-41.74848-38.9888-81.93024-107.52-149.27872l-29.11744-29.12256L818.87744 107.52C751.5392 38.9888 711.39328 0 669.59872 0H354.4064z m0 78.72h287.20128c28.35456 7.0912 27.99616 42.1376 27.99616 76.8v120.16128c0 21.6576 17.69984 39.35744 39.36256 39.35744h118.07744c39.38816 0 78.87872-0.0256 78.87872 39.36256v512c0 43.32032-35.55328 78.87872-78.87872 78.87872H354.4064c-43.32544 0-78.72-35.5584-78.72-78.87872v-118.08256h393.91744c21.66272 0 39.36256-17.69472 39.36256-39.35744V472.64256c0-21.66272-17.69984-39.36256-39.36256-39.36256H275.68128V157.59872c0-43.32032 35.39456-78.87872 78.72-78.87872zM145.12128 507.36128h23.99744l39.36256 67.2 40.32-67.2h23.04l-50.88256 83.51744 54.72256 92.16h-24.96l-43.20256-75.83744-43.19744 75.83744h-23.04l54.71744-92.16-50.87744-83.51744z m154.55744 0h32.64l49.92 143.03744h0.96256l48.95744-143.03744h33.60256v175.67744h-22.08256v-106.55744c0-10.88 0.32256-26.56256 0.96256-47.04256h-0.96256l-52.79744 153.6h-19.2l-52.80256-153.6h-0.95744c1.28 22.4 1.92 38.72256 1.92 48.96256v104.63744H299.6736V507.36128z m214.08256 0h22.07744v155.52h69.12v20.15744h-91.19744V507.36128z\"\n p-id=\"9479\" fill={themeSvgIconColor}>\n </path>\n </svg>\n )\n);\n\nXMLIcon.displayName = \"XML\";\n\nexport default XMLIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst YamlIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M354.401 0c-87.04 0-157.44 70.559-157.44 157.599V433.28H78.72c-21.658 0-39.363 17.7-39.363 39.363V708.96c0 21.658 17.7 39.358 39.363 39.358h118.241V866.4c0 87.04 70.4 157.599 157.44 157.599H827.04c87.04 0 157.598-70.559 157.598-157.599V315.034c0-41.749-38.988-81.93-107.52-149.28L848 136.633l-29.123-29.112C751.54 38.989 711.393 0 669.6 0H354.406z m0 78.72h287.202c28.354 7.091 27.996 42.138 27.996 76.8v120.161c0 21.658 17.7 39.358 39.362 39.358H827.04c39.388 0 78.878-0.026 78.878 39.362v512c0 43.32-35.553 78.879-78.878 78.879H354.406c-43.325 0-78.72-35.558-78.72-78.879V748.32h393.918c21.663 0 39.362-17.695 39.362-39.358V472.643c0-21.663-17.7-39.363-39.362-39.363H275.68V157.599c0-43.32 35.395-78.879 78.72-78.879z m-93.127 427.679h20.162l65.28 176.64h-23.04l-19.2-54.718h-65.28l-19.2 54.718h-23.04l64.318-176.64z m-181.438 0.962h23.998l40.32 89.278 41.282-89.278h23.998l-53.76 107.52v68.158h-22.078v-67.2L79.836 507.36z m290.878 0h32.64l49.92 143.038h0.962l48.958-143.038h33.602V683.04h-22.082V576.48c0-10.88 0.322-26.562 0.962-47.042h-0.962l-52.798 153.6h-19.2l-52.802-153.6h-0.958c1.28 22.4 1.92 38.722 1.92 48.962V683.04h-20.162V507.36z m214.082 0h22.078v155.52h69.12v20.158h-91.188V507.36z m-312.96 23.04c-1.92 8.96-4.802 18.238-8.642 27.838l-17.28 50.882h51.84l-18.238-50.882c-3.84-10.88-6.4-20.158-7.68-27.838z\"\n p-id=\"10866\" fill={themeSvgIconColor}>\n </path>\n </svg>\n )\n);\n\nYamlIcon.displayName = \"Yaml\";\n\nexport default YamlIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst CSVIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M158.72 517.12h61.44v394.24c0 28.27776 22.92224 51.2 51.2 51.2h614.4c28.27776 0 51.2-22.92224 51.2-51.2V317.44h-204.8c-28.27776 0-51.2-22.92224-51.2-51.2V61.44H271.36c-28.27776 0-51.2 22.92224-51.2 51.2v97.28H158.72V76.8c0-42.41408 34.38592-76.8 76.8-76.8h481.28l281.6 281.6v665.6c0 42.41408-34.38592 76.8-76.8 76.8H235.52c-42.41408 0-76.8-34.38592-76.8-76.8v-430.08z\"\n fill={themeSvgIconColor} p-id=\"8469\">\n </path>\n <path\n d=\"M102.4 209.92h460.8c42.41408 0 76.8 34.38592 76.8 76.8v153.6c0 42.41408-34.38592 76.8-76.8 76.8H102.4c-42.41408 0-76.8-34.38592-76.8-76.8V286.72c0-42.41408 34.38592-76.8 76.8-76.8z m129.81248 176.2304c-2.7136 11.80672-7.18848 20.45952-13.42464 25.9584-6.23104 5.49888-13.6704 8.25344-22.3232 8.25344-11.74016 0-21.2736-4.3264-28.60544-12.98432-7.33184-8.6528-10.99776-23.17312-10.99776-43.55584 0-19.21536 3.72224-33.11104 11.1616-41.69216 7.44448-8.58112 17.14176-12.87168 29.09696-12.87168 8.6528 0 16.00512 2.42176 22.05696 7.26016 6.04672 4.84352 10.02496 11.4432 11.9296 19.79904l32.23552-7.69536c-3.67104-12.90752-9.1648-22.8096-16.50176-29.70112-12.31872-11.66336-28.34432-17.48992-48.07168-17.48992-22.58432 0-40.8064 7.424-54.66624 22.272-13.86496 14.848-20.79232 35.69664-20.79232 62.53568 0 25.37472 6.89152 45.37856 20.67968 60.0064 13.78816 14.62784 31.3856 21.94432 52.80256 21.94432 17.3056 0 31.5904-4.27008 42.84416-12.81536 11.25376-8.54016 19.3024-21.61152 24.14592-39.21408l-31.56992-10.0096z m51.25632 6.81984c2.12992 18.03776 8.6528 31.7696 19.57888 41.19552 10.9312 9.4208 26.58304 14.1312 46.97088 14.1312 14.00832 0 25.7024-1.96096 35.09248-5.88288 9.38496-3.92192 16.64512-9.91744 21.78048-17.98656 5.13024-8.064 7.70048-16.7168 7.70048-25.9584 0-10.1888-2.1504-18.75456-6.43584-25.68192-4.29056-6.93248-10.22976-12.39552-17.8176-16.39424-7.59296-3.9936-19.30752-7.86432-35.1488-11.60192-15.84128-3.7376-25.81504-7.33184-29.92128-10.78272-3.2256-2.7136-4.8384-5.97504-4.8384-9.78944 0-4.17792 1.72544-7.51616 5.1712-10.0096 5.3504-3.88608 12.75904-5.83168 22.2208-5.83168 9.1648 0 16.04096 1.8176 20.62336 5.44768 4.5824 3.63008 7.57248 9.58976 8.96 17.87392l32.5632-1.4336c-0.512-14.80704-5.888-26.65472-16.11264-35.52768-10.22976-8.87296-25.46688-13.312-45.70624-13.312-12.3904 0-22.97344 1.87392-31.73376 5.61152-8.76544 3.74272-15.47264 9.18528-20.13184 16.3328-4.6592 7.15264-6.98368 14.83776-6.98368 23.05024 0 12.75904 4.95104 23.5776 14.848 32.45056 7.04 6.30784 19.28704 11.6224 36.74112 15.9488 13.568 3.37408 22.25664 5.71904 26.07104 7.04 5.57056 1.98144 9.47712 4.31104 11.71456 6.98368 2.23744 2.67776 3.3536 5.92384 3.3536 9.73824 0 5.9392-2.65728 11.12576-7.97184 15.5648-5.31968 4.43392-13.21984 6.656-23.7056 6.656-9.90208 0-17.7664-2.49344-23.59808-7.48032-5.82656-4.98688-9.69728-12.8-11.60192-23.43424l-31.68256 3.08224zM483.1232 445.44h34.7648l57.74848-161.25952h-34.53952l-39.49056 119.3472-40.81152-119.3472h-35.30752L483.11808 445.44z\"\n fill={themeSvgIconColor} p-id=\"8470\">\n </path>\n <path\n d=\"M266.24 634.88m30.72 0l563.2 0q30.72 0 30.72 30.72l0 0q0 30.72-30.72 30.72l-563.2 0q-30.72 0-30.72-30.72l0 0q0-30.72 30.72-30.72Z\"\n fill={themeSvgIconColor} p-id=\"8471\">\n </path>\n <path\n d=\"M266.24 808.96m30.72 0l563.2 0q30.72 0 30.72 30.72l0 0q0 30.72-30.72 30.72l-563.2 0q-30.72 0-30.72-30.72l0 0q0-30.72 30.72-30.72Z\"\n fill={themeSvgIconColor} p-id=\"8472\">\n </path>\n </svg>\n )\n);\n\nCSVIcon.displayName = \"CSV\";\n\nexport default CSVIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst TxtIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M764.6 791c-35.6 0-77.2-19.2-77.2-73.6 0-21.8 7.8-37.2 25.2-49.6 17-12.2 43-20.8 73.4-24.4 42.8-5 91-7.8 132.2-9.2 0.6 0 1 0.2 1.6 0.4 0.6 0.2 1 0.6 1.4 1 0.4 0.4 0.6 0.8 0.8 1.4 0.2 0.6 0.2 1 0.2 1.6-5.4 102.4-57.2 152.4-157.6 152.4z m42.2-460.6c-84.6-0.6-160.4 48.8-192.8 125.6-0.6 1.4-1 2.8-1.6 4.2-0.4 1.4-0.8 2.8-1 4.2-0.2 1.4-0.6 2.8-0.6 4.4-0.2 1.4-0.2 3-0.2 4.4 0 1.4 0 3 0.2 4.4 0.2 1.4 0.4 3 0.6 4.4 0.2 1.4 0.6 2.8 1 4.2 0.4 1.4 0.8 2.8 1.4 4.2 0.6 1.4 1.2 2.8 1.8 4 0.6 1.4 1.4 2.6 2.2 3.8 0.8 1.2 1.6 2.4 2.6 3.6 1 1.2 1.8 2.2 3 3.2 1 1 2 2 3.2 3 1.2 1 2.2 1.8 3.4 2.6 1.2 0.8 2.4 1.6 3.8 2.4 1.2 0.8 2.6 1.4 4 2 1.4 0.6 2.8 1 4.2 1.6l4.2 1.2c1.4 0.4 2.8 0.6 4.4 0.6 1.4 0.2 3 0.2 4.4 0.2 1.4 0 3 0 4.4-0.2 1.4-0.2 3-0.4 4.4-0.6 1.4-0.2 2.8-0.6 4.2-1 1.4-0.4 2.8-0.8 4.2-1.4 1.4-0.6 2.6-1.2 4-1.8 1.2-0.6 2.6-1.4 3.8-2.2 1.2-0.8 2.4-1.6 3.6-2.6 1.2-1 2.2-2 3.2-3s2-2.2 3-3.2c1-1.2 1.8-2.4 2.6-3.6 0.8-1.2 1.6-2.4 2.2-3.8 0.8-1.2 1.4-2.6 2-4 18-42.8 60.4-70.4 108.2-70.8 65.6-0.4 118.6 54.2 118.6 120.4 0 0.4 0 0.8-0.2 1.2-0.2 0.4-0.4 0.6-0.6 1-0.2 0.2-0.6 0.6-1 0.6-0.4 0.2-0.8 0.2-1.2 0.2-44.4 1.2-97.2 4.2-144.4 9.8-111 13.2-177.4 74.2-177.4 163.4 0 47.4 17.8 90 50 120 30.2 28.2 71.6 43.6 116.4 43.6 63 0 117-16.4 158.2-47.6h0.2c0 1.4 0 3 0.2 4.4 0.2 1.4 0.4 3 0.6 4.4 0.2 1.4 0.6 2.8 1 4.2 0.4 1.4 1 2.8 1.4 4.2 0.6 1.4 1.2 2.8 1.8 4 0.6 1.4 1.4 2.6 2.2 3.8 0.8 1.2 1.6 2.4 2.6 3.6 1 1.2 1.8 2.2 3 3.2 1 1 2.2 2 3.2 3 1.2 1 2.2 1.8 3.6 2.6 1.2 0.8 2.4 1.6 3.8 2.2 1.2 0.8 2.6 1.4 4 2 1.4 0.6 2.8 1 4.2 1.6 1.4 0.4 2.8 0.8 4.2 1 1.4 0.2 2.8 0.6 4.4 0.6 1.4 0.2 3 0.2 4.4 0.2 1.4 0 3 0 4.4-0.2 1.4-0.2 3-0.4 4.4-0.6 1.4-0.2 2.8-0.6 4.2-1 1.4-0.4 2.8-1 4.2-1.4 1.4-0.6 2.6-1.2 4-1.8 1.2-0.6 2.6-1.4 3.8-2.2 1.2-0.8 2.4-1.6 3.6-2.6 1.2-1 2.2-2 3.2-3s2-2.2 3-3.2c1-1.2 1.8-2.4 2.6-3.6 0.8-1.2 1.6-2.4 2.2-3.8 0.6-1.2 1.4-2.6 1.8-4 0.6-1.4 1-2.8 1.4-4.2 0.4-1.4 0.8-2.8 1-4.2 0.2-1.4 0.6-3 0.6-4.4 0.2-1.4 0.2-3 0.2-4.4V541.2c-0.4-115-91.8-210-205.8-210.8zM210.2 554l88-236.6c0.2-0.8 0.8-1.4 1.4-2 0.6-0.4 1.4-0.8 2.4-0.8 0.8 0 1.6 0.2 2.4 0.8 0.6 0.4 1.2 1.2 1.4 2l88 236.8c0.2 0.4 0.2 0.6 0.2 1v1c0 0.4-0.2 0.6-0.2 1-0.2 0.4-0.2 0.6-0.4 0.8-0.2 0.2-0.4 0.6-0.6 0.8-0.2 0.2-0.6 0.4-0.8 0.6-0.2 0.2-0.6 0.2-1 0.4-0.4 0-0.6 0.2-1 0.2h-176c-0.4 0-0.6 0-1-0.2-0.4 0-0.6-0.2-1-0.4-0.2-0.2-0.6-0.4-0.8-0.6-0.2-0.2-0.4-0.4-0.6-0.8-0.2-0.2-0.4-0.6-0.4-0.8-0.2-0.4-0.2-0.6-0.2-1v-1c0-0.4 0-0.8 0.2-1.2z m377 264L343.8 163.2c-0.8-2.2-1.8-4.2-2.8-6.2-1.2-2-2.4-3.8-3.8-5.6-1.4-1.8-3-3.4-4.6-5-1.6-1.6-3.4-3-5.2-4.2-1.8-1.2-3.8-2.4-5.8-3.4s-4.2-1.8-6.2-2.6c-2.2-0.6-4.4-1.2-6.6-1.6-2.2-0.4-4.4-0.6-6.8-0.6-2.2 0-4.6 0.2-6.8 0.6-2.2 0.4-4.4 0.8-6.6 1.6-2.2 0.6-4.2 1.6-6.2 2.6s-4 2.2-5.8 3.4c-1.8 1.2-3.6 2.8-5.2 4.2-1.6 1.6-3.2 3.2-4.6 5-1.4 1.8-2.6 3.6-3.8 5.6-1.2 2-2 4-2.8 6.2L16.6 818c-0.4 1.4-1 2.8-1.2 4.2-0.4 1.4-0.6 2.8-0.8 4.4-0.2 1.4-0.4 3-0.4 4.4v4.4c0 1.4 0.2 3 0.4 4.4 0.2 1.4 0.4 2.8 0.8 4.4l1.2 4.2c0.4 1.4 1 2.8 1.6 4 0.6 1.4 1.2 2.6 2 3.8l2.4 3.6c0.8 1.2 1.8 2.4 2.8 3.4 1 1 2 2.2 3 3.2s2.2 2 3.4 2.8c1.2 0.8 2.4 1.8 3.6 2.4 1.2 0.8 2.6 1.4 3.8 2.2 1.4 0.6 2.6 1.2 4 1.8 1.4 0.6 2.8 1 4.2 1.4 1.4 0.4 2.8 0.6 4.2 1 1.4 0.2 2.8 0.4 4.4 0.6 1.4 0 3 0.2 4.4 0 1.4 0 2.8-0.2 4.4-0.4 1.4-0.2 2.8-0.4 4.2-0.8l4.2-1.2c1.4-0.4 2.8-1 4-1.6 1.4-0.6 2.6-1.2 3.8-2l3.6-2.4c1.2-0.8 2.4-1.8 3.4-2.8 1-1 2.2-2 3.2-3s2-2.2 2.8-3.4c0.8-1.2 1.8-2.4 2.6-3.6 0.8-1.2 1.4-2.6 2.2-3.8 0.6-1.4 1.2-2.6 1.8-4L174 652.2c0.2-0.8 0.8-1.4 1.4-2 0.6-0.4 1.4-0.8 2.4-0.8h249c0.8 0 1.6 0.2 2.4 0.8 0.6 0.4 1.2 1.2 1.4 2l73.4 197.4c0.6 1.4 1.2 2.8 1.8 4 0.6 1.4 1.4 2.6 2.2 3.8 0.8 1.2 1.6 2.4 2.6 3.6 0.8 1.2 1.8 2.2 2.8 3.4 1 1 2 2 3.2 3s2.2 1.8 3.4 2.8l3.6 2.4c1.2 0.8 2.6 1.4 3.8 2 1.4 0.6 2.6 1.2 4 1.6l4.2 1.2c1.4 0.4 2.8 0.6 4.2 0.8 1.4 0.2 2.8 0.4 4.4 0.4h4.4c1.4 0 2.8-0.2 4.4-0.6s2.8-0.6 4.2-1c1.4-0.4 2.8-0.8 4.2-1.4 1.4-0.6 2.6-1 4-1.8 1.4-0.6 2.6-1.4 3.8-2.2l3.6-2.4c1.2-0.8 2.2-1.8 3.4-2.8 1-1 2-2 3-3.2 1-1 1.8-2.2 2.8-3.4l2.4-3.6c0.8-1.2 1.4-2.6 2-3.8 0.6-1.4 1.2-2.6 1.6-4l1.2-4.2c0.4-1.4 0.6-2.8 0.8-4.4 0.2-1.4 0.4-3 0.4-4.4v-4.4c0-1.4-0.2-3-0.4-4.4-0.2-1.4-0.6-2.8-0.8-4.4-1-1.4-1.4-2.8-2-4.2z\"\n fill={themeSvgIconColor} p-id=\"18326\">\n </path>\n </svg>\n )\n);\n\nTxtIcon.displayName = \"Txt\";\n\nexport default TxtIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst JavaIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M4 26h24v2H4zM28 4H7a1 1 0 0 0-1 1v13a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-4h4a2 2 0 0 0 2-2V6a2 2 0 0 0-2-2m0 8h-4V6h4Z\"\n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"2\"\n />\n </svg>\n )\n);\n\nJavaIcon.displayName = \"Java\";\n\nexport default JavaIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SQLIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className}\n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M477.12 858.56l14.72-16.64a77.44 77.44 0 0 0 54.08 24c25.6 0 40.96-12.8 40.96-32s-14.08-26.56-32-34.88l-28.48-12.16a52.16 52.16 0 0 1 22.08-101.76 79.36 79.36 0 0 1 57.28 24l-12.8 15.68a64 64 0 0 0-44.48-18.24c-22.08 0-36.48 11.2-36.48 28.8s16.96 25.92 32 32l28.16 12.16A54.08 54.08 0 0 1 611.84 832a58.88 58.88 0 0 1-66.24 55.36 93.76 93.76 0 0 1-68.48-28.8zM810.24 928a96 96 0 0 1-28.16 4.16 74.24 74.24 0 0 1-71.68-46.4c-42.56-4.8-70.4-42.56-70.4-99.84 0-62.4 34.56-100.48 83.52-100.48s83.2 38.08 83.2 100.48c0 56.32-27.52 93.44-68.8 100.8a50.24 50.24 0 0 0 47.68 25.92 68.8 68.8 0 0 0 20.8-2.88z m-87.68-61.44c34.88 0 57.92-32 57.92-81.6s-23.04-79.04-57.92-79.04-58.24 30.08-58.24 79.04 23.04 82.56 58.24 82.56zM848 688.96h24.64V864h85.44v21.12H848zM444.16 377.28c-192 0-387.2-52.8-387.2-153.92s194.56-154.24 387.2-154.24S832 121.92 832 224s-195.52 153.28-387.84 153.28z m0-244.16C234.88 133.12 120.96 192 120.96 224s113.92 89.92 323.2 89.92S768 253.76 768 224s-114.88-90.88-323.84-90.88z\"\n p-id=\"12089\" fill={themeSvgIconColor} >\n </path>\n <path\n d=\"M444.16 554.88c-192 0-387.2-52.8-387.2-154.24a32 32 0 0 1 64 0c0 32 113.92 90.24 323.2 90.24S768 431.36 768 400.64a32 32 0 1 1 64 0c0 101.44-195.52 154.24-387.84 154.24zM444.16 732.48c-192 0-387.2-53.12-387.2-154.24a32 32 0 0 1 64 0c0 32 113.92 90.24 323.2 90.24a32 32 0 1 1 0 64zM444.16 932.16c-192 0-387.2-52.8-387.2-153.92a32 32 0 0 1 64 0c0 30.4 113.92 89.92 323.2 89.92a32 32 0 0 1 0 64z\"\n p-id=\"12090\" fill={themeSvgIconColor} >\n </path>\n <path\n d=\"M800 699.2a32 32 0 0 1-32-32V234.24a32 32 0 0 1 64 0v432.96a32 32 0 0 1-32 32zM88.96 821.12a32 32 0 0 1-32-32V234.24a32 32 0 0 1 64 0v554.88a32 32 0 0 1-32 32z\"\n p-id=\"12091\" fill={themeSvgIconColor} >\n </path>\n </svg>\n )\n);\n\nSQLIcon.displayName = \"SQL\";\n\nexport default SQLIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst LogIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M568.896 910.208h-512V113.792h739.52V512h-56.832V170.688H113.792v682.624H512z\"\n fill={themeSvgIconColor} p-id=\"12257\">\n </path>\n <path\n d=\"M711.104 512c108.096 0 199.104 91.008 199.104 199.104 0 108.096-91.008 199.104-199.04 199.104C602.944 910.208 512 819.2 512 711.168 512 602.944 603.008 512 711.104 512m0-56.896c-142.208 0-256 113.792-256 256s113.792 256 256 256 256-113.792 256-256-113.792-256-256-256zM227.584 56.96h56.832v170.688h-56.832V56.896z m341.312 0h56.896v170.688h-56.96V56.896zM170.688 341.312h512v56.96h-512v-56.96z m0 170.688H455.04v56.896H170.688V512z m0 170.688h227.52v56.896H170.688v-56.96z\"\n fill={themeSvgIconColor} p-id=\"12258\">\n </path>\n <path d=\"M853.312 796.416h-170.624V568.96h56.896v170.688h113.728z\" fill={themeSvgIconColor} p-id=\"12259\">\n </path>\n </svg>\n )\n);\n\nLogIcon.displayName = \"Log\";\n\nexport default LogIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MACIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M12.152 6.896c-.948 0-2.415-1.078-3.96-1.04-2.04.027-3.91 1.183-4.961 3.014-2.117 3.675-.546 9.103 1.519 12.09 1.013 1.454 2.208 3.09 3.792 3.039 1.52-.065 2.09-.987 3.935-.987 1.831 0 2.35.987 3.96.948 1.637-.026 2.676-1.48 3.676-2.948 1.156-1.688 1.636-3.325 1.662-3.415-.039-.013-3.182-1.221-3.22-4.857-.026-3.04 2.48-4.494 2.597-4.559-1.429-2.09-3.623-2.324-4.39-2.376-2-.156-3.675 1.09-4.61 1.09zM15.53 3.83c.843-1.012 1.4-2.427 1.245-3.83-1.207.052-2.662.805-3.532 1.818-.78.896-1.454 2.338-1.273 3.714 1.338.104 2.715-.688 3.559-1.701\" \n fill='none' stroke={themeSvgIconColor} strokeWidth=\"2\"\n />\n </svg>\n )\n);\n\nMACIcon.displayName = \"MAC\";\n\nexport default MACIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst BitcoinIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M23.638 14.904c-1.602 6.43-8.113 10.34-14.542 8.736C2.67 22.05-1.244 15.525.362 9.105 1.962 2.67 8.475-1.243 14.9.358c6.43 1.605 10.342 8.115 8.738 14.548v-.002zm-6.35-4.613c.24-1.59-.974-2.45-2.64-3.03l.54-2.153-1.315-.33-.525 2.107c-.345-.087-.705-.167-1.064-.25l.526-2.127-1.32-.33-.54 2.165c-.285-.067-.565-.132-.84-.2l-1.815-.45-.35 1.407s.975.225.955.236c.535.136.63.486.615.766l-1.477 5.92c-.075.166-.24.406-.614.314.015.02-.96-.24-.96-.24l-.66 1.51 1.71.426.93.242-.54 2.19 1.32.327.54-2.17c.36.1.705.19 1.05.273l-.51 2.154 1.32.33.545-2.19c2.24.427 3.93.257 4.64-1.774.57-1.637-.03-2.58-1.217-3.196.854-.193 1.5-.76 1.68-1.93h.01zm-3.01 4.22c-.404 1.64-3.157.75-4.05.53l.72-2.9c.896.23 3.757.67 3.33 2.37zm.41-4.24c-.37 1.49-2.662.735-3.405.55l.654-2.64c.744.18 3.137.524 2.75 2.084v.006z\"\n fill='none' stroke={themeSvgIconColor} strokeWidth=\"1\" \n />\n </svg>\n )\n);\n\nBitcoinIcon.displayName = \"BTC\";\n\nexport default BitcoinIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst CSSIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref} \n role=\"img\" \n className={className} {...props}\n viewBox=\"0 0 32 32\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill={themeSvgIconColor}\n d=\"M23.5 12H8c.89-2.3 4.02-4 7.75-4s6.86 1.7 7.75 4M14 12h15.5c-.89 2.3-4.02 4-7.75 4s-6.86-1.7-7.75-4m3.5 8H2c.89-2.3 4.02-4 7.75-4s6.86 1.7 7.75 4M8 20h15.5c-.89 2.3-4.02 4-7.75 4S8.89 22.3 8 20\"\n />\n </svg>\n )\n);\n\nCSSIcon.displayName = \"CSS\";\n\nexport default CSSIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst MermaidIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n // Memmaid need special size for good view\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\"\n className={className}\n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\" >\n <path\n d=\"M23.99 2.115A12.223 12.223 0 0 0 12 10.149 12.223 12.223 0 0 0 .01 2.115a12.23 12.23 0 0 0 5.32 10.604 6.562 6.562 0 0 1 2.845 5.423v3.754h7.65v-3.754a6.561 6.561 0 0 1 2.844-5.423 12.223 12.223 0 0 0 5.32-10.604Z\"\n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"2\" \n />\n </svg>\n )\n);\n\nMermaidIcon.displayName = \"Mmd\";\n\nexport default MermaidIcon; ","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst LastUpdatedIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M918.362566 956.685895 106.992291 956.685895c-14.145162 0-25.611308-11.466146-25.611308-25.611308L81.380984 191.053314c0-14.145162 11.467169-25.611308 25.611308-25.611308l811.370275 0c14.145162 0 25.611308 11.467169 25.611308 25.611308l0 740.02025C943.974897 945.219749 932.508751 956.685895 918.362566 956.685895zM132.603599 905.462257l760.146637 0L892.750235 216.665645 132.603599 216.665645 132.603599 905.462257zM915.696854 410.394904 109.450273 410.394904c-14.145162 0-25.611308-11.467169-25.611308-25.611308s11.467169-25.611308 25.611308-25.611308l806.246581 0c14.145162 0 25.611308 11.467169 25.611308 25.611308S929.842015 410.394904 915.696854 410.394904zM248.987283 313.735447c-14.145162 0-25.611308-11.467169-25.611308-25.611308L223.375975 91.962481c0-14.145162 11.467169-25.611308 25.611308-25.611308s25.611308 11.467169 25.611308 25.611308l0 196.160635C274.59859 302.269301 263.132444 313.735447 248.987283 313.735447zM786.915815 313.735447c-14.145162 0-25.611308-11.467169-25.611308-25.611308L761.304508 91.962481c0-14.145162 11.466146-25.611308 25.611308-25.611308s25.611308 11.467169 25.611308 25.611308l0 196.160635C812.527123 302.269301 801.060977 313.735447 786.915815 313.735447zM378.463146 832.067666c-4.732791 0-9.406231-1.641383-13.156648-4.787026-5.810333-4.874007-8.448416-12.56006-6.856152-19.97596l21.574365-100.484575c0.699941-3.261277 2.186805-6.30152 4.329609-8.856715l173.234483-206.507284c3.488451-4.158716 8.486278-6.760984 13.893428-7.234775 5.392824-0.473791 10.779507 1.219781 14.939247 4.709255l73.627904 61.765739c8.66024 7.264451 9.790994 20.173458 2.526543 28.832675L489.341443 786.03526c-2.143826 2.555196-4.880147 4.548596-7.969509 5.805216l-95.201246 38.71986C383.679961 831.573409 381.062344 832.067666 378.463146 832.067666zM418.978908 720.378911l-12.386098 57.68684 54.653761-22.228257 156.816558-186.93553-42.268686-35.458583L418.978908 720.378911zM483.354078 781.820262c-6.737448 0.001023-13.334703-3.322675-17.244756-9.414417l-23.737634-36.991496-40.554648-16.944927c-10.429537-4.358261-15.35164-16.34527-10.994402-26.774807 4.357238-10.42749 16.343223-15.350616 26.774807-10.993378l46.442752 19.404955c3.834328 1.601474 7.090489 4.333702 9.334599 7.830339l27.183106 42.361807c6.105045 9.513678 3.342118 22.174022-6.17156 28.278043C490.967476 780.771373 487.137241 781.820262 483.354078 781.820262zM601.041454 641.489166c-4.641717 0-9.307993-1.569752-13.143345-4.787026l-73.625858-61.765739c-8.659217-7.264451-9.78997-20.173458-2.52552-28.833699 7.263427-8.659217 20.171412-9.78997 28.833699-2.52552l73.625858 61.765739c8.659217 7.264451 9.78997 20.173458 2.52552 28.833699C612.683609 639.001509 606.882486 641.489166 601.041454 641.489166z\"\n fill={themeSvgIconColor} p-id=\"2501\">\n </path>\n </svg>\n )\n);\n\nLastUpdatedIcon.displayName = \"LastUpdated\";\n\nexport default LastUpdatedIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SnippetsIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.825 17.527a.111.111 0 0 1-.107-.142l3.05-10.837a.111.111 0 0 1 .108-.081H14.2c.074 0 .127.07.107.141l-3.063 10.838a.111.111 0 0 1-.107.08H9.825Zm-2.146-2.732a.11.11 0 0 1-.079-.033l-2.667-2.704a.111.111 0 0 1 0-.156L7.6 9.211a.111.111 0 0 1 .08-.033h1.702c.1 0 .149.12.079.19l-2.534 2.534a.111.111 0 0 0 0 .157l2.535 2.546c.07.07.02.19-.079.19H7.68Zm6.954 0a.111.111 0 0 1-.079-.19l2.525-2.546a.111.111 0 0 0 0-.157l-2.524-2.535a.111.111 0 0 1 .079-.19h1.692c.03 0 .058.013.078.034l2.68 2.69a.111.111 0 0 1 0 .157l-2.68 2.704a.111.111 0 0 1-.078.033h-1.693ZM12 24C5.383 24 0 18.617 0 12S5.383 0 12 0s12 5.383 12 12-5.383 12-12 12Zm0-22.667C6.118 1.333 1.333 6.118 1.333 12S6.118 22.667 12 22.667 22.667 17.882 22.667 12 17.882 1.333 12 1.333Z\"\n fill={themeSvgIconColor} \n />\n </svg>\n )\n);\n\nSnippetsIcon.displayName = \"Snippets\";\n\nexport default SnippetsIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst TestIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M640 126.577778c-140.8 0-256 115.2-256 256 0 65.422222 25.6 125.155556 65.422222 170.666666l-91.022222 91.022223-35.555556-35.555556-174.933333 176.355556c-25.6 25.6-25.6 68.266667 0 93.866666 25.6 25.6 68.266667 25.6 93.866667 0l176.355555-176.355555-38.4-38.4 91.022223-91.022222c45.511111 41.244444 105.244444 65.422222 170.666666 65.422222 140.8 0 256-115.2 256-256-1.422222-142.222222-116.622222-256-257.422222-256z m19.911111 462.222222c-41.244444 0-75.377778-34.133333-75.377778-75.377778v-4.266666c0-8.533333 5.688889-14.222222 14.222223-14.222223s14.222222 5.688889 14.222222 14.222223v4.266666c0 25.6 21.333333 46.933333 46.933333 46.933334 8.533333 0 14.222222 5.688889 14.222222 14.222222s-5.688889 14.222222-14.222222 14.222222zM817.777778 341.333333h-58.311111c-2.844444 12.8-7.111111 24.177778-14.222223 35.555556l41.244445 41.244444c5.688889 5.688889 5.688889 14.222222 0 19.911111-2.844444 2.844444-7.111111 4.266667-9.955556 4.266667-2.844444 0-7.111111-1.422222-9.955555-4.266667L725.333333 396.8c-14.222222 9.955556-31.288889 15.644444-49.777777 15.644444-18.488889 0-35.555556-5.688889-49.777778-15.644444l-41.244445 41.244444c-2.844444 2.844444-7.111111 4.266667-9.955555 4.266667-2.844444 0-7.111111-1.422222-9.955556-4.266667-5.688889-5.688889-5.688889-14.222222 0-19.911111l41.244445-41.244444c-7.111111-9.955556-12.8-22.755556-14.222223-35.555556h-58.311111c-8.533333 0-14.222222-5.688889-14.222222-14.222222s5.688889-14.222222 14.222222-14.222222h58.311111c2.844444-12.8 7.111111-24.177778 14.222223-35.555556l-41.244445-41.244444c-5.688889-5.688889-5.688889-14.222222 0-19.911111 5.688889-5.688889 14.222222-5.688889 19.911111 0l41.244445 41.244444c14.222222-9.955556 31.288889-15.644444 49.777778-15.644444 18.488889 0 35.555556 5.688889 49.777777 15.644444l41.244445-41.244444c5.688889-5.688889 14.222222-5.688889 19.911111 0 5.688889 5.688889 5.688889 14.222222 0 19.911111l-41.244445 41.244444c7.111111 9.955556 12.8 22.755556 14.222223 35.555556h58.311111c8.533333 0 14.222222 5.688889 14.222222 14.222222s-5.688889 14.222222-14.222222 14.222222z\"\n fill={themeSvgIconColor} p-id=\"7101\">\n </path>\n </svg>\n )\n);\n\nTestIcon.displayName = \"Test\";\n\nexport default TestIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst DiffIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path fill={themeSvgIconColor}\n d=\"M18 23H4c-1.1 0-2-.9-2-2V7h2v14h14zM14.5 7V5h-2v2h-2v2h2v2h2V9h2V7zm2 6h-6v2h6zM15 1H8c-1.1 0-1.99.9-1.99 2L6 17c0 1.1.89 2 1.99 2H19c1.1 0 2-.9 2-2V7zm4 16H8V3h6.17L19 7.83z\" \n />\n </svg>\n )\n);\n\nDiffIcon.displayName = \"Diff\";\n\nexport default DiffIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst DPAIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M23.373 20.364a4.682 4.682 0 0 1-8.1 0 4.694 4.694 0 0 1 0-4.669c.326-.564.778-.995 1.272-1.358.472.198 3.394 1.421 3.917 1.717a2.291 2.291 0 0 0-3.109.842 2.304 2.304 0 0 0 0 2.267 2.267 2.267 0 0 0 2.564 1.053 2.254 2.254 0 0 0 1.375-1.053 2.328 2.328 0 0 0 0-2.279 2.478 2.478 0 0 0-.83-.83l-3.53-2.045-5.727-3.317a5.022 5.022 0 0 0 4.139-.36l6.32 3.641a4.682 4.682 0 0 1 1.709 6.391zm-14-2.01v.004l-3.558 2a2.27 2.27 0 0 1-3.102-.823 2.267 2.267 0 0 1 2.551-3.332c.591.161 1.089.56 1.375 1.102v-.05a2.27 2.27 0 0 1-.824 3.103c.559-.303 3.352-2.62 3.465-2.714-.304-1.744-1.573-3.24-3.396-3.72a4.608 4.608 0 0 0-3.558.479 4.67 4.67 0 0 0-1.694 6.383 4.682 4.682 0 0 0 2.865 2.192 4.657 4.657 0 0 0 3.66-.56l6.877-3.973c-.019-1.303.512-2.604 1.375-3.58l-6.036 3.49zm-2.4-4.703v-8.1h.012c.002-1.617.821-3.189 2.321-4.055a4.682 4.682 0 1 1 2.337 8.737 4.678 4.678 0 0 1-1.55-.28c-.016-.085-.733-3.796-.733-4.188L9.29 9.59v6.761a4.075 4.075 0 0 0-2.317-2.7zm2.403-8.1a2.279 2.279 0 1 0 4.546 0 2.23 2.23 0 0 0-.297-1.127 2.279 2.279 0 0 0-1.97-1.14 2.267 2.267 0 0 0-2.279 2.254v.013z\"\n fill={themeSvgIconColor} />\n </svg>\n )\n);\n\nDPAIcon.displayName = \"DPA\";\n\nexport default DPAIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SubPIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M11.999 0a12 12 0 100 24A12 12 0 0012 0zm1.183 5.255h.048c3.273 0 5.247 1.48 5.247 4.103 0 2.727-1.974 4.536-5.295 4.669v-1.742c1.837-.11 2.801-1.061 2.801-2.744 0-1.498-.957-2.442-2.8-2.516zm-1.773.026l.005 11.896c.779.052 1.583.18 2.26.337l-.269 1.324H6.788v-1.324a14.96 14.96 0 012.26-.337V6.993a14.71 14.71 0 01-2.26-.337V5.33h2.26c.64 0 1.469-.028 2.361-.05z\" \n fill=\"none\" stroke={themeSvgIconColor} strokeWidth=\"1.5\" />\n </svg>\n )\n);\n\nSubPIcon.displayName = \"SubP\";\n\nexport default SubPIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst T3PIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M9.71 2.136a1.43 1.43 0 0 0-2.047 0h-.007a1.48 1.48 0 0 0-.421 1.042c0 .41.161.777.422 1.039l.007.007c.257.264.616.426 1.019.426.404 0 .766-.162 1.027-.426l.003-.007c.261-.262.421-.629.421-1.039 0-.408-.159-.777-.421-1.042H9.71zM8.683 22.295c.404 0 .766-.167 1.027-.429l.003-.008c.261-.261.421-.631.421-1.036 0-.41-.159-.778-.421-1.044H9.71a1.42 1.42 0 0 0-1.027-.432 1.4 1.4 0 0 0-1.02.432h-.007c-.26.266-.422.634-.422 1.044 0 .406.161.775.422 1.036l.007.008c.258.262.617.429 1.02.429zm7.89-4.462c.359-.096.683-.33.882-.684l.027-.052a1.47 1.47 0 0 0 .114-1.067 1.454 1.454 0 0 0-.675-.896l-.021-.014a1.425 1.425 0 0 0-1.078-.132c-.36.091-.684.335-.881.686-.2.349-.241.75-.146 1.119.099.363.33.691.675.896h.002c.346.203.737.239 1.101.144zm-6.405-7.342a2.083 2.083 0 0 0-1.485-.627c-.58 0-1.103.242-1.482.627-.378.385-.612.916-.612 1.507s.233 1.124.612 1.514a2.08 2.08 0 0 0 2.967 0c.379-.39.612-.923.612-1.514s-.233-1.122-.612-1.507zm-.835-2.51c.843.141 1.6.552 2.178 1.144h.004c.092.093.182.196.265.299l1.446-.851a3.176 3.176 0 0 1-.047-1.808 3.149 3.149 0 0 1 1.456-1.926l.025-.016a3.062 3.062 0 0 1 2.345-.306c.77.21 1.465.721 1.898 1.482v.002c.431.757.518 1.626.313 2.408a3.145 3.145 0 0 1-1.456 1.928l-.198.118h-.02a3.095 3.095 0 0 1-2.154.201 3.127 3.127 0 0 1-1.514-.944l-1.444.848a4.162 4.162 0 0 1 0 2.879l1.444.846c.413-.47.939-.789 1.514-.944a3.041 3.041 0 0 1 2.371.319l.048.023v.002a3.17 3.17 0 0 1 1.408 1.906 3.215 3.215 0 0 1-.313 2.405l-.026.053-.003-.005a3.147 3.147 0 0 1-1.867 1.436 3.096 3.096 0 0 1-2.371-.318v-.006a3.156 3.156 0 0 1-1.456-1.927 3.175 3.175 0 0 1 .047-1.805l-1.446-.848a3.905 3.905 0 0 1-.265.294l-.004.005a3.938 3.938 0 0 1-2.178 1.138v1.699a3.09 3.09 0 0 1 1.56.862l.002.004c.565.572.914 1.368.914 2.243 0 .873-.35 1.664-.914 2.239l-.002.009a3.1 3.1 0 0 1-2.21.931 3.1 3.1 0 0 1-2.206-.93h-.002v-.009a3.186 3.186 0 0 1-.916-2.239c0-.875.35-1.672.916-2.243v-.004h.002a3.1 3.1 0 0 1 1.558-.862v-1.699a3.926 3.926 0 0 1-2.176-1.138l-.006-.005a4.098 4.098 0 0 1-1.173-2.874c0-1.122.452-2.136 1.173-2.872h.006a3.947 3.947 0 0 1 2.176-1.144V6.289a3.137 3.137 0 0 1-1.558-.864h-.002v-.004a3.192 3.192 0 0 1-.916-2.243c0-.871.35-1.669.916-2.243l.002-.002A3.084 3.084 0 0 1 8.683 0c.861 0 1.641.355 2.21.932v.002h.002c.565.574.914 1.372.914 2.243 0 .876-.35 1.667-.914 2.243l-.002.005a3.142 3.142 0 0 1-1.56.864v1.692zm8.121-1.129l-.012-.019a1.452 1.452 0 0 0-.87-.668 1.43 1.43 0 0 0-1.103.146h.002c-.347.2-.58.529-.677.896-.095.365-.054.768.146 1.119l.007.009c.2.347.519.579.874.673.357.103.755.059 1.098-.144l.019-.009a1.47 1.47 0 0 0 .657-.885 1.493 1.493 0 0 0-.141-1.118\"\n fill={themeSvgIconColor} \n />\n </svg>\n )\n);\n\nT3PIcon.displayName = \"T3P\";\n\nexport default T3PIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst HttpIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 1024 1024\" xmlns=\"http://www.w3.org/2000/svg\">\n <path\n d=\"M400.896 704.292571v194.889143a376.795429 376.795429 0 0 1-84.845714-12.8c-21.028571-34.486857-48.384-93.732571-65.682286-182.089143h150.528z m448 8.521143v38.070857H803.108571V885.028571h-41.984v-134.144h-89.929142V885.028571h-41.984v-134.144h-45.860572v-38.034285h265.508572z m-368.347429 0v63.561143h50.395429V712.777143h41.984V885.028571h-41.984v-70.582857H480.548571v70.582857h-41.947428V712.777143h41.947428z m433.188572 0c19.456 0 32.146286 0.841143 38.509714 2.633143 10.057143 2.742857 18.505143 8.740571 25.161143 17.810286 6.729143 9.069714 10.020571 20.662857 10.020571 34.596571 0 10.715429-1.901714 19.894857-5.741714 27.428572a49.115429 49.115429 0 0 1-33.024 26.404571c-7.899429 1.645714-19.017143 2.450286-33.462857 2.450286h-14.994286V885.028571h-41.947428V712.777143h55.478857z m-691.602286-8.521143c15.579429 79.798857 39.460571 135.606857 59.465143 171.154286a377.526857 377.526857 0 0 1-198.144-171.154286h138.678857z m693.248 35.84h-25.929143v56.576h22.491429c12.946286 0 21.686857-0.914286 26.697143-2.925714a26.038857 26.038857 0 0 0 12.214857-9.984 27.757714 27.757714 0 0 0 4.388571-15.506286 26.733714 26.733714 0 0 0-6.217143-18.029714 26.697143 26.697143 0 0 0-15.652571-8.923428 114.505143 114.505143 0 0 0-17.993143-1.170286z m-514.486857-203.410285v139.629714h-155.428571a957.586286 957.586286 0 0 1-11.702858-139.629714h167.131429z m-195.108571 0a955.977143 955.977143 0 0 0 11.776 139.629714H70.107429A372.626286 372.626286 0 0 1 36.571429 536.722286h169.216z m390.217142 0a957.696 957.696 0 0 1-11.702857 139.629714h-155.428571v-139.629714h167.131428z m193.170286 0a374.930286 374.930286 0 0 1-33.389714 139.629714H612.205714a956.342857 956.342857 0 0 0 11.776-139.629714h165.193143z m-32.548571-167.570286c19.346286 42.934857 30.902857 89.965714 32.841143 139.629714h-165.376c-0.694857-52.48-5.010286-98.742857-11.556572-139.629714h144.091429z m-355.730286 0v139.629714H233.581714c0.731429-52.516571 5.12-98.742857 11.629715-139.629714h155.684571z m-183.661714 0a965.412571 965.412571 0 0 0-11.593143 139.629714H36.790857c1.828571-49.627429 13.019429-96.768 32.256-139.629714H217.234286z m367.323428 0c6.546286 40.923429 10.898286 87.113143 11.629715 139.629714h-167.350858v-139.629714h155.721143z m-34.998857-197.595429c82.651429 32.109714 150.528 92.891429 193.060572 169.691429H607.817143c-15.286857-78.189714-38.509714-133.741714-58.258286-169.691429zM428.873143 146.285714c29.696 1.316571 58.514286 5.997714 86.125714 13.750857 20.955429 35.181714 47.908571 93.952 64.987429 181.174858h-151.149715V146.285714z m-27.977143 0.036572v194.925714H249.819429c17.115429-87.771429 44.324571-146.724571 65.316571-181.833143A376.758857 376.758857 0 0 1 400.896 146.285714z m-120.100571 24.064c-19.858286 35.949714-43.410286 91.794286-58.88 170.825143H83.053714a378.404571 378.404571 0 0 1 197.741715-170.788572z\"\n fill={themeSvgIconColor} p-id=\"1509\">\n </path>\n </svg>\n )\n);\n\nHttpIcon.displayName = \"Http\";\n\nexport default HttpIcon;\n","import React from 'react';\nimport { LucideProps } from 'lucide-react';\nimport { themeSvgIconColor } from '@base-ui/lib/theme-util';\n\nconst SchemeIcon = React.forwardRef<SVGSVGElement, LucideProps>(\n ({ color = \"currentColor\", className, ...props }, ref) => (\n <svg\n ref={ref}\n role=\"img\" \n className={className} \n {...props}\n viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\">\n <path fill={themeSvgIconColor}\n d=\"M5.11 21.186 9.887 7.303 8.945 5.11H7.407V2.813h2.296c.483 0 .896.299 1.068.724l6.58 15.353h1.539v2.296h-2.297a1.14 1.14 0 0 1-1.068-.735L11.231 10.45 7.544 21.186z\"\n />\n </svg>\n )\n);\n\nSchemeIcon.displayName = \"Scheme\";\n\nexport default SchemeIcon;\n","// Import all built-in icon components\nimport GitHubIcon from './github';\nimport D8Icon from './d8';\nimport ClerkIcon from './clerk';\nimport ItermIcon from './iterm';\nimport MarkdownIcon from './markdown';\nimport MDXIcon from './mdx';\nimport HtmlIcon from './html';\nimport JsonIcon from './json';\nimport XMLIcon from './xml';\nimport YamlIcon from './yaml';\nimport CSVIcon from './csv';\nimport TxtIcon from './txt';\nimport JavaIcon from './java';\nimport SQLIcon from './sql';\nimport LogIcon from './log';\nimport MACIcon from './mac';\nimport BTCIcon from './bitcoin';\nimport CSSIcon from './css';\nimport MmdIcon from './mermaid';\nimport LastUpdatedIcon from './last-updated';\nimport SnippetsIcon from './snippets';\nimport TestIcon from './test';\nimport DiffIcon from './diff';\nimport DPAIcon from './dpa';\nimport SubPIcon from './subp';\nimport T3PIcon from './t3p';\nimport HttpIcon from './http';\nimport SchemeIcon from './scheme';\n\n// Built-in icon components mapped by display name - internal use only\nexport const BUILTIN_ICON_COMPONENTS = {\n GitHub: GitHubIcon,\n D8: D8Icon,\n Clerk: ClerkIcon,\n Iterm: ItermIcon,\n Markdown: MarkdownIcon,\n MDX: MDXIcon,\n Html: HtmlIcon,\n Json: JsonIcon,\n XML: XMLIcon,\n Yaml: YamlIcon,\n CSV: CSVIcon,\n Txt: TxtIcon,\n Java: JavaIcon,\n SQL: SQLIcon,\n Log: LogIcon,\n MAC: MACIcon,\n BTC: BTCIcon,\n CSS: CSSIcon,\n Mmd: MmdIcon,\n LastUpdated: LastUpdatedIcon,\n Snippets: SnippetsIcon,\n Test: TestIcon,\n Diff: DiffIcon,\n DPA: DPAIcon,\n SubP: SubPIcon,\n T3P: T3PIcon,\n Http: HttpIcon,\n Scheme: SchemeIcon,\n} as const;","/*\n * This file re-exports selected icons from 'lucide-react'.\n * This is the single place to manage which lucide-react icons are available globally.\n * Editing the list of exports here will automatically update their availability\n * in globalLucideIcons.\n */\nexport {\n AlbumIcon,\n AlignHorizontalJustifyEnd,\n ArrowLeft,\n ArrowRight,\n ArrowUp,\n Binary,\n Blocks,\n BookX,\n BringToFront,\n Building2,\n Bug,\n Car,\n Circle,\n CircleAlert,\n CircleSmall,\n Check,\n ChevronDown,\n ChevronLeft,\n ChevronRight,\n ChevronUp,\n Cpu,\n ComponentIcon,\n DatabaseZap,\n Dot,\n Download,\n Eye,\n ExternalLink,\n Facebook,\n FileLock2,\n Fingerprint,\n Gift,\n GitPullRequestArrow,\n Globe,\n GlobeLock,\n GripVertical,\n HandHeart,\n Handshake,\n Highlighter,\n HousePlus,\n Info,\n ImageDown,\n ImageOff,\n ImageUp,\n Keyboard,\n LandPlot,\n Layout,\n LayoutTemplate,\n LibraryIcon,\n Link,\n Loader2,\n LogIn,\n LogOut,\n MoreHorizontal,\n MousePointerClick,\n PanelLeft,\n PanelsTopLeft,\n Pencil,\n Pi,\n Palette,\n ReceiptText,\n Regex,\n Replace,\n Rss,\n Scale,\n Search,\n Share,\n ShieldUser,\n SquareDashedBottomCode,\n SquareTerminal,\n Server,\n SplinePointer,\n Sparkles,\n Star,\n Tablets,\n Terminal,\n Twitter,\n X,\n Zap\n} from 'lucide-react'; ","/* \n * For the icon used in the project, unified management is required\n * 1. Strictly control the number of icons introduced to reduce the project package size and use them as needed\n * 2. Unify the style customization, and keep the icon style consistent within the project\n * 3. Mainly support the introduction of icons in mdx files, and report errors in advance\n*/\n\nimport { BUILTIN_ICON_COMPONENTS } from '@base-ui/assets';\nimport { themeIconColor, themeSvgIconSize } from '@base-ui/lib/theme-util';\n\nimport * as limitedIconsModule from '@lib/limited-lucide-icons';\nimport { type LucideProps } from 'lucide-react';\nimport React from 'react';\n\n\n// Type for styled Lucide icon components (accepts LucideProps)\ntype StyledLucideIconComponent = (props: LucideProps) => React.ReactElement;\n\n// Union type for all icon components (both Lucide and built-in)\ntype IconComponent = StyledLucideIconComponent | React.ComponentType<LucideProps>;\n\n// Style Lucide icons with global color\nconst tempStyledLimitedIcons: Partial<Record<keyof typeof limitedIconsModule, StyledLucideIconComponent>> = {};\n\nfor (const iconNameKey in limitedIconsModule) {\n if (Object.prototype.hasOwnProperty.call(limitedIconsModule, iconNameKey)) {\n const iconName = iconNameKey as keyof typeof limitedIconsModule;\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const OriginalIconComponent = limitedIconsModule[iconName] as any; \n\n if (typeof OriginalIconComponent === 'function' || \n (typeof OriginalIconComponent === 'object' && \n OriginalIconComponent !== null && \n OriginalIconComponent.$$typeof === Symbol.for('react.forward_ref'))) {\n const ComponentToRender = OriginalIconComponent as React.ComponentType<LucideProps>;\n \n const StyledIcon = (props: LucideProps): React.ReactElement => {\n const originalClassName = props.className || '';\n // Check if user provided a text color class, if so, don't use global color\n const hasTextColor = /\\btext-\\w+(-\\d+)?\\b/.test(originalClassName);\n // Check if user provided size/dimension classes\n const hasSizeClass = /\\b(size-\\d+|w-\\d+|h-\\d+)\\b/.test(originalClassName);\n \n const newClassName = hasTextColor \n ? originalClassName \n : `${themeIconColor} ${originalClassName}`.trim();\n \n // If user provided size classes in className, don't use default size\n // Otherwise, use inline styles to ensure size precedence over external CSS\n const finalProps = hasSizeClass \n ? { ...props, className: newClassName, size: undefined }\n : { \n ...props, \n className: newClassName,\n style: { \n width: props.size || themeSvgIconSize, \n height: props.size || themeSvgIconSize,\n ...props.style \n }\n };\n \n return <ComponentToRender {...finalProps} />;\n };\n StyledIcon.displayName = `Styled(${iconName})`;\n tempStyledLimitedIcons[iconName] = StyledIcon;\n } else {\n console.warn(`[global-icon.tsx] Skipped styling for \"${iconName}\" as it is not a function, undefined, or not a recognized React component type. Value:`, OriginalIconComponent);\n }\n }\n}\n\nconst styledLimitedIconsPart = tempStyledLimitedIcons as {\n [K in keyof typeof limitedIconsModule]: StyledLucideIconComponent;\n};\n\n// Wrap built-in SVG components with the same className handling logic\nconst tempWrappedBuiltinIcons: Partial<Record<keyof typeof BUILTIN_ICON_COMPONENTS, StyledLucideIconComponent>> = {};\nfor (const [iconName, IconComponent] of Object.entries(BUILTIN_ICON_COMPONENTS)) {\n const WrappedIcon = (props: LucideProps): React.ReactElement => {\n const originalClassName = props.className || '';\n // Check if user provided a text color class, if so, don't use global color\n const hasTextColor = /\\btext-\\w+(-\\d+)?\\b/.test(originalClassName);\n // Check if user provided size/dimension classes\n const hasSizeClass = /\\b(size-\\d+|w-\\d+|h-\\d+)\\b/.test(originalClassName);\n \n const newClassName = hasTextColor \n ? originalClassName \n : `${themeIconColor} ${originalClassName}`.trim();\n \n // If user provided size classes in className, don't use default size\n // Otherwise, use inline styles to ensure size precedence over external CSS\n const finalProps = hasSizeClass \n ? { ...props, className: newClassName, size: undefined }\n : { \n ...props, \n className: newClassName,\n style: { \n width: props.size || themeSvgIconSize, \n height: props.size || themeSvgIconSize,\n ...props.style \n }\n };\n \n return <IconComponent {...finalProps} />;\n };\n WrappedIcon.displayName = `Wrapped(${iconName})`;\n tempWrappedBuiltinIcons[iconName as keyof typeof BUILTIN_ICON_COMPONENTS] = WrappedIcon;\n}\n\nconst wrappedBuiltinIconsPart = tempWrappedBuiltinIcons as {\n [K in keyof typeof BUILTIN_ICON_COMPONENTS]: StyledLucideIconComponent;\n};\n\n// All icons should be imported from here, and icons will occupy the project package size, so it is best to design and plan in advance\nexport const globalLucideIcons = {\n ...styledLimitedIconsPart,\n ...wrappedBuiltinIconsPart, // Spread all wrapped built-in icon components\n};\n\n// Default fallback icon - centralized configuration\n// Use a safe fallback that we know exists in both Lucide and custom icons\nconst DEFAULT_FALLBACK_ICON = 'BTC' as keyof typeof globalLucideIcons;\n\n/**\n * use iconKey to load icon safely\n * @param iconKey translation or configuration\n * @param createElement whether to return a React element instead of component\n */\nexport function getGlobalIcon(\n iconKey: string | undefined\n): IconComponent;\nexport function getGlobalIcon(\n iconKey: string | undefined,\n createElement: true\n): React.ReactElement | undefined;\nexport function getGlobalIcon(\n iconKey: string | undefined,\n createElement?: boolean\n): IconComponent | React.ReactElement | undefined {\n // Handle undefined iconKey case (for getIconElement compatibility)\n if (!iconKey) {\n if (createElement) {\n return undefined;\n }\n return globalLucideIcons[DEFAULT_FALLBACK_ICON] as IconComponent;\n }\n \n const Icon = globalLucideIcons[iconKey as keyof typeof globalLucideIcons];\n if (!Icon) {\n if (process.env.NODE_ENV !== 'production') {\n // only show in dev|test\n // eslint-disable-next-line no-console\n console.warn(\n `[global-icon] iconKey \"${iconKey}\" is not defined in globalIcons, will use default \"${String(DEFAULT_FALLBACK_ICON)}\" icon, please check!`\n );\n }\n const FallbackIcon = globalLucideIcons[DEFAULT_FALLBACK_ICON];\n if (createElement) {\n return React.createElement(FallbackIcon as React.ComponentType<any>);\n }\n return FallbackIcon as IconComponent;\n }\n \n if (createElement) {\n return React.createElement(Icon as React.ComponentType<any>);\n }\n return Icon as IconComponent;\n}\n\n/**\n * Get icon element (for fumadocs source compatibility)\n * This is a wrapper around getGlobalIcon for backwards compatibility\n * @param icon icon key from frontmatter\n */\nexport function getIconElement(\n icon: string | undefined, \n): React.ReactElement | undefined {\n // Note: defaultIconKey parameter is kept for backwards compatibility but ignored\n // The function now uses the centralized DEFAULT_FALLBACK_ICON\n return getGlobalIcon(icon, true);\n}\n\n// Define the default site icon as a functional component (for export)\nexport const DefaultSiteIcon = () => (\n <globalLucideIcons.Zap className={`h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}`} />\n);\n\n// Note: SiteIcon is available from @base-ui/lib/site-icon as a separate client component\n\n// Define 404 not found icon as a functional component (fixed, no configuration)\nexport const NotFoundIcon = () => (\n <globalLucideIcons.SquareTerminal className={`h-8 w-8 rounded-full p-1 shadow-lg ring-0.5 border border-purple-500 ring-purple-500/20 ${themeIconColor}`} />\n); ","import { clsx, type ClassValue } from \"clsx\"\nimport { twMerge } from \"tailwind-merge\"\nimport { format, isValid } from 'date-fns';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs))\n}\n\nexport function formatTimestamp(timestamp: string, formatter: string) {\n const fail = \"\";\n if (!timestamp) {\n return fail;\n }\n\n // Assume gitTimestamp is a millisecond timestamp string\n const timestampMs = parseInt(timestamp, 10);\n if (isNaN(timestampMs)) {\n return fail;\n }\n\n const date = new Date(timestampMs); // or if it is determined to be seconds, use fromUnixTime(timestampSeconds)\n\n // Check if the date is valid\n if (!isValid(date)) {\n return fail;\n }\n\n // Format the date\n try {\n // 'yyyy-MM-dd HH:mm:ss' is the date-fns formatting pattern\n return format(date, formatter);\n } catch (error) {\n // format may also throw an error due to an invalid date (although isValid should have already caught it)\n console.error(\"Error formatting date:\", error);\n return fail;\n }\n} ","\"use client\"\n\nimport * as React from \"react\"\nimport * as AlertDialogPrimitive from \"@radix-ui/react-alert-dialog\"\n\nimport { cn } from \"@lib/utils\"\nimport { buttonVariants } from \"@base-ui/ui/button\"\n\nconst AlertDialog = AlertDialogPrimitive.Root\n\nconst AlertDialogTrigger = AlertDialogPrimitive.Trigger\n\nconst AlertDialogPortal = AlertDialogPrimitive.Portal\n\nconst AlertDialogOverlay = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Overlay\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 ref={ref}\n />\n))\nAlertDialogOverlay.displayName = AlertDialogPrimitive.Overlay.displayName\n\nconst AlertDialogContent = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <AlertDialogPortal>\n <AlertDialogOverlay />\n <AlertDialogPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg 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 {...props}\n />\n </AlertDialogPortal>\n))\nAlertDialogContent.displayName = AlertDialogPrimitive.Content.displayName\n\nconst AlertDialogHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nAlertDialogHeader.displayName = \"AlertDialogHeader\"\n\nconst AlertDialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nAlertDialogFooter.displayName = \"AlertDialogFooter\"\n\nconst AlertDialogTitle = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold\", className)}\n {...props}\n />\n))\nAlertDialogTitle.displayName = AlertDialogPrimitive.Title.displayName\n\nconst AlertDialogDescription = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nAlertDialogDescription.displayName =\n AlertDialogPrimitive.Description.displayName\n\nconst AlertDialogAction = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Action>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Action>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Action\n ref={ref}\n className={cn(buttonVariants(), className)}\n {...props}\n />\n))\nAlertDialogAction.displayName = AlertDialogPrimitive.Action.displayName\n\nconst AlertDialogCancel = React.forwardRef<\n React.ElementRef<typeof AlertDialogPrimitive.Cancel>,\n React.ComponentPropsWithoutRef<typeof AlertDialogPrimitive.Cancel>\n>(({ className, ...props }, ref) => (\n <AlertDialogPrimitive.Cancel\n ref={ref}\n className={cn(\n buttonVariants({ variant: \"outline\" }),\n \"mt-2 sm:mt-0\",\n className\n )}\n {...props}\n />\n))\nAlertDialogCancel.displayName = AlertDialogPrimitive.Cancel.displayName\n\nexport {\n AlertDialog,\n AlertDialogPortal,\n AlertDialogOverlay,\n AlertDialogTrigger,\n AlertDialogContent,\n AlertDialogHeader,\n AlertDialogFooter,\n AlertDialogTitle,\n AlertDialogDescription,\n AlertDialogAction,\n AlertDialogCancel,\n}\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport { cn } from \"@lib/utils\"\n\nconst buttonVariants = cva(\n \"inline-flex items-center gap-2 whitespace-nowrap rounded-md text-sm ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n {\n variants: {\n variant: {\n default: \"bg-primary text-primary-foreground hover:bg-primary/90\",\n destructive:\n \"bg-destructive text-destructive-foreground hover:bg-destructive/90\",\n outline:\n \"border border-input bg-background hover:bg-accent hover:text-accent-foreground\",\n secondary:\n \"bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n ghost: \"hover:bg-accent hover:text-accent-foreground\",\n link: \"text-primary underline-offset-4 hover:underline\",\n },\n size: {\n default: \"h-10 px-4 py-2\",\n sm: \"h-9 rounded-md px-3\",\n lg: \"h-11 rounded-md px-8\",\n icon: \"h-10 w-10\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nexport interface ButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement>,\n VariantProps<typeof buttonVariants> {\n asChild?: boolean\n loading?: boolean\n align?: 'left' | 'center' | 'right'\n}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, loading = false, children, ...props }, ref) => {\n const Comp = asChild ? Slot : \"button\"\n \n if (asChild) {\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={loading || props.disabled}\n {...props}\n >\n {children}\n </Comp>\n )\n }\n\n return (\n <Comp\n className={cn(buttonVariants({ variant, size, className }))}\n ref={ref}\n disabled={loading || props.disabled}\n {...props}\n >\n {children}\n {loading && <icons.Loader2 className=\"ml-2 h-4 w-4 animate-spin\" />}\n </Comp>\n )\n }\n)\nButton.displayName = \"Button\"\n\nexport { Button, buttonVariants }\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst alertVariants = cva(\n \"relative w-full rounded-lg border p-4 [&>svg~*]:pl-7 [&>svg+div]:translate-y-[-3px] [&>svg]:absolute [&>svg]:left-4 [&>svg]:top-4 [&>svg]:text-foreground\",\n {\n variants: {\n variant: {\n default: \"bg-background text-foreground\",\n destructive:\n \"border-destructive/50 text-destructive dark:border-destructive [&>svg]:text-destructive\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Alert = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & VariantProps<typeof alertVariants>\n>(({ className, variant, ...props }, ref) => (\n <div\n ref={ref}\n role=\"alert\"\n className={cn(alertVariants({ variant }), className)}\n {...props}\n />\n))\nAlert.displayName = \"Alert\"\n\nconst AlertTitle = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLHeadingElement>\n>(({ className, ...props }, ref) => (\n <h5\n ref={ref}\n className={cn(\"mb-1 font-medium leading-none tracking-tight\", className)}\n {...props}\n />\n))\nAlertTitle.displayName = \"AlertTitle\"\n\nconst AlertDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm [&_p]:leading-relaxed\", className)}\n {...props}\n />\n))\nAlertDescription.displayName = \"AlertDescription\"\n\nexport { Alert, AlertTitle, AlertDescription }\n","\"use client\"\n\nimport * as AspectRatioPrimitive from \"@radix-ui/react-aspect-ratio\"\n\nconst AspectRatio = AspectRatioPrimitive.Root\n\nexport { AspectRatio }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as AvatarPrimitive from \"@radix-ui/react-avatar\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Avatar = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 shrink-0 overflow-hidden rounded-full\",\n className\n )}\n {...props}\n />\n))\nAvatar.displayName = AvatarPrimitive.Root.displayName\n\nconst AvatarImage = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Image>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Image>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Image\n ref={ref}\n className={cn(\"aspect-square h-full w-full\", className)}\n {...props}\n />\n))\nAvatarImage.displayName = AvatarPrimitive.Image.displayName\n\nconst AvatarFallback = React.forwardRef<\n React.ElementRef<typeof AvatarPrimitive.Fallback>,\n React.ComponentPropsWithoutRef<typeof AvatarPrimitive.Fallback>\n>(({ className, ...props }, ref) => (\n <AvatarPrimitive.Fallback\n ref={ref}\n className={cn(\n \"flex h-full w-full items-center justify-center rounded-full bg-muted\",\n className\n )}\n {...props}\n />\n))\nAvatarFallback.displayName = AvatarPrimitive.Fallback.displayName\n\nexport { Avatar, AvatarImage, AvatarFallback }\n","import * as React from \"react\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst badgeVariants = cva(\n \"inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2\",\n {\n variants: {\n variant: {\n default:\n \"border-transparent bg-primary text-primary-foreground hover:bg-primary/80\",\n secondary:\n \"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80\",\n destructive:\n \"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80\",\n outline: \"text-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nexport interface BadgeProps\n extends React.HTMLAttributes<HTMLDivElement>,\n VariantProps<typeof badgeVariants> { }\n\nfunction Badge({ className, variant, ...props }: BadgeProps) {\n return (\n <div className={cn(badgeVariants({ variant }), className)} {...props} />\n )\n}\n\nexport { Badge, badgeVariants }\n","import * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Breadcrumb = React.forwardRef<\n HTMLElement,\n React.ComponentPropsWithoutRef<\"nav\"> & {\n separator?: React.ReactNode\n }\n>(({ ...props }, ref) => <nav ref={ref} aria-label=\"breadcrumb\" {...props} />)\nBreadcrumb.displayName = \"Breadcrumb\"\n\nconst BreadcrumbList = React.forwardRef<\n HTMLOListElement,\n React.ComponentPropsWithoutRef<\"ol\">\n>(({ className, ...props }, ref) => (\n <ol\n ref={ref}\n className={cn(\n \"flex flex-wrap items-center gap-1.5 break-words text-sm text-muted-foreground sm:gap-2.5\",\n className\n )}\n {...props}\n />\n))\nBreadcrumbList.displayName = \"BreadcrumbList\"\n\nconst BreadcrumbItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentPropsWithoutRef<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n className={cn(\"inline-flex items-center gap-1.5\", className)}\n {...props}\n />\n))\nBreadcrumbItem.displayName = \"BreadcrumbItem\"\n\nconst BreadcrumbLink = React.forwardRef<\n HTMLAnchorElement,\n React.ComponentPropsWithoutRef<\"a\"> & {\n asChild?: boolean\n }\n>(({ asChild, className, ...props }, ref) => {\n const Comp = asChild ? Slot : \"a\"\n\n return (\n <Comp\n ref={ref}\n className={cn(\"transition-colors hover:text-foreground\", className)}\n {...props}\n />\n )\n})\nBreadcrumbLink.displayName = \"BreadcrumbLink\"\n\nconst BreadcrumbPage = React.forwardRef<\n HTMLSpanElement,\n React.ComponentPropsWithoutRef<\"span\">\n>(({ className, ...props }, ref) => (\n <span\n ref={ref}\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn(\"font-normal text-foreground\", className)}\n {...props}\n />\n))\nBreadcrumbPage.displayName = \"BreadcrumbPage\"\n\nconst BreadcrumbSeparator = ({\n children,\n className,\n ...props\n}: React.ComponentProps<\"li\">) => (\n <li\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"[&>svg]:w-3.5 [&>svg]:h-3.5\", className)}\n {...props}\n >\n {children ?? <icons.ChevronRight />}\n </li>\n)\nBreadcrumbSeparator.displayName = \"BreadcrumbSeparator\"\n\nconst BreadcrumbEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <icons.MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n)\nBreadcrumbEllipsis.displayName = \"BreadcrumbElipssis\"\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport { DayPicker } from \"react-day-picker\"\n\nimport { cn } from \"@lib/utils\"\nimport { buttonVariants } from \"@base-ui/ui/button\"\n\nexport type CalendarProps = React.ComponentProps<typeof DayPicker>\n\nfunction Calendar({\n className,\n classNames,\n showOutsideDays = true,\n ...props\n}: CalendarProps) {\n return (\n <DayPicker\n showOutsideDays={showOutsideDays}\n className={cn(\"p-3\", className)}\n classNames={{\n months: \"flex flex-col sm:flex-row space-y-4 sm:space-x-4 sm:space-y-0\",\n month: \"space-y-4\",\n caption: \"flex justify-center pt-1 relative items-center\",\n caption_label: \"text-sm font-medium\",\n nav: \"space-x-1 flex items-center\",\n nav_button: cn(\n buttonVariants({ variant: \"outline\" }),\n \"h-7 w-7 bg-transparent p-0 opacity-50 hover:opacity-100\"\n ),\n nav_button_previous: \"absolute left-1\",\n nav_button_next: \"absolute right-1\",\n table: \"w-full border-collapse space-y-1\",\n head_row: \"flex\",\n head_cell:\n \"text-muted-foreground rounded-md w-9 font-normal text-[0.8rem]\",\n row: \"flex w-full mt-2\",\n cell: \"h-9 w-9 text-center text-sm p-0 relative [&:has([aria-selected].day-range-end)]:rounded-r-md [&:has([aria-selected].day-outside)]:bg-accent/50 [&:has([aria-selected])]:bg-accent first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md focus-within:relative focus-within:z-20\",\n day: cn(\n buttonVariants({ variant: \"ghost\" }),\n \"h-9 w-9 p-0 font-normal aria-selected:opacity-100\"\n ),\n day_range_end: \"day-range-end\",\n day_selected:\n \"bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground\",\n day_today: \"bg-accent text-accent-foreground\",\n day_outside:\n \"day-outside text-muted-foreground aria-selected:bg-accent/50 aria-selected:text-muted-foreground\",\n day_disabled: \"text-muted-foreground opacity-50\",\n day_range_middle:\n \"aria-selected:bg-accent aria-selected:text-accent-foreground\",\n day_hidden: \"invisible\",\n ...classNames,\n }}\n components={{\n IconLeft: ({ ..._props }) => <icons.ChevronLeft className=\"h-4 w-4\" />,\n IconRight: ({ ..._props }) => <icons.ChevronRight className=\"h-4 w-4\" />,\n }}\n {...props}\n />\n )\n}\nCalendar.displayName = \"Calendar\"\n\nexport { Calendar }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Card = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"rounded-lg border bg-card text-card-foreground shadow-xs\",\n className\n )}\n {...props}\n />\n))\nCard.displayName = \"Card\"\n\nconst CardHeader = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex flex-col space-y-1.5 p-6\", className)}\n {...props}\n />\n))\nCardHeader.displayName = \"CardHeader\"\n\nconst CardTitle = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\n \"text-2xl font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nCardTitle.displayName = \"CardTitle\"\n\nconst CardDescription = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nCardDescription.displayName = \"CardDescription\"\n\nconst CardContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"p-6 pt-0\", className)} {...props} />\n))\nCardContent.displayName = \"CardContent\"\n\nconst CardFooter = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn(\"flex items-center p-6 pt-0\", className)}\n {...props}\n />\n))\nCardFooter.displayName = \"CardFooter\"\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport useEmblaCarousel, {\n type UseEmblaCarouselType,\n} from \"embla-carousel-react\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\nimport { Button } from \"@base-ui/ui/button\"\n\ntype CarouselApi = UseEmblaCarouselType[1]\ntype UseCarouselParameters = Parameters<typeof useEmblaCarousel>\ntype CarouselOptions = UseCarouselParameters[0]\ntype CarouselPlugin = UseCarouselParameters[1]\n\ntype CarouselProps = {\n opts?: CarouselOptions\n plugins?: CarouselPlugin\n orientation?: \"horizontal\" | \"vertical\"\n setApi?: (api: CarouselApi) => void\n}\n\ntype CarouselContextProps = {\n carouselRef: ReturnType<typeof useEmblaCarousel>[0]\n api: ReturnType<typeof useEmblaCarousel>[1]\n scrollPrev: () => void\n scrollNext: () => void\n canScrollPrev: boolean\n canScrollNext: boolean\n} & CarouselProps\n\nconst CarouselContext = React.createContext<CarouselContextProps | null>(null)\n\nfunction useCarousel() {\n const context = React.useContext(CarouselContext)\n\n if (!context) {\n throw new Error(\"useCarousel must be used within a <Carousel />\")\n }\n\n return context\n}\n\nconst Carousel = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement> & CarouselProps\n>(\n (\n {\n orientation = \"horizontal\",\n opts,\n setApi,\n plugins,\n className,\n children,\n ...props\n },\n ref\n ) => {\n const [carouselRef, api] = useEmblaCarousel(\n {\n ...opts,\n axis: orientation === \"horizontal\" ? \"x\" : \"y\",\n },\n plugins\n )\n const [canScrollPrev, setCanScrollPrev] = React.useState(false)\n const [canScrollNext, setCanScrollNext] = React.useState(false)\n\n const onSelect = React.useCallback((api: CarouselApi) => {\n if (!api) {\n return\n }\n\n setCanScrollPrev(api.canScrollPrev())\n setCanScrollNext(api.canScrollNext())\n }, [])\n\n const scrollPrev = React.useCallback(() => {\n api?.scrollPrev()\n }, [api])\n\n const scrollNext = React.useCallback(() => {\n api?.scrollNext()\n }, [api])\n\n const handleKeyDown = React.useCallback(\n (event: React.KeyboardEvent<HTMLDivElement>) => {\n if (event.key === \"ArrowLeft\") {\n event.preventDefault()\n scrollPrev()\n } else if (event.key === \"ArrowRight\") {\n event.preventDefault()\n scrollNext()\n }\n },\n [scrollPrev, scrollNext]\n )\n\n React.useEffect(() => {\n if (!api || !setApi) {\n return\n }\n\n setApi(api)\n }, [api, setApi])\n\n React.useEffect(() => {\n if (!api) {\n return\n }\n\n onSelect(api)\n api.on(\"reInit\", onSelect)\n api.on(\"select\", onSelect)\n\n return () => {\n api?.off(\"select\", onSelect)\n }\n }, [api, onSelect])\n\n return (\n <CarouselContext.Provider\n value={{\n carouselRef,\n api: api,\n opts,\n orientation:\n orientation || (opts?.axis === \"y\" ? \"vertical\" : \"horizontal\"),\n scrollPrev,\n scrollNext,\n canScrollPrev,\n canScrollNext,\n }}\n >\n <div\n ref={ref}\n onKeyDownCapture={handleKeyDown}\n className={cn(\"relative\", className)}\n role=\"region\"\n aria-roledescription=\"carousel\"\n {...props}\n >\n {children}\n </div>\n </CarouselContext.Provider>\n )\n }\n)\nCarousel.displayName = \"Carousel\"\n\nconst CarouselContent = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { carouselRef, orientation } = useCarousel()\n\n return (\n <div ref={carouselRef} className=\"overflow-hidden\">\n <div\n ref={ref}\n className={cn(\n \"flex\",\n orientation === \"horizontal\" ? \"-ml-4\" : \"-mt-4 flex-col\",\n className\n )}\n {...props}\n />\n </div>\n )\n})\nCarouselContent.displayName = \"CarouselContent\"\n\nconst CarouselItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const { orientation } = useCarousel()\n\n return (\n <div\n ref={ref}\n role=\"group\"\n aria-roledescription=\"slide\"\n className={cn(\n \"min-w-0 shrink-0 grow-0 basis-full\",\n orientation === \"horizontal\" ? \"pl-4\" : \"pt-4\",\n className\n )}\n {...props}\n />\n )\n})\nCarouselItem.displayName = \"CarouselItem\"\n\nconst CarouselPrevious = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollPrev, canScrollPrev } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-left-12 top-1/2 -translate-y-1/2\"\n : \"-top-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollPrev}\n onClick={scrollPrev}\n {...props}\n >\n <icons.ArrowLeft className=\"h-4 w-4\" />\n <span className=\"sr-only\">Previous slide</span>\n </Button>\n )\n})\nCarouselPrevious.displayName = \"CarouselPrevious\"\n\nconst CarouselNext = React.forwardRef<\n HTMLButtonElement,\n React.ComponentProps<typeof Button>\n>(({ className, variant = \"outline\", size = \"icon\", ...props }, ref) => {\n const { orientation, scrollNext, canScrollNext } = useCarousel()\n\n return (\n <Button\n ref={ref}\n variant={variant}\n size={size}\n className={cn(\n \"absolute h-8 w-8 rounded-full\",\n orientation === \"horizontal\"\n ? \"-right-12 top-1/2 -translate-y-1/2\"\n : \"-bottom-12 left-1/2 -translate-x-1/2 rotate-90\",\n className\n )}\n disabled={!canScrollNext}\n onClick={scrollNext}\n {...props}\n >\n <icons.ArrowRight className=\"h-4 w-4\" />\n <span className=\"sr-only\">Next slide</span>\n </Button>\n )\n})\nCarouselNext.displayName = \"CarouselNext\"\n\nexport {\n type CarouselApi,\n Carousel,\n CarouselContent,\n CarouselItem,\n CarouselPrevious,\n CarouselNext,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as RechartsPrimitive from \"recharts\"\n\nimport { cn } from \"@lib/utils\"\n\n// Format: { THEME_NAME: CSS_SELECTOR }\nconst THEMES = { light: \"\", dark: \".dark\" } as const\n\nexport type ChartConfig = {\n [k in string]: {\n label?: React.ReactNode\n icon?: React.ComponentType\n } & (\n | { color?: string; theme?: never }\n | { color?: never; theme: Record<keyof typeof THEMES, string> }\n )\n}\n\ntype ChartContextProps = {\n config: ChartConfig\n}\n\nconst ChartContext = React.createContext<ChartContextProps | null>(null)\n\nfunction useChart() {\n const context = React.useContext(ChartContext)\n\n if (!context) {\n throw new Error(\"useChart must be used within a <ChartContainer />\")\n }\n\n return context\n}\n\nconst ChartContainer = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> & {\n config: ChartConfig\n children: React.ComponentProps<\n typeof RechartsPrimitive.ResponsiveContainer\n >[\"children\"]\n }\n>(({ id, className, children, config, ...props }, ref) => {\n const uniqueId = React.useId()\n const chartId = `chart-${id || uniqueId.replace(/:/g, \"\")}`\n\n return (\n <ChartContext.Provider value={{ config }}>\n <div\n data-chart={chartId}\n ref={ref}\n className={cn(\n \"flex aspect-video justify-center text-xs [&_.recharts-cartesian-axis-tick_text]:fill-muted-foreground [&_.recharts-cartesian-grid_line[stroke='#ccc']]:stroke-border/50 [&_.recharts-curve.recharts-tooltip-cursor]:stroke-border [&_.recharts-dot[stroke='#fff']]:stroke-transparent [&_.recharts-layer]:outline-hidden [&_.recharts-polar-grid_[stroke='#ccc']]:stroke-border [&_.recharts-radial-bar-background-sector]:fill-muted [&_.recharts-rectangle.recharts-tooltip-cursor]:fill-muted [&_.recharts-reference-line_[stroke='#ccc']]:stroke-border [&_.recharts-sector[stroke='#fff']]:stroke-transparent [&_.recharts-sector]:outline-hidden [&_.recharts-surface]:outline-hidden\",\n className\n )}\n {...props}\n >\n <ChartStyle id={chartId} config={config} />\n <RechartsPrimitive.ResponsiveContainer>\n {children}\n </RechartsPrimitive.ResponsiveContainer>\n </div>\n </ChartContext.Provider>\n )\n})\nChartContainer.displayName = \"Chart\"\n\nconst ChartStyle = ({ id, config }: { id: string; config: ChartConfig }) => {\n const colorConfig = Object.entries(config).filter(\n ([_, config]) => config.theme || config.color\n )\n\n if (!colorConfig.length) {\n return null\n }\n\n return (\n <style\n dangerouslySetInnerHTML={{\n __html: Object.entries(THEMES)\n .map(\n ([theme, prefix]) => `\n${prefix} [data-chart=${id}] {\n${colorConfig\n .map(([key, itemConfig]) => {\n const color =\n itemConfig.theme?.[theme as keyof typeof itemConfig.theme] ||\n itemConfig.color\n return color ? ` --color-${key}: ${color};` : null\n })\n .join(\"\\n\")}\n}\n`\n )\n .join(\"\\n\"),\n }}\n />\n )\n}\n\nconst ChartTooltip = RechartsPrimitive.Tooltip\n\nconst ChartTooltipContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<typeof RechartsPrimitive.Tooltip> &\n React.ComponentProps<\"div\"> & {\n hideLabel?: boolean\n hideIndicator?: boolean\n indicator?: \"line\" | \"dot\" | \"dashed\"\n nameKey?: string\n labelKey?: string\n }\n>(\n (\n {\n active,\n payload,\n className,\n indicator = \"dot\",\n hideLabel = false,\n hideIndicator = false,\n label,\n labelFormatter,\n labelClassName,\n formatter,\n color,\n nameKey,\n labelKey,\n },\n ref\n ) => {\n const { config } = useChart()\n\n const tooltipLabel = React.useMemo(() => {\n if (hideLabel || !payload?.length) {\n return null\n }\n\n const [item] = payload\n const key = `${labelKey || item.dataKey || item.name || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const value =\n !labelKey && typeof label === \"string\"\n ? config[label as keyof typeof config]?.label || label\n : itemConfig?.label\n\n if (labelFormatter) {\n return (\n <div className={cn(\"font-medium\", labelClassName)}>\n {labelFormatter(value, payload)}\n </div>\n )\n }\n\n if (!value) {\n return null\n }\n\n return <div className={cn(\"font-medium\", labelClassName)}>{value}</div>\n }, [\n label,\n labelFormatter,\n payload,\n hideLabel,\n labelClassName,\n config,\n labelKey,\n ])\n\n if (!active || !payload?.length) {\n return null\n }\n\n const nestLabel = payload.length === 1 && indicator !== \"dot\"\n\n return (\n <div\n ref={ref}\n className={cn(\n \"grid min-w-[8rem] items-start gap-1.5 rounded-lg border border-border/50 bg-background px-2.5 py-1.5 text-xs shadow-xl\",\n className\n )}\n >\n {!nestLabel ? tooltipLabel : null}\n <div className=\"grid gap-1.5\">\n {payload.map((item, index) => {\n const key = `${nameKey || item.name || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n const indicatorColor = color || item.payload.fill || item.color\n\n return (\n <div\n key={item.dataKey}\n className={cn(\n \"flex w-full flex-wrap items-stretch gap-2 [&>svg]:h-2.5 [&>svg]:w-2.5 [&>svg]:text-muted-foreground\",\n indicator === \"dot\" && \"items-center\"\n )}\n >\n {formatter && item?.value !== undefined && item.name ? (\n formatter(item.value, item.name, item, index, item.payload)\n ) : (\n <>\n {itemConfig?.icon ? (\n <itemConfig.icon />\n ) : (\n !hideIndicator && (\n <div\n className={cn(\n \"shrink-0 rounded-[2px] border-(--color-border) bg-(--color-bg)\",\n {\n \"h-2.5 w-2.5\": indicator === \"dot\",\n \"w-1\": indicator === \"line\",\n \"w-0 border-[1.5px] border-dashed bg-transparent\":\n indicator === \"dashed\",\n \"my-0.5\": nestLabel && indicator === \"dashed\",\n }\n )}\n style={\n {\n \"--color-bg\": indicatorColor,\n \"--color-border\": indicatorColor,\n } as React.CSSProperties\n }\n />\n )\n )}\n <div\n className={cn(\n \"flex flex-1 justify-between leading-none\",\n nestLabel ? \"items-end\" : \"items-center\"\n )}\n >\n <div className=\"grid gap-1.5\">\n {nestLabel ? tooltipLabel : null}\n <span className=\"text-muted-foreground\">\n {itemConfig?.label || item.name}\n </span>\n </div>\n {item.value && (\n <span className=\"font-mono font-medium tabular-nums text-foreground\">\n {item.value.toLocaleString()}\n </span>\n )}\n </div>\n </>\n )}\n </div>\n )\n })}\n </div>\n </div>\n )\n }\n)\nChartTooltipContent.displayName = \"ChartTooltip\"\n\nconst ChartLegend = RechartsPrimitive.Legend\n\nconst ChartLegendContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\"> &\n Pick<RechartsPrimitive.LegendProps, \"payload\" | \"verticalAlign\"> & {\n hideIcon?: boolean\n nameKey?: string\n }\n>(\n (\n { className, hideIcon = false, payload, verticalAlign = \"bottom\", nameKey },\n ref\n ) => {\n const { config } = useChart()\n\n if (!payload?.length) {\n return null\n }\n\n return (\n <div\n ref={ref}\n className={cn(\n \"flex items-center justify-center gap-4\",\n verticalAlign === \"top\" ? \"pb-3\" : \"pt-3\",\n className\n )}\n >\n {payload.map((item) => {\n const key = `${nameKey || item.dataKey || \"value\"}`\n const itemConfig = getPayloadConfigFromPayload(config, item, key)\n\n return (\n <div\n key={item.value}\n className={cn(\n \"flex items-center gap-1.5 [&>svg]:h-3 [&>svg]:w-3 [&>svg]:text-muted-foreground\"\n )}\n >\n {itemConfig?.icon && !hideIcon ? (\n <itemConfig.icon />\n ) : (\n <div\n className=\"h-2 w-2 shrink-0 rounded-[2px]\"\n style={{\n backgroundColor: item.color,\n }}\n />\n )}\n {itemConfig?.label}\n </div>\n )\n })}\n </div>\n )\n }\n)\nChartLegendContent.displayName = \"ChartLegend\"\n\n// Helper to extract item config from a payload.\nfunction getPayloadConfigFromPayload(\n config: ChartConfig,\n payload: unknown,\n key: string\n) {\n if (typeof payload !== \"object\" || payload === null) {\n return undefined\n }\n\n const payloadPayload =\n \"payload\" in payload &&\n typeof payload.payload === \"object\" &&\n payload.payload !== null\n ? payload.payload\n : undefined\n\n let configLabelKey: string = key\n\n if (\n key in payload &&\n typeof payload[key as keyof typeof payload] === \"string\"\n ) {\n configLabelKey = payload[key as keyof typeof payload] as string\n } else if (\n payloadPayload &&\n key in payloadPayload &&\n typeof payloadPayload[key as keyof typeof payloadPayload] === \"string\"\n ) {\n configLabelKey = payloadPayload[\n key as keyof typeof payloadPayload\n ] as string\n }\n\n return configLabelKey in config\n ? config[configLabelKey]\n : config[key as keyof typeof config]\n}\n\nexport {\n ChartContainer,\n ChartTooltip,\n ChartTooltipContent,\n ChartLegend,\n ChartLegendContent,\n ChartStyle,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as CheckboxPrimitive from \"@radix-ui/react-checkbox\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Checkbox = React.forwardRef<\n React.ElementRef<typeof CheckboxPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof CheckboxPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <CheckboxPrimitive.Root\n ref={ref}\n className={cn(\n \"peer h-4 w-4 shrink-0 rounded-sm border border-primary ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=checked]:text-primary-foreground\",\n className\n )}\n {...props}\n >\n <CheckboxPrimitive.Indicator\n className={cn(\"flex items-center justify-center text-current\")}\n >\n <icons.Check className=\"h-4 w-4\" />\n </CheckboxPrimitive.Indicator>\n </CheckboxPrimitive.Root>\n))\nCheckbox.displayName = CheckboxPrimitive.Root.displayName\n\nexport { Checkbox }\n","\"use client\"\n\nimport * as CollapsiblePrimitive from \"@radix-ui/react-collapsible\"\n\nconst Collapsible = CollapsiblePrimitive.Root\n\nconst CollapsibleTrigger = CollapsiblePrimitive.CollapsibleTrigger\n\nconst CollapsibleContent = CollapsiblePrimitive.CollapsibleContent\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { type DialogProps } from \"@radix-ui/react-dialog\"\nimport { Command as CommandPrimitive } from \"cmdk\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\nimport { Dialog, DialogContent } from \"@base-ui/ui/dialog\"\n\nconst Command = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive\n ref={ref}\n className={cn(\n \"flex h-full w-full flex-col overflow-hidden rounded-md bg-popover text-popover-foreground\",\n className\n )}\n {...props}\n />\n))\nCommand.displayName = CommandPrimitive.displayName\n\nconst CommandDialog = ({ children, ...props }: DialogProps) => {\n return (\n <Dialog {...props}>\n <DialogContent className=\"overflow-hidden p-0 shadow-lg\">\n <Command className=\"[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5\">\n {children}\n </Command>\n </DialogContent>\n </Dialog>\n )\n}\n\nconst CommandInput = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Input>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Input>\n>(({ className, ...props }, ref) => (\n <div className=\"flex items-center border-b px-3\" cmdk-input-wrapper=\"\">\n <icons.Search className=\"mr-2 h-4 w-4 shrink-0 opacity-50\" />\n <CommandPrimitive.Input\n ref={ref}\n className={cn(\n \"flex h-11 w-full rounded-md bg-transparent py-3 text-sm outline-hidden placeholder:text-muted-foreground disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n />\n </div>\n))\n\nCommandInput.displayName = CommandPrimitive.Input.displayName\n\nconst CommandList = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.List>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.List\n ref={ref}\n className={cn(\"max-h-[300px] overflow-y-auto overflow-x-hidden\", className)}\n {...props}\n />\n))\n\nCommandList.displayName = CommandPrimitive.List.displayName\n\nconst CommandEmpty = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Empty>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Empty>\n>((props, ref) => (\n <CommandPrimitive.Empty\n ref={ref}\n className=\"py-6 text-center text-sm\"\n {...props}\n />\n))\n\nCommandEmpty.displayName = CommandPrimitive.Empty.displayName\n\nconst CommandGroup = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Group>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Group>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Group\n ref={ref}\n className={cn(\n \"overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\n\nCommandGroup.displayName = CommandPrimitive.Group.displayName\n\nconst CommandSeparator = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 h-px bg-border\", className)}\n {...props}\n />\n))\nCommandSeparator.displayName = CommandPrimitive.Separator.displayName\n\nconst CommandItem = React.forwardRef<\n React.ElementRef<typeof CommandPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof CommandPrimitive.Item>\n>(({ className, ...props }, ref) => (\n <CommandPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default gap-2 select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden data-[disabled=true]:pointer-events-none data-[selected='true']:bg-accent data-[selected=true]:text-accent-foreground data-[disabled=true]:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n className\n )}\n {...props}\n />\n))\n\nCommandItem.displayName = CommandPrimitive.Item.displayName\n\nconst CommandShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nCommandShortcut.displayName = \"CommandShortcut\"\n\nexport {\n Command,\n CommandDialog,\n CommandInput,\n CommandList,\n CommandEmpty,\n CommandGroup,\n CommandItem,\n CommandShortcut,\n CommandSeparator,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DialogPrimitive from \"@radix-ui/react-dialog\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\" \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>(({ className, children, ...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 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 {...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 <icons.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 = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-1.5 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nDialogHeader.displayName = \"DialogHeader\"\n\nconst DialogFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\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(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\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\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDialogDescription.displayName = DialogPrimitive.Description.displayName\n\nexport {\n Dialog,\n DialogPortal,\n DialogOverlay,\n DialogClose,\n DialogTrigger,\n DialogContent,\n DialogHeader,\n DialogFooter,\n DialogTitle,\n DialogDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ContextMenuPrimitive from \"@radix-ui/react-context-menu\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ContextMenu = ContextMenuPrimitive.Root\n\nconst ContextMenuTrigger = ContextMenuPrimitive.Trigger\n\nconst ContextMenuGroup = ContextMenuPrimitive.Group\n\nconst ContextMenuPortal = ContextMenuPrimitive.Portal\n\nconst ContextMenuSub = ContextMenuPrimitive.Sub\n\nconst ContextMenuRadioGroup = ContextMenuPrimitive.RadioGroup\n\nconst ContextMenuSubTrigger = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <ContextMenuPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronRight className=\"ml-auto h-4 w-4\" />\n </ContextMenuPrimitive.SubTrigger>\n))\nContextMenuSubTrigger.displayName = ContextMenuPrimitive.SubTrigger.displayName\n\nconst ContextMenuSubContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.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-md 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))\nContextMenuSubContent.displayName = ContextMenuPrimitive.SubContent.displayName\n\nconst ContextMenuContent = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Portal>\n <ContextMenuPrimitive.Content\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-md animate-in fade-in-80 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 </ContextMenuPrimitive.Portal>\n))\nContextMenuContent.displayName = ContextMenuPrimitive.Content.displayName\n\nconst ContextMenuItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuItem.displayName = ContextMenuPrimitive.Item.displayName\n\nconst ContextMenuCheckboxItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <ContextMenuPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <ContextMenuPrimitive.ItemIndicator>\n <icons.Check className=\"h-4 w-4\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.CheckboxItem>\n))\nContextMenuCheckboxItem.displayName =\n ContextMenuPrimitive.CheckboxItem.displayName\n\nconst ContextMenuRadioItem = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <ContextMenuPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <ContextMenuPrimitive.ItemIndicator>\n <icons.Circle className=\"h-2 w-2 fill-current\" />\n </ContextMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </ContextMenuPrimitive.RadioItem>\n))\nContextMenuRadioItem.displayName = ContextMenuPrimitive.RadioItem.displayName\n\nconst ContextMenuLabel = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <ContextMenuPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold text-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nContextMenuLabel.displayName = ContextMenuPrimitive.Label.displayName\n\nconst ContextMenuSeparator = React.forwardRef<\n React.ElementRef<typeof ContextMenuPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof ContextMenuPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <ContextMenuPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-border\", className)}\n {...props}\n />\n))\nContextMenuSeparator.displayName = ContextMenuPrimitive.Separator.displayName\n\nconst ContextMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nContextMenuShortcut.displayName = \"ContextMenuShortcut\"\n\nexport {\n ContextMenu,\n ContextMenuTrigger,\n ContextMenuContent,\n ContextMenuItem,\n ContextMenuCheckboxItem,\n ContextMenuRadioItem,\n ContextMenuLabel,\n ContextMenuSeparator,\n ContextMenuShortcut,\n ContextMenuGroup,\n ContextMenuPortal,\n ContextMenuSub,\n ContextMenuSubContent,\n ContextMenuSubTrigger,\n ContextMenuRadioGroup,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Drawer as DrawerPrimitive } from \"vaul\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Drawer = ({\n shouldScaleBackground = true,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Root>) => (\n <DrawerPrimitive.Root\n shouldScaleBackground={shouldScaleBackground}\n {...props}\n />\n)\nDrawer.displayName = \"Drawer\"\n\nconst DrawerTrigger = DrawerPrimitive.Trigger\n\nconst DrawerPortal = DrawerPrimitive.Portal\n\nconst DrawerClose = DrawerPrimitive.Close\n\nconst DrawerOverlay = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Overlay\n ref={ref}\n className={cn(\"fixed inset-0 z-50 bg-black/80\", className)}\n {...props}\n />\n))\nDrawerOverlay.displayName = DrawerPrimitive.Overlay.displayName\n\nconst DrawerContent = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Content>\n>(({ className, children, ...props }, ref) => (\n <DrawerPortal>\n <DrawerOverlay />\n <DrawerPrimitive.Content\n ref={ref}\n className={cn(\n \"fixed inset-x-0 bottom-0 z-50 mt-24 flex h-auto flex-col rounded-t-[10px] border bg-background\",\n className\n )}\n {...props}\n >\n <div className=\"mx-auto mt-4 h-2 w-[100px] rounded-full bg-muted\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n))\nDrawerContent.displayName = \"DrawerContent\"\n\nconst DrawerHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"grid gap-1.5 p-4 text-center sm:text-left\", className)}\n {...props}\n />\n)\nDrawerHeader.displayName = \"DrawerHeader\"\n\nconst DrawerFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\"mt-auto flex flex-col gap-2 p-4\", className)}\n {...props}\n />\n)\nDrawerFooter.displayName = \"DrawerFooter\"\n\nconst DrawerTitle = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Title\n ref={ref}\n className={cn(\n \"text-lg font-semibold leading-none tracking-tight\",\n className\n )}\n {...props}\n />\n))\nDrawerTitle.displayName = DrawerPrimitive.Title.displayName\n\nconst DrawerDescription = React.forwardRef<\n React.ElementRef<typeof DrawerPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof DrawerPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <DrawerPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nDrawerDescription.displayName = DrawerPrimitive.Description.displayName\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as DropdownMenuPrimitive from \"@radix-ui/react-dropdown-menu\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\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-hidden focus:bg-accent data-[state=open]:bg-accent [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronRight className=\"ml-auto\" />\n </DropdownMenuPrimitive.SubTrigger>\n))\nDropdownMenuSubTrigger.displayName =\n 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 =\n 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 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-hidden transition-colors focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_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-hidden transition-colors focus:bg-accent focus:text-accent-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 <icons.Check className=\"h-4 w-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n))\nDropdownMenuCheckboxItem.displayName =\n 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-hidden transition-colors focus:bg-accent focus:text-accent-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 <icons.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(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\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\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nDropdownMenuSeparator.displayName = DropdownMenuPrimitive.Separator.displayName\n\nconst DropdownMenuShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\"ml-auto text-xs tracking-widest opacity-60\", className)}\n {...props}\n />\n )\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","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport {\n Controller,\n ControllerProps,\n FieldPath,\n FieldValues,\n FormProvider,\n useFormContext,\n} from \"react-hook-form\"\n\nimport { cn } from \"@lib/utils\"\nimport { Label } from \"@base-ui/ui/label\"\n\nconst Form = FormProvider\n\ntype FormFieldContextValue<\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n> = {\n name: TName\n}\n\nconst FormFieldContext = React.createContext<FormFieldContextValue>(\n {} as FormFieldContextValue\n)\n\nconst FormField = <\n TFieldValues extends FieldValues = FieldValues,\n TName extends FieldPath<TFieldValues> = FieldPath<TFieldValues>\n>({\n ...props\n}: ControllerProps<TFieldValues, TName>) => {\n return (\n <FormFieldContext.Provider value={{ name: props.name }}>\n <Controller {...props} />\n </FormFieldContext.Provider>\n )\n}\n\nconst useFormField = () => {\n const fieldContext = React.useContext(FormFieldContext)\n const itemContext = React.useContext(FormItemContext)\n const { getFieldState, formState } = useFormContext()\n\n const fieldState = getFieldState(fieldContext.name, formState)\n\n if (!fieldContext) {\n throw new Error(\"useFormField should be used within <FormField>\")\n }\n\n const { id } = itemContext\n\n return {\n id,\n name: fieldContext.name,\n formItemId: `${id}-form-item`,\n formDescriptionId: `${id}-form-item-description`,\n formMessageId: `${id}-form-item-message`,\n ...fieldState,\n }\n}\n\ntype FormItemContextValue = {\n id: string\n}\n\nconst FormItemContext = React.createContext<FormItemContextValue>(\n {} as FormItemContextValue\n)\n\nconst FormItem = React.forwardRef<\n HTMLDivElement,\n React.HTMLAttributes<HTMLDivElement>\n>(({ className, ...props }, ref) => {\n const id = React.useId()\n\n return (\n <FormItemContext.Provider value={{ id }}>\n <div ref={ref} className={cn(\"space-y-2\", className)} {...props} />\n </FormItemContext.Provider>\n )\n})\nFormItem.displayName = \"FormItem\"\n\nconst FormLabel = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root>\n>(({ className, ...props }, ref) => {\n const { error, formItemId } = useFormField()\n\n return (\n <Label\n ref={ref}\n className={cn(error && \"text-destructive\", className)}\n htmlFor={formItemId}\n {...props}\n />\n )\n})\nFormLabel.displayName = \"FormLabel\"\n\nconst FormControl = React.forwardRef<\n React.ElementRef<typeof Slot>,\n React.ComponentPropsWithoutRef<typeof Slot>\n>(({ ...props }, ref) => {\n const { error, formItemId, formDescriptionId, formMessageId } = useFormField()\n\n return (\n <Slot\n ref={ref}\n id={formItemId}\n aria-describedby={\n !error\n ? `${formDescriptionId}`\n : `${formDescriptionId} ${formMessageId}`\n }\n aria-invalid={!!error}\n {...props}\n />\n )\n})\nFormControl.displayName = \"FormControl\"\n\nconst FormDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => {\n const { formDescriptionId } = useFormField()\n\n return (\n <p\n ref={ref}\n id={formDescriptionId}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n )\n})\nFormDescription.displayName = \"FormDescription\"\n\nconst FormMessage = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, children, ...props }, ref) => {\n const { error, formMessageId } = useFormField()\n const body = error ? String(error?.message) : children\n\n if (!body) {\n return null\n }\n\n return (\n <p\n ref={ref}\n id={formMessageId}\n className={cn(\"text-sm font-medium text-destructive\", className)}\n {...props}\n >\n {body}\n </p>\n )\n})\nFormMessage.displayName = \"FormMessage\"\n\nexport {\n useFormField,\n Form,\n FormItem,\n FormLabel,\n FormControl,\n FormDescription,\n FormMessage,\n FormField,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as LabelPrimitive from \"@radix-ui/react-label\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst labelVariants = cva(\n \"text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70\"\n)\n\nconst Label = React.forwardRef<\n React.ElementRef<typeof LabelPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof LabelPrimitive.Root> &\n VariantProps<typeof labelVariants>\n>(({ className, ...props }, ref) => (\n <LabelPrimitive.Root\n ref={ref}\n className={cn(labelVariants(), className)}\n {...props}\n />\n))\nLabel.displayName = LabelPrimitive.Root.displayName\n\nexport { Label }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as HoverCardPrimitive from \"@radix-ui/react-hover-card\"\n\nimport { cn } from \"@lib/utils\"\n\nconst HoverCard = HoverCardPrimitive.Root\n\nconst HoverCardTrigger = HoverCardPrimitive.Trigger\n\nconst HoverCardContent = React.forwardRef<\n React.ElementRef<typeof HoverCardPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof HoverCardPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <HoverCardPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-64 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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))\nHoverCardContent.displayName = HoverCardPrimitive.Content.displayName\n\nexport { HoverCard, HoverCardTrigger, HoverCardContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport { OTPInput, OTPInputContext } from \"input-otp\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst InputOTP = React.forwardRef<\n React.ElementRef<typeof OTPInput>,\n React.ComponentPropsWithoutRef<typeof OTPInput>\n>(({ className, containerClassName, ...props }, ref) => (\n <OTPInput\n ref={ref}\n containerClassName={cn(\n \"flex items-center gap-2 has-disabled:opacity-50\",\n containerClassName\n )}\n className={cn(\"disabled:cursor-not-allowed\", className)}\n {...props}\n />\n))\nInputOTP.displayName = \"InputOTP\"\n\nconst InputOTPGroup = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ className, ...props }, ref) => (\n <div ref={ref} className={cn(\"flex items-center\", className)} {...props} />\n))\nInputOTPGroup.displayName = \"InputOTPGroup\"\n\nconst InputOTPSlot = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\"> & { index: number }\n>(({ index, className, ...props }, ref) => {\n const inputOTPContext = React.useContext(OTPInputContext)\n const { char, hasFakeCaret, isActive } = inputOTPContext.slots[index]\n\n return (\n <div\n ref={ref}\n className={cn(\n \"relative flex h-10 w-10 items-center justify-center border-y border-r border-input text-sm transition-all first:rounded-l-md first:border-l last:rounded-r-md\",\n isActive && \"z-10 ring-2 ring-ring ring-offset-background\",\n className\n )}\n {...props}\n >\n {char}\n {hasFakeCaret && (\n <div className=\"pointer-events-none absolute inset-0 flex items-center justify-center\">\n <div className=\"h-4 w-px animate-caret-blink bg-foreground duration-1000\" />\n </div>\n )}\n </div>\n )\n})\nInputOTPSlot.displayName = \"InputOTPSlot\"\n\nconst InputOTPSeparator = React.forwardRef<\n React.ElementRef<\"div\">,\n React.ComponentPropsWithoutRef<\"div\">\n>(({ ...props }, ref) => (\n <div ref={ref} role=\"separator\" {...props}>\n <icons.Dot />\n </div>\n))\nInputOTPSeparator.displayName = \"InputOTPSeparator\"\n\nexport { InputOTP, InputOTPGroup, InputOTPSlot, InputOTPSeparator }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Input = React.forwardRef<HTMLInputElement, React.ComponentProps<\"input\">>(\n ({ className, type, ...props }, ref) => {\n return (\n <input\n type={type}\n className={cn(\n \"flex h-10 w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background file:border-0 file:bg-transparent file:text-sm file:font-medium file:text-foreground placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nInput.displayName = \"Input\"\n\nexport { Input }\n","/**\n * @license\n * MIT License\n * Copyright (c) 2025 D8ger\n * \n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nimport * as React from \"react\"\nimport { cn } from \"@lib/utils\"\n\nexport interface LanguageButtonProps\n extends React.ButtonHTMLAttributes<HTMLButtonElement> {\n variant?: \"default\" | \"ghost\"\n size?: \"default\" | \"sm\" | \"lg\" | \"icon\"\n}\n\nconst LanguageButton = React.forwardRef<HTMLButtonElement, LanguageButtonProps>(\n ({ className, variant = \"default\", size = \"default\", ...props }, ref) => {\n return (\n <button\n className={cn(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:opacity-50 disabled:pointer-events-none ring-offset-background\",\n {\n \"bg-primary text-primary-foreground hover:bg-primary/90\": variant === \"default\",\n \"hover:bg-accent hover:text-accent-foreground\": variant === \"ghost\",\n \"h-10 px-4 py-2\": size === \"default\",\n \"h-9 px-3\": size === \"sm\",\n \"h-11 px-8\": size === \"lg\",\n \"h-10 w-10\": size === \"icon\",\n },\n className\n )}\n ref={ref}\n {...props}\n />\n )\n }\n)\nLanguageButton.displayName = \"Button\"\n\nexport { LanguageButton }","\"use client\"\n\nimport * as React from \"react\"\nimport * as MenubarPrimitive from \"@radix-ui/react-menubar\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst MenubarMenu = MenubarPrimitive.Menu as typeof MenubarPrimitive.Menu\n\nconst MenubarGroup = MenubarPrimitive.Group as typeof MenubarPrimitive.Group\n\nconst MenubarPortal = MenubarPrimitive.Portal as typeof MenubarPrimitive.Portal\n\nconst MenubarSub = MenubarPrimitive.Sub as typeof MenubarPrimitive.Sub\n\nconst MenubarRadioGroup = MenubarPrimitive.RadioGroup as typeof MenubarPrimitive.RadioGroup\n\nconst Menubar = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Root\n ref={ref}\n className={cn(\n \"flex h-10 items-center space-x-1 rounded-md border bg-background p-1\",\n className\n )}\n {...props}\n />\n))\nMenubar.displayName = MenubarPrimitive.Root.displayName\n\nconst MenubarTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-3 py-1.5 text-sm font-medium outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n className\n )}\n {...props}\n />\n))\nMenubarTrigger.displayName = MenubarPrimitive.Trigger.displayName\n\nconst MenubarSubTrigger = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubTrigger>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubTrigger> & {\n inset?: boolean\n }\n>(({ className, inset, children, ...props }, ref) => (\n <MenubarPrimitive.SubTrigger\n ref={ref}\n className={cn(\n \"flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n >\n {children}\n <icons.ChevronRight className=\"ml-auto h-4 w-4\" />\n </MenubarPrimitive.SubTrigger>\n))\nMenubarSubTrigger.displayName = MenubarPrimitive.SubTrigger.displayName\n\nconst MenubarSubContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.SubContent>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.SubContent>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.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 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))\nMenubarSubContent.displayName = MenubarPrimitive.SubContent.displayName\n\nconst MenubarContent = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Content>\n>(\n (\n { className, align = \"start\", alignOffset = -4, sideOffset = 8, ...props },\n ref\n ) => (\n <MenubarPrimitive.Portal>\n <MenubarPrimitive.Content\n ref={ref}\n align={align}\n alignOffset={alignOffset}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 min-w-[12rem] overflow-hidden rounded-md border bg-popover p-1 text-popover-foreground shadow-md data-[state=open]:animate-in 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 </MenubarPrimitive.Portal>\n )\n)\nMenubarContent.displayName = MenubarPrimitive.Content.displayName\n\nconst MenubarItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Item> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex cursor-default select-none items-center rounded-sm px-2 py-1.5 text-sm outline-hidden focus:bg-accent focus:text-accent-foreground data-disabled:pointer-events-none data-disabled:opacity-50\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarItem.displayName = MenubarPrimitive.Item.displayName\n\nconst MenubarCheckboxItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.CheckboxItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.CheckboxItem>\n>(({ className, children, checked, ...props }, ref) => (\n <MenubarPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <MenubarPrimitive.ItemIndicator>\n <icons.Check className=\"h-4 w-4\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.CheckboxItem>\n))\nMenubarCheckboxItem.displayName = MenubarPrimitive.CheckboxItem.displayName\n\nconst MenubarRadioItem = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.RadioItem>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.RadioItem>\n>(({ className, children, ...props }, ref) => (\n <MenubarPrimitive.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-hidden focus:bg-accent focus:text-accent-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 <MenubarPrimitive.ItemIndicator>\n <icons.Circle className=\"h-2 w-2 fill-current\" />\n </MenubarPrimitive.ItemIndicator>\n </span>\n {children}\n </MenubarPrimitive.RadioItem>\n))\nMenubarRadioItem.displayName = MenubarPrimitive.RadioItem.displayName\n\nconst MenubarLabel = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Label> & {\n inset?: boolean\n }\n>(({ className, inset, ...props }, ref) => (\n <MenubarPrimitive.Label\n ref={ref}\n className={cn(\n \"px-2 py-1.5 text-sm font-semibold\",\n inset && \"pl-8\",\n className\n )}\n {...props}\n />\n))\nMenubarLabel.displayName = MenubarPrimitive.Label.displayName\n\nconst MenubarSeparator = React.forwardRef<\n React.ElementRef<typeof MenubarPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof MenubarPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <MenubarPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nMenubarSeparator.displayName = MenubarPrimitive.Separator.displayName\n\nconst MenubarShortcut = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLSpanElement>) => {\n return (\n <span\n className={cn(\n \"ml-auto text-xs tracking-widest text-muted-foreground\",\n className\n )}\n {...props}\n />\n )\n}\nMenubarShortcut.displayName = \"MenubarShortcut\"\n\nexport {\n Menubar,\n MenubarMenu,\n MenubarTrigger,\n MenubarContent,\n MenubarItem,\n MenubarSeparator,\n MenubarLabel,\n MenubarCheckboxItem,\n MenubarRadioGroup,\n MenubarRadioItem,\n MenubarPortal,\n MenubarSubContent,\n MenubarSubTrigger,\n MenubarGroup,\n MenubarSub,\n MenubarShortcut,\n}\n","import * as React from \"react\"\nimport * as NavigationMenuPrimitive from \"@radix-ui/react-navigation-menu\"\nimport { cva } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst NavigationMenu = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Root\n ref={ref}\n className={cn(\n \"relative z-10 flex max-w-max flex-1 items-center justify-center\",\n className\n )}\n {...props}\n >\n {children}\n <NavigationMenuViewport />\n </NavigationMenuPrimitive.Root>\n))\nNavigationMenu.displayName = NavigationMenuPrimitive.Root.displayName\n\nconst NavigationMenuList = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.List>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.List\n ref={ref}\n className={cn(\n \"group flex flex-1 list-none items-center justify-center space-x-1\",\n className\n )}\n {...props}\n />\n))\nNavigationMenuList.displayName = NavigationMenuPrimitive.List.displayName\n\nconst NavigationMenuItem = NavigationMenuPrimitive.Item\n\nconst navigationMenuTriggerStyle = cva(\n \"group inline-flex h-10 w-max items-center justify-center rounded-md bg-background px-4 py-2 text-sm font-medium transition-colors hover:bg-accent hover:text-accent-foreground focus:bg-accent focus:text-accent-foreground focus:outline-hidden disabled:pointer-events-none disabled:opacity-50 data-active:bg-accent/50 data-[state=open]:bg-accent/50\"\n)\n\nconst NavigationMenuTrigger = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <NavigationMenuPrimitive.Trigger\n ref={ref}\n className={cn(navigationMenuTriggerStyle(), \"group\", className)}\n {...props}\n >\n {children}{\" \"}\n <icons.ChevronDown\n className=\"relative top-[1px] ml-1 h-3 w-3 transition duration-200 group-data-[state=open]:rotate-180\"\n aria-hidden=\"true\"\n />\n </NavigationMenuPrimitive.Trigger>\n))\nNavigationMenuTrigger.displayName = NavigationMenuPrimitive.Trigger.displayName\n\nconst NavigationMenuContent = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Content\n ref={ref}\n className={cn(\n \"left-0 top-0 w-full data-[motion^=from-]:animate-in data-[motion^=to-]:animate-out data-[motion^=from-]:fade-in data-[motion^=to-]:fade-out data-[motion=from-end]:slide-in-from-right-52 data-[motion=from-start]:slide-in-from-left-52 data-[motion=to-end]:slide-out-to-right-52 data-[motion=to-start]:slide-out-to-left-52 md:absolute md:w-auto \",\n className\n )}\n {...props}\n />\n))\nNavigationMenuContent.displayName = NavigationMenuPrimitive.Content.displayName\n\nconst NavigationMenuLink = NavigationMenuPrimitive.Link\n\nconst NavigationMenuViewport = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Viewport>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Viewport>\n>(({ className, ...props }, ref) => (\n <div className={cn(\"absolute left-0 top-full flex justify-center\")}>\n <NavigationMenuPrimitive.Viewport\n className={cn(\n \"origin-top-center relative mt-1.5 h-[var(--radix-navigation-menu-viewport-height)] w-full overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-lg data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-90 md:w-[var(--radix-navigation-menu-viewport-width)]\",\n className\n )}\n ref={ref}\n {...props}\n />\n </div>\n))\nNavigationMenuViewport.displayName =\n NavigationMenuPrimitive.Viewport.displayName\n\nconst NavigationMenuIndicator = React.forwardRef<\n React.ElementRef<typeof NavigationMenuPrimitive.Indicator>,\n React.ComponentPropsWithoutRef<typeof NavigationMenuPrimitive.Indicator>\n>(({ className, ...props }, ref) => (\n <NavigationMenuPrimitive.Indicator\n ref={ref}\n className={cn(\n \"top-full z-1 flex h-1.5 items-end justify-center overflow-hidden data-[state=visible]:animate-in data-[state=hidden]:animate-out data-[state=hidden]:fade-out data-[state=visible]:fade-in\",\n className\n )}\n {...props}\n >\n <div className=\"relative top-[60%] h-2 w-2 rotate-45 rounded-tl-sm bg-border shadow-md\" />\n </NavigationMenuPrimitive.Indicator>\n))\nNavigationMenuIndicator.displayName =\n NavigationMenuPrimitive.Indicator.displayName\n\nexport {\n navigationMenuTriggerStyle,\n NavigationMenu,\n NavigationMenuList,\n NavigationMenuItem,\n NavigationMenuContent,\n NavigationMenuTrigger,\n NavigationMenuLink,\n NavigationMenuIndicator,\n NavigationMenuViewport,\n}\n","import * as React from \"react\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\nimport { ButtonProps, buttonVariants } from \"@base-ui/ui/button\"\n\nconst Pagination = ({ className, ...props }: React.ComponentProps<\"nav\">) => (\n <nav\n role=\"navigation\"\n aria-label=\"pagination\"\n className={cn(\"mx-auto flex w-full justify-center\", className)}\n {...props}\n />\n)\nPagination.displayName = \"Pagination\"\n\nconst PaginationContent = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n className={cn(\"flex flex-row items-center gap-1\", className)}\n {...props}\n />\n))\nPaginationContent.displayName = \"PaginationContent\"\n\nconst PaginationItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li ref={ref} className={cn(\"\", className)} {...props} />\n))\nPaginationItem.displayName = \"PaginationItem\"\n\ntype PaginationLinkProps = {\n isActive?: boolean\n} & Pick<ButtonProps, \"size\"> &\n React.ComponentProps<\"a\">\n\nconst PaginationLink = ({\n className,\n isActive,\n size = \"icon\",\n ...props\n}: PaginationLinkProps) => (\n <a\n aria-current={isActive ? \"page\" : undefined}\n className={cn(\n buttonVariants({\n variant: isActive ? \"outline\" : \"ghost\",\n size,\n }),\n className\n )}\n {...props}\n />\n)\nPaginationLink.displayName = \"PaginationLink\"\n\nconst PaginationPrevious = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to previous page\"\n size=\"default\"\n className={cn(\"gap-1 pl-2.5\", className)}\n {...props}\n >\n <icons.ChevronLeft className=\"h-4 w-4\" />\n <span>Previous</span>\n </PaginationLink>\n)\nPaginationPrevious.displayName = \"PaginationPrevious\"\n\nconst PaginationNext = ({\n className,\n ...props\n}: React.ComponentProps<typeof PaginationLink>) => (\n <PaginationLink\n aria-label=\"Go to next page\"\n size=\"default\"\n className={cn(\"gap-1 pr-2.5\", className)}\n {...props}\n >\n <span>Next</span>\n <icons.ChevronRight className=\"h-4 w-4\" />\n </PaginationLink>\n)\nPaginationNext.displayName = \"PaginationNext\"\n\nconst PaginationEllipsis = ({\n className,\n ...props\n}: React.ComponentProps<\"span\">) => (\n <span\n aria-hidden\n className={cn(\"flex h-9 w-9 items-center justify-center\", className)}\n {...props}\n >\n <icons.MoreHorizontal className=\"h-4 w-4\" />\n <span className=\"sr-only\">More pages</span>\n </span>\n)\nPaginationEllipsis.displayName = \"PaginationEllipsis\"\n\nexport {\n Pagination,\n PaginationContent,\n PaginationEllipsis,\n PaginationItem,\n PaginationLink,\n PaginationNext,\n PaginationPrevious,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as PopoverPrimitive from \"@radix-ui/react-popover\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Popover = PopoverPrimitive.Root\n\nconst PopoverTrigger = PopoverPrimitive.Trigger\n\nconst PopoverContent = React.forwardRef<\n React.ElementRef<typeof PopoverPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof PopoverPrimitive.Content>\n>(({ className, align = \"center\", sideOffset = 4, ...props }, ref) => (\n <PopoverPrimitive.Portal>\n <PopoverPrimitive.Content\n ref={ref}\n align={align}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 w-72 rounded-md border bg-popover p-4 text-popover-foreground shadow-md outline-hidden 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 </PopoverPrimitive.Portal>\n))\nPopoverContent.displayName = PopoverPrimitive.Content.displayName\n\nexport { Popover, PopoverTrigger, PopoverContent }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ProgressPrimitive from \"@radix-ui/react-progress\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Progress = React.forwardRef<\n React.ElementRef<typeof ProgressPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ProgressPrimitive.Root>\n>(({ className, value, ...props }, ref) => (\n <ProgressPrimitive.Root\n ref={ref}\n className={cn(\n \"relative h-4 w-full overflow-hidden rounded-full bg-secondary\",\n className\n )}\n {...props}\n >\n <ProgressPrimitive.Indicator\n className=\"h-full w-full flex-1 bg-primary transition-all\"\n style={{ transform: `translateX(-${100 - (value || 0)}%)` }}\n />\n </ProgressPrimitive.Root>\n))\nProgress.displayName = ProgressPrimitive.Root.displayName\n\nexport { Progress }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as RadioGroupPrimitive from \"@radix-ui/react-radio-group\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst RadioGroup = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Root>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Root\n className={cn(\"grid gap-2\", className)}\n {...props}\n ref={ref}\n />\n )\n})\nRadioGroup.displayName = RadioGroupPrimitive.Root.displayName\n\nconst RadioGroupItem = React.forwardRef<\n React.ElementRef<typeof RadioGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof RadioGroupPrimitive.Item>\n>(({ className, ...props }, ref) => {\n return (\n <RadioGroupPrimitive.Item\n ref={ref}\n className={cn(\n \"aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50\",\n className\n )}\n {...props}\n >\n <RadioGroupPrimitive.Indicator className=\"flex items-center justify-center\">\n <icons.Circle className=\"h-2.5 w-2.5 fill-current text-current\" />\n </RadioGroupPrimitive.Indicator>\n </RadioGroupPrimitive.Item>\n )\n})\nRadioGroupItem.displayName = RadioGroupPrimitive.Item.displayName\n\nexport { RadioGroup, RadioGroupItem }\n","\"use client\"\n\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport * as ResizablePrimitive from \"react-resizable-panels\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ResizablePanelGroup = ({\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelGroup>) => (\n <ResizablePrimitive.PanelGroup\n className={cn(\n \"flex h-full w-full data-[panel-group-direction=vertical]:flex-col\",\n className\n )}\n {...props}\n />\n)\n\nconst ResizablePanel = ResizablePrimitive.Panel\n\nconst ResizableHandle = ({\n withHandle,\n className,\n ...props\n}: React.ComponentProps<typeof ResizablePrimitive.PanelResizeHandle> & {\n withHandle?: boolean\n}) => (\n <ResizablePrimitive.PanelResizeHandle\n className={cn(\n \"relative flex w-px items-center justify-center bg-border after:absolute after:inset-y-0 after:left-1/2 after:w-1 after:-translate-x-1/2 focus-visible:outline-hidden focus-visible:ring-1 focus-visible:ring-ring focus-visible:ring-offset-1 data-[panel-group-direction=vertical]:h-px data-[panel-group-direction=vertical]:w-full data-[panel-group-direction=vertical]:after:left-0 data-[panel-group-direction=vertical]:after:h-1 data-[panel-group-direction=vertical]:after:w-full data-[panel-group-direction=vertical]:after:-translate-y-1/2 data-[panel-group-direction=vertical]:after:translate-x-0 [&[data-panel-group-direction=vertical]>div]:rotate-90\",\n className\n )}\n {...props}\n >\n {withHandle && (\n <div className=\"z-10 flex h-4 w-3 items-center justify-center rounded-sm border bg-border\">\n <icons.GripVertical className=\"h-2.5 w-2.5\" />\n </div>\n )}\n </ResizablePrimitive.PanelResizeHandle>\n)\n\nexport { ResizablePanelGroup, ResizablePanel, ResizableHandle }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ScrollAreaPrimitive from \"@radix-ui/react-scroll-area\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ScrollArea = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.Root>\n>(({ className, children, ...props }, ref) => (\n <ScrollAreaPrimitive.Root\n ref={ref}\n className={cn(\"relative overflow-hidden\", className)}\n {...props}\n >\n <ScrollAreaPrimitive.Viewport className=\"h-full w-full rounded-[inherit]\">\n {children}\n </ScrollAreaPrimitive.Viewport>\n <ScrollBar />\n <ScrollAreaPrimitive.Corner />\n </ScrollAreaPrimitive.Root>\n))\nScrollArea.displayName = ScrollAreaPrimitive.Root.displayName\n\nconst ScrollBar = React.forwardRef<\n React.ElementRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>,\n React.ComponentPropsWithoutRef<typeof ScrollAreaPrimitive.ScrollAreaScrollbar>\n>(({ className, orientation = \"vertical\", ...props }, ref) => (\n <ScrollAreaPrimitive.ScrollAreaScrollbar\n ref={ref}\n orientation={orientation}\n className={cn(\n \"flex touch-none select-none transition-colors\",\n orientation === \"vertical\" &&\n \"h-full w-2.5 border-l border-l-transparent p-[1px]\",\n orientation === \"horizontal\" &&\n \"h-2.5 flex-col border-t border-t-transparent p-[1px]\",\n className\n )}\n {...props}\n >\n <ScrollAreaPrimitive.ScrollAreaThumb className=\"relative flex-1 rounded-full bg-border\" />\n </ScrollAreaPrimitive.ScrollAreaScrollbar>\n))\nScrollBar.displayName = ScrollAreaPrimitive.ScrollAreaScrollbar.displayName\n\nexport { ScrollArea, ScrollBar }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SelectPrimitive from \"@radix-ui/react-select\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Select = SelectPrimitive.Root\n\nconst SelectGroup = SelectPrimitive.Group\n\nconst SelectValue = SelectPrimitive.Value\n\nconst SelectTrigger = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Trigger>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Trigger\n ref={ref}\n className={cn(\n \"flex h-10 w-full items-center justify-between rounded-md border border-input bg-background px-3 py-2 text-sm ring-offset-background placeholder:text-muted-foreground focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 [&>span]:line-clamp-1\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <icons.ChevronDown className=\"h-4 w-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n))\nSelectTrigger.displayName = SelectPrimitive.Trigger.displayName\n\nconst SelectScrollUpButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollUpButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollUpButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollUpButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <icons.ChevronUp className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollUpButton>\n))\nSelectScrollUpButton.displayName = SelectPrimitive.ScrollUpButton.displayName\n\nconst SelectScrollDownButton = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.ScrollDownButton>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.ScrollDownButton>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.ScrollDownButton\n ref={ref}\n className={cn(\n \"flex cursor-default items-center justify-center py-1\",\n className\n )}\n {...props}\n >\n <icons.ChevronDown className=\"h-4 w-4\" />\n </SelectPrimitive.ScrollDownButton>\n))\nSelectScrollDownButton.displayName =\n SelectPrimitive.ScrollDownButton.displayName\n\nconst SelectContent = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Content>\n>(({ className, children, position = \"popper\", ...props }, ref) => (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n ref={ref}\n className={cn(\n \"relative z-50 max-h-96 min-w-[8rem] overflow-hidden rounded-md border bg-popover text-popover-foreground shadow-md 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 position === \"popper\" &&\n \"data-[side=bottom]:translate-y-1 data-[side=left]:-translate-x-1 data-[side=right]:translate-x-1 data-[side=top]:-translate-y-1\",\n className\n )}\n position={position}\n {...props}\n >\n <SelectScrollUpButton />\n <SelectPrimitive.Viewport\n className={cn(\n \"p-1\",\n position === \"popper\" &&\n \"h-[var(--radix-select-trigger-height)] w-full min-w-[var(--radix-select-trigger-width)]\"\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n))\nSelectContent.displayName = SelectPrimitive.Content.displayName\n\nconst SelectLabel = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Label>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Label>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Label\n ref={ref}\n className={cn(\"py-1.5 pl-8 pr-2 text-sm font-semibold\", className)}\n {...props}\n />\n))\nSelectLabel.displayName = SelectPrimitive.Label.displayName\n\nconst SelectItem = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Item>\n>(({ className, children, ...props }, ref) => (\n <SelectPrimitive.Item\n ref={ref}\n className={cn(\n \"relative flex w-full cursor-default select-none items-center rounded-sm py-1.5 pl-8 pr-2 text-sm outline-hidden focus:bg-accent focus:text-accent-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 <SelectPrimitive.ItemIndicator>\n <icons.Check className=\"h-4 w-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n))\nSelectItem.displayName = SelectPrimitive.Item.displayName\n\nconst SelectSeparator = React.forwardRef<\n React.ElementRef<typeof SelectPrimitive.Separator>,\n React.ComponentPropsWithoutRef<typeof SelectPrimitive.Separator>\n>(({ className, ...props }, ref) => (\n <SelectPrimitive.Separator\n ref={ref}\n className={cn(\"-mx-1 my-1 h-px bg-muted\", className)}\n {...props}\n />\n))\nSelectSeparator.displayName = SelectPrimitive.Separator.displayName\n\nexport {\n Select,\n SelectGroup,\n SelectValue,\n SelectTrigger,\n SelectContent,\n SelectLabel,\n SelectItem,\n SelectSeparator,\n SelectScrollUpButton,\n SelectScrollDownButton,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SeparatorPrimitive from \"@radix-ui/react-separator\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Separator = React.forwardRef<\n React.ElementRef<typeof SeparatorPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SeparatorPrimitive.Root>\n>(\n (\n { className, orientation = \"horizontal\", decorative = true, ...props },\n ref\n ) => (\n <SeparatorPrimitive.Root\n ref={ref}\n decorative={decorative}\n orientation={orientation}\n className={cn(\n \"shrink-0 bg-border\",\n orientation === \"horizontal\" ? \"h-[1px] w-full\" : \"h-full w-[1px]\",\n className\n )}\n {...props}\n />\n )\n)\nSeparator.displayName = SeparatorPrimitive.Root.displayName\n\nexport { Separator }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SheetPrimitive from \"@radix-ui/react-dialog\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Sheet = SheetPrimitive.Root\n\nconst SheetTrigger = SheetPrimitive.Trigger\n\nconst SheetClose = SheetPrimitive.Close\n\nconst SheetPortal = SheetPrimitive.Portal\n\nconst SheetOverlay = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Overlay>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Overlay>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Overlay\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 ref={ref}\n />\n))\nSheetOverlay.displayName = SheetPrimitive.Overlay.displayName\n\nconst sheetVariants = cva(\n \"fixed z-50 gap-4 bg-background p-6 shadow-lg transition ease-in-out data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:duration-300 data-[state=open]:duration-500\",\n {\n variants: {\n side: {\n top: \"inset-x-0 top-0 border-b data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top\",\n bottom:\n \"inset-x-0 bottom-0 border-t data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom\",\n left: \"inset-y-0 left-0 h-full w-3/4 border-r data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left sm:max-w-sm\",\n right:\n \"inset-y-0 right-0 h-full w-3/4 border-l data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right sm:max-w-sm\",\n },\n },\n defaultVariants: {\n side: \"right\",\n },\n }\n)\n\ninterface SheetContentProps\n extends React.ComponentPropsWithoutRef<typeof SheetPrimitive.Content>,\n VariantProps<typeof sheetVariants> { }\n\nconst SheetContent = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Content>,\n SheetContentProps\n>(({ side = \"right\", className, children, ...props }, ref) => (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n ref={ref}\n className={cn(sheetVariants({ side }), className)}\n {...props}\n >\n {children}\n <SheetPrimitive.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-secondary\">\n <icons.X className=\"h-4 w-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n))\nSheetContent.displayName = SheetPrimitive.Content.displayName\n\nconst SheetHeader = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col space-y-2 text-center sm:text-left\",\n className\n )}\n {...props}\n />\n)\nSheetHeader.displayName = \"SheetHeader\"\n\nconst SheetFooter = ({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) => (\n <div\n className={cn(\n \"flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2\",\n className\n )}\n {...props}\n />\n)\nSheetFooter.displayName = \"SheetFooter\"\n\nconst SheetTitle = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Title>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Title>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Title\n ref={ref}\n className={cn(\"text-lg font-semibold text-foreground\", className)}\n {...props}\n />\n))\nSheetTitle.displayName = SheetPrimitive.Title.displayName\n\nconst SheetDescription = React.forwardRef<\n React.ElementRef<typeof SheetPrimitive.Description>,\n React.ComponentPropsWithoutRef<typeof SheetPrimitive.Description>\n>(({ className, ...props }, ref) => (\n <SheetPrimitive.Description\n ref={ref}\n className={cn(\"text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nSheetDescription.displayName = SheetPrimitive.Description.displayName\n\nexport {\n Sheet,\n SheetPortal,\n SheetOverlay,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport { Slot } from \"@radix-ui/react-slot\"\nimport { VariantProps, cva } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { useIsMobile } from \"@base-ui/ui/use-mobile\"\nimport { cn } from \"@lib/utils\"\nimport { Button } from \"@base-ui/ui/button\"\nimport { Input } from \"@base-ui/ui/input\"\nimport { Separator } from \"@base-ui/ui/separator\"\nimport { Sheet, SheetContent } from \"@base-ui/ui/sheet\"\nimport { Skeleton } from \"@base-ui/ui/skeleton\"\nimport {\n Tooltip,\n TooltipContent,\n TooltipProvider,\n TooltipTrigger,\n} from \"@base-ui/ui/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>(\n (\n {\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n },\n ref\n ) => {\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\n ? setOpenMobile((open) => !open)\n : 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 (\n event.key === SIDEBAR_KEYBOARD_SHORTCUT &&\n (event.metaKey || event.ctrlKey)\n ) {\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-full has-data-[variant=inset]:bg-sidebar\",\n className\n )}\n ref={ref}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n )\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>(\n (\n {\n side = \"left\",\n variant = \"sidebar\",\n collapsible = \"offcanvas\",\n className,\n children,\n ...props\n },\n ref\n ) => {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar()\n\n if (collapsible === \"none\") {\n return (\n <div\n className={cn(\n \"flex h-full w-(--sidebar-width) flex-col bg-sidebar text-sidebar-foreground\",\n className\n )}\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 <SheetContent\n data-sidebar=\"sidebar\"\n data-mobile=\"true\"\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 md:block text-sidebar-foreground\"\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 \"duration-200 relative h-svh w-(--sidebar-width) bg-transparent transition-[width] 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)+(--spacing(4)))]\"\n : \"group-data-[collapsible=icon]:w-(--sidebar-width-icon)\"\n )}\n />\n <div\n className={cn(\n \"duration-200 fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] 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)+(--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-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n )\n }\n)\nSidebar.displayName = \"Sidebar\"\n\nconst SidebarTrigger = React.forwardRef<\n React.ElementRef<typeof Button>,\n 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=\"ghost\"\n size=\"icon\"\n className={cn(\"h-7 w-7\", className)}\n onClick={(event) => {\n onClick?.(event)\n toggleSidebar()\n }}\n {...props}\n >\n <icons.PanelLeft />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n )\n})\nSidebarTrigger.displayName = \"SidebarTrigger\"\n\nconst SidebarRail = React.forwardRef<\n HTMLButtonElement,\n 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 \"in-data-[side=left]:cursor-w-resize in-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 hover:group-data-[collapsible=offcanvas]: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})\nSidebarRail.displayName = \"SidebarRail\"\n\nconst SidebarInset = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"main\">\n>(({ 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-(--spacing(4)))] md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarInset.displayName = \"SidebarInset\"\n\nconst SidebarInput = React.forwardRef<\n React.ElementRef<typeof Input>,\n 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})\nSidebarInput.displayName = \"SidebarInput\"\n\nconst SidebarHeader = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"header\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarHeader.displayName = \"SidebarHeader\"\n\nconst SidebarFooter = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => {\n return (\n <div\n ref={ref}\n data-sidebar=\"footer\"\n className={cn(\"flex flex-col gap-2 p-2\", className)}\n {...props}\n />\n )\n})\nSidebarFooter.displayName = \"SidebarFooter\"\n\nconst SidebarSeparator = React.forwardRef<\n React.ElementRef<typeof Separator>,\n 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})\nSidebarSeparator.displayName = \"SidebarSeparator\"\n\nconst SidebarContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ 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<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ 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<\n HTMLDivElement,\n 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 \"duration-200 flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium text-sidebar-foreground/70 outline-hidden ring-sidebar-ring transition-[margin,opa] 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})\nSidebarGroupLabel.displayName = \"SidebarGroupLabel\"\n\nconst SidebarGroupAction = React.forwardRef<\n HTMLButtonElement,\n 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-hidden 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 md:after:hidden\",\n \"group-data-[collapsible=icon]:hidden\",\n className\n )}\n {...props}\n />\n )\n})\nSidebarGroupAction.displayName = \"SidebarGroupAction\"\n\nconst SidebarGroupContent = React.forwardRef<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"group-content\"\n className={cn(\"w-full text-sm\", className)}\n {...props}\n />\n))\nSidebarGroupContent.displayName = \"SidebarGroupContent\"\n\nconst SidebarMenu = React.forwardRef<\n HTMLUListElement,\n React.ComponentProps<\"ul\">\n>(({ className, ...props }, ref) => (\n <ul\n ref={ref}\n data-sidebar=\"menu\"\n className={cn(\"flex w-full min-w-0 flex-col gap-1\", className)}\n {...props}\n />\n))\nSidebarMenu.displayName = \"SidebarMenu\"\n\nconst SidebarMenuItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ className, ...props }, ref) => (\n <li\n ref={ref}\n data-sidebar=\"menu-item\"\n className={cn(\"group/menu-item relative\", className)}\n {...props}\n />\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-hidden 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>(\n (\n {\n asChild = false,\n isActive = false,\n variant = \"default\",\n size = \"default\",\n tooltip,\n className,\n ...props\n },\n ref\n ) => {\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\n side=\"right\"\n align=\"center\"\n hidden={state !== \"collapsed\" || isMobile}\n {...tooltip}\n />\n </Tooltip>\n )\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-hidden 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 md:after: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<\n HTMLDivElement,\n React.ComponentProps<\"div\">\n>(({ className, ...props }, ref) => (\n <div\n ref={ref}\n data-sidebar=\"menu-badge\"\n className={cn(\n \"absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums text-sidebar-foreground select-none pointer-events-none\",\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))\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(\"rounded-md h-8 flex gap-2 px-2 items-center\", className)}\n {...props}\n >\n {showIcon && (\n <Skeleton\n className=\"size-4 rounded-md\"\n data-sidebar=\"menu-skeleton-icon\"\n />\n )}\n <Skeleton\n className=\"h-4 flex-1 max-w-(--skeleton-width)\"\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<\n HTMLUListElement,\n 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))\nSidebarMenuSub.displayName = \"SidebarMenuSub\"\n\nconst SidebarMenuSubItem = React.forwardRef<\n HTMLLIElement,\n React.ComponentProps<\"li\">\n>(({ ...props }, ref) => <li ref={ref} {...props} />)\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-hidden 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","import * as React from \"react\"\n\nconst MOBILE_BREAKPOINT = 768\n\nexport function useIsMobile() {\n const [isMobile, setIsMobile] = React.useState<boolean | undefined>(undefined)\n\n React.useEffect(() => {\n const mql = window.matchMedia(`(max-width: ${MOBILE_BREAKPOINT - 1}px)`)\n const onChange = () => {\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n }\n mql.addEventListener(\"change\", onChange)\n setIsMobile(window.innerWidth < MOBILE_BREAKPOINT)\n return () => mql.removeEventListener(\"change\", onChange)\n }, [])\n\n return !!isMobile\n}\n","import { cn } from \"@lib/utils\"\n\nfunction Skeleton({\n className,\n ...props\n}: React.HTMLAttributes<HTMLDivElement>) {\n return (\n <div\n className={cn(\"animate-pulse rounded-md bg-muted\", className)}\n {...props}\n />\n )\n}\n\nexport { Skeleton }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TooltipPrimitive from \"@radix-ui/react-tooltip\"\n\nimport { cn } from \"@lib/utils\"\n\nconst TooltipProvider = TooltipPrimitive.Provider\n\nconst Tooltip = TooltipPrimitive.Root\n\nconst TooltipTrigger = TooltipPrimitive.Trigger\n\nconst TooltipContent = React.forwardRef<\n React.ElementRef<typeof TooltipPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TooltipPrimitive.Content>\n>(({ className, sideOffset = 4, ...props }, ref) => (\n <TooltipPrimitive.Content\n ref={ref}\n sideOffset={sideOffset}\n className={cn(\n \"z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-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))\nTooltipContent.displayName = TooltipPrimitive.Content.displayName\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SliderPrimitive from \"@radix-ui/react-slider\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Slider = React.forwardRef<\n React.ElementRef<typeof SliderPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof SliderPrimitive.Root>\n>(({ className, ...props }, ref) => (\n <SliderPrimitive.Root\n ref={ref}\n className={cn(\n \"relative flex w-full touch-none select-none items-center\",\n className\n )}\n {...props}\n >\n <SliderPrimitive.Track className=\"relative h-2 w-full grow overflow-hidden rounded-full bg-secondary\">\n <SliderPrimitive.Range className=\"absolute h-full bg-primary\" />\n </SliderPrimitive.Track>\n <SliderPrimitive.Thumb className=\"block h-5 w-5 rounded-full border-2 border-primary bg-background ring-offset-background transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50\" />\n </SliderPrimitive.Root>\n))\nSlider.displayName = SliderPrimitive.Root.displayName\n\nexport { Slider }\n","\"use client\"\n\nimport { useTheme } from \"next-themes\"\nimport { Toaster as Sonner } from \"sonner\"\n\ntype ToasterProps = React.ComponentProps<typeof Sonner>\n\nconst Toaster = ({ ...props }: ToasterProps) => {\n const { theme = \"system\" } = useTheme()\n\n return (\n <Sonner\n theme={theme as ToasterProps[\"theme\"]}\n className=\"toaster group\"\n toastOptions={{\n classNames: {\n toast:\n \"group toast group-[.toaster]:bg-background group-[.toaster]:text-foreground group-[.toaster]:border-border group-[.toaster]:shadow-lg\",\n description: \"group-[.toast]:text-muted-foreground\",\n actionButton:\n \"group-[.toast]:bg-primary group-[.toast]:text-primary-foreground\",\n cancelButton:\n \"group-[.toast]:bg-muted group-[.toast]:text-muted-foreground\",\n },\n }}\n {...props}\n />\n )\n}\n\nexport { Toaster }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as SwitchPrimitives from \"@radix-ui/react-switch\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Switch = React.forwardRef<\n React.ElementRef<typeof SwitchPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof SwitchPrimitives.Root>\n>(({ className, ...props }, ref) => (\n <SwitchPrimitives.Root\n className={cn(\n \"peer inline-flex h-6 w-11 shrink-0 cursor-pointer items-center rounded-full border-2 border-transparent transition-colors focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 focus-visible:ring-offset-background disabled:cursor-not-allowed disabled:opacity-50 data-[state=checked]:bg-primary data-[state=unchecked]:bg-input\",\n className\n )}\n {...props}\n ref={ref}\n >\n <SwitchPrimitives.Thumb\n className={cn(\n \"pointer-events-none block h-5 w-5 rounded-full bg-background shadow-lg ring-0 transition-transform data-[state=checked]:translate-x-5 data-[state=unchecked]:translate-x-0\"\n )}\n />\n </SwitchPrimitives.Root>\n))\nSwitch.displayName = SwitchPrimitives.Root.displayName\n\nexport { Switch }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Table = React.forwardRef<\n HTMLTableElement,\n React.HTMLAttributes<HTMLTableElement>\n>(({ className, ...props }, ref) => (\n <div className=\"relative w-full overflow-auto\">\n <table\n ref={ref}\n className={cn(\"w-full caption-bottom text-sm\", className)}\n {...props}\n />\n </div>\n))\nTable.displayName = \"Table\"\n\nconst TableHeader = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <thead ref={ref} className={cn(\"[&_tr]:border-b\", className)} {...props} />\n))\nTableHeader.displayName = \"TableHeader\"\n\nconst TableBody = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tbody\n ref={ref}\n className={cn(\"[&_tr:last-child]:border-0\", className)}\n {...props}\n />\n))\nTableBody.displayName = \"TableBody\"\n\nconst TableFooter = React.forwardRef<\n HTMLTableSectionElement,\n React.HTMLAttributes<HTMLTableSectionElement>\n>(({ className, ...props }, ref) => (\n <tfoot\n ref={ref}\n className={cn(\n \"border-t bg-muted/50 font-medium last:[&>tr]:border-b-0\",\n className\n )}\n {...props}\n />\n))\nTableFooter.displayName = \"TableFooter\"\n\nconst TableRow = React.forwardRef<\n HTMLTableRowElement,\n React.HTMLAttributes<HTMLTableRowElement>\n>(({ className, ...props }, ref) => (\n <tr\n ref={ref}\n className={cn(\n \"border-b transition-colors hover:bg-muted/50 data-[state=selected]:bg-muted\",\n className\n )}\n {...props}\n />\n))\nTableRow.displayName = \"TableRow\"\n\nconst TableHead = React.forwardRef<\n HTMLTableCellElement,\n React.ThHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <th\n ref={ref}\n className={cn(\n \"h-12 px-4 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0\",\n className\n )}\n {...props}\n />\n))\nTableHead.displayName = \"TableHead\"\n\nconst TableCell = React.forwardRef<\n HTMLTableCellElement,\n React.TdHTMLAttributes<HTMLTableCellElement>\n>(({ className, ...props }, ref) => (\n <td\n ref={ref}\n className={cn(\"p-4 align-middle [&:has([role=checkbox])]:pr-0\", className)}\n {...props}\n />\n))\nTableCell.displayName = \"TableCell\"\n\nconst TableCaption = React.forwardRef<\n HTMLTableCaptionElement,\n React.HTMLAttributes<HTMLTableCaptionElement>\n>(({ className, ...props }, ref) => (\n <caption\n ref={ref}\n className={cn(\"mt-4 text-sm text-muted-foreground\", className)}\n {...props}\n />\n))\nTableCaption.displayName = \"TableCaption\"\n\nexport {\n Table,\n TableHeader,\n TableBody,\n TableFooter,\n TableHead,\n TableRow,\n TableCell,\n TableCaption,\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TabsPrimitive from \"@radix-ui/react-tabs\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Tabs = TabsPrimitive.Root\n\nconst TabsList = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.List>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.List>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.List\n ref={ref}\n className={cn(\n \"inline-flex h-10 items-center justify-center rounded-md bg-muted p-1 text-muted-foreground\",\n className\n )}\n {...props}\n />\n))\nTabsList.displayName = TabsPrimitive.List.displayName\n\nconst TabsTrigger = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Trigger>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Trigger>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Trigger\n ref={ref}\n className={cn(\n \"inline-flex items-center justify-center whitespace-nowrap rounded-sm px-3 py-1.5 text-sm font-medium ring-offset-background transition-all focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:bg-background data-[state=active]:text-foreground data-[state=active]:shadow-xs\",\n className\n )}\n {...props}\n />\n))\nTabsTrigger.displayName = TabsPrimitive.Trigger.displayName\n\nconst TabsContent = React.forwardRef<\n React.ElementRef<typeof TabsPrimitive.Content>,\n React.ComponentPropsWithoutRef<typeof TabsPrimitive.Content>\n>(({ className, ...props }, ref) => (\n <TabsPrimitive.Content\n ref={ref}\n className={cn(\n \"mt-2 ring-offset-background focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2\",\n className\n )}\n {...props}\n />\n))\nTabsContent.displayName = TabsPrimitive.Content.displayName\n\nexport { Tabs, TabsList, TabsTrigger, TabsContent }\n","import * as React from \"react\"\n\nimport { cn } from \"@lib/utils\"\n\nconst Textarea = React.forwardRef<\n HTMLTextAreaElement,\n React.ComponentProps<\"textarea\">\n>(({ className, ...props }, ref) => {\n return (\n <textarea\n className={cn(\n \"flex min-h-[80px] w-full rounded-md border border-input bg-background px-3 py-2 text-base ring-offset-background placeholder:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50 md:text-sm\",\n className\n )}\n ref={ref}\n {...props}\n />\n )\n})\nTextarea.displayName = \"Textarea\"\n\nexport { Textarea }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ToastPrimitives from \"@radix-ui/react-toast\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\n\nimport { cn } from \"@lib/utils\"\n\nconst ToastProvider = ToastPrimitives.Provider\n\nconst ToastViewport = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Viewport>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Viewport>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Viewport\n ref={ref}\n className={cn(\n \"fixed top-0 z-100 flex max-h-screen w-full flex-col-reverse p-4 sm:bottom-0 sm:right-0 sm:top-auto sm:flex-col md:max-w-[420px]\",\n className\n )}\n {...props}\n />\n))\nToastViewport.displayName = ToastPrimitives.Viewport.displayName\n\nconst toastVariants = cva(\n \"group pointer-events-auto relative flex w-full items-center justify-between space-x-4 overflow-hidden rounded-md border p-6 pr-8 shadow-lg transition-all data-[swipe=cancel]:translate-x-0 data-[swipe=end]:translate-x-[var(--radix-toast-swipe-end-x)] data-[swipe=move]:translate-x-[var(--radix-toast-swipe-move-x)] data-[swipe=move]:transition-none data-[state=open]:animate-in data-[state=closed]:animate-out data-[swipe=end]:animate-out data-[state=closed]:fade-out-80 data-[state=closed]:slide-out-to-right-full data-[state=open]:slide-in-from-top-full sm:data-[state=open]:slide-in-from-bottom-full\",\n {\n variants: {\n variant: {\n default: \"border bg-background text-foreground\",\n destructive:\n \"destructive group border-destructive bg-destructive text-destructive-foreground\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n },\n }\n)\n\nconst Toast = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Root>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Root> &\n VariantProps<typeof toastVariants>\n>(({ className, variant, ...props }, ref) => {\n return (\n <ToastPrimitives.Root\n ref={ref}\n className={cn(toastVariants({ variant }), className)}\n {...props}\n />\n )\n})\nToast.displayName = ToastPrimitives.Root.displayName\n\nconst ToastAction = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Action>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Action>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Action\n ref={ref}\n className={cn(\n \"inline-flex h-8 shrink-0 items-center justify-center rounded-md border bg-transparent px-3 text-sm font-medium ring-offset-background transition-colors hover:bg-secondary focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 group-[.destructive]:border-muted/40 hover:group-[.destructive]:border-destructive/30 hover:group-[.destructive]:bg-destructive hover:group-[.destructive]:text-destructive-foreground focus:group-[.destructive]:ring-destructive\",\n className\n )}\n {...props}\n />\n))\nToastAction.displayName = ToastPrimitives.Action.displayName\n\nconst ToastClose = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Close>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Close>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Close\n ref={ref}\n className={cn(\n \"absolute right-2 top-2 rounded-md p-1 text-foreground/50 opacity-0 transition-opacity hover:text-foreground focus:opacity-100 focus:outline-hidden focus:ring-2 group-hover:opacity-100 group-[.destructive]:text-red-300 hover:group-[.destructive]:text-red-50 focus:group-[.destructive]:ring-red-400 focus:group-[.destructive]:ring-offset-red-600\",\n className\n )}\n toast-close=\"\"\n {...props}\n >\n <icons.X className=\"h-4 w-4\" />\n </ToastPrimitives.Close>\n))\nToastClose.displayName = ToastPrimitives.Close.displayName\n\nconst ToastTitle = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Title>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Title>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Title\n ref={ref}\n className={cn(\"text-sm font-semibold\", className)}\n {...props}\n />\n))\nToastTitle.displayName = ToastPrimitives.Title.displayName\n\nconst ToastDescription = React.forwardRef<\n React.ElementRef<typeof ToastPrimitives.Description>,\n React.ComponentPropsWithoutRef<typeof ToastPrimitives.Description>\n>(({ className, ...props }, ref) => (\n <ToastPrimitives.Description\n ref={ref}\n className={cn(\"text-sm opacity-90\", className)}\n {...props}\n />\n))\nToastDescription.displayName = ToastPrimitives.Description.displayName\n\ntype ToastProps = React.ComponentPropsWithoutRef<typeof Toast>\n\ntype ToastActionElement = React.ReactElement<typeof ToastAction>\n\nexport {\n type ToastProps,\n type ToastActionElement,\n ToastProvider,\n ToastViewport,\n Toast,\n ToastTitle,\n ToastDescription,\n ToastClose,\n ToastAction,\n}\n","\"use client\"\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\"\n\nimport type {\n ToastActionElement,\n ToastProps,\n} from \"@base-ui/ui/toast\"\n\nconst TOAST_LIMIT = 1\nconst TOAST_REMOVE_DELAY = 1000000\n\ntype ToasterToast = ToastProps & {\n id: string\n title?: React.ReactNode\n description?: React.ReactNode\n action?: ToastActionElement\n}\n\nconst ACTIONS = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const\n\n// 删除未使用的 ActionType 类型定义\ntype Action =\n | {\n type: typeof ACTIONS.ADD_TOAST\n toast: ToasterToast\n }\n | {\n type: typeof ACTIONS.UPDATE_TOAST\n toast: Partial<ToasterToast>\n }\n | {\n type: typeof ACTIONS.DISMISS_TOAST\n toastId?: ToasterToast[\"id\"]\n }\n | {\n type: typeof ACTIONS.REMOVE_TOAST\n toastId?: ToasterToast[\"id\"]\n }\n\nlet count = 0\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER\n return count.toString()\n}\n\n\ninterface State {\n toasts: ToasterToast[]\n}\n\nconst toastTimeouts = new Map<string, ReturnType<typeof setTimeout>>()\n\nconst addToRemoveQueue = (toastId: string) => {\n if (toastTimeouts.has(toastId)) {\n return\n }\n\n const timeout = setTimeout(() => {\n toastTimeouts.delete(toastId)\n dispatch({\n type: ACTIONS.REMOVE_TOAST,\n toastId: toastId,\n })\n }, TOAST_REMOVE_DELAY)\n\n toastTimeouts.set(toastId, timeout)\n}\n\nexport const reducer = (state: State, action: Action): State => {\n switch (action.type) {\n case \"ADD_TOAST\":\n return {\n ...state,\n toasts: [action.toast, ...state.toasts].slice(0, TOAST_LIMIT),\n }\n\n case \"UPDATE_TOAST\":\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === action.toast.id ? { ...t, ...action.toast } : t\n ),\n }\n\n case \"DISMISS_TOAST\": {\n const { toastId } = action\n\n // ! Side effects ! - This could be extracted into a dismissToast() action,\n // but I'll keep it here for simplicity\n if (toastId) {\n addToRemoveQueue(toastId)\n } else {\n state.toasts.forEach((toast) => {\n addToRemoveQueue(toast.id)\n })\n }\n\n return {\n ...state,\n toasts: state.toasts.map((t) =>\n t.id === toastId || toastId === undefined\n ? {\n ...t,\n open: false,\n }\n : t\n ),\n }\n }\n case \"REMOVE_TOAST\":\n if (action.toastId === undefined) {\n return {\n ...state,\n toasts: [],\n }\n }\n return {\n ...state,\n toasts: state.toasts.filter((t) => t.id !== action.toastId),\n }\n }\n}\n\nconst listeners: Array<(state: State) => void> = []\n\nlet memoryState: State = { toasts: [] }\n\nfunction dispatch(action: Action) {\n memoryState = reducer(memoryState, action)\n listeners.forEach((listener) => {\n listener(memoryState)\n })\n}\n\ntype Toast = Omit<ToasterToast, \"id\">\n\nfunction toast({ ...props }: Toast) {\n const id = genId()\n\n const update = (props: ToasterToast) =>\n dispatch({\n type: \"UPDATE_TOAST\",\n toast: { ...props, id },\n })\n const dismiss = () => dispatch({ type: \"DISMISS_TOAST\", toastId: id })\n\n dispatch({\n type: \"ADD_TOAST\",\n toast: {\n ...props,\n id,\n open: true,\n onOpenChange: (open) => {\n if (!open) dismiss()\n },\n },\n })\n\n return {\n id: id,\n dismiss,\n update,\n }\n}\n\nfunction useToast() {\n const [state, setState] = React.useState<State>(memoryState)\n\n React.useEffect(() => {\n listeners.push(setState)\n return () => {\n const index = listeners.indexOf(setState)\n if (index > -1) {\n listeners.splice(index, 1)\n }\n }\n }, [state])\n\n return {\n ...state,\n toast,\n dismiss: (toastId?: string) => dispatch({ type: \"DISMISS_TOAST\", toastId }),\n }\n}\n\nexport { useToast, toast }\n","\"use client\"\n\nimport { useToast } from \"@base-ui/ui/use-toast\"\nimport {\n Toast,\n ToastClose,\n ToastDescription,\n ToastProvider,\n ToastTitle,\n ToastViewport,\n} from \"@base-ui/ui/toast\"\n\nexport function Toaster() {\n const { toasts } = useToast()\n\n return (\n <ToastProvider>\n {toasts.map(function ({ id, title, description, action, ...props }) {\n return (\n <Toast key={id} {...props}>\n <div className=\"grid gap-1\">\n {title && <ToastTitle>{title}</ToastTitle>}\n {description && (\n <ToastDescription>{description}</ToastDescription>\n )}\n </div>\n {action}\n <ToastClose />\n </Toast>\n )\n })}\n <ToastViewport />\n </ToastProvider>\n )\n}\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as ToggleGroupPrimitive from \"@radix-ui/react-toggle-group\"\nimport { type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\nimport { toggleVariants } from \"@base-ui/ui/toggle\"\n\nconst ToggleGroupContext = React.createContext<\n VariantProps<typeof toggleVariants>\n>({\n size: \"default\",\n variant: \"default\",\n})\n\nconst ToggleGroup = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, children, ...props }, ref) => (\n <ToggleGroupPrimitive.Root\n ref={ref}\n className={cn(\"flex items-center justify-center gap-1\", className)}\n {...props}\n >\n <ToggleGroupContext.Provider value={{ variant, size }}>\n {children}\n </ToggleGroupContext.Provider>\n </ToggleGroupPrimitive.Root>\n))\n\nToggleGroup.displayName = ToggleGroupPrimitive.Root.displayName\n\nconst ToggleGroupItem = React.forwardRef<\n React.ElementRef<typeof ToggleGroupPrimitive.Item>,\n React.ComponentPropsWithoutRef<typeof ToggleGroupPrimitive.Item> &\n VariantProps<typeof toggleVariants>\n>(({ className, children, variant, size, ...props }, ref) => {\n const context = React.useContext(ToggleGroupContext)\n\n return (\n <ToggleGroupPrimitive.Item\n ref={ref}\n className={cn(\n toggleVariants({\n variant: context.variant || variant,\n size: context.size || size,\n }),\n className\n )}\n {...props}\n >\n {children}\n </ToggleGroupPrimitive.Item>\n )\n})\n\nToggleGroupItem.displayName = ToggleGroupPrimitive.Item.displayName\n\nexport { ToggleGroup, ToggleGroupItem }\n","\"use client\"\n\nimport * as React from \"react\"\nimport * as TogglePrimitive from \"@radix-ui/react-toggle\"\nimport { cva, type VariantProps } from \"class-variance-authority\"\n\nimport { cn } from \"@lib/utils\"\n\nconst toggleVariants = cva(\n \"inline-flex items-center justify-center rounded-md text-sm font-medium ring-offset-background transition-colors hover:bg-muted hover:text-muted-foreground focus-visible:outline-hidden focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0 gap-2\",\n {\n variants: {\n variant: {\n default: \"bg-transparent\",\n outline:\n \"border border-input bg-transparent hover:bg-accent hover:text-accent-foreground\",\n },\n size: {\n default: \"h-10 px-3 min-w-10\",\n sm: \"h-9 px-2.5 min-w-9\",\n lg: \"h-11 px-5 min-w-11\",\n },\n },\n defaultVariants: {\n variant: \"default\",\n size: \"default\",\n },\n }\n)\n\nconst Toggle = React.forwardRef<\n React.ElementRef<typeof TogglePrimitive.Root>,\n React.ComponentPropsWithoutRef<typeof TogglePrimitive.Root> &\n VariantProps<typeof toggleVariants>\n>(({ className, variant, size, ...props }, ref) => (\n <TogglePrimitive.Root\n ref={ref}\n className={cn(toggleVariants({ variant, size, className }))}\n {...props}\n />\n))\n\nToggle.displayName = TogglePrimitive.Root.displayName\n\nexport { Toggle, toggleVariants }\n","'use client';\n\nimport { createContext, useContext, type ComponentType, type ReactNode } from 'react';\n\nexport interface IconConfig {\n siteIcon?: ComponentType | string;\n}\n\n// icon config context, directly store the config value\nconst IconConfigContext = createContext<IconConfig | null>(null);\n\ninterface IconConfigProviderProps {\n config: IconConfig;\n children: ReactNode;\n}\n\n/**\n * IconConfigProvider - icon config provider based on React Context\n * directly store the config value, without depending on module state\n */\nexport function IconConfigProvider({ config, children }: IconConfigProviderProps) {\n return (\n <IconConfigContext.Provider value={config}>\n {children}\n </IconConfigContext.Provider>\n );\n}\n\n/**\n * internal hook: get icon config\n * not exposed, only used by base-ui internal components\n */\nfunction useIconConfig(): IconConfig {\n const config = useContext(IconConfigContext);\n \n if (config === null) {\n throw new Error(\n '[SiteIcon] IconConfigProvider not found. Please wrap your app with <IconConfigProvider config={{ siteIcon: \"YourIcon\" }}>.'\n );\n }\n \n return config;\n}\n\n/**\n * internal hook: safe get specific icon config\n * not exposed, only used by base-ui internal components\n */\nexport function useIconConfigSafe(iconKey: keyof IconConfig): ComponentType | string | undefined {\n try {\n const config = useIconConfig();\n return config[iconKey];\n } catch {\n // if there is no provider, return undefined, let the caller handle it\n return undefined;\n }\n} ","'use client';\n\nimport { type LucideProps } from 'lucide-react';\nimport { cn } from '@lib/utils';\nimport { useIconConfigSafe } from '@base-ui/lib/icon-context';\nimport { globalLucideIcons } from '@base-ui/components/global-icon';\nimport { themeIconColor } from '@base-ui/lib/theme-util';\n\n/**\n * site icon component - client component\n * based on React Context to get the config, solve the problem of cross-package module instance isolation\n */\nexport function SiteIcon({ \n size = 24, \n className,\n ...props \n}: Omit<LucideProps, 'children'>) {\n const configuredIcon = useIconConfigSafe('siteIcon');\n \n if (configuredIcon === undefined) {\n throw new Error(\n '[SiteIcon] Site icon is not configured. Please use <IconConfigProvider config={{ siteIcon: YourCustomIcon }}> or <IconConfigProvider config={{ siteIcon: \"IconKeyName\" }}> to set a custom site icon to avoid legal risks.'\n );\n }\n\n // render the icon, pass in the config value and attributes\n if (typeof configuredIcon === 'string') {\n // string type: the key name of globalLucideIcons\n if (configuredIcon === '') {\n // empty string use default icon\n const DefaultIcon = globalLucideIcons['Download' as keyof typeof globalLucideIcons];\n return <DefaultIcon size={size} className={cn(themeIconColor, className)} {...props} />;\n }\n const IconComponent = globalLucideIcons[configuredIcon as keyof typeof globalLucideIcons];\n if (!IconComponent) {\n throw new Error(`[SiteIcon] Icon key \"${configuredIcon}\" not found in globalLucideIcons.`);\n }\n return <IconComponent size={size} className={cn(themeIconColor, className)} {...props} />;\n } else {\n // React component type: custom icon component\n const CustomIcon = configuredIcon as React.ComponentType<LucideProps>;\n const hasColorClass = className && /text-\\w+/.test(className);\n const finalClassName = hasColorClass ? className : cn(themeIconColor, className);\n return <CustomIcon size={size} className={finalClassName} {...props} />;\n }\n} ","\"use client\";\n\nimport { NotFoundIcon } from \"@base-ui/components/global-icon\";\nimport { SiteIcon } from \"@base-ui/lib/site-icon\";\nimport { useEffect, useState } from \"react\";\n\nexport function NotFoundPage() {\n const [glitchText, setGlitchText] = useState(\"404\");\n\n // glitch effect\n useEffect(() => {\n const glitchChars = [\"4\", \"0\", \"4\", \"?\", \"#\", \"!\", \"*\", \"&\", \"%\", \"$\"];\n\n const interval = setInterval(() => {\n // 80% probability to display \"404\", 20% probability to display random characters\n if (Math.random() < 0.5) {\n setGlitchText(\"404\");\n } else {\n const randomChars = Array.from(\n { length: 3 },\n () => glitchChars[Math.floor(Math.random() * glitchChars.length)]\n ).join(\"\");\n setGlitchText(randomChars);\n }\n }, 600); // every 1.5 seconds\n\n return () => clearInterval(interval);\n }, []);\n\n return (\n <div className=\"flex flex-col items-center justify-center min-h-[75vh] w-full px-4 py-8\">\n {/* main content area */}\n <div className=\"text-center space-y-8 max-w-2xl\">\n {/* 404 number - glitch effect */}\n <div className=\"relative flex justify-center\">\n <h1\n className=\"text-8xl md:text-9xl font-bold bg-gradient-to-r from-purple-600 via-pink-500 to-purple-700 bg-clip-text text-transparent select-none\"\n style={{\n fontFamily: \"Montserrat, monospace\",\n textShadow: \"0 0 30px rgba(172, 98, 253, 0.3)\",\n letterSpacing: \"0.1em\",\n }}\n >\n {glitchText}\n </h1>\n {/* scan line effect */}\n <div className=\"absolute inset-0 pointer-events-none\">\n <div className=\"h-full w-full bg-gradient-to-b from-transparent via-purple-500/10 to-transparent animate-pulse\" />\n </div>\n </div>\n\n {/* error message */}\n <div className=\"space-y-4\">\n <h2 className=\"text-2xl md:text-3xl font-semibold text-foreground\">\n Page Not Found\n </h2>\n <p className=\"text-lg text-muted-foreground max-w-md mx-auto leading-relaxed\">\n The page you're looking for doesn't exist\n </p>\n </div>\n\n {/* decorative elements */}\n <div className=\"flex justify-center items-center gap-8 pt-8 opacity-60\">\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <SiteIcon />\n <span>Woops!</span>\n </div>\n <div className=\"w-1 h-1 bg-purple-500 rounded-full animate-ping\" />\n <div className=\"flex items-center gap-2 text-sm text-muted-foreground\">\n <NotFoundIcon />\n <span>Error Code: 404</span>\n </div>\n </div>\n </div>\n\n {/* background decoration */}\n <div className=\"fixed inset-0 pointer-events-none overflow-hidden -z-10\">\n {/* grid background */}\n <div\n className=\"absolute inset-0 opacity-[0.02] dark:opacity-[0.05]\"\n style={{\n backgroundImage: `\n linear-gradient(rgba(172, 98, 253, 0.1) 1px, transparent 1px),\n linear-gradient(90deg, rgba(172, 98, 253, 0.1) 1px, transparent 1px)\n `,\n backgroundSize: \"50px 50px\",\n }}\n />\n\n {/* floating particles */}\n {Array.from({ length: 6 }).map((_, i) => (\n <div\n key={i}\n className=\"absolute w-2 h-2 bg-purple-500/20 rounded-full animate-bounce\"\n style={{\n left: `${20 + i * 15}%`,\n top: `${30 + (i % 3) * 20}%`,\n animationDelay: `${i * 0.5}s`,\n animationDuration: `${2 + i * 0.3}s`,\n }}\n />\n ))}\n </div>\n </div>\n );\n}","'use client';\n\nimport { useState, useEffect } from 'react';\nimport { globalLucideIcons as icons } from '@base-ui/components/global-icon';\nexport default function GoToTop() {\n const [isVisible, setIsVisible] = useState(false);\n\n // 监听滚动事件\n useEffect(() => {\n const toggleVisibility = () => {\n if (window.scrollY > 300) {\n setIsVisible(true);\n } else {\n setIsVisible(false);\n }\n };\n\n window.addEventListener('scroll', toggleVisibility);\n return () => window.removeEventListener('scroll', toggleVisibility);\n }, []);\n\n // 回到顶部\n const scrollToTop = () => {\n window.scrollTo({\n top: 0,\n behavior: 'smooth'\n });\n };\n\n return (\n <>\n {isVisible && (\n <button\n onClick={scrollToTop}\n className=\"fixed bottom-6 right-6 p-3 bg-neutral-800 text-neutral-100 hover:bg-neutral-700 dark:bg-neutral-300 dark:text-neutral-900 dark:hover:bg-neutral-400 rounded-full shadow-lg transition-all z-50\"\n aria-label=\"Go to top\"\n >\n <icons.ArrowUp size={20} />\n </button>\n )}\n </>\n );\n} ","/**\n * @license\n * MIT License\n * Copyright (c) 2025 D8ger\n * \n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use client'\n\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport { useLocale, useTranslations } from 'next-intl'\nimport { useRouter } from 'next/navigation'\nimport { useEffect, useState } from 'react'\n\ntype I18nConfig = {\n locales: readonly string[];\n detector: {\n storagePrefix: string;\n storageKey: string;\n autoCloseTimeout: number;\n expirationDays: number;\n };\n};\n\ninterface LanguageDetectorProps {\n i18nConfig: I18nConfig;\n}\n\ntype Locale = string;\n\ninterface LanguagePreference {\n locale: string;\n status: 'accepted' | 'rejected';\n timestamp: number;\n}\n\nexport default function LanguageDetector({ i18nConfig }: LanguageDetectorProps) {\n const [show, setShow] = useState(false)\n const [detectedLocale, setDetectedLocale] = useState<Locale | null>(null)\n const currentLocale = useLocale()\n const router = useRouter()\n const t = useTranslations('languageDetection')\n\n // Get the storage key from the configuration\n const LANGUAGE_PREFERENCE_KEY = `${i18nConfig.detector.storagePrefix}-${i18nConfig.detector.storageKey}`\n\n useEffect(() => {\n // Get the browser language\n const browserLang = navigator.language.split('-')[0] as Locale\n\n // Get the language preference from localStorage\n const savedPreference = localStorage.getItem(LANGUAGE_PREFERENCE_KEY)\n const preference: LanguagePreference | null = savedPreference\n ? JSON.parse(savedPreference)\n : null\n\n // Check if the language detection box should be displayed\n const shouldShowDetector = () => {\n if (!preference) return true;\n\n // If the stored language is the same as the current language, do not display the detection box\n if (preference.locale === currentLocale) return false;\n\n // If the user has previously rejected switching to this language, do not display the detection box\n if (preference.status === 'rejected' && preference.locale === browserLang) return false;\n\n // If the user has previously accepted switching to this language, do not display the detection box\n if (preference.status === 'accepted' && preference.locale === currentLocale) return false;\n\n // Use the expiration time from the configuration\n const expirationMs = i18nConfig.detector.expirationDays * 24 * 60 * 60 * 1000;\n if (Date.now() - preference.timestamp < expirationMs) return false;\n\n return true;\n }\n\n // Check if the browser language is in the supported language list and needs to display the detection box\n if ((i18nConfig.locales as string[]).includes(browserLang) &&\n browserLang !== currentLocale &&\n shouldShowDetector()) {\n setDetectedLocale(browserLang)\n setShow(true)\n\n // Use the automatic closing time from the configuration\n const timer = setTimeout(() => {\n console.log('[LanguageDetector] Auto closing after timeout')\n setShow(false)\n // Save the rejected state when the automatic closing occurs\n savePreference(browserLang, 'rejected')\n }, i18nConfig.detector.autoCloseTimeout)\n\n return () => clearTimeout(timer)\n }\n }, [currentLocale])\n\n // Save the language preference to localStorage\n const savePreference = (locale: string, status: 'accepted' | 'rejected') => {\n const preference: LanguagePreference = {\n locale,\n status,\n timestamp: Date.now()\n }\n localStorage.setItem(LANGUAGE_PREFERENCE_KEY, JSON.stringify(preference))\n }\n\n const handleLanguageChange = () => {\n if (detectedLocale) {\n // Save the accepted state\n savePreference(detectedLocale, 'accepted')\n\n // Get the current path\n const pathname = window.location.pathname\n // Replace the language part\n const newPathname = pathname.replace(`/${currentLocale}`, `/${detectedLocale}`)\n // Redirect to the new path\n router.push(newPathname)\n setShow(false)\n }\n }\n\n const handleClose = () => {\n if (detectedLocale) {\n // Save the rejected state\n savePreference(detectedLocale, 'rejected')\n }\n setShow(false)\n }\n\n if (!detectedLocale || !show) return null\n\n return (\n <div className=\"fixed top-16 right-4 z-40 w-[420px]\">\n <div className={`shadow-lg rounded-lg transition-all duration-300 ${show ? 'translate-x-0 opacity-100' : 'translate-x-full opacity-0'} \n bg-linear-to-r from-purple-100/95 via-white/95 to-purple-100/95 backdrop-blur-xs\n animate-gradient-x`}>\n <div className=\"relative px-6 py-4 overflow-hidden\">\n <div className=\"relative z-10 flex flex-col gap-3\">\n <div className=\"flex items-start justify-between gap-4\">\n <div className=\"flex flex-col gap-1.5\">\n <h3 className=\"text-lg font-semibold text-gray-900\">\n {t('title')}\n </h3>\n <p className=\"text-base text-gray-600\">\n {t('description')} <span className=\"text-purple-500 font-semibold\">{detectedLocale === 'zh' ? '中文' : 'English'}</span>?\n </p>\n </div>\n <button\n onClick={handleClose}\n className=\"text-gray-500 hover:text-gray-700\"\n >\n <icons.X className=\"h-5 w-5\" />\n </button>\n </div>\n <div className=\"flex items-center gap-3\">\n <button\n onClick={handleClose}\n className=\"flex-1 px-4 py-2 text-base bg-gray-100 text-gray-600 rounded-md hover:bg-gray-200\"\n >\n {t('close')}\n </button>\n <button\n onClick={handleLanguageChange}\n className=\"flex-1 px-4 py-2 text-base bg-purple-500 text-white rounded-md hover:bg-purple-600\"\n >\n {t('changeAction')}\n </button>\n </div>\n </div>\n <div className=\"absolute inset-0 bg-linear-to-r from-transparent via-purple-200/30 to-transparent animate-shimmer\" />\n </div>\n </div>\n </div>\n )\n} ","/**\n * @license\n * MIT License\n * Copyright (c) 2025 D8ger\n * \n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use client'\n\nimport { usePathname, useRouter } from 'next/navigation'\nimport { useLocale } from 'next-intl'\nimport { globalLucideIcons as icons } from \"@base-ui/components/global-icon\"\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '@base-ui/ui/dropdown-menu'\nimport { LanguageButton } from '@base-ui/ui/language-button'\n\ninterface LanguageSwitcherProps {\n locales: readonly string[];\n localeLabels: Record<string, string>;\n}\n\nexport default function LanguageSwitcher({ locales, localeLabels }: LanguageSwitcherProps) {\n const locale = useLocale()\n const router = useRouter()\n const pathname = usePathname()\n\n const handleLocaleChange = (newLocale: string) => {\n const newPathname = pathname.replace(`/${locale}`, `/${newLocale}`)\n router.push(newPathname)\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <LanguageButton\n variant=\"ghost\"\n size=\"icon\"\n className=\"bg-linear-to-r from-purple-400 to-pink-600 hover:from-purple-500 hover:to-pink-700 text-white transform hover:scale-110 transition-all duration-300\"\n >\n <icons.Globe className=\"h-5 w-5\" />\n </LanguageButton>\n </DropdownMenuTrigger>\n <DropdownMenuContent\n align=\"end\"\n sideOffset={5}\n className=\"bg-white/90 dark:bg-gray-800/90 border-purple-100 dark:border-purple-800 w-[200px] p-2 backdrop-blur-xs translate-x-[50px]\"\n >\n <div className=\"grid grid-cols-2 gap-1\">\n {locales.map((loc) => (\n <DropdownMenuItem\n key={loc}\n className={`\n px-2 py-2 text-sm cursor-pointer text-center justify-center\n transition-all duration-300 ease-in-out\n hover:scale-105 hover:shadow-md\n rounded-md whitespace-nowrap\n ${locale === loc\n ? 'bg-linear-to-r from-purple-400 to-pink-600 text-white font-medium shadow-lg scale-105'\n : 'hover:bg-linear-to-r hover:from-purple-400/10 hover:to-pink-600/10 hover:text-transparent hover:bg-clip-text'\n }\n `}\n onClick={() => handleLocaleChange(loc)}\n >\n {localeLabels[loc]}\n </DropdownMenuItem>\n ))}\n </div>\n </DropdownMenuContent>\n </DropdownMenu>\n )\n}","/* eslint-disable @typescript-eslint/no-explicit-any */\n\"use client\";\n\nimport Script from \"next/script\";\n\nconst googleAnalyticsId = process.env.NEXT_PUBLIC_GOOGLE_ANALYTICS_ID!;\n\nexport function GoogleAnalyticsScript() {\n // Only load in production environment\n if (process.env.NODE_ENV !== 'production') {\n return null\n }\n \n return (\n <>\n <Script\n strategy=\"afterInteractive\"\n src={`https://www.googletagmanager.com/gtag/js?id=${googleAnalyticsId}`}\n />\n <Script\n id=\"google-analytics\"\n strategy=\"afterInteractive\"\n dangerouslySetInnerHTML={{\n __html: `\n window.dataLayer = window.dataLayer || [];\n function gtag(){dataLayer.push(arguments);}\n gtag('js', new Date());\n gtag('config', '${googleAnalyticsId}');\n `,\n }}\n />\n </>\n );\n}\n\nexport function useGoogleAnalytics() {\n const trackEvent = (event: string, data?: Record<string, unknown>) => {\n if (typeof window === \"undefined\" || !window.gtag) {\n return;\n }\n\n window.gtag(\"event\", event, data);\n };\n\n return {\n trackEvent,\n };\n}\n\n// Add gtag type definition to window\ndeclare global {\n interface Window {\n dataLayer: any[];\n gtag: (...args: any[]) => void;\n }\n}\n","'use client'\n\nimport Script from 'next/script'\n\nconst microsoftClarityId = process.env.NEXT_PUBLIC_MICROSOFT_CLARITY_ID!;\n\nexport function MicrosoftClarityScript() {\n // Only load in production environment\n if (process.env.NODE_ENV !== 'production') {\n return null\n }\n\n return (\n <Script id=\"microsoft-clarity\" strategy=\"afterInteractive\">\n {`\n (function(c,l,a,r,i,t,y){\n c[a]=c[a]||function(){(c[a].q=c[a].q||[]).push(arguments)};\n t=l.createElement(r);t.async=1;t.src=\"https://www.clarity.ms/tag/\"+i;\n y=l.getElementsByTagName(r)[0];y.parentNode.insertBefore(t,y);\n })(window, document, \"clarity\", \"script\", \"${microsoftClarityId}\");\n `}\n </Script>\n )\n} "],"mappings":"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","names":["React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","jsxs","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","React","React","jsx","Icon","React","jsx","jsxs","React","React","jsx","jsxs","jsx","jsxs","React","cva","jsx","cva","React","jsx","cva","jsx","cva","React","Slot","jsx","jsxs","Slot","jsx","_a","_b","React","jsx","React","jsx","jsxs","api","React","jsx","jsxs","config","React","jsx","CollapsibleTrigger","CollapsibleContent","React","React","jsx","jsxs","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","jsx","jsxs","React","Slot","React","cva","jsx","cva","Label","jsx","Label","Slot","React","jsx","React","jsx","jsxs","React","jsx","React","jsx","React","jsx","jsxs","React","cva","jsx","jsxs","cva","React","jsx","jsxs","React","jsx","React","jsx","React","jsx","RadioGroup","jsx","React","jsx","jsxs","React","jsx","jsxs","React","jsx","Separator","React","cva","jsx","jsxs","cva","React","Slot","cva","React","jsx","React","jsx","Tooltip","jsx","jsxs","open","Separator","Slot","cva","Tooltip","React","jsx","jsxs","jsx","React","jsx","React","jsx","React","jsx","React","jsx","React","cva","jsx","cva","React","toast","props","jsx","jsxs","Toaster","React","React","cva","jsx","cva","jsx","createContext","useContext","jsx","jsx","useEffect","useState","jsx","jsxs","useState","useEffect","Fragment","jsx","useEffect","useState","jsx","jsxs","useRouter","useLocale","jsx","jsxs","Fragment","jsx","jsxs","Script","jsx"]}
|