@exulu/frontend 1.9.0 → 1.10.0
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/.next/BUILD_ID +1 -1
- package/dist/.next/app-build-manifest.json +140 -140
- package/dist/.next/app-path-routes-manifest.json +1 -1
- package/dist/.next/build-manifest.json +2 -2
- package/dist/.next/prerender-manifest.json +1 -1
- package/dist/.next/server/app/(application)/agents/edit/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/agents/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page.js +7 -7
- package/dist/.next/server/app/(application)/chat/[agent]/[session]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/[agent]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/chat/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/configuration/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/dashboard/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/data/[[...query]]/page.js +3 -3
- package/dist/.next/server/app/(application)/data/[[...query]]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/[id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/cases/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/evals/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/explorer/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/keys/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/[project]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/projects/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/prompts/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/roles/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/token/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/users/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/create/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/edit/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/variables/usage/[variable_id]/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(application)/workflows/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/(authentication)/login/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/.next/server/app/_not-found.html +1 -1
- package/dist/.next/server/app/_not-found.rsc +1 -1
- package/dist/.next/server/app-paths-manifest.json +6 -6
- package/dist/.next/server/chunks/2270.js +17 -6
- package/dist/.next/server/chunks/5485.js +1 -1
- package/dist/.next/server/chunks/5974.js +1 -1
- package/dist/.next/server/middleware-manifest.json +5 -5
- package/dist/.next/server/pages/404.html +1 -1
- package/dist/.next/server/pages/500.html +1 -1
- package/dist/.next/server/server-reference-manifest.json +1 -1
- package/dist/.next/static/chunks/3750-e3d1b2cccd265190.js +2 -0
- package/dist/.next/static/chunks/3750-e3d1b2cccd265190.js.map +1 -0
- package/dist/.next/static/chunks/{3832-417a5eeee712a793.js → 3832-d7782d6a2771ae6c.js} +1 -1
- package/dist/.next/static/chunks/{3832-417a5eeee712a793.js.map → 3832-d7782d6a2771ae6c.js.map} +1 -1
- package/dist/.next/static/chunks/6280-50b751f993f2fe4f.js +2 -0
- package/dist/.next/static/chunks/6280-50b751f993f2fe4f.js.map +1 -0
- package/dist/.next/static/chunks/{6373-601400fab8a3bb55.js → 6373-aef582adc575d3ca.js} +2 -2
- package/dist/.next/static/chunks/6373-aef582adc575d3ca.js.map +1 -0
- package/dist/.next/static/chunks/{8293-0e69d89d2dac7111.js → 8293-ba5cd36594e6fde1.js} +3 -3
- package/dist/.next/static/chunks/8293-ba5cd36594e6fde1.js.map +1 -0
- package/dist/.next/static/chunks/9105-d8ff41060f7ffc85.js +2 -0
- package/dist/.next/static/chunks/9105-d8ff41060f7ffc85.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/{page-7edb1c7c850f982c.js → page-d59534ca19eee51f.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/chat/[agent]/[session]/{page-7edb1c7c850f982c.js.map → page-d59534ca19eee51f.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-0c7c1b0e1713bf60.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-0c7c1b0e1713bf60.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-7db6bfbf02606136.js +2 -0
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-7db6bfbf02606136.js.map +1 -0
- package/dist/.next/static/chunks/app/(application)/explorer/{page-1d676c9dfe3ed58b.js → page-e6b1c034c07776e2.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/explorer/{page-1d676c9dfe3ed58b.js.map → page-e6b1c034c07776e2.js.map} +1 -1
- package/dist/.next/static/chunks/app/(application)/token/{page-3f74f711f3d04fce.js → page-3acc39cb8a718331.js} +1 -1
- package/dist/.next/static/chunks/app/(application)/token/{page-3f74f711f3d04fce.js.map → page-3acc39cb8a718331.js.map} +1 -1
- package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js +2 -0
- package/dist/.next/static/chunks/ba12c10f-85ed008ce7746dbe.js.map +1 -0
- package/dist/.next/static/css/9c08ae5d990a6b14.css +4 -0
- package/dist/.next/static/css/9c08ae5d990a6b14.css.map +1 -0
- package/dist/.next/static/css/e3f2a16ab7676b05.css.map +1 -1
- package/dist/package.json +1 -1
- package/package.json +1 -1
- package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js +0 -2
- package/dist/.next/static/chunks/3750-f45c59ef1cc79417.js.map +0 -1
- package/dist/.next/static/chunks/572-2940a399da1e3a3b.js +0 -2
- package/dist/.next/static/chunks/572-2940a399da1e3a3b.js.map +0 -1
- package/dist/.next/static/chunks/6373-601400fab8a3bb55.js.map +0 -1
- package/dist/.next/static/chunks/8293-0e69d89d2dac7111.js.map +0 -1
- package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js +0 -2
- package/dist/.next/static/chunks/9105-dfbce1bad8e3e8dd.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/layout-2d47be0ee80dd89d.js.map +0 -1
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js +0 -2
- package/dist/.next/static/chunks/app/(application)/data/[[...query]]/page-8d2b3995cacfd832.js.map +0 -1
- package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js +0 -2
- package/dist/.next/static/chunks/ba12c10f-aaafcb074f608624.js.map +0 -1
- package/dist/.next/static/css/6f8c5212af8ef284.css +0 -4
- package/dist/.next/static/css/6f8c5212af8ef284.css.map +0 -1
- /package/dist/.next/static/{ls-syPkq9-MWp-VWWDEZJ → 3j63p6b3zZZB_v1Hn8Mxp}/_buildManifest.js +0 -0
- /package/dist/.next/static/{ls-syPkq9-MWp-VWWDEZJ → 3j63p6b3zZZB_v1Hn8Mxp}/_ssgManifest.js +0 -0
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"static/chunks/3750-f45c59ef1cc79417.js","mappings":"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","sources":["webpack://_N_E/./components/ai-elements/code-block.tsx","webpack://_N_E/./components/ai-elements/response.tsx","webpack://_N_E/./components/ui/alert.tsx","webpack://_N_E/./components/ui/collapsible.tsx","webpack://_N_E/./components/ui/tabs.tsx","webpack://_N_E/./components/ui/use-toast.ts","webpack://_N_E/./hooks/use-uppy.tsx","webpack://_N_E/./components/uppy-dashboard.tsx"],"sourcesContent":["'use client';\n\nimport { Button } from '@/components/ui/button';\nimport { cn } from '@/lib/utils';\nimport { CheckIcon, CopyIcon } from 'lucide-react';\nimport type { ComponentProps, HTMLAttributes, ReactNode } from 'react';\nimport { createContext, useContext, useState } from 'react';\nimport { Prism as SyntaxHighlighter } from 'react-syntax-highlighter';\nimport {\n oneDark,\n oneLight,\n} from 'react-syntax-highlighter/dist/esm/styles/prism';\n\ntype CodeBlockContextType = {\n code: string;\n};\n\nconst CodeBlockContext = createContext<CodeBlockContextType>({\n code: '',\n});\n\nexport type CodeBlockProps = HTMLAttributes<HTMLDivElement> & {\n code: string;\n language: string;\n showLineNumbers?: boolean;\n children?: ReactNode;\n};\n\nexport const CodeBlock = ({\n code,\n language,\n showLineNumbers = false,\n className,\n children,\n ...props\n}: CodeBlockProps) => (\n <CodeBlockContext.Provider value={{ code }}>\n <div\n className={cn(\n 'relative w-full overflow-hidden rounded-md border bg-background text-foreground',\n className\n )}\n {...props}\n >\n <div className=\"relative\">\n <SyntaxHighlighter\n className=\"overflow-hidden dark:hidden\"\n codeTagProps={{\n className: 'font-mono text-sm',\n }}\n customStyle={{\n margin: 0,\n padding: '1rem',\n fontSize: '0.875rem',\n background: 'hsl(var(--background))',\n color: 'hsl(var(--foreground))',\n }}\n language={language}\n lineNumberStyle={{\n color: 'hsl(var(--muted-foreground))',\n paddingRight: '1rem',\n minWidth: '2.5rem',\n }}\n showLineNumbers={showLineNumbers}\n style={oneLight}\n >\n {code}\n </SyntaxHighlighter>\n <SyntaxHighlighter\n className=\"hidden overflow-hidden dark:block\"\n codeTagProps={{\n className: 'font-mono text-sm',\n }}\n customStyle={{\n margin: 0,\n padding: '1rem',\n fontSize: '0.875rem',\n background: 'hsl(var(--background))',\n color: 'hsl(var(--foreground))',\n }}\n language={language}\n lineNumberStyle={{\n color: 'hsl(var(--muted-foreground))',\n paddingRight: '1rem',\n minWidth: '2.5rem',\n }}\n showLineNumbers={showLineNumbers}\n style={oneDark}\n >\n {code}\n </SyntaxHighlighter>\n {children && (\n <div className=\"absolute top-2 right-2 flex items-center gap-2\">\n {children}\n </div>\n )}\n </div>\n </div>\n </CodeBlockContext.Provider>\n);\n\nexport type CodeBlockCopyButtonProps = ComponentProps<typeof Button> & {\n onCopy?: () => void;\n onError?: (error: Error) => void;\n timeout?: number;\n};\n\nexport const CodeBlockCopyButton = ({\n onCopy,\n onError,\n timeout = 2000,\n children,\n className,\n ...props\n}: CodeBlockCopyButtonProps) => {\n const [isCopied, setIsCopied] = useState(false);\n const { code } = useContext(CodeBlockContext);\n\n const copyToClipboard = async () => {\n if (typeof window === 'undefined' || !navigator.clipboard.writeText) {\n onError?.(new Error('Clipboard API not available'));\n return;\n }\n\n try {\n await navigator.clipboard.writeText(code);\n setIsCopied(true);\n onCopy?.();\n setTimeout(() => setIsCopied(false), timeout);\n } catch (error) {\n onError?.(error as Error);\n }\n };\n\n const Icon = isCopied ? CheckIcon : CopyIcon;\n\n return (\n <Button\n className={cn('shrink-0', className)}\n onClick={copyToClipboard}\n size=\"icon\"\n variant=\"ghost\"\n {...props}\n >\n {children ?? <Icon size={14} />}\n </Button>\n );\n};\n","'use client';\n\nimport { cn } from '@/lib/utils';\nimport type { ComponentProps, HTMLAttributes } from 'react';\nimport { isValidElement, memo } from 'react';\nimport ReactMarkdown, { type Options } from 'react-markdown';\nimport rehypeKatex from 'rehype-katex';\nimport remarkGfm from 'remark-gfm';\nimport remarkMath from 'remark-math';\nimport { CodeBlock, CodeBlockCopyButton } from './code-block';\nimport 'katex/dist/katex.min.css';\nimport hardenReactMarkdown from 'harden-react-markdown';\n\n/**\n * Parses markdown text and removes incomplete tokens to prevent partial rendering\n * of links, images, bold, and italic formatting during streaming.\n */\nfunction parseIncompleteMarkdown(text: string): string {\n if (!text || typeof text !== 'string') {\n return text;\n }\n\n let result = text;\n\n // Handle incomplete links and images\n // Pattern: [...] or ![...] where the closing ] is missing\n const linkImagePattern = /(!?\\[)([^\\]]*?)$/;\n const linkMatch = result.match(linkImagePattern);\n if (linkMatch) {\n // If we have an unterminated [ or ![, remove it and everything after\n const startIndex = result.lastIndexOf(linkMatch[1]);\n result = result.substring(0, startIndex);\n }\n\n // Handle incomplete bold formatting (**)\n const boldPattern = /(\\*\\*)([^*]*?)$/;\n const boldMatch = result.match(boldPattern);\n if (boldMatch) {\n // Count the number of ** in the entire string\n const asteriskPairs = (result.match(/\\*\\*/g) || []).length;\n // If odd number of **, we have an incomplete bold - complete it\n if (asteriskPairs % 2 === 1) {\n result = `${result}**`;\n }\n }\n\n // Handle incomplete italic formatting (__)\n const italicPattern = /(__)([^_]*?)$/;\n const italicMatch = result.match(italicPattern);\n if (italicMatch) {\n // Count the number of __ in the entire string\n const underscorePairs = (result.match(/__/g) || []).length;\n // If odd number of __, we have an incomplete italic - complete it\n if (underscorePairs % 2 === 1) {\n result = `${result}__`;\n }\n }\n\n // Handle incomplete single asterisk italic (*)\n const singleAsteriskPattern = /(\\*)([^*]*?)$/;\n const singleAsteriskMatch = result.match(singleAsteriskPattern);\n if (singleAsteriskMatch) {\n // Count single asterisks that aren't part of **\n const singleAsterisks = result.split('').reduce((acc, char, index) => {\n if (char === '*') {\n // Check if it's part of a ** pair\n const prevChar = result[index - 1];\n const nextChar = result[index + 1];\n if (prevChar !== '*' && nextChar !== '*') {\n return acc + 1;\n }\n }\n return acc;\n }, 0);\n\n // If odd number of single *, we have an incomplete italic - complete it\n if (singleAsterisks % 2 === 1) {\n result = `${result}*`;\n }\n }\n\n // Handle incomplete single underscore italic (_)\n const singleUnderscorePattern = /(_)([^_]*?)$/;\n const singleUnderscoreMatch = result.match(singleUnderscorePattern);\n if (singleUnderscoreMatch) {\n // Count single underscores that aren't part of __\n const singleUnderscores = result.split('').reduce((acc, char, index) => {\n if (char === '_') {\n // Check if it's part of a __ pair\n const prevChar = result[index - 1];\n const nextChar = result[index + 1];\n if (prevChar !== '_' && nextChar !== '_') {\n return acc + 1;\n }\n }\n return acc;\n }, 0);\n\n // If odd number of single _, we have an incomplete italic - complete it\n if (singleUnderscores % 2 === 1) {\n result = `${result}_`;\n }\n }\n\n // Handle incomplete inline code blocks (`) - but avoid code blocks (```)\n const inlineCodePattern = /(`)([^`]*?)$/;\n const inlineCodeMatch = result.match(inlineCodePattern);\n if (inlineCodeMatch) {\n // Check if we're dealing with a code block (triple backticks)\n const hasCodeBlockStart = result.includes('```');\n const codeBlockPattern = /```[\\s\\S]*?```/g;\n const completeCodeBlocks = (result.match(codeBlockPattern) || []).length;\n const allTripleBackticks = (result.match(/```/g) || []).length;\n\n // If we have an odd number of ``` sequences, we're inside an incomplete code block\n // In this case, don't complete inline code\n const insideIncompleteCodeBlock = allTripleBackticks % 2 === 1;\n\n if (!insideIncompleteCodeBlock) {\n // Count the number of single backticks that are NOT part of triple backticks\n let singleBacktickCount = 0;\n for (let i = 0; i < result.length; i++) {\n if (result[i] === '`') {\n // Check if this backtick is part of a triple backtick sequence\n const isTripleStart = result.substring(i, i + 3) === '```';\n const isTripleMiddle =\n i > 0 && result.substring(i - 1, i + 2) === '```';\n const isTripleEnd = i > 1 && result.substring(i - 2, i + 1) === '```';\n\n if (!(isTripleStart || isTripleMiddle || isTripleEnd)) {\n singleBacktickCount++;\n }\n }\n }\n\n // If odd number of single backticks, we have an incomplete inline code - complete it\n if (singleBacktickCount % 2 === 1) {\n result = `${result}\\``;\n }\n }\n }\n\n // Handle incomplete strikethrough formatting (~~)\n const strikethroughPattern = /(~~)([^~]*?)$/;\n const strikethroughMatch = result.match(strikethroughPattern);\n if (strikethroughMatch) {\n // Count the number of ~~ in the entire string\n const tildePairs = (result.match(/~~/g) || []).length;\n // If odd number of ~~, we have an incomplete strikethrough - complete it\n if (tildePairs % 2 === 1) {\n result = `${result}~~`;\n }\n }\n\n return result;\n}\n\n// Create a hardened version of ReactMarkdown\nconst HardenedMarkdown = hardenReactMarkdown(ReactMarkdown);\n\nexport type ResponseProps = HTMLAttributes<HTMLDivElement> & {\n options?: Options;\n children: Options['children'];\n allowedImagePrefixes?: ComponentProps<\n ReturnType<typeof hardenReactMarkdown>\n >['allowedImagePrefixes'];\n allowedLinkPrefixes?: ComponentProps<\n ReturnType<typeof hardenReactMarkdown>\n >['allowedLinkPrefixes'];\n defaultOrigin?: ComponentProps<\n ReturnType<typeof hardenReactMarkdown>\n >['defaultOrigin'];\n parseIncompleteMarkdown?: boolean;\n};\n\nconst components: Options['components'] = {\n ol: ({ node, children, className, ...props }) => (\n <ol className={cn('ml-4 list-outside list-decimal', className)} {...props}>\n {children}\n </ol>\n ),\n li: ({ node, children, className, ...props }) => (\n <li className={cn('py-1', className)} {...props}>\n {children}\n </li>\n ),\n ul: ({ node, children, className, ...props }) => (\n <ul className={cn('ml-4 list-outside list-disc', className)} {...props}>\n {children}\n </ul>\n ),\n hr: ({ node, className, ...props }) => (\n <hr className={cn('my-6 border-border', className)} {...props} />\n ),\n strong: ({ node, children, className, ...props }) => (\n <span className={cn('font-semibold', className)} {...props}>\n {children}\n </span>\n ),\n a: ({ node, children, className, ...props }) => (\n <a\n className={cn('font-medium text-primary underline', className)}\n rel=\"noreferrer\"\n target=\"_blank\"\n {...props}\n >\n {children}\n </a>\n ),\n h1: ({ node, children, className, ...props }) => (\n <h1\n className={cn('mt-6 mb-2 font-semibold text-3xl', className)}\n {...props}\n >\n {children}\n </h1>\n ),\n h2: ({ node, children, className, ...props }) => (\n <h2\n className={cn('mt-6 mb-2 font-semibold text-2xl', className)}\n {...props}\n >\n {children}\n </h2>\n ),\n h3: ({ node, children, className, ...props }) => (\n <h3 className={cn('mt-6 mb-2 font-semibold text-xl', className)} {...props}>\n {children}\n </h3>\n ),\n h4: ({ node, children, className, ...props }) => (\n <h4 className={cn('mt-6 mb-2 font-semibold text-lg', className)} {...props}>\n {children}\n </h4>\n ),\n h5: ({ node, children, className, ...props }) => (\n <h5\n className={cn('mt-6 mb-2 font-semibold text-base', className)}\n {...props}\n >\n {children}\n </h5>\n ),\n h6: ({ node, children, className, ...props }) => (\n <h6 className={cn('mt-6 mb-2 font-semibold text-sm', className)} {...props}>\n {children}\n </h6>\n ),\n table: ({ node, children, className, ...props }) => (\n <div className=\"my-4 overflow-x-auto\">\n <table\n className={cn('w-full border-collapse border border-border', className)}\n {...props}\n >\n {children}\n </table>\n </div>\n ),\n thead: ({ node, children, className, ...props }) => (\n <thead className={cn('bg-muted/50', className)} {...props}>\n {children}\n </thead>\n ),\n tbody: ({ node, children, className, ...props }) => (\n <tbody className={cn('divide-y divide-border', className)} {...props}>\n {children}\n </tbody>\n ),\n tr: ({ node, children, className, ...props }) => (\n <tr className={cn('border-border border-b', className)} {...props}>\n {children}\n </tr>\n ),\n th: ({ node, children, className, ...props }) => (\n <th\n className={cn('px-4 py-2 text-left font-semibold text-sm', className)}\n {...props}\n >\n {children}\n </th>\n ),\n td: ({ node, children, className, ...props }) => (\n <td className={cn('px-4 py-2 text-sm', className)} {...props}>\n {children}\n </td>\n ),\n blockquote: ({ node, children, className, ...props }) => (\n <blockquote\n className={cn(\n 'my-4 border-muted-foreground/30 border-l-4 pl-4 text-muted-foreground italic',\n className\n )}\n {...props}\n >\n {children}\n </blockquote>\n ),\n code: ({ node, className, ...props }) => {\n const inline = node?.position?.start.line === node?.position?.end.line;\n\n if (!inline) {\n return <code className={className} {...props} />;\n }\n\n return (\n <code\n className={cn(\n 'rounded bg-muted px-1.5 py-0.5 font-mono text-sm',\n className\n )}\n {...props}\n />\n );\n },\n pre: ({ node, className, children }) => {\n let language = 'javascript';\n\n if (typeof node?.properties?.className === 'string') {\n language = node.properties.className.replace('language-', '');\n }\n\n // Extract code content from children safely\n let code = '';\n if (\n isValidElement(children) &&\n children.props &&\n typeof children.props.children === 'string'\n ) {\n code = children.props.children;\n } else if (typeof children === 'string') {\n code = children;\n }\n\n return (\n <CodeBlock\n className={cn('my-4 h-auto', className)}\n code={code}\n language={language}\n >\n <CodeBlockCopyButton\n onCopy={() => console.log('Copied code to clipboard')}\n onError={() => console.error('Failed to copy code to clipboard')}\n />\n </CodeBlock>\n );\n },\n};\n\nexport const Response = memo(\n ({\n className,\n options,\n children,\n allowedImagePrefixes,\n allowedLinkPrefixes,\n defaultOrigin,\n parseIncompleteMarkdown: shouldParseIncompleteMarkdown = true,\n ...props\n }: ResponseProps) => {\n // Parse the children to remove incomplete markdown tokens if enabled\n const parsedChildren =\n typeof children === 'string' && shouldParseIncompleteMarkdown\n ? parseIncompleteMarkdown(children)\n : children;\n\n return (\n <div\n className={cn(\n 'size-full [&>*:first-child]:mt-0 [&>*:last-child]:mb-0',\n className\n )}\n {...props}\n >\n <HardenedMarkdown\n allowedImagePrefixes={allowedImagePrefixes ?? ['*']}\n allowedLinkPrefixes={allowedLinkPrefixes ?? ['*']}\n components={components}\n defaultOrigin={defaultOrigin}\n rehypePlugins={[rehypeKatex]}\n remarkPlugins={[remarkGfm, remarkMath]}\n {...options}\n >\n {parsedChildren}\n </HardenedMarkdown>\n </div>\n );\n },\n (prevProps, nextProps) => prevProps.children === nextProps.children\n);\n\nResponse.displayName = 'Response';\n","import { cva, type VariantProps } from \"class-variance-authority\";\nimport * as React from \"react\";\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 info: \"border-info/50 text-info dark:border-info [&>svg]:text-info\",\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 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 TabsPrimitive from \"@radix-ui/react-tabs\";\nimport * as React from \"react\";\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-none 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-sm\",\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-none 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","\"use client\";\n\n// Inspired by react-hot-toast library\nimport * as React from \"react\";\n\nimport type { ToastActionElement, ToastProps } from \"@/components/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 actionTypes = {\n ADD_TOAST: \"ADD_TOAST\",\n UPDATE_TOAST: \"UPDATE_TOAST\",\n DISMISS_TOAST: \"DISMISS_TOAST\",\n REMOVE_TOAST: \"REMOVE_TOAST\",\n} as const;\n\nlet count = 0;\n\nfunction genId() {\n count = (count + 1) % Number.MAX_SAFE_INTEGER;\n return count.toString();\n}\n\ntype ActionType = typeof actionTypes;\n\ntype Action =\n | {\n type: ActionType[\"ADD_TOAST\"];\n toast: ToasterToast;\n }\n | {\n type: ActionType[\"UPDATE_TOAST\"];\n toast: Partial<ToasterToast>;\n }\n | {\n type: ActionType[\"DISMISS_TOAST\"];\n toastId?: ToasterToast[\"id\"];\n }\n | {\n type: ActionType[\"REMOVE_TOAST\"];\n toastId?: ToasterToast[\"id\"];\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: \"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","import { useEffect, useState, useContext } from \"react\";\nimport Uppy from \"@uppy/core\";\nimport AwsS3 from \"@uppy/aws-s3\";\nimport \"@uppy/core/dist/style.min.css\";\nimport \"@uppy/dashboard/dist/style.min.css\";\nimport '@uppy/core/dist/style.min.css';\nimport '@uppy/dashboard/dist/style.min.css';\nimport { getToken } from \"@/util/api\";\nimport { ConfigContext } from \"@/components/config-context\";\n\ninterface InitializeOptions {\n backend: string;\n callbacks?: {\n uploadSuccess?: (response: {\n file: any | null;\n url: string\n key: string\n }) => void;\n };\n fileKey?: string;\n fileKeyPrefix?: string;\n maxNumberOfFiles?: number;\n uppyOptions?: {\n id?: string;\n allowedFileTypes: string[];\n };\n useName?: boolean;\n}\n\nexport const initializeUppy = async (options: InitializeOptions): Promise<Uppy> => {\n if (!options.backend) {\n throw new Error(\"No backend set.\")\n }\n const { callbacks, maxNumberOfFiles, uppyOptions } = options || {};\n const { uploadSuccess } = callbacks || {};\n const { allowedFileTypes, id } = uppyOptions || {};\n const token = await getToken()\n\n const uppy = new Uppy({\n autoProceed: true,\n debug: false,\n id: id || \"uppy\",\n restrictions: {\n maxNumberOfFiles: maxNumberOfFiles || 5,\n allowedFileTypes: allowedFileTypes || [\".heic\", \".jpg\", \".jpeg\", \".png\", \".webp\", \".svg\"],\n }\n })\n .use(AwsS3, {\n id: \"Exulu\",\n endpoint: options.backend,\n headers: { \n Authorization: `Bearer ${token}`,\n Session: localStorage.getItem(\"session\") ?? \"\",\n }\n })\n .on(\"file-added\", async (file) => {\n console.debug(\"added\", file);\n })\n .on(\"upload-error\", (file, error) => {\n if (!file?.id) {\n return;\n }\n uppy.removeFile(file?.id);\n console.error(\"error\", error);\n })\n .on(\"upload-success\", (file, response) => {\n if (!response.uploadURL) {\n return;\n }\n if (uploadSuccess) {\n console.log(\"response\", response)\n uploadSuccess({\n file: file,\n key: response.uploadURL.split(\"/\").pop() || \"\",\n url: response.uploadURL,\n });\n }\n });\n\n return uppy;\n};\n\nfunction useUppy(options: InitializeOptions, deps: any[] = []) {\n const configContext = useContext(ConfigContext);\n const [uppy, setUppy] = useState<Uppy | undefined>(undefined);\n useEffect(() => {\n const initUppy = async () => {\n const uppyInstance = await initializeUppy({\n ...options,\n backend: configContext?.backend || \"\",\n });\n setUppy(uppyInstance);\n };\n initUppy()\n return () => {\n if (uppy) {\n uppy.destroy();\n setUppy(undefined);\n }\n };\n }, [...deps]);\n\n return uppy;\n}\n\nexport default useUppy;\n","import useUppy from \"@/hooks/use-uppy\";\nimport { Dashboard } from '@uppy/react';\nimport { useContext, useEffect, useState } from \"react\"\nimport { X, File, ImageIcon, FileText, FilePlus, Download, LoaderIcon, FileWarning, Upload, PlusSquareIcon, EyeIcon, PlusIcon, ChevronRightIcon, ChevronLeftIcon } from \"lucide-react\"\nimport { Button } from \"@/components/ui/button\"\nimport {\n Dialog,\n DialogContent,\n DialogDescription,\n DialogHeader,\n DialogTitle,\n DialogTrigger,\n} from \"@/components/ui/dialog\"\nimport { ScrollArea } from \"@/components/ui/scroll-area\"\nimport '@uppy/core/dist/style.min.css';\nimport '@uppy/dashboard/dist/style.min.css';\nimport { files, S3FileListOutput } from \"@/util/api\"\nimport { useTheme } from \"next-themes\";\nimport { ConfigContext } from \"./config-context\";\nimport { useQuery as useTanstackQuery, useMutation as useTanstackMutation } from \"@tanstack/react-query\";\nimport { Loading } from \"./ui/loading\";\nimport { allFileTypes } from \"@/types/models/agent\";\nimport { Input } from \"./ui/input\";\nimport { DoubleArrowLeftIcon } from \"@radix-ui/react-icons\";\nimport { Card, CardContent, CardHeader, CardTitle } from \"./ui/card\";\nimport { Skeleton } from \"./ui/skeleton\";\n\nexport function FileDataCard({ s3key, children }: { s3key: string, children?: React.ReactNode }) {\n const { data, isLoading, error, refetch } = useTanstackQuery({\n queryKey: ['fileObject', s3key],\n queryFn: async () => {\n if (!s3key) {\n return null;\n }\n const result = await files.object(s3key);\n return result;\n },\n enabled: s3key !== undefined && s3key !== null,\n })\n\n useEffect(() => {\n if (s3key) {\n refetch();\n }\n }, [s3key]);\n\n if (!s3key) {\n return <Card>\n <CardContent className=\"p-3 flex\">\n <p className=\"text-sm text-muted-foreground m-auto\">No file selected</p>\n {children}\n </CardContent>\n </Card>;\n }\n\n // also filter out [bucket:name] from the key if [bucket:name] is present\n let name = s3key;\n let bucket = \"\";\n if (s3key.includes(\"[bucket:\")) {\n bucket = s3key.split(\"[bucket:\")[1]?.split(\"]\")[0] || \"\";\n name = s3key.split(\"[bucket:\")[1]?.split(\"]\")[0] || \"\";\n if (name?.length) {\n name = s3key.split(\"]\")[1] || \"\";\n }\n }\n // Get the part after _EXULU_\n name = name.split(\"_EXULU_\").pop() || \"\";\n\n return <Card>\n <CardHeader className=\"pb-3\">\n <CardTitle className=\"text-sm max-w-[500px] truncate\">\n {name}\n </CardTitle>\n </CardHeader>\n <CardContent className=\"pt-0\">\n {\n isLoading && (\n <div className=\"space-y-2\">\n <Skeleton className=\"h-4 w-full\" />\n <Skeleton className=\"h-4 w-2/3\" />\n </div>\n )\n }\n {!isLoading && data && (\n <div className=\"space-y-2\">\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n <span className=\"capitalize\">\n {data?.ContentType.split(\"/\").pop()}\n {bucket && ` [Bucket: ${bucket}]`}\n </span>\n <span>{(data?.ContentLength / 1024 / 1024).toFixed(2)} MB</span>\n </div>\n <div className=\"flex items-center justify-between text-xs text-muted-foreground\">\n <span>Last modified: {new Date(data?.LastModified).toLocaleDateString(\"en-US\", { year: \"numeric\", month: \"long\", day: \"numeric\", hour: \"2-digit\", minute: \"2-digit\" })}</span>\n <Button\n variant=\"secondary\"\n size=\"sm\"\n type=\"button\"\n className=\"h-7 px-2\"\n onClick={() => {\n files.download(s3key).then(async res => {\n console.log(\"res\", res);\n const json = await res.json()\n console.log(\"res\", json);\n const downloadUrl = json.url;\n window.open(downloadUrl, '_blank');\n return;\n })\n }}>\n <span className=\"mr-1 text-xs\">View</span>\n <Download className=\"h-3 w-3\" />\n </Button>\n </div>\n </div>\n )}\n {\n !isLoading && error && (\n <p className=\"text-xs text-muted-foreground\">{error.message}</p>\n )\n }\n {children}\n </CardContent>\n </Card>\n}\n\nexport default function UppyDashboard({ id, allowedFileTypes, dependencies, onConfirm, selectionLimit, buttonText }: {\n id: string,\n buttonText?: string,\n allowedFileTypes?: allFileTypes[],\n selectionLimit: number,\n dependencies: any[],\n onConfirm: (keys: string[]) => void\n}) {\n const [open, setOpen] = useState(false)\n return <Dialog open={open} onOpenChange={setOpen}>\n <DialogTrigger asChild>\n <Button variant=\"outline\">\n {buttonText && (\n <span className=\"mr-2\">{buttonText}</span>\n )\n }\n <FilePlus className=\"h-4 w-4\" />\n </Button>\n </DialogTrigger>\n <DialogContent className=\"sm:max-w-[900px]\">\n <DialogHeader>\n <DialogTitle>File Gallery</DialogTitle>\n <DialogDescription>Browse your previously uploaded files or upload new ones.</DialogDescription>\n </DialogHeader>\n <FileGalleryAndUpload\n id={id}\n allowedFileTypes={allowedFileTypes}\n dependencies={dependencies}\n selectionLimit={selectionLimit}\n onConfirm={(data) => {\n onConfirm(data)\n setOpen(false)\n }}\n />\n </DialogContent>\n </Dialog>;\n}\n\nexport const FileGalleryAndUpload = ({ id, allowedFileTypes, dependencies, onConfirm, selectionLimit }: {\n id: string,\n allowedFileTypes?: allFileTypes[],\n dependencies: any[],\n selectionLimit: number,\n onConfirm: (keys: string[]) => void\n}) => {\n\n if (!allowedFileTypes) {\n allowedFileTypes = [\n '.png',\n '.jpg',\n '.jpeg',\n '.gif',\n '.webp',\n '.pdf',\n '.docx',\n '.xlsx',\n '.xls',\n '.csv',\n '.pptx',\n '.ppt',\n '.mp3',\n '.wav',\n '.m4a',\n '.mp4',\n '.mpeg',\n '.mp4',\n '.m4a',\n '.mp3',\n '.mpeg',\n '.wav'\n ]\n }\n\n const [search, setSearch] = useState<string | undefined>(undefined)\n const [previousContinuationToken, setPreviousContinuationToken] = useState<string | undefined>(undefined)\n const [currentContinuationToken, setCurrentContinuationToken] = useState<string | undefined>(undefined)\n const configContext = useContext(ConfigContext);\n const [selected, setSelected] = useState<string[]>([])\n\n const addSelected = (key: string) => {\n if (selected.includes(key)) {\n setSelected(selected.filter((s) => s !== key))\n return;\n }\n if (selectionLimit === 1) {\n setSelected([key])\n return;\n }\n if (selected.length >= selectionLimit) {\n return;\n }\n setSelected([...selected, key])\n }\n\n const deleteFile = useTanstackMutation({\n mutationFn: async ({ key }: { key: string }) => {\n await files.delete(key)\n refetch();\n return;\n }\n })\n\n const { data, isLoading: loading, error, refetch } = useTanstackQuery({\n queryKey: ['filesQuery', search, currentContinuationToken],\n staleTime: 30000,\n queryFn: async (): Promise<S3FileListOutput> => {\n return files.list({\n search,\n continuationToken: currentContinuationToken\n })\n },\n })\n\n console.log(\"!! data !!\", data)\n\n const { theme } = useTheme()\n const uppy = useUppy(\n {\n backend: configContext?.backend || \"\",\n uppyOptions: {\n id,\n allowedFileTypes\n },\n callbacks: {\n uploadSuccess: async (data) => {\n console.log(\"data\", data)\n /* \n We no longer create items automatically for files uploaded via uppy.\n const item = {\n name: data.file.name,\n type: data.file.type,\n rights_mode: \"private\",\n s3key: `${user?.id}/${data.key}`\n }\n await createItemMutation({ variables: { input: item } }) */\n },\n },\n maxNumberOfFiles: 10,\n },\n dependencies,\n );\n\n useEffect(() => {\n refetch();\n }, [search, currentContinuationToken]);\n\n // Loading state\n if (!uppy) {\n return null;\n }\n\n return <>\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4 mt-4\">\n {/* Left side - Gallery of previously uploaded files */}\n <div className=\"border rounded-lg p-4\">\n <h3 className=\"text-sm font-medium mb-3\">Previously Uploaded Files</h3>\n\n {/* search */}\n <Input\n placeholder=\"Search files...\"\n value={search}\n onChange={(e) => setSearch(e.target.value)}\n className=\"mb-3\"\n />\n <div className=\"flex items-center justify-between text-xs text-muted-foreground pb-2\">\n <span>{selected.length} / {selectionLimit} files selected</span>\n <span>Allowed file types: {allowedFileTypes?.map((type) => type).join(\", \")}</span>\n </div>\n <ScrollArea>\n {loading && (\n <div className=\"flex items-center justify-center h-full w-full grid grid-cols-2 sm:grid-cols-3 gap-3\">\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n <Skeleton className=\"h-[120px] w-full\" />\n </div>\n )}\n <div className=\"grid grid-cols-2 sm:grid-cols-3 gap-3\">\n {\n !loading && !data?.Contents?.length && (\n <div className=\"col-span-full flex flex-col items-center justify-center py-12 text-center\">\n <FileWarning className=\"h-12 w-12 text-muted-foreground/50 mb-3\" />\n <p className=\"text-sm font-medium text-muted-foreground\">Nothing to see here... yet!</p>\n <p className=\"text-xs text-muted-foreground/75 mt-1\">Upload some files to get started</p>\n </div>\n )\n }\n {data?.Contents?.map((item: S3FileListOutput[\"Contents\"][0]) => {\n return (\n <FileItem s3Key={item.Key} onSelect={addSelected} active={selected.some((s) => s === item.Key)} onRemove={() => {\n deleteFile.mutate({\n key: item.Key\n })\n }} disabled={!allowedFileTypes ? false : !allowedFileTypes?.some((type) => item.Key.endsWith(type))} />\n )\n })}\n </div>\n\n <div className=\"flex items-center space-x-6 lg:space-x-8 pt-3\">\n <div className=\"flex items-center space-x-2\">\n <Button\n variant=\"outline\"\n className=\"hidden size-8 p-0 lg:flex\"\n onClick={() => {\n setCurrentContinuationToken(undefined)\n }}\n disabled={\n !currentContinuationToken ||\n loading\n }\n >\n <span className=\"sr-only\">Go to first page</span>\n <DoubleArrowLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"size-8 p-0\"\n onClick={() => {\n setCurrentContinuationToken(previousContinuationToken)\n }}\n disabled={\n !currentContinuationToken ||\n loading\n }\n >\n <span className=\"sr-only\">Go to previous page</span>\n <ChevronLeftIcon className=\"size-4\" />\n </Button>\n <Button\n variant=\"outline\"\n className=\"size-8 p-0\"\n onClick={() => {\n setPreviousContinuationToken(currentContinuationToken)\n setCurrentContinuationToken(data?.NextContinuationToken)\n }}\n disabled={\n !data?.NextContinuationToken ||\n loading\n }>\n <span className=\"sr-only\">Go to next page</span>\n <ChevronRightIcon className=\"size-4\" />\n </Button>\n </div>\n </div>\n </ScrollArea>\n </div>\n {/* Right side - Upload area */}\n <div className=\"border rounded-lg p-4\">\n <h3 className=\"text-sm font-medium mb-3\">Upload New Files</h3>\n <Dashboard uppy={uppy} theme={theme === \"dark\" ? \"dark\" : \"light\"} />\n </div>\n </div>\n <div className=\"flex justify-end\">\n <Button variant=\"outline\" onClick={() => {\n onConfirm(selected)\n setSelected([])\n }}>\n Confirm\n </Button>\n </div>\n </>\n}\n\nexport const FileItem = ({ s3Key, onSelect, onRemove, active, disabled, addToContext }: {\n s3Key: string,\n onSelect?: (key: string) => void,\n onRemove?: (key: string) => void,\n active: boolean,\n disabled: boolean,\n addToContext?: (key: string) => void\n}) => {\n const getFileIcon = (s3Key: string) => {\n if (!s3Key) {\n return <FileText className=\"h-6 w-6 text-gray-500\" />\n }\n if (\n s3Key.toLowerCase().endsWith(\"jpg\") ||\n s3Key.toLowerCase().endsWith(\"jpeg\") ||\n s3Key.toLowerCase().endsWith(\"png\") ||\n s3Key.toLowerCase().endsWith(\"svg\")\n ) {\n return <ImageIcon className=\"h-6 w-6 text-blue-500\" />\n } else if (s3Key.endsWith(\"pdf\")) {\n return <File className=\"h-6 w-6 text-red-500\" />\n } else if (s3Key.endsWith(\"xls\") || s3Key.endsWith(\"xlsx\") || s3Key.endsWith(\"csv\")) {\n return <FileText className=\"h-6 w-6 text-green-500\" />\n } else if (s3Key.endsWith(\"ppt\") || s3Key.endsWith(\"pptx\")) {\n return <FileText className=\"h-6 w-6 text-orange-500\" />\n } else {\n return <FileText className=\"h-6 w-6 text-gray-500\" />\n }\n }\n\n return (\n <div\n key={s3Key}\n className={`${disabled ? 'opacity-50' : ''} group relative rounded-lg p-2 hover:bg-muted transition-colors cursor-pointer ${active ? 'border border-purple-500' : 'border'}`}\n onClick={() => {\n if (!disabled && onSelect) {\n onSelect(s3Key)\n }\n }}>\n <div className=\"aspect-square relative mb-2 bg-muted/50 rounded-md overflow-hidden flex items-center justify-center\">\n {(\n s3Key && (\n s3Key.toLowerCase().endsWith(\"jpg\") ||\n s3Key.toLowerCase().endsWith(\"jpeg\") ||\n s3Key.toLowerCase().endsWith(\"png\") ||\n s3Key.toLowerCase().endsWith(\"svg\")\n )\n ) ? (\n <SecureImageRenderComponent fileKey={s3Key} />\n ) : (\n <div className=\"flex flex-col items-center justify-center h-full\">\n {getFileIcon(s3Key)}\n <span className=\"text-xs text-muted-foreground mt-1 text-center\">{s3Key ? s3Key.split(\"_EXULU_\").pop() : s3Key}</span>\n </div>\n )}\n </div>\n <p className=\"text-xs truncate\">{s3Key ? s3Key.split(\"_EXULU_\").pop() : s3Key}</p>\n <div className=\"opacity-0 group-hover:opacity-100 flex absolute top-1 right-1\">\n\n {addToContext && (\n <Button variant=\"ghost\" size=\"icon\" type=\"button\" className=\"h-6 w-6 bg-background/80 hover:bg-background\" onClick={() => {\n addToContext(s3Key)\n }}>\n <PlusIcon className=\"h-3 w-3\" />\n <span className=\"sr-only\">Add</span>\n </Button>\n )}\n\n <Button\n variant=\"ghost\"\n size=\"icon\"\n type=\"button\"\n className=\"h-6 w-6 bg-background/80 hover:bg-background\"\n onClick={() => {\n files.download(s3Key).then(async res => {\n console.log(\"res\", res);\n const json = await res.json()\n console.log(\"res\", json);\n const downloadUrl = json.url;\n window.open(downloadUrl, '_blank');\n return;\n })\n }}>\n <Download className=\"h-3 w-3\" />\n <span className=\"sr-only\">View</span>\n </Button>\n\n {onRemove && (\n <Button\n onClick={(e) => {\n e.stopPropagation()\n onRemove(s3Key)\n }}\n variant=\"ghost\"\n type=\"button\"\n size=\"icon\"\n className=\"h-6 w-6 opacity-0 group-hover:opacity-100 bg-background/80 hover:bg-background ml-1\">\n <X className=\"h-3 w-3\" />\n <span className=\"sr-only\">Remove</span>\n </Button>\n )}\n </div>\n </div>\n )\n}\n\nlet signedUrlCache: {\n [key: string]: {\n url: string;\n expiresAt: number;\n }\n} = {};\n\nexport const getPresignedUrl = async (fileKey: string) => {\n if (signedUrlCache[fileKey]) {\n if (signedUrlCache[fileKey].expiresAt < Date.now()) {\n delete signedUrlCache[fileKey];\n } else {\n return signedUrlCache[fileKey].url;\n }\n }\n const response = await files.download(fileKey)\n const json = await response.json();\n console.log(\"json\", json)\n signedUrlCache[fileKey] = {\n url: json.url,\n expiresAt: Date.now() + 60 * 1000, // 1 minute\n }\n return json.url;\n}\n\nconst SecureImageRenderComponent = ({ fileKey }: { fileKey: string }) => {\n // Gets a signed key to show the image\n console.log(\"key\", fileKey)\n const query = useTanstackQuery({\n queryKey: ['imageQuery', fileKey],\n staleTime: 30000,\n queryFn: async () => {\n return getPresignedUrl(fileKey)\n },\n })\n\n if (query.isLoading) {\n return <div><LoaderIcon /></div>\n }\n\n if (!query.isLoading && !query.data) {\n return <div><FileWarning /></div>\n }\n\n return (<img\n src={query.data}\n alt={fileKey}\n className=\"object-cover w-full h-full\"\n />)\n\n}"],"names":["CodeBlockContext","createContext","code","CodeBlock","language","showLineNumbers","className","children","props","param","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","Provider","value","div","cn","jsxs","SyntaxHighlighter","codeTagProps","customStyle","margin","padding","fontSize","background","color","lineNumberStyle","paddingRight","minWidth","style","oneLight","oneDark","CodeBlockCopyButton","onCopy","onError","timeout","isCopied","setIsCopied","useState","useContext","copyToClipboard","navigator","clipboard","writeText","setTimeout","error","Icon","CheckIcon","CopyIcon","Button","onClick","size","variant","HardenedMarkdown","hardenReactMarkdown","ReactMarkdown","components","ol","node","li","ul","hr","strong","span","a","rel","target","h1","h2","h3","h4","h5","h6","table","thead","tbody","tr","th","td","blockquote","position","start","line","end","pre","properties","replace","isValidElement","console","log","Response","memo","options","allowedImagePrefixes","allowedLinkPrefixes","defaultOrigin","parseIncompleteMarkdown","shouldParseIncompleteMarkdown","parsedChildren","text","result","linkMatch","match","startIndex","lastIndexOf","substring","asteriskPairs","length","concat","underscorePairs","singleAsterisks","split","reduce","acc","char","index","prevChar","nextChar","singleUnderscores","includes","singleBacktickCount","i","isTripleStart","isTripleMiddle","isTripleEnd","tildePairs","rehypePlugins","rehypeKatex","remarkPlugins","remarkGfm","remarkMath","prevProps","nextProps","displayName","alertVariants","cva","variants","default","destructive","info","defaultVariants","Alert","React","ref","role","AlertTitle","AlertDescription","Collapsible","CollapsiblePrimitive","CollapsibleTrigger","CollapsibleContent","Tabs","TabsPrimitive","TabsList","TabsTrigger","TabsContent","count","toastTimeouts","Map","addToRemoveQueue","has","toastId","delete","dispatch","type","set","reducer","state","action","toasts","toast","slice","map","t","id","forEach","undefined","open","filter","listeners","memoryState","listener","Number","MAX_SAFE_INTEGER","toString","dismiss","onOpenChange","update","useToast","setState","push","indexOf","splice","initializeUppy","localStorage","backend","callbacks","maxNumberOfFiles","uppyOptions","uploadSuccess","allowedFileTypes","token","getToken","uppy","Uppy","autoProceed","debug","restrictions","use","AwsS3","endpoint","headers","Authorization","Session","getItem","on","file","removeFile","response","uploadURL","key","pop","url","use_uppy","deps","configContext","ConfigContext","setUppy","useEffect","initUppy","destroy","FileDataCard","s3key","data","isLoading","refetch","useTanstackQuery","queryKey","queryFn","files","object","enabled","jsx_runtime","Card","CardContent","p","name","bucket","CardHeader","CardTitle","Skeleton","ContentType","ContentLength","toFixed","Date","LastModified","toLocaleDateString","year","month","day","hour","minute","download","then","res","json","downloadUrl","window","Download","message","UppyDashboard","dependencies","onConfirm","selectionLimit","buttonText","setOpen","Dialog","DialogTrigger","asChild","FilePlus","DialogContent","DialogHeader","DialogTitle","DialogDescription","FileGalleryAndUpload","search","setSearch","previousContinuationToken","setPreviousContinuationToken","currentContinuationToken","setCurrentContinuationToken","selected","setSelected","addSelected","s","deleteFile","useTanstackMutation","mutationFn","loading","staleTime","list","continuationToken","theme","useTheme","useUppy","Fragment","Input","placeholder","onChange","e","join","ScrollArea","Contents","FileWarning","FileItem","s3Key","item","Key","onSelect","active","some","onRemove","mutate","disabled","endsWith","DoubleArrowLeftIcon","ChevronLeftIcon","NextContinuationToken","ChevronRightIcon","Dashboard","addToContext","toLowerCase","SecureImageRenderComponent","fileKey","ImageIcon","File","FileText","PlusIcon","stopPropagation","X","signedUrlCache","getPresignedUrl","expiresAt","now","query","LoaderIcon","img","src","alt"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[572],{42833:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ArchiveX",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"m9.5 17 5-5",key:"nakeu6"}],["path",{d:"m9.5 12 5 5",key:"1hccrj"}]])},9334:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Archive",[["rect",{width:"20",height:"5",x:"2",y:"3",rx:"1",key:"1wp1u1"}],["path",{d:"M4 8v11a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8",key:"1s80jp"}],["path",{d:"M10 12h4",key:"a56b0p"}]])},32660:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ArrowLeft",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]])},49277:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("FileStack",[["path",{d:"M16 2v5h5",key:"kt2in0"}],["path",{d:"M21 6v6.5c0 .8-.7 1.5-1.5 1.5h-7c-.8 0-1.5-.7-1.5-1.5v-9c0-.8.7-1.5 1.5-1.5H17l4 4z",key:"1km23n"}],["path",{d:"M7 8v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H15",key:"16874u"}],["path",{d:"M3 12v8.8c0 .3.2.6.4.8.2.2.5.4.8.4H11",key:"k2ox98"}]])},14924:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Folder",[["path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z",key:"1kt360"}]])},41905:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("GripVertical",[["circle",{cx:"9",cy:"12",r:"1",key:"1vctgf"}],["circle",{cx:"9",cy:"5",r:"1",key:"hp0tcf"}],["circle",{cx:"9",cy:"19",r:"1",key:"fkjjf6"}],["circle",{cx:"15",cy:"12",r:"1",key:"1tmaij"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["circle",{cx:"15",cy:"19",r:"1",key:"f4zoj3"}]])},45554:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("ListChecks",[["path",{d:"m3 17 2 2 4-4",key:"1jhpwq"}],["path",{d:"m3 7 2 2 4-4",key:"1obspn"}],["path",{d:"M13 6h8",key:"15sg57"}],["path",{d:"M13 12h8",key:"h98zly"}],["path",{d:"M13 18h8",key:"oe0vm4"}]])},15001:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Loader",[["line",{x1:"12",x2:"12",y1:"2",y2:"6",key:"gza1u7"}],["line",{x1:"12",x2:"12",y1:"18",y2:"22",key:"1qhbu9"}],["line",{x1:"4.93",x2:"7.76",y1:"4.93",y2:"7.76",key:"xae44r"}],["line",{x1:"16.24",x2:"19.07",y1:"16.24",y2:"19.07",key:"bxnmvf"}],["line",{x1:"2",x2:"6",y1:"12",y2:"12",key:"89khin"}],["line",{x1:"18",x2:"22",y1:"12",y2:"12",key:"pb8tfm"}],["line",{x1:"4.93",x2:"7.76",y1:"19.07",y2:"16.24",key:"1uxjnu"}],["line",{x1:"16.24",x2:"19.07",y1:"7.76",y2:"4.93",key:"6duxfx"}]])},21563:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("PackageOpen",[["path",{d:"M20.91 8.84 8.56 2.23a1.93 1.93 0 0 0-1.81 0L3.1 4.13a2.12 2.12 0 0 0-.05 3.69l12.22 6.93a2 2 0 0 0 1.94 0L21 12.51a2.12 2.12 0 0 0-.09-3.67Z",key:"1vy178"}],["path",{d:"m3.09 8.84 12.35-6.61a1.93 1.93 0 0 1 1.81 0l3.65 1.9a2.12 2.12 0 0 1 .1 3.69L8.73 14.75a2 2 0 0 1-1.94 0L3 12.51a2.12 2.12 0 0 1 .09-3.67Z",key:"s3bv25"}],["line",{x1:"12",x2:"12",y1:"22",y2:"13",key:"1o4xyi"}],["path",{d:"M20 13.5v3.37a2.06 2.06 0 0 1-1.11 1.83l-6 3.08a1.93 1.93 0 0 1-1.78 0l-6-3.08A2.06 2.06 0 0 1 4 16.87V13.5",key:"1na2nq"}]])},45675:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Pencil",[["path",{d:"M17 3a2.85 2.83 0 1 1 4 4L7.5 20.5 2 22l1.5-5.5Z",key:"5qss01"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]])},99397:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]])},73247:function(e,t,n){n.d(t,{Z:function(){return r}});let r=(0,n(39763).Z)("Search",[["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}],["path",{d:"m21 21-4.3-4.3",key:"1qie3q"}]])},23374:function(e,t,n){n.d(t,{OT:function(){return er},eh:function(){return ee},s_:function(){return z}});var r,l=n(2265);let{createElement:a,createContext:i,createRef:u,forwardRef:o,useCallback:c,useContext:d,useEffect:s,useImperativeHandle:f,useLayoutEffect:p,useMemo:h,useRef:y,useState:m}=r||(r=n.t(l,2)),v=(r||(r=n.t(l,2)))["useId".toString()],g=i(null);g.displayName="PanelGroupContext";let b="function"==typeof v?v:()=>null,x=0;function k(e=null){let t=b(),n=y(e||t||null);return null===n.current&&(n.current=""+x++),null!=e?e:n.current}function w({children:e,className:t="",collapsedSize:n,collapsible:r,defaultSize:l,forwardedRef:i,id:u,maxSize:o,minSize:c,onCollapse:s,onExpand:h,onResize:m,order:v,style:b,tagName:x="div",...w}){let z=d(g);if(null===z)throw Error("Panel components must be rendered within a PanelGroup container");let{collapsePanel:M,expandPanel:E,getPanelSize:C,getPanelStyle:I,groupId:A,isPanelCollapsed:S,reevaluatePanelConstraints:L,registerPanel:j,resizePanel:D,unregisterPanel:N}=z,P=k(u),Z=y({callbacks:{onCollapse:s,onExpand:h,onResize:m},constraints:{collapsedSize:n,collapsible:r,defaultSize:l,maxSize:o,minSize:c},id:P,idIsFromProps:void 0!==u,order:v});y({didLogMissingDefaultSizeWarning:!1}),p(()=>{let{callbacks:e,constraints:t}=Z.current,a={...t};Z.current.id=P,Z.current.idIsFromProps=void 0!==u,Z.current.order=v,e.onCollapse=s,e.onExpand=h,e.onResize=m,t.collapsedSize=n,t.collapsible=r,t.defaultSize=l,t.maxSize=o,t.minSize=c,(a.collapsedSize!==t.collapsedSize||a.collapsible!==t.collapsible||a.maxSize!==t.maxSize||a.minSize!==t.minSize)&&L(Z.current,a)}),p(()=>{let e=Z.current;return j(e),()=>{N(e)}},[v,P,j,N]),f(i,()=>({collapse:()=>{M(Z.current)},expand:()=>{E(Z.current)},getId:()=>P,getSize:()=>C(Z.current),isCollapsed:()=>S(Z.current),isExpanded:()=>!S(Z.current),resize:e=>{D(Z.current,e)}}),[M,E,C,S,P,D]);let R=I(Z.current,l);return a(x,{...w,children:e,className:t,style:{...R,...b},"data-panel":"","data-panel-id":P,"data-panel-group-id":A,"data-panel-collapsible":void 0,"data-panel-size":void 0})}let z=o((e,t)=>a(w,{...e,forwardedRef:t}));function M(e,t="Assertion failed!"){if(!e)throw console.error(t),Error(t)}function E(e,t,n=10){let r=(e=parseFloat(e.toFixed(n)))-(t=parseFloat(t.toFixed(n)));return 0===r?0:r>0?1:-1}function C(e,t,n){return 0===E(e,t,n)}function I({panelConstraints:e,panelIndex:t,size:n}){let r=e[t];M(null!=r);let{collapsedSize:l=0,collapsible:a,maxSize:i=100,minSize:u=0}=r;return 0>E(n,u)&&(n=a&&0>E(n,(l+u)/2)?l:u),n=parseFloat((n=Math.min(i,n)).toFixed(10))}function A({delta:e,layout:t,panelConstraints:n,pivotIndices:r,trigger:l}){if(C(e,0))return t;let a=[...t],[i,u]=r;M(null!=i),M(null!=u);let o=0;if("keyboard"===l){{let r=e<0?u:i,l=n[r];if(M(l),l.collapsible){let l=t[r];M(null!=l);let a=n[r];M(a);let{collapsedSize:i=0,minSize:u=0}=a;if(C(l,i)){let t=u-l;E(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}{let r=e<0?i:u,l=n[r];M(l);let{collapsible:a}=l;if(a){let l=t[r];M(null!=l);let a=n[r];M(a);let{collapsedSize:i=0,minSize:u=0}=a;if(C(l,u)){let t=l-i;E(t,Math.abs(e))>0&&(e=e<0?0-t:t)}}}}{let r=e<0?1:-1,l=e<0?u:i,a=0;for(;;){let e=t[l];if(M(null!=e),a+=I({panelConstraints:n,panelIndex:l,size:100})-e,(l+=r)<0||l>=n.length)break}let o=Math.min(Math.abs(e),Math.abs(a));e=e<0?0-o:o}{let r=e<0?i:u;for(;r>=0&&r<n.length;){let l=Math.abs(e)-Math.abs(o),i=t[r];M(null!=i);let u=I({panelConstraints:n,panelIndex:r,size:i-l});if(!C(i,u)&&(o+=i-u,a[r]=u,o.toPrecision(3).localeCompare(Math.abs(e).toPrecision(3),void 0,{numeric:!0})>=0))break;e<0?r--:r++}}if(C(o,0))return t;{let r=e<0?u:i,l=t[r];M(null!=l);let c=l+o,d=I({panelConstraints:n,panelIndex:r,size:c});if(a[r]=d,!C(d,c)){let t=c-d,r=e<0?u:i;for(;r>=0&&r<n.length;){let l=a[r];M(null!=l);let i=I({panelConstraints:n,panelIndex:r,size:l+t});if(C(l,i)||(t-=i-l,a[r]=i),C(t,0))break;e>0?r--:r++}}}return C(a.reduce((e,t)=>t+e,0),100)?a:t}function S(e,t=document){return Array.from(t.querySelectorAll(`[data-panel-resize-handle-id][data-panel-group-id="${e}"]`))}function L(e,t,n=document){let r=S(e,n).findIndex(e=>e.getAttribute("data-panel-resize-handle-id")===t);return null!=r?r:null}function j(e,t,n){let r=L(e,t,n);return null!=r?[r,r+1]:[-1,-1]}function D(e,t=document){var n;return t instanceof HTMLElement&&(null==t?void 0:null===(n=t.dataset)||void 0===n?void 0:n.panelGroupId)==e?t:t.querySelector(`[data-panel-group][data-panel-group-id="${e}"]`)||null}function N(e,t=document){return t.querySelector(`[data-panel-resize-handle-id="${e}"]`)||null}function P(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}function Z(e){return"keydown"===e.type}function R(e){return e.type.startsWith("mouse")}function T(e){return e.type.startsWith("touch")}function V(e,t){let n="horizontal"===e;if(R(t))return n?t.clientX:t.clientY;if(T(t)){let e=t.touches[0];return M(e),n?e.screenX:e.screenY}throw Error(`Unsupported event type "${t.type}"`)}function F(e,t,n){t.forEach((t,r)=>{let l=e[r];M(l);let{callbacks:a,constraints:i,id:u}=l,{collapsedSize:o=0,collapsible:c}=i,d=n[u];if(null==d||t!==d){n[u]=t;let{onCollapse:e,onExpand:r,onResize:l}=a;l&&l(t,d),c&&(e||r)&&(r&&(null==d||d===o)&&t!==o&&r(),e&&(null==d||d!==o)&&t===o&&e())}})}function H(e,t){if(e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!=t[n])return!1;return!0}w.displayName="Panel",z.displayName="forwardRef(Panel)";let W=null,$=null;function O(e){switch(e){case"horizontal":return"ew-resize";case"horizontal-max":return"w-resize";case"horizontal-min":return"e-resize";case"vertical":return"ns-resize";case"vertical-max":return"n-resize";case"vertical-min":return"s-resize"}}function q(e){if(W===e)return;W=e;let t=O(e);null===$&&($=document.createElement("style"),document.head.appendChild($)),$.innerHTML=`*{cursor: ${t}!important;}`}function G(e){try{if("undefined"!=typeof localStorage)e.getItem=e=>localStorage.getItem(e),e.setItem=(e,t)=>{localStorage.setItem(e,t)};else throw Error("localStorage not supported in this environment")}catch(t){console.error(t),e.getItem=()=>null,e.setItem=()=>{}}}function _(e){return`react-resizable-panels:${e}`}function K(e){return e.map(e=>{let{constraints:t,id:n,idIsFromProps:r,order:l}=e;return r?n:l?`${l}:${JSON.stringify(t)}`:JSON.stringify(t)}).sort((e,t)=>e.localeCompare(t)).join(",")}function B(e,t){try{let n=_(e),r=t.getItem(n);if(r){let e=JSON.parse(r);if("object"==typeof e&&null!=e)return e}}catch(e){}return null}function J(e,t,n,r,l){var a;let i=_(e),u=K(t),o=null!==(a=B(e,l))&&void 0!==a?a:{};o[u]={expandToSizes:Object.fromEntries(n.entries()),layout:r};try{l.setItem(i,JSON.stringify(o))}catch(e){console.error(e)}}function U({layout:e,panelConstraints:t}){let n=[...e],r=n.reduce((e,t)=>e+t,0);if(n.length!==t.length)throw Error(`Invalid ${t.length} panel layout: ${n.map(e=>`${e}%`).join(", ")}`);if(!C(r,100))for(let e=0;e<t.length;e++){let t=n[e];M(null!=t);let l=100/r*t;n[e]=l}let l=0;for(let e=0;e<t.length;e++){let r=n[e];M(null!=r);let a=I({panelConstraints:t,panelIndex:e,size:r});r!=a&&(l+=r-a,n[e]=a)}if(!C(l,0))for(let e=0;e<t.length;e++){let r=n[e];M(null!=r);let a=I({panelConstraints:t,panelIndex:e,size:r+l});if(r!==a&&(l-=a-r,n[e]=a,C(l,0)))break}return n}let X={getItem:e=>(G(X),X.getItem(e)),setItem:(e,t)=>{G(X),X.setItem(e,t)}},Y={};function Q({autoSaveId:e=null,children:t,className:n="",direction:r,forwardedRef:l,id:i=null,onLayout:u=null,keyboardResizeBy:o=null,storage:d=X,style:v,tagName:b="div",...x}){let w=k(i),z=y(null),[E,I]=m(null),[L,O]=m([]),G=y({}),_=y(new Map),Q=y(0),ee=y({autoSaveId:e,direction:r,dragState:E,id:w,keyboardResizeBy:o,onLayout:u,storage:d}),er=y({layout:L,panelDataArray:[],panelDataArrayChanged:!1});y({didLogIdAndOrderWarning:!1,didLogPanelConstraintsWarning:!1,prevPanelIds:[]}),f(l,()=>({getId:()=>ee.current.id,getLayout:()=>{let{layout:e}=er.current;return e},setLayout:e=>{let{onLayout:t}=ee.current,{layout:n,panelDataArray:r}=er.current,l=U({layout:e,panelConstraints:r.map(e=>e.constraints)});P(n,l)||(O(l),er.current.layout=l,t&&t(l),F(r,l,G.current))}}),[]),p(()=>{ee.current.autoSaveId=e,ee.current.direction=r,ee.current.dragState=E,ee.current.id=w,ee.current.onLayout=u,ee.current.storage=d}),function({committedValuesRef:e,eagerValuesRef:t,groupId:n,layout:r,panelDataArray:l,panelGroupElement:a,setLayout:i}){y({didWarnAboutMissingResizeHandle:!1}),p(()=>{if(!a)return;let e=S(n,a);for(let t=0;t<l.length-1;t++){let{valueMax:n,valueMin:a,valueNow:i}=function({layout:e,panelsArray:t,pivotIndices:n}){let r=0,l=100,a=0,i=0,u=n[0];return M(null!=u),t.forEach((e,t)=>{let{constraints:n}=e,{maxSize:o=100,minSize:c=0}=n;t===u?(r=c,l=o):(a+=c,i+=o)}),{valueMax:Math.min(l,100-a),valueMin:Math.max(r,100-i),valueNow:e[u]}}({layout:r,panelsArray:l,pivotIndices:[t,t+1]}),u=e[t];if(null==u);else{let e=l[t];M(e),u.setAttribute("aria-controls",e.id),u.setAttribute("aria-valuemax",""+Math.round(n)),u.setAttribute("aria-valuemin",""+Math.round(a)),u.setAttribute("aria-valuenow",null!=i?""+Math.round(i):"")}}return()=>{e.forEach((e,t)=>{e.removeAttribute("aria-controls"),e.removeAttribute("aria-valuemax"),e.removeAttribute("aria-valuemin"),e.removeAttribute("aria-valuenow")})}},[n,r,l,a]),s(()=>{if(!a)return;let e=t.current;M(e);let{panelDataArray:l}=e;M(null!=D(n,a),`No group found for id "${n}"`);let u=S(n,a);M(u);let o=u.map(e=>{let t=e.getAttribute("data-panel-resize-handle-id");M(t);let[u,o]=function(e,t,n,r=document){var l,a,i,u;let o=N(t,r),c=S(e,r),d=o?c.indexOf(o):-1;return[null!==(l=null===(a=n[d])||void 0===a?void 0:a.id)&&void 0!==l?l:null,null!==(i=null===(u=n[d+1])||void 0===u?void 0:u.id)&&void 0!==i?i:null]}(n,t,l,a);if(null==u||null==o)return()=>{};let c=e=>{if(!e.defaultPrevented&&"Enter"===e.key){e.preventDefault();let o=l.findIndex(e=>e.id===u);if(o>=0){let e=l[o];M(e);let u=r[o],{collapsedSize:c=0,collapsible:d,minSize:s=0}=e.constraints;if(null!=u&&d){let e=A({delta:C(u,c)?s-c:c-u,layout:r,panelConstraints:l.map(e=>e.constraints),pivotIndices:j(n,t,a),trigger:"keyboard"});r!==e&&i(e)}}}};return e.addEventListener("keydown",c),()=>{e.removeEventListener("keydown",c)}});return()=>{o.forEach(e=>e())}},[a,e,t,n,r,l,i])}({committedValuesRef:ee,eagerValuesRef:er,groupId:w,layout:L,panelDataArray:er.current.panelDataArray,setLayout:O,panelGroupElement:z.current}),s(()=>{let{panelDataArray:t}=er.current;if(e){if(0===L.length||L.length!==t.length)return;let n=Y[e];null==n&&(n=function(e,t=10){let n=null;return(...r)=>{null!==n&&clearTimeout(n),n=setTimeout(()=>{e(...r)},t)}}(J,100),Y[e]=n),n(e,[...t],new Map(_.current),L,d)}},[e,L,d]),s(()=>{});let el=c(e=>{let{onLayout:t}=ee.current,{layout:n,panelDataArray:r}=er.current;if(e.constraints.collapsible){let l=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:i,pivotIndices:u}=en(r,e,n);if(M(null!=i),i!==a){_.current.set(e.id,i);let o=A({delta:et(r,e)===r.length-1?i-a:a-i,layout:n,panelConstraints:l,pivotIndices:u,trigger:"imperative-api"});H(n,o)||(O(o),er.current.layout=o,t&&t(o),F(r,o,G.current))}}},[]),ea=c(e=>{let{onLayout:t}=ee.current,{layout:n,panelDataArray:r}=er.current;if(e.constraints.collapsible){let l=r.map(e=>e.constraints),{collapsedSize:a=0,panelSize:i,minSize:u=0,pivotIndices:o}=en(r,e,n);if(i===a){let a=_.current.get(e.id),c=null!=a&&a>=u?a:u,d=A({delta:et(r,e)===r.length-1?i-c:c-i,layout:n,panelConstraints:l,pivotIndices:o,trigger:"imperative-api"});H(n,d)||(O(d),er.current.layout=d,t&&t(d),F(r,d,G.current))}}},[]),ei=c(e=>{let{layout:t,panelDataArray:n}=er.current,{panelSize:r}=en(n,e,t);return M(null!=r),r},[]),eu=c((e,t)=>{let{panelDataArray:n}=er.current,r=et(n,e);return function({defaultSize:e,dragState:t,layout:n,panelData:r,panelIndex:l,precision:a=3}){let i=n[l];return{flexBasis:0,flexGrow:null==i?null!=e?e:"1":1===r.length?"1":i.toPrecision(a),flexShrink:1,overflow:"hidden",pointerEvents:null!==t?"none":void 0}}({defaultSize:t,dragState:E,layout:L,panelData:n,panelIndex:r})},[E,L]),eo=c(e=>{let{layout:t,panelDataArray:n}=er.current,{collapsedSize:r=0,collapsible:l,panelSize:a}=en(n,e,t);return!0===l&&a===r},[]),ec=c(e=>{let{layout:t,panelDataArray:n}=er.current,{collapsedSize:r=0,collapsible:l,panelSize:a}=en(n,e,t);return M(null!=a),!l||a>r},[]),ed=c(e=>{let{panelDataArray:t}=er.current;t.push(e),t.sort((e,t)=>{let n=e.order,r=t.order;return null==n&&null==r?0:null==n?-1:null==r?1:n-r}),er.current.panelDataArrayChanged=!0},[]);p(()=>{if(er.current.panelDataArrayChanged){er.current.panelDataArrayChanged=!1;let{autoSaveId:n,onLayout:r,storage:l}=ee.current,{layout:a,panelDataArray:i}=er.current,u=null;if(n){var e,t;let r=null!==(t=(null!==(e=B(n,l))&&void 0!==e?e:{})[K(i)])&&void 0!==t?t:null;r&&(_.current=new Map(Object.entries(r.expandToSizes)),u=r.layout)}null==u&&(u=function({panelDataArray:e}){let t=Array(e.length),n=e.map(e=>e.constraints),r=0,l=100;for(let a=0;a<e.length;a++){let e=n[a];M(e);let{defaultSize:i}=e;null!=i&&(r++,t[a]=i,l-=i)}for(let a=0;a<e.length;a++){let i=n[a];M(i);let{defaultSize:u}=i;if(null!=u)continue;let o=l/(e.length-r);r++,t[a]=o,l-=o}return t}({panelDataArray:i}));let o=U({layout:u,panelConstraints:i.map(e=>e.constraints)});P(a,o)||(O(o),er.current.layout=o,r&&r(o),F(i,o,G.current))}});let es=c(e=>function(t){t.preventDefault();let n=z.current;if(!n)return()=>null;let{direction:r,dragState:l,id:a,keyboardResizeBy:i,onLayout:u}=ee.current,{layout:o,panelDataArray:c}=er.current,{initialLayout:d}=null!=l?l:{},s=j(a,e,n),f=function(e,t,n,r,l,a){if(Z(e)){let t="horizontal"===n,r=0;r=e.shiftKey?100:null!=l?l:10;let a=0;switch(e.key){case"ArrowDown":a=t?0:r;break;case"ArrowLeft":a=t?-r:0;break;case"ArrowRight":a=t?r:0;break;case"ArrowUp":a=t?0:-r;break;case"End":a=100;break;case"Home":a=-100}return a}return null==r?0:function(e,t,n,r,l){let a="horizontal"===n,i=N(t,l);M(i);let u=i.getAttribute("data-panel-group-id");M(u);let{initialCursorPosition:o}=r,c=V(n,e),d=D(u,l);M(d);let s=d.getBoundingClientRect();return(c-o)/(a?s.width:s.height)*100}(e,t,n,r,a)}(t,e,r,l,i,n);if(0===f)return;let p="horizontal"===r;"rtl"===document.dir&&p&&(f=-f);let h=A({delta:f,layout:null!=d?d:o,panelConstraints:c.map(e=>e.constraints),pivotIndices:s,trigger:Z(t)?"keyboard":"mouse-or-touch"}),y=!H(o,h);(R(t)||T(t))&&Q.current!=f&&(Q.current=f,y?q(p?"horizontal":"vertical"):p?q(f<0?"horizontal-min":"horizontal-max"):q(f<0?"vertical-min":"vertical-max")),y&&(O(h),er.current.layout=h,u&&u(h),F(c,h,G.current))},[]),ef=c((e,t)=>{let{onLayout:n}=ee.current,{layout:r,panelDataArray:l}=er.current,a=l.map(e=>e.constraints),{panelSize:i,pivotIndices:u}=en(l,e,r);M(null!=i);let o=A({delta:et(l,e)===l.length-1?i-t:t-i,layout:r,panelConstraints:a,pivotIndices:u,trigger:"imperative-api"});H(r,o)||(O(o),er.current.layout=o,n&&n(o),F(l,o,G.current))},[]),ep=c((e,t)=>{let{layout:n,panelDataArray:r}=er.current,{collapsedSize:l=0,collapsible:a}=t,{collapsedSize:i=0,collapsible:u,maxSize:o=100,minSize:c=0}=e.constraints,{panelSize:d}=en(r,e,n);M(null!=d),a&&u&&d===l?l!==i&&ef(e,i):d<c?ef(e,c):d>o&&ef(e,o)},[ef]),eh=c((e,t)=>{let{direction:n}=ee.current,{layout:r}=er.current;if(!z.current)return;let l=N(e,z.current);M(l);let a=V(n,t);I({dragHandleId:e,dragHandleRect:l.getBoundingClientRect(),initialCursorPosition:a,initialLayout:r})},[]),ey=c(()=>{null!==$&&(document.head.removeChild($),W=null,$=null),I(null)},[]),em=c(e=>{let{panelDataArray:t}=er.current,n=et(t,e);n>=0&&(t.splice(n,1),delete G.current[e.id],er.current.panelDataArrayChanged=!0)},[]),ev=h(()=>({collapsePanel:el,direction:r,dragState:E,expandPanel:ea,getPanelSize:ei,getPanelStyle:eu,groupId:w,isPanelCollapsed:eo,isPanelExpanded:ec,reevaluatePanelConstraints:ep,registerPanel:ed,registerResizeHandle:es,resizePanel:ef,startDragging:eh,stopDragging:ey,unregisterPanel:em,panelGroupElement:z.current}),[el,E,r,ea,ei,eu,w,eo,ec,ep,ed,es,ef,eh,ey,em]);return a(g.Provider,{value:ev},a(b,{...x,children:t,className:n,style:{display:"flex",flexDirection:"horizontal"===r?"row":"column",height:"100%",overflow:"hidden",width:"100%",...v},ref:z,"data-panel-group":"","data-panel-group-direction":r,"data-panel-group-id":w}))}let ee=o((e,t)=>a(Q,{...e,forwardedRef:t}));function et(e,t){return e.findIndex(e=>e===t||e.id===t.id)}function en(e,t,n){let r=et(e,t),l=r===e.length-1,a=n[r];return{...t.constraints,panelSize:a,pivotIndices:l?[r-1,r]:[r,r+1]}}function er({children:e=null,className:t="",disabled:n=!1,id:r,onDragging:l,style:i={},tabIndex:u=0,tagName:o="div",...f}){let p=y(null),h=y({onDragging:l});s(()=>{h.current.onDragging=l});let v=d(g);if(null===v)throw Error("PanelResizeHandle components must be rendered within a PanelGroup container");let{direction:b,dragState:x,groupId:w,registerResizeHandle:z,startDragging:E,stopDragging:C,panelGroupElement:I}=v,A=k(r),j=(null==x?void 0:x.dragHandleId)===A,[D,P]=m(!1),[Z,R]=m(null),T=c(()=>{let e=p.current;M(e),e.blur(),C();let{onDragging:t}=h.current;t&&t(!1)},[C]);s(()=>{if(n)R(null);else{let e=z(A);R(()=>e)}},[n,A,z]),s(()=>{if(n||null==Z||!j)return;let e=e=>{Z(e)},t=e=>{Z(e)},r=p.current;M(r);let l=r.ownerDocument;return l.body.addEventListener("contextmenu",T),l.body.addEventListener("mousemove",e),l.body.addEventListener("touchmove",e),l.body.addEventListener("mouseleave",t),window.addEventListener("mouseup",T),window.addEventListener("touchend",T),()=>{l.body.removeEventListener("contextmenu",T),l.body.removeEventListener("mousemove",e),l.body.removeEventListener("touchmove",e),l.body.removeEventListener("mouseleave",t),window.removeEventListener("mouseup",T),window.removeEventListener("touchend",T)}},[b,n,j,Z,T]),function({disabled:e,handleId:t,resizeHandler:n,panelGroupElement:r}){s(()=>{if(e||null==n||null==r)return;let l=N(t,r);if(null==l)return;let a=e=>{if(!e.defaultPrevented)switch(e.key){case"ArrowDown":case"ArrowLeft":case"ArrowRight":case"ArrowUp":case"End":case"Home":e.preventDefault(),n(e);break;case"F6":{e.preventDefault();let n=l.getAttribute("data-panel-group-id");M(n);let a=S(n,r),i=L(n,t,r);M(null!==i);let u=e.shiftKey?i>0?i-1:a.length-1:i+1<a.length?i+1:0;a[u].focus()}}};return l.addEventListener("keydown",a),()=>{l.removeEventListener("keydown",a)}},[r,e,t,n])}({disabled:n,handleId:A,resizeHandler:Z,panelGroupElement:I});let V={cursor:O(b),touchAction:"none",userSelect:"none"};return a(o,{...f,children:e,className:t,onBlur:()=>P(!1),onFocus:()=>P(!0),onMouseDown:e=>{E(A,e.nativeEvent);let t=h.current;M(t);let{onDragging:n}=t;n&&n(!0)},onMouseUp:T,onTouchCancel:T,onTouchEnd:T,onTouchStart:e=>{E(A,e.nativeEvent);let t=h.current;M(t);let{onDragging:n}=t;n&&n(!0)},ref:p,role:"separator",style:{...V,...i},tabIndex:u,"data-panel-group-direction":b,"data-panel-group-id":w,"data-resize-handle":"","data-resize-handle-active":j?"pointer":D?"keyboard":void 0,"data-panel-resize-handle-enabled":!n,"data-panel-resize-handle-id":A})}Q.displayName="PanelGroup",ee.displayName="forwardRef(PanelGroup)",er.displayName="PanelResizeHandle"},62484:function(e,t,n){n.d(t,{u:function(){return r}});function r(e,[t,n]){return Math.min(n,Math.max(t,e))}},9270:function(e,t,n){n.d(t,{fC:function(){return k},z$:function(){return z}});var r=n(2265),l=n(98575),a=n(73966),i=n(6741),u=n(80886),o=n(6718),c=n(90420),d=n(71599),s=n(66840),f=n(57437),p="Checkbox",[h,y]=(0,a.b)(p),[m,v]=h(p);function g(e){let{__scopeCheckbox:t,checked:n,children:l,defaultChecked:a,disabled:i,form:o,name:c,onCheckedChange:d,required:s,value:h="on",internal_do_not_use_render:y}=e,[v,g]=(0,u.T)({prop:n,defaultProp:null!=a&&a,onChange:d,caller:p}),[b,x]=r.useState(null),[k,w]=r.useState(null),z=r.useRef(!1),M=!b||!!o||!!b.closest("form"),E={checked:v,disabled:i,setChecked:g,control:b,setControl:x,name:c,form:o,value:h,hasConsumerStoppedPropagationRef:z,required:s,defaultChecked:!C(a)&&a,isFormControl:M,bubbleInput:k,setBubbleInput:w};return(0,f.jsx)(m,{scope:t,...E,children:"function"==typeof y?y(E):l})}var b="CheckboxTrigger",x=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,onKeyDown:a,onClick:u,...o}=e,{control:c,value:d,disabled:p,checked:h,required:y,setControl:m,setChecked:g,hasConsumerStoppedPropagationRef:x,isFormControl:k,bubbleInput:w}=v(b,n),z=(0,l.e)(t,m),M=r.useRef(h);return r.useEffect(()=>{let e=null==c?void 0:c.form;if(e){let t=()=>g(M.current);return e.addEventListener("reset",t),()=>e.removeEventListener("reset",t)}},[c,g]),(0,f.jsx)(s.WV.button,{type:"button",role:"checkbox","aria-checked":C(h)?"mixed":h,"aria-required":y,"data-state":I(h),"data-disabled":p?"":void 0,disabled:p,value:d,...o,ref:z,onKeyDown:(0,i.M)(a,e=>{"Enter"===e.key&&e.preventDefault()}),onClick:(0,i.M)(u,e=>{g(e=>!!C(e)||!e),w&&k&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})})});x.displayName=b;var k=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,name:r,checked:l,defaultChecked:a,required:i,disabled:u,value:o,onCheckedChange:c,form:d,...s}=e;return(0,f.jsx)(g,{__scopeCheckbox:n,checked:l,defaultChecked:a,disabled:u,required:i,onCheckedChange:c,name:r,form:d,value:o,internal_do_not_use_render:e=>{let{isFormControl:r}=e;return(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(x,{...s,ref:t,__scopeCheckbox:n}),r&&(0,f.jsx)(E,{__scopeCheckbox:n})]})}})});k.displayName=p;var w="CheckboxIndicator",z=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,forceMount:r,...l}=e,a=v(w,n);return(0,f.jsx)(d.z,{present:r||C(a.checked)||!0===a.checked,children:(0,f.jsx)(s.WV.span,{"data-state":I(a.checked),"data-disabled":a.disabled?"":void 0,...l,ref:t,style:{pointerEvents:"none",...e.style}})})});z.displayName=w;var M="CheckboxBubbleInput",E=r.forwardRef((e,t)=>{let{__scopeCheckbox:n,...a}=e,{control:i,hasConsumerStoppedPropagationRef:u,checked:d,defaultChecked:p,required:h,disabled:y,name:m,value:g,form:b,bubbleInput:x,setBubbleInput:k}=v(M,n),w=(0,l.e)(t,k),z=(0,o.D)(d),E=(0,c.t)(i);r.useEffect(()=>{if(!x)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!u.current;if(z!==d&&e){let n=new Event("click",{bubbles:t});x.indeterminate=C(d),e.call(x,!C(d)&&d),x.dispatchEvent(n)}},[x,z,d,u]);let I=r.useRef(!C(d)&&d);return(0,f.jsx)(s.WV.input,{type:"checkbox","aria-hidden":!0,defaultChecked:null!=p?p:I.current,required:h,disabled:y,name:m,value:g,form:b,...a,tabIndex:-1,ref:w,style:{...a.style,...E,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function C(e){return"indeterminate"===e}function I(e){return C(e)?"indeterminate":e?"checked":"unchecked"}E.displayName=M},20271:function(e,t,n){n.d(t,{VY:function(){return j},aV:function(){return S},fC:function(){return A},xz:function(){return L}});var r=n(2265),l=n(6741),a=n(73966),i=n(1353),u=n(71599),o=n(66840),c=n(29114),d=n(80886),s=n(99255),f=n(57437),p="Tabs",[h,y]=(0,a.b)(p,[i.Pc]),m=(0,i.Pc)(),[v,g]=h(p),b=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,onValueChange:l,defaultValue:a,orientation:i="horizontal",dir:u,activationMode:h="automatic",...y}=e,m=(0,c.gm)(u),[g,b]=(0,d.T)({prop:r,onChange:l,defaultProp:null!=a?a:"",caller:p});return(0,f.jsx)(v,{scope:n,baseId:(0,s.M)(),value:g,onValueChange:b,orientation:i,dir:m,activationMode:h,children:(0,f.jsx)(o.WV.div,{dir:m,"data-orientation":i,...y,ref:t})})});b.displayName=p;var x="TabsList",k=r.forwardRef((e,t)=>{let{__scopeTabs:n,loop:r=!0,...l}=e,a=g(x,n),u=m(n);return(0,f.jsx)(i.fC,{asChild:!0,...u,orientation:a.orientation,dir:a.dir,loop:r,children:(0,f.jsx)(o.WV.div,{role:"tablist","aria-orientation":a.orientation,...l,ref:t})})});k.displayName=x;var w="TabsTrigger",z=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:r,disabled:a=!1,...u}=e,c=g(w,n),d=m(n),s=C(c.baseId,r),p=I(c.baseId,r),h=r===c.value;return(0,f.jsx)(i.ck,{asChild:!0,...d,focusable:!a,active:h,children:(0,f.jsx)(o.WV.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":p,"data-state":h?"active":"inactive","data-disabled":a?"":void 0,disabled:a,id:s,...u,ref:t,onMouseDown:(0,l.M)(e.onMouseDown,e=>{a||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(r)}),onKeyDown:(0,l.M)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(r)}),onFocus:(0,l.M)(e.onFocus,()=>{let e="manual"!==c.activationMode;h||a||!e||c.onValueChange(r)})})})});z.displayName=w;var M="TabsContent",E=r.forwardRef((e,t)=>{let{__scopeTabs:n,value:l,forceMount:a,children:i,...c}=e,d=g(M,n),s=C(d.baseId,l),p=I(d.baseId,l),h=l===d.value,y=r.useRef(h);return r.useEffect(()=>{let e=requestAnimationFrame(()=>y.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,f.jsx)(u.z,{present:a||h,children:n=>{let{present:r}=n;return(0,f.jsx)(o.WV.div,{"data-state":h?"active":"inactive","data-orientation":d.orientation,role:"tabpanel","aria-labelledby":s,hidden:!r,id:p,tabIndex:0,...c,ref:t,style:{...e.style,animationDuration:y.current?"0s":void 0},children:r&&i})}})});function C(e,t){return"".concat(e,"-trigger-").concat(t)}function I(e,t){return"".concat(e,"-content-").concat(t)}E.displayName=M;var A=b,S=k,L=z,j=E},6718:function(e,t,n){n.d(t,{D:function(){return l}});var r=n(2265);function l(e){let t=r.useRef({value:e,previous:e});return r.useMemo(()=>(t.current.value!==e&&(t.current.previous=t.current.value,t.current.value=e),t.current.previous),[e])}}}]);
|
|
2
|
-
//# sourceMappingURL=572-2940a399da1e3a3b.js.map
|