@next-library/theme 1.0.8 → 1.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"sources":["../src/components/layout/navigation-bar.tsx","../src/components/layout/footer.tsx","../src/components/layout/documentation-layout.tsx","../src/lib/translations/index.ts","../src/components/navigation/sidebar-left/parent.tsx","../src/components/layout/utils.ts","../src/components/navigation/sidebar-left/level-elevator.tsx","../src/components/navigation/sidebar-left/toolbox.tsx","../src/components/layout/left-sidebar.tsx","../src/components/layout/right-sidebar.tsx","../src/components/layout/doc-pager.tsx","../src/components/markdown/page-header.tsx","../src/lib/translations/locale-names.ts","../src/components/markdown/fallback-locale-warning.tsx","../src/components/seo/structured-data.tsx","../src/components/ui/sticky-banner.tsx","../src/components/navigation/navbar/banner.tsx","../src/components/navigation/navbar/logo.tsx","../src/components/navigation/navbar/top-categories.tsx","../src/components/navigation/navbar/search-bar.tsx","../src/components/navigation/navbar/theme-switcher.tsx","../src/components/ui/button.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/navigation/navbar/language-switcher.tsx","../src/components/ui/drawer.tsx","../src/hooks/use-mobile.tsx","../src/components/ui/input.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/collapsible.tsx","../src/components/navigation/sidebar-left/sidebar.tsx","../src/lib/mobile-menu-store.ts","../src/components/navigation/navbar/mobile-menu.tsx","../src/components/navigation/navbar/github-star.tsx","../src/components/navigation/navbar/github-link.tsx","../src/components/navigation/sidebar-right/table-of-contents.tsx","../src/components/ui/avatar.tsx","../src/components/navigation/sidebar-right/github-contributors.tsx","../src/components/ui/breadcrumb.tsx","../src/hooks/use-media-query.tsx","../src/components/ui/breadcrumb-toggle.tsx","../src/components/navigation/main/breadcrumbs.tsx","../src/components/ui/card.tsx","../src/components/navigation/main/folder-cards.tsx","../src/components/markdown/markdown-renderer.tsx","../src/components/markdown/copy-page-button.tsx","../src/components/tracking/cookie-banner.tsx","../src/components/ui/select.tsx","../src/components/ui/anchor-link-handler.tsx","../src/components/layout/reading-progress.tsx"],"names":["jsx","jsxs","React","Link","getDirection","translations","Fragment","open","Banner","Logo","Image","TopCategories","SearchBar","useState","el","id","ThemeSwitcher","React6","LanguageSwitcher","DrawerPrimitive","React7","Separator","Slot","cva","CollapsibleTrigger","CollapsibleContent","SidebarNavigation","ChevronRight","MobileMenu","GithubStar","useEffect","GithubLink","TableOfContents","useMemo","useRef","useCallback","GithubContributors","React11","React12","Home","React13","React14","CopyPageButton","ExternalLinkIcon","CookieBanner","ChevronDownIcon","CheckIcon","ReadingProgress"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Suspense } from 'react';\nimport {\n Logo,\n TopCategories,\n ThemeSwitcher,\n LanguageSwitcher,\n GithubStar,\n GithubLink,\n SearchBar,\n MobileMenu,\n} from '@next-library/theme/client';\nimport { getTopCategories, getDirection, getSupportedLocales, getLocaleConfig, type Locale, type ContentTree } from '@next-library/core';\nimport type { PageData } from '@next-library/core';\n\ninterface NavigationBarProps {\n language?: Locale;\n className?: string;\n pageData?: PageData;\n websiteTitle?: string;\n contentTree?: ContentTree;\n repoUrl?: string;\n accountSlot?: React.ReactNode;\n}\n\nexport function NavigationBar({\n language = 'en',\n className = '',\n pageData,\n websiteTitle,\n contentTree,\n repoUrl: repoUrlProp,\n accountSlot\n}: NavigationBarProps) {\n const direction = getDirection(language);\n \n // Get categories from tree if available\n const categories = contentTree ? getTopCategories(contentTree, language) : [];\n \n // Get available locales from content tree (server-side only)\n const availableLocales = typeof window === 'undefined' && contentTree ? getSupportedLocales(contentTree) : [];\n \n // Get locale configs for display names (server-side only)\n const localeConfigs = typeof window === 'undefined'\n ? availableLocales.map(locale => ({\n code: locale,\n nativeName: getLocaleConfig(locale)?.nativeName || locale.toUpperCase(),\n }))\n : undefined;\n\n // Use provided repoUrl or fallback to environment variables\n let repoUrl = repoUrlProp;\n if (!repoUrl && typeof window === 'undefined') {\n const githubUser = process.env.NEXT_PUBLIC_GITHUB_USER?.trim().replace(/^['\"]|['\"]$/g, '');\n const githubRepo = process.env.NEXT_PUBLIC_GITHUB_REPO?.trim().replace(/^['\"]|['\"]$/g, '');\n if (githubUser && githubRepo) {\n repoUrl = `https://github.com/${githubUser}/${githubRepo}`;\n }\n }\n\n return (\n <nav\n className={`py-3 sticky top-0 z-10 bg-background lg:w-[95vw] px-4 lg:px-0 lg:mx-auto ${className}`}\n role=\"navigation\"\n aria-label=\"Main navigation\"\n dir={direction}\n >\n <div className=\"flex items-center justify-between\">\n <Logo language={language} title={websiteTitle} />\n\n <div className=\"flex items-center gap-2 md:gap-3\">\n <div>\n <TopCategories categories={categories} />\n </div>\n <Suspense fallback={<div className=\"w-[200px] h-[40px]\"></div>}>\n <SearchBar language={language} />\n </Suspense>\n <GithubLink language={language} repoUrl={repoUrl} />\n <ThemeSwitcher />\n <LanguageSwitcher availableLocales={availableLocales} localeConfigs={localeConfigs} />\n {accountSlot}\n <MobileMenu pageData={pageData} />\n <div className=\"h-5 m-auto mx-1 hidden md:flex\">\n <GithubStar repoUrl={repoUrl} />\n </div>\n </div>\n </div>\n </nav>\n );\n}\n\n","import Link from 'next/link';\nimport React from 'react';\nimport Image from 'next/image';\n\ninterface DocumentationFooterProps {\n organizationName?: string;\n organizationLogo?: string;\n buildByText?: string;\n buildByLinks?: Array<{\n name: string;\n url: string;\n logo?: string;\n }>;\n}\n\nexport function DocumentationFooter({\n organizationName: _organizationName,\n organizationLogo: _organizationLogo,\n buildByText = 'Build by:',\n buildByLinks = [],\n}: DocumentationFooterProps) {\n return (\n <footer className=\"border-t h-16\">\n <div className=\"flex items-center sm:justify-between justify-center sm:gap-0 gap-4 h-full text-muted-foreground text-sm flex-wrap sm:py-0 py-3 max-sm:px-4 w-[95vw] mx-auto\">\n <div className=\"flex flex-row xitems-center gap-2\">\n <p className=\"text-center\">{buildByText}</p>\n {buildByLinks.map((link, index) => (\n <React.Fragment key={link.url}>\n {link.logo && (\n <Image\n className=\"h-4 w-auto ml-1\"\n src={link.logo}\n alt={`${link.name} logo`}\n width={20}\n height={20}\n />\n )}\n <Link className=\"underline underline-offset-2\" href={link.url}>\n {link.name}\n </Link>\n {index < buildByLinks.length - 1 && <p>&</p>}\n </React.Fragment>\n ))}\n </div>\n\n <div className=\"gap-4 items-center hidden md:flex\">\n <FooterButtons />\n </div>\n </div>\n </footer>\n );\n}\n\nexport function FooterButtons() {\n return <></>;\n}\n\n","import React from 'react';\nimport { NavigationBar } from './navigation-bar';\nimport { DocumentationFooter } from './footer';\nimport { Banner, CookieBanner, ReadingProgress } from '@next-library/theme/client';\nimport { getDirection, type Locale, type ContentTree } from '@next-library/core';\n\nexport interface DocumentationLayoutProps {\n children: React.ReactNode;\n language?: Locale;\n bannerMessage?: React.ReactNode | null;\n websiteTitle?: string | undefined;\n contentTree?: ContentTree;\n repoUrl?: string;\n /** Optional app-provided node rendered at the end of the navbar (e.g. an account button). */\n accountSlot?: React.ReactNode;\n}\n\nexport function DocumentationLayout(props: DocumentationLayoutProps) {\n const {\n children,\n language = 'en',\n bannerMessage = null,\n websiteTitle,\n contentTree,\n repoUrl,\n accountSlot\n } = props;\n const direction = getDirection(language);\n \n // Use provided websiteTitle or fallback to environment variable\n const title = websiteTitle || (typeof window === 'undefined' \n ? process.env.NEXT_PUBLIC_WEBSITE_TITLE?.trim().replace(/^['\"]|['\"]$/g, '')\n : undefined);\n\n return (\n <div className=\"bg-background flex flex-col\" dir={direction}>\n <ReadingProgress />\n {bannerMessage && (\n <Banner language={language}>\n {bannerMessage}\n </Banner>\n )}\n <NavigationBar \n language={language} \n className=\"hidden lg:block\" \n websiteTitle={title}\n contentTree={contentTree}\n repoUrl={repoUrl}\n accountSlot={accountSlot}\n />\n {children}\n <DocumentationFooter />\n <CookieBanner locale={language} />\n </div>\n );\n}\n\n","/**\n * Translation system for theme components\n * \n * This module provides translations for all user-facing text in theme components.\n * Components can use these translations based on the locale prop.\n */\n\nimport { FALLBACK_LOCALES, type Locale } from '@next-library/core';\n\nimport type { ThemeTranslations } from './theme-translations-types';\n\nexport type { ThemeTranslations } from './theme-translations-types';\n\n/**\n * English translations (default)\n */\nconst en: ThemeTranslations = {\n copyPage: 'Copy page',\n copied: 'Copied!',\n openInChatGPT: 'Open in ChatGPT',\n openInClaude: 'Open in Claude',\n askAboutThisPage: 'Ask about this page in ChatGPT',\n copyPageDescription: 'Copy page as Markdown for LLMs',\n askQuestionsDescription: 'Ask questions about this page',\n chatGPTPrefix: 'This page came from',\n tableOfContents: 'Table of Contents',\n contributors: 'Contributors',\n goToDocsHome: 'Go to docs home',\n goBackTo: 'Go back to',\n goToPreviousPage: 'Go to previous page',\n goToNextPage: 'Go to next page',\n noPreviousPage: 'No previous page',\n noNextPage: 'No next page',\n cookieConsent: 'Cookie Consent',\n cookieDescription: 'We use cookies to enhance your experience.',\n cookieLearnMore: 'Learn more',\n accept: 'Accept',\n decline: 'Decline',\n goToHomePage: 'Go to home page',\n home: 'Home',\n linkCopied: 'Link copied!',\n copyLinkToSection: 'Copy link to section',\n search: 'Search',\n searchPlaceholder: 'Search',\n closeBanner: 'Close banner',\n fallbackLocaleWarning: \"This content is shown in {fallbackLocaleName} as it's not available in {requestedLocaleName}.\",\n};\n\n/**\n * French translations\n */\nconst fr: ThemeTranslations = {\n copyPage: 'Copier la page',\n copied: 'Copié !',\n openInChatGPT: 'Ouvrir dans ChatGPT',\n openInClaude: 'Ouvrir dans Claude',\n askAboutThisPage: 'Poser une question sur cette page dans ChatGPT',\n copyPageDescription: 'Copier la page au format Markdown pour les LLM',\n askQuestionsDescription: 'Poser des questions sur cette page',\n chatGPTPrefix: 'Cette page provient de',\n tableOfContents: 'Table des matières',\n contributors: 'Contributeurs',\n goToDocsHome: 'Aller à l\\'accueil de la documentation',\n goBackTo: 'Retour à',\n goToPreviousPage: 'Page précédente',\n goToNextPage: 'Page suivante',\n noPreviousPage: 'Aucune page précédente',\n noNextPage: 'Aucune page suivante',\n cookieConsent: 'Consentement aux cookies',\n cookieDescription: 'Nous utilisons des cookies pour améliorer votre expérience.',\n cookieLearnMore: 'En savoir plus',\n accept: 'Accepter',\n decline: 'Refuser',\n goToHomePage: 'Aller à la page d\\'accueil',\n home: 'Accueil',\n linkCopied: 'Lien copié !',\n copyLinkToSection: 'Copier le lien vers la section',\n search: 'Rechercher',\n searchPlaceholder: 'Rechercher',\n closeBanner: 'Fermer la bannière',\n fallbackLocaleWarning: \"Ce contenu est affiché en {fallbackLocaleName} car il n'est pas disponible en {requestedLocaleName}.\",\n};\n\n/**\n * German translations\n */\nconst de: ThemeTranslations = {\n copyPage: 'Seite kopieren',\n copied: 'Kopiert!',\n openInChatGPT: 'In ChatGPT öffnen',\n openInClaude: 'In Claude öffnen',\n askAboutThisPage: 'Fragen Sie ChatGPT zu dieser Seite',\n copyPageDescription: 'Seite als Markdown für LLMs kopieren',\n askQuestionsDescription: 'Fragen zu dieser Seite stellen',\n chatGPTPrefix: 'Diese Seite stammt von',\n tableOfContents: 'Inhaltsverzeichnis',\n contributors: 'Mitwirkende',\n goToDocsHome: 'Zur Dokumentations-Startseite',\n goBackTo: 'Zurück zu',\n goToPreviousPage: 'Vorherige Seite',\n goToNextPage: 'Nächste Seite',\n noPreviousPage: 'Keine vorherige Seite',\n noNextPage: 'Keine nächste Seite',\n cookieConsent: 'Cookie-Zustimmung',\n cookieDescription: 'Wir verwenden Cookies, um Ihr Erlebnis zu verbessern.',\n cookieLearnMore: 'Mehr erfahren',\n accept: 'Akzeptieren',\n decline: 'Ablehnen',\n goToHomePage: 'Zur Startseite',\n home: 'Startseite',\n linkCopied: 'Link kopiert!',\n copyLinkToSection: 'Link zum Abschnitt kopieren',\n search: 'Suchen',\n searchPlaceholder: 'Suchen',\n closeBanner: 'Banner schließen',\n fallbackLocaleWarning: 'Dieser Inhalt wird in {fallbackLocaleName} angezeigt, da er in {requestedLocaleName} nicht verfügbar ist.',\n};\n\n/**\n * Spanish translations\n */\nconst es: ThemeTranslations = {\n copyPage: 'Copiar página',\n copied: '¡Copiado!',\n openInChatGPT: 'Abrir en ChatGPT',\n openInClaude: 'Abrir en Claude',\n askAboutThisPage: 'Preguntar sobre esta página en ChatGPT',\n copyPageDescription: 'Copiar página como Markdown para LLMs',\n askQuestionsDescription: 'Hacer preguntas sobre esta página',\n chatGPTPrefix: 'Esta página proviene de',\n tableOfContents: 'Tabla de contenidos',\n contributors: 'Colaboradores',\n goToDocsHome: 'Ir al inicio de la documentación',\n goBackTo: 'Volver a',\n goToPreviousPage: 'Página anterior',\n goToNextPage: 'Página siguiente',\n noPreviousPage: 'No hay página anterior',\n noNextPage: 'No hay página siguiente',\n cookieConsent: 'Consentimiento de cookies',\n cookieDescription: 'Utilizamos cookies para mejorar su experiencia.',\n cookieLearnMore: 'Saber más',\n accept: 'Aceptar',\n decline: 'Rechazar',\n goToHomePage: 'Ir a la página de inicio',\n home: 'Inicio',\n linkCopied: '¡Enlace copiado!',\n copyLinkToSection: 'Copiar enlace a la sección',\n search: 'Buscar',\n searchPlaceholder: 'Buscar',\n closeBanner: 'Cerrar banner',\n fallbackLocaleWarning: 'Este contenido se muestra en {fallbackLocaleName} ya que no está disponible en {requestedLocaleName}.',\n};\n\n/**\n * Arabic translations (RTL)\n */\nconst ar: ThemeTranslations = {\n copyPage: 'نسخ الصفحة',\n copied: 'تم النسخ!',\n openInChatGPT: 'فتح في ChatGPT',\n openInClaude: 'فتح في Claude',\n askAboutThisPage: 'اسأل عن هذه الصفحة في ChatGPT',\n copyPageDescription: 'نسخ الصفحة كـ Markdown للـ LLMs',\n askQuestionsDescription: 'اطرح أسئلة حول هذه الصفحة',\n chatGPTPrefix: 'هذه الصفحة جاءت من',\n tableOfContents: 'جدول المحتويات',\n contributors: 'المساهمون',\n goToDocsHome: 'الانتقال إلى الصفحة الرئيسية للوثائق',\n goBackTo: 'العودة إلى',\n goToPreviousPage: 'الصفحة السابقة',\n goToNextPage: 'الصفحة التالية',\n noPreviousPage: 'لا توجد صفحة سابقة',\n noNextPage: 'لا توجد صفحة تالية',\n cookieConsent: 'موافقة ملفات تعريف الارتباط',\n cookieDescription: 'نستخدم ملفات تعريف الارتباط لتحسين تجربتك.',\n cookieLearnMore: 'معرفة المزيد',\n accept: 'قبول',\n decline: 'رفض',\n goToHomePage: 'الانتقال إلى الصفحة الرئيسية',\n home: 'الرئيسية',\n linkCopied: 'تم نسخ الرابط!',\n copyLinkToSection: 'نسخ الرابط إلى القسم',\n search: 'بحث',\n searchPlaceholder: 'بحث',\n closeBanner: 'إغلاق الشعار',\n fallbackLocaleWarning: 'يتم عرض هذا المحتوى بـ {fallbackLocaleName} لأنه غير متاح بـ {requestedLocaleName}.',\n};\n\n/**\n * Chinese translations\n */\nconst zh: ThemeTranslations = {\n copyPage: '复制页面',\n copied: '已复制!',\n openInChatGPT: '在 ChatGPT 中打开',\n openInClaude: '在 Claude 中打开',\n askAboutThisPage: '在 ChatGPT 中询问此页面',\n copyPageDescription: '将页面复制为 Markdown 格式供 LLM 使用',\n askQuestionsDescription: '询问有关此页面的问题',\n chatGPTPrefix: '此页面来自',\n tableOfContents: '目录',\n contributors: '贡献者',\n goToDocsHome: '前往文档首页',\n goBackTo: '返回',\n goToPreviousPage: '上一页',\n goToNextPage: '下一页',\n noPreviousPage: '没有上一页',\n noNextPage: '没有下一页',\n cookieConsent: 'Cookie 同意',\n cookieDescription: '我们使用 Cookie 来改善您的体验。',\n cookieLearnMore: '了解更多',\n accept: '接受',\n decline: '拒绝',\n goToHomePage: '前往首页',\n home: '首页',\n linkCopied: '链接已复制!',\n copyLinkToSection: '复制章节链接',\n search: '搜索',\n searchPlaceholder: '搜索',\n closeBanner: '关闭横幅',\n fallbackLocaleWarning: '此内容以 {fallbackLocaleName} 显示,因为 {requestedLocaleName} 不可用。',\n};\n\n/**\n * Japanese translations\n */\nconst ja: ThemeTranslations = {\n copyPage: 'ページをコピー',\n copied: 'コピーしました!',\n openInChatGPT: 'ChatGPT で開く',\n openInClaude: 'Claude で開く',\n askAboutThisPage: 'ChatGPT でこのページについて質問する',\n copyPageDescription: 'ページを LLM 用の Markdown としてコピー',\n askQuestionsDescription: 'このページについて質問する',\n chatGPTPrefix: 'このページは',\n tableOfContents: '目次',\n contributors: '貢献者',\n goToDocsHome: 'ドキュメントホームへ',\n goBackTo: '戻る',\n goToPreviousPage: '前のページ',\n goToNextPage: '次のページ',\n noPreviousPage: '前のページなし',\n noNextPage: '次のページなし',\n cookieConsent: 'Cookie 同意',\n cookieDescription: '体験を向上させるために Cookie を使用しています。',\n cookieLearnMore: '詳細を見る',\n accept: '同意',\n decline: '拒否',\n goToHomePage: 'ホームページへ',\n home: 'ホーム',\n linkCopied: 'リンクをコピーしました!',\n copyLinkToSection: 'セクションへのリンクをコピー',\n search: '検索',\n searchPlaceholder: '検索',\n closeBanner: 'バナーを閉じる',\n fallbackLocaleWarning: 'このコンテンツは {requestedLocaleName} で利用できないため、{fallbackLocaleName} で表示されています。',\n};\n\n/**\n * Korean translations\n */\nconst ko: ThemeTranslations = {\n copyPage: '페이지 복사',\n copied: '복사됨!',\n openInChatGPT: 'ChatGPT에서 열기',\n openInClaude: 'Claude에서 열기',\n askAboutThisPage: 'ChatGPT에서 이 페이지에 대해 질문하기',\n copyPageDescription: '페이지를 LLM용 Markdown으로 복사',\n askQuestionsDescription: '이 페이지에 대해 질문하기',\n chatGPTPrefix: '이 페이지는',\n tableOfContents: '목차',\n contributors: '기여자',\n goToDocsHome: '문서 홈으로 이동',\n goBackTo: '돌아가기',\n goToPreviousPage: '이전 페이지',\n goToNextPage: '다음 페이지',\n noPreviousPage: '이전 페이지 없음',\n noNextPage: '다음 페이지 없음',\n cookieConsent: '쿠키 동의',\n cookieDescription: '경험을 향상시키기 위해 쿠키를 사용합니다.',\n cookieLearnMore: '자세히 알아보기',\n accept: '수락',\n decline: '거부',\n goToHomePage: '홈페이지로 이동',\n home: '홈',\n linkCopied: '링크 복사됨!',\n copyLinkToSection: '섹션 링크 복사',\n search: '검색',\n searchPlaceholder: '검색',\n closeBanner: '배너 닫기',\n fallbackLocaleWarning: '이 콘텐츠는 {requestedLocaleName}에서 사용할 수 없어 {fallbackLocaleName}로 표시됩니다.',\n};\n\n/**\n * Portuguese translations\n */\nconst pt: ThemeTranslations = {\n copyPage: 'Copiar página',\n copied: 'Copiado!',\n openInChatGPT: 'Abrir no ChatGPT',\n openInClaude: 'Abrir no Claude',\n askAboutThisPage: 'Perguntar sobre esta página no ChatGPT',\n copyPageDescription: 'Copiar página como Markdown para LLMs',\n askQuestionsDescription: 'Fazer perguntas sobre esta página',\n chatGPTPrefix: 'Esta página veio de',\n tableOfContents: 'Índice',\n contributors: 'Contribuidores',\n goToDocsHome: 'Ir para a página inicial da documentação',\n goBackTo: 'Voltar para',\n goToPreviousPage: 'Página anterior',\n goToNextPage: 'Próxima página',\n noPreviousPage: 'Sem página anterior',\n noNextPage: 'Sem próxima página',\n cookieConsent: 'Consentimento de Cookies',\n cookieDescription: 'Usamos cookies para melhorar sua experiência.',\n cookieLearnMore: 'Saiba mais',\n accept: 'Aceitar',\n decline: 'Recusar',\n goToHomePage: 'Ir para a página inicial',\n home: 'Início',\n linkCopied: 'Link copiado!',\n copyLinkToSection: 'Copiar link para a seção',\n search: 'Pesquisar',\n searchPlaceholder: 'Pesquisar',\n closeBanner: 'Fechar banner',\n fallbackLocaleWarning: 'Este conteúdo é exibido em {fallbackLocaleName} pois não está disponível em {requestedLocaleName}.',\n};\n\n/**\n * Italian translations\n */\nconst it: ThemeTranslations = {\n copyPage: 'Copia pagina',\n copied: 'Copiato!',\n openInChatGPT: 'Apri in ChatGPT',\n openInClaude: 'Apri in Claude',\n askAboutThisPage: 'Chiedi informazioni su questa pagina in ChatGPT',\n copyPageDescription: 'Copia pagina come Markdown per LLM',\n askQuestionsDescription: 'Fai domande su questa pagina',\n chatGPTPrefix: 'Questa pagina proviene da',\n tableOfContents: 'Indice',\n contributors: 'Collaboratori',\n goToDocsHome: 'Vai alla home della documentazione',\n goBackTo: 'Torna a',\n goToPreviousPage: 'Pagina precedente',\n goToNextPage: 'Pagina successiva',\n noPreviousPage: 'Nessuna pagina precedente',\n noNextPage: 'Nessuna pagina successiva',\n cookieConsent: 'Consenso ai Cookie',\n cookieDescription: 'Utilizziamo i cookie per migliorare la tua esperienza.',\n cookieLearnMore: 'Scopri di più',\n accept: 'Accetta',\n decline: 'Rifiuta',\n goToHomePage: 'Vai alla home',\n home: 'Home',\n linkCopied: 'Link copiato!',\n copyLinkToSection: 'Copia link alla sezione',\n search: 'Cerca',\n searchPlaceholder: 'Cerca',\n closeBanner: 'Chiudi banner',\n fallbackLocaleWarning: 'Questo contenuto è mostrato in {fallbackLocaleName} poiché non è disponibile in {requestedLocaleName}.',\n};\n\n/**\n * Russian translations\n */\nconst ru: ThemeTranslations = {\n copyPage: 'Копировать страницу',\n copied: 'Скопировано!',\n openInChatGPT: 'Открыть в ChatGPT',\n openInClaude: 'Открыть в Claude',\n askAboutThisPage: 'Спросить об этой странице в ChatGPT',\n copyPageDescription: 'Скопировать страницу как Markdown для LLM',\n askQuestionsDescription: 'Задать вопросы об этой странице',\n chatGPTPrefix: 'Эта страница взята с',\n tableOfContents: 'Содержание',\n contributors: 'Участники',\n goToDocsHome: 'Перейти на главную документации',\n goBackTo: 'Вернуться к',\n goToPreviousPage: 'Предыдущая страница',\n goToNextPage: 'Следующая страница',\n noPreviousPage: 'Нет предыдущей страницы',\n noNextPage: 'Нет следующей страницы',\n cookieConsent: 'Согласие на Cookie',\n cookieDescription: 'Мы используем cookie для улучшения вашего опыта.',\n cookieLearnMore: 'Узнать больше',\n accept: 'Принять',\n decline: 'Отклонить',\n goToHomePage: 'Перейти на главную',\n home: 'Главная',\n linkCopied: 'Ссылка скопирована!',\n copyLinkToSection: 'Копировать ссылку на раздел',\n search: 'Поиск',\n searchPlaceholder: 'Поиск',\n closeBanner: 'Закрыть баннер',\n fallbackLocaleWarning: 'Этот контент отображается на {fallbackLocaleName}, так как он недоступен на {requestedLocaleName}.',\n};\n\n/**\n * Dutch translations\n */\nconst nl: ThemeTranslations = {\n copyPage: 'Pagina kopiëren',\n copied: 'Gekopieerd!',\n openInChatGPT: 'Openen in ChatGPT',\n openInClaude: 'Openen in Claude',\n askAboutThisPage: 'Vraag over deze pagina in ChatGPT',\n copyPageDescription: 'Pagina kopiëren als Markdown voor LLMs',\n askQuestionsDescription: 'Vragen stellen over deze pagina',\n chatGPTPrefix: 'Deze pagina komt van',\n tableOfContents: 'Inhoudsopgave',\n contributors: 'Bijdragers',\n goToDocsHome: 'Naar documentatie startpagina',\n goBackTo: 'Terug naar',\n goToPreviousPage: 'Vorige pagina',\n goToNextPage: 'Volgende pagina',\n noPreviousPage: 'Geen vorige pagina',\n noNextPage: 'Geen volgende pagina',\n cookieConsent: 'Cookie Toestemming',\n cookieDescription: 'We gebruiken cookies om uw ervaring te verbeteren.',\n cookieLearnMore: 'Meer informatie',\n accept: 'Accepteren',\n decline: 'Weigeren',\n goToHomePage: 'Naar startpagina',\n home: 'Startpagina',\n linkCopied: 'Link gekopieerd!',\n copyLinkToSection: 'Link naar sectie kopiëren',\n search: 'Zoeken',\n searchPlaceholder: 'Zoeken',\n closeBanner: 'Banner sluiten',\n fallbackLocaleWarning: 'Deze inhoud wordt weergegeven in {fallbackLocaleName} omdat deze niet beschikbaar is in {requestedLocaleName}.',\n};\n\n/**\n * Swedish translations\n */\nconst sv: ThemeTranslations = {\n copyPage: 'Kopiera sida',\n copied: 'Kopierad!',\n openInChatGPT: 'Öppna i ChatGPT',\n openInClaude: 'Öppna i Claude',\n askAboutThisPage: 'Fråga om denna sida i ChatGPT',\n copyPageDescription: 'Kopiera sida som Markdown för LLMs',\n askQuestionsDescription: 'Ställa frågor om denna sida',\n chatGPTPrefix: 'Denna sida kommer från',\n tableOfContents: 'Innehållsförteckning',\n contributors: 'Bidragsgivare',\n goToDocsHome: 'Gå till dokumentationsstartsidan',\n goBackTo: 'Tillbaka till',\n goToPreviousPage: 'Föregående sida',\n goToNextPage: 'Nästa sida',\n noPreviousPage: 'Ingen föregående sida',\n noNextPage: 'Ingen nästa sida',\n cookieConsent: 'Cookie-medgivande',\n cookieDescription: 'Vi använder cookies för att förbättra din upplevelse.',\n cookieLearnMore: 'Läs mer',\n accept: 'Acceptera',\n decline: 'Avvisa',\n goToHomePage: 'Gå till startsidan',\n home: 'Hem',\n linkCopied: 'Länk kopierad!',\n copyLinkToSection: 'Kopiera länk till avsnitt',\n search: 'Sök',\n searchPlaceholder: 'Sök',\n closeBanner: 'Stäng banner',\n fallbackLocaleWarning: 'Detta innehåll visas på {fallbackLocaleName} eftersom det inte är tillgängligt på {requestedLocaleName}.',\n};\n\n/**\n * Norwegian translations\n */\nconst no: ThemeTranslations = {\n copyPage: 'Kopier side',\n copied: 'Kopiert!',\n openInChatGPT: 'Åpne i ChatGPT',\n openInClaude: 'Åpne i Claude',\n askAboutThisPage: 'Spør om denne siden i ChatGPT',\n copyPageDescription: 'Kopier side som Markdown for LLMs',\n askQuestionsDescription: 'Stille spørsmål om denne siden',\n chatGPTPrefix: 'Denne siden kommer fra',\n tableOfContents: 'Innholdsfortegnelse',\n contributors: 'Bidragsytere',\n goToDocsHome: 'Gå til dokumentasjonsforsiden',\n goBackTo: 'Tilbake til',\n goToPreviousPage: 'Forrige side',\n goToNextPage: 'Neste side',\n noPreviousPage: 'Ingen forrige side',\n noNextPage: 'Ingen neste side',\n cookieConsent: 'Cookie-samtykke',\n cookieDescription: 'Vi bruker informasjonskapsler for å forbedre opplevelsen din.',\n cookieLearnMore: 'Finn ut mer',\n accept: 'Godta',\n decline: 'Avslå',\n goToHomePage: 'Gå til forsiden',\n home: 'Hjem',\n linkCopied: 'Lenke kopiert!',\n copyLinkToSection: 'Kopier lenke til seksjon',\n search: 'Søk',\n searchPlaceholder: 'Søk',\n closeBanner: 'Lukk banner',\n fallbackLocaleWarning: 'Dette innholdet vises på {fallbackLocaleName} fordi det ikke er tilgjengelig på {requestedLocaleName}.',\n};\n\n/**\n * Danish translations\n */\nconst da: ThemeTranslations = {\n copyPage: 'Kopier side',\n copied: 'Kopieret!',\n openInChatGPT: 'Åbn i ChatGPT',\n openInClaude: 'Åbn i Claude',\n askAboutThisPage: 'Spørg om denne side i ChatGPT',\n copyPageDescription: 'Kopier side som Markdown til LLMs',\n askQuestionsDescription: 'Stille spørgsmål om denne side',\n chatGPTPrefix: 'Denne side kommer fra',\n tableOfContents: 'Indholdsfortegnelse',\n contributors: 'Bidragydere',\n goToDocsHome: 'Gå til dokumentationsforsiden',\n goBackTo: 'Tilbage til',\n goToPreviousPage: 'Forrige side',\n goToNextPage: 'Næste side',\n noPreviousPage: 'Ingen forrige side',\n noNextPage: 'Ingen næste side',\n cookieConsent: 'Cookie-samtykke',\n cookieDescription: 'Vi bruger cookies til at forbedre din oplevelse.',\n cookieLearnMore: 'Læs mere',\n accept: 'Accepter',\n decline: 'Afvis',\n goToHomePage: 'Gå til forsiden',\n home: 'Hjem',\n linkCopied: 'Link kopieret!',\n copyLinkToSection: 'Kopier link til sektion',\n search: 'Søg',\n searchPlaceholder: 'Søg',\n closeBanner: 'Luk banner',\n fallbackLocaleWarning: 'Dette indhold vises på {fallbackLocaleName}, fordi det ikke er tilgængeligt på {requestedLocaleName}.',\n};\n\n/**\n * Finnish translations\n */\nconst fi: ThemeTranslations = {\n copyPage: 'Kopioi sivu',\n copied: 'Kopioitu!',\n openInChatGPT: 'Avaa ChatGPT:ssä',\n openInClaude: 'Avaa Claude:ssa',\n askAboutThisPage: 'Kysy tästä sivusta ChatGPT:ssä',\n copyPageDescription: 'Kopioi sivu Markdown-muodossa LLM:ille',\n askQuestionsDescription: 'Kysy kysymyksiä tästä sivusta',\n chatGPTPrefix: 'Tämä sivu tulee',\n tableOfContents: 'Sisällysluettelo',\n contributors: 'Osallistujat',\n goToDocsHome: 'Siirry dokumentaation etusivulle',\n goBackTo: 'Takaisin',\n goToPreviousPage: 'Edellinen sivu',\n goToNextPage: 'Seuraava sivu',\n noPreviousPage: 'Ei edellistä sivua',\n noNextPage: 'Ei seuraavaa sivua',\n cookieConsent: 'Evästeiden suostumus',\n cookieDescription: 'Käytämme evästeitä parantaaksemme kokemustasi.',\n cookieLearnMore: 'Lue lisää',\n accept: 'Hyväksy',\n decline: 'Hylkää',\n goToHomePage: 'Siirry etusivulle',\n home: 'Koti',\n linkCopied: 'Linkki kopioitu!',\n copyLinkToSection: 'Kopioi linkki osioon',\n search: 'Hae',\n searchPlaceholder: 'Hae',\n closeBanner: 'Sulje banneri',\n fallbackLocaleWarning: 'Tämä sisältö näytetään {fallbackLocaleName}ksi, koska se ei ole saatavilla {requestedLocaleName}ksi.',\n};\n\n/**\n * Polish translations\n */\nconst pl: ThemeTranslations = {\n copyPage: 'Kopiuj stronę',\n copied: 'Skopiowano!',\n openInChatGPT: 'Otwórz w ChatGPT',\n openInClaude: 'Otwórz w Claude',\n askAboutThisPage: 'Zapytaj o tę stronę w ChatGPT',\n copyPageDescription: 'Skopiuj stronę jako Markdown dla LLM',\n askQuestionsDescription: 'Zadawaj pytania dotyczące tej strony',\n chatGPTPrefix: 'Ta strona pochodzi z',\n tableOfContents: 'Spis treści',\n contributors: 'Współtwórcy',\n goToDocsHome: 'Przejdź do strony głównej dokumentacji',\n goBackTo: 'Wróć do',\n goToPreviousPage: 'Poprzednia strona',\n goToNextPage: 'Następna strona',\n noPreviousPage: 'Brak poprzedniej strony',\n noNextPage: 'Brak następnej strony',\n cookieConsent: 'Zgoda na pliki cookie',\n cookieDescription: 'Używamy plików cookie, aby poprawić Twoje wrażenia.',\n cookieLearnMore: 'Dowiedz się więcej',\n accept: 'Zaakceptuj',\n decline: 'Odrzuć',\n goToHomePage: 'Przejdź do strony głównej',\n home: 'Strona główna',\n linkCopied: 'Link skopiowany!',\n copyLinkToSection: 'Kopiuj link do sekcji',\n search: 'Szukaj',\n searchPlaceholder: 'Szukaj',\n closeBanner: 'Zamknij baner',\n fallbackLocaleWarning: 'Ta zawartość jest wyświetlana w {fallbackLocaleName}, ponieważ nie jest dostępna w {requestedLocaleName}.',\n};\n\n/**\n * Turkish translations\n */\nconst tr: ThemeTranslations = {\n copyPage: 'Sayfayı kopyala',\n copied: 'Kopyalandı!',\n openInChatGPT: 'ChatGPT\\'te Aç',\n openInClaude: 'Claude\\'da Aç',\n askAboutThisPage: 'ChatGPT\\'te bu sayfa hakkında sor',\n copyPageDescription: 'Sayfayı LLM\\'ler için Markdown olarak kopyala',\n askQuestionsDescription: 'Bu sayfa hakkında sorular sor',\n chatGPTPrefix: 'Bu sayfa',\n tableOfContents: 'İçindekiler',\n contributors: 'Katkıda Bulunanlar',\n goToDocsHome: 'Dokümantasyon ana sayfasına git',\n goBackTo: 'Geri dön',\n goToPreviousPage: 'Önceki sayfa',\n goToNextPage: 'Sonraki sayfa',\n noPreviousPage: 'Önceki sayfa yok',\n noNextPage: 'Sonraki sayfa yok',\n cookieConsent: 'Çerez Onayı',\n cookieDescription: 'Deneyiminizi geliştirmek için çerezler kullanıyoruz.',\n cookieLearnMore: 'Daha fazla bilgi',\n accept: 'Kabul Et',\n decline: 'Reddet',\n goToHomePage: 'Ana sayfaya git',\n home: 'Ana Sayfa',\n linkCopied: 'Bağlantı kopyalandı!',\n copyLinkToSection: 'Bölüme bağlantı kopyala',\n search: 'Ara',\n searchPlaceholder: 'Ara',\n closeBanner: \"Banner'ı kapat\",\n fallbackLocaleWarning: 'Bu içerik {requestedLocaleName} dilinde mevcut olmadığı için {fallbackLocaleName} dilinde gösterilmektedir.',\n};\n\n/**\n * Hebrew translations (RTL)\n */\nconst he: ThemeTranslations = {\n copyPage: 'העתק עמוד',\n copied: 'הועתק!',\n openInChatGPT: 'פתח ב-ChatGPT',\n openInClaude: 'פתח ב-Claude',\n askAboutThisPage: 'שאל על דף זה ב-ChatGPT',\n copyPageDescription: 'העתק דף כ-Markdown עבור LLMs',\n askQuestionsDescription: 'שאל שאלות על דף זה',\n chatGPTPrefix: 'דף זה הגיע מ',\n tableOfContents: 'תוכן עניינים',\n contributors: 'תורמים',\n goToDocsHome: 'עבור לדף הבית של התיעוד',\n goBackTo: 'חזור ל',\n goToPreviousPage: 'עמוד קודם',\n goToNextPage: 'עמוד הבא',\n noPreviousPage: 'אין עמוד קודם',\n noNextPage: 'אין עמוד הבא',\n cookieConsent: 'הסכמה לעוגיות',\n cookieDescription: 'אנו משתמשים בעוגיות כדי לשפר את החוויה שלך.',\n cookieLearnMore: 'למד עוד',\n accept: 'מקבל',\n decline: 'דוחה',\n goToHomePage: 'עבור לדף הבית',\n home: 'בית',\n linkCopied: 'קישור הועתק!',\n copyLinkToSection: 'העתק קישור לסעיף',\n search: 'חפש',\n searchPlaceholder: 'חפש',\n closeBanner: 'סגור באנר',\n fallbackLocaleWarning: 'תוכן זה מוצג ב-{fallbackLocaleName} מכיוון שהוא אינו זמין ב-{requestedLocaleName}.',\n};\n\n/**\n * Hindi translations\n */\nconst hi: ThemeTranslations = {\n copyPage: 'पृष्ठ कॉपी करें',\n copied: 'कॉपी किया गया!',\n openInChatGPT: 'ChatGPT में खोलें',\n openInClaude: 'Claude में खोलें',\n askAboutThisPage: 'ChatGPT में इस पृष्ठ के बारे में पूछें',\n copyPageDescription: 'पृष्ठ को LLM के लिए Markdown के रूप में कॉपी करें',\n askQuestionsDescription: 'इस पृष्ठ के बारे में प्रश्न पूछें',\n chatGPTPrefix: 'यह पृष्ठ',\n tableOfContents: 'विषय सूची',\n contributors: 'योगदानकर्ता',\n goToDocsHome: 'दस्तावेज़ होम पर जाएं',\n goBackTo: 'वापस जाएं',\n goToPreviousPage: 'पिछला पृष्ठ',\n goToNextPage: 'अगला पृष्ठ',\n noPreviousPage: 'कोई पिछला पृष्ठ नहीं',\n noNextPage: 'कोई अगला पृष्ठ नहीं',\n cookieConsent: 'कुकी सहमति',\n cookieDescription: 'हम आपके अनुभव को बेहतर बनाने के लिए कुकीज़ का उपयोग करते हैं।',\n cookieLearnMore: 'और जानें',\n accept: 'स्वीकार करें',\n decline: 'अस्वीकार करें',\n goToHomePage: 'होम पेज पर जाएं',\n home: 'होम',\n linkCopied: 'लिंक कॉपी किया गया!',\n copyLinkToSection: 'अनुभाग के लिए लिंक कॉपी करें',\n search: 'खोजें',\n searchPlaceholder: 'खोजें',\n closeBanner: 'बैनर बंद करें',\n fallbackLocaleWarning: 'यह सामग्री {fallbackLocaleName} में दिखाई जा रही है क्योंकि यह {requestedLocaleName} में उपलब्ध नहीं है।',\n};\n\n/**\n * Persian translations (RTL)\n */\nconst fa: ThemeTranslations = {\n copyPage: 'کپی صفحه',\n copied: 'کپی شد!',\n openInChatGPT: 'باز کردن در ChatGPT',\n openInClaude: 'باز کردن در Claude',\n askAboutThisPage: 'در ChatGPT دربارهٔ این صفحه بپرسید',\n copyPageDescription: 'کپی صفحه به‌صورت Markdown برای مدل‌های زبانی',\n askQuestionsDescription: 'سوالی دربارهٔ این صفحه بپرسید',\n chatGPTPrefix: 'این صفحه از',\n tableOfContents: 'فهرست مطالب',\n contributors: 'مشارکت‌کنندگان',\n goToDocsHome: 'رفتن به خانهٔ مستندات',\n goBackTo: 'بازگشت به',\n goToPreviousPage: 'صفحهٔ قبل',\n goToNextPage: 'صفحهٔ بعد',\n noPreviousPage: 'صفحهٔ قبلی وجود ندارد',\n noNextPage: 'صفحهٔ بعدی وجود ندارد',\n cookieConsent: 'رضایت کوکی',\n cookieDescription: 'برای بهبود تجربهٔ شما از کوکی استفاده می‌کنیم.',\n cookieLearnMore: 'بیشتر بدانید',\n accept: 'پذیرفتن',\n decline: 'رد کردن',\n goToHomePage: 'رفتن به صفحهٔ اصلی',\n home: 'خانه',\n linkCopied: 'پیوند کپی شد!',\n copyLinkToSection: 'کپی پیوند به بخش',\n search: 'جستجو',\n searchPlaceholder: 'جستجو',\n closeBanner: 'بستن نوار',\n fallbackLocaleWarning:\n 'این محتوا به {fallbackLocaleName} نمایش داده می‌شود چون به {requestedLocaleName} در دسترس نیست.',\n};\n\n/**\n * Indonesian translations\n */\nconst id: ThemeTranslations = {\n copyPage: 'Salin halaman',\n copied: 'Disalin!',\n openInChatGPT: 'Buka di ChatGPT',\n openInClaude: 'Buka di Claude',\n askAboutThisPage: 'Tanya tentang halaman ini di ChatGPT',\n copyPageDescription: 'Salin halaman sebagai Markdown untuk LLM',\n askQuestionsDescription: 'Ajukan pertanyaan tentang halaman ini',\n chatGPTPrefix: 'Halaman ini dari',\n tableOfContents: 'Daftar isi',\n contributors: 'Kontributor',\n goToDocsHome: 'Ke beranda dokumentasi',\n goBackTo: 'Kembali ke',\n goToPreviousPage: 'Halaman sebelumnya',\n goToNextPage: 'Halaman berikutnya',\n noPreviousPage: 'Tidak ada halaman sebelumnya',\n noNextPage: 'Tidak ada halaman berikutnya',\n cookieConsent: 'Persetujuan cookie',\n cookieDescription: 'Kami menggunakan cookie untuk meningkatkan pengalaman Anda.',\n cookieLearnMore: 'Pelajari lebih lanjut',\n accept: 'Terima',\n decline: 'Tolak',\n goToHomePage: 'Ke beranda',\n home: 'Beranda',\n linkCopied: 'Tautan disalin!',\n copyLinkToSection: 'Salin tautan ke bagian',\n search: 'Cari',\n searchPlaceholder: 'Cari',\n closeBanner: 'Tutup banner',\n fallbackLocaleWarning:\n 'Konten ini ditampilkan dalam {fallbackLocaleName} karena tidak tersedia dalam {requestedLocaleName}.',\n};\n\n/**\n * Thai translations\n */\nconst th: ThemeTranslations = {\n copyPage: 'คัดลอกหน้า',\n copied: 'คัดลอกแล้ว!',\n openInChatGPT: 'เปิดใน ChatGPT',\n openInClaude: 'เปิดใน Claude',\n askAboutThisPage: 'ถามเกี่ยวกับหน้านี้ใน ChatGPT',\n copyPageDescription: 'คัดลอกหน้าเป็น Markdown สำหรับ LLM',\n askQuestionsDescription: 'ถามคำถามเกี่ยวกับหน้านี้',\n chatGPTPrefix: 'หน้านี้มาจาก',\n tableOfContents: 'สารบัญ',\n contributors: 'ผู้มีส่วนร่วม',\n goToDocsHome: 'ไปหน้าแรกของเอกสาร',\n goBackTo: 'กลับไปที่',\n goToPreviousPage: 'หน้าก่อนหน้า',\n goToNextPage: 'หน้าถัดไป',\n noPreviousPage: 'ไม่มีหน้าก่อนหน้า',\n noNextPage: 'ไม่มีหน้าถัดไป',\n cookieConsent: 'การยินยอมคุกกี้',\n cookieDescription: 'เราใช้คุกกี้เพื่อปรับปรุงประสบการณ์ของคุณ',\n cookieLearnMore: 'เรียนรู้เพิ่มเติม',\n accept: 'ยอมรับ',\n decline: 'ปฏิเสธ',\n goToHomePage: 'ไปหน้าแรก',\n home: 'หน้าแรก',\n linkCopied: 'คัดลอกลิงก์แล้ว!',\n copyLinkToSection: 'คัดลอกลิงก์ไปยังส่วน',\n search: 'ค้นหา',\n searchPlaceholder: 'ค้นหา',\n closeBanner: 'ปิดแบนเนอร์',\n fallbackLocaleWarning:\n 'เนื้อหานี้แสดงเป็น {fallbackLocaleName} เพราะไม่มีใน {requestedLocaleName}',\n};\n\n/**\n * Vietnamese translations\n */\nconst vi: ThemeTranslations = {\n copyPage: 'Sao chép trang',\n copied: 'Đã sao chép!',\n openInChatGPT: 'Mở trong ChatGPT',\n openInClaude: 'Mở trong Claude',\n askAboutThisPage: 'Hỏi về trang này trong ChatGPT',\n copyPageDescription: 'Sao chép trang dạng Markdown cho LLM',\n askQuestionsDescription: 'Đặt câu hỏi về trang này',\n chatGPTPrefix: 'Trang này đến từ',\n tableOfContents: 'Mục lục',\n contributors: 'Người đóng góp',\n goToDocsHome: 'Về trang chủ tài liệu',\n goBackTo: 'Quay lại',\n goToPreviousPage: 'Trang trước',\n goToNextPage: 'Trang sau',\n noPreviousPage: 'Không có trang trước',\n noNextPage: 'Không có trang sau',\n cookieConsent: 'Đồng ý cookie',\n cookieDescription: 'Chúng tôi dùng cookie để cải thiện trải nghiệm của bạn.',\n cookieLearnMore: 'Tìm hiểu thêm',\n accept: 'Chấp nhận',\n decline: 'Từ chối',\n goToHomePage: 'Về trang chủ',\n home: 'Trang chủ',\n linkCopied: 'Đã sao chép liên kết!',\n copyLinkToSection: 'Sao chép liên kết tới mục',\n search: 'Tìm kiếm',\n searchPlaceholder: 'Tìm kiếm',\n closeBanner: 'Đóng biểu ngữ',\n fallbackLocaleWarning:\n 'Nội dung hiển thị bằng {fallbackLocaleName} vì không có bản {requestedLocaleName}.',\n};\n\n\nconst af: ThemeTranslations = {\n copyPage: 'Kopieer bladsy',\n copied: 'Gekopieer!',\n openInChatGPT: 'Maak oop in ChatGPT',\n openInClaude: 'Maak oop in Claude',\n askAboutThisPage: 'Vra oor hierdie bladsy in ChatGPT',\n copyPageDescription: 'Kopieer bladsy as Markdown vir LLMs',\n askQuestionsDescription: 'Vrae oor hierdie bladsy vra',\n chatGPTPrefix: 'Hierdie bladsy kom van',\n tableOfContents: 'Inhoudsopgawe',\n contributors: 'Bydraers',\n goToDocsHome: 'Gaan na dokumentasie tuisblad',\n goBackTo: 'Gaan terug na',\n goToPreviousPage: 'Vorige bladsy',\n goToNextPage: 'Volgende bladsy',\n noPreviousPage: 'Geen vorige bladsy nie',\n noNextPage: 'Geen volgende bladsy nie',\n cookieConsent: 'Koekie-toestemming',\n cookieDescription: 'Ons gebruik koekies om jou ervaring te verbeter.',\n cookieLearnMore: 'Leer meer',\n accept: 'Aanvaar',\n decline: 'Wys af',\n goToHomePage: 'Gaan na tuisblad',\n home: 'Tuis',\n linkCopied: 'Skakel gekopieer!',\n copyLinkToSection: 'Kopieer skakel na afdeling',\n search: 'Soek',\n searchPlaceholder: 'Soek',\n closeBanner: 'Maak banier toe',\n fallbackLocaleWarning:\n 'Hierdie inhoud word in {fallbackLocaleName} gewys omdat dit nie in {requestedLocaleName} beskikbaar is nie.',\n };\n\nconst az: ThemeTranslations = {\n copyPage: 'Səhifəni kopyala',\n copied: 'Kopyalandı!',\n openInChatGPT: 'ChatGPT-də aç',\n openInClaude: 'Claude-da aç',\n askAboutThisPage: 'Bu səhifə haqqında ChatGPT-də soruş',\n copyPageDescription: 'Səhifəni LLM-lər üçün Markdown kimi kopyala',\n askQuestionsDescription: 'Bu səhifə haqqında suallar ver',\n chatGPTPrefix: 'Bu səhifə',\n tableOfContents: 'Mündəricat',\n contributors: 'Töhfə verənlər',\n goToDocsHome: 'Sənədləşmə ana səhifəsinə get',\n goBackTo: 'Geri qayıt',\n goToPreviousPage: 'Əvvəlki səhifə',\n goToNextPage: 'Növbəti səhifə',\n noPreviousPage: 'Əvvəlki səhifə yoxdur',\n noNextPage: 'Növbəti səhifə yoxdur',\n cookieConsent: 'Kuki razılığı',\n cookieDescription: 'Təcrübənizi yaxşılaşdırmaq üçün kukilərdən istifadə edirik.',\n cookieLearnMore: 'Ətraflı öyrən',\n accept: 'Qəbul et',\n decline: 'Rədd et',\n goToHomePage: 'Ana səhifəyə get',\n home: 'Ana səhifə',\n linkCopied: 'Keçid kopyalandı!',\n copyLinkToSection: 'Bölməyə keçidi kopyala',\n search: 'Axtar',\n searchPlaceholder: 'Axtar',\n closeBanner: 'Banneri bağla',\n fallbackLocaleWarning:\n 'Bu məzmun {requestedLocaleName} mövcud olmadığı üçün {fallbackLocaleName} göstərilir.',\n };\n\nconst be: ThemeTranslations = {\n copyPage: 'Капіраваць старонку',\n copied: 'Скапіявана!',\n openInChatGPT: 'Адкрыць у ChatGPT',\n openInClaude: 'Адкрыць у Claude',\n askAboutThisPage: 'Спытаць пра гэту старонку ў ChatGPT',\n copyPageDescription: 'Капіраваць старонку як Markdown для LLM',\n askQuestionsDescription: 'Задаць пытанні пра гэту старонку',\n chatGPTPrefix: 'Гэтая старонка з',\n tableOfContents: 'Змест',\n contributors: 'Удзельнікі',\n goToDocsHome: 'На галоўную дакументацыі',\n goBackTo: 'Вярнуцца да',\n goToPreviousPage: 'Папярэдняя старонка',\n goToNextPage: 'Наступная старонка',\n noPreviousPage: 'Няма папярэдняй старонкі',\n noNextPage: 'Няма наступнай старонкі',\n cookieConsent: 'Згода на cookie',\n cookieDescription: 'Мы выкарыстоўваем cookie для паляпшэння вашага вопыту.',\n cookieLearnMore: 'Даведацца больш',\n accept: 'Прыняць',\n decline: 'Адхіліць',\n goToHomePage: 'На галоўную',\n home: 'Галоўная',\n linkCopied: 'Спасылка скапіявана!',\n copyLinkToSection: 'Капіраваць спасылку на раздзел',\n search: 'Пошук',\n searchPlaceholder: 'Пошук',\n closeBanner: 'Зачыніць банер',\n fallbackLocaleWarning:\n 'Гэты змест паказаны на {fallbackLocaleName}, бо ён недаступны на {requestedLocaleName}.',\n };\n\nconst bg: ThemeTranslations = {\n copyPage: 'Копиране на страницата',\n copied: 'Копирано!',\n openInChatGPT: 'Отваряне в ChatGPT',\n openInClaude: 'Отваряне в Claude',\n askAboutThisPage: 'Питай за тази страница в ChatGPT',\n copyPageDescription: 'Копирай страницата като Markdown за LLM',\n askQuestionsDescription: 'Задай въпроси за тази страница',\n chatGPTPrefix: 'Тази страница е от',\n tableOfContents: 'Съдържание',\n contributors: 'Сътрудници',\n goToDocsHome: 'Към началото на документацията',\n goBackTo: 'Назад към',\n goToPreviousPage: 'Предишна страница',\n goToNextPage: 'Следваща страница',\n noPreviousPage: 'Няма предишна страница',\n noNextPage: 'Няма следваща страница',\n cookieConsent: 'Съгласие за бисквитки',\n cookieDescription: 'Използваме бисквитки, за да подобрим вашето изживяване.',\n cookieLearnMore: 'Научи повече',\n accept: 'Приеми',\n decline: 'Отхвърли',\n goToHomePage: 'Към началната страница',\n home: 'Начало',\n linkCopied: 'Връзката е копирана!',\n copyLinkToSection: 'Копирай връзка към раздел',\n search: 'Търсене',\n searchPlaceholder: 'Търсене',\n closeBanner: 'Затвори банер',\n fallbackLocaleWarning:\n 'Това съдържание е показано на {fallbackLocaleName}, защото не е налично на {requestedLocaleName}.',\n };\n\nconst bn: ThemeTranslations = {\n copyPage: 'পৃষ্ঠা কপি করুন',\n copied: 'কপি হয়েছে!',\n openInChatGPT: 'ChatGPT-এ খুলুন',\n openInClaude: 'Claude-এ খুলুন',\n askAboutThisPage: 'ChatGPT-এ এই পৃষ্ঠা সম্পর্কে জিজ্ঞাসা করুন',\n copyPageDescription: 'LLM-এর জন্য পৃষ্ঠাটি Markdown হিসেবে কপি করুন',\n askQuestionsDescription: 'এই পৃষ্ঠা সম্পর্কে প্রশ্ন করুন',\n chatGPTPrefix: 'এই পৃষ্ঠাটি এসেছে',\n tableOfContents: 'সূচিপত্র',\n contributors: 'অবদানকারী',\n goToDocsHome: 'ডকুমেন্টেশন হোমে যান',\n goBackTo: 'ফিরে যান',\n goToPreviousPage: 'পূর্ববর্তী পৃষ্ঠা',\n goToNextPage: 'পরবর্তী পৃষ্ঠা',\n noPreviousPage: 'কোনো পূর্ববর্তী পৃষ্ঠা নেই',\n noNextPage: 'কোনো পরবর্তী পৃষ্ঠা নেই',\n cookieConsent: 'কুকি সম্মতি',\n cookieDescription: 'আপনার অভিজ্ঞতা উন্নত করতে আমরা কুকি ব্যবহার করি।',\n cookieLearnMore: 'আরও জানুন',\n accept: 'গ্রহণ করুন',\n decline: 'প্রত্যাখ্যান করুন',\n goToHomePage: 'হোম পেজে যান',\n home: 'হোম',\n linkCopied: 'লিংক কপি হয়েছে!',\n copyLinkToSection: 'অনুচ্ছেদের লিংক কপি করুন',\n search: 'খুঁজুন',\n searchPlaceholder: 'খুঁজুন',\n closeBanner: 'ব্যানার বন্ধ করুন',\n fallbackLocaleWarning:\n 'এই বিষয়বস্তু {fallbackLocaleName}-এ দেখানো হয়েছে কারণ {requestedLocaleName}-এ উপলব্ধ নয়।',\n };\n\nconst bs: ThemeTranslations = {\n copyPage: 'Kopiraj stranicu',\n copied: 'Kopirano!',\n openInChatGPT: 'Otvori u ChatGPT',\n openInClaude: 'Otvori u Claude',\n askAboutThisPage: 'Pitaj o ovoj stranici u ChatGPT',\n copyPageDescription: 'Kopiraj stranicu kao Markdown za LLM',\n askQuestionsDescription: 'Postavi pitanja o ovoj stranici',\n chatGPTPrefix: 'Ova stranica je sa',\n tableOfContents: 'Sadržaj',\n contributors: 'Saradnici',\n goToDocsHome: 'Idi na početak dokumentacije',\n goBackTo: 'Nazad na',\n goToPreviousPage: 'Prethodna stranica',\n goToNextPage: 'Sljedeća stranica',\n noPreviousPage: 'Nema prethodne stranice',\n noNextPage: 'Nema sljedeće stranice',\n cookieConsent: 'Saglasnost za kolačiće',\n cookieDescription: 'Koristimo kolačiće da poboljšamo vaše iskustvo.',\n cookieLearnMore: 'Saznaj više',\n accept: 'Prihvati',\n decline: 'Odbij',\n goToHomePage: 'Idi na početnu',\n home: 'Početna',\n linkCopied: 'Link kopiran!',\n copyLinkToSection: 'Kopiraj link na odjeljak',\n search: 'Pretraži',\n searchPlaceholder: 'Pretraži',\n closeBanner: 'Zatvori baner',\n fallbackLocaleWarning:\n 'Ovaj sadržaj je prikazan na {fallbackLocaleName} jer nije dostupan na {requestedLocaleName}.',\n };\n\nconst ca: ThemeTranslations = {\n copyPage: 'Copia la pàgina',\n copied: 'Copiat!',\n openInChatGPT: 'Obre a ChatGPT',\n openInClaude: 'Obre a Claude',\n askAboutThisPage: 'Pregunta sobre aquesta pàgina a ChatGPT',\n copyPageDescription: 'Copia la pàgina com a Markdown per a LLM',\n askQuestionsDescription: 'Fes preguntes sobre aquesta pàgina',\n chatGPTPrefix: 'Aquesta pàgina prové de',\n tableOfContents: 'Taula de continguts',\n contributors: 'Col·laboradors',\n goToDocsHome: 'Vés a l’inici de la documentació',\n goBackTo: 'Torna a',\n goToPreviousPage: 'Pàgina anterior',\n goToNextPage: 'Pàgina següent',\n noPreviousPage: 'No hi ha pàgina anterior',\n noNextPage: 'No hi ha pàgina següent',\n cookieConsent: 'Consentiment de galetes',\n cookieDescription: 'Utilitzem galetes per millorar la vostra experiència.',\n cookieLearnMore: 'Més informació',\n accept: 'Accepta',\n decline: 'Rebutja',\n goToHomePage: 'Vés a la pàgina d’inici',\n home: 'Inici',\n linkCopied: 'Enllaç copiat!',\n copyLinkToSection: 'Copia l’enllaç a la secció',\n search: 'Cerca',\n searchPlaceholder: 'Cerca',\n closeBanner: 'Tanca el bàner',\n fallbackLocaleWarning:\n 'Aquest contingut es mostra en {fallbackLocaleName} perquè no està disponible en {requestedLocaleName}.',\n };\n\nconst cs: ThemeTranslations = {\n copyPage: 'Kopírovat stránku',\n copied: 'Zkopírováno!',\n openInChatGPT: 'Otevřít v ChatGPT',\n openInClaude: 'Otevřít v Claude',\n askAboutThisPage: 'Zeptejte se na tuto stránku v ChatGPT',\n copyPageDescription: 'Kopírovat stránku jako Markdown pro LLM',\n askQuestionsDescription: 'Ptejte se na tuto stránku',\n chatGPTPrefix: 'Tato stránka pochází z',\n tableOfContents: 'Obsah',\n contributors: 'Přispěvatelé',\n goToDocsHome: 'Přejít na domovskou stránku dokumentace',\n goBackTo: 'Zpět na',\n goToPreviousPage: 'Předchozí stránka',\n goToNextPage: 'Další stránka',\n noPreviousPage: 'Žádná předchozí stránka',\n noNextPage: 'Žádná další stránka',\n cookieConsent: 'Souhlas s cookies',\n cookieDescription: 'Používáme cookies ke zlepšení vašeho zážitku.',\n cookieLearnMore: 'Zjistit více',\n accept: 'Přijmout',\n decline: 'Odmítnout',\n goToHomePage: 'Přejít na domovskou stránku',\n home: 'Domů',\n linkCopied: 'Odkaz zkopírován!',\n copyLinkToSection: 'Kopírovat odkaz na sekci',\n search: 'Hledat',\n searchPlaceholder: 'Hledat',\n closeBanner: 'Zavřít banner',\n fallbackLocaleWarning:\n 'Tento obsah je zobrazen v jazyce {fallbackLocaleName}, protože není k dispozici v jazyce {requestedLocaleName}.',\n };\n\nconst cy: ThemeTranslations = {\n copyPage: 'Copïo’r dudalen',\n copied: 'Wedi copïo!',\n openInChatGPT: 'Agor yn ChatGPT',\n openInClaude: 'Agor yn Claude',\n askAboutThisPage: 'Gofynwch am y dudalen hon yn ChatGPT',\n copyPageDescription: 'Copïo’r dudalen fel Markdown ar gyfer LLMs',\n askQuestionsDescription: 'Gofynnwch gwestiynau am y dudalen hon',\n chatGPTPrefix: 'Mae’r dudalen hon yn dod o',\n tableOfContents: 'Cynnwys',\n contributors: 'Cyfranwyr',\n goToDocsHome: 'Ewch i hafan y ddogfennaeth',\n goBackTo: 'Nôl i',\n goToPreviousPage: 'Tudalen flaenorol',\n goToNextPage: 'Tudalen nesaf',\n noPreviousPage: 'Dim tudalen flaenorol',\n noNextPage: 'Dim tudalen nesaf',\n cookieConsent: 'Cydsyniad cwcis',\n cookieDescription: 'Rydym yn defnyddio cwcis i wella eich profiad.',\n cookieLearnMore: 'Dysgu mwy',\n accept: 'Derbyn',\n decline: 'Gwrthod',\n goToHomePage: 'Ewch i’r dudalen gartref',\n home: 'Hafan',\n linkCopied: 'Dolen wedi’i chopïo!',\n copyLinkToSection: 'Copïo dolen i’r adran',\n search: 'Chwilio',\n searchPlaceholder: 'Chwilio',\n closeBanner: 'Cau’r faner',\n fallbackLocaleWarning:\n 'Mae’r cynnwys hwn yn cael ei ddangos yn {fallbackLocaleName} gan nad yw ar gael yn {requestedLocaleName}.',\n };\n\nconst el: ThemeTranslations = {\n copyPage: 'Αντιγραφή σελίδας',\n copied: 'Αντιγράφηκε!',\n openInChatGPT: 'Άνοιγμα στο ChatGPT',\n openInClaude: 'Άνοιγμα στο Claude',\n askAboutThisPage: 'Ρωτήστε για αυτή τη σελίδα στο ChatGPT',\n copyPageDescription: 'Αντιγραφή σελίδας ως Markdown για LLM',\n askQuestionsDescription: 'Κάντε ερωτήσεις για αυτή τη σελίδα',\n chatGPTPrefix: 'Αυτή η σελίδα προέρχεται από',\n tableOfContents: 'Πίνακας περιεχομένων',\n contributors: 'Συντελεστές',\n goToDocsHome: 'Μετάβαση στην αρχική τεκμηρίωσης',\n goBackTo: 'Επιστροφή σε',\n goToPreviousPage: 'Προηγούμενη σελίδα',\n goToNextPage: 'Επόμενη σελίδα',\n noPreviousPage: 'Δεν υπάρχει προηγούμενη σελίδα',\n noNextPage: 'Δεν υπάρχει επόμενη σελίδα',\n cookieConsent: 'Συναίνεση cookies',\n cookieDescription: 'Χρησιμοποιούμε cookies για να βελτιώσουμε την εμπειρία σας.',\n cookieLearnMore: 'Μάθετε περισσότερα',\n accept: 'Αποδοχή',\n decline: 'Απόρριψη',\n goToHomePage: 'Μετάβαση στην αρχική',\n home: 'Αρχική',\n linkCopied: 'Ο σύνδεσμος αντιγράφηκε!',\n copyLinkToSection: 'Αντιγραφή συνδέσμου στην ενότητα',\n search: 'Αναζήτηση',\n searchPlaceholder: 'Αναζήτηση',\n closeBanner: 'Κλείσιμο μπάνερ',\n fallbackLocaleWarning:\n 'Αυτό το περιεχόμενο εμφανίζεται στα {fallbackLocaleName} επειδή δεν είναι διαθέσιμο στα {requestedLocaleName}.',\n };\n\nconst et: ThemeTranslations = {\n copyPage: 'Kopeeri leht',\n copied: 'Kopeeritud!',\n openInChatGPT: 'Ava ChatGPT-s',\n openInClaude: 'Ava Claude’is',\n askAboutThisPage: 'Küsi selle lehe kohta ChatGPT-s',\n copyPageDescription: 'Kopeeri leht LLM-ide jaoks Markdownina',\n askQuestionsDescription: 'Esita küsimusi selle lehe kohta',\n chatGPTPrefix: 'See leht on pärit',\n tableOfContents: 'Sisukord',\n contributors: 'Kaastöölised',\n goToDocsHome: 'Mine dokumentatsiooni avalehele',\n goBackTo: 'Tagasi',\n goToPreviousPage: 'Eelmine leht',\n goToNextPage: 'Järgmine leht',\n noPreviousPage: 'Eelmist lehte pole',\n noNextPage: 'Järgmist lehte pole',\n cookieConsent: 'Küpsiste nõusolek',\n cookieDescription: 'Kasutame küpsiseid teie kogemuse parandamiseks.',\n cookieLearnMore: 'Lisateave',\n accept: 'Nõustu',\n decline: 'Keeldu',\n goToHomePage: 'Mine avalehele',\n home: 'Avaleht',\n linkCopied: 'Link kopeeritud!',\n copyLinkToSection: 'Kopeeri link jaotisesse',\n search: 'Otsi',\n searchPlaceholder: 'Otsi',\n closeBanner: 'Sulge bänner',\n fallbackLocaleWarning:\n 'See sisu kuvatakse keeles {fallbackLocaleName}, kuna see pole saadaval keeles {requestedLocaleName}.',\n };\n\nconst eu: ThemeTranslations = {\n copyPage: 'Kopiatu orria',\n copied: 'Kopiatuta!',\n openInChatGPT: 'Ireki ChatGPT-n',\n openInClaude: 'Ireki Claude-n',\n askAboutThisPage: 'Galdetu orri honi buruz ChatGPT-n',\n copyPageDescription: 'Kopiatu orria Markdown gisa LLM-entzat',\n askQuestionsDescription: 'Egin galderak orri honi buruz',\n chatGPTPrefix: 'Orri hau hemendik dator',\n tableOfContents: 'Edukien taula',\n contributors: 'Laguntzaileak',\n goToDocsHome: 'Joan dokumentazioaren hasierara',\n goBackTo: 'Itzuli hona',\n goToPreviousPage: 'Aurreko orria',\n goToNextPage: 'Hurrengo orria',\n noPreviousPage: 'Ez dago aurreko orririk',\n noNextPage: 'Ez dago hurrengo orririk',\n cookieConsent: 'Cookie onespena',\n cookieDescription: 'Cookieak erabiltzen ditugu zure esperientzia hobetzeko.',\n cookieLearnMore: 'Informazio gehiago',\n accept: 'Onartu',\n decline: 'Baztertu',\n goToHomePage: 'Joan hasierako orrira',\n home: 'Hasiera',\n linkCopied: 'Esteka kopiatuta!',\n copyLinkToSection: 'Kopiatu esteka atalera',\n search: 'Bilatu',\n searchPlaceholder: 'Bilatu',\n closeBanner: 'Itxi banner-a',\n fallbackLocaleWarning:\n 'Edukia {fallbackLocaleName} erakusten da {requestedLocaleName} eskuragarri ez dagoelako.',\n };\n\nconst ga: ThemeTranslations = {\n copyPage: 'Cóipeáil an leathanach',\n copied: 'Cóipeáladh!',\n openInChatGPT: 'Oscail i ChatGPT',\n openInClaude: 'Oscail i Claude',\n askAboutThisPage: 'Cuir ceist faoin leathanach seo i ChatGPT',\n copyPageDescription: 'Cóipeáil an leathanach mar Markdown do LLMs',\n askQuestionsDescription: 'Cuir ceisteanna faoin leathanach seo',\n chatGPTPrefix: 'Tá an leathanach seo ó',\n tableOfContents: 'Clár ábhair',\n contributors: 'Rannpháirtithe',\n goToDocsHome: 'Téigh go dtí baile na doiciméadachta',\n goBackTo: 'Téigh ar ais go',\n goToPreviousPage: 'Leathanach roimhe',\n goToNextPage: 'An chéad leathanach eile',\n noPreviousPage: 'Níl leathanach roimhe ann',\n noNextPage: 'Níl leathanach ina dhiaidh ann',\n cookieConsent: 'Toiliú fianán',\n cookieDescription: 'Úsáidimid fianáin chun do thaithí a fheabhsú.',\n cookieLearnMore: 'Tuilleadh eolais',\n accept: 'Glac',\n decline: 'Diúltú',\n goToHomePage: 'Téigh go dtí an leathanach baile',\n home: 'Baile',\n linkCopied: 'Cóipeáladh an nasc!',\n copyLinkToSection: 'Cóipeáil nasc go dtí an rannán',\n search: 'Cuardaigh',\n searchPlaceholder: 'Cuardaigh',\n closeBanner: 'Dún an meirge',\n fallbackLocaleWarning:\n 'Tá an t-ábhar seo á thaispeáint i {fallbackLocaleName} toisc nach bhfuil sé ar fáil i {requestedLocaleName}.',\n };\n\nconst gl: ThemeTranslations = {\n copyPage: 'Copiar páxina',\n copied: 'Copiado!',\n openInChatGPT: 'Abrir en ChatGPT',\n openInClaude: 'Abrir en Claude',\n askAboutThisPage: 'Pregunta sobre esta páxina en ChatGPT',\n copyPageDescription: 'Copiar páxina como Markdown para LLM',\n askQuestionsDescription: 'Fai preguntas sobre esta páxina',\n chatGPTPrefix: 'Esta páxina vén de',\n tableOfContents: 'Índice',\n contributors: 'Colaboradores',\n goToDocsHome: 'Ir ao inicio da documentación',\n goBackTo: 'Volver a',\n goToPreviousPage: 'Páxina anterior',\n goToNextPage: 'Páxina seguinte',\n noPreviousPage: 'Non hai páxina anterior',\n noNextPage: 'Non hai páxina seguinte',\n cookieConsent: 'Consentimento de cookies',\n cookieDescription: 'Usamos cookies para mellorar a túa experiencia.',\n cookieLearnMore: 'Máis información',\n accept: 'Aceptar',\n decline: 'Rexeitar',\n goToHomePage: 'Ir á páxina de inicio',\n home: 'Inicio',\n linkCopied: 'Ligazón copiada!',\n copyLinkToSection: 'Copiar ligazón á sección',\n search: 'Buscar',\n searchPlaceholder: 'Buscar',\n closeBanner: 'Pechar banner',\n fallbackLocaleWarning:\n 'Este contido móstrase en {fallbackLocaleName} porque non está dispoñible en {requestedLocaleName}.',\n };\n\nconst gu: ThemeTranslations = {\n copyPage: 'પૃષ્ઠ કૉપિ કરો',\n copied: 'કૉપિ થયું!',\n openInChatGPT: 'ChatGPT માં ખોલો',\n openInClaude: 'Claude માં ખોલો',\n askAboutThisPage: 'ChatGPT માં આ પૃષ્ઠ વિશે પૂછો',\n copyPageDescription: 'LLM માટે પૃષ્ઠને Markdown તરીકે કૉપિ કરો',\n askQuestionsDescription: 'આ પૃષ્ઠ વિશે પ્રશ્નો પૂછો',\n chatGPTPrefix: 'આ પૃષ્ઠ',\n tableOfContents: 'વિષયસૂચિ',\n contributors: 'યોગદાનકર્તાઓ',\n goToDocsHome: 'દસ્તાવેજ મુખપૃષ્ઠ પર જાઓ',\n goBackTo: 'પાછા જાઓ',\n goToPreviousPage: 'પાછલું પૃષ્ઠ',\n goToNextPage: 'આગલું પૃષ્ઠ',\n noPreviousPage: 'કોઈ પાછલું પૃષ્ઠ નથી',\n noNextPage: 'કોઈ આગલું પૃષ્ઠ નથી',\n cookieConsent: 'કૂકી સંમતિ',\n cookieDescription: 'તમારા અનુભવને સુધારવા અમે કૂકીઝ વાપરીએ છીએ.',\n cookieLearnMore: 'વધુ જાણો',\n accept: 'સ્વીકારો',\n decline: 'નકારો',\n goToHomePage: 'હોમ પૃષ્ઠ પર જાઓ',\n home: 'હોમ',\n linkCopied: 'લિંક કૉપિ થઈ!',\n copyLinkToSection: 'વિભાગની લિંક કૉપિ કરો',\n search: 'શોધો',\n searchPlaceholder: 'શોધો',\n closeBanner: 'બેનર બંધ કરો',\n fallbackLocaleWarning:\n 'આ સામગ્રી {fallbackLocaleName} માં દર્શાવાય છે કારણ કે તે {requestedLocaleName} માં ઉપલબ્ધ નથી.',\n };\n\nconst hr: ThemeTranslations = {\n copyPage: 'Kopiraj stranicu',\n copied: 'Kopirano!',\n openInChatGPT: 'Otvori u ChatGPT',\n openInClaude: 'Otvori u Claude',\n askAboutThisPage: 'Pitaj o ovoj stranici u ChatGPT',\n copyPageDescription: 'Kopiraj stranicu kao Markdown za LLM',\n askQuestionsDescription: 'Postavi pitanja o ovoj stranici',\n chatGPTPrefix: 'Ova stranica je s',\n tableOfContents: 'Sadržaj',\n contributors: 'Suradnici',\n goToDocsHome: 'Idi na početak dokumentacije',\n goBackTo: 'Natrag na',\n goToPreviousPage: 'Prethodna stranica',\n goToNextPage: 'Sljedeća stranica',\n noPreviousPage: 'Nema prethodne stranice',\n noNextPage: 'Nema sljedeće stranice',\n cookieConsent: 'Pristanak na kolačiće',\n cookieDescription: 'Koristimo kolačiće radi boljeg iskustva.',\n cookieLearnMore: 'Saznaj više',\n accept: 'Prihvati',\n decline: 'Odbij',\n goToHomePage: 'Idi na početnu',\n home: 'Početna',\n linkCopied: 'Poveznica kopirana!',\n copyLinkToSection: 'Kopiraj poveznicu na odjeljak',\n search: 'Pretraži',\n searchPlaceholder: 'Pretraži',\n closeBanner: 'Zatvori banner',\n fallbackLocaleWarning:\n 'Ovaj sadržaj prikazan je na {fallbackLocaleName} jer nije dostupan na {requestedLocaleName}.',\n };\n\nconst hu: ThemeTranslations = {\n copyPage: 'Oldal másolása',\n copied: 'Másolva!',\n openInChatGPT: 'Megnyitás a ChatGPT-ben',\n openInClaude: 'Megnyitás a Claude-ban',\n askAboutThisPage: 'Kérdezzen erről az oldalról a ChatGPT-ben',\n copyPageDescription: 'Oldal másolása Markdownként LLM-ekhez',\n askQuestionsDescription: 'Kérdések feltevése erről az oldalról',\n chatGPTPrefix: 'Ez az oldal innen származik',\n tableOfContents: 'Tartalomjegyzék',\n contributors: 'Közreműködők',\n goToDocsHome: 'Ugrás a dokumentáció kezdőlapjára',\n goBackTo: 'Vissza ide',\n goToPreviousPage: 'Előző oldal',\n goToNextPage: 'Következő oldal',\n noPreviousPage: 'Nincs előző oldal',\n noNextPage: 'Nincs következő oldal',\n cookieConsent: 'Süti hozzájárulás',\n cookieDescription: 'Sütiket használunk a jobb élményért.',\n cookieLearnMore: 'Tudjon meg többet',\n accept: 'Elfogadom',\n decline: 'Elutasítom',\n goToHomePage: 'Ugrás a kezdőlapra',\n home: 'Kezdőlap',\n linkCopied: 'Link másolva!',\n copyLinkToSection: 'Link másolása a szakaszhoz',\n search: 'Keresés',\n searchPlaceholder: 'Keresés',\n closeBanner: 'Banner bezárása',\n fallbackLocaleWarning:\n 'A tartalom {fallbackLocaleName} nyelven jelenik meg, mert {requestedLocaleName} nyelven nem érhető el.',\n };\n\nconst hy: ThemeTranslations = {\n copyPage: 'Պատճենել էջը',\n copied: 'Պատճենվեց!',\n openInChatGPT: 'Բացել ChatGPT-ում',\n openInClaude: 'Բացել Claude-ում',\n askAboutThisPage: 'Հարցրեք այս էջի մասին ChatGPT-ում',\n copyPageDescription: 'Պատճենել էջը Markdown LLM-ների համար',\n askQuestionsDescription: 'Հարցեր այս էջի մասին',\n chatGPTPrefix: 'Այս էջը',\n tableOfContents: 'Բովանդակություն',\n contributors: 'Ներդրողներ',\n goToDocsHome: 'Գնալ փաստաթղթավորման գլխավոր էջ',\n goBackTo: 'Վերադառնալ',\n goToPreviousPage: 'Նախորդ էջ',\n goToNextPage: 'Հաջորդ էջ',\n noPreviousPage: 'Նախորդ էջ չկա',\n noNextPage: 'Հաջորդ էջ չկա',\n cookieConsent: 'Cookie համաձայնություն',\n cookieDescription: 'Մենք օգտագործում ենք cookie-ներ ձեր փորձը բարելավելու համար.',\n cookieLearnMore: 'Իմանալ ավելին',\n accept: 'Ընդունել',\n decline: 'Մերժել',\n goToHomePage: 'Գնալ գլխավոր էջ',\n home: 'Գլխավոր',\n linkCopied: 'Հղումը պատճենվեց!',\n copyLinkToSection: 'Պատճենել հղումը բաժին',\n search: 'Որոնում',\n searchPlaceholder: 'Որոնում',\n closeBanner: 'Փակել բանները',\n fallbackLocaleWarning:\n 'Այս բովանդակությունը ցուցադրվում է {fallbackLocaleName}ով, քանի որ հասանելի չէ {requestedLocaleName}ով:',\n };\n\nconst is: ThemeTranslations = {\n copyPage: 'Afrita síðu',\n copied: 'Afritað!',\n openInChatGPT: 'Opna í ChatGPT',\n openInClaude: 'Opna í Claude',\n askAboutThisPage: 'Spyrja um þessa síðu í ChatGPT',\n copyPageDescription: 'Afrita síðu sem Markdown fyrir LLM',\n askQuestionsDescription: 'Spyrja spurninga um þessa síðu',\n chatGPTPrefix: 'Þessi síða kemur frá',\n tableOfContents: 'Efnisyfirlit',\n contributors: 'Þátttakendur',\n goToDocsHome: 'Fara á heimasíðu skjölunar',\n goBackTo: 'Til baka í',\n goToPreviousPage: 'Fyrri síða',\n goToNextPage: 'Næsta síða',\n noPreviousPage: 'Engin fyrri síða',\n noNextPage: 'Engin næsta síða',\n cookieConsent: 'Vafrakökusamþykki',\n cookieDescription: 'Við notum vafrakökur til að bæta upplifun þína.',\n cookieLearnMore: 'Frekari upplýsingar',\n accept: 'Samþykkja',\n decline: 'Hafna',\n goToHomePage: 'Fara á forsíðu',\n home: 'Heim',\n linkCopied: 'Tengill afritaður!',\n copyLinkToSection: 'Afrita tengil í kafla',\n search: 'Leita',\n searchPlaceholder: 'Leita',\n closeBanner: 'Loka borða',\n fallbackLocaleWarning:\n 'Þetta efni er sýnt á {fallbackLocaleName} því það er ekki tiltækt á {requestedLocaleName}.',\n };\n\nconst ka: ThemeTranslations = {\n copyPage: 'გვერდის კოპირება',\n copied: 'კოპირებულია!',\n openInChatGPT: 'გახსნა ChatGPT-ში',\n openInClaude: 'გახსნა Claude-ში',\n askAboutThisPage: 'კითხვა ამ გვერდზე ChatGPT-ში',\n copyPageDescription: 'გვერდის კოპირება Markdown-ად LLM-ებისთვის',\n askQuestionsDescription: 'კითხვები ამ გვერდის შესახებ',\n chatGPTPrefix: 'ეს გვერდი',\n tableOfContents: 'სარჩევი',\n contributors: 'მონაწილეები',\n goToDocsHome: 'დოკუმენტაციის მთავარ გვერდზე',\n goBackTo: 'უკან',\n goToPreviousPage: 'წინა გვერდი',\n goToNextPage: 'შემდეგი გვერდი',\n noPreviousPage: 'წინა გვერდი არ არის',\n noNextPage: 'შემდეგი გვერდი არ არის',\n cookieConsent: 'ქუქი-ფაილების თანხმობა',\n cookieDescription: 'ჩვენ ვიყენებთ ქუქი-ფაილებს გამოცდილების გასაუმჯობესებლად.',\n cookieLearnMore: 'შეიტყვეთ მეტი',\n accept: 'დათანხმება',\n decline: 'უარი',\n goToHomePage: 'მთავარ გვერდზე',\n home: 'მთავარი',\n linkCopied: 'ბმული კოპირებულია!',\n copyLinkToSection: 'ბმულის კოპირება სექციაში',\n search: 'ძიება',\n searchPlaceholder: 'ძიება',\n closeBanner: 'ბანერის დახურვა',\n fallbackLocaleWarning:\n 'კონტენტი ნაჩვენებია {fallbackLocaleName}-ში, რადგან {requestedLocaleName}-ში არ არის ხელმისაწვდომი.',\n };\n\nconst kk: ThemeTranslations = {\n copyPage: 'Бетті көшіру',\n copied: 'Көшірілді!',\n openInChatGPT: 'ChatGPT-та ашу',\n openInClaude: 'Claude-та ашу',\n askAboutThisPage: 'Осы бет туралы ChatGPT-та сұраңыз',\n copyPageDescription: 'Бетті LLM үшін Markdown ретінде көшіру',\n askQuestionsDescription: 'Осы бет туралы сұрақтар қойыңыз',\n chatGPTPrefix: 'Бұл бет',\n tableOfContents: 'Мазмұны',\n contributors: 'Үлес қосушылар',\n goToDocsHome: 'Құжаттама басты бетіне өту',\n goBackTo: 'Артқа',\n goToPreviousPage: 'Алдыңғы бет',\n goToNextPage: 'Келесі бет',\n noPreviousPage: 'Алдыңғы бет жоқ',\n noNextPage: 'Келесі бет жоқ',\n cookieConsent: 'Cookie келісімі',\n cookieDescription: 'Тәжірибеңізді жақсарту үшін cookie қолданамыз.',\n cookieLearnMore: 'Толығырақ',\n accept: 'Қабылдау',\n decline: 'Бас тарту',\n goToHomePage: 'Басты бетке өту',\n home: 'Басты бет',\n linkCopied: 'Сілтеме көшірілді!',\n copyLinkToSection: 'Бөлікке сілтемені көшіру',\n search: 'Іздеу',\n searchPlaceholder: 'Іздеу',\n closeBanner: 'Баннерді жабу',\n fallbackLocaleWarning:\n 'Мазмұн {fallbackLocaleName} көрсетіледі, себебі {requestedLocaleName} қолжетімді емес.',\n };\n\nconst km: ThemeTranslations = {\n copyPage: 'ចម្លងទំព័រ',\n copied: 'បានចម្លង!',\n openInChatGPT: 'បើកនៅក្នុង ChatGPT',\n openInClaude: 'បើកនៅក្នុង Claude',\n askAboutThisPage: 'សួរអំពីទំព័រនេះនៅក្នុង ChatGPT',\n copyPageDescription: 'ចម្លងទំព័រជា Markdown សម្រាប់ LLM',\n askQuestionsDescription: 'សួរសំណួរអំពីទំព័រនេះ',\n chatGPTPrefix: 'ទំព័រនេះមកពី',\n tableOfContents: 'មាតិកា',\n contributors: 'អ្នករួមចំណែក',\n goToDocsHome: 'ទៅទំព័រដើមឯកសារ',\n goBackTo: 'ត្រឡប់ទៅ',\n goToPreviousPage: 'ទំព័រមុន',\n goToNextPage: 'ទំព័របន្ទាប់',\n noPreviousPage: 'គ្មានទំព័រមុន',\n noNextPage: 'គ្មានទំព័របន្ទាប់',\n cookieConsent: 'ការយល់ព្រមខូគី',\n cookieDescription: 'យើងប្រើខូគីដើម្បីកែលម្អបទពិសោធរបស់អ្នក។',\n cookieLearnMore: 'ស្វែងយល់បន្ថែម',\n accept: 'ទទួលយក',\n decline: 'បដិសេធ',\n goToHomePage: 'ទៅទំព័រដើម',\n home: 'ដើម',\n linkCopied: 'បានចម្លងតំណ!',\n copyLinkToSection: 'ចម្លងតំណទៅផ្នែក',\n search: 'ស្វែងរក',\n searchPlaceholder: 'ស្វែងរក',\n closeBanner: 'បិទបដា',\n fallbackLocaleWarning:\n 'មាតិកានេះបង្ហាញជា {fallbackLocaleName} ពីព្រោះមិនមាននៅ {requestedLocaleName}។',\n };\n\nconst kn: ThemeTranslations = {\n copyPage: 'ಪುಟವನ್ನು ನಕಲಿಸಿ',\n copied: 'ನಕಲಿಸಲಾಗಿದೆ!',\n openInChatGPT: 'ChatGPT ನಲ್ಲಿ ತೆರೆಯಿರಿ',\n openInClaude: 'Claude ನಲ್ಲಿ ತೆರೆಯಿರಿ',\n askAboutThisPage: 'ChatGPT ನಲ್ಲಿ ಈ ಪುಟದ ಬಗ್ಗೆ ಕೇಳಿ',\n copyPageDescription: 'LLM ಗಳಿಗಾಗಿ ಪುಟವನ್ನು Markdown ಆಗಿ ನಕಲಿಸಿ',\n askQuestionsDescription: 'ಈ ಪುಟದ ಬಗ್ಗೆ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿ',\n chatGPTPrefix: 'ಈ ಪುಟ',\n tableOfContents: 'ವಿಷಯಸೂಚಿ',\n contributors: 'ಕೊಡುಗೆದಾರರು',\n goToDocsHome: 'ದಸ್ತಾವೇಜು ಮುಖಪುಟಕ್ಕೆ ಹೋಗಿ',\n goBackTo: 'ಹಿಂದೆ ಹೋಗಿ',\n goToPreviousPage: 'ಹಿಂದಿನ ಪುಟ',\n goToNextPage: 'ಮುಂದಿನ ಪುಟ',\n noPreviousPage: 'ಹಿಂದಿನ ಪುಟವಿಲ್ಲ',\n noNextPage: 'ಮುಂದಿನ ಪುಟವಿಲ್ಲ',\n cookieConsent: 'ಕುಕ್ಕಿ ಒಪ್ಪಿಗೆ',\n cookieDescription: 'ನಿಮ್ಮ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು ನಾವು ಕುಕ್ಕಿಗಳನ್ನು ಬಳಸುತ್ತೇವೆ.',\n cookieLearnMore: 'ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ',\n accept: 'ಸ್ವೀಕರಿಸಿ',\n decline: 'ನಿರಾಕರಿಸಿ',\n goToHomePage: 'ಮುಖಪುಟಕ್ಕೆ ಹೋಗಿ',\n home: 'ಮುಖಪುಟ',\n linkCopied: 'ಲಿಂಕ್ ನಕಲಿಸಲಾಗಿದೆ!',\n copyLinkToSection: 'ವಿಭಾಗಕ್ಕೆ ಲಿಂಕ್ ನಕಲಿಸಿ',\n search: 'ಹುಡುಕಿ',\n searchPlaceholder: 'ಹುಡುಕಿ',\n closeBanner: 'ಬ್ಯಾನರ್ ಮುಚ್ಚಿ',\n fallbackLocaleWarning:\n 'ಈ ವಿಷಯವನ್ನು {fallbackLocaleName} ನಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ ಏಕೆಂದರೆ {requestedLocaleName} ನಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ.',\n };\n\nconst lt: ThemeTranslations = {\n copyPage: 'Kopijuoti puslapį',\n copied: 'Nukopijuota!',\n openInChatGPT: 'Atidaryti ChatGPT',\n openInClaude: 'Atidaryti Claude',\n askAboutThisPage: 'Klauskite apie šį puslapį ChatGPT',\n copyPageDescription: 'Kopijuoti puslapį kaip Markdown LLM',\n askQuestionsDescription: 'Klauskite apie šį puslapį',\n chatGPTPrefix: 'Šis puslapis iš',\n tableOfContents: 'Turinys',\n contributors: 'Autoriai',\n goToDocsHome: 'Į dokumentacijos pradžią',\n goBackTo: 'Atgal į',\n goToPreviousPage: 'Ankstesnis puslapis',\n goToNextPage: 'Kitas puslapis',\n noPreviousPage: 'Nėra ankstesnio puslapio',\n noNextPage: 'Nėra kito puslapio',\n cookieConsent: 'Slapukų sutikimas',\n cookieDescription: 'Naudojame slapukus, kad pagerintume jūsų patirtį.',\n cookieLearnMore: 'Sužinoti daugiau',\n accept: 'Priimti',\n decline: 'Atmesti',\n goToHomePage: 'Į pradžios puslapį',\n home: 'Pradžia',\n linkCopied: 'Nuoroda nukopijuota!',\n copyLinkToSection: 'Kopijuoti nuorodą į skyrių',\n search: 'Ieškoti',\n searchPlaceholder: 'Ieškoti',\n closeBanner: 'Uždaryti juostą',\n fallbackLocaleWarning:\n 'Turinys rodomas {fallbackLocaleName}, nes nepasiekiamas {requestedLocaleName}.',\n };\n\nconst lv: ThemeTranslations = {\n copyPage: 'Kopēt lapu',\n copied: 'Nokopēts!',\n openInChatGPT: 'Atvērt ChatGPT',\n openInClaude: 'Atvērt Claude',\n askAboutThisPage: 'Jautājiet par šo lapu ChatGPT',\n copyPageDescription: 'Kopēt lapu kā Markdown LLM',\n askQuestionsDescription: 'Uzdodiet jautājumus par šo lapu',\n chatGPTPrefix: 'Šī lapa no',\n tableOfContents: 'Saturs',\n contributors: 'Līdzautori',\n goToDocsHome: 'Uz dokumentācijas sākumu',\n goBackTo: 'Atpakaļ uz',\n goToPreviousPage: 'Iepriekšējā lapa',\n goToNextPage: 'Nākamā lapa',\n noPreviousPage: 'Nav iepriekšējās lapas',\n noNextPage: 'Nav nākamās lapas',\n cookieConsent: 'Sīkdatņu piekrišana',\n cookieDescription: 'Mēs izmantojam sīkdatnes, lai uzlabotu jūsu pieredzi.',\n cookieLearnMore: 'Uzzināt vairāk',\n accept: 'Pieņemt',\n decline: 'Noraidīt',\n goToHomePage: 'Uz sākumlapu',\n home: 'Sākums',\n linkCopied: 'Saite nokopēta!',\n copyLinkToSection: 'Kopēt saiti uz sadaļu',\n search: 'Meklēt',\n searchPlaceholder: 'Meklēt',\n closeBanner: 'Aizvērt reklāmkarogu',\n fallbackLocaleWarning:\n 'Saturs tiek rādīts {fallbackLocaleName}, jo nav pieejams {requestedLocaleName}.',\n };\n\nconst mk: ThemeTranslations = {\n copyPage: 'Копирај страница',\n copied: 'Копирано!',\n openInChatGPT: 'Отвори во ChatGPT',\n openInClaude: 'Отвори во Claude',\n askAboutThisPage: 'Прашај за оваа страница во ChatGPT',\n copyPageDescription: 'Копирај страница како Markdown за LLM',\n askQuestionsDescription: 'Постави прашања за оваа страница',\n chatGPTPrefix: 'Оваа страница е од',\n tableOfContents: 'Содржина',\n contributors: 'Соработници',\n goToDocsHome: 'Оди на почеток на документацијата',\n goBackTo: 'Назад кон',\n goToPreviousPage: 'Претходна страница',\n goToNextPage: 'Следна страница',\n noPreviousPage: 'Нема претходна страница',\n noNextPage: 'Нема следна страница',\n cookieConsent: 'Согласност за колачиња',\n cookieDescription: 'Користиме колачиња за подобро искуство.',\n cookieLearnMore: 'Дознај повеќе',\n accept: 'Прифати',\n decline: 'Одбиј',\n goToHomePage: 'Оди на почетна',\n home: 'Почетна',\n linkCopied: 'Линкот е копиран!',\n copyLinkToSection: 'Копирај линк до оддел',\n search: 'Пребарај',\n searchPlaceholder: 'Пребарај',\n closeBanner: 'Затвори банер',\n fallbackLocaleWarning:\n 'Содржината е прикажана на {fallbackLocaleName} бидејќи не е достапна на {requestedLocaleName}.',\n };\n\nconst ml: ThemeTranslations = {\n copyPage: 'പേജ് പകർത്തുക',\n copied: 'പകർത്തി!',\n openInChatGPT: 'ChatGPT-ൽ തുറക്കുക',\n openInClaude: 'Claude-ൽ തുറക്കുക',\n askAboutThisPage: 'ChatGPT-ൽ ഈ പേജിനെക്കുറിച്ച് ചോദിക്കുക',\n copyPageDescription: 'LLM-കൾക്കായി പേജ് Markdown ആയി പകർത്തുക',\n askQuestionsDescription: 'ഈ പേജിനെക്കുറിച്ച് ചോദ്യങ്ങൾ ചോദിക്കുക',\n chatGPTPrefix: 'ഈ പേജ്',\n tableOfContents: 'ഉള്ളടക്ക പട്ടിക',\n contributors: 'സംഭാവകർ',\n goToDocsHome: 'ഡോക്യുമെന്റേഷൻ ഹോമിലേക്ക്',\n goBackTo: 'തിരികെ',\n goToPreviousPage: 'മുമ്പത്തെ പേജ്',\n goToNextPage: 'അടുത്ത പേജ്',\n noPreviousPage: 'മുമ്പത്തെ പേജ് ഇല്ല',\n noNextPage: 'അടുത്ത പേജ് ഇല്ല',\n cookieConsent: 'കുക്കി സമ്മതം',\n cookieDescription: 'നിങ്ങളുടെ അനുഭവം മെച്ചപ്പെടുത്താൻ ഞങ്ങൾ കുക്കികൾ ഉപയോഗിക്കുന്നു.',\n cookieLearnMore: 'കൂടുതലറിയുക',\n accept: 'സ്വീകരിക്കുക',\n decline: 'നിരസിക്കുക',\n goToHomePage: 'ഹോം പേജിലേക്ക്',\n home: 'ഹോം',\n linkCopied: 'ലിങ്ക് പകർത്തി!',\n copyLinkToSection: 'വിഭാഗത്തിലേക്കുള്ള ലിങ്ക് പകർത്തുക',\n search: 'തിരയുക',\n searchPlaceholder: 'തിരയുക',\n closeBanner: 'ബാനർ അടയ്ക്കുക',\n fallbackLocaleWarning:\n 'ഈ ഉള്ളടക്കം {fallbackLocaleName} ൽ കാണിക്കുന്നു കാരണം {requestedLocaleName} ൽ ലഭ്യമല്ല.',\n };\n\nconst mr: ThemeTranslations = {\n copyPage: 'पृष्ठ कॉपी करा',\n copied: 'कॉपी झाले!',\n openInChatGPT: 'ChatGPT मध्ये उघडा',\n openInClaude: 'Claude मध्ये उघडा',\n askAboutThisPage: 'ChatGPT मध्ये या पृष्ठाबद्दल विचारा',\n copyPageDescription: 'LLM साठी पृष्ठ Markdown म्हणून कॉपी करा',\n askQuestionsDescription: 'या पृष्ठाबद्दल प्रश्न विचारा',\n chatGPTPrefix: 'हे पृष्ठ',\n tableOfContents: 'विषयसूची',\n contributors: 'योगदानकर्ते',\n goToDocsHome: 'दस्तऐवजी मुख्यपृष्ठावर जा',\n goBackTo: 'परत जा',\n goToPreviousPage: 'मागील पृष्ठ',\n goToNextPage: 'पुढील पृष्ठ',\n noPreviousPage: 'मागील पृष्ठ नाही',\n noNextPage: 'पुढील पृष्ठ नाही',\n cookieConsent: 'कुकी संमती',\n cookieDescription: 'आम्ही तुमचा अनुभव सुधारण्यासाठी कुकीज वापरतो.',\n cookieLearnMore: 'अधिक जाणून घ्या',\n accept: 'स्वीकारा',\n decline: 'नकार द्या',\n goToHomePage: 'मुख्यपृष्ठावर जा',\n home: 'मुख्यपृष्ठ',\n linkCopied: 'दुवा कॉपी झाला!',\n copyLinkToSection: 'विभागाचा दुवा कॉपी करा',\n search: 'शोधा',\n searchPlaceholder: 'शोधा',\n closeBanner: 'बॅनर बंद करा',\n fallbackLocaleWarning:\n 'ही सामग्री {fallbackLocaleName} मध्ये दाखवली आहे कारण {requestedLocaleName} मध्ये उपलब्ध नाही.',\n };\n\nconst ms: ThemeTranslations = {\n copyPage: 'Salin halaman',\n copied: 'Disalin!',\n openInChatGPT: 'Buka dalam ChatGPT',\n openInClaude: 'Buka dalam Claude',\n askAboutThisPage: 'Tanya tentang halaman ini dalam ChatGPT',\n copyPageDescription: 'Salin halaman sebagai Markdown untuk LLM',\n askQuestionsDescription: 'Ajukan soalan tentang halaman ini',\n chatGPTPrefix: 'Halaman ini dari',\n tableOfContents: 'Kandungan',\n contributors: 'Penyumbang',\n goToDocsHome: 'Ke laman utama dokumentasi',\n goBackTo: 'Kembali ke',\n goToPreviousPage: 'Halaman sebelumnya',\n goToNextPage: 'Halaman seterusnya',\n noPreviousPage: 'Tiada halaman sebelumnya',\n noNextPage: 'Tiada halaman seterusnya',\n cookieConsent: 'Persetujuan kuki',\n cookieDescription: 'Kami menggunakan kuki untuk meningkatkan pengalaman anda.',\n cookieLearnMore: 'Ketahui lebih lanjut',\n accept: 'Terima',\n decline: 'Tolak',\n goToHomePage: 'Ke laman utama',\n home: 'Utama',\n linkCopied: 'Pautan disalin!',\n copyLinkToSection: 'Salin pautan ke bahagian',\n search: 'Cari',\n searchPlaceholder: 'Cari',\n closeBanner: 'Tutup sepanduk',\n fallbackLocaleWarning:\n 'Kandungan ini dipaparkan dalam {fallbackLocaleName} kerana tidak tersedia dalam {requestedLocaleName}.',\n };\n\nconst mt: ThemeTranslations = {\n copyPage: 'Ikkopja l-paġna',\n copied: 'Ikkopjat!',\n openInChatGPT: 'Iftaħ f’ChatGPT',\n openInClaude: 'Iftaħ f’Claude',\n askAboutThisPage: 'Staqsi dwar din il-paġna f’ChatGPT',\n copyPageDescription: 'Ikkopja l-paġna bħala Markdown għall-LLM',\n askQuestionsDescription: 'Staqsi mistoqsijiet dwar din il-paġna',\n chatGPTPrefix: 'Din il-paġna minn',\n tableOfContents: 'Indiċi',\n contributors: 'Kontributuri',\n goToDocsHome: 'Mur għad-dokumentazzjoni prinċipali',\n goBackTo: 'Lura għal',\n goToPreviousPage: 'Paġna ta’ qabel',\n goToNextPage: 'Paġna li jmiss',\n noPreviousPage: 'M’hemm l-ebda paġna ta’ qabel',\n noNextPage: 'M’hemm l-ebda paġna li jmiss',\n cookieConsent: 'Kunsens tal-cookies',\n cookieDescription: 'Nużaw cookies biex intejbu l-esperjenza tiegħek.',\n cookieLearnMore: 'Sir af aktar',\n accept: 'Aċċetta',\n decline: 'Irrifjuta',\n goToHomePage: 'Mur għall-paġna prinċipali',\n home: 'Prinċipali',\n linkCopied: 'Il-link ikkopjat!',\n copyLinkToSection: 'Ikkopja l-link għas-sezzjoni',\n search: 'Fittex',\n searchPlaceholder: 'Fittex',\n closeBanner: 'Agħlaq il-banner',\n fallbackLocaleWarning:\n 'Dan il-kontenut jintwera f’{fallbackLocaleName} għax mhux disponibbli f’{requestedLocaleName}.',\n };\n\nconst my: ThemeTranslations = {\n copyPage: 'စာမျက်နှာကို ကူးယူရန်',\n copied: 'ကူးယူပြီးပါပြီ!',\n openInChatGPT: 'ChatGPT တွင် ဖွင့်ရန်',\n openInClaude: 'Claude တွင် ဖွင့်ရန်',\n askAboutThisPage: 'ChatGPT တွင် ဤစာမျက်နှာအကြောင်း မေးရန်',\n copyPageDescription: 'LLM များအတွက် စာမျက်နှာကို Markdown အဖြစ် ကူးယူရန်',\n askQuestionsDescription: 'ဤစာမျက်နှာအကြောင်း မေးခွန်းများ မေးရန်',\n chatGPTPrefix: 'ဤစာမျက်နှာသည်',\n tableOfContents: 'မာတိကာ',\n contributors: 'ပံ့ပိုးပေးသူများ',\n goToDocsHome: 'စာရွက်စာတမ်း ပင်မသို့ သွားရန်',\n goBackTo: 'ပြန်သွားရန်',\n goToPreviousPage: 'ယခင်စာမျက်နှာ',\n goToNextPage: 'နောက်စာမျက်နှာ',\n noPreviousPage: 'ယခင်စာမျက်နှာ မရှိပါ',\n noNextPage: 'နောက်စာမျက်နှာ မရှိပါ',\n cookieConsent: 'ကွတ်ကီး သဘောတူညီချက်',\n cookieDescription: 'သင့်အတွေ့အကြုံကို တိုးတက်စေရန် ကွတ်ကီးများ အသုံးပြုပါသည်။',\n cookieLearnMore: 'ပိုမိုလေ့လာရန်',\n accept: 'လက်ခံမည်',\n decline: 'ငြင်းပယ်မည်',\n goToHomePage: 'ပင်မစာမျက်နှာသို့ သွားရန်',\n home: 'ပင်မ',\n linkCopied: 'လင့်ခ် ကူးယူပြီးပါပြီ!',\n copyLinkToSection: 'အပိုင်းသို့ လင့်ခ် ကူးယူရန်',\n search: 'ရှာဖွေရန်',\n searchPlaceholder: 'ရှာဖွေရန်',\n closeBanner: 'ဘန်နာပိတ်ရန်',\n fallbackLocaleWarning:\n 'ဤအကြောင်းအရာကို {fallbackLocaleName} ဖြင့် ပြသထားသည် ဘာဖြစ်လို့လဲဆိုတော့ {requestedLocaleName} တွင် မရရှိနိုင်သောကြောင့် ဖြစ်သည်။',\n };\n\nconst ne: ThemeTranslations = {\n copyPage: 'पृष्ठ प्रतिलिपि गर्नुहोस्',\n copied: 'प्रतिलिपि भयो!',\n openInChatGPT: 'ChatGPT मा खोल्नुहोस्',\n openInClaude: 'Claude मा खोल्नुहोस्',\n askAboutThisPage: 'ChatGPT मा यो पृष्ठबारे सोध्नुहोस्',\n copyPageDescription: 'LLM का लागि पृष्ठ Markdown को रूपमा प्रतिलिपि गर्नुहोस्',\n askQuestionsDescription: 'यो पृष्ठबारे प्रश्न सोध्नुहोस्',\n chatGPTPrefix: 'यो पृष्ठ',\n tableOfContents: 'विषयसूची',\n contributors: 'योगदानकर्ताहरू',\n goToDocsHome: 'कागजात गृहमा जानुहोस्',\n goBackTo: 'फर्कनुहोस्',\n goToPreviousPage: 'अघिल्लो पृष्ठ',\n goToNextPage: 'अर्को पृष्ठ',\n noPreviousPage: 'अघिल्लो पृष्ठ छैन',\n noNextPage: 'अर्को पृष्ठ छैन',\n cookieConsent: 'कुकी सहमति',\n cookieDescription: 'हामी तपाईंको अनुभव सुधार्न कुकी प्रयोग गर्छौं।',\n cookieLearnMore: 'थप जान्नुहोस्',\n accept: 'स्वीकार गर्नुहोस्',\n decline: 'अस्वीकार गर्नुहोस्',\n goToHomePage: 'गृह पृष्ठमा जानुहोस्',\n home: 'गृह',\n linkCopied: 'लिंक प्रतिलिपि भयो!',\n copyLinkToSection: 'खण्डमा लिंक प्रतिलिपि गर्नुहोस्',\n search: 'खोज्नुहोस्',\n searchPlaceholder: 'खोज्नुहोस्',\n closeBanner: 'ब्यानर बन्द गर्नुहोस्',\n fallbackLocaleWarning:\n 'यो सामग्री {fallbackLocaleName} मा देखाइन्छ किनभने {requestedLocaleName} मा उपलब्ध छैन।',\n };\n\nconst pa: ThemeTranslations = {\n copyPage: 'ਪੰਨਾ ਕਾਪੀ ਕਰੋ',\n copied: 'ਕਾਪੀ ਹੋ ਗਿਆ!',\n openInChatGPT: 'ChatGPT ਵਿੱਚ ਖੋਲ੍ਹੋ',\n openInClaude: 'Claude ਵਿੱਚ ਖੋਲ੍ਹੋ',\n askAboutThisPage: 'ChatGPT ਵਿੱਚ ਇਸ ਪੰਨੇ ਬਾਰੇ ਪੁੱਛੋ',\n copyPageDescription: 'LLM ਲਈ ਪੰਨੇ ਨੂੰ Markdown ਵਜੋਂ ਕਾਪੀ ਕਰੋ',\n askQuestionsDescription: 'ਇਸ ਪੰਨੇ ਬਾਰੇ ਸਵਾਲ ਪੁੱਛੋ',\n chatGPTPrefix: 'ਇਹ ਪੰਨਾ',\n tableOfContents: 'ਵਿਸ਼ਾ ਸੂਚੀ',\n contributors: 'ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲੇ',\n goToDocsHome: 'ਦਸਤਾਵੇਜ਼ ਮੁੱਖ ਪੰਨੇ \\'ਤੇ ਜਾਓ',\n goBackTo: 'ਵਾਪਸ ਜਾਓ',\n goToPreviousPage: 'ਪਿਛਲਾ ਪੰਨਾ',\n goToNextPage: 'ਅਗਲਾ ਪੰਨਾ',\n noPreviousPage: 'ਕੋਈ ਪਿਛਲਾ ਪੰਨਾ ਨਹੀਂ',\n noNextPage: 'ਕੋਈ ਅਗਲਾ ਪੰਨਾ ਨਹੀਂ',\n cookieConsent: 'ਕੂਕੀ ਸਹਿਮਤੀ',\n cookieDescription: 'ਅਸੀਂ ਤੁਹਾਡੇ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੂਕੀਜ਼ ਵਰਤਦੇ ਹਾਂ।',\n cookieLearnMore: 'ਹੋਰ ਜਾਣੋ',\n accept: 'ਸਵੀਕਾਰ ਕਰੋ',\n decline: 'ਅਸਵੀਕਾਰ ਕਰੋ',\n goToHomePage: 'ਮੁੱਖ ਪੰਨੇ \\'ਤੇ ਜਾਓ',\n home: 'ਮੁੱਖ',\n linkCopied: 'ਲਿੰਕ ਕਾਪੀ ਹੋ ਗਿਆ!',\n copyLinkToSection: 'ਭਾਗ ਲਈ ਲਿੰਕ ਕਾਪੀ ਕਰੋ',\n search: 'ਖੋਜੋ',\n searchPlaceholder: 'ਖੋਜੋ',\n closeBanner: 'ਬੈਨਰ ਬੰਦ ਕਰੋ',\n fallbackLocaleWarning:\n 'ਇਹ ਸਮੱਗਰੀ {fallbackLocaleName} ਵਿੱਚ ਦਿਖਾਈ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ {requestedLocaleName} ਵਿੱਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।',\n };\n\nconst ro: ThemeTranslations = {\n copyPage: 'Copiază pagina',\n copied: 'Copiat!',\n openInChatGPT: 'Deschide în ChatGPT',\n openInClaude: 'Deschide în Claude',\n askAboutThisPage: 'Întreabă despre această pagină în ChatGPT',\n copyPageDescription: 'Copiază pagina ca Markdown pentru LLM',\n askQuestionsDescription: 'Pune întrebări despre această pagină',\n chatGPTPrefix: 'Această pagină provine de la',\n tableOfContents: 'Cuprins',\n contributors: 'Contribuitori',\n goToDocsHome: 'Mergi la documentația principală',\n goBackTo: 'Înapoi la',\n goToPreviousPage: 'Pagina anterioară',\n goToNextPage: 'Pagina următoare',\n noPreviousPage: 'Nu există pagină anterioară',\n noNextPage: 'Nu există pagină următoare',\n cookieConsent: 'Consimțământ cookie',\n cookieDescription: 'Folosim cookie-uri pentru a îmbunătăți experiența ta.',\n cookieLearnMore: 'Află mai multe',\n accept: 'Acceptă',\n decline: 'Refuză',\n goToHomePage: 'Mergi la pagina principală',\n home: 'Acasă',\n linkCopied: 'Link copiat!',\n copyLinkToSection: 'Copiază linkul către secțiune',\n search: 'Caută',\n searchPlaceholder: 'Caută',\n closeBanner: 'Închide bannerul',\n fallbackLocaleWarning:\n 'Acest conținut este afișat în {fallbackLocaleName} deoarece nu este disponibil în {requestedLocaleName}.',\n };\n\nconst si: ThemeTranslations = {\n copyPage: 'පිටුව පිටපත් කරන්න',\n copied: 'පිටපත් විය!',\n openInChatGPT: 'ChatGPT හි විවෘත කරන්න',\n openInClaude: 'Claude හි විවෘත කරන්න',\n askAboutThisPage: 'ChatGPT හි මෙම පිටුව ගැන අසන්න',\n copyPageDescription: 'LLM සඳහා පිටුව Markdown ලෙස පිටපත් කරන්න',\n askQuestionsDescription: 'මෙම පිටුව ගැන ප්‍රශ්න අසන්න',\n chatGPTPrefix: 'මෙම පිටුව',\n tableOfContents: 'පටුන',\n contributors: 'දායකයින්',\n goToDocsHome: 'ලේඛන මුල් පිටුවට යන්න',\n goBackTo: 'ආපසු යන්න',\n goToPreviousPage: 'පෙර පිටුව',\n goToNextPage: 'ඊළඟ පිටුව',\n noPreviousPage: 'පෙර පිටුවක් නැත',\n noNextPage: 'ඊළඟ පිටුවක් නැත',\n cookieConsent: 'කුකී එකඟතාව',\n cookieDescription: 'ඔබේ අත්දැකීම වැඩිදියුණු කිරීමට අපි කුකී භාවිත කරමු.',\n cookieLearnMore: 'තව දැනගන්න',\n accept: 'පිළිගන්න',\n decline: 'ප්‍රතික්ෂේප කරන්න',\n goToHomePage: 'මුල් පිටුවට යන්න',\n home: 'මුල්',\n linkCopied: 'සබැඳිය පිටපත් විය!',\n copyLinkToSection: 'කොටසට සබැඳිය පිටපත් කරන්න',\n search: 'සොයන්න',\n searchPlaceholder: 'සොයන්න',\n closeBanner: 'බැනරය වසන්න',\n fallbackLocaleWarning:\n 'මෙම අන්තර්ගතය {fallbackLocaleName} හි පෙන්වයි මන්ද {requestedLocaleName} හි ලබා ගත නොහැකි බැවිනි.',\n };\n\nconst sk: ThemeTranslations = {\n copyPage: 'Kopírovať stránku',\n copied: 'Skopírované!',\n openInChatGPT: 'Otvoriť v ChatGPT',\n openInClaude: 'Otvoriť v Claude',\n askAboutThisPage: 'Opýtať sa na túto stránku v ChatGPT',\n copyPageDescription: 'Kopírovať stránku ako Markdown pre LLM',\n askQuestionsDescription: 'Klásť otázky o tejto stránke',\n chatGPTPrefix: 'Táto stránka je z',\n tableOfContents: 'Obsah',\n contributors: 'Prispievatelia',\n goToDocsHome: 'Prejsť na domovskú stránku dokumentácie',\n goBackTo: 'Späť na',\n goToPreviousPage: 'Predchádzajúca stránka',\n goToNextPage: 'Ďalšia stránka',\n noPreviousPage: 'Žiadna predchádzajúca stránka',\n noNextPage: 'Žiadna ďalšia stránka',\n cookieConsent: 'Súhlas s cookies',\n cookieDescription: 'Používame cookies na zlepšenie vášho zážitku.',\n cookieLearnMore: 'Ďalšie informácie',\n accept: 'Prijať',\n decline: 'Odmietnuť',\n goToHomePage: 'Prejsť na domovskú stránku',\n home: 'Domov',\n linkCopied: 'Odkaz skopírovaný!',\n copyLinkToSection: 'Kopírovať odkaz na sekciu',\n search: 'Hľadať',\n searchPlaceholder: 'Hľadať',\n closeBanner: 'Zavrieť banner',\n fallbackLocaleWarning:\n 'Tento obsah sa zobrazuje v jazyku {fallbackLocaleName}, pretože nie je dostupný v jazyku {requestedLocaleName}.',\n };\n\nconst sl: ThemeTranslations = {\n copyPage: 'Kopiraj stran',\n copied: 'Kopirano!',\n openInChatGPT: 'Odpri v ChatGPT',\n openInClaude: 'Odpri v Claude',\n askAboutThisPage: 'Vprašaj o tej strani v ChatGPT',\n copyPageDescription: 'Kopiraj stran kot Markdown za LLM',\n askQuestionsDescription: 'Postavi vprašanja o tej strani',\n chatGPTPrefix: 'Ta stran je z',\n tableOfContents: 'Kazalo',\n contributors: 'Sodelavci',\n goToDocsHome: 'Na začetek dokumentacije',\n goBackTo: 'Nazaj na',\n goToPreviousPage: 'Prejšnja stran',\n goToNextPage: 'Naslednja stran',\n noPreviousPage: 'Ni prejšnje strani',\n noNextPage: 'Ni naslednje strani',\n cookieConsent: 'Strinjanje s piškotki',\n cookieDescription: 'Uporabljamo piškotke za boljšo izkušnjo.',\n cookieLearnMore: 'Več informacij',\n accept: 'Sprejmi',\n decline: 'Zavrni',\n goToHomePage: 'Na domačo stran',\n home: 'Domov',\n linkCopied: 'Povezava kopirana!',\n copyLinkToSection: 'Kopiraj povezavo na razdelek',\n search: 'Iskanje',\n searchPlaceholder: 'Iskanje',\n closeBanner: 'Zapri pasico',\n fallbackLocaleWarning:\n 'Ta vsebina je prikazana v {fallbackLocaleName}, ker ni na voljo v {requestedLocaleName}.',\n };\n\nconst sq: ThemeTranslations = {\n copyPage: 'Kopjo faqen',\n copied: 'Kopjuar!',\n openInChatGPT: 'Hape në ChatGPT',\n openInClaude: 'Hape në Claude',\n askAboutThisPage: 'Pyet për këtë faqe në ChatGPT',\n copyPageDescription: 'Kopjo faqen si Markdown për LLM',\n askQuestionsDescription: 'Bëj pyetje për këtë faqe',\n chatGPTPrefix: 'Kjo faqe vjen nga',\n tableOfContents: 'Përmbajtja',\n contributors: 'Kontribuesit',\n goToDocsHome: 'Shko te dokumentacioni kryesor',\n goBackTo: 'Kthehu te',\n goToPreviousPage: 'Faqja e mëparshme',\n goToNextPage: 'Faqja tjetër',\n noPreviousPage: 'Nuk ka faqe të mëparshme',\n noNextPage: 'Nuk ka faqe tjetër',\n cookieConsent: 'Pëlqimi për cookies',\n cookieDescription: 'Përdorim cookies për të përmirësuar përvojën tuaj.',\n cookieLearnMore: 'Mëso më shumë',\n accept: 'Prano',\n decline: 'Refuzo',\n goToHomePage: 'Shko te faqja kryesore',\n home: 'Kryesore',\n linkCopied: 'Lidhja u kopjua!',\n copyLinkToSection: 'Kopjo lidhjen te seksioni',\n search: 'Kërko',\n searchPlaceholder: 'Kërko',\n closeBanner: 'Mbyll bannerin',\n fallbackLocaleWarning:\n 'Ky përmbajtje shfaqet në {fallbackLocaleName} sepse nuk është e disponueshme në {requestedLocaleName}.',\n };\n\nconst sr: ThemeTranslations = {\n copyPage: 'Копирај страницу',\n copied: 'Копирано!',\n openInChatGPT: 'Отвори у ChatGPT',\n openInClaude: 'Отвори у Claude',\n askAboutThisPage: 'Питај о овој страници у ChatGPT',\n copyPageDescription: 'Копирај страницу као Markdown за LLM',\n askQuestionsDescription: 'Постави питања о овој страници',\n chatGPTPrefix: 'Ова страница је са',\n tableOfContents: 'Садржај',\n contributors: 'Сарадници',\n goToDocsHome: 'Иди на почетак документације',\n goBackTo: 'Назад на',\n goToPreviousPage: 'Претходна страница',\n goToNextPage: 'Следећа страница',\n noPreviousPage: 'Нема претходне странице',\n noNextPage: 'Нема следеће странице',\n cookieConsent: 'Сагласност за колачиће',\n cookieDescription: 'Користимо колачиће ради бољег искуства.',\n cookieLearnMore: 'Сазнај више',\n accept: 'Прихвати',\n decline: 'Одбиј',\n goToHomePage: 'Иди на почетну',\n home: 'Почетна',\n linkCopied: 'Веза копирана!',\n copyLinkToSection: 'Копирај везу на одељак',\n search: 'Претражи',\n searchPlaceholder: 'Претражи',\n closeBanner: 'Затвори банер',\n fallbackLocaleWarning:\n 'Садржај је приказан на {fallbackLocaleName} јер није доступан на {requestedLocaleName}.',\n };\n\nconst sw: ThemeTranslations = {\n copyPage: 'Nakili ukurasa',\n copied: 'Imenakiliwa!',\n openInChatGPT: 'Fungua katika ChatGPT',\n openInClaude: 'Fungua katika Claude',\n askAboutThisPage: 'Uliza kuhusu ukurasa huu katika ChatGPT',\n copyPageDescription: 'Nakili ukurasa kama Markdown kwa LLM',\n askQuestionsDescription: 'Uliza maswali kuhusu ukurasa huu',\n chatGPTPrefix: 'Ukurasa huu umetoka',\n tableOfContents: 'Jedwali la maudhui',\n contributors: 'Wachangiaji',\n goToDocsHome: 'Nenda mwanzo wa nyaraka',\n goBackTo: 'Rudi kwenye',\n goToPreviousPage: 'Ukurasa uliopita',\n goToNextPage: 'Ukurasa unaofuata',\n noPreviousPage: 'Hakuna ukurasa uliopita',\n noNextPage: 'Hakuna ukurasa unaofuata',\n cookieConsent: 'Idhini ya vidakuzi',\n cookieDescription: 'Tunatumia vidakuzi kuboresha uzoefu wako.',\n cookieLearnMore: 'Jifunze zaidi',\n accept: 'Kubali',\n decline: 'Kataa',\n goToHomePage: 'Nenda ukurasa mkuu',\n home: 'Mwanzo',\n linkCopied: 'Kiungo kimenakiliwa!',\n copyLinkToSection: 'Nakili kiungo hadi sehemu',\n search: 'Tafuta',\n searchPlaceholder: 'Tafuta',\n closeBanner: 'Funga bango',\n fallbackLocaleWarning:\n 'Maudhui haya yanaonyeshwa kwa {fallbackLocaleName} kwa sababu hayapatikani kwa {requestedLocaleName}.',\n };\n\nconst ta: ThemeTranslations = {\n copyPage: 'பக்கத்தை நகலெடு',\n copied: 'நகலெடுக்கப்பட்டது!',\n openInChatGPT: 'ChatGPT இல் திற',\n openInClaude: 'Claude இல் திற',\n askAboutThisPage: 'ChatGPT இல் இந்தப் பக்கத்தைப் பற்றி கேள்',\n copyPageDescription: 'LLM களுக்காக பக்கத்தை Markdown ஆக நகலெடு',\n askQuestionsDescription: 'இந்தப் பக்கத்தைப் பற்றி கேள்விகள் கேள்',\n chatGPTPrefix: 'இந்தப் பக்கம்',\n tableOfContents: 'பொருளடக்கம்',\n contributors: 'பங்களிப்பாளர்கள்',\n goToDocsHome: 'ஆவண முகப்புக்குச் செல்',\n goBackTo: 'திரும்பிச் செல்',\n goToPreviousPage: 'முந்தைய பக்கம்',\n goToNextPage: 'அடுத்த பக்கம்',\n noPreviousPage: 'முந்தைய பக்கம் இல்லை',\n noNextPage: 'அடுத்த பக்கம் இல்லை',\n cookieConsent: 'குக்கி ஒப்புதல்',\n cookieDescription: 'உங்கள் அனுபவத்தை மேம்படுத்த நாங்கள் குக்கிகளைப் பயன்படுத்துகிறோம்.',\n cookieLearnMore: 'மேலும் அறிய',\n accept: 'ஏற்க',\n decline: 'மறு',\n goToHomePage: 'முகப்புப் பக்கத்திற்குச் செல்',\n home: 'முகப்பு',\n linkCopied: 'இணைப்பு நகலெடுக்கப்பட்டது!',\n copyLinkToSection: 'பிரிவுக்கு இணைப்பை நகலெடு',\n search: 'தேடு',\n searchPlaceholder: 'தேடு',\n closeBanner: 'பதாகையை மூடு',\n fallbackLocaleWarning:\n 'இந்த உள்ளடக்கம் {fallbackLocaleName} இல் காட்டப்படுகிறது ஏனெனில் {requestedLocaleName} இல் கிடைக்கவில்லை.',\n };\n\nconst te: ThemeTranslations = {\n copyPage: 'పేజీని కాపీ చేయండి',\n copied: 'కాపీ అయింది!',\n openInChatGPT: 'ChatGPTలో తెరవండి',\n openInClaude: 'Claudeలో తెరవండి',\n askAboutThisPage: 'ChatGPTలో ఈ పేజీ గురించి అడగండి',\n copyPageDescription: 'LLMల కోసం పేజీని Markdownగా కాపీ చేయండి',\n askQuestionsDescription: 'ఈ పేజీ గురించి ప్రశ్నలు అడగండి',\n chatGPTPrefix: 'ఈ పేజీ',\n tableOfContents: 'విషయసూచిక',\n contributors: 'తోడ్పాటుదారులు',\n goToDocsHome: 'డాక్యుమెంటేషన్ హోమ్‌కు వెళ్లండి',\n goBackTo: 'వెనక్కి వెళ్లండి',\n goToPreviousPage: 'మునుపటి పేజీ',\n goToNextPage: 'తర్వాతి పేజీ',\n noPreviousPage: 'మునుపటి పేజీ లేదు',\n noNextPage: 'తర్వాతి పేజీ లేదు',\n cookieConsent: 'కుకీ సమ్మతి',\n cookieDescription: 'మేము మీ అనుభవాన్ని మెరుగుపరచడానికి కుకీలు ఉపయోగిస్తాము.',\n cookieLearnMore: 'మరింత తెలుసుకోండి',\n accept: 'అంగీకరించు',\n decline: 'తిరస్కరించు',\n goToHomePage: 'హోమ్ పేజీకి వెళ్లండి',\n home: 'హోమ్',\n linkCopied: 'లింక్ కాపీ అయింది!',\n copyLinkToSection: 'విభాగానికి లింక్ కాపీ చేయండి',\n search: 'వెతకండి',\n searchPlaceholder: 'వెతకండి',\n closeBanner: 'బ్యానర్ మూసివేయండి',\n fallbackLocaleWarning:\n 'ఈ కంటెంట్ {fallbackLocaleName}లో చూపబడుతుంది ఎందుకంటే {requestedLocaleName}లో అందుబాటులో లేదు.',\n };\n\nconst tl: ThemeTranslations = {\n copyPage: 'Kopyahin ang pahina',\n copied: 'Nakopya!',\n openInChatGPT: 'Buksan sa ChatGPT',\n openInClaude: 'Buksan sa Claude',\n askAboutThisPage: 'Magtanong tungkol sa pahinang ito sa ChatGPT',\n copyPageDescription: 'Kopyahin ang pahina bilang Markdown para sa LLM',\n askQuestionsDescription: 'Magtanong tungkol sa pahinang ito',\n chatGPTPrefix: 'Ang pahinang ito ay mula sa',\n tableOfContents: 'Talaan ng nilalaman',\n contributors: 'Mga kontribyutor',\n goToDocsHome: 'Pumunta sa home ng dokumentasyon',\n goBackTo: 'Bumalik sa',\n goToPreviousPage: 'Nakaraang pahina',\n goToNextPage: 'Susunod na pahina',\n noPreviousPage: 'Walang nakaraang pahina',\n noNextPage: 'Walang susunod na pahina',\n cookieConsent: 'Pahintulot sa cookie',\n cookieDescription: 'Gumagamit kami ng cookies upang mapabuti ang iyong karanasan.',\n cookieLearnMore: 'Matuto pa',\n accept: 'Tanggapin',\n decline: 'Tanggihan',\n goToHomePage: 'Pumunta sa home page',\n home: 'Home',\n linkCopied: 'Nakopya ang link!',\n copyLinkToSection: 'Kopyahin ang link sa seksyon',\n search: 'Maghanap',\n searchPlaceholder: 'Maghanap',\n closeBanner: 'Isara ang banner',\n fallbackLocaleWarning:\n 'Ang nilalamang ito ay ipinapakita sa {fallbackLocaleName} dahil hindi available sa {requestedLocaleName}.',\n };\n\nconst uk: ThemeTranslations = {\n copyPage: 'Копіювати сторінку',\n copied: 'Скопійовано!',\n openInChatGPT: 'Відкрити в ChatGPT',\n openInClaude: 'Відкрити в Claude',\n askAboutThisPage: 'Запитайте про цю сторінку в ChatGPT',\n copyPageDescription: 'Копіювати сторінку як Markdown для LLM',\n askQuestionsDescription: 'Поставте запитання про цю сторінку',\n chatGPTPrefix: 'Ця сторінка з',\n tableOfContents: 'Зміст',\n contributors: 'Учасники',\n goToDocsHome: 'На головну документації',\n goBackTo: 'Назад до',\n goToPreviousPage: 'Попередня сторінка',\n goToNextPage: 'Наступна сторінка',\n noPreviousPage: 'Немає попередньої сторінки',\n noNextPage: 'Немає наступної сторінки',\n cookieConsent: 'Згода на cookie',\n cookieDescription: 'Ми використовуємо файли cookie для покращення вашого досвіду.',\n cookieLearnMore: 'Дізнатися більше',\n accept: 'Прийняти',\n decline: 'Відхилити',\n goToHomePage: 'На головну',\n home: 'Головна',\n linkCopied: 'Посилання скопійовано!',\n copyLinkToSection: 'Копіювати посилання на розділ',\n search: 'Пошук',\n searchPlaceholder: 'Пошук',\n closeBanner: 'Закрити банер',\n fallbackLocaleWarning:\n 'Цей вміст показано мовою {fallbackLocaleName}, оскільки він недоступний мовою {requestedLocaleName}.',\n };\n\nconst ur: ThemeTranslations = {\n copyPage: 'صفحہ نقل کریں',\n copied: 'نقل ہو گیا!',\n openInChatGPT: 'ChatGPT میں کھولیں',\n openInClaude: 'Claude میں کھولیں',\n askAboutThisPage: 'ChatGPT میں اس صفحے کے بارے میں پوچھیں',\n copyPageDescription: 'LLM کے لیے صفحہ Markdown کے طور پر نقل کریں',\n askQuestionsDescription: 'اس صفحے کے بارے میں سوالات پوچھیں',\n chatGPTPrefix: 'یہ صفحہ',\n tableOfContents: 'فہرست مضامین',\n contributors: 'شراکت دار',\n goToDocsHome: 'دستاویز کے ابتدائی صفحے پر جائیں',\n goBackTo: 'واپس جائیں',\n goToPreviousPage: 'پچھلا صفحہ',\n goToNextPage: 'اگلا صفحہ',\n noPreviousPage: 'کوئی پچھلا صفحہ نہیں',\n noNextPage: 'کوئی اگلا صفحہ نہیں',\n cookieConsent: 'کوکی کی رضامندی',\n cookieDescription: 'ہم آپ کے تجربے کو بہتر بنانے کے لیے کوکیز استعمال کرتے ہیں۔',\n cookieLearnMore: 'مزید جانیں',\n accept: 'قبول کریں',\n decline: 'مسترد کریں',\n goToHomePage: 'ابتدائی صفحے پر جائیں',\n home: 'ابتدائی',\n linkCopied: 'ربط نقل ہو گیا!',\n copyLinkToSection: 'حصے کا ربط نقل کریں',\n search: 'تلاش',\n searchPlaceholder: 'تلاش',\n closeBanner: 'بینر بند کریں',\n fallbackLocaleWarning:\n 'یہ مواد {fallbackLocaleName} میں دکھایا گیا ہے کیونکہ {requestedLocaleName} میں دستیاب نہیں ہے۔',\n };\n\nconst uz: ThemeTranslations = {\n copyPage: 'Sahifani nusxalash',\n copied: 'Nusxalandi!',\n openInChatGPT: 'ChatGPTda ochish',\n openInClaude: 'Claudeda ochish',\n askAboutThisPage: 'Ushbu sahifa haqida ChatGPTda so‘rang',\n copyPageDescription: 'Sahifani LLM uchun Markdown sifatida nusxalash',\n askQuestionsDescription: 'Ushbu sahifa haqida savollar bering',\n chatGPTPrefix: 'Ushbu sahifa',\n tableOfContents: 'Mundarija',\n contributors: 'Hissa qo‘shganlar',\n goToDocsHome: 'Hujjatlar bosh sahifasiga o‘tish',\n goBackTo: 'Orqaga',\n goToPreviousPage: 'Oldingi sahifa',\n goToNextPage: 'Keyingi sahifa',\n noPreviousPage: 'Oldingi sahifa yo‘q',\n noNextPage: 'Keyingi sahifa yo‘q',\n cookieConsent: 'Cookie roziligi',\n cookieDescription: 'Tajribangizni yaxshilash uchun cookie’dan foydalanamiz.',\n cookieLearnMore: 'Batafsil',\n accept: 'Qabul qilish',\n decline: 'Rad etish',\n goToHomePage: 'Bosh sahifaga o‘tish',\n home: 'Bosh sahifa',\n linkCopied: 'Havola nusxalandi!',\n copyLinkToSection: 'Bo‘limga havolani nusxalash',\n search: 'Qidirish',\n searchPlaceholder: 'Qidirish',\n closeBanner: 'Bannerni yopish',\n fallbackLocaleWarning:\n 'Kontent {fallbackLocaleName}da ko‘rsatiladi, chunki {requestedLocaleName}da mavjud emas.',\n };\n\nconst explicitTranslations: Partial<Record<Locale, ThemeTranslations>> = {\n en,\n fr,\n de,\n es,\n ar,\n zh,\n ja,\n ko,\n pt,\n it,\n ru,\n nl,\n sv,\n no,\n da,\n fi,\n pl,\n tr,\n he,\n hi,\n fa,\n id,\n th,\n vi,\n\n af,\n az,\n be,\n bg,\n bn,\n bs,\n ca,\n cs,\n cy,\n el,\n et,\n eu,\n ga,\n gl,\n gu,\n hr,\n hu,\n hy,\n is,\n ka,\n kk,\n km,\n kn,\n lt,\n lv,\n mk,\n ml,\n mr,\n ms,\n mt,\n my,\n ne,\n pa,\n ro,\n si,\n sk,\n sl,\n sq,\n sr,\n sw,\n ta,\n te,\n tl,\n uk,\n ur,\n uz,\n};\n\n/**\n * One entry per core fallback locale; unknown codes fall back to English chrome.\n */\nconst translations: Record<string, ThemeTranslations> = Object.fromEntries(\n [...FALLBACK_LOCALES].map((code) => [code, explicitTranslations[code] ?? en]),\n);\n\n/**\n * Get translations for a specific locale\n * Falls back to English if locale is not found\n */\nexport function getTranslations(locale: Locale = 'en'): ThemeTranslations {\n return translations[locale] ?? en;\n}\n\n/**\n * Get a specific translation key for a locale\n */\nexport function getTranslation(\n locale: Locale,\n key: keyof ThemeTranslations\n): string {\n const t = getTranslations(locale);\n return t[key] ?? '';\n}\n\n/**\n * Type-safe translation key helper\n */\nexport type TranslationKey = keyof ThemeTranslations;\n\n","import React from 'react';\nimport { getTranslations } from '../../../lib/translations';\nimport type { SidebarNode, Locale } from '@next-library/core';\n\ninterface ParentProps {\n parent: SidebarNode | null;\n currentPath?: string;\n locale?: Locale;\n}\n\nexport function Parent({ parent, currentPath, locale = 'en' }: ParentProps) {\n const isActive = parent && currentPath && parent.websitePath === `/${currentPath}`;\n const translations = getTranslations(locale);\n\n return (\n <div\n className={`relative flex items-center gap-2.5 overflow-hidden rounded-lg border px-3 py-2.5\n ${isActive\n ? 'border-border bg-accent'\n : 'border-border bg-background'\n }`}\n >\n <span\n aria-hidden=\"true\"\n className={`h-4 w-0.5 shrink-0 rounded-full transition-colors ${isActive ? 'bg-foreground' : 'bg-muted-foreground/40'}`}\n />\n <p className=\"truncate text-sm font-semibold tracking-tight\">\n {parent?.title || translations.home}\n </p>\n </div>\n );\n}\n\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n","'use client';\n\nimport { cn } from '../../layout/utils';\n\ninterface LevelElevatorProps {\n currentLevel: number;\n className?: string;\n}\n\nexport function LevelElevator({ currentLevel, className }: LevelElevatorProps) {\n return (\n <div className={cn('flex flex-col items-center py-2', className)}>\n <div className=\"relative w-7 h-7 overflow-hidden rounded-md bg-foreground ring-1 ring-foreground/10\">\n <div className=\"absolute inset-0 flex items-center justify-center text-background font-mono text-xs font-semibold tabular-nums\">\n {currentLevel}\n </div>\n </div>\n </div>\n );\n}\n\n","import { cn } from '../../layout/utils';\nimport { LevelElevator } from './level-elevator';\nimport Link from 'next/link';\nimport { Home, FolderUp, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Locale, SidebarNode, FlatContentMapItem } from '@next-library/core';\n\ninterface ToolboxTranslations {\n goToDocsHome?: string;\n goBackTo?: string;\n goToPreviousPage?: string;\n goToNextPage?: string;\n noPreviousPage?: string;\n noNextPage?: string;\n}\n\ninterface ToolboxProps {\n currentLevel: number;\n className?: string;\n parent: SidebarNode | null;\n grandparent: SidebarNode | null;\n previousPage: FlatContentMapItem | null;\n nextPage: FlatContentMapItem | null;\n lang: Locale;\n path: string;\n translations?: ToolboxTranslations;\n}\n\nexport function Toolbox({\n currentLevel,\n className,\n parent,\n grandparent,\n previousPage,\n nextPage,\n lang,\n path,\n translations = {},\n}: ToolboxProps) {\n const defaultTranslations = getTranslations(lang);\n const {\n goToDocsHome = defaultTranslations.goToDocsHome,\n goBackTo = defaultTranslations.goBackTo,\n goToPreviousPage = defaultTranslations.goToPreviousPage,\n goToNextPage = defaultTranslations.goToNextPage,\n noPreviousPage = defaultTranslations.noPreviousPage,\n noNextPage = defaultTranslations.noNextPage,\n } = translations;\n\n return (\n <div\n className={cn(\n 'flex items-center justify-between rounded-lg border border-border bg-muted/20 px-2',\n className\n )}\n >\n <LevelElevator currentLevel={currentLevel} />\n\n <div className=\"h-4 w-px bg-border\" />\n\n <Link\n href={`/${lang}/docs`}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={goToDocsHome}\n aria-label={goToDocsHome}\n >\n <Home className=\"h-4 w-4\" />\n </Link>\n\n <div className=\"h-4 w-px bg-border\" />\n\n {(() => {\n // If we have a grandparent and the current path matches the parent's path, go to grandparent\n if (grandparent && grandparent.websitePath && parent && path === parent.websitePath?.replace(`/${lang}/docs/`, '')) {\n return (\n <Link\n href={grandparent.websitePath}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goBackTo} ${grandparent.title}`}\n aria-label={`${goBackTo} ${grandparent.title}`}\n >\n <FolderUp className=\"h-4 w-4\" />\n </Link>\n );\n }\n\n // If we have a parent and current level > 1, go to parent\n else if (parent && parent.websitePath && path !== parent.websitePath?.replace(`/${lang}/docs/`, '')) {\n return (\n <Link\n href={parent.websitePath}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goBackTo} ${parent?.title}`}\n aria-label={`${goBackTo} ${parent?.title}`}\n >\n <FolderUp className=\"h-4 w-4\" />\n </Link>\n );\n }\n\n // Default: go to documentation home\n return (\n <Link\n href={`/${lang}/docs`}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={goToDocsHome}\n aria-label={goToDocsHome}\n >\n <FolderUp className=\"h-4 w-4\" />\n </Link>\n );\n })()}\n\n <div className=\"h-4 w-px bg-border\" />\n\n {previousPage ? (\n <Link\n href={previousPage.websitePath || '#'}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goToPreviousPage}: ${previousPage.title}`}\n aria-label={`${goToPreviousPage}: ${previousPage.title}`}\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </Link>\n ) : (\n <div\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground/30 cursor-not-allowed\"\n title={noPreviousPage}\n aria-label={noPreviousPage}\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </div>\n )}\n\n {nextPage ? (\n <Link\n href={nextPage.websitePath || '#'}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goToNextPage}: ${nextPage.title}`}\n aria-label={`${goToNextPage}: ${nextPage.title}`}\n >\n <ChevronRight className=\"h-4 w-4\" />\n </Link>\n ) : (\n <div\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground/30 cursor-not-allowed\"\n title={noNextPage}\n aria-label={noNextPage}\n >\n <ChevronRight className=\"h-4 w-4\" />\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { SidebarNavigation } from '@next-library/theme/client';\nimport { Parent } from '../navigation/sidebar-left/parent';\nimport { Toolbox } from '../navigation/sidebar-left/toolbox';\nimport type { PageData } from '@next-library/core';\nimport { cn } from './utils';\n\ninterface LeftSidebarProps {\n data: PageData;\n className?: string;\n}\n\nexport function LeftSidebar({ data, className }: LeftSidebarProps) {\n const { sidebar, navigation, computed } = data;\n\n return (\n <aside className={cn('md:flex hidden flex-col gap-4 self-start', className)} id=\"sidebar-left\">\n <Parent parent={sidebar.parent} currentPath={`${computed.lang}/docs/${computed.path}`} locale={computed.lang} />\n <Toolbox\n currentLevel={sidebar.currentLevel}\n parent={sidebar.parent}\n grandparent={sidebar.grandparent}\n previousPage={navigation.previous}\n nextPage={navigation.next}\n lang={computed.lang}\n path={computed.path}\n />\n <SidebarNavigation\n nodes={sidebar.items}\n currentPath={`/${computed.lang}/docs/${computed.path}`}\n language={computed.lang}\n />\n </aside>\n );\n}\n\n","import React from 'react';\nimport { GithubContributors, TableOfContents } from '@next-library/theme/client';\nimport type { PageData } from '@next-library/core';\nimport { cn } from './utils';\n\ninterface RightSidebarProps {\n data: PageData;\n className?: string;\n}\n\nexport function RightSidebar({ data, className }: RightSidebarProps) {\n const { rightSidebar, computed } = data;\n const lang = computed.lang;\n\n return (\n <aside className={cn('md:flex hidden flex-col gap-4 self-start', className)} id=\"sidebar-right\">\n {/* Contributors */}\n <GithubContributors\n contributors={rightSidebar.contributors}\n githubPath={rightSidebar.githubPath}\n locale={lang}\n />\n {/* Table of Contents */}\n <TableOfContents toc={rightSidebar.toc} lang={lang} />\n </aside>\n );\n}\n\n","import React from 'react';\nimport Link from 'next/link';\nimport { ArrowLeft, ArrowRight, Pencil } from 'lucide-react';\n\ninterface PagerItem {\n title?: string;\n websitePath?: string | null;\n}\n\ninterface DocPagerProps {\n previous?: PagerItem | null;\n next?: PagerItem | null;\n editUrl?: string;\n labels?: { previous?: string; next?: string; edit?: string };\n}\n\n/** Bottom-of-page navigation: previous / next cards plus an edit-on-GitHub link. */\nexport function DocPager({ previous, next, editUrl, labels }: DocPagerProps) {\n const l = { previous: 'Previous', next: 'Next', edit: 'Edit this page on GitHub', ...labels };\n const hasPager = Boolean(previous?.websitePath || next?.websitePath);\n\n return (\n <div className=\"cl-pager not-prose\">\n {hasPager && (\n <div className=\"cl-pager-cards\">\n {previous?.websitePath ? (\n <Link href={previous.websitePath} className=\"cl-pager-card\">\n <span className=\"cl-pager-dir\"><ArrowLeft className=\"inline size-3\" /> {l.previous}</span>\n <span className=\"cl-pager-title\">{previous.title}</span>\n </Link>\n ) : (\n <span />\n )}\n {next?.websitePath ? (\n <Link href={next.websitePath} className=\"cl-pager-card is-next\">\n <span className=\"cl-pager-dir\">{l.next} <ArrowRight className=\"inline size-3\" /></span>\n <span className=\"cl-pager-title\">{next.title}</span>\n </Link>\n ) : (\n <span />\n )}\n </div>\n )}\n {editUrl && (\n <a href={editUrl} target=\"_blank\" rel=\"noreferrer\" className=\"cl-edit-link\">\n <Pencil className=\"size-3.5\" /> {l.edit}\n </a>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { CopyPageButton } from '@next-library/theme/client';\nimport type { Locale } from '@next-library/core';\n\ninterface CopyPageButtonTranslations {\n copyPage?: string;\n copied?: string;\n}\n\ninterface PageHeaderProps {\n title: string;\n markdown: string;\n pageUrl?: string;\n websiteTitle?: string;\n className?: string;\n locale?: Locale;\n translations?: CopyPageButtonTranslations;\n showCopyButton?: boolean;\n}\n\nexport function PageHeader({\n title,\n markdown,\n pageUrl,\n websiteTitle,\n className = '',\n locale = 'en',\n translations,\n showCopyButton = true,\n}: PageHeaderProps) {\n return (\n <div className={`flex flex-col gap-2 lg:gap-4 pb-8 font-bold prose prose-md max-w-none dark:prose-invert ${className}`}>\n {showCopyButton && (\n <CopyPageButton\n sourceCode={markdown}\n pageUrl={pageUrl}\n websiteTitle={websiteTitle}\n className=\"self-end hidden lg:flex\"\n locale={locale}\n translations={translations}\n />\n )}\n <h1 className=\"\">{title}</h1>\n </div>\n );\n}\n\n","/**\n * Locale name translations\n * Maps locale codes to their names in different languages\n */\n\nimport { LOCALES_CONFIG, type Locale } from '@next-library/core';\n\n/**\n * Locale names in English (used as fallback)\n */\nconst localeNamesEn: Record<Locale, string> = {\n en: 'English',\n fr: 'French',\n de: 'German',\n es: 'Spanish',\n ar: 'Arabic',\n zh: 'Chinese',\n ja: 'Japanese',\n ko: 'Korean',\n pt: 'Portuguese',\n it: 'Italian',\n ru: 'Russian',\n nl: 'Dutch',\n sv: 'Swedish',\n no: 'Norwegian',\n da: 'Danish',\n fi: 'Finnish',\n pl: 'Polish',\n tr: 'Turkish',\n he: 'Hebrew',\n hi: 'Hindi',\n fa: 'Persian',\n id: 'Indonesian',\n th: 'Thai',\n vi: 'Vietnamese',\n};\n\n/**\n * Locale names in French\n */\nconst localeNamesFr: Record<Locale, string> = {\n en: 'Anglais',\n fr: 'Français',\n de: 'Allemand',\n es: 'Espagnol',\n ar: 'Arabe',\n zh: 'Chinois',\n ja: 'Japonais',\n ko: 'Coréen',\n pt: 'Portugais',\n it: 'Italien',\n ru: 'Russe',\n nl: 'Néerlandais',\n sv: 'Suédois',\n no: 'Norvégien',\n da: 'Danois',\n fi: 'Finlandais',\n pl: 'Polonais',\n tr: 'Turc',\n he: 'Hébreu',\n hi: 'Hindi',\n fa: 'Persan',\n id: 'Indonésien',\n th: 'Thaï',\n vi: 'Vietnamien',\n};\n\n/**\n * Locale names in German\n */\nconst localeNamesDe: Record<Locale, string> = {\n en: 'Englisch',\n fr: 'Französisch',\n de: 'Deutsch',\n es: 'Spanisch',\n ar: 'Arabisch',\n zh: 'Chinesisch',\n ja: 'Japanisch',\n ko: 'Koreanisch',\n pt: 'Portugiesisch',\n it: 'Italienisch',\n ru: 'Russisch',\n nl: 'Niederländisch',\n sv: 'Schwedisch',\n no: 'Norwegisch',\n da: 'Dänisch',\n fi: 'Finnisch',\n pl: 'Polnisch',\n tr: 'Türkisch',\n he: 'Hebräisch',\n hi: 'Hindi',\n fa: 'Persisch',\n id: 'Indonesisch',\n th: 'Thailändisch',\n vi: 'Vietnamesisch',\n};\n\n/**\n * Locale names in Spanish\n */\nconst localeNamesEs: Record<Locale, string> = {\n en: 'Inglés',\n fr: 'Francés',\n de: 'Alemán',\n es: 'Español',\n ar: 'Árabe',\n zh: 'Chino',\n ja: 'Japonés',\n ko: 'Coreano',\n pt: 'Portugués',\n it: 'Italiano',\n ru: 'Ruso',\n nl: 'Neerlandés',\n sv: 'Sueco',\n no: 'Noruego',\n da: 'Danés',\n fi: 'Finlandés',\n pl: 'Polaco',\n tr: 'Turco',\n he: 'Hebreo',\n hi: 'Hindi',\n fa: 'Persa',\n id: 'Indonesio',\n th: 'Tailandés',\n vi: 'Vietnamita',\n};\n\n/**\n * Locale names in Arabic\n */\nconst localeNamesAr: Record<Locale, string> = {\n en: 'الإنجليزية',\n fr: 'الفرنسية',\n de: 'الألمانية',\n es: 'الإسبانية',\n ar: 'العربية',\n zh: 'الصينية',\n ja: 'اليابانية',\n ko: 'الكورية',\n pt: 'البرتغالية',\n it: 'الإيطالية',\n ru: 'الروسية',\n nl: 'الهولندية',\n sv: 'السويدية',\n no: 'النرويجية',\n da: 'الدنماركية',\n fi: 'الفنلندية',\n pl: 'البولندية',\n tr: 'التركية',\n he: 'العبرية',\n hi: 'الهندية',\n fa: 'الفارسية',\n id: 'الإندونيسية',\n th: 'التايلاندية',\n vi: 'الفيتنامية',\n};\n\n/**\n * Locale names in Chinese\n */\nconst localeNamesZh: Record<Locale, string> = {\n en: '英语',\n fr: '法语',\n de: '德语',\n es: '西班牙语',\n ar: '阿拉伯语',\n zh: '中文',\n ja: '日语',\n ko: '韩语',\n pt: '葡萄牙语',\n it: '意大利语',\n ru: '俄语',\n nl: '荷兰语',\n sv: '瑞典语',\n no: '挪威语',\n da: '丹麦语',\n fi: '芬兰语',\n pl: '波兰语',\n tr: '土耳其语',\n he: '希伯来语',\n hi: '印地语',\n fa: '波斯语',\n id: '印尼语',\n th: '泰语',\n vi: '越南语',\n};\n\n/**\n * Locale names in Japanese\n */\nconst localeNamesJa: Record<Locale, string> = {\n en: '英語',\n fr: 'フランス語',\n de: 'ドイツ語',\n es: 'スペイン語',\n ar: 'アラビア語',\n zh: '中国語',\n ja: '日本語',\n ko: '韓国語',\n pt: 'ポルトガル語',\n it: 'イタリア語',\n ru: 'ロシア語',\n nl: 'オランダ語',\n sv: 'スウェーデン語',\n no: 'ノルウェー語',\n da: 'デンマーク語',\n fi: 'フィンランド語',\n pl: 'ポーランド語',\n tr: 'トルコ語',\n he: 'ヘブライ語',\n hi: 'ヒンディー語',\n fa: 'ペルシア語',\n id: 'インドネシア語',\n th: 'タイ語',\n vi: 'ベトナム語',\n};\n\n/**\n * Locale names in Korean\n */\nconst localeNamesKo: Record<Locale, string> = {\n en: '영어',\n fr: '프랑스어',\n de: '독일어',\n es: '스페인어',\n ar: '아랍어',\n zh: '중국어',\n ja: '일본어',\n ko: '한국어',\n pt: '포르투갈어',\n it: '이탈리아어',\n ru: '러시아어',\n nl: '네덜란드어',\n sv: '스웨덴어',\n no: '노르웨이어',\n da: '덴마크어',\n fi: '핀란드어',\n pl: '폴란드어',\n tr: '터키어',\n he: '히브리어',\n hi: '힌디어',\n fa: '페르시아어',\n id: '인도네시아어',\n th: '태국어',\n vi: '베트남어',\n};\n\n/**\n * Locale names in Portuguese\n */\nconst localeNamesPt: Record<Locale, string> = {\n en: 'Inglês',\n fr: 'Francês',\n de: 'Alemão',\n es: 'Espanhol',\n ar: 'Árabe',\n zh: 'Chinês',\n ja: 'Japonês',\n ko: 'Coreano',\n pt: 'Português',\n it: 'Italiano',\n ru: 'Russo',\n nl: 'Holandês',\n sv: 'Sueco',\n no: 'Norueguês',\n da: 'Dinamarquês',\n fi: 'Finlandês',\n pl: 'Polonês',\n tr: 'Turco',\n he: 'Hebraico',\n hi: 'Hindi',\n fa: 'Persa',\n id: 'Indonésio',\n th: 'Tailandês',\n vi: 'Vietnamita',\n};\n\n/**\n * Locale names in Italian\n */\nconst localeNamesIt: Record<Locale, string> = {\n en: 'Inglese',\n fr: 'Francese',\n de: 'Tedesco',\n es: 'Spagnolo',\n ar: 'Arabo',\n zh: 'Cinese',\n ja: 'Giapponese',\n ko: 'Coreano',\n pt: 'Portoghese',\n it: 'Italiano',\n ru: 'Russo',\n nl: 'Olandese',\n sv: 'Svedese',\n no: 'Norvegese',\n da: 'Danese',\n fi: 'Finlandese',\n pl: 'Polacco',\n tr: 'Turco',\n he: 'Ebraico',\n hi: 'Hindi',\n fa: 'Persiano',\n id: 'Indonesiano',\n th: 'Tailandese',\n vi: 'Vietnamita',\n};\n\n/**\n * Locale names in Russian\n */\nconst localeNamesRu: Record<Locale, string> = {\n en: 'Английский',\n fr: 'Французский',\n de: 'Немецкий',\n es: 'Испанский',\n ar: 'Арабский',\n zh: 'Китайский',\n ja: 'Японский',\n ko: 'Корейский',\n pt: 'Португальский',\n it: 'Итальянский',\n ru: 'Русский',\n nl: 'Голландский',\n sv: 'Шведский',\n no: 'Норвежский',\n da: 'Датский',\n fi: 'Финский',\n pl: 'Польский',\n tr: 'Турецкий',\n he: 'Иврит',\n hi: 'Хинди',\n fa: 'Персидский',\n id: 'Индонезийский',\n th: 'Тайский',\n vi: 'Вьетнамский',\n};\n\n/**\n * Locale names in Dutch\n */\nconst localeNamesNl: Record<Locale, string> = {\n en: 'Engels',\n fr: 'Frans',\n de: 'Duits',\n es: 'Spaans',\n ar: 'Arabisch',\n zh: 'Chinees',\n ja: 'Japans',\n ko: 'Koreaans',\n pt: 'Portugees',\n it: 'Italiaans',\n ru: 'Russisch',\n nl: 'Nederlands',\n sv: 'Zweeds',\n no: 'Noors',\n da: 'Deens',\n fi: 'Fins',\n pl: 'Pools',\n tr: 'Turks',\n he: 'Hebreeuws',\n hi: 'Hindi',\n fa: 'Perzisch',\n id: 'Indonesisch',\n th: 'Thai',\n vi: 'Vietnamees',\n};\n\n/**\n * Locale names in Swedish\n */\nconst localeNamesSv: Record<Locale, string> = {\n en: 'Engelska',\n fr: 'Franska',\n de: 'Tyska',\n es: 'Spanska',\n ar: 'Arabiska',\n zh: 'Kinesiska',\n ja: 'Japanska',\n ko: 'Koreanska',\n pt: 'Portugisiska',\n it: 'Italienska',\n ru: 'Ryska',\n nl: 'Nederländska',\n sv: 'Svenska',\n no: 'Norska',\n da: 'Danska',\n fi: 'Finska',\n pl: 'Polska',\n tr: 'Turkiska',\n he: 'Hebreiska',\n hi: 'Hindi',\n fa: 'Persiska',\n id: 'Indonesiska',\n th: 'Thailändska',\n vi: 'Vietnamesiska',\n};\n\n/**\n * Locale names in Norwegian\n */\nconst localeNamesNo: Record<Locale, string> = {\n en: 'Engelsk',\n fr: 'Fransk',\n de: 'Tysk',\n es: 'Spansk',\n ar: 'Arabisk',\n zh: 'Kinesisk',\n ja: 'Japansk',\n ko: 'Koreansk',\n pt: 'Portugisisk',\n it: 'Italiensk',\n ru: 'Russisk',\n nl: 'Nederlandsk',\n sv: 'Svensk',\n no: 'Norsk',\n da: 'Dansk',\n fi: 'Finsk',\n pl: 'Polsk',\n tr: 'Tyrkisk',\n he: 'Hebraisk',\n hi: 'Hindi',\n fa: 'Persisk',\n id: 'Indonesisk',\n th: 'Thai',\n vi: 'Vietnamesisk',\n};\n\n/**\n * Locale names in Danish\n */\nconst localeNamesDa: Record<Locale, string> = {\n en: 'Engelsk',\n fr: 'Fransk',\n de: 'Tysk',\n es: 'Spansk',\n ar: 'Arabisk',\n zh: 'Kinesisk',\n ja: 'Japansk',\n ko: 'Koreansk',\n pt: 'Portugisisk',\n it: 'Italiensk',\n ru: 'Russisk',\n nl: 'Hollandsk',\n sv: 'Svensk',\n no: 'Norsk',\n da: 'Dansk',\n fi: 'Finsk',\n pl: 'Polsk',\n tr: 'Tyrkisk',\n he: 'Hebraisk',\n hi: 'Hindi',\n fa: 'Persisk',\n id: 'Indonesisk',\n th: 'Thai',\n vi: 'Vietnamesisk',\n};\n\n/**\n * Locale names in Finnish\n */\nconst localeNamesFi: Record<Locale, string> = {\n en: 'Englanti',\n fr: 'Ranska',\n de: 'Saksa',\n es: 'Espanja',\n ar: 'Arabia',\n zh: 'Kiina',\n ja: 'Japani',\n ko: 'Korea',\n pt: 'Portugali',\n it: 'Italia',\n ru: 'Venäjä',\n nl: 'Hollanti',\n sv: 'Ruotsi',\n no: 'Norja',\n da: 'Tanska',\n fi: 'Suomi',\n pl: 'Puola',\n tr: 'Turkki',\n he: 'Heprea',\n hi: 'Hindi',\n fa: 'Persia',\n id: 'Indonesia',\n th: 'Thai',\n vi: 'Vietnam',\n};\n\n/**\n * Locale names in Polish\n */\nconst localeNamesPl: Record<Locale, string> = {\n en: 'Angielski',\n fr: 'Francuski',\n de: 'Niemiecki',\n es: 'Hiszpański',\n ar: 'Arabski',\n zh: 'Chiński',\n ja: 'Japoński',\n ko: 'Koreański',\n pt: 'Portugalski',\n it: 'Włoski',\n ru: 'Rosyjski',\n nl: 'Holenderski',\n sv: 'Szwedzki',\n no: 'Norweski',\n da: 'Duński',\n fi: 'Fiński',\n pl: 'Polski',\n tr: 'Turecki',\n he: 'Hebrajski',\n hi: 'Hindi',\n fa: 'Perski',\n id: 'Indonezyjski',\n th: 'Tajski',\n vi: 'Wietnamski',\n};\n\n/**\n * Locale names in Turkish\n */\nconst localeNamesTr: Record<Locale, string> = {\n en: 'İngilizce',\n fr: 'Fransızca',\n de: 'Almanca',\n es: 'İspanyolca',\n ar: 'Arapça',\n zh: 'Çince',\n ja: 'Japonca',\n ko: 'Korece',\n pt: 'Portekizce',\n it: 'İtalyanca',\n ru: 'Rusça',\n nl: 'Felemenkçe',\n sv: 'İsveççe',\n no: 'Norveççe',\n da: 'Danca',\n fi: 'Fince',\n pl: 'Lehçe',\n tr: 'Türkçe',\n he: 'İbranice',\n hi: 'Hintçe',\n fa: 'Farsça',\n id: 'Endonezce',\n th: 'Tayca',\n vi: 'Vietnamca',\n};\n\n/**\n * Locale names in Hebrew\n */\nconst localeNamesHe: Record<Locale, string> = {\n en: 'אנגלית',\n fr: 'צרפתית',\n de: 'גרמנית',\n es: 'ספרדית',\n ar: 'ערבית',\n zh: 'סינית',\n ja: 'יפנית',\n ko: 'קוריאנית',\n pt: 'פורטוגזית',\n it: 'איטלקית',\n ru: 'רוסית',\n nl: 'הולנדית',\n sv: 'שוודית',\n no: 'נורווגית',\n da: 'דנית',\n fi: 'פינית',\n pl: 'פולנית',\n tr: 'טורקית',\n he: 'עברית',\n hi: 'הינדי',\n fa: 'פרסית',\n id: 'אינדונזית',\n th: 'תאית',\n vi: 'וייטנאמית',\n};\n\n/**\n * Locale names in Hindi\n */\nconst localeNamesHi: Record<Locale, string> = {\n en: 'अंग्रेजी',\n fr: 'फ्रेंच',\n de: 'जर्मन',\n es: 'स्पेनिश',\n ar: 'अरबी',\n zh: 'चीनी',\n ja: 'जापानी',\n ko: 'कोरियाई',\n pt: 'पुर्तगाली',\n it: 'इतालवी',\n ru: 'रूसी',\n nl: 'डच',\n sv: 'स्वीडिश',\n no: 'नॉर्वेजियन',\n da: 'डेनिश',\n fi: 'फिनिश',\n pl: 'पोलिश',\n tr: 'तुर्की',\n he: 'हिब्रू',\n hi: 'हिन्दी',\n fa: 'फ़ारसी',\n id: 'इंडोनेशियाई',\n th: 'थाई',\n vi: 'वियतनामी',\n};\n\n/**\n * Locale names in Persian\n */\nconst localeNamesFa: Record<Locale, string> = {\n en: 'انگلیسی',\n fr: 'فرانسوی',\n de: 'آلمانی',\n es: 'اسپانیایی',\n ar: 'عربی',\n zh: 'چینی',\n ja: 'ژاپنی',\n ko: 'کره‌ای',\n pt: 'پرتغالی',\n it: 'ایتالیایی',\n ru: 'روسی',\n nl: 'هلندی',\n sv: 'سوئدی',\n no: 'نروژی',\n da: 'دانمارکی',\n fi: 'فنلاندی',\n pl: 'لهستانی',\n tr: 'ترکی',\n he: 'عبری',\n hi: 'هندی',\n fa: 'فارسی',\n id: 'اندونزیایی',\n th: 'تایلندی',\n vi: 'ویتنامی',\n};\n\n/**\n * Locale names in Indonesian\n */\nconst localeNamesId: Record<Locale, string> = {\n en: 'Bahasa Inggris',\n fr: 'Bahasa Prancis',\n de: 'Bahasa Jerman',\n es: 'Bahasa Spanyol',\n ar: 'Bahasa Arab',\n zh: 'Bahasa Tionghoa',\n ja: 'Bahasa Jepang',\n ko: 'Bahasa Korea',\n pt: 'Bahasa Portugis',\n it: 'Bahasa Italia',\n ru: 'Bahasa Rusia',\n nl: 'Bahasa Belanda',\n sv: 'Bahasa Swedia',\n no: 'Bahasa Norwegia',\n da: 'Bahasa Denmark',\n fi: 'Bahasa Finlandia',\n pl: 'Bahasa Polandia',\n tr: 'Bahasa Turki',\n he: 'Bahasa Ibrani',\n hi: 'Bahasa Hindi',\n fa: 'Bahasa Persia',\n id: 'Bahasa Indonesia',\n th: 'Bahasa Thailand',\n vi: 'Bahasa Vietnam',\n};\n\n/**\n * Locale names in Thai\n */\nconst localeNamesTh: Record<Locale, string> = {\n en: 'อังกฤษ',\n fr: 'ฝรั่งเศส',\n de: 'เยอรมัน',\n es: 'สเปน',\n ar: 'อาหรับ',\n zh: 'จีน',\n ja: 'ญี่ปุ่น',\n ko: 'เกาหลี',\n pt: 'โปรตุเกส',\n it: 'อิตาลี',\n ru: 'รัสเซีย',\n nl: 'ดัตช์',\n sv: 'สวีเดน',\n no: 'นอร์เวย์',\n da: 'เดนมาร์ก',\n fi: 'ฟินแลนด์',\n pl: 'โปแลนด์',\n tr: 'ตุรกี',\n he: 'ฮิบรู',\n hi: 'ฮินดี',\n fa: 'เปอร์เซีย',\n id: 'อินโดนีเซีย',\n th: 'ไทย',\n vi: 'เวียดนาม',\n};\n\n/**\n * Locale names in Vietnamese\n */\nconst localeNamesVi: Record<Locale, string> = {\n en: 'Tiếng Anh',\n fr: 'Tiếng Pháp',\n de: 'Tiếng Đức',\n es: 'Tiếng Tây Ban Nha',\n ar: 'Tiếng Ả Rập',\n zh: 'Tiếng Trung',\n ja: 'Tiếng Nhật',\n ko: 'Tiếng Hàn',\n pt: 'Tiếng Bồ Đào Nha',\n it: 'Tiếng Ý',\n ru: 'Tiếng Nga',\n nl: 'Tiếng Hà Lan',\n sv: 'Tiếng Thụy Điển',\n no: 'Tiếng Na Uy',\n da: 'Tiếng Đan Mạch',\n fi: 'Tiếng Phần Lan',\n pl: 'Tiếng Ba Lan',\n tr: 'Tiếng Thổ Nhĩ Kỳ',\n he: 'Tiếng Do Thái',\n hi: 'Tiếng Hindi',\n fa: 'Tiếng Ba Tư',\n id: 'Tiếng Indonesia',\n th: 'Tiếng Thái',\n vi: 'Tiếng Việt',\n};\n\n/**\n * Map of locale names by target language\n */\nconst localeNamesByLanguage: Record<Locale, Record<Locale, string>> = {\n en: localeNamesEn,\n fr: localeNamesFr,\n de: localeNamesDe,\n es: localeNamesEs,\n ar: localeNamesAr,\n zh: localeNamesZh,\n ja: localeNamesJa,\n ko: localeNamesKo,\n pt: localeNamesPt,\n it: localeNamesIt,\n ru: localeNamesRu,\n nl: localeNamesNl,\n sv: localeNamesSv,\n no: localeNamesNo,\n da: localeNamesDa,\n fi: localeNamesFi,\n pl: localeNamesPl,\n tr: localeNamesTr,\n he: localeNamesHe,\n hi: localeNamesHi,\n fa: localeNamesFa,\n id: localeNamesId,\n th: localeNamesTh,\n vi: localeNamesVi,\n};\n\n/**\n * Get the name of a locale in a specific target language\n */\nexport function getLocaleNameInLanguage(locale: Locale, targetLanguage: Locale): string {\n const names = localeNamesByLanguage[targetLanguage] || localeNamesEn;\n const fromTarget = names[locale];\n if (fromTarget) {\n return fromTarget;\n }\n const fromEn = localeNamesEn[locale];\n if (fromEn) {\n return fromEn;\n }\n const fromConfig = LOCALES_CONFIG[locale]?.nativeName ?? LOCALES_CONFIG[locale]?.name;\n if (fromConfig) {\n return fromConfig;\n }\n return locale;\n}\n\n","import React from 'react';\nimport { AlertTriangle } from 'lucide-react';\nimport { getTranslations } from '../../lib/translations';\nimport { getLocaleNameInLanguage } from '../../lib/translations/locale-names';\nimport { cn } from '../layout/utils';\nimport type { Locale } from '@next-library/core';\n\ninterface FallbackLocaleWarningProps {\n locale: Locale;\n fallbackLocale?: Locale;\n className?: string;\n translations?: {\n message?: string;\n };\n}\n\n/**\n * Warning banner displayed when content is shown from a fallback locale\n * because it's not available in the requested locale.\n */\nexport function FallbackLocaleWarning({\n locale,\n fallbackLocale = 'en',\n className,\n translations = {},\n}: FallbackLocaleWarningProps) {\n const defaultTranslations = getTranslations(locale);\n const { message } = translations;\n\n // Get locale names translated to the warning message language\n // The warning is shown in the requested locale's language\n const requestedLocaleName = getLocaleNameInLanguage(locale, locale).toLowerCase();\n const fallbackLocaleName = getLocaleNameInLanguage(fallbackLocale, locale).toLowerCase();\n\n // Use custom message if provided, otherwise use default translation with locale names\n const warningMessage =\n message ||\n (defaultTranslations.fallbackLocaleWarning\n ? defaultTranslations.fallbackLocaleWarning\n .replace('{requestedLocaleName}', requestedLocaleName)\n .replace('{fallbackLocaleName}', fallbackLocaleName)\n : `This content is shown in ${fallbackLocaleName} (fallback) as it's not available in ${requestedLocaleName}.`);\n\n return (\n <div\n className={cn(\n 'mb-4 p-3 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg',\n className\n )}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <div className=\"flex items-center gap-2\">\n <AlertTriangle\n className=\"h-5 w-5 text-yellow-600 dark:text-yellow-400 flex-shrink-0\"\n aria-hidden=\"true\"\n />\n <span className=\"text-sm text-yellow-800 dark:text-yellow-200\">\n {warningMessage}\n </span>\n </div>\n </div>\n );\n}\n\n","import React from 'react';\n\ninterface StructuredDataProps {\n data: object | object[];\n}\n\n/**\n * Component to inject structured data (JSON-LD) into the page\n * Multiple schemas can be passed as an array\n */\nexport function StructuredData({ data }: StructuredDataProps) {\n const schemas = Array.isArray(data) ? data : [data];\n\n return (\n <>\n {schemas.map((schema, index) => (\n <script\n key={index}\n type=\"application/ld+json\"\n dangerouslySetInnerHTML={{\n __html: JSON.stringify(schema),\n }}\n />\n ))}\n </>\n );\n}\n\n","'use client';\n\nimport React, { SVGProps, useState } from 'react';\nimport { motion, useMotionValueEvent, useScroll } from 'motion/react';\nimport { cn } from '../layout/utils';\nimport { getTranslations } from '../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\ninterface StickyBannerProps {\n className?: string;\n children: React.ReactNode;\n hideOnScroll?: boolean;\n locale?: Locale;\n closeLabel?: string;\n}\n\nexport function StickyBanner({\n className,\n children,\n hideOnScroll = false,\n locale = 'en',\n closeLabel,\n}: StickyBannerProps) {\n const [open, setOpen] = useState(true);\n const { scrollY } = useScroll();\n const translations = getTranslations(locale);\n const ariaLabel = closeLabel || translations.closeBanner;\n\n useMotionValueEvent(scrollY, 'change', (latest) => {\n if (hideOnScroll && latest > 16) {\n setOpen(false);\n } else {\n setOpen(true);\n }\n });\n\n return (\n <motion.div\n className={cn(\n 'sticky inset-x-0 top-0 z-40 flex min-h-12 w-full items-center justify-center bg-transparent px-4 py-1',\n className\n )}\n initial={{\n y: -100,\n opacity: 0,\n }}\n animate={{\n y: open ? 0 : -100,\n opacity: open ? 1 : 0,\n }}\n transition={{\n duration: 0.3,\n ease: 'easeInOut',\n }}\n >\n {children}\n\n <motion.button\n initial={{\n scale: 0,\n }}\n animate={{\n scale: 1,\n }}\n className=\"absolute top-1/2 right-2 -translate-y-1/2 cursor-pointer\"\n onClick={() => setOpen(!open)}\n aria-label={ariaLabel}\n >\n <CloseIcon className=\"h-5 w-5 text-white\" aria-hidden=\"true\" />\n </motion.button>\n </motion.div>\n );\n}\n\nconst CloseIcon = (props: SVGProps<SVGSVGElement>) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M18 6l-12 12\" />\n <path d=\"M6 6l12 12\" />\n </svg>\n );\n};\n","'use client';\n\nimport React from 'react';\nimport { StickyBanner } from '../../ui/sticky-banner';\nimport type { Locale } from '@next-library/core';\n\ninterface BannerProps {\n children: React.ReactNode;\n language?: Locale;\n}\n\nexport default function Banner({ children, language = 'en' }: BannerProps) {\n return (\n <StickyBanner\n className=\"bg-gradient-to-b from-blue-500 to-blue-600 text-center py-2 lg:py-0\"\n hideOnScroll\n locale={language}\n >\n <div className=\"mx-0 max-w-[90%] text-white drop-shadow-md\">{children}</div>\n </StickyBanner>\n );\n}\n\n","'use client';\n\nimport React from 'react';\nimport Link from 'next/link';\nimport Image from 'next/image';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\ninterface LogoProps {\n className?: string;\n language?: Locale;\n title?: string;\n}\n\nexport function Logo({ className = '', language = 'en', title = '' }: LogoProps) {\n const translations = getTranslations(language);\n \n return (\n <Link\n href={`/${language}`}\n className={` font-bold hidden lg:flex text-lg hover:opacity-80 transition-opacity ${className}`}\n aria-label={translations.goToHomePage}\n >\n {/* Simple text logo - can be replaced with SVG/image later */}\n <div className=\"flex items-center gap-2.5\">\n <span className=\"inline-flex items-center justify-center size-7 rounded-lg border bg-background shadow-sm overflow-hidden\">\n <Image src=\"/logo.png\" alt={`${title} logo`} width={18} height={18} />\n </span>\n <span\n className=\"items-center hidden xl:flex select-none text-md font-semibold tracking-tight\"\n title={`${title} logo`}\n >\n {title}\n </span>\n </div>\n </Link>\n );\n}\n\n","'use client';\n\nimport React from 'react';\nimport Link from 'next/link';\n\ninterface Category {\n title: string;\n path: string;\n}\n\ninterface TopCategoriesProps {\n categories: Category[];\n className?: string;\n}\n\nexport function TopCategories({ categories, className = '' }: TopCategoriesProps) {\n if (categories.length === 0) {\n return null;\n }\n\n return (\n <nav\n className={`hidden md:flex items-center space-x-6 mr-2 ${className}`}\n aria-label=\"Top navigation categories\"\n >\n {categories.map((category) => (\n <Link\n key={category.path}\n href={category.path}\n className=\"text-sm font-medium text-muted-foreground hover:text-foreground transition-colors\"\n >\n {category.title}\n </Link>\n ))}\n </nav>\n );\n}\n\n// Mobile version for responsive design\nexport function MobileTopCategories({ categories, className = '' }: TopCategoriesProps) {\n const [isOpen, setIsOpen] = React.useState(false);\n\n if (categories.length === 0) {\n return null;\n }\n\n return (\n <div className={`md:hidden ${className}`}>\n <button\n onClick={() => setIsOpen(!isOpen)}\n className=\"flex items-center space-x-1 px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors\"\n aria-label=\"Toggle navigation menu\"\n aria-expanded={isOpen}\n >\n <span>Menu</span>\n <svg\n className={`h-4 w-4 transition-transform ${isOpen ? 'rotate-180' : ''}`}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n\n {isOpen && (\n <>\n {/* Backdrop */}\n <div className=\"fixed inset-0 z-10\" onClick={() => setIsOpen(false)} />\n\n {/* Mobile menu */}\n <div className=\"absolute top-full left-0 mt-2 w-48 bg-popover text-popover-foreground rounded-lg border shadow-lg z-20\">\n <div className=\"p-1\" role=\"menu\">\n {categories.map((category) => (\n <Link\n key={category.path}\n href={category.path}\n className=\"block px-3 py-2 text-sm rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors\"\n role=\"menuitem\"\n onClick={() => setIsOpen(false)}\n >\n {category.title}\n </Link>\n ))}\n </div>\n </div>\n </>\n )}\n </div>\n );\n}\n\n","'use client';\n\nimport { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useRouter } from 'next/navigation';\nimport { Search, Loader2, CornerDownLeft, ArrowUp, ArrowDown } from 'lucide-react';\nimport type { ContentSearchResult, Locale } from '@next-library/core';\nimport { getTranslations } from '../../../lib/translations';\nimport { cn } from '../../layout/utils';\n\nconst INPUTS = new Set(['INPUT', 'SELECT', 'BUTTON', 'TEXTAREA']);\nconst RECENT_KEY = 'cl-recent-pages';\n\ninterface SearchBarProps {\n language?: Locale;\n className?: string;\n}\n\ntype Recent = { title: string; path: string; language: string };\n\nfunction readRecent(): Recent[] {\n try {\n return JSON.parse(localStorage.getItem(RECENT_KEY) || '[]').slice(0, 5);\n } catch {\n return [];\n }\n}\n\n/** Highlight occurrences of the query within a title. */\nfunction Highlight({ text, query }: { text: string; query: string }) {\n if (!query.trim()) return <>{text}</>;\n const i = text.toLowerCase().indexOf(query.toLowerCase());\n if (i === -1) return <>{text}</>;\n return (\n <>\n {text.slice(0, i)}\n <mark className=\"bg-transparent font-semibold text-foreground\">{text.slice(i, i + query.length)}</mark>\n {text.slice(i + query.length)}\n </>\n );\n}\n\nexport function SearchBar({ language = 'en', className }: SearchBarProps) {\n const router = useRouter();\n const translations = getTranslations(language);\n\n const [mounted, setMounted] = useState(false);\n const [open, setOpen] = useState(false);\n const [query, setQuery] = useState('');\n const [results, setResults] = useState<ContentSearchResult[]>([]);\n const [recent, setRecent] = useState<Recent[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [isMac, setIsMac] = useState(false);\n const [selected, setSelected] = useState(0);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => setMounted(true), []);\n useEffect(() => {\n setIsMac(typeof navigator !== 'undefined' && navigator.userAgent.includes('Mac'));\n }, []);\n\n const close = useCallback(() => {\n setOpen(false);\n setQuery('');\n setResults([]);\n setSelected(0);\n }, []);\n\n const go = useCallback(\n (path: string, lang: string, title: string) => {\n try {\n const next = [{ title, path, language: lang }, ...readRecent().filter((r) => r.path !== path)].slice(0, 5);\n localStorage.setItem(RECENT_KEY, JSON.stringify(next));\n } catch {\n /* ignore */\n }\n close();\n router.push(`/${lang}/docs/${path}`);\n },\n [router, close],\n );\n\n // Open on Cmd/Ctrl+K or \"/\"\n useEffect(() => {\n const onKey = (event: KeyboardEvent) => {\n const el = document.activeElement;\n const typing = el && (INPUTS.has(el.tagName) || (el as HTMLElement).isContentEditable);\n if (event.key === 'k' && (isMac ? event.metaKey : event.ctrlKey)) {\n event.preventDefault();\n setOpen((o) => !o);\n } else if (event.key === '/' && !typing) {\n event.preventDefault();\n setOpen(true);\n }\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, [isMac]);\n\n // When opened: focus input, load recent.\n useEffect(() => {\n if (!open) return;\n setRecent(readRecent());\n const t = setTimeout(() => inputRef.current?.focus(), 20);\n const prev = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n clearTimeout(t);\n document.body.style.overflow = prev;\n };\n }, [open]);\n\n // Debounced search.\n useEffect(() => {\n if (!open) return;\n if (!query.trim()) {\n setResults([]);\n setIsLoading(false);\n return;\n }\n setIsLoading(true);\n const id = setTimeout(async () => {\n try {\n const params = new URLSearchParams({ q: query, lang: language || 'en' });\n const res = await fetch(`/api/search?${params}`);\n const data = res.ok ? await res.json() : { results: [] };\n setResults(data.results || []);\n setSelected(0);\n } catch {\n setResults([]);\n } finally {\n setIsLoading(false);\n }\n }, 180);\n return () => clearTimeout(id);\n }, [query, language, open]);\n\n // Keyboard navigation within the list.\n const flat = useMemo(() => (query.trim() ? results : []), [query, results]);\n useEffect(() => {\n if (!open) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n close();\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n setSelected((s) => Math.min(s + 1, Math.max(flat.length - 1, 0)));\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n setSelected((s) => Math.max(s - 1, 0));\n } else if (e.key === 'Enter' && flat[selected]) {\n e.preventDefault();\n const r = flat[selected];\n go(r.path, r.language, r.title);\n }\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, [open, flat, selected, close, go]);\n\n useEffect(() => {\n const node = listRef.current?.querySelector('[data-selected=\"true\"]');\n node?.scrollIntoView({ block: 'nearest' });\n }, [selected]);\n\n // Group results by their top-level section.\n const groups = flat.reduce<Record<string, { result: ContentSearchResult; index: number }[]>>((acc, r, i) => {\n const key = r.path.split('/')[0] || 'docs';\n (acc[key] ||= []).push({ result: r, index: i });\n return acc;\n }, {});\n\n const trigger = (\n <button\n type=\"button\"\n onClick={() => setOpen(true)}\n className=\"group flex h-9 w-full items-center gap-2 rounded-md border bg-muted/30 px-3 text-sm text-muted-foreground transition-colors hover:bg-muted/50 lg:w-auto lg:min-w-[220px]\"\n aria-label={translations.search}\n >\n <Search className=\"size-4 shrink-0\" />\n <span className=\"flex-1 truncate text-left\">{translations.searchPlaceholder}</span>\n <kbd className=\"hidden items-center gap-0.5 rounded border bg-background px-1.5 font-mono text-[10px] text-muted-foreground shadow-sm md:inline-flex\">\n {isMac ? '⌘' : 'Ctrl'} K\n </kbd>\n </button>\n );\n\n const modal =\n open && mounted\n ? createPortal(\n <div className=\"fixed inset-0 z-[100] flex items-start justify-center p-4 pt-[12vh]\" role=\"dialog\" aria-modal=\"true\">\n <div className=\"absolute inset-0 bg-background/70 backdrop-blur-sm\" onClick={close} aria-hidden=\"true\" />\n <div className=\"cl-beam relative w-full max-w-xl shadow-[0_30px_90px_-24px_rgb(0_0_0/0.55)]\">\n <div className=\"overflow-hidden rounded-[calc(var(--radius)+2px)] bg-popover\">\n {/* Input */}\n <div className=\"flex items-center gap-2.5 border-b px-4\">\n {isLoading ? (\n <Loader2 className=\"size-4 shrink-0 animate-spin text-muted-foreground\" />\n ) : (\n <Search className=\"size-4 shrink-0 text-muted-foreground\" />\n )}\n <input\n ref={inputRef}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n spellCheck={false}\n autoComplete=\"off\"\n placeholder={translations.searchPlaceholder}\n className=\"h-12 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n />\n <kbd className=\"rounded border bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground\">esc</kbd>\n </div>\n\n {/* Results */}\n <div ref={listRef} className=\"max-h-[min(60vh,400px)] overflow-y-auto p-2\">\n {!query.trim() ? (\n recent.length ? (\n <div>\n <p className=\"px-2 py-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">Recent</p>\n {recent.map((r) => (\n <button\n key={r.path}\n type=\"button\"\n onClick={() => go(r.path, r.language, r.title)}\n className=\"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground\"\n >\n <Search className=\"size-3.5 shrink-0 opacity-60\" />\n <span className=\"truncate\">{r.title}</span>\n </button>\n ))}\n </div>\n ) : (\n <p className=\"px-2 py-8 text-center text-sm text-muted-foreground\">{translations.searchPlaceholder}</p>\n )\n ) : isLoading && !flat.length ? (\n <p className=\"px-2 py-8 text-center text-sm text-muted-foreground\">{translations.search}...</p>\n ) : !flat.length ? (\n <p className=\"px-2 py-8 text-center text-sm text-muted-foreground\">{`No results for \"${query}\"`}</p>\n ) : (\n Object.entries(groups).map(([section, items]) => (\n <div key={section} className=\"mb-1\">\n <p className=\"px-2 py-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">{section}</p>\n {items.map(({ result, index }) => (\n <button\n key={`${result.language}-${result.path}`}\n type=\"button\"\n data-selected={index === selected}\n onMouseEnter={() => setSelected(index)}\n onClick={() => go(result.path, result.language, result.title)}\n className={cn(\n 'flex w-full flex-col gap-0.5 rounded-md px-2 py-2 text-left transition-colors',\n index === selected ? 'bg-accent text-foreground' : 'text-muted-foreground hover:bg-accent/60',\n )}\n >\n <span className=\"truncate text-sm font-medium text-foreground\">\n <Highlight text={result.title} query={query} />\n </span>\n {result.description && (\n <span className=\"truncate text-xs text-muted-foreground\">{result.description}</span>\n )}\n </button>\n ))}\n </div>\n ))\n )}\n </div>\n\n {/* Footer hints */}\n <div className=\"flex items-center gap-4 border-t px-4 py-2 text-[11px] text-muted-foreground\">\n <span className=\"flex items-center gap-1\"><ArrowUp className=\"size-3\" /><ArrowDown className=\"size-3\" /> navigate</span>\n <span className=\"flex items-center gap-1\"><CornerDownLeft className=\"size-3\" /> open</span>\n <span className=\"ml-auto\">esc to close</span>\n </div>\n </div>\n </div>\n </div>,\n document.body,\n )\n : null;\n\n return (\n <div className={cn('relative min-w-0 flex-1 lg:flex-none', className)}>\n {trigger}\n {modal}\n </div>\n );\n}\n","'use client';\n\nimport React from 'react';\nimport { useTheme } from 'next-themes';\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme();\n const otherTheme = resolvedTheme === 'dark' ? 'light' : 'dark';\n const [mounted, setMounted] = React.useState(false);\n\n React.useEffect(() => {\n setMounted(true);\n }, []);\n\n return (\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center rounded-full justify-center transition-colors\"\n aria-label={mounted ? `Switch to ${otherTheme} theme` : 'Toggle theme'}\n onClick={() => setTheme(otherTheme)}\n >\n <SunIcon className=\"h-6 w-6 stroke-current dark:hidden\" />\n <MoonIcon className=\"hidden h-6 w-6 stroke-current dark:block\" />\n </button>\n );\n}\n\nfunction SunIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\" {...props}>\n <path d=\"M12.5 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\" />\n <path\n strokeLinecap=\"round\"\n d=\"M10 5.5v-1M13.182 6.818l.707-.707M14.5 10h1M13.182 13.182l.707.707M10 15.5v-1M6.11 13.889l.708-.707M4.5 10h1M6.11 6.111l.708.707\"\n />\n </svg>\n );\n}\n\nfunction MoonIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\" {...props}>\n <path d=\"M15.224 11.724a5.5 5.5 0 0 1-6.949-6.949 5.5 5.5 0 1 0 6.949 6.949Z\" />\n </svg>\n );\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../layout/utils';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none 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: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n secondary: '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}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n );\n }\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8',\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n","'use client';\n\nimport React from 'react';\nimport { useLocale } from '@next-library/core/hooks';\nimport { Button } from '../../ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../../ui/dropdown-menu';\nimport { LanguagesIcon } from 'lucide-react';\n\ninterface LocaleOption {\n code: string;\n nativeName: string;\n}\n\ninterface LanguageSwitcherProps {\n className?: string;\n availableLocales?: string[];\n localeConfigs?: LocaleOption[];\n}\n\nexport function LanguageSwitcher({\n className = '',\n availableLocales: propLocales,\n localeConfigs\n}: LanguageSwitcherProps) {\n const { locale, availableLocales: hookLocales, changeLocale, isLoading } = useLocale();\n // Use prop locales if provided (from server), otherwise use hook locales\n const availableLocales = propLocales && propLocales.length > 0 ? propLocales : hookLocales;\n\n if (isLoading) {\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className={`flex h-9 w-9 items-center rounded-full justify-center ${className}`}\n >\n <LanguagesIcon className=\"h-4 w-4\" data-testid=\"globe-icon\" />\n </Button>\n );\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"flex h-9 w-9 items-center rounded-full justify-center\"\n aria-label=\"Select language\"\n aria-haspopup=\"true\"\n >\n <LanguagesIcon className=\"h-4 w-4\" data-testid=\"globe-icon\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"dark:bg-black\">\n {availableLocales.map((availableLocale) => {\n // Use locale config from server if provided, otherwise fallback to locale code\n const localeConfig = localeConfigs?.find(config => config.code === availableLocale);\n const nativeName = localeConfig?.nativeName || availableLocale.toUpperCase();\n const isActive = availableLocale === locale;\n\n return (\n <DropdownMenuItem\n key={availableLocale}\n onClick={() => changeLocale(availableLocale)}\n className={`${isActive ? 'bg-accent text-accent-foreground' : ''}`}\n >\n {nativeName}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n","'use client';\n\nimport { cn } from '../layout/utils';\nimport * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nfunction Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot=\"drawer\" {...props} />;\n}\n\nfunction DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n}\n\nfunction DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n}\n\nfunction DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n}\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DrawerContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot=\"drawer-portal\">\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background fixed z-50 flex h-auto flex-col',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n className\n )}\n {...props}\n >\n <div className=\"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n );\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn(\n 'flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction DrawerDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n\n","'use client';\n\nimport * 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\n","import * as React from 'react';\nimport { cn } from '../layout/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport { cn } from '../layout/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n\n","import * as React from 'react';\nimport { cn } from '../layout/utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('bg-accent animate-pulse', className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport { cn } from '../layout/utils';\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n\n","'use client';\n\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { PanelLeftIcon } from 'lucide-react';\n\nimport { useIsMobile } from '../../hooks/use-mobile';\nimport { cn } from '../layout/utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Separator } from './separator';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from './sheet';\nimport { Skeleton } from './skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContextProps = {\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<SidebarContextProps | 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\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\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 ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContextProps>(\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 data-slot=\"sidebar-wrapper\"\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 has-data-[variant=inset]:bg-sidebar flex w-full',\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n 'bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col',\n className\n )}\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-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--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 data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] 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 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn('bg-background h-8 w-full shadow-none', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\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}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform 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}\n\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n );\n}\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\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\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\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform 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 '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 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-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 );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\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 data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border ml-3 flex min-w-0 translate-x-px flex-col gap-1 border-l pl-3 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 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',\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}\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\n","'use client';\n\nimport * as React from 'react';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nfunction Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot=\"collapsible-trigger\" {...props} />;\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return <CollapsiblePrimitive.CollapsibleContent data-slot=\"collapsible-content\" {...props} />;\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n\n","'use client';\n\nimport {\n SidebarContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarProvider,\n} from '../../ui/sidebar';\nimport type { SidebarNode } from '@next-library/core';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../ui/collapsible';\nimport {\n ChevronRight,\n ChevronDown,\n FolderOpenIcon,\n FolderClosedIcon,\n FileTextIcon,\n} from 'lucide-react';\nimport Link from 'next/link';\nimport type { Locale } from '@next-library/core';\n\ninterface SidebarNavigationProps {\n nodes: SidebarNode[];\n currentPath?: string;\n language?: Locale;\n /**\n * Called when a leaf page (a node with no children) is clicked. The mobile\n * menu uses this to close the drawer once the user reaches an actual page,\n * while folder navigations that only drill down leave the menu open.\n */\n onNavigateLeaf?: () => void;\n translations?: {\n toggleFolder?: string;\n };\n}\n\n// Helper function to check if a node is the current active page\nfunction isActiveNode(node: SidebarNode, currentPath?: string): boolean {\n if (!currentPath || !node.websitePath) return false;\n\n // Normalize paths for comparison\n const nodePath = node.websitePath.replace(/\\/$/, ''); // Remove trailing slash\n const normalizedCurrentPath = currentPath.replace(/\\/$/, ''); // Remove trailing slash\n\n return nodePath === normalizedCurrentPath;\n}\n\n// Helper function to check if any child is active (for parent highlighting)\nfunction hasActiveChild(node: SidebarNode, currentPath?: string): boolean {\n if (!currentPath || !node.children) return false;\n\n return Object.values(node.children).some(\n (child) => isActiveNode(child, currentPath) || hasActiveChild(child, currentPath)\n );\n}\n\nexport function SidebarNavigation({\n nodes,\n currentPath,\n language: _language = 'en',\n onNavigateLeaf,\n translations = {},\n}: SidebarNavigationProps) {\n const { toggleFolder = 'Toggle folder' } = translations;\n\n return (\n <SidebarProvider>\n <SidebarContent className=\"overflow-hidden p-1\">\n {nodes.map((node) => {\n if (!node.websitePath) return null;\n \n const isActive = isActiveNode(node, currentPath);\n const hasActiveChildNode = hasActiveChild(node, currentPath);\n\n return node.children && Object.keys(node.children).length > 0 ? (\n <Collapsible\n key={node.websitePath}\n defaultOpen={isActive || hasActiveChildNode}\n className=\"group/collapsible\"\n >\n <SidebarMenu key={`menu-${node.websitePath}`}>\n <SidebarMenuItem key={node.websitePath}>\n <div className=\"flex flex-nowrap items-center gap-2\">\n <Link\n href={node.websitePath}\n className={`group/row relative flex flex-nowrap items-center gap-2 flex-auto py-1.5 pl-3 pr-2 rounded-md text-sm transition-colors hover:bg-accent ${isActive\n ? 'bg-accent font-medium text-foreground before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-foreground'\n : hasActiveChildNode\n ? 'text-foreground'\n : 'text-muted-foreground hover:text-foreground'\n }`}\n >\n <div className=\"flex-none\">\n <FolderOpenIcon className=\"h-4 w-4 group-data-[state=closed]/collapsible:hidden\" />\n <FolderClosedIcon className=\"h-4 w-4 group-data-[state=open]/collapsible:hidden\" />\n </div>\n <span className={`flex-auto ${isActive ? 'font-medium' : ''}`}>\n {node.title}\n </span>\n </Link>\n <CollapsibleTrigger\n className=\"p-1.5 rounded-md text-muted-foreground/70 transition-colors hover:bg-accent hover:text-foreground self-center\"\n aria-label={`${toggleFolder}: ${node.title}`}\n >\n <ChevronRight\n className=\"h-4 w-4 group-data-[state=open]/collapsible:hidden\"\n aria-hidden=\"true\"\n />\n <ChevronDown\n className=\"h-4 w-4 group-data-[state=closed]/collapsible:hidden\"\n aria-hidden=\"true\"\n />\n </CollapsibleTrigger>\n </div>\n <CollapsibleContent>\n <SidebarMenuSub>\n {Object.entries(node.children || {}).map(([, child]) => {\n if (!child.websitePath) return null;\n \n const isChildActive = isActiveNode(child, currentPath);\n const childIsLeaf = !child.children || Object.keys(child.children).length === 0;\n return (\n <SidebarMenuItem key={child.websitePath}>\n <Link\n href={child.websitePath}\n onClick={childIsLeaf ? onNavigateLeaf : undefined}\n className={`group/row relative flex items-center gap-2 py-1.5 pl-3 pr-2 rounded-md text-sm transition-colors hover:bg-accent ${isChildActive\n ? 'bg-accent font-medium text-foreground before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-foreground'\n : 'text-muted-foreground hover:text-foreground'\n }`}\n >\n {child.children && Object.keys(child.children).length > 0 ? (\n <FolderClosedIcon className=\"h-4 w-4 flex-none\" />\n ) : (\n <FileTextIcon className=\"h-4 w-4 flex-none\" />\n )}\n <span className=\"\">{child.title}</span>\n </Link>\n </SidebarMenuItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </SidebarMenu>\n </Collapsible>\n ) : (\n <SidebarMenu key={`menu-${node.websitePath}`}>\n <SidebarMenuItem key={node.websitePath}>\n <Link\n href={node.websitePath}\n onClick={onNavigateLeaf}\n className={`group/row relative flex items-center gap-2 py-1.5 pl-3 pr-2 rounded-md text-sm transition-colors hover:bg-accent ${isActive\n ? 'bg-accent font-medium text-foreground before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-foreground'\n : 'text-muted-foreground hover:text-foreground'\n }`}\n >\n <FileTextIcon className=\"h-4 w-4 flex-none\" />\n <span className=\"\">{node.title}</span>\n </Link>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n })}\n </SidebarContent>\n </SidebarProvider>\n );\n}\n","'use client';\n\nimport { useSyncExternalStore } from 'react';\n\n/**\n * Module-level open state for the mobile navigation menu.\n *\n * The mobile menu lives in the docs layout, which Next.js re-renders (and in\n * practice remounts) on every navigation because the layout is keyed by the\n * `[[...slug]]` params. A drawer that keeps its open state in component state\n * is therefore reset to closed as soon as the user navigates, which makes it\n * impossible to drill down through folders (every folder tap navigates and\n * re-roots the sidebar one level deeper).\n *\n * Keeping the open flag in a module-level store survives that remount, so the\n * menu stays open across navigations and only closes when the user reaches a\n * leaf page or explicitly dismisses it.\n */\nlet open = false;\nconst listeners = new Set<() => void>();\n\nfunction emit(): void {\n for (const listener of listeners) listener();\n}\n\nexport function setMobileMenuOpen(value: boolean): void {\n if (open === value) return;\n open = value;\n emit();\n}\n\nfunction subscribe(listener: () => void): () => void {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\nfunction getSnapshot(): boolean {\n return open;\n}\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\nexport function useMobileMenuOpen(): [boolean, (value: boolean) => void] {\n const value = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return [value, setMobileMenuOpen];\n}\n","'use client';\n\nimport { Menu } from 'lucide-react';\nimport { Button } from '../../ui/button';\nimport {\n Drawer,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerDescription,\n DrawerTrigger,\n} from '../../ui/drawer';\nimport { Parent } from '../sidebar-left/parent';\nimport { Toolbox } from '../sidebar-left/toolbox';\nimport { SidebarNavigation } from '../sidebar-left/sidebar';\nimport { useMobileMenuOpen } from '../../../lib/mobile-menu-store';\nimport type { PageData } from '@next-library/core';\n\ninterface MobileMenuProps {\n pageData?: PageData;\n translations?: {\n openMobileMenu?: string;\n navigation?: string;\n mobileMenuDescription?: string;\n };\n}\n\nexport function MobileMenu({ pageData, translations = {} }: MobileMenuProps) {\n // Hooks must run before any early return.\n const [open, setOpen] = useMobileMenuOpen();\n\n if (!pageData) {\n return null;\n }\n\n const {\n openMobileMenu = 'Open mobile menu',\n navigation = 'Navigation',\n mobileMenuDescription = 'Mobile navigation menu',\n } = translations;\n\n const { sidebar, navigation: nav, computed } = pageData;\n\n return (\n <div className=\"lg:hidden\">\n <Drawer direction=\"right\" open={open} onOpenChange={setOpen}>\n <DrawerTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-9 w-9\">\n <Menu className=\"h-4 w-4\" />\n <span className=\"sr-only\">{openMobileMenu}</span>\n </Button>\n </DrawerTrigger>\n <DrawerContent className=\"h-full w-[85vw] sm:w-[400px]\">\n <DrawerHeader className=\"sr-only\">\n <DrawerTitle>{navigation}</DrawerTitle>\n <DrawerDescription>{mobileMenuDescription}</DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 p-4 overflow-y-auto\">\n <Parent\n parent={sidebar.parent}\n currentPath={`${computed.lang}/docs/${computed.path}`}\n />\n <Toolbox\n currentLevel={sidebar.currentLevel}\n parent={sidebar.parent}\n grandparent={sidebar.grandparent}\n previousPage={nav.previous}\n nextPage={nav.next}\n lang={computed.lang}\n path={computed.path}\n />\n <SidebarNavigation\n nodes={sidebar.items}\n currentPath={`/${computed.lang}/docs/${computed.path}`}\n language={computed.lang}\n onNavigateLeaf={() => setOpen(false)}\n />\n </div>\n </DrawerContent>\n </Drawer>\n </div>\n );\n}\n\n","'use client';\n\nimport React, { useEffect, useState } from 'react';\nimport GitHubButton from 'react-github-btn';\nimport { Skeleton } from '../../ui/skeleton';\n\ninterface GithubStarProps {\n repoUrl?: string;\n}\n\nexport function GithubStar({ repoUrl }: GithubStarProps) {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n // Hide the button initially to prevent showing \"Star\" before the count loads\n // Show it after a delay to allow GitHub's script to load and render the count\n // This gives enough time for the async GitHub API call to complete\n const timer = setTimeout(() => {\n setIsVisible(true);\n }, 500);\n\n return () => clearTimeout(timer);\n }, []);\n\n if (!repoUrl) {\n return null;\n }\n\n return (\n <div className=\"h-5 relative flex items-center\">\n {!isVisible && (\n <Skeleton className=\"w-16 h-5 rounded-xs\" />\n )}\n <div\n className={isVisible ? 'opacity-100' : 'opacity-0'}\n style={{\n transition: 'opacity 0.3s ease-in',\n pointerEvents: isVisible ? 'auto' : 'none',\n minHeight: '20px', // Prevent layout shift\n }}\n >\n <GitHubButton\n href={repoUrl}\n data-color-scheme=\"no-preference: dark-high-contrast; light: light; dark: dark-high-contrast;\"\n data-icon=\"octicon-star\"\n data-show-count=\"true\"\n aria-label=\"Star on GitHub\"\n >\n Star\n </GitHubButton>\n </div>\n </div>\n );\n}\n\n","import Link from 'next/link';\nimport { GithubIcon } from 'lucide-react';\nimport { buttonVariants } from '../../ui/button';\nimport type { Locale } from '@next-library/core';\n\ninterface GithubLinkProps {\n language?: Locale;\n repoUrl?: string;\n}\n\nexport function GithubLink({ language = 'en', repoUrl }: GithubLinkProps) {\n if (!repoUrl) {\n return null;\n }\n\n // Build URL based on language\n let url = repoUrl;\n if (language !== 'en') {\n // Add language-specific path for non-English locales\n url = `${repoUrl}/tree/main/i18n/${language}`;\n }\n\n return (\n <Link\n href={url}\n className={buttonVariants({ variant: 'ghost', size: 'icon' })}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"View source on GitHub\"\n >\n <GithubIcon />\n </Link>\n );\n}\n\n","'use client';\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { cn } from '../../layout/utils';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Locale, TableOfContentsItem } from '@next-library/core';\n\ninterface TableOfContentsProps {\n toc: TableOfContentsItem[];\n className?: string;\n lang: Locale;\n translations?: {\n tableOfContents?: string;\n };\n}\n\ninterface FlatItem {\n id: string;\n text: string;\n level: number;\n}\n\n/** Depth-first flatten of the TOC tree, keeping nesting level for indentation. */\nfunction flatten(items: TableOfContentsItem[], level = 0, out: FlatItem[] = []): FlatItem[] {\n for (const item of items) {\n out.push({ id: item.id, text: item.text, level });\n if (item.children?.length) flatten(item.children, level + 1, out);\n }\n return out;\n}\n\n/**\n * Scroll-spy Table of Contents with a sliding rail indicator (Fumadocs-style),\n * kept monochrome to match the design system. The \"thumb\" tracks the heading\n * currently in view and slides smoothly as you scroll; the active item is\n * emphasised while the rest stay muted. Presentational only.\n */\nexport function TableOfContents({ toc, className, lang, translations = {} }: TableOfContentsProps) {\n const defaultTranslations = getTranslations(lang);\n const { tableOfContents: tocLabel = defaultTranslations.tableOfContents } = translations;\n\n const items = useMemo(() => flatten(toc), [toc]);\n const ids = useMemo(() => items.map((i) => i.id), [items]);\n\n const navRef = useRef<HTMLDivElement | null>(null);\n const linkRefs = useRef<Map<string, HTMLAnchorElement>>(new Map());\n const [activeId, setActiveId] = useState<string>('');\n const [thumb, setThumb] = useState<{ top: number; height: number } | null>(null);\n\n // Track which heading is currently in view.\n useEffect(() => {\n if (!ids.length) return;\n const els = ids\n .map((id) => document.getElementById(id))\n .filter((el): el is HTMLElement => Boolean(el));\n if (!els.length) return;\n\n const visible = new Set<string>();\n const pick = () => {\n // Prefer the first visible heading in document order.\n let next = ids.find((id) => visible.has(id));\n if (!next) {\n // Otherwise, the last heading scrolled past the top offset.\n let candidate = ids[0];\n for (const el of els) {\n if (el.getBoundingClientRect().top - 96 <= 0) candidate = el.id;\n }\n next = candidate;\n }\n setActiveId((prev) => (prev === next ? prev : (next as string)));\n };\n\n const obs = new IntersectionObserver(\n (entries) => {\n for (const e of entries) {\n if (e.isIntersecting) visible.add(e.target.id);\n else visible.delete(e.target.id);\n }\n pick();\n },\n { rootMargin: '-80px 0px -66% 0px', threshold: [0, 1] },\n );\n els.forEach((el) => obs.observe(el));\n pick();\n return () => obs.disconnect();\n }, [ids]);\n\n // Slide the rail thumb to the active item.\n const measure = useCallback(() => {\n const nav = navRef.current;\n const el = activeId ? linkRefs.current.get(activeId) : undefined;\n if (!nav || !el) {\n setThumb(null);\n return;\n }\n const n = nav.getBoundingClientRect();\n const r = el.getBoundingClientRect();\n setThumb({ top: r.top - n.top, height: r.height });\n }, [activeId]);\n\n useEffect(() => {\n measure();\n window.addEventListener('resize', measure);\n return () => window.removeEventListener('resize', measure);\n }, [measure]);\n\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement>, id: string) => {\n e.preventDefault();\n const element = document.getElementById(id);\n if (!element) return;\n const navbar = document.querySelector('nav') || document.querySelector('[data-navbar]');\n const navbarHeight = navbar instanceof HTMLElement ? navbar.offsetHeight : 80;\n window.scrollTo({ top: element.offsetTop - navbarHeight - 20, behavior: 'smooth' });\n history.replaceState(null, '', `#${id}`);\n };\n\n if (!toc || toc.length === 0) return null;\n\n return (\n <div className={className}>\n <h3 className=\"mb-3 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" className=\"size-3.5\">\n <path d=\"M4 6h10M4 12h16M4 18h12\" />\n </svg>\n {tocLabel}\n </h3>\n <div ref={navRef} className=\"relative\">\n {/* Base rail */}\n <div aria-hidden className=\"absolute left-0 top-0 h-full w-px bg-border\" />\n {/* Sliding active thumb */}\n <div\n aria-hidden\n className=\"absolute left-0 w-0.5 rounded-full bg-foreground transition-all duration-300 ease-out\"\n style={{\n top: thumb ? thumb.top : 0,\n height: thumb ? thumb.height : 0,\n opacity: thumb ? 1 : 0,\n }}\n />\n <ul className=\"list-none\">\n {items.map((item) => {\n const isActive = item.id === activeId;\n return (\n <li key={item.id}>\n <a\n ref={(node) => {\n if (node) linkRefs.current.set(item.id, node);\n else linkRefs.current.delete(item.id);\n }}\n href={`#${item.id}`}\n onClick={(e) => handleClick(e, item.id)}\n style={{ paddingLeft: `${12 + item.level * 14}px` }}\n className={cn(\n 'block py-1.5 pr-2 text-sm leading-snug transition-colors',\n isActive ? 'font-medium text-foreground' : 'text-muted-foreground hover:text-foreground',\n )}\n >\n {item.text}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n );\n}\n","'use client';\n\nimport * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { cn } from '../layout/utils';\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full object-cover', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n\n","import React from 'react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../ui/avatar';\nimport Link from 'next/link';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Contributor } from '@next-library/core';\nimport type { Locale } from '@next-library/core';\n\ninterface GithubContributorsProps {\n contributors: Contributor[];\n githubPath?: string;\n locale: Locale;\n translations?: {\n contributors?: string;\n };\n}\n\n/**\n * Optimize GitHub avatar URL by appending size parameter\n * GitHub supports &s=64 for 64x64 pixel images (perfect for avatars)\n * Documentation: https://docs.github.com/en/rest/users/users#get-a-user\n */\nexport function optimizeAvatarUrl(url: string): string {\n if (url && url.includes('avatars.githubusercontent.com')) {\n // Check if already has size parameter\n if (!url.includes('&s=') && !url.includes('?s=')) {\n return `${url}&s=64`;\n }\n }\n return url;\n}\n\nexport function GithubContributors({\n contributors,\n githubPath,\n locale,\n translations = {},\n}: GithubContributorsProps) {\n const defaultTranslations = getTranslations(locale);\n const { contributors: contributorsLabel = defaultTranslations.contributors } = translations;\n\n // Don't render if no contributors\n if (contributors.length === 0) {\n return null;\n }\n\n return (\n <div className=\"w-full\">\n <h3 className=\"mb-3 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"size-3.5\">\n <path d=\"M16 19a4 4 0 0 0-8 0M12 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6M20 19a3.5 3.5 0 0 0-5-3.2M18.5 10.3a2.6 2.6 0 0 0 0-4.6\" />\n </svg>\n {contributorsLabel}\n </h3>\n <div className=\"isolate flex -space-x-2 overflow-hidden pl-1\">\n {contributors.slice(0, 8).map((contributor, index) => (\n <Link\n key={contributor.username}\n href={contributor.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={`relative inline-block z-${90 - index * 10}`}\n >\n <Avatar className=\"w-10 h-10\">\n <AvatarImage\n src={optimizeAvatarUrl(contributor.image)}\n alt={contributor.username}\n className=\"object-cover\"\n />\n <AvatarFallback>{contributor.username[0]}</AvatarFallback>\n </Avatar>\n </Link>\n ))}\n {contributors.length > 8 && (\n <Link\n key=\"8+\"\n href={`https://github.com/${githubPath || ''}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={`relative inline-block z-0`}\n >\n <Avatar className=\"w-10 h-10\">\n <AvatarImage color=\"white\" />\n <AvatarFallback>\n <span className=\"font-bold\">+{contributors.length - 8}</span>\n </AvatarFallback>\n </Avatar>\n </Link>\n )}\n </div>\n </div>\n );\n}\n","import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n 'text-muted-foreground flex items-center gap-1.5 text-sm sm:gap-2.5',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn('hover:text-foreground transition-colors', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n\n","'use client';\n\nimport * as React from 'react';\n\nexport function useMediaQuery(query: string) {\n const [value, setValue] = React.useState(false);\n\n React.useEffect(() => {\n function onChange(event: MediaQueryListEvent) {\n setValue(event.matches);\n }\n\n const result = matchMedia(query);\n result.addEventListener('change', onChange);\n setValue(result.matches);\n\n return () => result.removeEventListener('change', onChange);\n }, [query]);\n\n return value;\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { useMediaQuery } from '../../hooks/use-media-query';\nimport { BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink } from './breadcrumb';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from './dropdown-menu';\nimport {\n Drawer,\n DrawerContent,\n DrawerFooter,\n DrawerClose,\n DrawerTrigger,\n} from './drawer';\nimport { Button } from './button';\nimport Link from 'next/link';\n\nexport interface BreadcrumbItemType {\n href?: string;\n label: string;\n isCurrentPage?: boolean;\n}\n\nexport interface BreadcrumbToggleProps {\n overflowItems: BreadcrumbItemType[];\n className?: string;\n}\n\nexport function BreadcrumbToggle({ overflowItems, className }: BreadcrumbToggleProps) {\n const [open, setOpen] = React.useState(false);\n const isDesktop = useMediaQuery('(min-width: 768px)');\n\n const handleOverflowItemClick = useCallback(() => {\n setOpen(false);\n }, []);\n\n if (overflowItems.length === 0) {\n return null;\n }\n\n return (\n <BreadcrumbItem className={className}>\n {isDesktop ? (\n <DropdownMenu open={open} onOpenChange={setOpen}>\n <DropdownMenuTrigger\n className=\"flex items-center gap-1\"\n aria-label=\"Show more breadcrumb items\"\n >\n <BreadcrumbEllipsis className=\"size-4\" />\n <span className=\"sr-only\">Toggle menu</span>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" className=\"bg-white dark:bg-black\">\n {overflowItems.map((item, index) => (\n <DropdownMenuItem key={index} onClick={handleOverflowItemClick}>\n <BreadcrumbLink asChild>\n <Link\n href={item.href || '#'}\n className=\"w-full\"\n aria-label={`Navigate to ${item.label}`}\n >\n {item.label}\n </Link>\n </BreadcrumbLink>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n ) : (\n <Drawer open={open} onOpenChange={setOpen}>\n <DrawerTrigger aria-label=\"Show more breadcrumb items\">\n <BreadcrumbEllipsis className=\"h-4 w-4\" />\n </DrawerTrigger>\n <DrawerContent>\n <div className=\"grid gap-1 p-4 overflow-y-auto\">\n {overflowItems.map((item, index) => (\n <Link\n key={index}\n href={item.href || '#'}\n className=\"py-2 px-3 text-sm rounded-md hover:bg-muted transition-colors\"\n onClick={handleOverflowItemClick}\n aria-label={`Navigate to ${item.label}`}\n >\n {item.label}\n </Link>\n ))}\n </div>\n <DrawerFooter className=\"pt-4\">\n <DrawerClose asChild>\n <Button variant=\"outline\">Close</Button>\n </DrawerClose>\n </DrawerFooter>\n </DrawerContent>\n </Drawer>\n )}\n </BreadcrumbItem>\n );\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbSeparator,\n} from '../../ui/breadcrumb';\nimport { BreadcrumbToggle } from '../../ui/breadcrumb-toggle';\nimport { getTranslations } from '../../../lib/translations';\nimport type { PageData, Locale } from '@next-library/core';\nimport { Home } from 'lucide-react';\nimport Link from 'next/link';\n\nexport interface BreadcrumbsProps {\n data: PageData;\n isLoading?: boolean;\n className?: string;\n locale?: Locale;\n}\n\nexport function Breadcrumbs({ data, isLoading = false, className, locale = 'en' }: BreadcrumbsProps) {\n const { navigation } = data;\n const breadcrumbs = navigation.breadcrumbs;\n const translations = getTranslations(locale);\n\n if (breadcrumbs.length === 1) {\n return null;\n }\n\n if (isLoading) {\n return (\n <Breadcrumb className={className} id=\"breadcrumbs\">\n <BreadcrumbList>\n <BreadcrumbItem>\n <div className=\"h-4 w-4 bg-muted animate-pulse rounded\" />\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <div className=\"h-4 w-20 bg-muted animate-pulse rounded\" />\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n );\n }\n\n // Handle responsive overflow\n const ITEMS_TO_DISPLAY = 3;\n const hasOverflow = breadcrumbs.length > ITEMS_TO_DISPLAY;\n // Overflow items are everything between Home (index 0) and the last 2 items\n const overflowItems = hasOverflow ? breadcrumbs.slice(1, -2) : [];\n // Visible items are the last 2 items (excluding Home which is shown separately)\n const visibleItems = hasOverflow ? breadcrumbs.slice(-2) : breadcrumbs.slice(1);\n\n return (\n <Breadcrumb className={className} id=\"breadcrumbs\">\n <BreadcrumbList>\n {/* Home Icon - Always visible */}\n <BreadcrumbItem>\n <BreadcrumbLink asChild>\n <Link href={breadcrumbs[0]?.href || '#'} aria-label={translations.goToHomePage}>\n <Home className=\"h-4 w-4\" />\n </Link>\n </BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n\n {/* Overflow Menu */}\n {hasOverflow && (\n <>\n <BreadcrumbToggle overflowItems={overflowItems} />\n <BreadcrumbSeparator />\n </>\n )}\n\n {/* Visible Breadcrumb Items */}\n {visibleItems.map((item, index) => {\n const isLast = index === visibleItems.length - 1;\n return (\n <React.Fragment key={index}>\n <BreadcrumbItem>\n <BreadcrumbLink asChild className={!isLast ? 'whitespace-nowrap' : 'line-clamp-1'}>\n <Link href={item.href || '#'} aria-label={`Navigate to ${item.label}`}>\n {item.label}\n </Link>\n </BreadcrumbLink>\n </BreadcrumbItem>\n {index < visibleItems.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n\n","import * as React from 'react';\nimport { cn } from '../layout/utils';\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('rounded-lg border bg-card text-card-foreground shadow-sm', className)}\n {...props}\n />\n )\n);\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />\n )\n);\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-2xl font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n);\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n )\n);\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-6 pt-0', className)} {...props} />\n )\n);\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };\n\n","import React from 'react';\nimport Link from 'next/link';\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../../ui/card';\nimport { ExternalLinkIcon } from 'lucide-react';\nimport type { SidebarNode } from '@next-library/core';\n\ninterface FolderCardsProps {\n nodes: SidebarNode[];\n}\n\nexport function FolderCards({ nodes }: FolderCardsProps) {\n return (\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n {nodes.map((node) => (\n <Card\n key={node.websitePath}\n className=\"hover:bg-accent transition-colors border relative group\"\n >\n <Link href={node.websitePath || ''} className=\"block h-full\">\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-start justify-between gap-2\">\n <CardTitle className=\"text-base font-medium leading-tight pr-6\">\n {node.title}\n </CardTitle>\n <ExternalLinkIcon className=\"size-4 text-muted-foreground shrink-0 absolute top-4 right-4\" />\n </div>\n </CardHeader>\n {(() => {\n const description = node.frontmatter?.description;\n return description && typeof description === 'string' ? (\n <CardContent className=\"pt-0\">\n <CardDescription className=\"text-sm text-muted-foreground\">\n {description}\n </CardDescription>\n </CardContent>\n ) : null;\n })()}\n </Link>\n </Card>\n ))}\n </div>\n );\n}\n\n","'use client';\n\nimport React, { useRef, useState } from 'react';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkLint from 'remark-lint';\nimport remarkFrontmatter from 'remark-frontmatter';\nimport rehypeSanitize from 'rehype-sanitize';\nimport rehypeSlug from 'rehype-slug';\nimport rehypeCallouts from 'rehype-callouts';\nimport rehypeExternalLinks from 'rehype-external-links';\nimport rehypeHighlight from 'rehype-highlight';\nimport rehypeAutolinkHeadings from 'rehype-autolink-headings';\nimport { Check, Copy } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\ninterface MarkdownRendererProps {\n markdown: string;\n className?: string;\n}\n\n/** Fenced code block: a bordered card with a language label and a copy button. */\nfunction CodeBlock({ children, ...props }: React.HTMLAttributes<HTMLPreElement>) {\n const preRef = useRef<HTMLPreElement | null>(null);\n const [copied, setCopied] = useState(false);\n\n const codeChild = React.Children.toArray(children).find(\n (c): c is React.ReactElement<{ className?: string }> =>\n React.isValidElement(c) && typeof (c.props as { className?: string }).className === 'string',\n );\n const className = codeChild?.props.className ?? '';\n const match = className.match(/language-([\\w-]+)/);\n const lang = match ? match[1] : 'code';\n\n const copy = async () => {\n const text = preRef.current?.innerText ?? '';\n try {\n await navigator.clipboard.writeText(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n } catch {\n /* clipboard unavailable */\n }\n };\n\n return (\n <div className=\"cl-code not-prose\">\n <div className=\"cl-code-bar\">\n <span className=\"cl-code-lang\">{lang}</span>\n <button type=\"button\" onClick={copy} className=\"cl-code-copy\" aria-label={copied ? 'Copied' : 'Copy code'}>\n {copied ? <Check className=\"size-3.5\" /> : <Copy className=\"size-3.5\" />}\n </button>\n </div>\n <pre ref={preRef} {...props}>\n {children}\n </pre>\n </div>\n );\n}\n\nconst markdownComponents = {\n h1: () => null,\n pre: CodeBlock as unknown as React.ComponentType,\n};\n\nconst remarkPlugins = [remarkLint as any, remarkGfm, remarkFrontmatter];\nconst rehypePlugins = [\n rehypeSanitize,\n rehypeSlug,\n [\n rehypeAutolinkHeadings,\n {\n behavior: 'append',\n properties: { className: ['heading-anchor'], 'aria-label': 'Link to this section' },\n content: { type: 'text', value: '#' },\n },\n ] as any,\n rehypeCallouts,\n rehypeExternalLinks,\n rehypeHighlight,\n];\n\n/** Renders a markdown fragment (no outer <article>). */\nfunction Markdown({ markdown }: { markdown: string }) {\n return (\n <ReactMarkdown remarkPlugins={remarkPlugins} rehypePlugins={rehypePlugins} components={markdownComponents}>\n {markdown}\n </ReactMarkdown>\n );\n}\n\ninterface Tab { title: string; content: string }\n\n/** A tabbed content group. Each panel is itself rendered as markdown. */\nfunction Tabs({ tabs }: { tabs: Tab[] }) {\n const [active, setActive] = useState(0);\n return (\n <div className=\"cl-tabs not-prose\">\n <div className=\"cl-tabs-list\" role=\"tablist\">\n {tabs.map((t, i) => (\n <button\n key={i}\n type=\"button\"\n role=\"tab\"\n aria-selected={i === active}\n className={cn('cl-tab-btn', i === active && 'is-active')}\n onClick={() => setActive(i)}\n >\n {t.title}\n </button>\n ))}\n </div>\n <div className=\"cl-tabs-panel prose prose-md max-w-none dark:prose-invert\">\n <Markdown markdown={tabs[active]?.content ?? ''} />\n </div>\n </div>\n );\n}\n\ntype Segment = { type: 'md'; content: string } | { type: 'tabs'; tabs: Tab[] };\n\n/**\n * Split markdown into plain segments and tab groups, using an HTML-comment\n * convention that stays valid CommonMark:\n *\n * <!-- tabs -->\n * <!-- tab: UNIX-like -->\n * ```bash\n * ...\n * ```\n * <!-- tab: Live Windows -->\n * ...\n * <!-- /tabs -->\n */\nfunction parseSegments(md: string): Segment[] {\n const re = /<!--\\s*tabs\\s*-->([\\s\\S]*?)<!--\\s*\\/tabs\\s*-->/g;\n const segments: Segment[] = [];\n let last = 0;\n let m: RegExpExecArray | null;\n while ((m = re.exec(md))) {\n if (m.index > last) segments.push({ type: 'md', content: md.slice(last, m.index) });\n segments.push({ type: 'tabs', tabs: parseTabs(m[1]) });\n last = re.lastIndex;\n }\n if (last < md.length) segments.push({ type: 'md', content: md.slice(last) });\n return segments;\n}\n\nfunction parseTabs(block: string): Tab[] {\n const parts = block.split(/<!--\\s*tab:\\s*(.*?)\\s*-->/g);\n const tabs: Tab[] = [];\n for (let i = 1; i < parts.length; i += 2) {\n tabs.push({ title: (parts[i] || `Tab ${(i + 1) / 2}`).trim(), content: parts[i + 1] ?? '' });\n }\n return tabs.length ? tabs : [{ title: 'Tab', content: block }];\n}\n\nexport function MarkdownRenderer({ markdown, className = '' }: MarkdownRendererProps) {\n const segments = markdown.includes('<!-- tabs')\n ? parseSegments(markdown)\n : [{ type: 'md', content: markdown } as Segment];\n\n return (\n <article className={`cl-content-in prose prose-md max-w-none dark:prose-invert ${className}`}>\n {segments.map((s, i) =>\n s.type === 'tabs' ? <Tabs key={i} tabs={s.tabs} /> : <Markdown key={i} markdown={s.content} />,\n )}\n </article>\n );\n}\n","'use client';\n\nimport { useEffect, useState } from 'react';\nimport { CopyIcon, ChevronDownIcon, ExternalLinkIcon } from 'lucide-react';\nimport { Button } from '../ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../ui/dropdown-menu';\nimport { cn } from '../layout/utils';\nimport { getTranslations } from '../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\n// ChatGPT Icon Component\nfunction ChatGPTIcon({ className }: { className?: string }) {\n return (\n <svg\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M11.2475 18.25C10.6975 18.25 10.175 18.1455 9.67999 17.9365C9.18499 17.7275 8.74499 17.436 8.35999 17.062C7.94199 17.205 7.50749 17.2765 7.05649 17.2765C6.31949 17.2765 5.63749 17.095 5.01049 16.732C4.38349 16.369 3.87749 15.874 3.49249 15.247C3.11849 14.62 2.93149 13.9215 2.93149 13.1515C2.93149 12.8325 2.97549 12.486 3.06349 12.112C2.62349 11.705 2.28249 11.2375 2.04049 10.7095C1.79849 10.1705 1.67749 9.6095 1.67749 9.0265C1.67749 8.4325 1.80399 7.8605 2.05699 7.3105C2.30999 6.7605 2.66199 6.2875 3.11299 5.8915C3.57499 5.4845 4.10849 5.204 4.71349 5.05C4.83449 4.423 5.08749 3.862 5.47249 3.367C5.86849 2.861 6.35249 2.465 6.92449 2.179C7.49649 1.893 8.10699 1.75 8.75599 1.75C9.30599 1.75 9.82849 1.8545 10.3235 2.0635C10.8185 2.2725 11.2585 2.564 11.6435 2.938C12.0615 2.795 12.496 2.7235 12.947 2.7235C13.684 2.7235 14.366 2.905 14.993 3.268C15.62 3.631 16.1205 4.126 16.4945 4.753C16.8795 5.38 17.072 6.0785 17.072 6.8485C17.072 7.1675 17.028 7.514 16.94 7.888C17.38 8.295 17.721 8.768 17.963 9.307C18.205 9.835 18.326 10.3905 18.326 10.9735C18.326 11.5675 18.1995 12.1395 17.9465 12.6895C17.6935 13.2395 17.336 13.718 16.874 14.125C16.423 14.521 15.895 14.796 15.29 14.95C15.169 15.577 14.9105 16.138 14.5145 16.633C14.1295 17.139 13.651 17.535 13.079 17.821C12.507 18.107 11.8965 18.25 11.2475 18.25ZM7.17199 16.1875C7.72199 16.1875 8.20049 16.072 8.60749 15.841L11.7095 14.059C11.8195 13.982 11.8745 13.8775 11.8745 13.7455V12.3265L7.88149 14.62C7.63949 14.763 7.39749 14.763 7.15549 14.62L4.03699 12.8215C4.03699 12.8545 4.03149 12.893 4.02049 12.937C4.02049 12.981 4.02049 13.047 4.02049 13.135C4.02049 13.696 4.15249 14.213 4.41649 14.686C4.69149 15.148 5.07099 15.511 5.55499 15.775C6.03899 16.05 6.57799 16.1875 7.17199 16.1875ZM7.33699 13.498C7.40299 13.531 7.46349 13.5475 7.51849 13.5475C7.57349 13.5475 7.62849 13.531 7.68349 13.498L8.92099 12.7885L4.94449 10.4785C4.70249 10.3355 4.58149 10.121 4.58149 9.835V6.2545C4.03149 6.4965 3.59149 6.8705 3.26149 7.3765C2.93149 7.8715 2.76649 8.4215 2.76649 9.0265C2.76649 9.5655 2.90399 10.0825 3.17899 10.5775C3.45399 11.0725 3.81149 11.4465 4.25149 11.6995L7.33699 13.498ZM11.2475 17.161C11.8305 17.161 12.3585 17.029 12.8315 16.765C13.3045 16.501 13.6785 16.138 13.9535 15.676C14.2285 15.214 14.366 14.697 14.366 14.125V10.561C14.366 10.429 14.311 10.33 14.201 10.264L12.947 9.538V14.1415C12.947 14.4275 12.826 14.642 12.584 14.785L9.46549 16.5835C10.0045 16.9685 10.5985 17.161 11.2475 17.161ZM11.8745 11.122V8.878L10.01 7.822L8.12899 8.878V11.122L10.01 12.178L11.8745 11.122ZM7.05649 5.8585C7.05649 5.5725 7.17749 5.358 7.41949 5.215L10.538 3.4165C9.99899 3.0315 9.40499 2.839 8.75599 2.839C8.17299 2.839 7.64499 2.971 7.17199 3.235C6.69899 3.499 6.32499 3.862 6.04999 4.324C5.78599 4.786 5.65399 5.303 5.65399 5.875V9.4225C5.65399 9.5545 5.70899 9.659 5.81899 9.736L7.05649 10.462V5.8585ZM15.4385 13.7455C15.9885 13.5035 16.423 13.1295 16.742 12.6235C17.072 12.1175 17.237 11.5675 17.237 10.9735C17.237 10.4345 17.0995 9.9175 16.8245 9.4225C16.5495 8.9275 16.192 8.5535 15.752 8.3005L12.6665 6.5185C12.6005 6.4745 12.54 6.458 12.485 6.469C12.43 6.469 12.375 6.4855 12.32 6.5185L11.0825 7.2115L15.0755 9.538C15.1965 9.604 15.2845 9.692 15.3395 9.802C15.4055 9.901 15.4385 10.022 15.4385 10.165V13.7455ZM12.122 5.3635C12.364 5.2095 12.606 5.2095 12.848 5.3635L15.983 7.195C15.983 7.118 15.983 7.019 15.983 6.898C15.983 6.37 15.851 5.8695 15.587 5.3965C15.334 4.9125 14.9655 4.5275 14.4815 4.2415C14.0085 3.9555 13.4585 3.8125 12.8315 3.8125C12.2815 3.8125 11.803 3.928 11.396 4.159L8.29399 5.941C8.18399 6.018 8.12899 6.1225 8.12899 6.2545V7.6735L12.122 5.3635Z\" />\n </svg>\n );\n}\n\n// Claude Icon Component\nfunction ClaudeIcon({ className }: { className?: string }) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M96.0000 40.0000 L99.5002 42.0000 L99.5002 43.5000 L98.5000 47.0000 L56.0000 57.0000 L52.0040 47.0708 L96.0000 40.0000 M96.0000 40.0000 \" />\n <path d=\"M80.1032 10.5903 L84.9968 11.6171 L86.2958 13.2179 L87.5346 17.0540 L87.0213 19.5007 L58.5000 58.5000 L49.0000 49.0000 L75.3008 14.4873 L80.1032 10.5903 M80.1032 10.5903 \" />\n <path d=\"M55.5002 4.5000 L58.5005 2.5000 L61.0002 3.5000 L63.5002 7.0000 L56.6511 48.1620 L52.0005 45.0000 L50.0005 39.5000 L53.5003 8.5000 L55.5002 4.5000 M55.5002 4.5000 \" />\n <path d=\"M23.4253 5.1588 L26.5075 1.2217 L28.5175 0.7632 L32.5063 1.3458 L34.4748 2.8868 L48.8202 34.6902 L54.0089 49.8008 L47.9378 53.1760 L24.8009 11.1886 L23.4253 5.1588 M23.4253 5.1588 \" />\n <path d=\"M8.4990 27.0019 L7.4999 23.0001 L10.5003 19.5001 L14.0003 20.0001 L15.0003 20.0001 L36.0000 35.5000 L42.5000 40.5000 L51.5000 47.5000 L46.5000 56.0000 L42.0002 52.5000 L39.0001 49.5000 L10.0000 29.0001 L8.4990 27.0019 M8.4990 27.0019 \" />\n <path d=\"M2.5003 53.0000 L0.2370 50.5000 L0.2373 48.2759 L2.5003 47.5000 L28.0000 49.0000 L53.0000 51.0000 L52.1885 55.9782 L4.5000 53.5000 L2.5003 53.0000 M2.5003 53.0000 \" />\n <path d=\"M17.5002 79.0264 L12.5005 79.0264 L10.5124 76.7369 L10.5124 74.0000 L19.0005 68.0000 L53.5082 46.0337 L57.0005 52.0000 L17.5002 79.0264 M17.5002 79.0264 \" />\n <path d=\"M27.0004 92.9999 L25.0003 93.4999 L22.0003 91.9999 L22.5004 89.4999 L52.0003 50.5000 L56.0004 55.9999 L34.0003 85.0000 L27.0004 92.9999 M27.0004 92.9999 \" />\n <path d=\"M51.9998 98.0000 L50.5002 100.0000 L47.5002 101.0000 L45.0001 99.0000 L43.5000 96.0000 L51.0003 55.4999 L55.5001 55.9999 L51.9998 98.0000 M51.9998 98.0000 \" />\n <path d=\"M77.5007 86.9997 L77.5007 90.9997 L77.0006 92.4997 L75.0004 93.4997 L71.5006 93.0339 L47.4669 57.2642 L56.9998 50.0002 L64.9994 64.5004 L65.7507 69.7497 L77.5007 86.9997 M77.5007 86.9997 \" />\n <path d=\"M89.0008 80.9991 L89.5008 83.4991 L88.0008 85.4991 L86.5007 84.9991 L78.0007 78.9991 L65.0007 67.4991 L55.0007 60.4991 L58.0000 51.0000 L62.9999 54.0001 L66.0007 59.4991 L89.0008 80.9991 M89.0008 80.9991 \" />\n <path d=\"M82.5003 55.5000 L95.0003 56.5000 L98.0003 58.5000 L100.0000 61.5000 L100.0000 63.6587 L94.5003 66.0000 L66.5005 59.0000 L55.0003 58.5000 L58.0000 48.0000 L66.0005 54.0000 L82.5003 55.5000 M82.5003 55.5000 \" />\n </svg>\n );\n}\n\ninterface CopyPageButtonTranslations {\n copyPage?: string;\n copied?: string;\n openInChatGPT?: string;\n openInClaude?: string;\n askAboutThisPage?: string;\n copyPageDescription?: string;\n askQuestionsDescription?: string;\n chatGPTPrefix?: string;\n}\n\ninterface CopyPageButtonProps {\n sourceCode: string;\n pageUrl?: string;\n websiteTitle?: string;\n className?: string;\n locale?: Locale;\n translations?: CopyPageButtonTranslations;\n}\n\nexport function CopyPageButton({\n sourceCode,\n pageUrl,\n websiteTitle,\n className,\n locale = 'en',\n translations = {},\n}: CopyPageButtonProps) {\n const [isCopied, setCopied] = useState(false);\n\n // Get default translations for locale, allow overrides via props\n const defaultTranslations = getTranslations(locale);\n const {\n copyPage = defaultTranslations.copyPage,\n copied = defaultTranslations.copied,\n openInChatGPT = defaultTranslations.openInChatGPT,\n openInClaude = defaultTranslations.openInClaude,\n askAboutThisPage: _askAboutThisPage = defaultTranslations.askAboutThisPage,\n copyPageDescription = defaultTranslations.copyPageDescription,\n askQuestionsDescription = defaultTranslations.askQuestionsDescription,\n chatGPTPrefix = defaultTranslations.chatGPTPrefix,\n } = translations;\n\n useEffect(() => {\n if (!isCopied) return;\n const timerId = setTimeout(() => {\n setCopied(false);\n }, 1000);\n\n return () => {\n clearTimeout(timerId);\n };\n }, [isCopied]);\n\n function handleCopy() {\n navigator.clipboard.writeText(sourceCode);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }\n\n function handleOpenInChatGPT() {\n if (!pageUrl) return;\n \n // Ensure pageUrl is a full URL\n const fullPageUrl = pageUrl.startsWith('http') ? pageUrl : `https://${pageUrl.replace(/^\\/+/, '')}`;\n \n // Build the message with prefix and page content\n const titlePart = websiteTitle ? `${websiteTitle} - ` : '';\n const prefix = `${chatGPTPrefix} ${titlePart}${fullPageUrl} please read it to answer my questions.\\n\\n`;\n const fullMessage = prefix + sourceCode;\n \n // Encode the message for URL\n const encodedMessage = encodeURIComponent(fullMessage);\n \n // Create ChatGPT URL\n const chatGPTUrl = `https://chatgpt.com/?q=${encodedMessage}`;\n \n // Open in new tab\n window.open(chatGPTUrl, '_blank', 'noopener,noreferrer');\n }\n\n function handleOpenInClaude() {\n if (!pageUrl) return;\n \n // Ensure pageUrl is a full URL\n const fullPageUrl = pageUrl.startsWith('http') ? pageUrl : `https://${pageUrl.replace(/^\\/+/, '')}`;\n \n // Build the message with prefix and page content\n const titlePart = websiteTitle ? `${websiteTitle} - ` : '';\n const prefix = `${chatGPTPrefix} ${titlePart}${fullPageUrl} please read it to answer my questions.\\n\\n`;\n const fullMessage = prefix + sourceCode;\n \n // Encode the message for URL\n const encodedMessage = encodeURIComponent(fullMessage);\n \n // Create Claude URL (Anthropic's Claude Web)\n const claudeUrl = `https://claude.ai/new?q=${encodedMessage}`;\n \n // Open in new tab\n window.open(claudeUrl, '_blank', 'noopener,noreferrer');\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className={cn(\n 'flex gap-2 text-sm font-medium items-center',\n isCopied && 'opacity-70',\n className\n )}\n >\n <CopyIcon width=\"16\" />\n {isCopied ? copied : copyPage}\n <ChevronDownIcon width=\"14\" className=\"opacity-50\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"min-w-[200px]\">\n <DropdownMenuItem onClick={handleCopy}>\n <CopyIcon width=\"16\" className=\"mr-2\" />\n <div className=\"flex flex-col\">\n <span className=\"text-sm font-medium\">{copyPage}</span>\n <span className=\"text-xs text-muted-foreground\">{copyPageDescription}</span>\n </div>\n </DropdownMenuItem>\n {pageUrl && (\n <>\n <DropdownMenuItem onClick={handleOpenInChatGPT}>\n <div className=\"flex items-center gap-2\">\n <ChatGPTIcon className=\"w-4 h-4 shrink-0\" />\n <div className=\"flex flex-col flex-1\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"text-sm font-medium\">{openInChatGPT}</span>\n <ExternalLinkIcon width=\"12\" className=\"text-muted-foreground shrink-0\" />\n </div>\n <span className=\"text-xs text-muted-foreground\">{askQuestionsDescription}</span>\n </div>\n </div>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={handleOpenInClaude}>\n <div className=\"flex items-center gap-2\">\n <ClaudeIcon className=\"w-4 h-4 shrink-0\" />\n <div className=\"flex flex-col flex-1\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"text-sm font-medium\">{openInClaude}</span>\n <ExternalLinkIcon width=\"12\" className=\"text-muted-foreground shrink-0\" />\n </div>\n <span className=\"text-xs text-muted-foreground\">{askQuestionsDescription}</span>\n </div>\n </div>\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n","'use client';\n\nimport { CookieIcon } from 'lucide-react';\nimport { useEffect, useState } from 'react';\nimport { Button } from '../ui/button';\nimport { getTranslations } from '../../lib/translations';\n// @vercel/analytics is optional - only track if available\nfunction track(event: string, data?: Record<string, any>) {\n if (typeof window !== 'undefined') {\n try {\n // Dynamic import to avoid build errors if @vercel/analytics is not installed\n // @ts-ignore - optional dependency\n import('@vercel/analytics').then(({ track: trackFn }) => {\n trackFn(event, data);\n }).catch(() => {\n // @vercel/analytics not installed, tracking will be no-op\n });\n } catch {\n // Ignore errors\n }\n }\n}\nimport { cn } from '../layout/utils';\nimport Link from 'next/link';\nimport type { Locale } from '@next-library/core';\n\ninterface CookieBannerProps {\n locale: Locale;\n variant?: 'default' | 'small';\n onAcceptCallback?: () => void;\n onDeclineCallback?: () => void;\n translations?: {\n title?: string;\n description?: string;\n learnMore?: string;\n accept?: string;\n decline?: string;\n };\n}\n\nexport function CookieBanner({\n locale,\n variant = 'default',\n onAcceptCallback = () => {},\n onDeclineCallback = () => {},\n translations = {},\n}: CookieBannerProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [hide, setHide] = useState(false);\n\n const defaultTranslations = getTranslations(locale);\n const {\n title = defaultTranslations.cookieConsent,\n description = defaultTranslations.cookieDescription,\n learnMore = defaultTranslations.cookieLearnMore,\n accept: acceptText = defaultTranslations.accept,\n decline: declineText = defaultTranslations.decline,\n } = translations;\n\n const handleAccept = () => {\n setIsOpen(false);\n localStorage.setItem('cookieConsent', 'true');\n setTimeout(() => {\n setHide(true);\n }, 700);\n onAcceptCallback();\n };\n\n const handleDecline = () => {\n setIsOpen(false);\n localStorage.setItem('cookieConsent', 'false');\n setTimeout(() => {\n setHide(true);\n }, 700);\n onDeclineCallback();\n };\n\n useEffect(() => {\n try {\n const consent = localStorage.getItem('cookieConsent');\n if (consent === 'true' || consent === 'false') {\n setIsOpen(false);\n setHide(true);\n } else {\n setIsOpen(true);\n }\n } catch (e) {\n console.error('Error reading cookie consent:', e);\n setIsOpen(true);\n }\n }, []);\n\n return variant !== 'small' ? (\n <div\n className={cn(\n 'fixed z-[200] bottom-0 left-0 right-0 sm:right-0 sm:left-auto sm:bottom-4 w-full sm:max-w-md duration-700',\n !isOpen\n ? 'transition-[opacity,transform] translate-y-8 opacity-0'\n : 'transition-[opacity,transform] translate-y-0 opacity-100',\n hide && 'hidden'\n )}\n >\n <div className=\"rounded-md m-3 border border-border shadow-lg bg-background\">\n <div className=\"flex flex-col\">\n <div className=\"border-b border-border h-14 flex items-center justify-between p-4\">\n <h1 className=\"text-lg font-medium\">{title}</h1>\n <CookieIcon className=\"h-[1.2rem] w-[1.2rem]\" />\n </div>\n <div className=\"p-4\">\n <p className=\"text-sm font-normal text-start mb-2\">\n {description}{' '}\n <Link href={`/${locale}/privacy`} className=\"text-xs underline ml-1\">\n {learnMore}\n </Link>\n </p>\n </div>\n <div className=\"flex justify-around gap-2 p-4 py-5 border-t border-border dark:bg-background/20\">\n <Button onClick={handleAccept} className=\"flex-1\">\n {acceptText}\n </Button>\n <Button onClick={handleDecline} className=\"flex-1\" variant=\"secondary\">\n {declineText}\n </Button>\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div\n className={cn(\n 'fixed z-[200] bottom-0 left-0 right-0 sm:right-4 sm:left-auto sm:bottom-4 w-full sm:max-w-md duration-700',\n !isOpen\n ? 'transition-[opacity,transform] translate-y-8 opacity-0'\n : 'transition-[opacity,transform] translate-y-0 opacity-100',\n hide && 'hidden'\n )}\n >\n <div className=\"m-3 bg-background border border-border rounded-lg\">\n <div className=\"flex items-center justify-between p-3\">\n <h1 className=\"text-lg font-medium\">{title}</h1>\n <CookieIcon className=\"h-[1.2rem] w-[1.2rem]\" />\n </div>\n <div className=\"p-3 -mt-2\">\n <p className=\"text-sm text-left text-muted-foreground\">\n {description}{' '}\n <Link href={`/${locale}/privacy`} className=\"underline\">\n {learnMore}\n </Link>\n </p>\n </div>\n <div className=\"p-3 flex items-center gap-2 mt-2 border-t\">\n <Button\n className=\"w-full h-9 rounded-full\"\n onClick={() => {\n track('Accept Cookie Banner');\n handleAccept();\n }}\n >\n {acceptText}\n </Button>\n <Button\n className=\"w-full h-9 rounded-full\"\n variant=\"outline\"\n onClick={() => {\n track('Decline Cookie Banner');\n handleDecline();\n }}\n >\n {declineText}\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n align = 'center',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md',\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 align={align}\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)] scroll-my-1'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('text-muted-foreground px-2 py-1.5 text-xs', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n\n","'use client';\n\nimport { useEffect } from 'react';\nimport { getTranslations } from '../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\ninterface AnchorLinkHandlerProps {\n locale?: Locale;\n}\n\nexport function AnchorLinkHandler({ locale = 'en' }: AnchorLinkHandlerProps) {\n useEffect(() => {\n const translations = getTranslations(locale);\n const handleClick = (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n const anchor = target.closest('a[href^=\"#\"]');\n\n if (anchor && anchor.classList.contains('inline-flex')) {\n e.preventDefault();\n e.stopPropagation();\n\n const href = anchor.getAttribute('href');\n if (href) {\n const fullUrl = window.location.origin + window.location.pathname + href;\n\n navigator.clipboard\n .writeText(fullUrl)\n .then(() => {\n // Show feedback\n const originalTitle = anchor.getAttribute('title');\n anchor.setAttribute('title', translations.linkCopied);\n\n // Visual feedback - briefly change the icon color\n const icon = anchor.querySelector('svg');\n if (icon) {\n icon.classList.add('text-green-500');\n setTimeout(() => {\n icon.classList.remove('text-green-500');\n }, 1000);\n }\n\n setTimeout(() => {\n anchor.setAttribute('title', originalTitle || translations.copyLinkToSection);\n }, 2000);\n })\n .catch((err) => {\n console.error('Failed to copy link:', err);\n // Fallback for older browsers\n try {\n const textArea = document.createElement('textarea');\n textArea.value = fullUrl;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand('copy');\n document.body.removeChild(textArea);\n } catch (fallbackErr) {\n console.error('Fallback copy failed:', fallbackErr);\n }\n });\n }\n }\n };\n\n // Add event listener\n document.addEventListener('click', handleClick);\n\n // Cleanup\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, [locale]);\n\n return null; // This component doesn't render anything\n}\n\n","'use client';\n\nimport { useEffect, useState } from 'react';\n\n/** A thin progress bar under the navbar that tracks how far the page is scrolled. */\nexport function ReadingProgress() {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const onScroll = () => {\n const el = document.documentElement;\n const max = el.scrollHeight - el.clientHeight;\n setWidth(max > 0 ? Math.min(100, (el.scrollTop / max) * 100) : 0);\n };\n onScroll();\n window.addEventListener('scroll', onScroll, { passive: true });\n window.addEventListener('resize', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onScroll);\n };\n }, []);\n\n return <div className=\"cl-progress\" style={{ width: `${width}%` }} aria-hidden=\"true\" />;\n}\n"]}
1
+ {"version":3,"sources":["../src/components/layout/navigation-bar.tsx","../src/components/layout/footer.tsx","../src/components/layout/documentation-layout.tsx","../src/lib/translations/index.ts","../src/components/navigation/sidebar-left/parent.tsx","../src/components/layout/utils.ts","../src/components/navigation/sidebar-left/level-elevator.tsx","../src/components/navigation/sidebar-left/toolbox.tsx","../src/components/layout/left-sidebar.tsx","../src/components/layout/right-sidebar.tsx","../src/components/layout/doc-pager.tsx","../src/components/markdown/page-header.tsx","../src/lib/translations/locale-names.ts","../src/components/markdown/fallback-locale-warning.tsx","../src/components/seo/structured-data.tsx","../src/components/ui/sticky-banner.tsx","../src/components/navigation/navbar/banner.tsx","../src/components/navigation/navbar/logo.tsx","../src/components/navigation/navbar/top-categories.tsx","../src/components/navigation/navbar/search-bar.tsx","../src/components/navigation/navbar/theme-switcher.tsx","../src/components/ui/button.tsx","../src/components/ui/dropdown-menu.tsx","../src/components/navigation/navbar/language-switcher.tsx","../src/components/ui/drawer.tsx","../src/hooks/use-mobile.tsx","../src/components/ui/input.tsx","../src/components/ui/separator.tsx","../src/components/ui/sheet.tsx","../src/components/ui/skeleton.tsx","../src/components/ui/tooltip.tsx","../src/components/ui/sidebar.tsx","../src/components/ui/collapsible.tsx","../src/components/navigation/sidebar-left/sidebar.tsx","../src/lib/mobile-menu-store.ts","../src/components/navigation/navbar/mobile-menu.tsx","../src/components/navigation/navbar/github-star.tsx","../src/components/navigation/navbar/github-link.tsx","../src/components/navigation/sidebar-right/table-of-contents.tsx","../src/components/ui/avatar.tsx","../src/components/navigation/sidebar-right/github-contributors.tsx","../src/components/ui/breadcrumb.tsx","../src/hooks/use-media-query.tsx","../src/components/ui/breadcrumb-toggle.tsx","../src/components/navigation/main/breadcrumbs.tsx","../src/components/ui/card.tsx","../src/components/navigation/main/folder-cards.tsx","../src/components/markdown/markdown-renderer.tsx","../src/components/markdown/copy-page-button.tsx","../src/components/tracking/cookie-banner.tsx","../src/components/ui/select.tsx","../src/components/ui/anchor-link-handler.tsx","../src/components/layout/reading-progress.tsx"],"names":["jsx","jsxs","React","Link","getDirection","translations","Fragment","open","Banner","Logo","Image","TopCategories","SearchBar","useState","el","id","ThemeSwitcher","React6","LanguageSwitcher","DrawerPrimitive","React7","Separator","Slot","cva","CollapsibleTrigger","CollapsibleContent","SidebarNavigation","ChevronRight","MobileMenu","GithubStar","useEffect","GithubLink","TableOfContents","useMemo","useRef","useCallback","GithubContributors","React11","React12","Home","React13","React14","CopyPageButton","ExternalLinkIcon","CookieBanner","ChevronDownIcon","CheckIcon","ReadingProgress"],"mappings":"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","file":"index.js","sourcesContent":["import React, { Suspense } from 'react';\nimport {\n Logo,\n TopCategories,\n ThemeSwitcher,\n LanguageSwitcher,\n GithubStar,\n GithubLink,\n SearchBar,\n MobileMenu,\n} from '@next-library/theme/client';\nimport { getTopCategories, getDirection, getSupportedLocales, getLocaleConfig, type Locale, type ContentTree } from '@next-library/core';\nimport type { PageData } from '@next-library/core';\n\ninterface NavigationBarProps {\n language?: Locale;\n className?: string;\n pageData?: PageData;\n websiteTitle?: string;\n contentTree?: ContentTree;\n repoUrl?: string;\n accountSlot?: React.ReactNode;\n}\n\nexport function NavigationBar({\n language = 'en',\n className = '',\n pageData,\n websiteTitle,\n contentTree,\n repoUrl: repoUrlProp,\n accountSlot\n}: NavigationBarProps) {\n const direction = getDirection(language);\n \n // Get categories from tree if available\n const categories = contentTree ? getTopCategories(contentTree, language) : [];\n \n // Get available locales from content tree (server-side only)\n const availableLocales = typeof window === 'undefined' && contentTree ? getSupportedLocales(contentTree) : [];\n \n // Get locale configs for display names (server-side only)\n const localeConfigs = typeof window === 'undefined'\n ? availableLocales.map(locale => ({\n code: locale,\n nativeName: getLocaleConfig(locale)?.nativeName || locale.toUpperCase(),\n }))\n : undefined;\n\n // Use provided repoUrl or fallback to environment variables\n let repoUrl = repoUrlProp;\n if (!repoUrl && typeof window === 'undefined') {\n const githubUser = process.env.NEXT_PUBLIC_GITHUB_USER?.trim().replace(/^['\"]|['\"]$/g, '');\n const githubRepo = process.env.NEXT_PUBLIC_GITHUB_REPO?.trim().replace(/^['\"]|['\"]$/g, '');\n if (githubUser && githubRepo) {\n repoUrl = `https://github.com/${githubUser}/${githubRepo}`;\n }\n }\n\n return (\n <nav\n className={`py-3 sticky top-0 z-10 bg-background lg:w-[95vw] px-4 lg:px-0 lg:mx-auto ${className}`}\n role=\"navigation\"\n aria-label=\"Main navigation\"\n dir={direction}\n >\n <div className=\"flex items-center justify-between\">\n <Logo language={language} title={websiteTitle} />\n\n <div className=\"flex items-center gap-2 md:gap-3\">\n <div>\n <TopCategories categories={categories} />\n </div>\n <Suspense fallback={<div className=\"w-[200px] h-[40px]\"></div>}>\n <SearchBar language={language} />\n </Suspense>\n <GithubLink language={language} repoUrl={repoUrl} />\n <ThemeSwitcher />\n <LanguageSwitcher availableLocales={availableLocales} localeConfigs={localeConfigs} />\n {accountSlot}\n <MobileMenu pageData={pageData} />\n <div className=\"h-5 m-auto mx-1 hidden md:flex\">\n <GithubStar repoUrl={repoUrl} />\n </div>\n </div>\n </div>\n </nav>\n );\n}\n\n","import Link from 'next/link';\nimport React from 'react';\nimport Image from 'next/image';\n\ninterface DocumentationFooterProps {\n organizationName?: string;\n organizationLogo?: string;\n buildByText?: string;\n buildByLinks?: Array<{\n name: string;\n url: string;\n logo?: string;\n }>;\n}\n\nexport function DocumentationFooter({\n organizationName: _organizationName,\n organizationLogo: _organizationLogo,\n buildByText = 'Build by:',\n buildByLinks = [],\n}: DocumentationFooterProps) {\n return (\n <footer className=\"border-t h-16\">\n <div className=\"flex items-center sm:justify-between justify-center sm:gap-0 gap-4 h-full text-muted-foreground text-sm flex-wrap sm:py-0 py-3 max-sm:px-4 w-[95vw] mx-auto\">\n <div className=\"flex flex-row xitems-center gap-2\">\n <p className=\"text-center\">{buildByText}</p>\n {buildByLinks.map((link, index) => (\n <React.Fragment key={link.url}>\n {link.logo && (\n <Image\n className=\"h-4 w-auto ml-1\"\n src={link.logo}\n alt={`${link.name} logo`}\n width={20}\n height={20}\n />\n )}\n <Link className=\"underline underline-offset-2\" href={link.url}>\n {link.name}\n </Link>\n {index < buildByLinks.length - 1 && <p>&</p>}\n </React.Fragment>\n ))}\n </div>\n\n <div className=\"gap-4 items-center hidden md:flex\">\n <FooterButtons />\n </div>\n </div>\n </footer>\n );\n}\n\nexport function FooterButtons() {\n return <></>;\n}\n\n","import React from 'react';\nimport { NavigationBar } from './navigation-bar';\nimport { DocumentationFooter } from './footer';\nimport { Banner, CookieBanner, ReadingProgress } from '@next-library/theme/client';\nimport { getDirection, type Locale, type ContentTree } from '@next-library/core';\n\nexport interface DocumentationLayoutProps {\n children: React.ReactNode;\n language?: Locale;\n bannerMessage?: React.ReactNode | null;\n websiteTitle?: string | undefined;\n contentTree?: ContentTree;\n repoUrl?: string;\n /** Optional app-provided node rendered at the end of the navbar (e.g. an account button). */\n accountSlot?: React.ReactNode;\n}\n\nexport function DocumentationLayout(props: DocumentationLayoutProps) {\n const {\n children,\n language = 'en',\n bannerMessage = null,\n websiteTitle,\n contentTree,\n repoUrl,\n accountSlot\n } = props;\n const direction = getDirection(language);\n \n // Use provided websiteTitle or fallback to environment variable\n const title = websiteTitle || (typeof window === 'undefined' \n ? process.env.NEXT_PUBLIC_WEBSITE_TITLE?.trim().replace(/^['\"]|['\"]$/g, '')\n : undefined);\n\n return (\n <div className=\"bg-background flex flex-col\" dir={direction}>\n <ReadingProgress />\n {bannerMessage && (\n <Banner language={language}>\n {bannerMessage}\n </Banner>\n )}\n <NavigationBar \n language={language} \n className=\"hidden lg:block\" \n websiteTitle={title}\n contentTree={contentTree}\n repoUrl={repoUrl}\n accountSlot={accountSlot}\n />\n {children}\n <DocumentationFooter />\n <CookieBanner locale={language} />\n </div>\n );\n}\n\n","/**\n * Translation system for theme components\n * \n * This module provides translations for all user-facing text in theme components.\n * Components can use these translations based on the locale prop.\n */\n\nimport { FALLBACK_LOCALES, type Locale } from '@next-library/core';\n\nimport type { ThemeTranslations } from './theme-translations-types';\n\nexport type { ThemeTranslations } from './theme-translations-types';\n\n/**\n * English translations (default)\n */\nconst en: ThemeTranslations = {\n copyPage: 'Copy page',\n copied: 'Copied!',\n openInChatGPT: 'Open in ChatGPT',\n openInClaude: 'Open in Claude',\n askAboutThisPage: 'Ask about this page in ChatGPT',\n copyPageDescription: 'Copy page as Markdown for LLMs',\n askQuestionsDescription: 'Ask questions about this page',\n chatGPTPrefix: 'This page came from',\n tableOfContents: 'Table of Contents',\n contributors: 'Contributors',\n goToDocsHome: 'Go to docs home',\n goBackTo: 'Go back to',\n goToPreviousPage: 'Go to previous page',\n goToNextPage: 'Go to next page',\n noPreviousPage: 'No previous page',\n noNextPage: 'No next page',\n cookieConsent: 'Cookie Consent',\n cookieDescription: 'We use cookies to enhance your experience.',\n cookieLearnMore: 'Learn more',\n accept: 'Accept',\n decline: 'Decline',\n goToHomePage: 'Go to home page',\n home: 'Home',\n linkCopied: 'Link copied!',\n copyLinkToSection: 'Copy link to section',\n search: 'Search',\n searchPlaceholder: 'Search',\n closeBanner: 'Close banner',\n fallbackLocaleWarning: \"This content is shown in {fallbackLocaleName} as it's not available in {requestedLocaleName}.\",\n};\n\n/**\n * French translations\n */\nconst fr: ThemeTranslations = {\n copyPage: 'Copier la page',\n copied: 'Copié !',\n openInChatGPT: 'Ouvrir dans ChatGPT',\n openInClaude: 'Ouvrir dans Claude',\n askAboutThisPage: 'Poser une question sur cette page dans ChatGPT',\n copyPageDescription: 'Copier la page au format Markdown pour les LLM',\n askQuestionsDescription: 'Poser des questions sur cette page',\n chatGPTPrefix: 'Cette page provient de',\n tableOfContents: 'Table des matières',\n contributors: 'Contributeurs',\n goToDocsHome: 'Aller à l\\'accueil de la documentation',\n goBackTo: 'Retour à',\n goToPreviousPage: 'Page précédente',\n goToNextPage: 'Page suivante',\n noPreviousPage: 'Aucune page précédente',\n noNextPage: 'Aucune page suivante',\n cookieConsent: 'Consentement aux cookies',\n cookieDescription: 'Nous utilisons des cookies pour améliorer votre expérience.',\n cookieLearnMore: 'En savoir plus',\n accept: 'Accepter',\n decline: 'Refuser',\n goToHomePage: 'Aller à la page d\\'accueil',\n home: 'Accueil',\n linkCopied: 'Lien copié !',\n copyLinkToSection: 'Copier le lien vers la section',\n search: 'Rechercher',\n searchPlaceholder: 'Rechercher',\n closeBanner: 'Fermer la bannière',\n fallbackLocaleWarning: \"Ce contenu est affiché en {fallbackLocaleName} car il n'est pas disponible en {requestedLocaleName}.\",\n};\n\n/**\n * German translations\n */\nconst de: ThemeTranslations = {\n copyPage: 'Seite kopieren',\n copied: 'Kopiert!',\n openInChatGPT: 'In ChatGPT öffnen',\n openInClaude: 'In Claude öffnen',\n askAboutThisPage: 'Fragen Sie ChatGPT zu dieser Seite',\n copyPageDescription: 'Seite als Markdown für LLMs kopieren',\n askQuestionsDescription: 'Fragen zu dieser Seite stellen',\n chatGPTPrefix: 'Diese Seite stammt von',\n tableOfContents: 'Inhaltsverzeichnis',\n contributors: 'Mitwirkende',\n goToDocsHome: 'Zur Dokumentations-Startseite',\n goBackTo: 'Zurück zu',\n goToPreviousPage: 'Vorherige Seite',\n goToNextPage: 'Nächste Seite',\n noPreviousPage: 'Keine vorherige Seite',\n noNextPage: 'Keine nächste Seite',\n cookieConsent: 'Cookie-Zustimmung',\n cookieDescription: 'Wir verwenden Cookies, um Ihr Erlebnis zu verbessern.',\n cookieLearnMore: 'Mehr erfahren',\n accept: 'Akzeptieren',\n decline: 'Ablehnen',\n goToHomePage: 'Zur Startseite',\n home: 'Startseite',\n linkCopied: 'Link kopiert!',\n copyLinkToSection: 'Link zum Abschnitt kopieren',\n search: 'Suchen',\n searchPlaceholder: 'Suchen',\n closeBanner: 'Banner schließen',\n fallbackLocaleWarning: 'Dieser Inhalt wird in {fallbackLocaleName} angezeigt, da er in {requestedLocaleName} nicht verfügbar ist.',\n};\n\n/**\n * Spanish translations\n */\nconst es: ThemeTranslations = {\n copyPage: 'Copiar página',\n copied: '¡Copiado!',\n openInChatGPT: 'Abrir en ChatGPT',\n openInClaude: 'Abrir en Claude',\n askAboutThisPage: 'Preguntar sobre esta página en ChatGPT',\n copyPageDescription: 'Copiar página como Markdown para LLMs',\n askQuestionsDescription: 'Hacer preguntas sobre esta página',\n chatGPTPrefix: 'Esta página proviene de',\n tableOfContents: 'Tabla de contenidos',\n contributors: 'Colaboradores',\n goToDocsHome: 'Ir al inicio de la documentación',\n goBackTo: 'Volver a',\n goToPreviousPage: 'Página anterior',\n goToNextPage: 'Página siguiente',\n noPreviousPage: 'No hay página anterior',\n noNextPage: 'No hay página siguiente',\n cookieConsent: 'Consentimiento de cookies',\n cookieDescription: 'Utilizamos cookies para mejorar su experiencia.',\n cookieLearnMore: 'Saber más',\n accept: 'Aceptar',\n decline: 'Rechazar',\n goToHomePage: 'Ir a la página de inicio',\n home: 'Inicio',\n linkCopied: '¡Enlace copiado!',\n copyLinkToSection: 'Copiar enlace a la sección',\n search: 'Buscar',\n searchPlaceholder: 'Buscar',\n closeBanner: 'Cerrar banner',\n fallbackLocaleWarning: 'Este contenido se muestra en {fallbackLocaleName} ya que no está disponible en {requestedLocaleName}.',\n};\n\n/**\n * Arabic translations (RTL)\n */\nconst ar: ThemeTranslations = {\n copyPage: 'نسخ الصفحة',\n copied: 'تم النسخ!',\n openInChatGPT: 'فتح في ChatGPT',\n openInClaude: 'فتح في Claude',\n askAboutThisPage: 'اسأل عن هذه الصفحة في ChatGPT',\n copyPageDescription: 'نسخ الصفحة كـ Markdown للـ LLMs',\n askQuestionsDescription: 'اطرح أسئلة حول هذه الصفحة',\n chatGPTPrefix: 'هذه الصفحة جاءت من',\n tableOfContents: 'جدول المحتويات',\n contributors: 'المساهمون',\n goToDocsHome: 'الانتقال إلى الصفحة الرئيسية للوثائق',\n goBackTo: 'العودة إلى',\n goToPreviousPage: 'الصفحة السابقة',\n goToNextPage: 'الصفحة التالية',\n noPreviousPage: 'لا توجد صفحة سابقة',\n noNextPage: 'لا توجد صفحة تالية',\n cookieConsent: 'موافقة ملفات تعريف الارتباط',\n cookieDescription: 'نستخدم ملفات تعريف الارتباط لتحسين تجربتك.',\n cookieLearnMore: 'معرفة المزيد',\n accept: 'قبول',\n decline: 'رفض',\n goToHomePage: 'الانتقال إلى الصفحة الرئيسية',\n home: 'الرئيسية',\n linkCopied: 'تم نسخ الرابط!',\n copyLinkToSection: 'نسخ الرابط إلى القسم',\n search: 'بحث',\n searchPlaceholder: 'بحث',\n closeBanner: 'إغلاق الشعار',\n fallbackLocaleWarning: 'يتم عرض هذا المحتوى بـ {fallbackLocaleName} لأنه غير متاح بـ {requestedLocaleName}.',\n};\n\n/**\n * Chinese translations\n */\nconst zh: ThemeTranslations = {\n copyPage: '复制页面',\n copied: '已复制!',\n openInChatGPT: '在 ChatGPT 中打开',\n openInClaude: '在 Claude 中打开',\n askAboutThisPage: '在 ChatGPT 中询问此页面',\n copyPageDescription: '将页面复制为 Markdown 格式供 LLM 使用',\n askQuestionsDescription: '询问有关此页面的问题',\n chatGPTPrefix: '此页面来自',\n tableOfContents: '目录',\n contributors: '贡献者',\n goToDocsHome: '前往文档首页',\n goBackTo: '返回',\n goToPreviousPage: '上一页',\n goToNextPage: '下一页',\n noPreviousPage: '没有上一页',\n noNextPage: '没有下一页',\n cookieConsent: 'Cookie 同意',\n cookieDescription: '我们使用 Cookie 来改善您的体验。',\n cookieLearnMore: '了解更多',\n accept: '接受',\n decline: '拒绝',\n goToHomePage: '前往首页',\n home: '首页',\n linkCopied: '链接已复制!',\n copyLinkToSection: '复制章节链接',\n search: '搜索',\n searchPlaceholder: '搜索',\n closeBanner: '关闭横幅',\n fallbackLocaleWarning: '此内容以 {fallbackLocaleName} 显示,因为 {requestedLocaleName} 不可用。',\n};\n\n/**\n * Japanese translations\n */\nconst ja: ThemeTranslations = {\n copyPage: 'ページをコピー',\n copied: 'コピーしました!',\n openInChatGPT: 'ChatGPT で開く',\n openInClaude: 'Claude で開く',\n askAboutThisPage: 'ChatGPT でこのページについて質問する',\n copyPageDescription: 'ページを LLM 用の Markdown としてコピー',\n askQuestionsDescription: 'このページについて質問する',\n chatGPTPrefix: 'このページは',\n tableOfContents: '目次',\n contributors: '貢献者',\n goToDocsHome: 'ドキュメントホームへ',\n goBackTo: '戻る',\n goToPreviousPage: '前のページ',\n goToNextPage: '次のページ',\n noPreviousPage: '前のページなし',\n noNextPage: '次のページなし',\n cookieConsent: 'Cookie 同意',\n cookieDescription: '体験を向上させるために Cookie を使用しています。',\n cookieLearnMore: '詳細を見る',\n accept: '同意',\n decline: '拒否',\n goToHomePage: 'ホームページへ',\n home: 'ホーム',\n linkCopied: 'リンクをコピーしました!',\n copyLinkToSection: 'セクションへのリンクをコピー',\n search: '検索',\n searchPlaceholder: '検索',\n closeBanner: 'バナーを閉じる',\n fallbackLocaleWarning: 'このコンテンツは {requestedLocaleName} で利用できないため、{fallbackLocaleName} で表示されています。',\n};\n\n/**\n * Korean translations\n */\nconst ko: ThemeTranslations = {\n copyPage: '페이지 복사',\n copied: '복사됨!',\n openInChatGPT: 'ChatGPT에서 열기',\n openInClaude: 'Claude에서 열기',\n askAboutThisPage: 'ChatGPT에서 이 페이지에 대해 질문하기',\n copyPageDescription: '페이지를 LLM용 Markdown으로 복사',\n askQuestionsDescription: '이 페이지에 대해 질문하기',\n chatGPTPrefix: '이 페이지는',\n tableOfContents: '목차',\n contributors: '기여자',\n goToDocsHome: '문서 홈으로 이동',\n goBackTo: '돌아가기',\n goToPreviousPage: '이전 페이지',\n goToNextPage: '다음 페이지',\n noPreviousPage: '이전 페이지 없음',\n noNextPage: '다음 페이지 없음',\n cookieConsent: '쿠키 동의',\n cookieDescription: '경험을 향상시키기 위해 쿠키를 사용합니다.',\n cookieLearnMore: '자세히 알아보기',\n accept: '수락',\n decline: '거부',\n goToHomePage: '홈페이지로 이동',\n home: '홈',\n linkCopied: '링크 복사됨!',\n copyLinkToSection: '섹션 링크 복사',\n search: '검색',\n searchPlaceholder: '검색',\n closeBanner: '배너 닫기',\n fallbackLocaleWarning: '이 콘텐츠는 {requestedLocaleName}에서 사용할 수 없어 {fallbackLocaleName}로 표시됩니다.',\n};\n\n/**\n * Portuguese translations\n */\nconst pt: ThemeTranslations = {\n copyPage: 'Copiar página',\n copied: 'Copiado!',\n openInChatGPT: 'Abrir no ChatGPT',\n openInClaude: 'Abrir no Claude',\n askAboutThisPage: 'Perguntar sobre esta página no ChatGPT',\n copyPageDescription: 'Copiar página como Markdown para LLMs',\n askQuestionsDescription: 'Fazer perguntas sobre esta página',\n chatGPTPrefix: 'Esta página veio de',\n tableOfContents: 'Índice',\n contributors: 'Contribuidores',\n goToDocsHome: 'Ir para a página inicial da documentação',\n goBackTo: 'Voltar para',\n goToPreviousPage: 'Página anterior',\n goToNextPage: 'Próxima página',\n noPreviousPage: 'Sem página anterior',\n noNextPage: 'Sem próxima página',\n cookieConsent: 'Consentimento de Cookies',\n cookieDescription: 'Usamos cookies para melhorar sua experiência.',\n cookieLearnMore: 'Saiba mais',\n accept: 'Aceitar',\n decline: 'Recusar',\n goToHomePage: 'Ir para a página inicial',\n home: 'Início',\n linkCopied: 'Link copiado!',\n copyLinkToSection: 'Copiar link para a seção',\n search: 'Pesquisar',\n searchPlaceholder: 'Pesquisar',\n closeBanner: 'Fechar banner',\n fallbackLocaleWarning: 'Este conteúdo é exibido em {fallbackLocaleName} pois não está disponível em {requestedLocaleName}.',\n};\n\n/**\n * Italian translations\n */\nconst it: ThemeTranslations = {\n copyPage: 'Copia pagina',\n copied: 'Copiato!',\n openInChatGPT: 'Apri in ChatGPT',\n openInClaude: 'Apri in Claude',\n askAboutThisPage: 'Chiedi informazioni su questa pagina in ChatGPT',\n copyPageDescription: 'Copia pagina come Markdown per LLM',\n askQuestionsDescription: 'Fai domande su questa pagina',\n chatGPTPrefix: 'Questa pagina proviene da',\n tableOfContents: 'Indice',\n contributors: 'Collaboratori',\n goToDocsHome: 'Vai alla home della documentazione',\n goBackTo: 'Torna a',\n goToPreviousPage: 'Pagina precedente',\n goToNextPage: 'Pagina successiva',\n noPreviousPage: 'Nessuna pagina precedente',\n noNextPage: 'Nessuna pagina successiva',\n cookieConsent: 'Consenso ai Cookie',\n cookieDescription: 'Utilizziamo i cookie per migliorare la tua esperienza.',\n cookieLearnMore: 'Scopri di più',\n accept: 'Accetta',\n decline: 'Rifiuta',\n goToHomePage: 'Vai alla home',\n home: 'Home',\n linkCopied: 'Link copiato!',\n copyLinkToSection: 'Copia link alla sezione',\n search: 'Cerca',\n searchPlaceholder: 'Cerca',\n closeBanner: 'Chiudi banner',\n fallbackLocaleWarning: 'Questo contenuto è mostrato in {fallbackLocaleName} poiché non è disponibile in {requestedLocaleName}.',\n};\n\n/**\n * Russian translations\n */\nconst ru: ThemeTranslations = {\n copyPage: 'Копировать страницу',\n copied: 'Скопировано!',\n openInChatGPT: 'Открыть в ChatGPT',\n openInClaude: 'Открыть в Claude',\n askAboutThisPage: 'Спросить об этой странице в ChatGPT',\n copyPageDescription: 'Скопировать страницу как Markdown для LLM',\n askQuestionsDescription: 'Задать вопросы об этой странице',\n chatGPTPrefix: 'Эта страница взята с',\n tableOfContents: 'Содержание',\n contributors: 'Участники',\n goToDocsHome: 'Перейти на главную документации',\n goBackTo: 'Вернуться к',\n goToPreviousPage: 'Предыдущая страница',\n goToNextPage: 'Следующая страница',\n noPreviousPage: 'Нет предыдущей страницы',\n noNextPage: 'Нет следующей страницы',\n cookieConsent: 'Согласие на Cookie',\n cookieDescription: 'Мы используем cookie для улучшения вашего опыта.',\n cookieLearnMore: 'Узнать больше',\n accept: 'Принять',\n decline: 'Отклонить',\n goToHomePage: 'Перейти на главную',\n home: 'Главная',\n linkCopied: 'Ссылка скопирована!',\n copyLinkToSection: 'Копировать ссылку на раздел',\n search: 'Поиск',\n searchPlaceholder: 'Поиск',\n closeBanner: 'Закрыть баннер',\n fallbackLocaleWarning: 'Этот контент отображается на {fallbackLocaleName}, так как он недоступен на {requestedLocaleName}.',\n};\n\n/**\n * Dutch translations\n */\nconst nl: ThemeTranslations = {\n copyPage: 'Pagina kopiëren',\n copied: 'Gekopieerd!',\n openInChatGPT: 'Openen in ChatGPT',\n openInClaude: 'Openen in Claude',\n askAboutThisPage: 'Vraag over deze pagina in ChatGPT',\n copyPageDescription: 'Pagina kopiëren als Markdown voor LLMs',\n askQuestionsDescription: 'Vragen stellen over deze pagina',\n chatGPTPrefix: 'Deze pagina komt van',\n tableOfContents: 'Inhoudsopgave',\n contributors: 'Bijdragers',\n goToDocsHome: 'Naar documentatie startpagina',\n goBackTo: 'Terug naar',\n goToPreviousPage: 'Vorige pagina',\n goToNextPage: 'Volgende pagina',\n noPreviousPage: 'Geen vorige pagina',\n noNextPage: 'Geen volgende pagina',\n cookieConsent: 'Cookie Toestemming',\n cookieDescription: 'We gebruiken cookies om uw ervaring te verbeteren.',\n cookieLearnMore: 'Meer informatie',\n accept: 'Accepteren',\n decline: 'Weigeren',\n goToHomePage: 'Naar startpagina',\n home: 'Startpagina',\n linkCopied: 'Link gekopieerd!',\n copyLinkToSection: 'Link naar sectie kopiëren',\n search: 'Zoeken',\n searchPlaceholder: 'Zoeken',\n closeBanner: 'Banner sluiten',\n fallbackLocaleWarning: 'Deze inhoud wordt weergegeven in {fallbackLocaleName} omdat deze niet beschikbaar is in {requestedLocaleName}.',\n};\n\n/**\n * Swedish translations\n */\nconst sv: ThemeTranslations = {\n copyPage: 'Kopiera sida',\n copied: 'Kopierad!',\n openInChatGPT: 'Öppna i ChatGPT',\n openInClaude: 'Öppna i Claude',\n askAboutThisPage: 'Fråga om denna sida i ChatGPT',\n copyPageDescription: 'Kopiera sida som Markdown för LLMs',\n askQuestionsDescription: 'Ställa frågor om denna sida',\n chatGPTPrefix: 'Denna sida kommer från',\n tableOfContents: 'Innehållsförteckning',\n contributors: 'Bidragsgivare',\n goToDocsHome: 'Gå till dokumentationsstartsidan',\n goBackTo: 'Tillbaka till',\n goToPreviousPage: 'Föregående sida',\n goToNextPage: 'Nästa sida',\n noPreviousPage: 'Ingen föregående sida',\n noNextPage: 'Ingen nästa sida',\n cookieConsent: 'Cookie-medgivande',\n cookieDescription: 'Vi använder cookies för att förbättra din upplevelse.',\n cookieLearnMore: 'Läs mer',\n accept: 'Acceptera',\n decline: 'Avvisa',\n goToHomePage: 'Gå till startsidan',\n home: 'Hem',\n linkCopied: 'Länk kopierad!',\n copyLinkToSection: 'Kopiera länk till avsnitt',\n search: 'Sök',\n searchPlaceholder: 'Sök',\n closeBanner: 'Stäng banner',\n fallbackLocaleWarning: 'Detta innehåll visas på {fallbackLocaleName} eftersom det inte är tillgängligt på {requestedLocaleName}.',\n};\n\n/**\n * Norwegian translations\n */\nconst no: ThemeTranslations = {\n copyPage: 'Kopier side',\n copied: 'Kopiert!',\n openInChatGPT: 'Åpne i ChatGPT',\n openInClaude: 'Åpne i Claude',\n askAboutThisPage: 'Spør om denne siden i ChatGPT',\n copyPageDescription: 'Kopier side som Markdown for LLMs',\n askQuestionsDescription: 'Stille spørsmål om denne siden',\n chatGPTPrefix: 'Denne siden kommer fra',\n tableOfContents: 'Innholdsfortegnelse',\n contributors: 'Bidragsytere',\n goToDocsHome: 'Gå til dokumentasjonsforsiden',\n goBackTo: 'Tilbake til',\n goToPreviousPage: 'Forrige side',\n goToNextPage: 'Neste side',\n noPreviousPage: 'Ingen forrige side',\n noNextPage: 'Ingen neste side',\n cookieConsent: 'Cookie-samtykke',\n cookieDescription: 'Vi bruker informasjonskapsler for å forbedre opplevelsen din.',\n cookieLearnMore: 'Finn ut mer',\n accept: 'Godta',\n decline: 'Avslå',\n goToHomePage: 'Gå til forsiden',\n home: 'Hjem',\n linkCopied: 'Lenke kopiert!',\n copyLinkToSection: 'Kopier lenke til seksjon',\n search: 'Søk',\n searchPlaceholder: 'Søk',\n closeBanner: 'Lukk banner',\n fallbackLocaleWarning: 'Dette innholdet vises på {fallbackLocaleName} fordi det ikke er tilgjengelig på {requestedLocaleName}.',\n};\n\n/**\n * Danish translations\n */\nconst da: ThemeTranslations = {\n copyPage: 'Kopier side',\n copied: 'Kopieret!',\n openInChatGPT: 'Åbn i ChatGPT',\n openInClaude: 'Åbn i Claude',\n askAboutThisPage: 'Spørg om denne side i ChatGPT',\n copyPageDescription: 'Kopier side som Markdown til LLMs',\n askQuestionsDescription: 'Stille spørgsmål om denne side',\n chatGPTPrefix: 'Denne side kommer fra',\n tableOfContents: 'Indholdsfortegnelse',\n contributors: 'Bidragydere',\n goToDocsHome: 'Gå til dokumentationsforsiden',\n goBackTo: 'Tilbage til',\n goToPreviousPage: 'Forrige side',\n goToNextPage: 'Næste side',\n noPreviousPage: 'Ingen forrige side',\n noNextPage: 'Ingen næste side',\n cookieConsent: 'Cookie-samtykke',\n cookieDescription: 'Vi bruger cookies til at forbedre din oplevelse.',\n cookieLearnMore: 'Læs mere',\n accept: 'Accepter',\n decline: 'Afvis',\n goToHomePage: 'Gå til forsiden',\n home: 'Hjem',\n linkCopied: 'Link kopieret!',\n copyLinkToSection: 'Kopier link til sektion',\n search: 'Søg',\n searchPlaceholder: 'Søg',\n closeBanner: 'Luk banner',\n fallbackLocaleWarning: 'Dette indhold vises på {fallbackLocaleName}, fordi det ikke er tilgængeligt på {requestedLocaleName}.',\n};\n\n/**\n * Finnish translations\n */\nconst fi: ThemeTranslations = {\n copyPage: 'Kopioi sivu',\n copied: 'Kopioitu!',\n openInChatGPT: 'Avaa ChatGPT:ssä',\n openInClaude: 'Avaa Claude:ssa',\n askAboutThisPage: 'Kysy tästä sivusta ChatGPT:ssä',\n copyPageDescription: 'Kopioi sivu Markdown-muodossa LLM:ille',\n askQuestionsDescription: 'Kysy kysymyksiä tästä sivusta',\n chatGPTPrefix: 'Tämä sivu tulee',\n tableOfContents: 'Sisällysluettelo',\n contributors: 'Osallistujat',\n goToDocsHome: 'Siirry dokumentaation etusivulle',\n goBackTo: 'Takaisin',\n goToPreviousPage: 'Edellinen sivu',\n goToNextPage: 'Seuraava sivu',\n noPreviousPage: 'Ei edellistä sivua',\n noNextPage: 'Ei seuraavaa sivua',\n cookieConsent: 'Evästeiden suostumus',\n cookieDescription: 'Käytämme evästeitä parantaaksemme kokemustasi.',\n cookieLearnMore: 'Lue lisää',\n accept: 'Hyväksy',\n decline: 'Hylkää',\n goToHomePage: 'Siirry etusivulle',\n home: 'Koti',\n linkCopied: 'Linkki kopioitu!',\n copyLinkToSection: 'Kopioi linkki osioon',\n search: 'Hae',\n searchPlaceholder: 'Hae',\n closeBanner: 'Sulje banneri',\n fallbackLocaleWarning: 'Tämä sisältö näytetään {fallbackLocaleName}ksi, koska se ei ole saatavilla {requestedLocaleName}ksi.',\n};\n\n/**\n * Polish translations\n */\nconst pl: ThemeTranslations = {\n copyPage: 'Kopiuj stronę',\n copied: 'Skopiowano!',\n openInChatGPT: 'Otwórz w ChatGPT',\n openInClaude: 'Otwórz w Claude',\n askAboutThisPage: 'Zapytaj o tę stronę w ChatGPT',\n copyPageDescription: 'Skopiuj stronę jako Markdown dla LLM',\n askQuestionsDescription: 'Zadawaj pytania dotyczące tej strony',\n chatGPTPrefix: 'Ta strona pochodzi z',\n tableOfContents: 'Spis treści',\n contributors: 'Współtwórcy',\n goToDocsHome: 'Przejdź do strony głównej dokumentacji',\n goBackTo: 'Wróć do',\n goToPreviousPage: 'Poprzednia strona',\n goToNextPage: 'Następna strona',\n noPreviousPage: 'Brak poprzedniej strony',\n noNextPage: 'Brak następnej strony',\n cookieConsent: 'Zgoda na pliki cookie',\n cookieDescription: 'Używamy plików cookie, aby poprawić Twoje wrażenia.',\n cookieLearnMore: 'Dowiedz się więcej',\n accept: 'Zaakceptuj',\n decline: 'Odrzuć',\n goToHomePage: 'Przejdź do strony głównej',\n home: 'Strona główna',\n linkCopied: 'Link skopiowany!',\n copyLinkToSection: 'Kopiuj link do sekcji',\n search: 'Szukaj',\n searchPlaceholder: 'Szukaj',\n closeBanner: 'Zamknij baner',\n fallbackLocaleWarning: 'Ta zawartość jest wyświetlana w {fallbackLocaleName}, ponieważ nie jest dostępna w {requestedLocaleName}.',\n};\n\n/**\n * Turkish translations\n */\nconst tr: ThemeTranslations = {\n copyPage: 'Sayfayı kopyala',\n copied: 'Kopyalandı!',\n openInChatGPT: 'ChatGPT\\'te Aç',\n openInClaude: 'Claude\\'da Aç',\n askAboutThisPage: 'ChatGPT\\'te bu sayfa hakkında sor',\n copyPageDescription: 'Sayfayı LLM\\'ler için Markdown olarak kopyala',\n askQuestionsDescription: 'Bu sayfa hakkında sorular sor',\n chatGPTPrefix: 'Bu sayfa',\n tableOfContents: 'İçindekiler',\n contributors: 'Katkıda Bulunanlar',\n goToDocsHome: 'Dokümantasyon ana sayfasına git',\n goBackTo: 'Geri dön',\n goToPreviousPage: 'Önceki sayfa',\n goToNextPage: 'Sonraki sayfa',\n noPreviousPage: 'Önceki sayfa yok',\n noNextPage: 'Sonraki sayfa yok',\n cookieConsent: 'Çerez Onayı',\n cookieDescription: 'Deneyiminizi geliştirmek için çerezler kullanıyoruz.',\n cookieLearnMore: 'Daha fazla bilgi',\n accept: 'Kabul Et',\n decline: 'Reddet',\n goToHomePage: 'Ana sayfaya git',\n home: 'Ana Sayfa',\n linkCopied: 'Bağlantı kopyalandı!',\n copyLinkToSection: 'Bölüme bağlantı kopyala',\n search: 'Ara',\n searchPlaceholder: 'Ara',\n closeBanner: \"Banner'ı kapat\",\n fallbackLocaleWarning: 'Bu içerik {requestedLocaleName} dilinde mevcut olmadığı için {fallbackLocaleName} dilinde gösterilmektedir.',\n};\n\n/**\n * Hebrew translations (RTL)\n */\nconst he: ThemeTranslations = {\n copyPage: 'העתק עמוד',\n copied: 'הועתק!',\n openInChatGPT: 'פתח ב-ChatGPT',\n openInClaude: 'פתח ב-Claude',\n askAboutThisPage: 'שאל על דף זה ב-ChatGPT',\n copyPageDescription: 'העתק דף כ-Markdown עבור LLMs',\n askQuestionsDescription: 'שאל שאלות על דף זה',\n chatGPTPrefix: 'דף זה הגיע מ',\n tableOfContents: 'תוכן עניינים',\n contributors: 'תורמים',\n goToDocsHome: 'עבור לדף הבית של התיעוד',\n goBackTo: 'חזור ל',\n goToPreviousPage: 'עמוד קודם',\n goToNextPage: 'עמוד הבא',\n noPreviousPage: 'אין עמוד קודם',\n noNextPage: 'אין עמוד הבא',\n cookieConsent: 'הסכמה לעוגיות',\n cookieDescription: 'אנו משתמשים בעוגיות כדי לשפר את החוויה שלך.',\n cookieLearnMore: 'למד עוד',\n accept: 'מקבל',\n decline: 'דוחה',\n goToHomePage: 'עבור לדף הבית',\n home: 'בית',\n linkCopied: 'קישור הועתק!',\n copyLinkToSection: 'העתק קישור לסעיף',\n search: 'חפש',\n searchPlaceholder: 'חפש',\n closeBanner: 'סגור באנר',\n fallbackLocaleWarning: 'תוכן זה מוצג ב-{fallbackLocaleName} מכיוון שהוא אינו זמין ב-{requestedLocaleName}.',\n};\n\n/**\n * Hindi translations\n */\nconst hi: ThemeTranslations = {\n copyPage: 'पृष्ठ कॉपी करें',\n copied: 'कॉपी किया गया!',\n openInChatGPT: 'ChatGPT में खोलें',\n openInClaude: 'Claude में खोलें',\n askAboutThisPage: 'ChatGPT में इस पृष्ठ के बारे में पूछें',\n copyPageDescription: 'पृष्ठ को LLM के लिए Markdown के रूप में कॉपी करें',\n askQuestionsDescription: 'इस पृष्ठ के बारे में प्रश्न पूछें',\n chatGPTPrefix: 'यह पृष्ठ',\n tableOfContents: 'विषय सूची',\n contributors: 'योगदानकर्ता',\n goToDocsHome: 'दस्तावेज़ होम पर जाएं',\n goBackTo: 'वापस जाएं',\n goToPreviousPage: 'पिछला पृष्ठ',\n goToNextPage: 'अगला पृष्ठ',\n noPreviousPage: 'कोई पिछला पृष्ठ नहीं',\n noNextPage: 'कोई अगला पृष्ठ नहीं',\n cookieConsent: 'कुकी सहमति',\n cookieDescription: 'हम आपके अनुभव को बेहतर बनाने के लिए कुकीज़ का उपयोग करते हैं।',\n cookieLearnMore: 'और जानें',\n accept: 'स्वीकार करें',\n decline: 'अस्वीकार करें',\n goToHomePage: 'होम पेज पर जाएं',\n home: 'होम',\n linkCopied: 'लिंक कॉपी किया गया!',\n copyLinkToSection: 'अनुभाग के लिए लिंक कॉपी करें',\n search: 'खोजें',\n searchPlaceholder: 'खोजें',\n closeBanner: 'बैनर बंद करें',\n fallbackLocaleWarning: 'यह सामग्री {fallbackLocaleName} में दिखाई जा रही है क्योंकि यह {requestedLocaleName} में उपलब्ध नहीं है।',\n};\n\n/**\n * Persian translations (RTL)\n */\nconst fa: ThemeTranslations = {\n copyPage: 'کپی صفحه',\n copied: 'کپی شد!',\n openInChatGPT: 'باز کردن در ChatGPT',\n openInClaude: 'باز کردن در Claude',\n askAboutThisPage: 'در ChatGPT دربارهٔ این صفحه بپرسید',\n copyPageDescription: 'کپی صفحه به‌صورت Markdown برای مدل‌های زبانی',\n askQuestionsDescription: 'سوالی دربارهٔ این صفحه بپرسید',\n chatGPTPrefix: 'این صفحه از',\n tableOfContents: 'فهرست مطالب',\n contributors: 'مشارکت‌کنندگان',\n goToDocsHome: 'رفتن به خانهٔ مستندات',\n goBackTo: 'بازگشت به',\n goToPreviousPage: 'صفحهٔ قبل',\n goToNextPage: 'صفحهٔ بعد',\n noPreviousPage: 'صفحهٔ قبلی وجود ندارد',\n noNextPage: 'صفحهٔ بعدی وجود ندارد',\n cookieConsent: 'رضایت کوکی',\n cookieDescription: 'برای بهبود تجربهٔ شما از کوکی استفاده می‌کنیم.',\n cookieLearnMore: 'بیشتر بدانید',\n accept: 'پذیرفتن',\n decline: 'رد کردن',\n goToHomePage: 'رفتن به صفحهٔ اصلی',\n home: 'خانه',\n linkCopied: 'پیوند کپی شد!',\n copyLinkToSection: 'کپی پیوند به بخش',\n search: 'جستجو',\n searchPlaceholder: 'جستجو',\n closeBanner: 'بستن نوار',\n fallbackLocaleWarning:\n 'این محتوا به {fallbackLocaleName} نمایش داده می‌شود چون به {requestedLocaleName} در دسترس نیست.',\n};\n\n/**\n * Indonesian translations\n */\nconst id: ThemeTranslations = {\n copyPage: 'Salin halaman',\n copied: 'Disalin!',\n openInChatGPT: 'Buka di ChatGPT',\n openInClaude: 'Buka di Claude',\n askAboutThisPage: 'Tanya tentang halaman ini di ChatGPT',\n copyPageDescription: 'Salin halaman sebagai Markdown untuk LLM',\n askQuestionsDescription: 'Ajukan pertanyaan tentang halaman ini',\n chatGPTPrefix: 'Halaman ini dari',\n tableOfContents: 'Daftar isi',\n contributors: 'Kontributor',\n goToDocsHome: 'Ke beranda dokumentasi',\n goBackTo: 'Kembali ke',\n goToPreviousPage: 'Halaman sebelumnya',\n goToNextPage: 'Halaman berikutnya',\n noPreviousPage: 'Tidak ada halaman sebelumnya',\n noNextPage: 'Tidak ada halaman berikutnya',\n cookieConsent: 'Persetujuan cookie',\n cookieDescription: 'Kami menggunakan cookie untuk meningkatkan pengalaman Anda.',\n cookieLearnMore: 'Pelajari lebih lanjut',\n accept: 'Terima',\n decline: 'Tolak',\n goToHomePage: 'Ke beranda',\n home: 'Beranda',\n linkCopied: 'Tautan disalin!',\n copyLinkToSection: 'Salin tautan ke bagian',\n search: 'Cari',\n searchPlaceholder: 'Cari',\n closeBanner: 'Tutup banner',\n fallbackLocaleWarning:\n 'Konten ini ditampilkan dalam {fallbackLocaleName} karena tidak tersedia dalam {requestedLocaleName}.',\n};\n\n/**\n * Thai translations\n */\nconst th: ThemeTranslations = {\n copyPage: 'คัดลอกหน้า',\n copied: 'คัดลอกแล้ว!',\n openInChatGPT: 'เปิดใน ChatGPT',\n openInClaude: 'เปิดใน Claude',\n askAboutThisPage: 'ถามเกี่ยวกับหน้านี้ใน ChatGPT',\n copyPageDescription: 'คัดลอกหน้าเป็น Markdown สำหรับ LLM',\n askQuestionsDescription: 'ถามคำถามเกี่ยวกับหน้านี้',\n chatGPTPrefix: 'หน้านี้มาจาก',\n tableOfContents: 'สารบัญ',\n contributors: 'ผู้มีส่วนร่วม',\n goToDocsHome: 'ไปหน้าแรกของเอกสาร',\n goBackTo: 'กลับไปที่',\n goToPreviousPage: 'หน้าก่อนหน้า',\n goToNextPage: 'หน้าถัดไป',\n noPreviousPage: 'ไม่มีหน้าก่อนหน้า',\n noNextPage: 'ไม่มีหน้าถัดไป',\n cookieConsent: 'การยินยอมคุกกี้',\n cookieDescription: 'เราใช้คุกกี้เพื่อปรับปรุงประสบการณ์ของคุณ',\n cookieLearnMore: 'เรียนรู้เพิ่มเติม',\n accept: 'ยอมรับ',\n decline: 'ปฏิเสธ',\n goToHomePage: 'ไปหน้าแรก',\n home: 'หน้าแรก',\n linkCopied: 'คัดลอกลิงก์แล้ว!',\n copyLinkToSection: 'คัดลอกลิงก์ไปยังส่วน',\n search: 'ค้นหา',\n searchPlaceholder: 'ค้นหา',\n closeBanner: 'ปิดแบนเนอร์',\n fallbackLocaleWarning:\n 'เนื้อหานี้แสดงเป็น {fallbackLocaleName} เพราะไม่มีใน {requestedLocaleName}',\n};\n\n/**\n * Vietnamese translations\n */\nconst vi: ThemeTranslations = {\n copyPage: 'Sao chép trang',\n copied: 'Đã sao chép!',\n openInChatGPT: 'Mở trong ChatGPT',\n openInClaude: 'Mở trong Claude',\n askAboutThisPage: 'Hỏi về trang này trong ChatGPT',\n copyPageDescription: 'Sao chép trang dạng Markdown cho LLM',\n askQuestionsDescription: 'Đặt câu hỏi về trang này',\n chatGPTPrefix: 'Trang này đến từ',\n tableOfContents: 'Mục lục',\n contributors: 'Người đóng góp',\n goToDocsHome: 'Về trang chủ tài liệu',\n goBackTo: 'Quay lại',\n goToPreviousPage: 'Trang trước',\n goToNextPage: 'Trang sau',\n noPreviousPage: 'Không có trang trước',\n noNextPage: 'Không có trang sau',\n cookieConsent: 'Đồng ý cookie',\n cookieDescription: 'Chúng tôi dùng cookie để cải thiện trải nghiệm của bạn.',\n cookieLearnMore: 'Tìm hiểu thêm',\n accept: 'Chấp nhận',\n decline: 'Từ chối',\n goToHomePage: 'Về trang chủ',\n home: 'Trang chủ',\n linkCopied: 'Đã sao chép liên kết!',\n copyLinkToSection: 'Sao chép liên kết tới mục',\n search: 'Tìm kiếm',\n searchPlaceholder: 'Tìm kiếm',\n closeBanner: 'Đóng biểu ngữ',\n fallbackLocaleWarning:\n 'Nội dung hiển thị bằng {fallbackLocaleName} vì không có bản {requestedLocaleName}.',\n};\n\n\nconst af: ThemeTranslations = {\n copyPage: 'Kopieer bladsy',\n copied: 'Gekopieer!',\n openInChatGPT: 'Maak oop in ChatGPT',\n openInClaude: 'Maak oop in Claude',\n askAboutThisPage: 'Vra oor hierdie bladsy in ChatGPT',\n copyPageDescription: 'Kopieer bladsy as Markdown vir LLMs',\n askQuestionsDescription: 'Vrae oor hierdie bladsy vra',\n chatGPTPrefix: 'Hierdie bladsy kom van',\n tableOfContents: 'Inhoudsopgawe',\n contributors: 'Bydraers',\n goToDocsHome: 'Gaan na dokumentasie tuisblad',\n goBackTo: 'Gaan terug na',\n goToPreviousPage: 'Vorige bladsy',\n goToNextPage: 'Volgende bladsy',\n noPreviousPage: 'Geen vorige bladsy nie',\n noNextPage: 'Geen volgende bladsy nie',\n cookieConsent: 'Koekie-toestemming',\n cookieDescription: 'Ons gebruik koekies om jou ervaring te verbeter.',\n cookieLearnMore: 'Leer meer',\n accept: 'Aanvaar',\n decline: 'Wys af',\n goToHomePage: 'Gaan na tuisblad',\n home: 'Tuis',\n linkCopied: 'Skakel gekopieer!',\n copyLinkToSection: 'Kopieer skakel na afdeling',\n search: 'Soek',\n searchPlaceholder: 'Soek',\n closeBanner: 'Maak banier toe',\n fallbackLocaleWarning:\n 'Hierdie inhoud word in {fallbackLocaleName} gewys omdat dit nie in {requestedLocaleName} beskikbaar is nie.',\n };\n\nconst az: ThemeTranslations = {\n copyPage: 'Səhifəni kopyala',\n copied: 'Kopyalandı!',\n openInChatGPT: 'ChatGPT-də aç',\n openInClaude: 'Claude-da aç',\n askAboutThisPage: 'Bu səhifə haqqında ChatGPT-də soruş',\n copyPageDescription: 'Səhifəni LLM-lər üçün Markdown kimi kopyala',\n askQuestionsDescription: 'Bu səhifə haqqında suallar ver',\n chatGPTPrefix: 'Bu səhifə',\n tableOfContents: 'Mündəricat',\n contributors: 'Töhfə verənlər',\n goToDocsHome: 'Sənədləşmə ana səhifəsinə get',\n goBackTo: 'Geri qayıt',\n goToPreviousPage: 'Əvvəlki səhifə',\n goToNextPage: 'Növbəti səhifə',\n noPreviousPage: 'Əvvəlki səhifə yoxdur',\n noNextPage: 'Növbəti səhifə yoxdur',\n cookieConsent: 'Kuki razılığı',\n cookieDescription: 'Təcrübənizi yaxşılaşdırmaq üçün kukilərdən istifadə edirik.',\n cookieLearnMore: 'Ətraflı öyrən',\n accept: 'Qəbul et',\n decline: 'Rədd et',\n goToHomePage: 'Ana səhifəyə get',\n home: 'Ana səhifə',\n linkCopied: 'Keçid kopyalandı!',\n copyLinkToSection: 'Bölməyə keçidi kopyala',\n search: 'Axtar',\n searchPlaceholder: 'Axtar',\n closeBanner: 'Banneri bağla',\n fallbackLocaleWarning:\n 'Bu məzmun {requestedLocaleName} mövcud olmadığı üçün {fallbackLocaleName} göstərilir.',\n };\n\nconst be: ThemeTranslations = {\n copyPage: 'Капіраваць старонку',\n copied: 'Скапіявана!',\n openInChatGPT: 'Адкрыць у ChatGPT',\n openInClaude: 'Адкрыць у Claude',\n askAboutThisPage: 'Спытаць пра гэту старонку ў ChatGPT',\n copyPageDescription: 'Капіраваць старонку як Markdown для LLM',\n askQuestionsDescription: 'Задаць пытанні пра гэту старонку',\n chatGPTPrefix: 'Гэтая старонка з',\n tableOfContents: 'Змест',\n contributors: 'Удзельнікі',\n goToDocsHome: 'На галоўную дакументацыі',\n goBackTo: 'Вярнуцца да',\n goToPreviousPage: 'Папярэдняя старонка',\n goToNextPage: 'Наступная старонка',\n noPreviousPage: 'Няма папярэдняй старонкі',\n noNextPage: 'Няма наступнай старонкі',\n cookieConsent: 'Згода на cookie',\n cookieDescription: 'Мы выкарыстоўваем cookie для паляпшэння вашага вопыту.',\n cookieLearnMore: 'Даведацца больш',\n accept: 'Прыняць',\n decline: 'Адхіліць',\n goToHomePage: 'На галоўную',\n home: 'Галоўная',\n linkCopied: 'Спасылка скапіявана!',\n copyLinkToSection: 'Капіраваць спасылку на раздзел',\n search: 'Пошук',\n searchPlaceholder: 'Пошук',\n closeBanner: 'Зачыніць банер',\n fallbackLocaleWarning:\n 'Гэты змест паказаны на {fallbackLocaleName}, бо ён недаступны на {requestedLocaleName}.',\n };\n\nconst bg: ThemeTranslations = {\n copyPage: 'Копиране на страницата',\n copied: 'Копирано!',\n openInChatGPT: 'Отваряне в ChatGPT',\n openInClaude: 'Отваряне в Claude',\n askAboutThisPage: 'Питай за тази страница в ChatGPT',\n copyPageDescription: 'Копирай страницата като Markdown за LLM',\n askQuestionsDescription: 'Задай въпроси за тази страница',\n chatGPTPrefix: 'Тази страница е от',\n tableOfContents: 'Съдържание',\n contributors: 'Сътрудници',\n goToDocsHome: 'Към началото на документацията',\n goBackTo: 'Назад към',\n goToPreviousPage: 'Предишна страница',\n goToNextPage: 'Следваща страница',\n noPreviousPage: 'Няма предишна страница',\n noNextPage: 'Няма следваща страница',\n cookieConsent: 'Съгласие за бисквитки',\n cookieDescription: 'Използваме бисквитки, за да подобрим вашето изживяване.',\n cookieLearnMore: 'Научи повече',\n accept: 'Приеми',\n decline: 'Отхвърли',\n goToHomePage: 'Към началната страница',\n home: 'Начало',\n linkCopied: 'Връзката е копирана!',\n copyLinkToSection: 'Копирай връзка към раздел',\n search: 'Търсене',\n searchPlaceholder: 'Търсене',\n closeBanner: 'Затвори банер',\n fallbackLocaleWarning:\n 'Това съдържание е показано на {fallbackLocaleName}, защото не е налично на {requestedLocaleName}.',\n };\n\nconst bn: ThemeTranslations = {\n copyPage: 'পৃষ্ঠা কপি করুন',\n copied: 'কপি হয়েছে!',\n openInChatGPT: 'ChatGPT-এ খুলুন',\n openInClaude: 'Claude-এ খুলুন',\n askAboutThisPage: 'ChatGPT-এ এই পৃষ্ঠা সম্পর্কে জিজ্ঞাসা করুন',\n copyPageDescription: 'LLM-এর জন্য পৃষ্ঠাটি Markdown হিসেবে কপি করুন',\n askQuestionsDescription: 'এই পৃষ্ঠা সম্পর্কে প্রশ্ন করুন',\n chatGPTPrefix: 'এই পৃষ্ঠাটি এসেছে',\n tableOfContents: 'সূচিপত্র',\n contributors: 'অবদানকারী',\n goToDocsHome: 'ডকুমেন্টেশন হোমে যান',\n goBackTo: 'ফিরে যান',\n goToPreviousPage: 'পূর্ববর্তী পৃষ্ঠা',\n goToNextPage: 'পরবর্তী পৃষ্ঠা',\n noPreviousPage: 'কোনো পূর্ববর্তী পৃষ্ঠা নেই',\n noNextPage: 'কোনো পরবর্তী পৃষ্ঠা নেই',\n cookieConsent: 'কুকি সম্মতি',\n cookieDescription: 'আপনার অভিজ্ঞতা উন্নত করতে আমরা কুকি ব্যবহার করি।',\n cookieLearnMore: 'আরও জানুন',\n accept: 'গ্রহণ করুন',\n decline: 'প্রত্যাখ্যান করুন',\n goToHomePage: 'হোম পেজে যান',\n home: 'হোম',\n linkCopied: 'লিংক কপি হয়েছে!',\n copyLinkToSection: 'অনুচ্ছেদের লিংক কপি করুন',\n search: 'খুঁজুন',\n searchPlaceholder: 'খুঁজুন',\n closeBanner: 'ব্যানার বন্ধ করুন',\n fallbackLocaleWarning:\n 'এই বিষয়বস্তু {fallbackLocaleName}-এ দেখানো হয়েছে কারণ {requestedLocaleName}-এ উপলব্ধ নয়।',\n };\n\nconst bs: ThemeTranslations = {\n copyPage: 'Kopiraj stranicu',\n copied: 'Kopirano!',\n openInChatGPT: 'Otvori u ChatGPT',\n openInClaude: 'Otvori u Claude',\n askAboutThisPage: 'Pitaj o ovoj stranici u ChatGPT',\n copyPageDescription: 'Kopiraj stranicu kao Markdown za LLM',\n askQuestionsDescription: 'Postavi pitanja o ovoj stranici',\n chatGPTPrefix: 'Ova stranica je sa',\n tableOfContents: 'Sadržaj',\n contributors: 'Saradnici',\n goToDocsHome: 'Idi na početak dokumentacije',\n goBackTo: 'Nazad na',\n goToPreviousPage: 'Prethodna stranica',\n goToNextPage: 'Sljedeća stranica',\n noPreviousPage: 'Nema prethodne stranice',\n noNextPage: 'Nema sljedeće stranice',\n cookieConsent: 'Saglasnost za kolačiće',\n cookieDescription: 'Koristimo kolačiće da poboljšamo vaše iskustvo.',\n cookieLearnMore: 'Saznaj više',\n accept: 'Prihvati',\n decline: 'Odbij',\n goToHomePage: 'Idi na početnu',\n home: 'Početna',\n linkCopied: 'Link kopiran!',\n copyLinkToSection: 'Kopiraj link na odjeljak',\n search: 'Pretraži',\n searchPlaceholder: 'Pretraži',\n closeBanner: 'Zatvori baner',\n fallbackLocaleWarning:\n 'Ovaj sadržaj je prikazan na {fallbackLocaleName} jer nije dostupan na {requestedLocaleName}.',\n };\n\nconst ca: ThemeTranslations = {\n copyPage: 'Copia la pàgina',\n copied: 'Copiat!',\n openInChatGPT: 'Obre a ChatGPT',\n openInClaude: 'Obre a Claude',\n askAboutThisPage: 'Pregunta sobre aquesta pàgina a ChatGPT',\n copyPageDescription: 'Copia la pàgina com a Markdown per a LLM',\n askQuestionsDescription: 'Fes preguntes sobre aquesta pàgina',\n chatGPTPrefix: 'Aquesta pàgina prové de',\n tableOfContents: 'Taula de continguts',\n contributors: 'Col·laboradors',\n goToDocsHome: 'Vés a l’inici de la documentació',\n goBackTo: 'Torna a',\n goToPreviousPage: 'Pàgina anterior',\n goToNextPage: 'Pàgina següent',\n noPreviousPage: 'No hi ha pàgina anterior',\n noNextPage: 'No hi ha pàgina següent',\n cookieConsent: 'Consentiment de galetes',\n cookieDescription: 'Utilitzem galetes per millorar la vostra experiència.',\n cookieLearnMore: 'Més informació',\n accept: 'Accepta',\n decline: 'Rebutja',\n goToHomePage: 'Vés a la pàgina d’inici',\n home: 'Inici',\n linkCopied: 'Enllaç copiat!',\n copyLinkToSection: 'Copia l’enllaç a la secció',\n search: 'Cerca',\n searchPlaceholder: 'Cerca',\n closeBanner: 'Tanca el bàner',\n fallbackLocaleWarning:\n 'Aquest contingut es mostra en {fallbackLocaleName} perquè no està disponible en {requestedLocaleName}.',\n };\n\nconst cs: ThemeTranslations = {\n copyPage: 'Kopírovat stránku',\n copied: 'Zkopírováno!',\n openInChatGPT: 'Otevřít v ChatGPT',\n openInClaude: 'Otevřít v Claude',\n askAboutThisPage: 'Zeptejte se na tuto stránku v ChatGPT',\n copyPageDescription: 'Kopírovat stránku jako Markdown pro LLM',\n askQuestionsDescription: 'Ptejte se na tuto stránku',\n chatGPTPrefix: 'Tato stránka pochází z',\n tableOfContents: 'Obsah',\n contributors: 'Přispěvatelé',\n goToDocsHome: 'Přejít na domovskou stránku dokumentace',\n goBackTo: 'Zpět na',\n goToPreviousPage: 'Předchozí stránka',\n goToNextPage: 'Další stránka',\n noPreviousPage: 'Žádná předchozí stránka',\n noNextPage: 'Žádná další stránka',\n cookieConsent: 'Souhlas s cookies',\n cookieDescription: 'Používáme cookies ke zlepšení vašeho zážitku.',\n cookieLearnMore: 'Zjistit více',\n accept: 'Přijmout',\n decline: 'Odmítnout',\n goToHomePage: 'Přejít na domovskou stránku',\n home: 'Domů',\n linkCopied: 'Odkaz zkopírován!',\n copyLinkToSection: 'Kopírovat odkaz na sekci',\n search: 'Hledat',\n searchPlaceholder: 'Hledat',\n closeBanner: 'Zavřít banner',\n fallbackLocaleWarning:\n 'Tento obsah je zobrazen v jazyce {fallbackLocaleName}, protože není k dispozici v jazyce {requestedLocaleName}.',\n };\n\nconst cy: ThemeTranslations = {\n copyPage: 'Copïo’r dudalen',\n copied: 'Wedi copïo!',\n openInChatGPT: 'Agor yn ChatGPT',\n openInClaude: 'Agor yn Claude',\n askAboutThisPage: 'Gofynwch am y dudalen hon yn ChatGPT',\n copyPageDescription: 'Copïo’r dudalen fel Markdown ar gyfer LLMs',\n askQuestionsDescription: 'Gofynnwch gwestiynau am y dudalen hon',\n chatGPTPrefix: 'Mae’r dudalen hon yn dod o',\n tableOfContents: 'Cynnwys',\n contributors: 'Cyfranwyr',\n goToDocsHome: 'Ewch i hafan y ddogfennaeth',\n goBackTo: 'Nôl i',\n goToPreviousPage: 'Tudalen flaenorol',\n goToNextPage: 'Tudalen nesaf',\n noPreviousPage: 'Dim tudalen flaenorol',\n noNextPage: 'Dim tudalen nesaf',\n cookieConsent: 'Cydsyniad cwcis',\n cookieDescription: 'Rydym yn defnyddio cwcis i wella eich profiad.',\n cookieLearnMore: 'Dysgu mwy',\n accept: 'Derbyn',\n decline: 'Gwrthod',\n goToHomePage: 'Ewch i’r dudalen gartref',\n home: 'Hafan',\n linkCopied: 'Dolen wedi’i chopïo!',\n copyLinkToSection: 'Copïo dolen i’r adran',\n search: 'Chwilio',\n searchPlaceholder: 'Chwilio',\n closeBanner: 'Cau’r faner',\n fallbackLocaleWarning:\n 'Mae’r cynnwys hwn yn cael ei ddangos yn {fallbackLocaleName} gan nad yw ar gael yn {requestedLocaleName}.',\n };\n\nconst el: ThemeTranslations = {\n copyPage: 'Αντιγραφή σελίδας',\n copied: 'Αντιγράφηκε!',\n openInChatGPT: 'Άνοιγμα στο ChatGPT',\n openInClaude: 'Άνοιγμα στο Claude',\n askAboutThisPage: 'Ρωτήστε για αυτή τη σελίδα στο ChatGPT',\n copyPageDescription: 'Αντιγραφή σελίδας ως Markdown για LLM',\n askQuestionsDescription: 'Κάντε ερωτήσεις για αυτή τη σελίδα',\n chatGPTPrefix: 'Αυτή η σελίδα προέρχεται από',\n tableOfContents: 'Πίνακας περιεχομένων',\n contributors: 'Συντελεστές',\n goToDocsHome: 'Μετάβαση στην αρχική τεκμηρίωσης',\n goBackTo: 'Επιστροφή σε',\n goToPreviousPage: 'Προηγούμενη σελίδα',\n goToNextPage: 'Επόμενη σελίδα',\n noPreviousPage: 'Δεν υπάρχει προηγούμενη σελίδα',\n noNextPage: 'Δεν υπάρχει επόμενη σελίδα',\n cookieConsent: 'Συναίνεση cookies',\n cookieDescription: 'Χρησιμοποιούμε cookies για να βελτιώσουμε την εμπειρία σας.',\n cookieLearnMore: 'Μάθετε περισσότερα',\n accept: 'Αποδοχή',\n decline: 'Απόρριψη',\n goToHomePage: 'Μετάβαση στην αρχική',\n home: 'Αρχική',\n linkCopied: 'Ο σύνδεσμος αντιγράφηκε!',\n copyLinkToSection: 'Αντιγραφή συνδέσμου στην ενότητα',\n search: 'Αναζήτηση',\n searchPlaceholder: 'Αναζήτηση',\n closeBanner: 'Κλείσιμο μπάνερ',\n fallbackLocaleWarning:\n 'Αυτό το περιεχόμενο εμφανίζεται στα {fallbackLocaleName} επειδή δεν είναι διαθέσιμο στα {requestedLocaleName}.',\n };\n\nconst et: ThemeTranslations = {\n copyPage: 'Kopeeri leht',\n copied: 'Kopeeritud!',\n openInChatGPT: 'Ava ChatGPT-s',\n openInClaude: 'Ava Claude’is',\n askAboutThisPage: 'Küsi selle lehe kohta ChatGPT-s',\n copyPageDescription: 'Kopeeri leht LLM-ide jaoks Markdownina',\n askQuestionsDescription: 'Esita küsimusi selle lehe kohta',\n chatGPTPrefix: 'See leht on pärit',\n tableOfContents: 'Sisukord',\n contributors: 'Kaastöölised',\n goToDocsHome: 'Mine dokumentatsiooni avalehele',\n goBackTo: 'Tagasi',\n goToPreviousPage: 'Eelmine leht',\n goToNextPage: 'Järgmine leht',\n noPreviousPage: 'Eelmist lehte pole',\n noNextPage: 'Järgmist lehte pole',\n cookieConsent: 'Küpsiste nõusolek',\n cookieDescription: 'Kasutame küpsiseid teie kogemuse parandamiseks.',\n cookieLearnMore: 'Lisateave',\n accept: 'Nõustu',\n decline: 'Keeldu',\n goToHomePage: 'Mine avalehele',\n home: 'Avaleht',\n linkCopied: 'Link kopeeritud!',\n copyLinkToSection: 'Kopeeri link jaotisesse',\n search: 'Otsi',\n searchPlaceholder: 'Otsi',\n closeBanner: 'Sulge bänner',\n fallbackLocaleWarning:\n 'See sisu kuvatakse keeles {fallbackLocaleName}, kuna see pole saadaval keeles {requestedLocaleName}.',\n };\n\nconst eu: ThemeTranslations = {\n copyPage: 'Kopiatu orria',\n copied: 'Kopiatuta!',\n openInChatGPT: 'Ireki ChatGPT-n',\n openInClaude: 'Ireki Claude-n',\n askAboutThisPage: 'Galdetu orri honi buruz ChatGPT-n',\n copyPageDescription: 'Kopiatu orria Markdown gisa LLM-entzat',\n askQuestionsDescription: 'Egin galderak orri honi buruz',\n chatGPTPrefix: 'Orri hau hemendik dator',\n tableOfContents: 'Edukien taula',\n contributors: 'Laguntzaileak',\n goToDocsHome: 'Joan dokumentazioaren hasierara',\n goBackTo: 'Itzuli hona',\n goToPreviousPage: 'Aurreko orria',\n goToNextPage: 'Hurrengo orria',\n noPreviousPage: 'Ez dago aurreko orririk',\n noNextPage: 'Ez dago hurrengo orririk',\n cookieConsent: 'Cookie onespena',\n cookieDescription: 'Cookieak erabiltzen ditugu zure esperientzia hobetzeko.',\n cookieLearnMore: 'Informazio gehiago',\n accept: 'Onartu',\n decline: 'Baztertu',\n goToHomePage: 'Joan hasierako orrira',\n home: 'Hasiera',\n linkCopied: 'Esteka kopiatuta!',\n copyLinkToSection: 'Kopiatu esteka atalera',\n search: 'Bilatu',\n searchPlaceholder: 'Bilatu',\n closeBanner: 'Itxi banner-a',\n fallbackLocaleWarning:\n 'Edukia {fallbackLocaleName} erakusten da {requestedLocaleName} eskuragarri ez dagoelako.',\n };\n\nconst ga: ThemeTranslations = {\n copyPage: 'Cóipeáil an leathanach',\n copied: 'Cóipeáladh!',\n openInChatGPT: 'Oscail i ChatGPT',\n openInClaude: 'Oscail i Claude',\n askAboutThisPage: 'Cuir ceist faoin leathanach seo i ChatGPT',\n copyPageDescription: 'Cóipeáil an leathanach mar Markdown do LLMs',\n askQuestionsDescription: 'Cuir ceisteanna faoin leathanach seo',\n chatGPTPrefix: 'Tá an leathanach seo ó',\n tableOfContents: 'Clár ábhair',\n contributors: 'Rannpháirtithe',\n goToDocsHome: 'Téigh go dtí baile na doiciméadachta',\n goBackTo: 'Téigh ar ais go',\n goToPreviousPage: 'Leathanach roimhe',\n goToNextPage: 'An chéad leathanach eile',\n noPreviousPage: 'Níl leathanach roimhe ann',\n noNextPage: 'Níl leathanach ina dhiaidh ann',\n cookieConsent: 'Toiliú fianán',\n cookieDescription: 'Úsáidimid fianáin chun do thaithí a fheabhsú.',\n cookieLearnMore: 'Tuilleadh eolais',\n accept: 'Glac',\n decline: 'Diúltú',\n goToHomePage: 'Téigh go dtí an leathanach baile',\n home: 'Baile',\n linkCopied: 'Cóipeáladh an nasc!',\n copyLinkToSection: 'Cóipeáil nasc go dtí an rannán',\n search: 'Cuardaigh',\n searchPlaceholder: 'Cuardaigh',\n closeBanner: 'Dún an meirge',\n fallbackLocaleWarning:\n 'Tá an t-ábhar seo á thaispeáint i {fallbackLocaleName} toisc nach bhfuil sé ar fáil i {requestedLocaleName}.',\n };\n\nconst gl: ThemeTranslations = {\n copyPage: 'Copiar páxina',\n copied: 'Copiado!',\n openInChatGPT: 'Abrir en ChatGPT',\n openInClaude: 'Abrir en Claude',\n askAboutThisPage: 'Pregunta sobre esta páxina en ChatGPT',\n copyPageDescription: 'Copiar páxina como Markdown para LLM',\n askQuestionsDescription: 'Fai preguntas sobre esta páxina',\n chatGPTPrefix: 'Esta páxina vén de',\n tableOfContents: 'Índice',\n contributors: 'Colaboradores',\n goToDocsHome: 'Ir ao inicio da documentación',\n goBackTo: 'Volver a',\n goToPreviousPage: 'Páxina anterior',\n goToNextPage: 'Páxina seguinte',\n noPreviousPage: 'Non hai páxina anterior',\n noNextPage: 'Non hai páxina seguinte',\n cookieConsent: 'Consentimento de cookies',\n cookieDescription: 'Usamos cookies para mellorar a túa experiencia.',\n cookieLearnMore: 'Máis información',\n accept: 'Aceptar',\n decline: 'Rexeitar',\n goToHomePage: 'Ir á páxina de inicio',\n home: 'Inicio',\n linkCopied: 'Ligazón copiada!',\n copyLinkToSection: 'Copiar ligazón á sección',\n search: 'Buscar',\n searchPlaceholder: 'Buscar',\n closeBanner: 'Pechar banner',\n fallbackLocaleWarning:\n 'Este contido móstrase en {fallbackLocaleName} porque non está dispoñible en {requestedLocaleName}.',\n };\n\nconst gu: ThemeTranslations = {\n copyPage: 'પૃષ્ઠ કૉપિ કરો',\n copied: 'કૉપિ થયું!',\n openInChatGPT: 'ChatGPT માં ખોલો',\n openInClaude: 'Claude માં ખોલો',\n askAboutThisPage: 'ChatGPT માં આ પૃષ્ઠ વિશે પૂછો',\n copyPageDescription: 'LLM માટે પૃષ્ઠને Markdown તરીકે કૉપિ કરો',\n askQuestionsDescription: 'આ પૃષ્ઠ વિશે પ્રશ્નો પૂછો',\n chatGPTPrefix: 'આ પૃષ્ઠ',\n tableOfContents: 'વિષયસૂચિ',\n contributors: 'યોગદાનકર્તાઓ',\n goToDocsHome: 'દસ્તાવેજ મુખપૃષ્ઠ પર જાઓ',\n goBackTo: 'પાછા જાઓ',\n goToPreviousPage: 'પાછલું પૃષ્ઠ',\n goToNextPage: 'આગલું પૃષ્ઠ',\n noPreviousPage: 'કોઈ પાછલું પૃષ્ઠ નથી',\n noNextPage: 'કોઈ આગલું પૃષ્ઠ નથી',\n cookieConsent: 'કૂકી સંમતિ',\n cookieDescription: 'તમારા અનુભવને સુધારવા અમે કૂકીઝ વાપરીએ છીએ.',\n cookieLearnMore: 'વધુ જાણો',\n accept: 'સ્વીકારો',\n decline: 'નકારો',\n goToHomePage: 'હોમ પૃષ્ઠ પર જાઓ',\n home: 'હોમ',\n linkCopied: 'લિંક કૉપિ થઈ!',\n copyLinkToSection: 'વિભાગની લિંક કૉપિ કરો',\n search: 'શોધો',\n searchPlaceholder: 'શોધો',\n closeBanner: 'બેનર બંધ કરો',\n fallbackLocaleWarning:\n 'આ સામગ્રી {fallbackLocaleName} માં દર્શાવાય છે કારણ કે તે {requestedLocaleName} માં ઉપલબ્ધ નથી.',\n };\n\nconst hr: ThemeTranslations = {\n copyPage: 'Kopiraj stranicu',\n copied: 'Kopirano!',\n openInChatGPT: 'Otvori u ChatGPT',\n openInClaude: 'Otvori u Claude',\n askAboutThisPage: 'Pitaj o ovoj stranici u ChatGPT',\n copyPageDescription: 'Kopiraj stranicu kao Markdown za LLM',\n askQuestionsDescription: 'Postavi pitanja o ovoj stranici',\n chatGPTPrefix: 'Ova stranica je s',\n tableOfContents: 'Sadržaj',\n contributors: 'Suradnici',\n goToDocsHome: 'Idi na početak dokumentacije',\n goBackTo: 'Natrag na',\n goToPreviousPage: 'Prethodna stranica',\n goToNextPage: 'Sljedeća stranica',\n noPreviousPage: 'Nema prethodne stranice',\n noNextPage: 'Nema sljedeće stranice',\n cookieConsent: 'Pristanak na kolačiće',\n cookieDescription: 'Koristimo kolačiće radi boljeg iskustva.',\n cookieLearnMore: 'Saznaj više',\n accept: 'Prihvati',\n decline: 'Odbij',\n goToHomePage: 'Idi na početnu',\n home: 'Početna',\n linkCopied: 'Poveznica kopirana!',\n copyLinkToSection: 'Kopiraj poveznicu na odjeljak',\n search: 'Pretraži',\n searchPlaceholder: 'Pretraži',\n closeBanner: 'Zatvori banner',\n fallbackLocaleWarning:\n 'Ovaj sadržaj prikazan je na {fallbackLocaleName} jer nije dostupan na {requestedLocaleName}.',\n };\n\nconst hu: ThemeTranslations = {\n copyPage: 'Oldal másolása',\n copied: 'Másolva!',\n openInChatGPT: 'Megnyitás a ChatGPT-ben',\n openInClaude: 'Megnyitás a Claude-ban',\n askAboutThisPage: 'Kérdezzen erről az oldalról a ChatGPT-ben',\n copyPageDescription: 'Oldal másolása Markdownként LLM-ekhez',\n askQuestionsDescription: 'Kérdések feltevése erről az oldalról',\n chatGPTPrefix: 'Ez az oldal innen származik',\n tableOfContents: 'Tartalomjegyzék',\n contributors: 'Közreműködők',\n goToDocsHome: 'Ugrás a dokumentáció kezdőlapjára',\n goBackTo: 'Vissza ide',\n goToPreviousPage: 'Előző oldal',\n goToNextPage: 'Következő oldal',\n noPreviousPage: 'Nincs előző oldal',\n noNextPage: 'Nincs következő oldal',\n cookieConsent: 'Süti hozzájárulás',\n cookieDescription: 'Sütiket használunk a jobb élményért.',\n cookieLearnMore: 'Tudjon meg többet',\n accept: 'Elfogadom',\n decline: 'Elutasítom',\n goToHomePage: 'Ugrás a kezdőlapra',\n home: 'Kezdőlap',\n linkCopied: 'Link másolva!',\n copyLinkToSection: 'Link másolása a szakaszhoz',\n search: 'Keresés',\n searchPlaceholder: 'Keresés',\n closeBanner: 'Banner bezárása',\n fallbackLocaleWarning:\n 'A tartalom {fallbackLocaleName} nyelven jelenik meg, mert {requestedLocaleName} nyelven nem érhető el.',\n };\n\nconst hy: ThemeTranslations = {\n copyPage: 'Պատճենել էջը',\n copied: 'Պատճենվեց!',\n openInChatGPT: 'Բացել ChatGPT-ում',\n openInClaude: 'Բացել Claude-ում',\n askAboutThisPage: 'Հարցրեք այս էջի մասին ChatGPT-ում',\n copyPageDescription: 'Պատճենել էջը Markdown LLM-ների համար',\n askQuestionsDescription: 'Հարցեր այս էջի մասին',\n chatGPTPrefix: 'Այս էջը',\n tableOfContents: 'Բովանդակություն',\n contributors: 'Ներդրողներ',\n goToDocsHome: 'Գնալ փաստաթղթավորման գլխավոր էջ',\n goBackTo: 'Վերադառնալ',\n goToPreviousPage: 'Նախորդ էջ',\n goToNextPage: 'Հաջորդ էջ',\n noPreviousPage: 'Նախորդ էջ չկա',\n noNextPage: 'Հաջորդ էջ չկա',\n cookieConsent: 'Cookie համաձայնություն',\n cookieDescription: 'Մենք օգտագործում ենք cookie-ներ ձեր փորձը բարելավելու համար.',\n cookieLearnMore: 'Իմանալ ավելին',\n accept: 'Ընդունել',\n decline: 'Մերժել',\n goToHomePage: 'Գնալ գլխավոր էջ',\n home: 'Գլխավոր',\n linkCopied: 'Հղումը պատճենվեց!',\n copyLinkToSection: 'Պատճենել հղումը բաժին',\n search: 'Որոնում',\n searchPlaceholder: 'Որոնում',\n closeBanner: 'Փակել բանները',\n fallbackLocaleWarning:\n 'Այս բովանդակությունը ցուցադրվում է {fallbackLocaleName}ով, քանի որ հասանելի չէ {requestedLocaleName}ով:',\n };\n\nconst is: ThemeTranslations = {\n copyPage: 'Afrita síðu',\n copied: 'Afritað!',\n openInChatGPT: 'Opna í ChatGPT',\n openInClaude: 'Opna í Claude',\n askAboutThisPage: 'Spyrja um þessa síðu í ChatGPT',\n copyPageDescription: 'Afrita síðu sem Markdown fyrir LLM',\n askQuestionsDescription: 'Spyrja spurninga um þessa síðu',\n chatGPTPrefix: 'Þessi síða kemur frá',\n tableOfContents: 'Efnisyfirlit',\n contributors: 'Þátttakendur',\n goToDocsHome: 'Fara á heimasíðu skjölunar',\n goBackTo: 'Til baka í',\n goToPreviousPage: 'Fyrri síða',\n goToNextPage: 'Næsta síða',\n noPreviousPage: 'Engin fyrri síða',\n noNextPage: 'Engin næsta síða',\n cookieConsent: 'Vafrakökusamþykki',\n cookieDescription: 'Við notum vafrakökur til að bæta upplifun þína.',\n cookieLearnMore: 'Frekari upplýsingar',\n accept: 'Samþykkja',\n decline: 'Hafna',\n goToHomePage: 'Fara á forsíðu',\n home: 'Heim',\n linkCopied: 'Tengill afritaður!',\n copyLinkToSection: 'Afrita tengil í kafla',\n search: 'Leita',\n searchPlaceholder: 'Leita',\n closeBanner: 'Loka borða',\n fallbackLocaleWarning:\n 'Þetta efni er sýnt á {fallbackLocaleName} því það er ekki tiltækt á {requestedLocaleName}.',\n };\n\nconst ka: ThemeTranslations = {\n copyPage: 'გვერდის კოპირება',\n copied: 'კოპირებულია!',\n openInChatGPT: 'გახსნა ChatGPT-ში',\n openInClaude: 'გახსნა Claude-ში',\n askAboutThisPage: 'კითხვა ამ გვერდზე ChatGPT-ში',\n copyPageDescription: 'გვერდის კოპირება Markdown-ად LLM-ებისთვის',\n askQuestionsDescription: 'კითხვები ამ გვერდის შესახებ',\n chatGPTPrefix: 'ეს გვერდი',\n tableOfContents: 'სარჩევი',\n contributors: 'მონაწილეები',\n goToDocsHome: 'დოკუმენტაციის მთავარ გვერდზე',\n goBackTo: 'უკან',\n goToPreviousPage: 'წინა გვერდი',\n goToNextPage: 'შემდეგი გვერდი',\n noPreviousPage: 'წინა გვერდი არ არის',\n noNextPage: 'შემდეგი გვერდი არ არის',\n cookieConsent: 'ქუქი-ფაილების თანხმობა',\n cookieDescription: 'ჩვენ ვიყენებთ ქუქი-ფაილებს გამოცდილების გასაუმჯობესებლად.',\n cookieLearnMore: 'შეიტყვეთ მეტი',\n accept: 'დათანხმება',\n decline: 'უარი',\n goToHomePage: 'მთავარ გვერდზე',\n home: 'მთავარი',\n linkCopied: 'ბმული კოპირებულია!',\n copyLinkToSection: 'ბმულის კოპირება სექციაში',\n search: 'ძიება',\n searchPlaceholder: 'ძიება',\n closeBanner: 'ბანერის დახურვა',\n fallbackLocaleWarning:\n 'კონტენტი ნაჩვენებია {fallbackLocaleName}-ში, რადგან {requestedLocaleName}-ში არ არის ხელმისაწვდომი.',\n };\n\nconst kk: ThemeTranslations = {\n copyPage: 'Бетті көшіру',\n copied: 'Көшірілді!',\n openInChatGPT: 'ChatGPT-та ашу',\n openInClaude: 'Claude-та ашу',\n askAboutThisPage: 'Осы бет туралы ChatGPT-та сұраңыз',\n copyPageDescription: 'Бетті LLM үшін Markdown ретінде көшіру',\n askQuestionsDescription: 'Осы бет туралы сұрақтар қойыңыз',\n chatGPTPrefix: 'Бұл бет',\n tableOfContents: 'Мазмұны',\n contributors: 'Үлес қосушылар',\n goToDocsHome: 'Құжаттама басты бетіне өту',\n goBackTo: 'Артқа',\n goToPreviousPage: 'Алдыңғы бет',\n goToNextPage: 'Келесі бет',\n noPreviousPage: 'Алдыңғы бет жоқ',\n noNextPage: 'Келесі бет жоқ',\n cookieConsent: 'Cookie келісімі',\n cookieDescription: 'Тәжірибеңізді жақсарту үшін cookie қолданамыз.',\n cookieLearnMore: 'Толығырақ',\n accept: 'Қабылдау',\n decline: 'Бас тарту',\n goToHomePage: 'Басты бетке өту',\n home: 'Басты бет',\n linkCopied: 'Сілтеме көшірілді!',\n copyLinkToSection: 'Бөлікке сілтемені көшіру',\n search: 'Іздеу',\n searchPlaceholder: 'Іздеу',\n closeBanner: 'Баннерді жабу',\n fallbackLocaleWarning:\n 'Мазмұн {fallbackLocaleName} көрсетіледі, себебі {requestedLocaleName} қолжетімді емес.',\n };\n\nconst km: ThemeTranslations = {\n copyPage: 'ចម្លងទំព័រ',\n copied: 'បានចម្លង!',\n openInChatGPT: 'បើកនៅក្នុង ChatGPT',\n openInClaude: 'បើកនៅក្នុង Claude',\n askAboutThisPage: 'សួរអំពីទំព័រនេះនៅក្នុង ChatGPT',\n copyPageDescription: 'ចម្លងទំព័រជា Markdown សម្រាប់ LLM',\n askQuestionsDescription: 'សួរសំណួរអំពីទំព័រនេះ',\n chatGPTPrefix: 'ទំព័រនេះមកពី',\n tableOfContents: 'មាតិកា',\n contributors: 'អ្នករួមចំណែក',\n goToDocsHome: 'ទៅទំព័រដើមឯកសារ',\n goBackTo: 'ត្រឡប់ទៅ',\n goToPreviousPage: 'ទំព័រមុន',\n goToNextPage: 'ទំព័របន្ទាប់',\n noPreviousPage: 'គ្មានទំព័រមុន',\n noNextPage: 'គ្មានទំព័របន្ទាប់',\n cookieConsent: 'ការយល់ព្រមខូគី',\n cookieDescription: 'យើងប្រើខូគីដើម្បីកែលម្អបទពិសោធរបស់អ្នក។',\n cookieLearnMore: 'ស្វែងយល់បន្ថែម',\n accept: 'ទទួលយក',\n decline: 'បដិសេធ',\n goToHomePage: 'ទៅទំព័រដើម',\n home: 'ដើម',\n linkCopied: 'បានចម្លងតំណ!',\n copyLinkToSection: 'ចម្លងតំណទៅផ្នែក',\n search: 'ស្វែងរក',\n searchPlaceholder: 'ស្វែងរក',\n closeBanner: 'បិទបដា',\n fallbackLocaleWarning:\n 'មាតិកានេះបង្ហាញជា {fallbackLocaleName} ពីព្រោះមិនមាននៅ {requestedLocaleName}។',\n };\n\nconst kn: ThemeTranslations = {\n copyPage: 'ಪುಟವನ್ನು ನಕಲಿಸಿ',\n copied: 'ನಕಲಿಸಲಾಗಿದೆ!',\n openInChatGPT: 'ChatGPT ನಲ್ಲಿ ತೆರೆಯಿರಿ',\n openInClaude: 'Claude ನಲ್ಲಿ ತೆರೆಯಿರಿ',\n askAboutThisPage: 'ChatGPT ನಲ್ಲಿ ಈ ಪುಟದ ಬಗ್ಗೆ ಕೇಳಿ',\n copyPageDescription: 'LLM ಗಳಿಗಾಗಿ ಪುಟವನ್ನು Markdown ಆಗಿ ನಕಲಿಸಿ',\n askQuestionsDescription: 'ಈ ಪುಟದ ಬಗ್ಗೆ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಿ',\n chatGPTPrefix: 'ಈ ಪುಟ',\n tableOfContents: 'ವಿಷಯಸೂಚಿ',\n contributors: 'ಕೊಡುಗೆದಾರರು',\n goToDocsHome: 'ದಸ್ತಾವೇಜು ಮುಖಪುಟಕ್ಕೆ ಹೋಗಿ',\n goBackTo: 'ಹಿಂದೆ ಹೋಗಿ',\n goToPreviousPage: 'ಹಿಂದಿನ ಪುಟ',\n goToNextPage: 'ಮುಂದಿನ ಪುಟ',\n noPreviousPage: 'ಹಿಂದಿನ ಪುಟವಿಲ್ಲ',\n noNextPage: 'ಮುಂದಿನ ಪುಟವಿಲ್ಲ',\n cookieConsent: 'ಕುಕ್ಕಿ ಒಪ್ಪಿಗೆ',\n cookieDescription: 'ನಿಮ್ಮ ಅನುಭವವನ್ನು ಸುಧಾರಿಸಲು ನಾವು ಕುಕ್ಕಿಗಳನ್ನು ಬಳಸುತ್ತೇವೆ.',\n cookieLearnMore: 'ಇನ್ನಷ್ಟು ತಿಳಿಯಿರಿ',\n accept: 'ಸ್ವೀಕರಿಸಿ',\n decline: 'ನಿರಾಕರಿಸಿ',\n goToHomePage: 'ಮುಖಪುಟಕ್ಕೆ ಹೋಗಿ',\n home: 'ಮುಖಪುಟ',\n linkCopied: 'ಲಿಂಕ್ ನಕಲಿಸಲಾಗಿದೆ!',\n copyLinkToSection: 'ವಿಭಾಗಕ್ಕೆ ಲಿಂಕ್ ನಕಲಿಸಿ',\n search: 'ಹುಡುಕಿ',\n searchPlaceholder: 'ಹುಡುಕಿ',\n closeBanner: 'ಬ್ಯಾನರ್ ಮುಚ್ಚಿ',\n fallbackLocaleWarning:\n 'ಈ ವಿಷಯವನ್ನು {fallbackLocaleName} ನಲ್ಲಿ ತೋರಿಸಲಾಗಿದೆ ಏಕೆಂದರೆ {requestedLocaleName} ನಲ್ಲಿ ಲಭ್ಯವಿಲ್ಲ.',\n };\n\nconst lt: ThemeTranslations = {\n copyPage: 'Kopijuoti puslapį',\n copied: 'Nukopijuota!',\n openInChatGPT: 'Atidaryti ChatGPT',\n openInClaude: 'Atidaryti Claude',\n askAboutThisPage: 'Klauskite apie šį puslapį ChatGPT',\n copyPageDescription: 'Kopijuoti puslapį kaip Markdown LLM',\n askQuestionsDescription: 'Klauskite apie šį puslapį',\n chatGPTPrefix: 'Šis puslapis iš',\n tableOfContents: 'Turinys',\n contributors: 'Autoriai',\n goToDocsHome: 'Į dokumentacijos pradžią',\n goBackTo: 'Atgal į',\n goToPreviousPage: 'Ankstesnis puslapis',\n goToNextPage: 'Kitas puslapis',\n noPreviousPage: 'Nėra ankstesnio puslapio',\n noNextPage: 'Nėra kito puslapio',\n cookieConsent: 'Slapukų sutikimas',\n cookieDescription: 'Naudojame slapukus, kad pagerintume jūsų patirtį.',\n cookieLearnMore: 'Sužinoti daugiau',\n accept: 'Priimti',\n decline: 'Atmesti',\n goToHomePage: 'Į pradžios puslapį',\n home: 'Pradžia',\n linkCopied: 'Nuoroda nukopijuota!',\n copyLinkToSection: 'Kopijuoti nuorodą į skyrių',\n search: 'Ieškoti',\n searchPlaceholder: 'Ieškoti',\n closeBanner: 'Uždaryti juostą',\n fallbackLocaleWarning:\n 'Turinys rodomas {fallbackLocaleName}, nes nepasiekiamas {requestedLocaleName}.',\n };\n\nconst lv: ThemeTranslations = {\n copyPage: 'Kopēt lapu',\n copied: 'Nokopēts!',\n openInChatGPT: 'Atvērt ChatGPT',\n openInClaude: 'Atvērt Claude',\n askAboutThisPage: 'Jautājiet par šo lapu ChatGPT',\n copyPageDescription: 'Kopēt lapu kā Markdown LLM',\n askQuestionsDescription: 'Uzdodiet jautājumus par šo lapu',\n chatGPTPrefix: 'Šī lapa no',\n tableOfContents: 'Saturs',\n contributors: 'Līdzautori',\n goToDocsHome: 'Uz dokumentācijas sākumu',\n goBackTo: 'Atpakaļ uz',\n goToPreviousPage: 'Iepriekšējā lapa',\n goToNextPage: 'Nākamā lapa',\n noPreviousPage: 'Nav iepriekšējās lapas',\n noNextPage: 'Nav nākamās lapas',\n cookieConsent: 'Sīkdatņu piekrišana',\n cookieDescription: 'Mēs izmantojam sīkdatnes, lai uzlabotu jūsu pieredzi.',\n cookieLearnMore: 'Uzzināt vairāk',\n accept: 'Pieņemt',\n decline: 'Noraidīt',\n goToHomePage: 'Uz sākumlapu',\n home: 'Sākums',\n linkCopied: 'Saite nokopēta!',\n copyLinkToSection: 'Kopēt saiti uz sadaļu',\n search: 'Meklēt',\n searchPlaceholder: 'Meklēt',\n closeBanner: 'Aizvērt reklāmkarogu',\n fallbackLocaleWarning:\n 'Saturs tiek rādīts {fallbackLocaleName}, jo nav pieejams {requestedLocaleName}.',\n };\n\nconst mk: ThemeTranslations = {\n copyPage: 'Копирај страница',\n copied: 'Копирано!',\n openInChatGPT: 'Отвори во ChatGPT',\n openInClaude: 'Отвори во Claude',\n askAboutThisPage: 'Прашај за оваа страница во ChatGPT',\n copyPageDescription: 'Копирај страница како Markdown за LLM',\n askQuestionsDescription: 'Постави прашања за оваа страница',\n chatGPTPrefix: 'Оваа страница е од',\n tableOfContents: 'Содржина',\n contributors: 'Соработници',\n goToDocsHome: 'Оди на почеток на документацијата',\n goBackTo: 'Назад кон',\n goToPreviousPage: 'Претходна страница',\n goToNextPage: 'Следна страница',\n noPreviousPage: 'Нема претходна страница',\n noNextPage: 'Нема следна страница',\n cookieConsent: 'Согласност за колачиња',\n cookieDescription: 'Користиме колачиња за подобро искуство.',\n cookieLearnMore: 'Дознај повеќе',\n accept: 'Прифати',\n decline: 'Одбиј',\n goToHomePage: 'Оди на почетна',\n home: 'Почетна',\n linkCopied: 'Линкот е копиран!',\n copyLinkToSection: 'Копирај линк до оддел',\n search: 'Пребарај',\n searchPlaceholder: 'Пребарај',\n closeBanner: 'Затвори банер',\n fallbackLocaleWarning:\n 'Содржината е прикажана на {fallbackLocaleName} бидејќи не е достапна на {requestedLocaleName}.',\n };\n\nconst ml: ThemeTranslations = {\n copyPage: 'പേജ് പകർത്തുക',\n copied: 'പകർത്തി!',\n openInChatGPT: 'ChatGPT-ൽ തുറക്കുക',\n openInClaude: 'Claude-ൽ തുറക്കുക',\n askAboutThisPage: 'ChatGPT-ൽ ഈ പേജിനെക്കുറിച്ച് ചോദിക്കുക',\n copyPageDescription: 'LLM-കൾക്കായി പേജ് Markdown ആയി പകർത്തുക',\n askQuestionsDescription: 'ഈ പേജിനെക്കുറിച്ച് ചോദ്യങ്ങൾ ചോദിക്കുക',\n chatGPTPrefix: 'ഈ പേജ്',\n tableOfContents: 'ഉള്ളടക്ക പട്ടിക',\n contributors: 'സംഭാവകർ',\n goToDocsHome: 'ഡോക്യുമെന്റേഷൻ ഹോമിലേക്ക്',\n goBackTo: 'തിരികെ',\n goToPreviousPage: 'മുമ്പത്തെ പേജ്',\n goToNextPage: 'അടുത്ത പേജ്',\n noPreviousPage: 'മുമ്പത്തെ പേജ് ഇല്ല',\n noNextPage: 'അടുത്ത പേജ് ഇല്ല',\n cookieConsent: 'കുക്കി സമ്മതം',\n cookieDescription: 'നിങ്ങളുടെ അനുഭവം മെച്ചപ്പെടുത്താൻ ഞങ്ങൾ കുക്കികൾ ഉപയോഗിക്കുന്നു.',\n cookieLearnMore: 'കൂടുതലറിയുക',\n accept: 'സ്വീകരിക്കുക',\n decline: 'നിരസിക്കുക',\n goToHomePage: 'ഹോം പേജിലേക്ക്',\n home: 'ഹോം',\n linkCopied: 'ലിങ്ക് പകർത്തി!',\n copyLinkToSection: 'വിഭാഗത്തിലേക്കുള്ള ലിങ്ക് പകർത്തുക',\n search: 'തിരയുക',\n searchPlaceholder: 'തിരയുക',\n closeBanner: 'ബാനർ അടയ്ക്കുക',\n fallbackLocaleWarning:\n 'ഈ ഉള്ളടക്കം {fallbackLocaleName} ൽ കാണിക്കുന്നു കാരണം {requestedLocaleName} ൽ ലഭ്യമല്ല.',\n };\n\nconst mr: ThemeTranslations = {\n copyPage: 'पृष्ठ कॉपी करा',\n copied: 'कॉपी झाले!',\n openInChatGPT: 'ChatGPT मध्ये उघडा',\n openInClaude: 'Claude मध्ये उघडा',\n askAboutThisPage: 'ChatGPT मध्ये या पृष्ठाबद्दल विचारा',\n copyPageDescription: 'LLM साठी पृष्ठ Markdown म्हणून कॉपी करा',\n askQuestionsDescription: 'या पृष्ठाबद्दल प्रश्न विचारा',\n chatGPTPrefix: 'हे पृष्ठ',\n tableOfContents: 'विषयसूची',\n contributors: 'योगदानकर्ते',\n goToDocsHome: 'दस्तऐवजी मुख्यपृष्ठावर जा',\n goBackTo: 'परत जा',\n goToPreviousPage: 'मागील पृष्ठ',\n goToNextPage: 'पुढील पृष्ठ',\n noPreviousPage: 'मागील पृष्ठ नाही',\n noNextPage: 'पुढील पृष्ठ नाही',\n cookieConsent: 'कुकी संमती',\n cookieDescription: 'आम्ही तुमचा अनुभव सुधारण्यासाठी कुकीज वापरतो.',\n cookieLearnMore: 'अधिक जाणून घ्या',\n accept: 'स्वीकारा',\n decline: 'नकार द्या',\n goToHomePage: 'मुख्यपृष्ठावर जा',\n home: 'मुख्यपृष्ठ',\n linkCopied: 'दुवा कॉपी झाला!',\n copyLinkToSection: 'विभागाचा दुवा कॉपी करा',\n search: 'शोधा',\n searchPlaceholder: 'शोधा',\n closeBanner: 'बॅनर बंद करा',\n fallbackLocaleWarning:\n 'ही सामग्री {fallbackLocaleName} मध्ये दाखवली आहे कारण {requestedLocaleName} मध्ये उपलब्ध नाही.',\n };\n\nconst ms: ThemeTranslations = {\n copyPage: 'Salin halaman',\n copied: 'Disalin!',\n openInChatGPT: 'Buka dalam ChatGPT',\n openInClaude: 'Buka dalam Claude',\n askAboutThisPage: 'Tanya tentang halaman ini dalam ChatGPT',\n copyPageDescription: 'Salin halaman sebagai Markdown untuk LLM',\n askQuestionsDescription: 'Ajukan soalan tentang halaman ini',\n chatGPTPrefix: 'Halaman ini dari',\n tableOfContents: 'Kandungan',\n contributors: 'Penyumbang',\n goToDocsHome: 'Ke laman utama dokumentasi',\n goBackTo: 'Kembali ke',\n goToPreviousPage: 'Halaman sebelumnya',\n goToNextPage: 'Halaman seterusnya',\n noPreviousPage: 'Tiada halaman sebelumnya',\n noNextPage: 'Tiada halaman seterusnya',\n cookieConsent: 'Persetujuan kuki',\n cookieDescription: 'Kami menggunakan kuki untuk meningkatkan pengalaman anda.',\n cookieLearnMore: 'Ketahui lebih lanjut',\n accept: 'Terima',\n decline: 'Tolak',\n goToHomePage: 'Ke laman utama',\n home: 'Utama',\n linkCopied: 'Pautan disalin!',\n copyLinkToSection: 'Salin pautan ke bahagian',\n search: 'Cari',\n searchPlaceholder: 'Cari',\n closeBanner: 'Tutup sepanduk',\n fallbackLocaleWarning:\n 'Kandungan ini dipaparkan dalam {fallbackLocaleName} kerana tidak tersedia dalam {requestedLocaleName}.',\n };\n\nconst mt: ThemeTranslations = {\n copyPage: 'Ikkopja l-paġna',\n copied: 'Ikkopjat!',\n openInChatGPT: 'Iftaħ f’ChatGPT',\n openInClaude: 'Iftaħ f’Claude',\n askAboutThisPage: 'Staqsi dwar din il-paġna f’ChatGPT',\n copyPageDescription: 'Ikkopja l-paġna bħala Markdown għall-LLM',\n askQuestionsDescription: 'Staqsi mistoqsijiet dwar din il-paġna',\n chatGPTPrefix: 'Din il-paġna minn',\n tableOfContents: 'Indiċi',\n contributors: 'Kontributuri',\n goToDocsHome: 'Mur għad-dokumentazzjoni prinċipali',\n goBackTo: 'Lura għal',\n goToPreviousPage: 'Paġna ta’ qabel',\n goToNextPage: 'Paġna li jmiss',\n noPreviousPage: 'M’hemm l-ebda paġna ta’ qabel',\n noNextPage: 'M’hemm l-ebda paġna li jmiss',\n cookieConsent: 'Kunsens tal-cookies',\n cookieDescription: 'Nużaw cookies biex intejbu l-esperjenza tiegħek.',\n cookieLearnMore: 'Sir af aktar',\n accept: 'Aċċetta',\n decline: 'Irrifjuta',\n goToHomePage: 'Mur għall-paġna prinċipali',\n home: 'Prinċipali',\n linkCopied: 'Il-link ikkopjat!',\n copyLinkToSection: 'Ikkopja l-link għas-sezzjoni',\n search: 'Fittex',\n searchPlaceholder: 'Fittex',\n closeBanner: 'Agħlaq il-banner',\n fallbackLocaleWarning:\n 'Dan il-kontenut jintwera f’{fallbackLocaleName} għax mhux disponibbli f’{requestedLocaleName}.',\n };\n\nconst my: ThemeTranslations = {\n copyPage: 'စာမျက်နှာကို ကူးယူရန်',\n copied: 'ကူးယူပြီးပါပြီ!',\n openInChatGPT: 'ChatGPT တွင် ဖွင့်ရန်',\n openInClaude: 'Claude တွင် ဖွင့်ရန်',\n askAboutThisPage: 'ChatGPT တွင် ဤစာမျက်နှာအကြောင်း မေးရန်',\n copyPageDescription: 'LLM များအတွက် စာမျက်နှာကို Markdown အဖြစ် ကူးယူရန်',\n askQuestionsDescription: 'ဤစာမျက်နှာအကြောင်း မေးခွန်းများ မေးရန်',\n chatGPTPrefix: 'ဤစာမျက်နှာသည်',\n tableOfContents: 'မာတိကာ',\n contributors: 'ပံ့ပိုးပေးသူများ',\n goToDocsHome: 'စာရွက်စာတမ်း ပင်မသို့ သွားရန်',\n goBackTo: 'ပြန်သွားရန်',\n goToPreviousPage: 'ယခင်စာမျက်နှာ',\n goToNextPage: 'နောက်စာမျက်နှာ',\n noPreviousPage: 'ယခင်စာမျက်နှာ မရှိပါ',\n noNextPage: 'နောက်စာမျက်နှာ မရှိပါ',\n cookieConsent: 'ကွတ်ကီး သဘောတူညီချက်',\n cookieDescription: 'သင့်အတွေ့အကြုံကို တိုးတက်စေရန် ကွတ်ကီးများ အသုံးပြုပါသည်။',\n cookieLearnMore: 'ပိုမိုလေ့လာရန်',\n accept: 'လက်ခံမည်',\n decline: 'ငြင်းပယ်မည်',\n goToHomePage: 'ပင်မစာမျက်နှာသို့ သွားရန်',\n home: 'ပင်မ',\n linkCopied: 'လင့်ခ် ကူးယူပြီးပါပြီ!',\n copyLinkToSection: 'အပိုင်းသို့ လင့်ခ် ကူးယူရန်',\n search: 'ရှာဖွေရန်',\n searchPlaceholder: 'ရှာဖွေရန်',\n closeBanner: 'ဘန်နာပိတ်ရန်',\n fallbackLocaleWarning:\n 'ဤအကြောင်းအရာကို {fallbackLocaleName} ဖြင့် ပြသထားသည် ဘာဖြစ်လို့လဲဆိုတော့ {requestedLocaleName} တွင် မရရှိနိုင်သောကြောင့် ဖြစ်သည်။',\n };\n\nconst ne: ThemeTranslations = {\n copyPage: 'पृष्ठ प्रतिलिपि गर्नुहोस्',\n copied: 'प्रतिलिपि भयो!',\n openInChatGPT: 'ChatGPT मा खोल्नुहोस्',\n openInClaude: 'Claude मा खोल्नुहोस्',\n askAboutThisPage: 'ChatGPT मा यो पृष्ठबारे सोध्नुहोस्',\n copyPageDescription: 'LLM का लागि पृष्ठ Markdown को रूपमा प्रतिलिपि गर्नुहोस्',\n askQuestionsDescription: 'यो पृष्ठबारे प्रश्न सोध्नुहोस्',\n chatGPTPrefix: 'यो पृष्ठ',\n tableOfContents: 'विषयसूची',\n contributors: 'योगदानकर्ताहरू',\n goToDocsHome: 'कागजात गृहमा जानुहोस्',\n goBackTo: 'फर्कनुहोस्',\n goToPreviousPage: 'अघिल्लो पृष्ठ',\n goToNextPage: 'अर्को पृष्ठ',\n noPreviousPage: 'अघिल्लो पृष्ठ छैन',\n noNextPage: 'अर्को पृष्ठ छैन',\n cookieConsent: 'कुकी सहमति',\n cookieDescription: 'हामी तपाईंको अनुभव सुधार्न कुकी प्रयोग गर्छौं।',\n cookieLearnMore: 'थप जान्नुहोस्',\n accept: 'स्वीकार गर्नुहोस्',\n decline: 'अस्वीकार गर्नुहोस्',\n goToHomePage: 'गृह पृष्ठमा जानुहोस्',\n home: 'गृह',\n linkCopied: 'लिंक प्रतिलिपि भयो!',\n copyLinkToSection: 'खण्डमा लिंक प्रतिलिपि गर्नुहोस्',\n search: 'खोज्नुहोस्',\n searchPlaceholder: 'खोज्नुहोस्',\n closeBanner: 'ब्यानर बन्द गर्नुहोस्',\n fallbackLocaleWarning:\n 'यो सामग्री {fallbackLocaleName} मा देखाइन्छ किनभने {requestedLocaleName} मा उपलब्ध छैन।',\n };\n\nconst pa: ThemeTranslations = {\n copyPage: 'ਪੰਨਾ ਕਾਪੀ ਕਰੋ',\n copied: 'ਕਾਪੀ ਹੋ ਗਿਆ!',\n openInChatGPT: 'ChatGPT ਵਿੱਚ ਖੋਲ੍ਹੋ',\n openInClaude: 'Claude ਵਿੱਚ ਖੋਲ੍ਹੋ',\n askAboutThisPage: 'ChatGPT ਵਿੱਚ ਇਸ ਪੰਨੇ ਬਾਰੇ ਪੁੱਛੋ',\n copyPageDescription: 'LLM ਲਈ ਪੰਨੇ ਨੂੰ Markdown ਵਜੋਂ ਕਾਪੀ ਕਰੋ',\n askQuestionsDescription: 'ਇਸ ਪੰਨੇ ਬਾਰੇ ਸਵਾਲ ਪੁੱਛੋ',\n chatGPTPrefix: 'ਇਹ ਪੰਨਾ',\n tableOfContents: 'ਵਿਸ਼ਾ ਸੂਚੀ',\n contributors: 'ਯੋਗਦਾਨ ਪਾਉਣ ਵਾਲੇ',\n goToDocsHome: 'ਦਸਤਾਵੇਜ਼ ਮੁੱਖ ਪੰਨੇ \\'ਤੇ ਜਾਓ',\n goBackTo: 'ਵਾਪਸ ਜਾਓ',\n goToPreviousPage: 'ਪਿਛਲਾ ਪੰਨਾ',\n goToNextPage: 'ਅਗਲਾ ਪੰਨਾ',\n noPreviousPage: 'ਕੋਈ ਪਿਛਲਾ ਪੰਨਾ ਨਹੀਂ',\n noNextPage: 'ਕੋਈ ਅਗਲਾ ਪੰਨਾ ਨਹੀਂ',\n cookieConsent: 'ਕੂਕੀ ਸਹਿਮਤੀ',\n cookieDescription: 'ਅਸੀਂ ਤੁਹਾਡੇ ਅਨੁਭਵ ਨੂੰ ਬਿਹਤਰ ਬਣਾਉਣ ਲਈ ਕੂਕੀਜ਼ ਵਰਤਦੇ ਹਾਂ।',\n cookieLearnMore: 'ਹੋਰ ਜਾਣੋ',\n accept: 'ਸਵੀਕਾਰ ਕਰੋ',\n decline: 'ਅਸਵੀਕਾਰ ਕਰੋ',\n goToHomePage: 'ਮੁੱਖ ਪੰਨੇ \\'ਤੇ ਜਾਓ',\n home: 'ਮੁੱਖ',\n linkCopied: 'ਲਿੰਕ ਕਾਪੀ ਹੋ ਗਿਆ!',\n copyLinkToSection: 'ਭਾਗ ਲਈ ਲਿੰਕ ਕਾਪੀ ਕਰੋ',\n search: 'ਖੋਜੋ',\n searchPlaceholder: 'ਖੋਜੋ',\n closeBanner: 'ਬੈਨਰ ਬੰਦ ਕਰੋ',\n fallbackLocaleWarning:\n 'ਇਹ ਸਮੱਗਰੀ {fallbackLocaleName} ਵਿੱਚ ਦਿਖਾਈ ਜਾਂਦੀ ਹੈ ਕਿਉਂਕਿ {requestedLocaleName} ਵਿੱਚ ਉਪਲਬਧ ਨਹੀਂ ਹੈ।',\n };\n\nconst ro: ThemeTranslations = {\n copyPage: 'Copiază pagina',\n copied: 'Copiat!',\n openInChatGPT: 'Deschide în ChatGPT',\n openInClaude: 'Deschide în Claude',\n askAboutThisPage: 'Întreabă despre această pagină în ChatGPT',\n copyPageDescription: 'Copiază pagina ca Markdown pentru LLM',\n askQuestionsDescription: 'Pune întrebări despre această pagină',\n chatGPTPrefix: 'Această pagină provine de la',\n tableOfContents: 'Cuprins',\n contributors: 'Contribuitori',\n goToDocsHome: 'Mergi la documentația principală',\n goBackTo: 'Înapoi la',\n goToPreviousPage: 'Pagina anterioară',\n goToNextPage: 'Pagina următoare',\n noPreviousPage: 'Nu există pagină anterioară',\n noNextPage: 'Nu există pagină următoare',\n cookieConsent: 'Consimțământ cookie',\n cookieDescription: 'Folosim cookie-uri pentru a îmbunătăți experiența ta.',\n cookieLearnMore: 'Află mai multe',\n accept: 'Acceptă',\n decline: 'Refuză',\n goToHomePage: 'Mergi la pagina principală',\n home: 'Acasă',\n linkCopied: 'Link copiat!',\n copyLinkToSection: 'Copiază linkul către secțiune',\n search: 'Caută',\n searchPlaceholder: 'Caută',\n closeBanner: 'Închide bannerul',\n fallbackLocaleWarning:\n 'Acest conținut este afișat în {fallbackLocaleName} deoarece nu este disponibil în {requestedLocaleName}.',\n };\n\nconst si: ThemeTranslations = {\n copyPage: 'පිටුව පිටපත් කරන්න',\n copied: 'පිටපත් විය!',\n openInChatGPT: 'ChatGPT හි විවෘත කරන්න',\n openInClaude: 'Claude හි විවෘත කරන්න',\n askAboutThisPage: 'ChatGPT හි මෙම පිටුව ගැන අසන්න',\n copyPageDescription: 'LLM සඳහා පිටුව Markdown ලෙස පිටපත් කරන්න',\n askQuestionsDescription: 'මෙම පිටුව ගැන ප්‍රශ්න අසන්න',\n chatGPTPrefix: 'මෙම පිටුව',\n tableOfContents: 'පටුන',\n contributors: 'දායකයින්',\n goToDocsHome: 'ලේඛන මුල් පිටුවට යන්න',\n goBackTo: 'ආපසු යන්න',\n goToPreviousPage: 'පෙර පිටුව',\n goToNextPage: 'ඊළඟ පිටුව',\n noPreviousPage: 'පෙර පිටුවක් නැත',\n noNextPage: 'ඊළඟ පිටුවක් නැත',\n cookieConsent: 'කුකී එකඟතාව',\n cookieDescription: 'ඔබේ අත්දැකීම වැඩිදියුණු කිරීමට අපි කුකී භාවිත කරමු.',\n cookieLearnMore: 'තව දැනගන්න',\n accept: 'පිළිගන්න',\n decline: 'ප්‍රතික්ෂේප කරන්න',\n goToHomePage: 'මුල් පිටුවට යන්න',\n home: 'මුල්',\n linkCopied: 'සබැඳිය පිටපත් විය!',\n copyLinkToSection: 'කොටසට සබැඳිය පිටපත් කරන්න',\n search: 'සොයන්න',\n searchPlaceholder: 'සොයන්න',\n closeBanner: 'බැනරය වසන්න',\n fallbackLocaleWarning:\n 'මෙම අන්තර්ගතය {fallbackLocaleName} හි පෙන්වයි මන්ද {requestedLocaleName} හි ලබා ගත නොහැකි බැවිනි.',\n };\n\nconst sk: ThemeTranslations = {\n copyPage: 'Kopírovať stránku',\n copied: 'Skopírované!',\n openInChatGPT: 'Otvoriť v ChatGPT',\n openInClaude: 'Otvoriť v Claude',\n askAboutThisPage: 'Opýtať sa na túto stránku v ChatGPT',\n copyPageDescription: 'Kopírovať stránku ako Markdown pre LLM',\n askQuestionsDescription: 'Klásť otázky o tejto stránke',\n chatGPTPrefix: 'Táto stránka je z',\n tableOfContents: 'Obsah',\n contributors: 'Prispievatelia',\n goToDocsHome: 'Prejsť na domovskú stránku dokumentácie',\n goBackTo: 'Späť na',\n goToPreviousPage: 'Predchádzajúca stránka',\n goToNextPage: 'Ďalšia stránka',\n noPreviousPage: 'Žiadna predchádzajúca stránka',\n noNextPage: 'Žiadna ďalšia stránka',\n cookieConsent: 'Súhlas s cookies',\n cookieDescription: 'Používame cookies na zlepšenie vášho zážitku.',\n cookieLearnMore: 'Ďalšie informácie',\n accept: 'Prijať',\n decline: 'Odmietnuť',\n goToHomePage: 'Prejsť na domovskú stránku',\n home: 'Domov',\n linkCopied: 'Odkaz skopírovaný!',\n copyLinkToSection: 'Kopírovať odkaz na sekciu',\n search: 'Hľadať',\n searchPlaceholder: 'Hľadať',\n closeBanner: 'Zavrieť banner',\n fallbackLocaleWarning:\n 'Tento obsah sa zobrazuje v jazyku {fallbackLocaleName}, pretože nie je dostupný v jazyku {requestedLocaleName}.',\n };\n\nconst sl: ThemeTranslations = {\n copyPage: 'Kopiraj stran',\n copied: 'Kopirano!',\n openInChatGPT: 'Odpri v ChatGPT',\n openInClaude: 'Odpri v Claude',\n askAboutThisPage: 'Vprašaj o tej strani v ChatGPT',\n copyPageDescription: 'Kopiraj stran kot Markdown za LLM',\n askQuestionsDescription: 'Postavi vprašanja o tej strani',\n chatGPTPrefix: 'Ta stran je z',\n tableOfContents: 'Kazalo',\n contributors: 'Sodelavci',\n goToDocsHome: 'Na začetek dokumentacije',\n goBackTo: 'Nazaj na',\n goToPreviousPage: 'Prejšnja stran',\n goToNextPage: 'Naslednja stran',\n noPreviousPage: 'Ni prejšnje strani',\n noNextPage: 'Ni naslednje strani',\n cookieConsent: 'Strinjanje s piškotki',\n cookieDescription: 'Uporabljamo piškotke za boljšo izkušnjo.',\n cookieLearnMore: 'Več informacij',\n accept: 'Sprejmi',\n decline: 'Zavrni',\n goToHomePage: 'Na domačo stran',\n home: 'Domov',\n linkCopied: 'Povezava kopirana!',\n copyLinkToSection: 'Kopiraj povezavo na razdelek',\n search: 'Iskanje',\n searchPlaceholder: 'Iskanje',\n closeBanner: 'Zapri pasico',\n fallbackLocaleWarning:\n 'Ta vsebina je prikazana v {fallbackLocaleName}, ker ni na voljo v {requestedLocaleName}.',\n };\n\nconst sq: ThemeTranslations = {\n copyPage: 'Kopjo faqen',\n copied: 'Kopjuar!',\n openInChatGPT: 'Hape në ChatGPT',\n openInClaude: 'Hape në Claude',\n askAboutThisPage: 'Pyet për këtë faqe në ChatGPT',\n copyPageDescription: 'Kopjo faqen si Markdown për LLM',\n askQuestionsDescription: 'Bëj pyetje për këtë faqe',\n chatGPTPrefix: 'Kjo faqe vjen nga',\n tableOfContents: 'Përmbajtja',\n contributors: 'Kontribuesit',\n goToDocsHome: 'Shko te dokumentacioni kryesor',\n goBackTo: 'Kthehu te',\n goToPreviousPage: 'Faqja e mëparshme',\n goToNextPage: 'Faqja tjetër',\n noPreviousPage: 'Nuk ka faqe të mëparshme',\n noNextPage: 'Nuk ka faqe tjetër',\n cookieConsent: 'Pëlqimi për cookies',\n cookieDescription: 'Përdorim cookies për të përmirësuar përvojën tuaj.',\n cookieLearnMore: 'Mëso më shumë',\n accept: 'Prano',\n decline: 'Refuzo',\n goToHomePage: 'Shko te faqja kryesore',\n home: 'Kryesore',\n linkCopied: 'Lidhja u kopjua!',\n copyLinkToSection: 'Kopjo lidhjen te seksioni',\n search: 'Kërko',\n searchPlaceholder: 'Kërko',\n closeBanner: 'Mbyll bannerin',\n fallbackLocaleWarning:\n 'Ky përmbajtje shfaqet në {fallbackLocaleName} sepse nuk është e disponueshme në {requestedLocaleName}.',\n };\n\nconst sr: ThemeTranslations = {\n copyPage: 'Копирај страницу',\n copied: 'Копирано!',\n openInChatGPT: 'Отвори у ChatGPT',\n openInClaude: 'Отвори у Claude',\n askAboutThisPage: 'Питај о овој страници у ChatGPT',\n copyPageDescription: 'Копирај страницу као Markdown за LLM',\n askQuestionsDescription: 'Постави питања о овој страници',\n chatGPTPrefix: 'Ова страница је са',\n tableOfContents: 'Садржај',\n contributors: 'Сарадници',\n goToDocsHome: 'Иди на почетак документације',\n goBackTo: 'Назад на',\n goToPreviousPage: 'Претходна страница',\n goToNextPage: 'Следећа страница',\n noPreviousPage: 'Нема претходне странице',\n noNextPage: 'Нема следеће странице',\n cookieConsent: 'Сагласност за колачиће',\n cookieDescription: 'Користимо колачиће ради бољег искуства.',\n cookieLearnMore: 'Сазнај више',\n accept: 'Прихвати',\n decline: 'Одбиј',\n goToHomePage: 'Иди на почетну',\n home: 'Почетна',\n linkCopied: 'Веза копирана!',\n copyLinkToSection: 'Копирај везу на одељак',\n search: 'Претражи',\n searchPlaceholder: 'Претражи',\n closeBanner: 'Затвори банер',\n fallbackLocaleWarning:\n 'Садржај је приказан на {fallbackLocaleName} јер није доступан на {requestedLocaleName}.',\n };\n\nconst sw: ThemeTranslations = {\n copyPage: 'Nakili ukurasa',\n copied: 'Imenakiliwa!',\n openInChatGPT: 'Fungua katika ChatGPT',\n openInClaude: 'Fungua katika Claude',\n askAboutThisPage: 'Uliza kuhusu ukurasa huu katika ChatGPT',\n copyPageDescription: 'Nakili ukurasa kama Markdown kwa LLM',\n askQuestionsDescription: 'Uliza maswali kuhusu ukurasa huu',\n chatGPTPrefix: 'Ukurasa huu umetoka',\n tableOfContents: 'Jedwali la maudhui',\n contributors: 'Wachangiaji',\n goToDocsHome: 'Nenda mwanzo wa nyaraka',\n goBackTo: 'Rudi kwenye',\n goToPreviousPage: 'Ukurasa uliopita',\n goToNextPage: 'Ukurasa unaofuata',\n noPreviousPage: 'Hakuna ukurasa uliopita',\n noNextPage: 'Hakuna ukurasa unaofuata',\n cookieConsent: 'Idhini ya vidakuzi',\n cookieDescription: 'Tunatumia vidakuzi kuboresha uzoefu wako.',\n cookieLearnMore: 'Jifunze zaidi',\n accept: 'Kubali',\n decline: 'Kataa',\n goToHomePage: 'Nenda ukurasa mkuu',\n home: 'Mwanzo',\n linkCopied: 'Kiungo kimenakiliwa!',\n copyLinkToSection: 'Nakili kiungo hadi sehemu',\n search: 'Tafuta',\n searchPlaceholder: 'Tafuta',\n closeBanner: 'Funga bango',\n fallbackLocaleWarning:\n 'Maudhui haya yanaonyeshwa kwa {fallbackLocaleName} kwa sababu hayapatikani kwa {requestedLocaleName}.',\n };\n\nconst ta: ThemeTranslations = {\n copyPage: 'பக்கத்தை நகலெடு',\n copied: 'நகலெடுக்கப்பட்டது!',\n openInChatGPT: 'ChatGPT இல் திற',\n openInClaude: 'Claude இல் திற',\n askAboutThisPage: 'ChatGPT இல் இந்தப் பக்கத்தைப் பற்றி கேள்',\n copyPageDescription: 'LLM களுக்காக பக்கத்தை Markdown ஆக நகலெடு',\n askQuestionsDescription: 'இந்தப் பக்கத்தைப் பற்றி கேள்விகள் கேள்',\n chatGPTPrefix: 'இந்தப் பக்கம்',\n tableOfContents: 'பொருளடக்கம்',\n contributors: 'பங்களிப்பாளர்கள்',\n goToDocsHome: 'ஆவண முகப்புக்குச் செல்',\n goBackTo: 'திரும்பிச் செல்',\n goToPreviousPage: 'முந்தைய பக்கம்',\n goToNextPage: 'அடுத்த பக்கம்',\n noPreviousPage: 'முந்தைய பக்கம் இல்லை',\n noNextPage: 'அடுத்த பக்கம் இல்லை',\n cookieConsent: 'குக்கி ஒப்புதல்',\n cookieDescription: 'உங்கள் அனுபவத்தை மேம்படுத்த நாங்கள் குக்கிகளைப் பயன்படுத்துகிறோம்.',\n cookieLearnMore: 'மேலும் அறிய',\n accept: 'ஏற்க',\n decline: 'மறு',\n goToHomePage: 'முகப்புப் பக்கத்திற்குச் செல்',\n home: 'முகப்பு',\n linkCopied: 'இணைப்பு நகலெடுக்கப்பட்டது!',\n copyLinkToSection: 'பிரிவுக்கு இணைப்பை நகலெடு',\n search: 'தேடு',\n searchPlaceholder: 'தேடு',\n closeBanner: 'பதாகையை மூடு',\n fallbackLocaleWarning:\n 'இந்த உள்ளடக்கம் {fallbackLocaleName} இல் காட்டப்படுகிறது ஏனெனில் {requestedLocaleName} இல் கிடைக்கவில்லை.',\n };\n\nconst te: ThemeTranslations = {\n copyPage: 'పేజీని కాపీ చేయండి',\n copied: 'కాపీ అయింది!',\n openInChatGPT: 'ChatGPTలో తెరవండి',\n openInClaude: 'Claudeలో తెరవండి',\n askAboutThisPage: 'ChatGPTలో ఈ పేజీ గురించి అడగండి',\n copyPageDescription: 'LLMల కోసం పేజీని Markdownగా కాపీ చేయండి',\n askQuestionsDescription: 'ఈ పేజీ గురించి ప్రశ్నలు అడగండి',\n chatGPTPrefix: 'ఈ పేజీ',\n tableOfContents: 'విషయసూచిక',\n contributors: 'తోడ్పాటుదారులు',\n goToDocsHome: 'డాక్యుమెంటేషన్ హోమ్‌కు వెళ్లండి',\n goBackTo: 'వెనక్కి వెళ్లండి',\n goToPreviousPage: 'మునుపటి పేజీ',\n goToNextPage: 'తర్వాతి పేజీ',\n noPreviousPage: 'మునుపటి పేజీ లేదు',\n noNextPage: 'తర్వాతి పేజీ లేదు',\n cookieConsent: 'కుకీ సమ్మతి',\n cookieDescription: 'మేము మీ అనుభవాన్ని మెరుగుపరచడానికి కుకీలు ఉపయోగిస్తాము.',\n cookieLearnMore: 'మరింత తెలుసుకోండి',\n accept: 'అంగీకరించు',\n decline: 'తిరస్కరించు',\n goToHomePage: 'హోమ్ పేజీకి వెళ్లండి',\n home: 'హోమ్',\n linkCopied: 'లింక్ కాపీ అయింది!',\n copyLinkToSection: 'విభాగానికి లింక్ కాపీ చేయండి',\n search: 'వెతకండి',\n searchPlaceholder: 'వెతకండి',\n closeBanner: 'బ్యానర్ మూసివేయండి',\n fallbackLocaleWarning:\n 'ఈ కంటెంట్ {fallbackLocaleName}లో చూపబడుతుంది ఎందుకంటే {requestedLocaleName}లో అందుబాటులో లేదు.',\n };\n\nconst tl: ThemeTranslations = {\n copyPage: 'Kopyahin ang pahina',\n copied: 'Nakopya!',\n openInChatGPT: 'Buksan sa ChatGPT',\n openInClaude: 'Buksan sa Claude',\n askAboutThisPage: 'Magtanong tungkol sa pahinang ito sa ChatGPT',\n copyPageDescription: 'Kopyahin ang pahina bilang Markdown para sa LLM',\n askQuestionsDescription: 'Magtanong tungkol sa pahinang ito',\n chatGPTPrefix: 'Ang pahinang ito ay mula sa',\n tableOfContents: 'Talaan ng nilalaman',\n contributors: 'Mga kontribyutor',\n goToDocsHome: 'Pumunta sa home ng dokumentasyon',\n goBackTo: 'Bumalik sa',\n goToPreviousPage: 'Nakaraang pahina',\n goToNextPage: 'Susunod na pahina',\n noPreviousPage: 'Walang nakaraang pahina',\n noNextPage: 'Walang susunod na pahina',\n cookieConsent: 'Pahintulot sa cookie',\n cookieDescription: 'Gumagamit kami ng cookies upang mapabuti ang iyong karanasan.',\n cookieLearnMore: 'Matuto pa',\n accept: 'Tanggapin',\n decline: 'Tanggihan',\n goToHomePage: 'Pumunta sa home page',\n home: 'Home',\n linkCopied: 'Nakopya ang link!',\n copyLinkToSection: 'Kopyahin ang link sa seksyon',\n search: 'Maghanap',\n searchPlaceholder: 'Maghanap',\n closeBanner: 'Isara ang banner',\n fallbackLocaleWarning:\n 'Ang nilalamang ito ay ipinapakita sa {fallbackLocaleName} dahil hindi available sa {requestedLocaleName}.',\n };\n\nconst uk: ThemeTranslations = {\n copyPage: 'Копіювати сторінку',\n copied: 'Скопійовано!',\n openInChatGPT: 'Відкрити в ChatGPT',\n openInClaude: 'Відкрити в Claude',\n askAboutThisPage: 'Запитайте про цю сторінку в ChatGPT',\n copyPageDescription: 'Копіювати сторінку як Markdown для LLM',\n askQuestionsDescription: 'Поставте запитання про цю сторінку',\n chatGPTPrefix: 'Ця сторінка з',\n tableOfContents: 'Зміст',\n contributors: 'Учасники',\n goToDocsHome: 'На головну документації',\n goBackTo: 'Назад до',\n goToPreviousPage: 'Попередня сторінка',\n goToNextPage: 'Наступна сторінка',\n noPreviousPage: 'Немає попередньої сторінки',\n noNextPage: 'Немає наступної сторінки',\n cookieConsent: 'Згода на cookie',\n cookieDescription: 'Ми використовуємо файли cookie для покращення вашого досвіду.',\n cookieLearnMore: 'Дізнатися більше',\n accept: 'Прийняти',\n decline: 'Відхилити',\n goToHomePage: 'На головну',\n home: 'Головна',\n linkCopied: 'Посилання скопійовано!',\n copyLinkToSection: 'Копіювати посилання на розділ',\n search: 'Пошук',\n searchPlaceholder: 'Пошук',\n closeBanner: 'Закрити банер',\n fallbackLocaleWarning:\n 'Цей вміст показано мовою {fallbackLocaleName}, оскільки він недоступний мовою {requestedLocaleName}.',\n };\n\nconst ur: ThemeTranslations = {\n copyPage: 'صفحہ نقل کریں',\n copied: 'نقل ہو گیا!',\n openInChatGPT: 'ChatGPT میں کھولیں',\n openInClaude: 'Claude میں کھولیں',\n askAboutThisPage: 'ChatGPT میں اس صفحے کے بارے میں پوچھیں',\n copyPageDescription: 'LLM کے لیے صفحہ Markdown کے طور پر نقل کریں',\n askQuestionsDescription: 'اس صفحے کے بارے میں سوالات پوچھیں',\n chatGPTPrefix: 'یہ صفحہ',\n tableOfContents: 'فہرست مضامین',\n contributors: 'شراکت دار',\n goToDocsHome: 'دستاویز کے ابتدائی صفحے پر جائیں',\n goBackTo: 'واپس جائیں',\n goToPreviousPage: 'پچھلا صفحہ',\n goToNextPage: 'اگلا صفحہ',\n noPreviousPage: 'کوئی پچھلا صفحہ نہیں',\n noNextPage: 'کوئی اگلا صفحہ نہیں',\n cookieConsent: 'کوکی کی رضامندی',\n cookieDescription: 'ہم آپ کے تجربے کو بہتر بنانے کے لیے کوکیز استعمال کرتے ہیں۔',\n cookieLearnMore: 'مزید جانیں',\n accept: 'قبول کریں',\n decline: 'مسترد کریں',\n goToHomePage: 'ابتدائی صفحے پر جائیں',\n home: 'ابتدائی',\n linkCopied: 'ربط نقل ہو گیا!',\n copyLinkToSection: 'حصے کا ربط نقل کریں',\n search: 'تلاش',\n searchPlaceholder: 'تلاش',\n closeBanner: 'بینر بند کریں',\n fallbackLocaleWarning:\n 'یہ مواد {fallbackLocaleName} میں دکھایا گیا ہے کیونکہ {requestedLocaleName} میں دستیاب نہیں ہے۔',\n };\n\nconst uz: ThemeTranslations = {\n copyPage: 'Sahifani nusxalash',\n copied: 'Nusxalandi!',\n openInChatGPT: 'ChatGPTda ochish',\n openInClaude: 'Claudeda ochish',\n askAboutThisPage: 'Ushbu sahifa haqida ChatGPTda so‘rang',\n copyPageDescription: 'Sahifani LLM uchun Markdown sifatida nusxalash',\n askQuestionsDescription: 'Ushbu sahifa haqida savollar bering',\n chatGPTPrefix: 'Ushbu sahifa',\n tableOfContents: 'Mundarija',\n contributors: 'Hissa qo‘shganlar',\n goToDocsHome: 'Hujjatlar bosh sahifasiga o‘tish',\n goBackTo: 'Orqaga',\n goToPreviousPage: 'Oldingi sahifa',\n goToNextPage: 'Keyingi sahifa',\n noPreviousPage: 'Oldingi sahifa yo‘q',\n noNextPage: 'Keyingi sahifa yo‘q',\n cookieConsent: 'Cookie roziligi',\n cookieDescription: 'Tajribangizni yaxshilash uchun cookie’dan foydalanamiz.',\n cookieLearnMore: 'Batafsil',\n accept: 'Qabul qilish',\n decline: 'Rad etish',\n goToHomePage: 'Bosh sahifaga o‘tish',\n home: 'Bosh sahifa',\n linkCopied: 'Havola nusxalandi!',\n copyLinkToSection: 'Bo‘limga havolani nusxalash',\n search: 'Qidirish',\n searchPlaceholder: 'Qidirish',\n closeBanner: 'Bannerni yopish',\n fallbackLocaleWarning:\n 'Kontent {fallbackLocaleName}da ko‘rsatiladi, chunki {requestedLocaleName}da mavjud emas.',\n };\n\nconst explicitTranslations: Partial<Record<Locale, ThemeTranslations>> = {\n en,\n fr,\n de,\n es,\n ar,\n zh,\n ja,\n ko,\n pt,\n it,\n ru,\n nl,\n sv,\n no,\n da,\n fi,\n pl,\n tr,\n he,\n hi,\n fa,\n id,\n th,\n vi,\n\n af,\n az,\n be,\n bg,\n bn,\n bs,\n ca,\n cs,\n cy,\n el,\n et,\n eu,\n ga,\n gl,\n gu,\n hr,\n hu,\n hy,\n is,\n ka,\n kk,\n km,\n kn,\n lt,\n lv,\n mk,\n ml,\n mr,\n ms,\n mt,\n my,\n ne,\n pa,\n ro,\n si,\n sk,\n sl,\n sq,\n sr,\n sw,\n ta,\n te,\n tl,\n uk,\n ur,\n uz,\n};\n\n/**\n * One entry per core fallback locale; unknown codes fall back to English chrome.\n */\nconst translations: Record<string, ThemeTranslations> = Object.fromEntries(\n [...FALLBACK_LOCALES].map((code) => [code, explicitTranslations[code] ?? en]),\n);\n\n/**\n * Get translations for a specific locale\n * Falls back to English if locale is not found\n */\nexport function getTranslations(locale: Locale = 'en'): ThemeTranslations {\n return translations[locale] ?? en;\n}\n\n/**\n * Get a specific translation key for a locale\n */\nexport function getTranslation(\n locale: Locale,\n key: keyof ThemeTranslations\n): string {\n const t = getTranslations(locale);\n return t[key] ?? '';\n}\n\n/**\n * Type-safe translation key helper\n */\nexport type TranslationKey = keyof ThemeTranslations;\n\n","import React from 'react';\nimport { getTranslations } from '../../../lib/translations';\nimport type { SidebarNode, Locale } from '@next-library/core';\n\ninterface ParentProps {\n parent: SidebarNode | null;\n currentPath?: string;\n locale?: Locale;\n}\n\nexport function Parent({ parent, currentPath, locale = 'en' }: ParentProps) {\n const isActive = parent && currentPath && parent.websitePath === `/${currentPath}`;\n const translations = getTranslations(locale);\n\n return (\n <div\n className={`relative flex items-center gap-2.5 overflow-hidden rounded-lg border px-3 py-2.5\n ${isActive\n ? 'border-border bg-accent'\n : 'border-border bg-background'\n }`}\n >\n <span\n aria-hidden=\"true\"\n className={`h-4 w-0.5 shrink-0 rounded-full transition-colors ${isActive ? 'bg-foreground' : 'bg-muted-foreground/40'}`}\n />\n <p className=\"truncate text-sm font-semibold tracking-tight\">\n {parent?.title || translations.home}\n </p>\n </div>\n );\n}\n\n","import { clsx, type ClassValue } from 'clsx';\nimport { twMerge } from 'tailwind-merge';\n\nexport function cn(...inputs: ClassValue[]) {\n return twMerge(clsx(inputs));\n}\n\n","'use client';\n\nimport { cn } from '../../layout/utils';\n\ninterface LevelElevatorProps {\n currentLevel: number;\n className?: string;\n}\n\nexport function LevelElevator({ currentLevel, className }: LevelElevatorProps) {\n return (\n <div className={cn('flex flex-col items-center py-2', className)}>\n <div className=\"relative w-7 h-7 overflow-hidden rounded-md bg-foreground ring-1 ring-foreground/10\">\n <div className=\"absolute inset-0 flex items-center justify-center text-background font-mono text-xs font-semibold tabular-nums\">\n {currentLevel}\n </div>\n </div>\n </div>\n );\n}\n\n","import { cn } from '../../layout/utils';\nimport { LevelElevator } from './level-elevator';\nimport Link from 'next/link';\nimport { Home, FolderUp, ChevronLeft, ChevronRight } from 'lucide-react';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Locale, SidebarNode, FlatContentMapItem } from '@next-library/core';\n\ninterface ToolboxTranslations {\n goToDocsHome?: string;\n goBackTo?: string;\n goToPreviousPage?: string;\n goToNextPage?: string;\n noPreviousPage?: string;\n noNextPage?: string;\n}\n\ninterface ToolboxProps {\n currentLevel: number;\n className?: string;\n parent: SidebarNode | null;\n grandparent: SidebarNode | null;\n previousPage: FlatContentMapItem | null;\n nextPage: FlatContentMapItem | null;\n lang: Locale;\n path: string;\n translations?: ToolboxTranslations;\n}\n\nexport function Toolbox({\n currentLevel,\n className,\n parent,\n grandparent,\n previousPage,\n nextPage,\n lang,\n path,\n translations = {},\n}: ToolboxProps) {\n const defaultTranslations = getTranslations(lang);\n const {\n goToDocsHome = defaultTranslations.goToDocsHome,\n goBackTo = defaultTranslations.goBackTo,\n goToPreviousPage = defaultTranslations.goToPreviousPage,\n goToNextPage = defaultTranslations.goToNextPage,\n noPreviousPage = defaultTranslations.noPreviousPage,\n noNextPage = defaultTranslations.noNextPage,\n } = translations;\n\n return (\n <div\n className={cn(\n 'flex items-center justify-between rounded-lg border border-border bg-muted/20 px-2',\n className\n )}\n >\n <LevelElevator currentLevel={currentLevel} />\n\n <div className=\"h-4 w-px bg-border\" />\n\n <Link\n href={`/${lang}/docs`}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={goToDocsHome}\n aria-label={goToDocsHome}\n >\n <Home className=\"h-4 w-4\" />\n </Link>\n\n <div className=\"h-4 w-px bg-border\" />\n\n {(() => {\n // If we have a grandparent and the current path matches the parent's path, go to grandparent\n if (grandparent && grandparent.websitePath && parent && path === parent.websitePath?.replace(`/${lang}/docs/`, '')) {\n return (\n <Link\n href={grandparent.websitePath}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goBackTo} ${grandparent.title}`}\n aria-label={`${goBackTo} ${grandparent.title}`}\n >\n <FolderUp className=\"h-4 w-4\" />\n </Link>\n );\n }\n\n // If we have a parent and current level > 1, go to parent\n else if (parent && parent.websitePath && path !== parent.websitePath?.replace(`/${lang}/docs/`, '')) {\n return (\n <Link\n href={parent.websitePath}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goBackTo} ${parent?.title}`}\n aria-label={`${goBackTo} ${parent?.title}`}\n >\n <FolderUp className=\"h-4 w-4\" />\n </Link>\n );\n }\n\n // Default: go to documentation home\n return (\n <Link\n href={`/${lang}/docs`}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={goToDocsHome}\n aria-label={goToDocsHome}\n >\n <FolderUp className=\"h-4 w-4\" />\n </Link>\n );\n })()}\n\n <div className=\"h-4 w-px bg-border\" />\n\n {previousPage ? (\n <Link\n href={previousPage.websitePath || '#'}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goToPreviousPage}: ${previousPage.title}`}\n aria-label={`${goToPreviousPage}: ${previousPage.title}`}\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </Link>\n ) : (\n <div\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground/30 cursor-not-allowed\"\n title={noPreviousPage}\n aria-label={noPreviousPage}\n >\n <ChevronLeft className=\"h-4 w-4\" />\n </div>\n )}\n\n {nextPage ? (\n <Link\n href={nextPage.websitePath || '#'}\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground transition-colors hover:text-foreground hover:bg-accent\"\n title={`${goToNextPage}: ${nextPage.title}`}\n aria-label={`${goToNextPage}: ${nextPage.title}`}\n >\n <ChevronRight className=\"h-4 w-4\" />\n </Link>\n ) : (\n <div\n className=\"flex items-center justify-center h-7 w-7 rounded-md text-muted-foreground/30 cursor-not-allowed\"\n title={noNextPage}\n aria-label={noNextPage}\n >\n <ChevronRight className=\"h-4 w-4\" />\n </div>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { SidebarNavigation } from '@next-library/theme/client';\nimport { Parent } from '../navigation/sidebar-left/parent';\nimport { Toolbox } from '../navigation/sidebar-left/toolbox';\nimport type { PageData } from '@next-library/core';\nimport { cn } from './utils';\n\ninterface LeftSidebarProps {\n data: PageData;\n className?: string;\n}\n\nexport function LeftSidebar({ data, className }: LeftSidebarProps) {\n const { sidebar, navigation, computed } = data;\n\n return (\n <aside className={cn('md:flex hidden flex-col gap-4 self-start', className)} id=\"sidebar-left\">\n <Parent parent={sidebar.parent} currentPath={`${computed.lang}/docs/${computed.path}`} locale={computed.lang} />\n <Toolbox\n currentLevel={sidebar.currentLevel}\n parent={sidebar.parent}\n grandparent={sidebar.grandparent}\n previousPage={navigation.previous}\n nextPage={navigation.next}\n lang={computed.lang}\n path={computed.path}\n />\n <SidebarNavigation\n nodes={sidebar.items}\n currentPath={`/${computed.lang}/docs/${computed.path}`}\n language={computed.lang}\n />\n </aside>\n );\n}\n\n","import React from 'react';\nimport { GithubContributors, TableOfContents } from '@next-library/theme/client';\nimport type { PageData } from '@next-library/core';\nimport { cn } from './utils';\n\ninterface RightSidebarProps {\n data: PageData;\n className?: string;\n}\n\nexport function RightSidebar({ data, className }: RightSidebarProps) {\n const { rightSidebar, computed } = data;\n const lang = computed.lang;\n\n return (\n <aside className={cn('md:flex hidden flex-col gap-4 self-start', className)} id=\"sidebar-right\">\n {/* Contributors */}\n <GithubContributors\n contributors={rightSidebar.contributors}\n githubPath={rightSidebar.githubPath}\n locale={lang}\n />\n {/* Table of Contents */}\n <TableOfContents toc={rightSidebar.toc} lang={lang} />\n </aside>\n );\n}\n\n","import React from 'react';\nimport Link from 'next/link';\nimport { ArrowLeft, ArrowRight, Pencil } from 'lucide-react';\n\ninterface PagerItem {\n title?: string;\n websitePath?: string | null;\n}\n\ninterface DocPagerProps {\n previous?: PagerItem | null;\n next?: PagerItem | null;\n editUrl?: string;\n labels?: { previous?: string; next?: string; edit?: string };\n}\n\n/** Bottom-of-page navigation: previous / next cards plus an edit-on-GitHub link. */\nexport function DocPager({ previous, next, editUrl, labels }: DocPagerProps) {\n const l = { previous: 'Previous', next: 'Next', edit: 'Edit this page on GitHub', ...labels };\n const hasPager = Boolean(previous?.websitePath || next?.websitePath);\n\n return (\n <div className=\"cl-pager not-prose\">\n {hasPager && (\n <div className=\"cl-pager-cards\">\n {previous?.websitePath ? (\n <Link href={previous.websitePath} className=\"cl-pager-card\">\n <span className=\"cl-pager-dir\"><ArrowLeft className=\"inline size-3\" /> {l.previous}</span>\n <span className=\"cl-pager-title\">{previous.title}</span>\n </Link>\n ) : (\n <span />\n )}\n {next?.websitePath ? (\n <Link href={next.websitePath} className=\"cl-pager-card is-next\">\n <span className=\"cl-pager-dir\">{l.next} <ArrowRight className=\"inline size-3\" /></span>\n <span className=\"cl-pager-title\">{next.title}</span>\n </Link>\n ) : (\n <span />\n )}\n </div>\n )}\n {editUrl && (\n <a href={editUrl} target=\"_blank\" rel=\"noreferrer\" className=\"cl-edit-link\">\n <Pencil className=\"size-3.5\" /> {l.edit}\n </a>\n )}\n </div>\n );\n}\n","import React from 'react';\nimport { CopyPageButton } from '@next-library/theme/client';\nimport type { Locale } from '@next-library/core';\n\ninterface CopyPageButtonTranslations {\n copyPage?: string;\n copied?: string;\n}\n\ninterface PageHeaderProps {\n title: string;\n markdown: string;\n pageUrl?: string;\n websiteTitle?: string;\n className?: string;\n locale?: Locale;\n translations?: CopyPageButtonTranslations;\n showCopyButton?: boolean;\n}\n\nexport function PageHeader({\n title,\n markdown,\n pageUrl,\n websiteTitle,\n className = '',\n locale = 'en',\n translations,\n showCopyButton = true,\n}: PageHeaderProps) {\n return (\n <div className={`flex flex-col gap-2 lg:gap-4 pb-8 prose prose-md max-w-none dark:prose-invert ${className}`}>\n {showCopyButton && (\n <CopyPageButton\n sourceCode={markdown}\n pageUrl={pageUrl}\n websiteTitle={websiteTitle}\n className=\"self-end hidden lg:flex\"\n locale={locale}\n translations={translations}\n />\n )}\n <h1 className=\"\">{title}</h1>\n </div>\n );\n}\n\n","/**\n * Locale name translations\n * Maps locale codes to their names in different languages\n */\n\nimport { LOCALES_CONFIG, type Locale } from '@next-library/core';\n\n/**\n * Locale names in English (used as fallback)\n */\nconst localeNamesEn: Record<Locale, string> = {\n en: 'English',\n fr: 'French',\n de: 'German',\n es: 'Spanish',\n ar: 'Arabic',\n zh: 'Chinese',\n ja: 'Japanese',\n ko: 'Korean',\n pt: 'Portuguese',\n it: 'Italian',\n ru: 'Russian',\n nl: 'Dutch',\n sv: 'Swedish',\n no: 'Norwegian',\n da: 'Danish',\n fi: 'Finnish',\n pl: 'Polish',\n tr: 'Turkish',\n he: 'Hebrew',\n hi: 'Hindi',\n fa: 'Persian',\n id: 'Indonesian',\n th: 'Thai',\n vi: 'Vietnamese',\n};\n\n/**\n * Locale names in French\n */\nconst localeNamesFr: Record<Locale, string> = {\n en: 'Anglais',\n fr: 'Français',\n de: 'Allemand',\n es: 'Espagnol',\n ar: 'Arabe',\n zh: 'Chinois',\n ja: 'Japonais',\n ko: 'Coréen',\n pt: 'Portugais',\n it: 'Italien',\n ru: 'Russe',\n nl: 'Néerlandais',\n sv: 'Suédois',\n no: 'Norvégien',\n da: 'Danois',\n fi: 'Finlandais',\n pl: 'Polonais',\n tr: 'Turc',\n he: 'Hébreu',\n hi: 'Hindi',\n fa: 'Persan',\n id: 'Indonésien',\n th: 'Thaï',\n vi: 'Vietnamien',\n};\n\n/**\n * Locale names in German\n */\nconst localeNamesDe: Record<Locale, string> = {\n en: 'Englisch',\n fr: 'Französisch',\n de: 'Deutsch',\n es: 'Spanisch',\n ar: 'Arabisch',\n zh: 'Chinesisch',\n ja: 'Japanisch',\n ko: 'Koreanisch',\n pt: 'Portugiesisch',\n it: 'Italienisch',\n ru: 'Russisch',\n nl: 'Niederländisch',\n sv: 'Schwedisch',\n no: 'Norwegisch',\n da: 'Dänisch',\n fi: 'Finnisch',\n pl: 'Polnisch',\n tr: 'Türkisch',\n he: 'Hebräisch',\n hi: 'Hindi',\n fa: 'Persisch',\n id: 'Indonesisch',\n th: 'Thailändisch',\n vi: 'Vietnamesisch',\n};\n\n/**\n * Locale names in Spanish\n */\nconst localeNamesEs: Record<Locale, string> = {\n en: 'Inglés',\n fr: 'Francés',\n de: 'Alemán',\n es: 'Español',\n ar: 'Árabe',\n zh: 'Chino',\n ja: 'Japonés',\n ko: 'Coreano',\n pt: 'Portugués',\n it: 'Italiano',\n ru: 'Ruso',\n nl: 'Neerlandés',\n sv: 'Sueco',\n no: 'Noruego',\n da: 'Danés',\n fi: 'Finlandés',\n pl: 'Polaco',\n tr: 'Turco',\n he: 'Hebreo',\n hi: 'Hindi',\n fa: 'Persa',\n id: 'Indonesio',\n th: 'Tailandés',\n vi: 'Vietnamita',\n};\n\n/**\n * Locale names in Arabic\n */\nconst localeNamesAr: Record<Locale, string> = {\n en: 'الإنجليزية',\n fr: 'الفرنسية',\n de: 'الألمانية',\n es: 'الإسبانية',\n ar: 'العربية',\n zh: 'الصينية',\n ja: 'اليابانية',\n ko: 'الكورية',\n pt: 'البرتغالية',\n it: 'الإيطالية',\n ru: 'الروسية',\n nl: 'الهولندية',\n sv: 'السويدية',\n no: 'النرويجية',\n da: 'الدنماركية',\n fi: 'الفنلندية',\n pl: 'البولندية',\n tr: 'التركية',\n he: 'العبرية',\n hi: 'الهندية',\n fa: 'الفارسية',\n id: 'الإندونيسية',\n th: 'التايلاندية',\n vi: 'الفيتنامية',\n};\n\n/**\n * Locale names in Chinese\n */\nconst localeNamesZh: Record<Locale, string> = {\n en: '英语',\n fr: '法语',\n de: '德语',\n es: '西班牙语',\n ar: '阿拉伯语',\n zh: '中文',\n ja: '日语',\n ko: '韩语',\n pt: '葡萄牙语',\n it: '意大利语',\n ru: '俄语',\n nl: '荷兰语',\n sv: '瑞典语',\n no: '挪威语',\n da: '丹麦语',\n fi: '芬兰语',\n pl: '波兰语',\n tr: '土耳其语',\n he: '希伯来语',\n hi: '印地语',\n fa: '波斯语',\n id: '印尼语',\n th: '泰语',\n vi: '越南语',\n};\n\n/**\n * Locale names in Japanese\n */\nconst localeNamesJa: Record<Locale, string> = {\n en: '英語',\n fr: 'フランス語',\n de: 'ドイツ語',\n es: 'スペイン語',\n ar: 'アラビア語',\n zh: '中国語',\n ja: '日本語',\n ko: '韓国語',\n pt: 'ポルトガル語',\n it: 'イタリア語',\n ru: 'ロシア語',\n nl: 'オランダ語',\n sv: 'スウェーデン語',\n no: 'ノルウェー語',\n da: 'デンマーク語',\n fi: 'フィンランド語',\n pl: 'ポーランド語',\n tr: 'トルコ語',\n he: 'ヘブライ語',\n hi: 'ヒンディー語',\n fa: 'ペルシア語',\n id: 'インドネシア語',\n th: 'タイ語',\n vi: 'ベトナム語',\n};\n\n/**\n * Locale names in Korean\n */\nconst localeNamesKo: Record<Locale, string> = {\n en: '영어',\n fr: '프랑스어',\n de: '독일어',\n es: '스페인어',\n ar: '아랍어',\n zh: '중국어',\n ja: '일본어',\n ko: '한국어',\n pt: '포르투갈어',\n it: '이탈리아어',\n ru: '러시아어',\n nl: '네덜란드어',\n sv: '스웨덴어',\n no: '노르웨이어',\n da: '덴마크어',\n fi: '핀란드어',\n pl: '폴란드어',\n tr: '터키어',\n he: '히브리어',\n hi: '힌디어',\n fa: '페르시아어',\n id: '인도네시아어',\n th: '태국어',\n vi: '베트남어',\n};\n\n/**\n * Locale names in Portuguese\n */\nconst localeNamesPt: Record<Locale, string> = {\n en: 'Inglês',\n fr: 'Francês',\n de: 'Alemão',\n es: 'Espanhol',\n ar: 'Árabe',\n zh: 'Chinês',\n ja: 'Japonês',\n ko: 'Coreano',\n pt: 'Português',\n it: 'Italiano',\n ru: 'Russo',\n nl: 'Holandês',\n sv: 'Sueco',\n no: 'Norueguês',\n da: 'Dinamarquês',\n fi: 'Finlandês',\n pl: 'Polonês',\n tr: 'Turco',\n he: 'Hebraico',\n hi: 'Hindi',\n fa: 'Persa',\n id: 'Indonésio',\n th: 'Tailandês',\n vi: 'Vietnamita',\n};\n\n/**\n * Locale names in Italian\n */\nconst localeNamesIt: Record<Locale, string> = {\n en: 'Inglese',\n fr: 'Francese',\n de: 'Tedesco',\n es: 'Spagnolo',\n ar: 'Arabo',\n zh: 'Cinese',\n ja: 'Giapponese',\n ko: 'Coreano',\n pt: 'Portoghese',\n it: 'Italiano',\n ru: 'Russo',\n nl: 'Olandese',\n sv: 'Svedese',\n no: 'Norvegese',\n da: 'Danese',\n fi: 'Finlandese',\n pl: 'Polacco',\n tr: 'Turco',\n he: 'Ebraico',\n hi: 'Hindi',\n fa: 'Persiano',\n id: 'Indonesiano',\n th: 'Tailandese',\n vi: 'Vietnamita',\n};\n\n/**\n * Locale names in Russian\n */\nconst localeNamesRu: Record<Locale, string> = {\n en: 'Английский',\n fr: 'Французский',\n de: 'Немецкий',\n es: 'Испанский',\n ar: 'Арабский',\n zh: 'Китайский',\n ja: 'Японский',\n ko: 'Корейский',\n pt: 'Португальский',\n it: 'Итальянский',\n ru: 'Русский',\n nl: 'Голландский',\n sv: 'Шведский',\n no: 'Норвежский',\n da: 'Датский',\n fi: 'Финский',\n pl: 'Польский',\n tr: 'Турецкий',\n he: 'Иврит',\n hi: 'Хинди',\n fa: 'Персидский',\n id: 'Индонезийский',\n th: 'Тайский',\n vi: 'Вьетнамский',\n};\n\n/**\n * Locale names in Dutch\n */\nconst localeNamesNl: Record<Locale, string> = {\n en: 'Engels',\n fr: 'Frans',\n de: 'Duits',\n es: 'Spaans',\n ar: 'Arabisch',\n zh: 'Chinees',\n ja: 'Japans',\n ko: 'Koreaans',\n pt: 'Portugees',\n it: 'Italiaans',\n ru: 'Russisch',\n nl: 'Nederlands',\n sv: 'Zweeds',\n no: 'Noors',\n da: 'Deens',\n fi: 'Fins',\n pl: 'Pools',\n tr: 'Turks',\n he: 'Hebreeuws',\n hi: 'Hindi',\n fa: 'Perzisch',\n id: 'Indonesisch',\n th: 'Thai',\n vi: 'Vietnamees',\n};\n\n/**\n * Locale names in Swedish\n */\nconst localeNamesSv: Record<Locale, string> = {\n en: 'Engelska',\n fr: 'Franska',\n de: 'Tyska',\n es: 'Spanska',\n ar: 'Arabiska',\n zh: 'Kinesiska',\n ja: 'Japanska',\n ko: 'Koreanska',\n pt: 'Portugisiska',\n it: 'Italienska',\n ru: 'Ryska',\n nl: 'Nederländska',\n sv: 'Svenska',\n no: 'Norska',\n da: 'Danska',\n fi: 'Finska',\n pl: 'Polska',\n tr: 'Turkiska',\n he: 'Hebreiska',\n hi: 'Hindi',\n fa: 'Persiska',\n id: 'Indonesiska',\n th: 'Thailändska',\n vi: 'Vietnamesiska',\n};\n\n/**\n * Locale names in Norwegian\n */\nconst localeNamesNo: Record<Locale, string> = {\n en: 'Engelsk',\n fr: 'Fransk',\n de: 'Tysk',\n es: 'Spansk',\n ar: 'Arabisk',\n zh: 'Kinesisk',\n ja: 'Japansk',\n ko: 'Koreansk',\n pt: 'Portugisisk',\n it: 'Italiensk',\n ru: 'Russisk',\n nl: 'Nederlandsk',\n sv: 'Svensk',\n no: 'Norsk',\n da: 'Dansk',\n fi: 'Finsk',\n pl: 'Polsk',\n tr: 'Tyrkisk',\n he: 'Hebraisk',\n hi: 'Hindi',\n fa: 'Persisk',\n id: 'Indonesisk',\n th: 'Thai',\n vi: 'Vietnamesisk',\n};\n\n/**\n * Locale names in Danish\n */\nconst localeNamesDa: Record<Locale, string> = {\n en: 'Engelsk',\n fr: 'Fransk',\n de: 'Tysk',\n es: 'Spansk',\n ar: 'Arabisk',\n zh: 'Kinesisk',\n ja: 'Japansk',\n ko: 'Koreansk',\n pt: 'Portugisisk',\n it: 'Italiensk',\n ru: 'Russisk',\n nl: 'Hollandsk',\n sv: 'Svensk',\n no: 'Norsk',\n da: 'Dansk',\n fi: 'Finsk',\n pl: 'Polsk',\n tr: 'Tyrkisk',\n he: 'Hebraisk',\n hi: 'Hindi',\n fa: 'Persisk',\n id: 'Indonesisk',\n th: 'Thai',\n vi: 'Vietnamesisk',\n};\n\n/**\n * Locale names in Finnish\n */\nconst localeNamesFi: Record<Locale, string> = {\n en: 'Englanti',\n fr: 'Ranska',\n de: 'Saksa',\n es: 'Espanja',\n ar: 'Arabia',\n zh: 'Kiina',\n ja: 'Japani',\n ko: 'Korea',\n pt: 'Portugali',\n it: 'Italia',\n ru: 'Venäjä',\n nl: 'Hollanti',\n sv: 'Ruotsi',\n no: 'Norja',\n da: 'Tanska',\n fi: 'Suomi',\n pl: 'Puola',\n tr: 'Turkki',\n he: 'Heprea',\n hi: 'Hindi',\n fa: 'Persia',\n id: 'Indonesia',\n th: 'Thai',\n vi: 'Vietnam',\n};\n\n/**\n * Locale names in Polish\n */\nconst localeNamesPl: Record<Locale, string> = {\n en: 'Angielski',\n fr: 'Francuski',\n de: 'Niemiecki',\n es: 'Hiszpański',\n ar: 'Arabski',\n zh: 'Chiński',\n ja: 'Japoński',\n ko: 'Koreański',\n pt: 'Portugalski',\n it: 'Włoski',\n ru: 'Rosyjski',\n nl: 'Holenderski',\n sv: 'Szwedzki',\n no: 'Norweski',\n da: 'Duński',\n fi: 'Fiński',\n pl: 'Polski',\n tr: 'Turecki',\n he: 'Hebrajski',\n hi: 'Hindi',\n fa: 'Perski',\n id: 'Indonezyjski',\n th: 'Tajski',\n vi: 'Wietnamski',\n};\n\n/**\n * Locale names in Turkish\n */\nconst localeNamesTr: Record<Locale, string> = {\n en: 'İngilizce',\n fr: 'Fransızca',\n de: 'Almanca',\n es: 'İspanyolca',\n ar: 'Arapça',\n zh: 'Çince',\n ja: 'Japonca',\n ko: 'Korece',\n pt: 'Portekizce',\n it: 'İtalyanca',\n ru: 'Rusça',\n nl: 'Felemenkçe',\n sv: 'İsveççe',\n no: 'Norveççe',\n da: 'Danca',\n fi: 'Fince',\n pl: 'Lehçe',\n tr: 'Türkçe',\n he: 'İbranice',\n hi: 'Hintçe',\n fa: 'Farsça',\n id: 'Endonezce',\n th: 'Tayca',\n vi: 'Vietnamca',\n};\n\n/**\n * Locale names in Hebrew\n */\nconst localeNamesHe: Record<Locale, string> = {\n en: 'אנגלית',\n fr: 'צרפתית',\n de: 'גרמנית',\n es: 'ספרדית',\n ar: 'ערבית',\n zh: 'סינית',\n ja: 'יפנית',\n ko: 'קוריאנית',\n pt: 'פורטוגזית',\n it: 'איטלקית',\n ru: 'רוסית',\n nl: 'הולנדית',\n sv: 'שוודית',\n no: 'נורווגית',\n da: 'דנית',\n fi: 'פינית',\n pl: 'פולנית',\n tr: 'טורקית',\n he: 'עברית',\n hi: 'הינדי',\n fa: 'פרסית',\n id: 'אינדונזית',\n th: 'תאית',\n vi: 'וייטנאמית',\n};\n\n/**\n * Locale names in Hindi\n */\nconst localeNamesHi: Record<Locale, string> = {\n en: 'अंग्रेजी',\n fr: 'फ्रेंच',\n de: 'जर्मन',\n es: 'स्पेनिश',\n ar: 'अरबी',\n zh: 'चीनी',\n ja: 'जापानी',\n ko: 'कोरियाई',\n pt: 'पुर्तगाली',\n it: 'इतालवी',\n ru: 'रूसी',\n nl: 'डच',\n sv: 'स्वीडिश',\n no: 'नॉर्वेजियन',\n da: 'डेनिश',\n fi: 'फिनिश',\n pl: 'पोलिश',\n tr: 'तुर्की',\n he: 'हिब्रू',\n hi: 'हिन्दी',\n fa: 'फ़ारसी',\n id: 'इंडोनेशियाई',\n th: 'थाई',\n vi: 'वियतनामी',\n};\n\n/**\n * Locale names in Persian\n */\nconst localeNamesFa: Record<Locale, string> = {\n en: 'انگلیسی',\n fr: 'فرانسوی',\n de: 'آلمانی',\n es: 'اسپانیایی',\n ar: 'عربی',\n zh: 'چینی',\n ja: 'ژاپنی',\n ko: 'کره‌ای',\n pt: 'پرتغالی',\n it: 'ایتالیایی',\n ru: 'روسی',\n nl: 'هلندی',\n sv: 'سوئدی',\n no: 'نروژی',\n da: 'دانمارکی',\n fi: 'فنلاندی',\n pl: 'لهستانی',\n tr: 'ترکی',\n he: 'عبری',\n hi: 'هندی',\n fa: 'فارسی',\n id: 'اندونزیایی',\n th: 'تایلندی',\n vi: 'ویتنامی',\n};\n\n/**\n * Locale names in Indonesian\n */\nconst localeNamesId: Record<Locale, string> = {\n en: 'Bahasa Inggris',\n fr: 'Bahasa Prancis',\n de: 'Bahasa Jerman',\n es: 'Bahasa Spanyol',\n ar: 'Bahasa Arab',\n zh: 'Bahasa Tionghoa',\n ja: 'Bahasa Jepang',\n ko: 'Bahasa Korea',\n pt: 'Bahasa Portugis',\n it: 'Bahasa Italia',\n ru: 'Bahasa Rusia',\n nl: 'Bahasa Belanda',\n sv: 'Bahasa Swedia',\n no: 'Bahasa Norwegia',\n da: 'Bahasa Denmark',\n fi: 'Bahasa Finlandia',\n pl: 'Bahasa Polandia',\n tr: 'Bahasa Turki',\n he: 'Bahasa Ibrani',\n hi: 'Bahasa Hindi',\n fa: 'Bahasa Persia',\n id: 'Bahasa Indonesia',\n th: 'Bahasa Thailand',\n vi: 'Bahasa Vietnam',\n};\n\n/**\n * Locale names in Thai\n */\nconst localeNamesTh: Record<Locale, string> = {\n en: 'อังกฤษ',\n fr: 'ฝรั่งเศส',\n de: 'เยอรมัน',\n es: 'สเปน',\n ar: 'อาหรับ',\n zh: 'จีน',\n ja: 'ญี่ปุ่น',\n ko: 'เกาหลี',\n pt: 'โปรตุเกส',\n it: 'อิตาลี',\n ru: 'รัสเซีย',\n nl: 'ดัตช์',\n sv: 'สวีเดน',\n no: 'นอร์เวย์',\n da: 'เดนมาร์ก',\n fi: 'ฟินแลนด์',\n pl: 'โปแลนด์',\n tr: 'ตุรกี',\n he: 'ฮิบรู',\n hi: 'ฮินดี',\n fa: 'เปอร์เซีย',\n id: 'อินโดนีเซีย',\n th: 'ไทย',\n vi: 'เวียดนาม',\n};\n\n/**\n * Locale names in Vietnamese\n */\nconst localeNamesVi: Record<Locale, string> = {\n en: 'Tiếng Anh',\n fr: 'Tiếng Pháp',\n de: 'Tiếng Đức',\n es: 'Tiếng Tây Ban Nha',\n ar: 'Tiếng Ả Rập',\n zh: 'Tiếng Trung',\n ja: 'Tiếng Nhật',\n ko: 'Tiếng Hàn',\n pt: 'Tiếng Bồ Đào Nha',\n it: 'Tiếng Ý',\n ru: 'Tiếng Nga',\n nl: 'Tiếng Hà Lan',\n sv: 'Tiếng Thụy Điển',\n no: 'Tiếng Na Uy',\n da: 'Tiếng Đan Mạch',\n fi: 'Tiếng Phần Lan',\n pl: 'Tiếng Ba Lan',\n tr: 'Tiếng Thổ Nhĩ Kỳ',\n he: 'Tiếng Do Thái',\n hi: 'Tiếng Hindi',\n fa: 'Tiếng Ba Tư',\n id: 'Tiếng Indonesia',\n th: 'Tiếng Thái',\n vi: 'Tiếng Việt',\n};\n\n/**\n * Map of locale names by target language\n */\nconst localeNamesByLanguage: Record<Locale, Record<Locale, string>> = {\n en: localeNamesEn,\n fr: localeNamesFr,\n de: localeNamesDe,\n es: localeNamesEs,\n ar: localeNamesAr,\n zh: localeNamesZh,\n ja: localeNamesJa,\n ko: localeNamesKo,\n pt: localeNamesPt,\n it: localeNamesIt,\n ru: localeNamesRu,\n nl: localeNamesNl,\n sv: localeNamesSv,\n no: localeNamesNo,\n da: localeNamesDa,\n fi: localeNamesFi,\n pl: localeNamesPl,\n tr: localeNamesTr,\n he: localeNamesHe,\n hi: localeNamesHi,\n fa: localeNamesFa,\n id: localeNamesId,\n th: localeNamesTh,\n vi: localeNamesVi,\n};\n\n/**\n * Get the name of a locale in a specific target language\n */\nexport function getLocaleNameInLanguage(locale: Locale, targetLanguage: Locale): string {\n const names = localeNamesByLanguage[targetLanguage] || localeNamesEn;\n const fromTarget = names[locale];\n if (fromTarget) {\n return fromTarget;\n }\n const fromEn = localeNamesEn[locale];\n if (fromEn) {\n return fromEn;\n }\n const fromConfig = LOCALES_CONFIG[locale]?.nativeName ?? LOCALES_CONFIG[locale]?.name;\n if (fromConfig) {\n return fromConfig;\n }\n return locale;\n}\n\n","import React from 'react';\nimport { AlertTriangle } from 'lucide-react';\nimport { getTranslations } from '../../lib/translations';\nimport { getLocaleNameInLanguage } from '../../lib/translations/locale-names';\nimport { cn } from '../layout/utils';\nimport type { Locale } from '@next-library/core';\n\ninterface FallbackLocaleWarningProps {\n locale: Locale;\n fallbackLocale?: Locale;\n className?: string;\n translations?: {\n message?: string;\n };\n}\n\n/**\n * Warning banner displayed when content is shown from a fallback locale\n * because it's not available in the requested locale.\n */\nexport function FallbackLocaleWarning({\n locale,\n fallbackLocale = 'en',\n className,\n translations = {},\n}: FallbackLocaleWarningProps) {\n const defaultTranslations = getTranslations(locale);\n const { message } = translations;\n\n // Get locale names translated to the warning message language\n // The warning is shown in the requested locale's language\n const requestedLocaleName = getLocaleNameInLanguage(locale, locale).toLowerCase();\n const fallbackLocaleName = getLocaleNameInLanguage(fallbackLocale, locale).toLowerCase();\n\n // Use custom message if provided, otherwise use default translation with locale names\n const warningMessage =\n message ||\n (defaultTranslations.fallbackLocaleWarning\n ? defaultTranslations.fallbackLocaleWarning\n .replace('{requestedLocaleName}', requestedLocaleName)\n .replace('{fallbackLocaleName}', fallbackLocaleName)\n : `This content is shown in ${fallbackLocaleName} (fallback) as it's not available in ${requestedLocaleName}.`);\n\n return (\n <div\n className={cn(\n 'mb-4 p-3 bg-yellow-50 dark:bg-yellow-900/20 border border-yellow-200 dark:border-yellow-800 rounded-lg',\n className\n )}\n role=\"alert\"\n aria-live=\"polite\"\n >\n <div className=\"flex items-center gap-2\">\n <AlertTriangle\n className=\"h-5 w-5 text-yellow-600 dark:text-yellow-400 flex-shrink-0\"\n aria-hidden=\"true\"\n />\n <span className=\"text-sm text-yellow-800 dark:text-yellow-200\">\n {warningMessage}\n </span>\n </div>\n </div>\n );\n}\n\n","import React from 'react';\n\ninterface StructuredDataProps {\n data: object | object[];\n}\n\n/**\n * Component to inject structured data (JSON-LD) into the page\n * Multiple schemas can be passed as an array\n */\nexport function StructuredData({ data }: StructuredDataProps) {\n const schemas = Array.isArray(data) ? data : [data];\n\n return (\n <>\n {schemas.map((schema, index) => (\n <script\n key={index}\n type=\"application/ld+json\"\n dangerouslySetInnerHTML={{\n __html: JSON.stringify(schema),\n }}\n />\n ))}\n </>\n );\n}\n\n","'use client';\n\nimport React, { SVGProps, useState } from 'react';\nimport { motion, useMotionValueEvent, useScroll } from 'motion/react';\nimport { cn } from '../layout/utils';\nimport { getTranslations } from '../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\ninterface StickyBannerProps {\n className?: string;\n children: React.ReactNode;\n hideOnScroll?: boolean;\n locale?: Locale;\n closeLabel?: string;\n}\n\nexport function StickyBanner({\n className,\n children,\n hideOnScroll = false,\n locale = 'en',\n closeLabel,\n}: StickyBannerProps) {\n const [open, setOpen] = useState(true);\n const { scrollY } = useScroll();\n const translations = getTranslations(locale);\n const ariaLabel = closeLabel || translations.closeBanner;\n\n useMotionValueEvent(scrollY, 'change', (latest) => {\n if (hideOnScroll && latest > 16) {\n setOpen(false);\n } else {\n setOpen(true);\n }\n });\n\n return (\n <motion.div\n className={cn(\n 'sticky inset-x-0 top-0 z-40 flex min-h-12 w-full items-center justify-center bg-transparent px-4 py-1',\n className\n )}\n initial={{\n y: -100,\n opacity: 0,\n }}\n animate={{\n y: open ? 0 : -100,\n opacity: open ? 1 : 0,\n }}\n transition={{\n duration: 0.3,\n ease: 'easeInOut',\n }}\n >\n {children}\n\n <motion.button\n initial={{\n scale: 0,\n }}\n animate={{\n scale: 1,\n }}\n className=\"absolute top-1/2 right-2 -translate-y-1/2 cursor-pointer\"\n onClick={() => setOpen(!open)}\n aria-label={ariaLabel}\n >\n <CloseIcon className=\"h-5 w-5 text-white\" aria-hidden=\"true\" />\n </motion.button>\n </motion.div>\n );\n}\n\nconst CloseIcon = (props: SVGProps<SVGSVGElement>) => {\n return (\n <svg\n xmlns=\"http://www.w3.org/2000/svg\"\n width=\"24\"\n height=\"24\"\n viewBox=\"0 0 24 24\"\n fill=\"none\"\n stroke=\"currentColor\"\n strokeWidth=\"2\"\n strokeLinecap=\"round\"\n strokeLinejoin=\"round\"\n {...props}\n >\n <path stroke=\"none\" d=\"M0 0h24v24H0z\" fill=\"none\" />\n <path d=\"M18 6l-12 12\" />\n <path d=\"M6 6l12 12\" />\n </svg>\n );\n};\n","'use client';\n\nimport React from 'react';\nimport { StickyBanner } from '../../ui/sticky-banner';\nimport type { Locale } from '@next-library/core';\n\ninterface BannerProps {\n children: React.ReactNode;\n language?: Locale;\n}\n\nexport default function Banner({ children, language = 'en' }: BannerProps) {\n return (\n <StickyBanner\n className=\"bg-gradient-to-b from-blue-500 to-blue-600 text-center py-2 lg:py-0\"\n hideOnScroll\n locale={language}\n >\n <div className=\"mx-0 max-w-[90%] text-white drop-shadow-md\">{children}</div>\n </StickyBanner>\n );\n}\n\n","'use client';\n\nimport React from 'react';\nimport Link from 'next/link';\nimport Image from 'next/image';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\ninterface LogoProps {\n className?: string;\n language?: Locale;\n title?: string;\n}\n\nexport function Logo({ className = '', language = 'en', title = '' }: LogoProps) {\n const translations = getTranslations(language);\n \n return (\n <Link\n href={`/${language}`}\n className={` font-bold hidden lg:flex text-lg hover:opacity-80 transition-opacity ${className}`}\n aria-label={translations.goToHomePage}\n >\n {/* Simple text logo - can be replaced with SVG/image later */}\n <div className=\"flex items-center gap-2.5\">\n <span className=\"inline-flex items-center justify-center size-7 rounded-lg border bg-background shadow-sm overflow-hidden\">\n <Image src=\"/logo.png\" alt={`${title} logo`} width={18} height={18} />\n </span>\n <span\n className=\"items-center hidden xl:flex select-none text-md font-semibold tracking-tight\"\n title={`${title} logo`}\n >\n {title}\n </span>\n </div>\n </Link>\n );\n}\n\n","'use client';\n\nimport React from 'react';\nimport Link from 'next/link';\n\ninterface Category {\n title: string;\n path: string;\n}\n\ninterface TopCategoriesProps {\n categories: Category[];\n className?: string;\n}\n\nexport function TopCategories({ categories, className = '' }: TopCategoriesProps) {\n if (categories.length === 0) {\n return null;\n }\n\n return (\n <nav\n className={`hidden md:flex items-center space-x-6 mr-2 ${className}`}\n aria-label=\"Top navigation categories\"\n >\n {categories.map((category) => (\n <Link\n key={category.path}\n href={category.path}\n className=\"text-sm font-medium text-muted-foreground hover:text-foreground transition-colors\"\n >\n {category.title}\n </Link>\n ))}\n </nav>\n );\n}\n\n// Mobile version for responsive design\nexport function MobileTopCategories({ categories, className = '' }: TopCategoriesProps) {\n const [isOpen, setIsOpen] = React.useState(false);\n\n if (categories.length === 0) {\n return null;\n }\n\n return (\n <div className={`md:hidden ${className}`}>\n <button\n onClick={() => setIsOpen(!isOpen)}\n className=\"flex items-center space-x-1 px-3 py-2 text-sm font-medium text-muted-foreground hover:text-foreground transition-colors\"\n aria-label=\"Toggle navigation menu\"\n aria-expanded={isOpen}\n >\n <span>Menu</span>\n <svg\n className={`h-4 w-4 transition-transform ${isOpen ? 'rotate-180' : ''}`}\n fill=\"none\"\n stroke=\"currentColor\"\n viewBox=\"0 0 24 24\"\n >\n <path strokeLinecap=\"round\" strokeLinejoin=\"round\" strokeWidth={2} d=\"M19 9l-7 7-7-7\" />\n </svg>\n </button>\n\n {isOpen && (\n <>\n {/* Backdrop */}\n <div className=\"fixed inset-0 z-10\" onClick={() => setIsOpen(false)} />\n\n {/* Mobile menu */}\n <div className=\"absolute top-full left-0 mt-2 w-48 bg-popover text-popover-foreground rounded-lg border shadow-lg z-20\">\n <div className=\"p-1\" role=\"menu\">\n {categories.map((category) => (\n <Link\n key={category.path}\n href={category.path}\n className=\"block px-3 py-2 text-sm rounded-md text-muted-foreground hover:bg-accent hover:text-foreground transition-colors\"\n role=\"menuitem\"\n onClick={() => setIsOpen(false)}\n >\n {category.title}\n </Link>\n ))}\n </div>\n </div>\n </>\n )}\n </div>\n );\n}\n\n","'use client';\n\nimport { useState, useEffect, useRef, useCallback, useMemo } from 'react';\nimport { createPortal } from 'react-dom';\nimport { useRouter } from 'next/navigation';\nimport { Search, Loader2, CornerDownLeft, ArrowUp, ArrowDown } from 'lucide-react';\nimport type { ContentSearchResult, Locale } from '@next-library/core';\nimport { getTranslations } from '../../../lib/translations';\nimport { cn } from '../../layout/utils';\n\nconst INPUTS = new Set(['INPUT', 'SELECT', 'BUTTON', 'TEXTAREA']);\nconst RECENT_KEY = 'cl-recent-pages';\n\ninterface SearchBarProps {\n language?: Locale;\n className?: string;\n}\n\ntype Recent = { title: string; path: string; language: string };\n\nfunction readRecent(): Recent[] {\n try {\n return JSON.parse(localStorage.getItem(RECENT_KEY) || '[]').slice(0, 5);\n } catch {\n return [];\n }\n}\n\n/** Highlight occurrences of the query within a title. */\nfunction Highlight({ text, query }: { text: string; query: string }) {\n if (!query.trim()) return <>{text}</>;\n const i = text.toLowerCase().indexOf(query.toLowerCase());\n if (i === -1) return <>{text}</>;\n return (\n <>\n {text.slice(0, i)}\n <mark className=\"bg-transparent font-semibold text-foreground\">{text.slice(i, i + query.length)}</mark>\n {text.slice(i + query.length)}\n </>\n );\n}\n\nexport function SearchBar({ language = 'en', className }: SearchBarProps) {\n const router = useRouter();\n const translations = getTranslations(language);\n\n const [mounted, setMounted] = useState(false);\n const [open, setOpen] = useState(false);\n const [query, setQuery] = useState('');\n const [results, setResults] = useState<ContentSearchResult[]>([]);\n const [recent, setRecent] = useState<Recent[]>([]);\n const [isLoading, setIsLoading] = useState(false);\n const [isMac, setIsMac] = useState(false);\n const [selected, setSelected] = useState(0);\n\n const inputRef = useRef<HTMLInputElement>(null);\n const listRef = useRef<HTMLDivElement>(null);\n\n useEffect(() => setMounted(true), []);\n useEffect(() => {\n setIsMac(typeof navigator !== 'undefined' && navigator.userAgent.includes('Mac'));\n }, []);\n\n const close = useCallback(() => {\n setOpen(false);\n setQuery('');\n setResults([]);\n setSelected(0);\n }, []);\n\n const go = useCallback(\n (path: string, lang: string, title: string) => {\n try {\n const next = [{ title, path, language: lang }, ...readRecent().filter((r) => r.path !== path)].slice(0, 5);\n localStorage.setItem(RECENT_KEY, JSON.stringify(next));\n } catch {\n /* ignore */\n }\n close();\n router.push(`/${lang}/docs/${path}`);\n },\n [router, close],\n );\n\n // Open on Cmd/Ctrl+K or \"/\"\n useEffect(() => {\n const onKey = (event: KeyboardEvent) => {\n const el = document.activeElement;\n const typing = el && (INPUTS.has(el.tagName) || (el as HTMLElement).isContentEditable);\n if (event.key === 'k' && (isMac ? event.metaKey : event.ctrlKey)) {\n event.preventDefault();\n setOpen((o) => !o);\n } else if (event.key === '/' && !typing) {\n event.preventDefault();\n setOpen(true);\n }\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, [isMac]);\n\n // When opened: focus input, load recent.\n useEffect(() => {\n if (!open) return;\n setRecent(readRecent());\n const t = setTimeout(() => inputRef.current?.focus(), 20);\n const prev = document.body.style.overflow;\n document.body.style.overflow = 'hidden';\n return () => {\n clearTimeout(t);\n document.body.style.overflow = prev;\n };\n }, [open]);\n\n // Debounced search.\n useEffect(() => {\n if (!open) return;\n if (!query.trim()) {\n setResults([]);\n setIsLoading(false);\n return;\n }\n setIsLoading(true);\n const id = setTimeout(async () => {\n try {\n const params = new URLSearchParams({ q: query, lang: language || 'en' });\n const res = await fetch(`/api/search?${params}`);\n const data = res.ok ? await res.json() : { results: [] };\n setResults(data.results || []);\n setSelected(0);\n } catch {\n setResults([]);\n } finally {\n setIsLoading(false);\n }\n }, 180);\n return () => clearTimeout(id);\n }, [query, language, open]);\n\n // Keyboard navigation within the list.\n const flat = useMemo(() => (query.trim() ? results : []), [query, results]);\n useEffect(() => {\n if (!open) return;\n const onKey = (e: KeyboardEvent) => {\n if (e.key === 'Escape') {\n e.preventDefault();\n close();\n } else if (e.key === 'ArrowDown') {\n e.preventDefault();\n setSelected((s) => Math.min(s + 1, Math.max(flat.length - 1, 0)));\n } else if (e.key === 'ArrowUp') {\n e.preventDefault();\n setSelected((s) => Math.max(s - 1, 0));\n } else if (e.key === 'Enter' && flat[selected]) {\n e.preventDefault();\n const r = flat[selected];\n go(r.path, r.language, r.title);\n }\n };\n window.addEventListener('keydown', onKey);\n return () => window.removeEventListener('keydown', onKey);\n }, [open, flat, selected, close, go]);\n\n useEffect(() => {\n const node = listRef.current?.querySelector('[data-selected=\"true\"]');\n node?.scrollIntoView({ block: 'nearest' });\n }, [selected]);\n\n // Group results by their top-level section.\n const groups = flat.reduce<Record<string, { result: ContentSearchResult; index: number }[]>>((acc, r, i) => {\n const key = r.path.split('/')[0] || 'docs';\n (acc[key] ||= []).push({ result: r, index: i });\n return acc;\n }, {});\n\n const trigger = (\n <button\n type=\"button\"\n onClick={() => setOpen(true)}\n className=\"group flex h-9 w-full items-center gap-2 rounded-md border bg-muted/30 px-3 text-sm text-muted-foreground transition-colors hover:bg-muted/50 lg:w-auto lg:min-w-[220px]\"\n aria-label={translations.search}\n >\n <Search className=\"size-4 shrink-0\" />\n <span className=\"flex-1 truncate text-left\">{translations.searchPlaceholder}</span>\n <kbd className=\"hidden items-center gap-0.5 rounded border bg-background px-1.5 font-mono text-[10px] text-muted-foreground shadow-sm md:inline-flex\">\n {isMac ? '⌘' : 'Ctrl'} K\n </kbd>\n </button>\n );\n\n const modal =\n open && mounted\n ? createPortal(\n <div className=\"fixed inset-0 z-[100] flex items-start justify-center p-4 pt-[12vh]\" role=\"dialog\" aria-modal=\"true\">\n <div className=\"absolute inset-0 bg-background/70 backdrop-blur-sm\" onClick={close} aria-hidden=\"true\" />\n <div className=\"cl-beam relative w-full max-w-xl shadow-[0_30px_90px_-24px_rgb(0_0_0/0.55)]\">\n <div className=\"overflow-hidden rounded-[calc(var(--radius)+2px)] bg-popover\">\n {/* Input */}\n <div className=\"flex items-center gap-2.5 border-b px-4\">\n {isLoading ? (\n <Loader2 className=\"size-4 shrink-0 animate-spin text-muted-foreground\" />\n ) : (\n <Search className=\"size-4 shrink-0 text-muted-foreground\" />\n )}\n <input\n ref={inputRef}\n value={query}\n onChange={(e) => setQuery(e.target.value)}\n spellCheck={false}\n autoComplete=\"off\"\n placeholder={translations.searchPlaceholder}\n className=\"h-12 w-full bg-transparent text-sm outline-none placeholder:text-muted-foreground\"\n />\n <kbd className=\"rounded border bg-muted px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground\">esc</kbd>\n </div>\n\n {/* Results */}\n <div ref={listRef} className=\"max-h-[min(60vh,400px)] overflow-y-auto p-2\">\n {!query.trim() ? (\n recent.length ? (\n <div>\n <p className=\"px-2 py-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">Recent</p>\n {recent.map((r) => (\n <button\n key={r.path}\n type=\"button\"\n onClick={() => go(r.path, r.language, r.title)}\n className=\"flex w-full items-center gap-2 rounded-md px-2 py-2 text-left text-sm text-muted-foreground transition-colors hover:bg-accent hover:text-foreground\"\n >\n <Search className=\"size-3.5 shrink-0 opacity-60\" />\n <span className=\"truncate\">{r.title}</span>\n </button>\n ))}\n </div>\n ) : (\n <p className=\"px-2 py-8 text-center text-sm text-muted-foreground\">{translations.searchPlaceholder}</p>\n )\n ) : isLoading && !flat.length ? (\n <p className=\"px-2 py-8 text-center text-sm text-muted-foreground\">{translations.search}...</p>\n ) : !flat.length ? (\n <p className=\"px-2 py-8 text-center text-sm text-muted-foreground\">{`No results for \"${query}\"`}</p>\n ) : (\n Object.entries(groups).map(([section, items]) => (\n <div key={section} className=\"mb-1\">\n <p className=\"px-2 py-1.5 text-[11px] font-medium uppercase tracking-wide text-muted-foreground\">{section}</p>\n {items.map(({ result, index }) => (\n <button\n key={`${result.language}-${result.path}`}\n type=\"button\"\n data-selected={index === selected}\n onMouseEnter={() => setSelected(index)}\n onClick={() => go(result.path, result.language, result.title)}\n className={cn(\n 'flex w-full flex-col gap-0.5 rounded-md px-2 py-2 text-left transition-colors',\n index === selected ? 'bg-accent text-foreground' : 'text-muted-foreground hover:bg-accent/60',\n )}\n >\n <span className=\"truncate text-sm font-medium text-foreground\">\n <Highlight text={result.title} query={query} />\n </span>\n {result.description && (\n <span className=\"truncate text-xs text-muted-foreground\">{result.description}</span>\n )}\n </button>\n ))}\n </div>\n ))\n )}\n </div>\n\n {/* Footer hints */}\n <div className=\"flex items-center gap-4 border-t px-4 py-2 text-[11px] text-muted-foreground\">\n <span className=\"flex items-center gap-1\"><ArrowUp className=\"size-3\" /><ArrowDown className=\"size-3\" /> navigate</span>\n <span className=\"flex items-center gap-1\"><CornerDownLeft className=\"size-3\" /> open</span>\n <span className=\"ml-auto\">esc to close</span>\n </div>\n </div>\n </div>\n </div>,\n document.body,\n )\n : null;\n\n return (\n <div className={cn('relative min-w-0 flex-1 lg:flex-none', className)}>\n {trigger}\n {modal}\n </div>\n );\n}\n","'use client';\n\nimport React from 'react';\nimport { useTheme } from 'next-themes';\n\nexport function ThemeSwitcher() {\n const { resolvedTheme, setTheme } = useTheme();\n const otherTheme = resolvedTheme === 'dark' ? 'light' : 'dark';\n const [mounted, setMounted] = React.useState(false);\n\n React.useEffect(() => {\n setMounted(true);\n }, []);\n\n return (\n <button\n type=\"button\"\n className=\"flex h-9 w-9 items-center rounded-full justify-center transition-colors\"\n aria-label={mounted ? `Switch to ${otherTheme} theme` : 'Toggle theme'}\n onClick={() => setTheme(otherTheme)}\n >\n <SunIcon className=\"h-6 w-6 stroke-current dark:hidden\" />\n <MoonIcon className=\"hidden h-6 w-6 stroke-current dark:block\" />\n </button>\n );\n}\n\nfunction SunIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\" {...props}>\n <path d=\"M12.5 10a2.5 2.5 0 1 1-5 0 2.5 2.5 0 0 1 5 0Z\" />\n <path\n strokeLinecap=\"round\"\n d=\"M10 5.5v-1M13.182 6.818l.707-.707M14.5 10h1M13.182 13.182l.707.707M10 15.5v-1M6.11 13.889l.708-.707M4.5 10h1M6.11 6.111l.708.707\"\n />\n </svg>\n );\n}\n\nfunction MoonIcon(props: React.ComponentPropsWithoutRef<'svg'>) {\n return (\n <svg viewBox=\"0 0 20 20\" fill=\"none\" aria-hidden=\"true\" {...props}>\n <path d=\"M15.224 11.724a5.5 5.5 0 0 1-6.949-6.949 5.5 5.5 0 1 0 6.949 6.949Z\" />\n </svg>\n );\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { cn } from '../layout/utils';\n\nconst buttonVariants = cva(\n 'inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none 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: 'bg-destructive text-destructive-foreground hover:bg-destructive/90',\n outline: 'border border-input bg-background hover:bg-accent hover:text-accent-foreground',\n secondary: '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}\n\nconst Button = React.forwardRef<HTMLButtonElement, ButtonProps>(\n ({ className, variant, size, asChild = false, ...props }, ref) => {\n const Comp = asChild ? Slot : 'button';\n return (\n <Comp className={cn(buttonVariants({ variant, size, className }))} ref={ref} {...props} />\n );\n }\n);\nButton.displayName = 'Button';\n\nexport { Button, buttonVariants };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as DropdownMenuPrimitive from '@radix-ui/react-dropdown-menu';\nimport { CheckIcon, ChevronRightIcon, CircleIcon } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction DropdownMenu({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Root>) {\n return <DropdownMenuPrimitive.Root data-slot=\"dropdown-menu\" {...props} />;\n}\n\nfunction DropdownMenuPortal({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Portal>) {\n return <DropdownMenuPrimitive.Portal data-slot=\"dropdown-menu-portal\" {...props} />;\n}\n\nfunction DropdownMenuTrigger({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Trigger>) {\n return <DropdownMenuPrimitive.Trigger data-slot=\"dropdown-menu-trigger\" {...props} />;\n}\n\nfunction DropdownMenuContent({\n className,\n sideOffset = 4,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Content>) {\n return (\n <DropdownMenuPrimitive.Portal>\n <DropdownMenuPrimitive.Content\n data-slot=\"dropdown-menu-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md',\n className\n )}\n {...props}\n />\n </DropdownMenuPrimitive.Portal>\n );\n}\n\nfunction DropdownMenuGroup({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Group>) {\n return <DropdownMenuPrimitive.Group data-slot=\"dropdown-menu-group\" {...props} />;\n}\n\nfunction DropdownMenuItem({\n className,\n inset,\n variant = 'default',\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Item> & {\n inset?: boolean;\n variant?: 'default' | 'destructive';\n}) {\n return (\n <DropdownMenuPrimitive.Item\n data-slot=\"dropdown-menu-item\"\n data-inset={inset}\n data-variant={variant}\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:text-destructive! [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 data-inset:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuCheckboxItem({\n className,\n children,\n checked,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.CheckboxItem>) {\n return (\n <DropdownMenuPrimitive.CheckboxItem\n data-slot=\"dropdown-menu-checkbox-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n checked={checked}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.CheckboxItem>\n );\n}\n\nfunction DropdownMenuRadioGroup({\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioGroup>) {\n return <DropdownMenuPrimitive.RadioGroup data-slot=\"dropdown-menu-radio-group\" {...props} />;\n}\n\nfunction DropdownMenuRadioItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.RadioItem>) {\n return (\n <DropdownMenuPrimitive.RadioItem\n data-slot=\"dropdown-menu-radio-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-sm py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-disabled:pointer-events-none data-disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n <span className=\"pointer-events-none absolute left-2 flex size-3.5 items-center justify-center\">\n <DropdownMenuPrimitive.ItemIndicator>\n <CircleIcon className=\"size-2 fill-current\" />\n </DropdownMenuPrimitive.ItemIndicator>\n </span>\n {children}\n </DropdownMenuPrimitive.RadioItem>\n );\n}\n\nfunction DropdownMenuLabel({\n className,\n inset,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Label> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.Label\n data-slot=\"dropdown-menu-label\"\n data-inset={inset}\n className={cn('px-2 py-1.5 text-sm font-medium data-inset:pl-8', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.Separator>) {\n return (\n <DropdownMenuPrimitive.Separator\n data-slot=\"dropdown-menu-separator\"\n className={cn('bg-border -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuShortcut({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"dropdown-menu-shortcut\"\n className={cn('text-muted-foreground ml-auto text-xs tracking-widest', className)}\n {...props}\n />\n );\n}\n\nfunction DropdownMenuSub({ ...props }: React.ComponentProps<typeof DropdownMenuPrimitive.Sub>) {\n return <DropdownMenuPrimitive.Sub data-slot=\"dropdown-menu-sub\" {...props} />;\n}\n\nfunction DropdownMenuSubTrigger({\n className,\n inset,\n children,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubTrigger> & {\n inset?: boolean;\n}) {\n return (\n <DropdownMenuPrimitive.SubTrigger\n data-slot=\"dropdown-menu-sub-trigger\"\n data-inset={inset}\n className={cn(\n 'focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-inset:pl-8',\n className\n )}\n {...props}\n >\n {children}\n <ChevronRightIcon className=\"ml-auto size-4\" />\n </DropdownMenuPrimitive.SubTrigger>\n );\n}\n\nfunction DropdownMenuSubContent({\n className,\n ...props\n}: React.ComponentProps<typeof DropdownMenuPrimitive.SubContent>) {\n return (\n <DropdownMenuPrimitive.SubContent\n data-slot=\"dropdown-menu-sub-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-32 origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-md border p-1 shadow-lg',\n className\n )}\n {...props}\n />\n );\n}\n\nexport {\n DropdownMenu,\n DropdownMenuPortal,\n DropdownMenuTrigger,\n DropdownMenuContent,\n DropdownMenuGroup,\n DropdownMenuLabel,\n DropdownMenuItem,\n DropdownMenuCheckboxItem,\n DropdownMenuRadioGroup,\n DropdownMenuRadioItem,\n DropdownMenuSeparator,\n DropdownMenuShortcut,\n DropdownMenuSub,\n DropdownMenuSubTrigger,\n DropdownMenuSubContent,\n};\n","'use client';\n\nimport React from 'react';\nimport { useLocale } from '@next-library/core/hooks';\nimport { Button } from '../../ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../../ui/dropdown-menu';\nimport { LanguagesIcon } from 'lucide-react';\n\ninterface LocaleOption {\n code: string;\n nativeName: string;\n}\n\ninterface LanguageSwitcherProps {\n className?: string;\n availableLocales?: string[];\n localeConfigs?: LocaleOption[];\n}\n\nexport function LanguageSwitcher({\n className = '',\n availableLocales: propLocales,\n localeConfigs\n}: LanguageSwitcherProps) {\n const { locale, availableLocales: hookLocales, changeLocale, isLoading } = useLocale();\n // Use prop locales if provided (from server), otherwise use hook locales\n const availableLocales = propLocales && propLocales.length > 0 ? propLocales : hookLocales;\n\n if (isLoading) {\n return (\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className={`flex h-9 w-9 items-center rounded-full justify-center ${className}`}\n >\n <LanguagesIcon className=\"h-4 w-4\" data-testid=\"globe-icon\" />\n </Button>\n );\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"ghost\"\n size=\"icon\"\n className=\"flex h-9 w-9 items-center rounded-full justify-center\"\n aria-label=\"Select language\"\n aria-haspopup=\"true\"\n >\n <LanguagesIcon className=\"h-4 w-4\" data-testid=\"globe-icon\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"dark:bg-black\">\n {availableLocales.map((availableLocale) => {\n // Use locale config from server if provided, otherwise fallback to locale code\n const localeConfig = localeConfigs?.find(config => config.code === availableLocale);\n const nativeName = localeConfig?.nativeName || availableLocale.toUpperCase();\n const isActive = availableLocale === locale;\n\n return (\n <DropdownMenuItem\n key={availableLocale}\n onClick={() => changeLocale(availableLocale)}\n className={`${isActive ? 'bg-accent text-accent-foreground' : ''}`}\n >\n {nativeName}\n </DropdownMenuItem>\n );\n })}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n\n","'use client';\n\nimport { cn } from '../layout/utils';\nimport * as React from 'react';\nimport { Drawer as DrawerPrimitive } from 'vaul';\n\nfunction Drawer({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Root>) {\n return <DrawerPrimitive.Root data-slot=\"drawer\" {...props} />;\n}\n\nfunction DrawerTrigger({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Trigger>) {\n return <DrawerPrimitive.Trigger data-slot=\"drawer-trigger\" {...props} />;\n}\n\nfunction DrawerPortal({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Portal>) {\n return <DrawerPrimitive.Portal data-slot=\"drawer-portal\" {...props} />;\n}\n\nfunction DrawerClose({ ...props }: React.ComponentProps<typeof DrawerPrimitive.Close>) {\n return <DrawerPrimitive.Close data-slot=\"drawer-close\" {...props} />;\n}\n\nfunction DrawerOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Overlay>) {\n return (\n <DrawerPrimitive.Overlay\n data-slot=\"drawer-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DrawerContent({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Content>) {\n return (\n <DrawerPortal data-slot=\"drawer-portal\">\n <DrawerOverlay />\n <DrawerPrimitive.Content\n data-slot=\"drawer-content\"\n className={cn(\n 'group/drawer-content bg-background fixed z-50 flex h-auto flex-col',\n 'data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-lg data-[vaul-drawer-direction=top]:border-b',\n 'data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-lg data-[vaul-drawer-direction=bottom]:border-t',\n 'data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=right]:sm:max-w-sm',\n 'data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=left]:sm:max-w-sm',\n className\n )}\n {...props}\n >\n <div className=\"bg-muted mx-auto mt-4 hidden h-2 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block\" />\n {children}\n </DrawerPrimitive.Content>\n </DrawerPortal>\n );\n}\n\nfunction DrawerHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"drawer-header\"\n className={cn(\n 'flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-1.5 md:text-left',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction DrawerFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"drawer-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction DrawerTitle({ className, ...props }: React.ComponentProps<typeof DrawerPrimitive.Title>) {\n return (\n <DrawerPrimitive.Title\n data-slot=\"drawer-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction DrawerDescription({\n className,\n ...props\n}: React.ComponentProps<typeof DrawerPrimitive.Description>) {\n return (\n <DrawerPrimitive.Description\n data-slot=\"drawer-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Drawer,\n DrawerPortal,\n DrawerOverlay,\n DrawerTrigger,\n DrawerClose,\n DrawerContent,\n DrawerHeader,\n DrawerFooter,\n DrawerTitle,\n DrawerDescription,\n};\n\n","'use client';\n\nimport * 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\n","import * as React from 'react';\nimport { cn } from '../layout/utils';\n\nfunction Input({ className, type, ...props }: React.ComponentProps<'input'>) {\n return (\n <input\n type={type}\n data-slot=\"input\"\n className={cn(\n 'file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm',\n 'focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]',\n 'aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Input };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as SeparatorPrimitive from '@radix-ui/react-separator';\nimport { cn } from '../layout/utils';\n\nfunction Separator({\n className,\n orientation = 'horizontal',\n decorative = true,\n ...props\n}: React.ComponentProps<typeof SeparatorPrimitive.Root>) {\n return (\n <SeparatorPrimitive.Root\n data-slot=\"separator\"\n decorative={decorative}\n orientation={orientation}\n className={cn(\n 'bg-border shrink-0 data-[orientation=horizontal]:h-px data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-px',\n className\n )}\n {...props}\n />\n );\n}\n\nexport { Separator };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as SheetPrimitive from '@radix-ui/react-dialog';\nimport { XIcon } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction Sheet({ ...props }: React.ComponentProps<typeof SheetPrimitive.Root>) {\n return <SheetPrimitive.Root data-slot=\"sheet\" {...props} />;\n}\n\nfunction SheetTrigger({ ...props }: React.ComponentProps<typeof SheetPrimitive.Trigger>) {\n return <SheetPrimitive.Trigger data-slot=\"sheet-trigger\" {...props} />;\n}\n\nfunction SheetClose({ ...props }: React.ComponentProps<typeof SheetPrimitive.Close>) {\n return <SheetPrimitive.Close data-slot=\"sheet-close\" {...props} />;\n}\n\nfunction SheetPortal({ ...props }: React.ComponentProps<typeof SheetPrimitive.Portal>) {\n return <SheetPrimitive.Portal data-slot=\"sheet-portal\" {...props} />;\n}\n\nfunction SheetOverlay({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Overlay>) {\n return (\n <SheetPrimitive.Overlay\n data-slot=\"sheet-overlay\"\n className={cn(\n 'data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SheetContent({\n className,\n children,\n side = 'right',\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Content> & {\n side?: 'top' | 'right' | 'bottom' | 'left';\n}) {\n return (\n <SheetPortal>\n <SheetOverlay />\n <SheetPrimitive.Content\n data-slot=\"sheet-content\"\n className={cn(\n 'bg-background data-[state=open]:animate-in data-[state=closed]:animate-out fixed z-50 flex flex-col gap-4 shadow-lg transition ease-in-out data-[state=closed]:duration-300 data-[state=open]:duration-500',\n side === 'right' &&\n 'data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right inset-y-0 right-0 h-full w-3/4 border-l sm:max-w-sm',\n side === 'left' &&\n 'data-[state=closed]:slide-out-to-left data-[state=open]:slide-in-from-left inset-y-0 left-0 h-full w-3/4 border-r sm:max-w-sm',\n side === 'top' &&\n 'data-[state=closed]:slide-out-to-top data-[state=open]:slide-in-from-top inset-x-0 top-0 h-auto border-b',\n side === 'bottom' &&\n 'data-[state=closed]:slide-out-to-bottom data-[state=open]:slide-in-from-bottom inset-x-0 bottom-0 h-auto border-t',\n className\n )}\n {...props}\n >\n {children}\n <SheetPrimitive.Close className=\"ring-offset-background focus:ring-ring data-[state=open]:bg-secondary absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none\">\n <XIcon className=\"size-4\" />\n <span className=\"sr-only\">Close</span>\n </SheetPrimitive.Close>\n </SheetPrimitive.Content>\n </SheetPortal>\n );\n}\n\nfunction SheetHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-header\"\n className={cn('flex flex-col gap-1.5 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sheet-footer\"\n className={cn('mt-auto flex flex-col gap-2 p-4', className)}\n {...props}\n />\n );\n}\n\nfunction SheetTitle({ className, ...props }: React.ComponentProps<typeof SheetPrimitive.Title>) {\n return (\n <SheetPrimitive.Title\n data-slot=\"sheet-title\"\n className={cn('text-foreground font-semibold', className)}\n {...props}\n />\n );\n}\n\nfunction SheetDescription({\n className,\n ...props\n}: React.ComponentProps<typeof SheetPrimitive.Description>) {\n return (\n <SheetPrimitive.Description\n data-slot=\"sheet-description\"\n className={cn('text-muted-foreground text-sm', className)}\n {...props}\n />\n );\n}\n\nexport {\n Sheet,\n SheetTrigger,\n SheetClose,\n SheetContent,\n SheetHeader,\n SheetFooter,\n SheetTitle,\n SheetDescription,\n};\n\n","import * as React from 'react';\nimport { cn } from '../layout/utils';\n\nfunction Skeleton({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"skeleton\"\n className={cn('bg-accent animate-pulse', className)}\n {...props}\n />\n );\n}\n\nexport { Skeleton };\n\n","'use client';\n\nimport * as React from 'react';\nimport * as TooltipPrimitive from '@radix-ui/react-tooltip';\nimport { cn } from '../layout/utils';\n\nfunction TooltipProvider({\n delayDuration = 0,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Provider>) {\n return (\n <TooltipPrimitive.Provider\n data-slot=\"tooltip-provider\"\n delayDuration={delayDuration}\n {...props}\n />\n );\n}\n\nfunction Tooltip({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Root>) {\n return (\n <TooltipProvider>\n <TooltipPrimitive.Root data-slot=\"tooltip\" {...props} />\n </TooltipProvider>\n );\n}\n\nfunction TooltipTrigger({ ...props }: React.ComponentProps<typeof TooltipPrimitive.Trigger>) {\n return <TooltipPrimitive.Trigger data-slot=\"tooltip-trigger\" {...props} />;\n}\n\nfunction TooltipContent({\n className,\n sideOffset = 0,\n children,\n ...props\n}: React.ComponentProps<typeof TooltipPrimitive.Content>) {\n return (\n <TooltipPrimitive.Portal>\n <TooltipPrimitive.Content\n data-slot=\"tooltip-content\"\n sideOffset={sideOffset}\n className={cn(\n 'bg-foreground text-background 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 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance',\n className\n )}\n {...props}\n >\n {children}\n <TooltipPrimitive.Arrow className=\"bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]\" />\n </TooltipPrimitive.Content>\n </TooltipPrimitive.Portal>\n );\n}\n\nexport { Tooltip, TooltipTrigger, TooltipContent, TooltipProvider };\n\n","'use client';\n\nimport * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { cva, type VariantProps } from 'class-variance-authority';\nimport { PanelLeftIcon } from 'lucide-react';\n\nimport { useIsMobile } from '../../hooks/use-mobile';\nimport { cn } from '../layout/utils';\nimport { Button } from './button';\nimport { Input } from './input';\nimport { Separator } from './separator';\nimport {\n Sheet,\n SheetContent,\n SheetDescription,\n SheetHeader,\n SheetTitle,\n} from './sheet';\nimport { Skeleton } from './skeleton';\nimport { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from './tooltip';\n\nconst SIDEBAR_COOKIE_NAME = 'sidebar_state';\nconst SIDEBAR_COOKIE_MAX_AGE = 60 * 60 * 24 * 7;\nconst SIDEBAR_WIDTH = '16rem';\nconst SIDEBAR_WIDTH_MOBILE = '18rem';\nconst SIDEBAR_WIDTH_ICON = '3rem';\nconst SIDEBAR_KEYBOARD_SHORTCUT = 'b';\n\ntype SidebarContextProps = {\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<SidebarContextProps | 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\nfunction SidebarProvider({\n defaultOpen = true,\n open: openProp,\n onOpenChange: setOpenProp,\n className,\n style,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n defaultOpen?: boolean;\n open?: boolean;\n onOpenChange?: (open: boolean) => void;\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 ? setOpenMobile((open) => !open) : setOpen((open) => !open);\n }, [isMobile, setOpen, setOpenMobile]);\n\n // Adds a keyboard shortcut to toggle the sidebar.\n React.useEffect(() => {\n const handleKeyDown = (event: KeyboardEvent) => {\n if (event.key === SIDEBAR_KEYBOARD_SHORTCUT && (event.metaKey || event.ctrlKey)) {\n event.preventDefault();\n toggleSidebar();\n }\n };\n\n window.addEventListener('keydown', handleKeyDown);\n return () => window.removeEventListener('keydown', handleKeyDown);\n }, [toggleSidebar]);\n\n // We add a state so that we can do data-state=\"expanded\" or \"collapsed\".\n // This makes it easier to style the sidebar with Tailwind classes.\n const state = open ? 'expanded' : 'collapsed';\n\n const contextValue = React.useMemo<SidebarContextProps>(\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 data-slot=\"sidebar-wrapper\"\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 has-data-[variant=inset]:bg-sidebar flex w-full',\n className\n )}\n {...props}\n >\n {children}\n </div>\n </TooltipProvider>\n </SidebarContext.Provider>\n );\n}\n\nfunction Sidebar({\n side = 'left',\n variant = 'sidebar',\n collapsible = 'offcanvas',\n className,\n children,\n ...props\n}: React.ComponentProps<'div'> & {\n side?: 'left' | 'right';\n variant?: 'sidebar' | 'floating' | 'inset';\n collapsible?: 'offcanvas' | 'icon' | 'none';\n}) {\n const { isMobile, state, openMobile, setOpenMobile } = useSidebar();\n\n if (collapsible === 'none') {\n return (\n <div\n data-slot=\"sidebar\"\n className={cn(\n 'bg-sidebar text-sidebar-foreground flex h-full w-(--sidebar-width) flex-col',\n className\n )}\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-slot=\"sidebar\"\n data-mobile=\"true\"\n className=\"bg-sidebar text-sidebar-foreground w-(--sidebar-width) p-0 [&>button]:hidden\"\n style={\n {\n '--sidebar-width': SIDEBAR_WIDTH_MOBILE,\n } as React.CSSProperties\n }\n side={side}\n >\n <SheetHeader className=\"sr-only\">\n <SheetTitle>Sidebar</SheetTitle>\n <SheetDescription>Displays the mobile sidebar.</SheetDescription>\n </SheetHeader>\n <div className=\"flex h-full w-full flex-col\">{children}</div>\n </SheetContent>\n </Sheet>\n );\n }\n\n return (\n <div\n className=\"group peer text-sidebar-foreground hidden md:block\"\n data-state={state}\n data-collapsible={state === 'collapsed' ? collapsible : ''}\n data-variant={variant}\n data-side={side}\n data-slot=\"sidebar\"\n >\n {/* This is what handles the sidebar gap on desktop */}\n <div\n data-slot=\"sidebar-gap\"\n className={cn(\n 'relative w-(--sidebar-width) bg-transparent transition-[width] duration-200 ease-linear',\n 'group-data-[collapsible=offcanvas]:w-0',\n 'group-data-[side=right]:rotate-180',\n variant === 'floating' || variant === 'inset'\n ? 'group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--spacing(4)))]'\n : 'group-data-[collapsible=icon]:w-(--sidebar-width-icon)'\n )}\n />\n <div\n data-slot=\"sidebar-container\"\n className={cn(\n 'fixed inset-y-0 z-10 hidden h-svh w-(--sidebar-width) transition-[left,right,width] duration-200 ease-linear md:flex',\n side === 'left'\n ? 'left-0 group-data-[collapsible=offcanvas]:left-[calc(var(--sidebar-width)*-1)]'\n : 'right-0 group-data-[collapsible=offcanvas]:right-[calc(var(--sidebar-width)*-1)]',\n // Adjust the padding for floating and inset variants.\n variant === 'floating' || variant === 'inset'\n ? 'p-2 group-data-[collapsible=icon]:w-[calc(var(--sidebar-width-icon)+(--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 data-slot=\"sidebar-inner\"\n className=\"bg-sidebar group-data-[variant=floating]:border-sidebar-border flex h-full w-full flex-col group-data-[variant=floating]:rounded-lg group-data-[variant=floating]:border group-data-[variant=floating]:shadow-sm\"\n >\n {children}\n </div>\n </div>\n </div>\n );\n}\n\nfunction SidebarTrigger({ className, onClick, ...props }: React.ComponentProps<typeof Button>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <Button\n data-sidebar=\"trigger\"\n data-slot=\"sidebar-trigger\"\n variant=\"ghost\"\n size=\"icon\"\n className={cn('size-7', className)}\n onClick={(event) => {\n onClick?.(event);\n toggleSidebar();\n }}\n {...props}\n >\n <PanelLeftIcon />\n <span className=\"sr-only\">Toggle Sidebar</span>\n </Button>\n );\n}\n\nfunction SidebarRail({ className, ...props }: React.ComponentProps<'button'>) {\n const { toggleSidebar } = useSidebar();\n\n return (\n <button\n data-sidebar=\"rail\"\n data-slot=\"sidebar-rail\"\n aria-label=\"Toggle Sidebar\"\n tabIndex={-1}\n onClick={toggleSidebar}\n title=\"Toggle Sidebar\"\n className={cn(\n 'hover:after:bg-sidebar-border absolute inset-y-0 z-20 hidden w-4 -translate-x-1/2 transition-all ease-linear group-data-[side=left]:-right-4 group-data-[side=right]:left-0 after:absolute after:inset-y-0 after:left-1/2 after:w-[2px] 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 'hover:group-data-[collapsible=offcanvas]:bg-sidebar group-data-[collapsible=offcanvas]:translate-x-0 group-data-[collapsible=offcanvas]:after:left-full',\n '[[data-side=left][data-collapsible=offcanvas]_&]:-right-2',\n '[[data-side=right][data-collapsible=offcanvas]_&]:-left-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInset({ className, ...props }: React.ComponentProps<'main'>) {\n return (\n <main\n data-slot=\"sidebar-inset\"\n className={cn(\n 'bg-background relative flex w-full flex-1 flex-col',\n 'md:peer-data-[variant=inset]:m-2 md:peer-data-[variant=inset]:ml-0 md:peer-data-[variant=inset]:rounded-xl md:peer-data-[variant=inset]:shadow-sm md:peer-data-[variant=inset]:peer-data-[state=collapsed]:ml-2',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarInput({ className, ...props }: React.ComponentProps<typeof Input>) {\n return (\n <Input\n data-slot=\"sidebar-input\"\n data-sidebar=\"input\"\n className={cn('bg-background h-8 w-full shadow-none', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarHeader({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-header\"\n data-sidebar=\"header\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarFooter({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-footer\"\n data-sidebar=\"footer\"\n className={cn('flex flex-col gap-2 p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarSeparator({ className, ...props }: React.ComponentProps<typeof Separator>) {\n return (\n <Separator\n data-slot=\"sidebar-separator\"\n data-sidebar=\"separator\"\n className={cn('bg-sidebar-border mx-2 w-auto', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-content\"\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}\n\nfunction SidebarGroup({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group\"\n data-sidebar=\"group\"\n className={cn('relative flex w-full min-w-0 flex-col p-2', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupLabel({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'div'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'div';\n\n return (\n <Comp\n data-slot=\"sidebar-group-label\"\n data-sidebar=\"group-label\"\n className={cn(\n 'text-sidebar-foreground/70 ring-sidebar-ring flex h-8 shrink-0 items-center rounded-md px-2 text-xs font-medium outline-hidden transition-[margin,opacity] duration-200 ease-linear focus-visible:ring-2 [&>svg]:size-4 [&>svg]:shrink-0',\n 'group-data-[collapsible=icon]:-mt-8 group-data-[collapsible=icon]:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarGroupAction({\n className,\n asChild = false,\n ...props\n}: React.ComponentProps<'button'> & { asChild?: boolean }) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-group-action\"\n data-sidebar=\"group-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground absolute top-3.5 right-3 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform 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}\n\nfunction SidebarGroupContent({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-group-content\"\n data-sidebar=\"group-content\"\n className={cn('w-full text-sm', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenu({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu\"\n data-sidebar=\"menu\"\n className={cn('flex w-full min-w-0 flex-col gap-1', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-item\"\n data-sidebar=\"menu-item\"\n className={cn('group/menu-item relative', className)}\n {...props}\n />\n );\n}\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\nfunction SidebarMenuButton({\n asChild = false,\n isActive = false,\n variant = 'default',\n size = 'default',\n tooltip,\n className,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n isActive?: boolean;\n tooltip?: string | React.ComponentProps<typeof TooltipContent>;\n} & VariantProps<typeof sidebarMenuButtonVariants>) {\n const Comp = asChild ? Slot : 'button';\n const { isMobile, state } = useSidebar();\n\n const button = (\n <Comp\n data-slot=\"sidebar-menu-button\"\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\nfunction SidebarMenuAction({\n className,\n asChild = false,\n showOnHover = false,\n ...props\n}: React.ComponentProps<'button'> & {\n asChild?: boolean;\n showOnHover?: boolean;\n}) {\n const Comp = asChild ? Slot : 'button';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-action\"\n data-sidebar=\"menu-action\"\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground peer-hover/menu-button:text-sidebar-accent-foreground absolute top-1.5 right-1 flex aspect-square w-5 items-center justify-center rounded-md p-0 outline-hidden transition-transform 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 '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 'peer-data-[active=true]/menu-button:text-sidebar-accent-foreground group-focus-within/menu-item:opacity-100 group-hover/menu-item:opacity-100 data-[state=open]:opacity-100 md:opacity-0',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuBadge({ className, ...props }: React.ComponentProps<'div'>) {\n return (\n <div\n data-slot=\"sidebar-menu-badge\"\n data-sidebar=\"menu-badge\"\n className={cn(\n 'text-sidebar-foreground pointer-events-none absolute right-1 flex h-5 min-w-5 items-center justify-center rounded-md px-1 text-xs font-medium tabular-nums select-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 );\n}\n\nfunction SidebarMenuSkeleton({\n className,\n showIcon = false,\n ...props\n}: React.ComponentProps<'div'> & {\n showIcon?: boolean;\n}) {\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 data-slot=\"sidebar-menu-skeleton\"\n data-sidebar=\"menu-skeleton\"\n className={cn('flex h-8 items-center gap-2 rounded-md px-2', className)}\n {...props}\n >\n {showIcon && <Skeleton className=\"size-4 rounded-md\" data-sidebar=\"menu-skeleton-icon\" />}\n <Skeleton\n className=\"h-4 max-w-(--skeleton-width) flex-1\"\n data-sidebar=\"menu-skeleton-text\"\n style={\n {\n '--skeleton-width': width,\n } as React.CSSProperties\n }\n />\n </div>\n );\n}\n\nfunction SidebarMenuSub({ className, ...props }: React.ComponentProps<'ul'>) {\n return (\n <ul\n data-slot=\"sidebar-menu-sub\"\n data-sidebar=\"menu-sub\"\n className={cn(\n 'border-sidebar-border ml-3 flex min-w-0 translate-x-px flex-col gap-1 border-l pl-3 py-0.5',\n 'group-data-[collapsible=icon]:hidden',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"sidebar-menu-sub-item\"\n data-sidebar=\"menu-sub-item\"\n className={cn('group/menu-sub-item relative', className)}\n {...props}\n />\n );\n}\n\nfunction SidebarMenuSubButton({\n asChild = false,\n size = 'md',\n isActive = false,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n size?: 'sm' | 'md';\n isActive?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"sidebar-menu-sub-button\"\n data-sidebar=\"menu-sub-button\"\n data-size={size}\n data-active={isActive}\n className={cn(\n 'text-sidebar-foreground ring-sidebar-ring hover:bg-sidebar-accent hover:text-sidebar-accent-foreground active:bg-sidebar-accent active:text-sidebar-accent-foreground [&>svg]:text-sidebar-accent-foreground flex h-7 min-w-0 -translate-x-px items-center gap-2 overflow-hidden rounded-md px-2 outline-hidden focus-visible:ring-2 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',\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}\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\n","'use client';\n\nimport * as React from 'react';\nimport * as CollapsiblePrimitive from '@radix-ui/react-collapsible';\n\nfunction Collapsible({ ...props }: React.ComponentProps<typeof CollapsiblePrimitive.Root>) {\n return <CollapsiblePrimitive.Root data-slot=\"collapsible\" {...props} />;\n}\n\nfunction CollapsibleTrigger({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleTrigger>) {\n return <CollapsiblePrimitive.CollapsibleTrigger data-slot=\"collapsible-trigger\" {...props} />;\n}\n\nfunction CollapsibleContent({\n ...props\n}: React.ComponentProps<typeof CollapsiblePrimitive.CollapsibleContent>) {\n return <CollapsiblePrimitive.CollapsibleContent data-slot=\"collapsible-content\" {...props} />;\n}\n\nexport { Collapsible, CollapsibleTrigger, CollapsibleContent };\n\n","'use client';\n\nimport {\n SidebarContent,\n SidebarMenu,\n SidebarMenuItem,\n SidebarMenuSub,\n SidebarProvider,\n} from '../../ui/sidebar';\nimport type { SidebarNode } from '@next-library/core';\nimport { Collapsible, CollapsibleContent, CollapsibleTrigger } from '../../ui/collapsible';\nimport {\n ChevronRight,\n ChevronDown,\n FolderOpenIcon,\n FolderClosedIcon,\n FileTextIcon,\n} from 'lucide-react';\nimport Link from 'next/link';\nimport type { Locale } from '@next-library/core';\n\ninterface SidebarNavigationProps {\n nodes: SidebarNode[];\n currentPath?: string;\n language?: Locale;\n /**\n * Called when a leaf page (a node with no children) is clicked. The mobile\n * menu uses this to close the drawer once the user reaches an actual page,\n * while folder navigations that only drill down leave the menu open.\n */\n onNavigateLeaf?: () => void;\n translations?: {\n toggleFolder?: string;\n };\n}\n\n// Helper function to check if a node is the current active page\nfunction isActiveNode(node: SidebarNode, currentPath?: string): boolean {\n if (!currentPath || !node.websitePath) return false;\n\n // Normalize paths for comparison\n const nodePath = node.websitePath.replace(/\\/$/, ''); // Remove trailing slash\n const normalizedCurrentPath = currentPath.replace(/\\/$/, ''); // Remove trailing slash\n\n return nodePath === normalizedCurrentPath;\n}\n\n// Helper function to check if any child is active (for parent highlighting)\nfunction hasActiveChild(node: SidebarNode, currentPath?: string): boolean {\n if (!currentPath || !node.children) return false;\n\n return Object.values(node.children).some(\n (child) => isActiveNode(child, currentPath) || hasActiveChild(child, currentPath)\n );\n}\n\nexport function SidebarNavigation({\n nodes,\n currentPath,\n language: _language = 'en',\n onNavigateLeaf,\n translations = {},\n}: SidebarNavigationProps) {\n const { toggleFolder = 'Toggle folder' } = translations;\n\n return (\n <SidebarProvider>\n <SidebarContent className=\"overflow-hidden p-1\">\n {nodes.map((node) => {\n if (!node.websitePath) return null;\n \n const isActive = isActiveNode(node, currentPath);\n const hasActiveChildNode = hasActiveChild(node, currentPath);\n\n return node.children && Object.keys(node.children).length > 0 ? (\n <Collapsible\n key={node.websitePath}\n defaultOpen={isActive || hasActiveChildNode}\n className=\"group/collapsible\"\n >\n <SidebarMenu key={`menu-${node.websitePath}`}>\n <SidebarMenuItem key={node.websitePath}>\n <div className=\"flex flex-nowrap items-center gap-2\">\n <Link\n href={node.websitePath}\n className={`group/row relative flex flex-nowrap items-center gap-2 flex-auto py-1.5 pl-3 pr-2 rounded-md text-sm transition-colors hover:bg-accent ${isActive\n ? 'bg-accent font-medium text-foreground before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-foreground'\n : hasActiveChildNode\n ? 'text-foreground'\n : 'text-muted-foreground hover:text-foreground'\n }`}\n >\n <div className=\"flex-none\">\n <FolderOpenIcon className=\"h-4 w-4 group-data-[state=closed]/collapsible:hidden\" />\n <FolderClosedIcon className=\"h-4 w-4 group-data-[state=open]/collapsible:hidden\" />\n </div>\n <span className={`flex-auto ${isActive ? 'font-medium' : ''}`}>\n {node.title}\n </span>\n </Link>\n <CollapsibleTrigger\n className=\"p-1.5 rounded-md text-muted-foreground/70 transition-colors hover:bg-accent hover:text-foreground self-center\"\n aria-label={`${toggleFolder}: ${node.title}`}\n >\n <ChevronRight\n className=\"h-4 w-4 group-data-[state=open]/collapsible:hidden\"\n aria-hidden=\"true\"\n />\n <ChevronDown\n className=\"h-4 w-4 group-data-[state=closed]/collapsible:hidden\"\n aria-hidden=\"true\"\n />\n </CollapsibleTrigger>\n </div>\n <CollapsibleContent>\n <SidebarMenuSub>\n {Object.entries(node.children || {}).map(([, child]) => {\n if (!child.websitePath) return null;\n \n const isChildActive = isActiveNode(child, currentPath);\n const childIsLeaf = !child.children || Object.keys(child.children).length === 0;\n return (\n <SidebarMenuItem key={child.websitePath}>\n <Link\n href={child.websitePath}\n onClick={childIsLeaf ? onNavigateLeaf : undefined}\n className={`group/row relative flex items-center gap-2 py-1.5 pl-3 pr-2 rounded-md text-sm transition-colors hover:bg-accent ${isChildActive\n ? 'bg-accent font-medium text-foreground before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-foreground'\n : 'text-muted-foreground hover:text-foreground'\n }`}\n >\n {child.children && Object.keys(child.children).length > 0 ? (\n <FolderClosedIcon className=\"h-4 w-4 flex-none\" />\n ) : (\n <FileTextIcon className=\"h-4 w-4 flex-none\" />\n )}\n <span className=\"\">{child.title}</span>\n </Link>\n </SidebarMenuItem>\n );\n })}\n </SidebarMenuSub>\n </CollapsibleContent>\n </SidebarMenuItem>\n </SidebarMenu>\n </Collapsible>\n ) : (\n <SidebarMenu key={`menu-${node.websitePath}`}>\n <SidebarMenuItem key={node.websitePath}>\n <Link\n href={node.websitePath}\n onClick={onNavigateLeaf}\n className={`group/row relative flex items-center gap-2 py-1.5 pl-3 pr-2 rounded-md text-sm transition-colors hover:bg-accent ${isActive\n ? 'bg-accent font-medium text-foreground before:absolute before:inset-y-1 before:left-0 before:w-0.5 before:rounded-full before:bg-foreground'\n : 'text-muted-foreground hover:text-foreground'\n }`}\n >\n <FileTextIcon className=\"h-4 w-4 flex-none\" />\n <span className=\"\">{node.title}</span>\n </Link>\n </SidebarMenuItem>\n </SidebarMenu>\n );\n })}\n </SidebarContent>\n </SidebarProvider>\n );\n}\n","'use client';\n\nimport { useSyncExternalStore } from 'react';\n\n/**\n * Module-level open state for the mobile navigation menu.\n *\n * The mobile menu lives in the docs layout, which Next.js re-renders (and in\n * practice remounts) on every navigation because the layout is keyed by the\n * `[[...slug]]` params. A drawer that keeps its open state in component state\n * is therefore reset to closed as soon as the user navigates, which makes it\n * impossible to drill down through folders (every folder tap navigates and\n * re-roots the sidebar one level deeper).\n *\n * Keeping the open flag in a module-level store survives that remount, so the\n * menu stays open across navigations and only closes when the user reaches a\n * leaf page or explicitly dismisses it.\n */\nlet open = false;\nconst listeners = new Set<() => void>();\n\nfunction emit(): void {\n for (const listener of listeners) listener();\n}\n\nexport function setMobileMenuOpen(value: boolean): void {\n if (open === value) return;\n open = value;\n emit();\n}\n\nfunction subscribe(listener: () => void): () => void {\n listeners.add(listener);\n return () => {\n listeners.delete(listener);\n };\n}\n\nfunction getSnapshot(): boolean {\n return open;\n}\n\nfunction getServerSnapshot(): boolean {\n return false;\n}\n\nexport function useMobileMenuOpen(): [boolean, (value: boolean) => void] {\n const value = useSyncExternalStore(subscribe, getSnapshot, getServerSnapshot);\n return [value, setMobileMenuOpen];\n}\n","'use client';\n\nimport { Menu } from 'lucide-react';\nimport { Button } from '../../ui/button';\nimport {\n Drawer,\n DrawerContent,\n DrawerHeader,\n DrawerTitle,\n DrawerDescription,\n DrawerTrigger,\n} from '../../ui/drawer';\nimport { Parent } from '../sidebar-left/parent';\nimport { Toolbox } from '../sidebar-left/toolbox';\nimport { SidebarNavigation } from '../sidebar-left/sidebar';\nimport { useMobileMenuOpen } from '../../../lib/mobile-menu-store';\nimport type { PageData } from '@next-library/core';\n\ninterface MobileMenuProps {\n pageData?: PageData;\n translations?: {\n openMobileMenu?: string;\n navigation?: string;\n mobileMenuDescription?: string;\n };\n}\n\nexport function MobileMenu({ pageData, translations = {} }: MobileMenuProps) {\n // Hooks must run before any early return.\n const [open, setOpen] = useMobileMenuOpen();\n\n if (!pageData) {\n return null;\n }\n\n const {\n openMobileMenu = 'Open mobile menu',\n navigation = 'Navigation',\n mobileMenuDescription = 'Mobile navigation menu',\n } = translations;\n\n const { sidebar, navigation: nav, computed } = pageData;\n\n return (\n <div className=\"lg:hidden\">\n <Drawer direction=\"right\" open={open} onOpenChange={setOpen}>\n <DrawerTrigger asChild>\n <Button variant=\"ghost\" size=\"icon\" className=\"h-9 w-9\">\n <Menu className=\"h-4 w-4\" />\n <span className=\"sr-only\">{openMobileMenu}</span>\n </Button>\n </DrawerTrigger>\n <DrawerContent className=\"h-full w-[85vw] sm:w-[400px]\">\n <DrawerHeader className=\"sr-only\">\n <DrawerTitle>{navigation}</DrawerTitle>\n <DrawerDescription>{mobileMenuDescription}</DrawerDescription>\n </DrawerHeader>\n <div className=\"flex flex-col gap-4 p-4 overflow-y-auto\">\n <Parent\n parent={sidebar.parent}\n currentPath={`${computed.lang}/docs/${computed.path}`}\n />\n <Toolbox\n currentLevel={sidebar.currentLevel}\n parent={sidebar.parent}\n grandparent={sidebar.grandparent}\n previousPage={nav.previous}\n nextPage={nav.next}\n lang={computed.lang}\n path={computed.path}\n />\n <SidebarNavigation\n nodes={sidebar.items}\n currentPath={`/${computed.lang}/docs/${computed.path}`}\n language={computed.lang}\n onNavigateLeaf={() => setOpen(false)}\n />\n </div>\n </DrawerContent>\n </Drawer>\n </div>\n );\n}\n\n","'use client';\n\nimport React, { useEffect, useState } from 'react';\nimport GitHubButton from 'react-github-btn';\nimport { Skeleton } from '../../ui/skeleton';\n\ninterface GithubStarProps {\n repoUrl?: string;\n}\n\nexport function GithubStar({ repoUrl }: GithubStarProps) {\n const [isVisible, setIsVisible] = useState(false);\n\n useEffect(() => {\n // Hide the button initially to prevent showing \"Star\" before the count loads\n // Show it after a delay to allow GitHub's script to load and render the count\n // This gives enough time for the async GitHub API call to complete\n const timer = setTimeout(() => {\n setIsVisible(true);\n }, 500);\n\n return () => clearTimeout(timer);\n }, []);\n\n if (!repoUrl) {\n return null;\n }\n\n return (\n <div className=\"h-5 relative flex items-center\">\n {!isVisible && (\n <Skeleton className=\"w-16 h-5 rounded-xs\" />\n )}\n <div\n className={isVisible ? 'opacity-100' : 'opacity-0'}\n style={{\n transition: 'opacity 0.3s ease-in',\n pointerEvents: isVisible ? 'auto' : 'none',\n minHeight: '20px', // Prevent layout shift\n }}\n >\n <GitHubButton\n href={repoUrl}\n data-color-scheme=\"no-preference: dark-high-contrast; light: light; dark: dark-high-contrast;\"\n data-icon=\"octicon-star\"\n data-show-count=\"true\"\n aria-label=\"Star on GitHub\"\n >\n Star\n </GitHubButton>\n </div>\n </div>\n );\n}\n\n","import Link from 'next/link';\nimport { GithubIcon } from 'lucide-react';\nimport { buttonVariants } from '../../ui/button';\nimport type { Locale } from '@next-library/core';\n\ninterface GithubLinkProps {\n language?: Locale;\n repoUrl?: string;\n}\n\nexport function GithubLink({ language = 'en', repoUrl }: GithubLinkProps) {\n if (!repoUrl) {\n return null;\n }\n\n // Build URL based on language\n let url = repoUrl;\n if (language !== 'en') {\n // Add language-specific path for non-English locales\n url = `${repoUrl}/tree/main/i18n/${language}`;\n }\n\n return (\n <Link\n href={url}\n className={buttonVariants({ variant: 'ghost', size: 'icon' })}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label=\"View source on GitHub\"\n >\n <GithubIcon />\n </Link>\n );\n}\n\n","'use client';\n\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport { cn } from '../../layout/utils';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Locale, TableOfContentsItem } from '@next-library/core';\n\ninterface TableOfContentsProps {\n toc: TableOfContentsItem[];\n className?: string;\n lang: Locale;\n translations?: {\n tableOfContents?: string;\n };\n}\n\ninterface FlatItem {\n id: string;\n text: string;\n level: number;\n}\n\n/** Depth-first flatten of the TOC tree, keeping nesting level for indentation. */\nfunction flatten(items: TableOfContentsItem[], level = 0, out: FlatItem[] = []): FlatItem[] {\n for (const item of items) {\n out.push({ id: item.id, text: item.text, level });\n if (item.children?.length) flatten(item.children, level + 1, out);\n }\n return out;\n}\n\n/**\n * Scroll-spy Table of Contents with a sliding rail indicator (Fumadocs-style),\n * kept monochrome to match the design system. The \"thumb\" tracks the heading\n * currently in view and slides smoothly as you scroll; the active item is\n * emphasised while the rest stay muted. Presentational only.\n */\nexport function TableOfContents({ toc, className, lang, translations = {} }: TableOfContentsProps) {\n const defaultTranslations = getTranslations(lang);\n const { tableOfContents: tocLabel = defaultTranslations.tableOfContents } = translations;\n\n const items = useMemo(() => flatten(toc), [toc]);\n const ids = useMemo(() => items.map((i) => i.id), [items]);\n\n const navRef = useRef<HTMLDivElement | null>(null);\n const linkRefs = useRef<Map<string, HTMLAnchorElement>>(new Map());\n const [activeId, setActiveId] = useState<string>('');\n const [thumb, setThumb] = useState<{ top: number; height: number } | null>(null);\n\n // Track which heading is currently in view.\n useEffect(() => {\n if (!ids.length) return;\n const els = ids\n .map((id) => document.getElementById(id))\n .filter((el): el is HTMLElement => Boolean(el));\n if (!els.length) return;\n\n const visible = new Set<string>();\n const pick = () => {\n // Prefer the first visible heading in document order.\n let next = ids.find((id) => visible.has(id));\n if (!next) {\n // Otherwise, the last heading scrolled past the top offset.\n let candidate = ids[0];\n for (const el of els) {\n if (el.getBoundingClientRect().top - 96 <= 0) candidate = el.id;\n }\n next = candidate;\n }\n setActiveId((prev) => (prev === next ? prev : (next as string)));\n };\n\n const obs = new IntersectionObserver(\n (entries) => {\n for (const e of entries) {\n if (e.isIntersecting) visible.add(e.target.id);\n else visible.delete(e.target.id);\n }\n pick();\n },\n { rootMargin: '-80px 0px -66% 0px', threshold: [0, 1] },\n );\n els.forEach((el) => obs.observe(el));\n pick();\n return () => obs.disconnect();\n }, [ids]);\n\n // Slide the rail thumb to the active item.\n const measure = useCallback(() => {\n const nav = navRef.current;\n const el = activeId ? linkRefs.current.get(activeId) : undefined;\n if (!nav || !el) {\n setThumb(null);\n return;\n }\n const n = nav.getBoundingClientRect();\n const r = el.getBoundingClientRect();\n setThumb({ top: r.top - n.top, height: r.height });\n }, [activeId]);\n\n useEffect(() => {\n measure();\n window.addEventListener('resize', measure);\n return () => window.removeEventListener('resize', measure);\n }, [measure]);\n\n const handleClick = (e: React.MouseEvent<HTMLAnchorElement>, id: string) => {\n e.preventDefault();\n const element = document.getElementById(id);\n if (!element) return;\n const navbar = document.querySelector('nav') || document.querySelector('[data-navbar]');\n const navbarHeight = navbar instanceof HTMLElement ? navbar.offsetHeight : 80;\n window.scrollTo({ top: element.offsetTop - navbarHeight - 20, behavior: 'smooth' });\n history.replaceState(null, '', `#${id}`);\n };\n\n if (!toc || toc.length === 0) return null;\n\n return (\n <div className={className}>\n <h3 className=\"mb-3 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" className=\"size-3.5\">\n <path d=\"M4 6h10M4 12h16M4 18h12\" />\n </svg>\n {tocLabel}\n </h3>\n <div ref={navRef} className=\"relative\">\n {/* Base rail */}\n <div aria-hidden className=\"absolute left-0 top-0 h-full w-px bg-border\" />\n {/* Sliding active thumb */}\n <div\n aria-hidden\n className=\"absolute left-0 w-0.5 rounded-full bg-foreground transition-all duration-300 ease-out\"\n style={{\n top: thumb ? thumb.top : 0,\n height: thumb ? thumb.height : 0,\n opacity: thumb ? 1 : 0,\n }}\n />\n <ul className=\"list-none\">\n {items.map((item) => {\n const isActive = item.id === activeId;\n return (\n <li key={item.id}>\n <a\n ref={(node) => {\n if (node) linkRefs.current.set(item.id, node);\n else linkRefs.current.delete(item.id);\n }}\n href={`#${item.id}`}\n onClick={(e) => handleClick(e, item.id)}\n style={{ paddingLeft: `${12 + item.level * 14}px` }}\n className={cn(\n 'block py-1.5 pr-2 text-sm leading-snug transition-colors',\n isActive ? 'font-medium text-foreground' : 'text-muted-foreground hover:text-foreground',\n )}\n >\n {item.text}\n </a>\n </li>\n );\n })}\n </ul>\n </div>\n </div>\n );\n}\n","'use client';\n\nimport * as React from 'react';\nimport * as AvatarPrimitive from '@radix-ui/react-avatar';\nimport { cn } from '../layout/utils';\n\nfunction Avatar({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Root>) {\n return (\n <AvatarPrimitive.Root\n data-slot=\"avatar\"\n className={cn('relative flex size-8 shrink-0 overflow-hidden rounded-full', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarImage({ className, ...props }: React.ComponentProps<typeof AvatarPrimitive.Image>) {\n return (\n <AvatarPrimitive.Image\n data-slot=\"avatar-image\"\n className={cn('aspect-square size-full object-cover', className)}\n {...props}\n />\n );\n}\n\nfunction AvatarFallback({\n className,\n ...props\n}: React.ComponentProps<typeof AvatarPrimitive.Fallback>) {\n return (\n <AvatarPrimitive.Fallback\n data-slot=\"avatar-fallback\"\n className={cn('bg-muted flex size-full items-center justify-center rounded-full', className)}\n {...props}\n />\n );\n}\n\nexport { Avatar, AvatarImage, AvatarFallback };\n\n","import React from 'react';\nimport { Avatar, AvatarFallback, AvatarImage } from '../../ui/avatar';\nimport Link from 'next/link';\nimport { getTranslations } from '../../../lib/translations';\nimport type { Contributor } from '@next-library/core';\nimport type { Locale } from '@next-library/core';\n\ninterface GithubContributorsProps {\n contributors: Contributor[];\n githubPath?: string;\n locale: Locale;\n translations?: {\n contributors?: string;\n };\n}\n\n/**\n * Optimize GitHub avatar URL by appending size parameter\n * GitHub supports &s=64 for 64x64 pixel images (perfect for avatars)\n * Documentation: https://docs.github.com/en/rest/users/users#get-a-user\n */\nexport function optimizeAvatarUrl(url: string): string {\n if (url && url.includes('avatars.githubusercontent.com')) {\n // Check if already has size parameter\n if (!url.includes('&s=') && !url.includes('?s=')) {\n return `${url}&s=64`;\n }\n }\n return url;\n}\n\nexport function GithubContributors({\n contributors,\n githubPath,\n locale,\n translations = {},\n}: GithubContributorsProps) {\n const defaultTranslations = getTranslations(locale);\n const { contributors: contributorsLabel = defaultTranslations.contributors } = translations;\n\n // Don't render if no contributors\n if (contributors.length === 0) {\n return null;\n }\n\n return (\n <div className=\"w-full\">\n <h3 className=\"mb-3 flex items-center gap-2 text-xs font-medium uppercase tracking-wide text-muted-foreground\">\n <svg viewBox=\"0 0 24 24\" fill=\"none\" stroke=\"currentColor\" strokeWidth=\"2\" strokeLinecap=\"round\" strokeLinejoin=\"round\" className=\"size-3.5\">\n <path d=\"M16 19a4 4 0 0 0-8 0M12 11a3 3 0 1 0 0-6 3 3 0 0 0 0 6M20 19a3.5 3.5 0 0 0-5-3.2M18.5 10.3a2.6 2.6 0 0 0 0-4.6\" />\n </svg>\n {contributorsLabel}\n </h3>\n <div className=\"isolate flex -space-x-2 overflow-hidden pl-1\">\n {contributors.slice(0, 8).map((contributor, index) => (\n <Link\n key={contributor.username}\n href={contributor.url}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={`relative inline-block z-${90 - index * 10}`}\n >\n <Avatar className=\"w-10 h-10\">\n <AvatarImage\n src={optimizeAvatarUrl(contributor.image)}\n alt={contributor.username}\n className=\"object-cover\"\n />\n <AvatarFallback>{contributor.username[0]}</AvatarFallback>\n </Avatar>\n </Link>\n ))}\n {contributors.length > 8 && (\n <Link\n key=\"8+\"\n href={`https://github.com/${githubPath || ''}`}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n className={`relative inline-block z-0`}\n >\n <Avatar className=\"w-10 h-10\">\n <AvatarImage color=\"white\" />\n <AvatarFallback>\n <span className=\"font-bold\">+{contributors.length - 8}</span>\n </AvatarFallback>\n </Avatar>\n </Link>\n )}\n </div>\n </div>\n );\n}\n","import * as React from 'react';\nimport { Slot } from '@radix-ui/react-slot';\nimport { ChevronRight, MoreHorizontal } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction Breadcrumb({ ...props }: React.ComponentProps<'nav'>) {\n return <nav aria-label=\"breadcrumb\" data-slot=\"breadcrumb\" {...props} />;\n}\n\nfunction BreadcrumbList({ className, ...props }: React.ComponentProps<'ol'>) {\n return (\n <ol\n data-slot=\"breadcrumb-list\"\n className={cn(\n 'text-muted-foreground flex items-center gap-1.5 text-sm sm:gap-2.5',\n className\n )}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbItem({ className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-item\"\n className={cn('inline-flex items-center gap-1.5', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbLink({\n asChild,\n className,\n ...props\n}: React.ComponentProps<'a'> & {\n asChild?: boolean;\n}) {\n const Comp = asChild ? Slot : 'a';\n\n return (\n <Comp\n data-slot=\"breadcrumb-link\"\n className={cn('hover:text-foreground transition-colors', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbPage({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-page\"\n role=\"link\"\n aria-disabled=\"true\"\n aria-current=\"page\"\n className={cn('text-foreground font-normal', className)}\n {...props}\n />\n );\n}\n\nfunction BreadcrumbSeparator({ children, className, ...props }: React.ComponentProps<'li'>) {\n return (\n <li\n data-slot=\"breadcrumb-separator\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('[&>svg]:size-3.5', className)}\n {...props}\n >\n {children ?? <ChevronRight />}\n </li>\n );\n}\n\nfunction BreadcrumbEllipsis({ className, ...props }: React.ComponentProps<'span'>) {\n return (\n <span\n data-slot=\"breadcrumb-ellipsis\"\n role=\"presentation\"\n aria-hidden=\"true\"\n className={cn('flex size-9 items-center justify-center', className)}\n {...props}\n >\n <MoreHorizontal className=\"size-4\" />\n <span className=\"sr-only\">More</span>\n </span>\n );\n}\n\nexport {\n Breadcrumb,\n BreadcrumbList,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbPage,\n BreadcrumbSeparator,\n BreadcrumbEllipsis,\n};\n\n","'use client';\n\nimport * as React from 'react';\n\nexport function useMediaQuery(query: string) {\n const [value, setValue] = React.useState(false);\n\n React.useEffect(() => {\n function onChange(event: MediaQueryListEvent) {\n setValue(event.matches);\n }\n\n const result = matchMedia(query);\n result.addEventListener('change', onChange);\n setValue(result.matches);\n\n return () => result.removeEventListener('change', onChange);\n }, [query]);\n\n return value;\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport { useCallback } from 'react';\nimport { useMediaQuery } from '../../hooks/use-media-query';\nimport { BreadcrumbEllipsis, BreadcrumbItem, BreadcrumbLink } from './breadcrumb';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from './dropdown-menu';\nimport {\n Drawer,\n DrawerContent,\n DrawerFooter,\n DrawerClose,\n DrawerTrigger,\n} from './drawer';\nimport { Button } from './button';\nimport Link from 'next/link';\n\nexport interface BreadcrumbItemType {\n href?: string;\n label: string;\n isCurrentPage?: boolean;\n}\n\nexport interface BreadcrumbToggleProps {\n overflowItems: BreadcrumbItemType[];\n className?: string;\n}\n\nexport function BreadcrumbToggle({ overflowItems, className }: BreadcrumbToggleProps) {\n const [open, setOpen] = React.useState(false);\n const isDesktop = useMediaQuery('(min-width: 768px)');\n\n const handleOverflowItemClick = useCallback(() => {\n setOpen(false);\n }, []);\n\n if (overflowItems.length === 0) {\n return null;\n }\n\n return (\n <BreadcrumbItem className={className}>\n {isDesktop ? (\n <DropdownMenu open={open} onOpenChange={setOpen}>\n <DropdownMenuTrigger\n className=\"flex items-center gap-1\"\n aria-label=\"Show more breadcrumb items\"\n >\n <BreadcrumbEllipsis className=\"size-4\" />\n <span className=\"sr-only\">Toggle menu</span>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"start\" className=\"bg-white dark:bg-black\">\n {overflowItems.map((item, index) => (\n <DropdownMenuItem key={index} onClick={handleOverflowItemClick}>\n <BreadcrumbLink asChild>\n <Link\n href={item.href || '#'}\n className=\"w-full\"\n aria-label={`Navigate to ${item.label}`}\n >\n {item.label}\n </Link>\n </BreadcrumbLink>\n </DropdownMenuItem>\n ))}\n </DropdownMenuContent>\n </DropdownMenu>\n ) : (\n <Drawer open={open} onOpenChange={setOpen}>\n <DrawerTrigger aria-label=\"Show more breadcrumb items\">\n <BreadcrumbEllipsis className=\"h-4 w-4\" />\n </DrawerTrigger>\n <DrawerContent>\n <div className=\"grid gap-1 p-4 overflow-y-auto\">\n {overflowItems.map((item, index) => (\n <Link\n key={index}\n href={item.href || '#'}\n className=\"py-2 px-3 text-sm rounded-md hover:bg-muted transition-colors\"\n onClick={handleOverflowItemClick}\n aria-label={`Navigate to ${item.label}`}\n >\n {item.label}\n </Link>\n ))}\n </div>\n <DrawerFooter className=\"pt-4\">\n <DrawerClose asChild>\n <Button variant=\"outline\">Close</Button>\n </DrawerClose>\n </DrawerFooter>\n </DrawerContent>\n </Drawer>\n )}\n </BreadcrumbItem>\n );\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport {\n Breadcrumb,\n BreadcrumbItem,\n BreadcrumbLink,\n BreadcrumbList,\n BreadcrumbSeparator,\n} from '../../ui/breadcrumb';\nimport { BreadcrumbToggle } from '../../ui/breadcrumb-toggle';\nimport { getTranslations } from '../../../lib/translations';\nimport type { PageData, Locale } from '@next-library/core';\nimport { Home } from 'lucide-react';\nimport Link from 'next/link';\n\nexport interface BreadcrumbsProps {\n data: PageData;\n isLoading?: boolean;\n className?: string;\n locale?: Locale;\n}\n\nexport function Breadcrumbs({ data, isLoading = false, className, locale = 'en' }: BreadcrumbsProps) {\n const { navigation } = data;\n const breadcrumbs = navigation.breadcrumbs;\n const translations = getTranslations(locale);\n\n if (breadcrumbs.length === 1) {\n return null;\n }\n\n if (isLoading) {\n return (\n <Breadcrumb className={className} id=\"breadcrumbs\">\n <BreadcrumbList>\n <BreadcrumbItem>\n <div className=\"h-4 w-4 bg-muted animate-pulse rounded\" />\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n <BreadcrumbItem>\n <div className=\"h-4 w-20 bg-muted animate-pulse rounded\" />\n </BreadcrumbItem>\n </BreadcrumbList>\n </Breadcrumb>\n );\n }\n\n // Handle responsive overflow\n const ITEMS_TO_DISPLAY = 3;\n const hasOverflow = breadcrumbs.length > ITEMS_TO_DISPLAY;\n // Overflow items are everything between Home (index 0) and the last 2 items\n const overflowItems = hasOverflow ? breadcrumbs.slice(1, -2) : [];\n // Visible items are the last 2 items (excluding Home which is shown separately)\n const visibleItems = hasOverflow ? breadcrumbs.slice(-2) : breadcrumbs.slice(1);\n\n return (\n <Breadcrumb className={className} id=\"breadcrumbs\">\n <BreadcrumbList>\n {/* Home Icon - Always visible */}\n <BreadcrumbItem>\n <BreadcrumbLink asChild>\n <Link href={breadcrumbs[0]?.href || '#'} aria-label={translations.goToHomePage}>\n <Home className=\"h-4 w-4\" />\n </Link>\n </BreadcrumbLink>\n </BreadcrumbItem>\n <BreadcrumbSeparator />\n\n {/* Overflow Menu */}\n {hasOverflow && (\n <>\n <BreadcrumbToggle overflowItems={overflowItems} />\n <BreadcrumbSeparator />\n </>\n )}\n\n {/* Visible Breadcrumb Items */}\n {visibleItems.map((item, index) => {\n const isLast = index === visibleItems.length - 1;\n return (\n <React.Fragment key={index}>\n <BreadcrumbItem>\n <BreadcrumbLink asChild className={!isLast ? 'whitespace-nowrap' : 'line-clamp-1'}>\n <Link href={item.href || '#'} aria-label={`Navigate to ${item.label}`}>\n {item.label}\n </Link>\n </BreadcrumbLink>\n </BreadcrumbItem>\n {index < visibleItems.length - 1 && <BreadcrumbSeparator />}\n </React.Fragment>\n );\n })}\n </BreadcrumbList>\n </Breadcrumb>\n );\n}\n\n","import * as React from 'react';\nimport { cn } from '../layout/utils';\n\nconst Card = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div\n ref={ref}\n className={cn('rounded-lg border bg-card text-card-foreground shadow-sm', className)}\n {...props}\n />\n )\n);\nCard.displayName = 'Card';\n\nconst CardHeader = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex flex-col space-y-1.5 p-6', className)} {...props} />\n )\n);\nCardHeader.displayName = 'CardHeader';\n\nconst CardTitle = React.forwardRef<HTMLParagraphElement, React.HTMLAttributes<HTMLHeadingElement>>(\n ({ className, ...props }, ref) => (\n <h3\n ref={ref}\n className={cn('text-2xl font-semibold leading-none tracking-tight', className)}\n {...props}\n />\n )\n);\nCardTitle.displayName = 'CardTitle';\n\nconst CardDescription = React.forwardRef<\n HTMLParagraphElement,\n React.HTMLAttributes<HTMLParagraphElement>\n>(({ className, ...props }, ref) => (\n <p ref={ref} className={cn('text-sm text-muted-foreground', className)} {...props} />\n));\nCardDescription.displayName = 'CardDescription';\n\nconst CardContent = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('p-6 pt-0', className)} {...props} />\n )\n);\nCardContent.displayName = 'CardContent';\n\nconst CardFooter = React.forwardRef<HTMLDivElement, React.HTMLAttributes<HTMLDivElement>>(\n ({ className, ...props }, ref) => (\n <div ref={ref} className={cn('flex items-center p-6 pt-0', className)} {...props} />\n )\n);\nCardFooter.displayName = 'CardFooter';\n\nexport { Card, CardHeader, CardFooter, CardTitle, CardDescription, CardContent };\n\n","import React from 'react';\nimport Link from 'next/link';\nimport { Card, CardContent, CardDescription, CardHeader, CardTitle } from '../../ui/card';\nimport { ExternalLinkIcon } from 'lucide-react';\nimport type { SidebarNode } from '@next-library/core';\n\ninterface FolderCardsProps {\n nodes: SidebarNode[];\n}\n\nexport function FolderCards({ nodes }: FolderCardsProps) {\n return (\n <div className=\"grid grid-cols-1 md:grid-cols-2 gap-4\">\n {nodes.map((node) => (\n <Card\n key={node.websitePath}\n className=\"hover:bg-accent transition-colors border relative group\"\n >\n <Link href={node.websitePath || ''} className=\"block h-full\">\n <CardHeader className=\"pb-3\">\n <div className=\"flex items-start justify-between gap-2\">\n <CardTitle className=\"text-base font-medium leading-tight pr-6\">\n {node.title}\n </CardTitle>\n <ExternalLinkIcon className=\"size-4 text-muted-foreground shrink-0 absolute top-4 right-4\" />\n </div>\n </CardHeader>\n {(() => {\n const description = node.frontmatter?.description;\n return description && typeof description === 'string' ? (\n <CardContent className=\"pt-0\">\n <CardDescription className=\"text-sm text-muted-foreground\">\n {description}\n </CardDescription>\n </CardContent>\n ) : null;\n })()}\n </Link>\n </Card>\n ))}\n </div>\n );\n}\n\n","'use client';\n\nimport React, { useRef, useState } from 'react';\nimport Link from 'next/link';\nimport ReactMarkdown from 'react-markdown';\nimport remarkGfm from 'remark-gfm';\nimport remarkLint from 'remark-lint';\nimport remarkFrontmatter from 'remark-frontmatter';\nimport rehypeSanitize from 'rehype-sanitize';\nimport rehypeSlug from 'rehype-slug';\nimport rehypeCallouts from 'rehype-callouts';\nimport rehypeExternalLinks from 'rehype-external-links';\nimport rehypeHighlight from 'rehype-highlight';\nimport rehypeAutolinkHeadings from 'rehype-autolink-headings';\nimport { Check, Copy } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\ninterface MarkdownRendererProps {\n markdown: string;\n className?: string;\n /**\n * Directory of the current page within the docs tree, locale-agnostic and\n * without a trailing filename (e.g. `offensive/.../api` for an index page, or\n * `offensive/.../api/graphql` for a leaf page). Relative `.md` links in the\n * markdown are resolved against this so they become working site routes.\n */\n baseDir?: string;\n /** Current locale, used to build the `/<locale>/docs/...` route prefix. */\n locale?: string;\n}\n\n/**\n * Resolve a relative markdown link (e.g. `../database/index.md`) to a working\n * site route (`/<locale>/docs/offensive/.../database`). Returns null for links\n * that must be left untouched: external, protocol, mailto, anchor-only,\n * already-absolute, or non-`.md` targets.\n */\nexport function resolveInternalDocHref(\n href: string | undefined,\n baseDir: string | undefined,\n locale: string | undefined,\n): string | null {\n if (!href || baseDir === undefined || !locale) return null;\n if (/^[a-z][a-z0-9+.-]*:/i.test(href) || href.startsWith('//') || href.startsWith('#') || href.startsWith('/')) {\n return null;\n }\n const marker = href.search(/[#?]/);\n const pathPart = marker === -1 ? href : href.slice(0, marker);\n const suffix = marker === -1 ? '' : href.slice(marker);\n if (!/\\.md$/i.test(pathPart)) return null;\n\n const segments = baseDir.split('/').filter(Boolean);\n for (const raw of pathPart.split('/')) {\n if (raw === '' || raw === '.') continue;\n if (raw === '..') {\n if (segments.length) segments.pop();\n continue;\n }\n segments.push(raw);\n }\n const resolved = segments.join('/').replace(/\\/index\\.md$/i, '').replace(/\\.md$/i, '');\n return resolved ? `/${locale}/docs/${resolved}${suffix}` : `/${locale}/docs${suffix}`;\n}\n\n/** Fenced code block: a bordered card with a language label and a copy button. */\nfunction CodeBlock({ children, ...props }: React.HTMLAttributes<HTMLPreElement>) {\n const preRef = useRef<HTMLPreElement | null>(null);\n const [copied, setCopied] = useState(false);\n\n const codeChild = React.Children.toArray(children).find(\n (c): c is React.ReactElement<{ className?: string }> =>\n React.isValidElement(c) && typeof (c.props as { className?: string }).className === 'string',\n );\n const className = codeChild?.props.className ?? '';\n const match = className.match(/language-([\\w-]+)/);\n const lang = match ? match[1] : 'code';\n\n const copy = async () => {\n const text = preRef.current?.innerText ?? '';\n try {\n await navigator.clipboard.writeText(text);\n setCopied(true);\n setTimeout(() => setCopied(false), 1500);\n } catch {\n /* clipboard unavailable */\n }\n };\n\n return (\n <div className=\"cl-code not-prose\">\n <div className=\"cl-code-bar\">\n <span className=\"cl-code-lang\">{lang}</span>\n <button type=\"button\" onClick={copy} className=\"cl-code-copy\" aria-label={copied ? 'Copied' : 'Copy code'}>\n {copied ? <Check className=\"size-3.5\" /> : <Copy className=\"size-3.5\" />}\n </button>\n </div>\n <pre ref={preRef} {...props}>\n {children}\n </pre>\n </div>\n );\n}\n\n/** Anchor that rewrites relative `.md` links to working site routes. */\nfunction makeAnchor(baseDir: string | undefined, locale: string | undefined) {\n return function Anchor({\n href,\n children,\n ...props\n }: React.AnchorHTMLAttributes<HTMLAnchorElement>) {\n const internal = resolveInternalDocHref(href, baseDir, locale);\n if (internal) {\n return <Link href={internal}>{children}</Link>;\n }\n return (\n <a href={href} {...props}>\n {children}\n </a>\n );\n };\n}\n\nfunction makeComponents(baseDir: string | undefined, locale: string | undefined) {\n return {\n h1: () => null,\n pre: CodeBlock as unknown as React.ComponentType,\n a: makeAnchor(baseDir, locale),\n };\n}\n\nconst remarkPlugins = [remarkLint as any, remarkGfm, remarkFrontmatter];\nconst rehypePlugins = [\n rehypeSanitize,\n rehypeSlug,\n [\n rehypeAutolinkHeadings,\n {\n behavior: 'append',\n properties: { className: ['heading-anchor'], 'aria-label': 'Link to this section' },\n content: { type: 'text', value: '#' },\n },\n ] as any,\n rehypeCallouts,\n rehypeExternalLinks,\n rehypeHighlight,\n];\n\n/** Renders a markdown fragment (no outer <article>). */\nfunction Markdown({\n markdown,\n baseDir,\n locale,\n}: {\n markdown: string;\n baseDir?: string;\n locale?: string;\n}) {\n return (\n <ReactMarkdown\n remarkPlugins={remarkPlugins}\n rehypePlugins={rehypePlugins}\n components={makeComponents(baseDir, locale)}\n >\n {markdown}\n </ReactMarkdown>\n );\n}\n\ninterface Tab { title: string; content: string }\n\n/** A tabbed content group. Each panel is itself rendered as markdown. */\nfunction Tabs({ tabs, baseDir, locale }: { tabs: Tab[]; baseDir?: string; locale?: string }) {\n const [active, setActive] = useState(0);\n return (\n <div className=\"cl-tabs not-prose\">\n <div className=\"cl-tabs-list\" role=\"tablist\">\n {tabs.map((t, i) => (\n <button\n key={i}\n type=\"button\"\n role=\"tab\"\n aria-selected={i === active}\n className={cn('cl-tab-btn', i === active && 'is-active')}\n onClick={() => setActive(i)}\n >\n {t.title}\n </button>\n ))}\n </div>\n <div className=\"cl-tabs-panel prose prose-md max-w-none dark:prose-invert\">\n <Markdown markdown={tabs[active]?.content ?? ''} baseDir={baseDir} locale={locale} />\n </div>\n </div>\n );\n}\n\ntype Segment = { type: 'md'; content: string } | { type: 'tabs'; tabs: Tab[] };\n\n/**\n * Split markdown into plain segments and tab groups, using an HTML-comment\n * convention that stays valid CommonMark:\n *\n * <!-- tabs -->\n * <!-- tab: UNIX-like -->\n * ```bash\n * ...\n * ```\n * <!-- tab: Live Windows -->\n * ...\n * <!-- /tabs -->\n */\nfunction parseSegments(md: string): Segment[] {\n const re = /<!--\\s*tabs\\s*-->([\\s\\S]*?)<!--\\s*\\/tabs\\s*-->/g;\n const segments: Segment[] = [];\n let last = 0;\n let m: RegExpExecArray | null;\n while ((m = re.exec(md))) {\n if (m.index > last) segments.push({ type: 'md', content: md.slice(last, m.index) });\n segments.push({ type: 'tabs', tabs: parseTabs(m[1]) });\n last = re.lastIndex;\n }\n if (last < md.length) segments.push({ type: 'md', content: md.slice(last) });\n return segments;\n}\n\nfunction parseTabs(block: string): Tab[] {\n const parts = block.split(/<!--\\s*tab:\\s*(.*?)\\s*-->/g);\n const tabs: Tab[] = [];\n for (let i = 1; i < parts.length; i += 2) {\n tabs.push({ title: (parts[i] || `Tab ${(i + 1) / 2}`).trim(), content: parts[i + 1] ?? '' });\n }\n return tabs.length ? tabs : [{ title: 'Tab', content: block }];\n}\n\nexport function MarkdownRenderer({ markdown, className = '', baseDir, locale }: MarkdownRendererProps) {\n const segments = markdown.includes('<!-- tabs')\n ? parseSegments(markdown)\n : [{ type: 'md', content: markdown } as Segment];\n\n return (\n <article className={`cl-content-in prose prose-md max-w-none dark:prose-invert ${className}`}>\n {segments.map((s, i) =>\n s.type === 'tabs' ? (\n <Tabs key={i} tabs={s.tabs} baseDir={baseDir} locale={locale} />\n ) : (\n <Markdown key={i} markdown={s.content} baseDir={baseDir} locale={locale} />\n ),\n )}\n </article>\n );\n}\n","'use client';\n\nimport { useEffect, useState } from 'react';\nimport { CopyIcon, ChevronDownIcon, ExternalLinkIcon } from 'lucide-react';\nimport { Button } from '../ui/button';\nimport {\n DropdownMenu,\n DropdownMenuContent,\n DropdownMenuItem,\n DropdownMenuTrigger,\n} from '../ui/dropdown-menu';\nimport { cn } from '../layout/utils';\nimport { getTranslations } from '../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\n// ChatGPT Icon Component\nfunction ChatGPTIcon({ className }: { className?: string }) {\n return (\n <svg\n viewBox=\"0 0 20 20\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M11.2475 18.25C10.6975 18.25 10.175 18.1455 9.67999 17.9365C9.18499 17.7275 8.74499 17.436 8.35999 17.062C7.94199 17.205 7.50749 17.2765 7.05649 17.2765C6.31949 17.2765 5.63749 17.095 5.01049 16.732C4.38349 16.369 3.87749 15.874 3.49249 15.247C3.11849 14.62 2.93149 13.9215 2.93149 13.1515C2.93149 12.8325 2.97549 12.486 3.06349 12.112C2.62349 11.705 2.28249 11.2375 2.04049 10.7095C1.79849 10.1705 1.67749 9.6095 1.67749 9.0265C1.67749 8.4325 1.80399 7.8605 2.05699 7.3105C2.30999 6.7605 2.66199 6.2875 3.11299 5.8915C3.57499 5.4845 4.10849 5.204 4.71349 5.05C4.83449 4.423 5.08749 3.862 5.47249 3.367C5.86849 2.861 6.35249 2.465 6.92449 2.179C7.49649 1.893 8.10699 1.75 8.75599 1.75C9.30599 1.75 9.82849 1.8545 10.3235 2.0635C10.8185 2.2725 11.2585 2.564 11.6435 2.938C12.0615 2.795 12.496 2.7235 12.947 2.7235C13.684 2.7235 14.366 2.905 14.993 3.268C15.62 3.631 16.1205 4.126 16.4945 4.753C16.8795 5.38 17.072 6.0785 17.072 6.8485C17.072 7.1675 17.028 7.514 16.94 7.888C17.38 8.295 17.721 8.768 17.963 9.307C18.205 9.835 18.326 10.3905 18.326 10.9735C18.326 11.5675 18.1995 12.1395 17.9465 12.6895C17.6935 13.2395 17.336 13.718 16.874 14.125C16.423 14.521 15.895 14.796 15.29 14.95C15.169 15.577 14.9105 16.138 14.5145 16.633C14.1295 17.139 13.651 17.535 13.079 17.821C12.507 18.107 11.8965 18.25 11.2475 18.25ZM7.17199 16.1875C7.72199 16.1875 8.20049 16.072 8.60749 15.841L11.7095 14.059C11.8195 13.982 11.8745 13.8775 11.8745 13.7455V12.3265L7.88149 14.62C7.63949 14.763 7.39749 14.763 7.15549 14.62L4.03699 12.8215C4.03699 12.8545 4.03149 12.893 4.02049 12.937C4.02049 12.981 4.02049 13.047 4.02049 13.135C4.02049 13.696 4.15249 14.213 4.41649 14.686C4.69149 15.148 5.07099 15.511 5.55499 15.775C6.03899 16.05 6.57799 16.1875 7.17199 16.1875ZM7.33699 13.498C7.40299 13.531 7.46349 13.5475 7.51849 13.5475C7.57349 13.5475 7.62849 13.531 7.68349 13.498L8.92099 12.7885L4.94449 10.4785C4.70249 10.3355 4.58149 10.121 4.58149 9.835V6.2545C4.03149 6.4965 3.59149 6.8705 3.26149 7.3765C2.93149 7.8715 2.76649 8.4215 2.76649 9.0265C2.76649 9.5655 2.90399 10.0825 3.17899 10.5775C3.45399 11.0725 3.81149 11.4465 4.25149 11.6995L7.33699 13.498ZM11.2475 17.161C11.8305 17.161 12.3585 17.029 12.8315 16.765C13.3045 16.501 13.6785 16.138 13.9535 15.676C14.2285 15.214 14.366 14.697 14.366 14.125V10.561C14.366 10.429 14.311 10.33 14.201 10.264L12.947 9.538V14.1415C12.947 14.4275 12.826 14.642 12.584 14.785L9.46549 16.5835C10.0045 16.9685 10.5985 17.161 11.2475 17.161ZM11.8745 11.122V8.878L10.01 7.822L8.12899 8.878V11.122L10.01 12.178L11.8745 11.122ZM7.05649 5.8585C7.05649 5.5725 7.17749 5.358 7.41949 5.215L10.538 3.4165C9.99899 3.0315 9.40499 2.839 8.75599 2.839C8.17299 2.839 7.64499 2.971 7.17199 3.235C6.69899 3.499 6.32499 3.862 6.04999 4.324C5.78599 4.786 5.65399 5.303 5.65399 5.875V9.4225C5.65399 9.5545 5.70899 9.659 5.81899 9.736L7.05649 10.462V5.8585ZM15.4385 13.7455C15.9885 13.5035 16.423 13.1295 16.742 12.6235C17.072 12.1175 17.237 11.5675 17.237 10.9735C17.237 10.4345 17.0995 9.9175 16.8245 9.4225C16.5495 8.9275 16.192 8.5535 15.752 8.3005L12.6665 6.5185C12.6005 6.4745 12.54 6.458 12.485 6.469C12.43 6.469 12.375 6.4855 12.32 6.5185L11.0825 7.2115L15.0755 9.538C15.1965 9.604 15.2845 9.692 15.3395 9.802C15.4055 9.901 15.4385 10.022 15.4385 10.165V13.7455ZM12.122 5.3635C12.364 5.2095 12.606 5.2095 12.848 5.3635L15.983 7.195C15.983 7.118 15.983 7.019 15.983 6.898C15.983 6.37 15.851 5.8695 15.587 5.3965C15.334 4.9125 14.9655 4.5275 14.4815 4.2415C14.0085 3.9555 13.4585 3.8125 12.8315 3.8125C12.2815 3.8125 11.803 3.928 11.396 4.159L8.29399 5.941C8.18399 6.018 8.12899 6.1225 8.12899 6.2545V7.6735L12.122 5.3635Z\" />\n </svg>\n );\n}\n\n// Claude Icon Component\nfunction ClaudeIcon({ className }: { className?: string }) {\n return (\n <svg\n viewBox=\"0 0 100 101\"\n fill=\"currentColor\"\n xmlns=\"http://www.w3.org/2000/svg\"\n className={className}\n >\n <path d=\"M96.0000 40.0000 L99.5002 42.0000 L99.5002 43.5000 L98.5000 47.0000 L56.0000 57.0000 L52.0040 47.0708 L96.0000 40.0000 M96.0000 40.0000 \" />\n <path d=\"M80.1032 10.5903 L84.9968 11.6171 L86.2958 13.2179 L87.5346 17.0540 L87.0213 19.5007 L58.5000 58.5000 L49.0000 49.0000 L75.3008 14.4873 L80.1032 10.5903 M80.1032 10.5903 \" />\n <path d=\"M55.5002 4.5000 L58.5005 2.5000 L61.0002 3.5000 L63.5002 7.0000 L56.6511 48.1620 L52.0005 45.0000 L50.0005 39.5000 L53.5003 8.5000 L55.5002 4.5000 M55.5002 4.5000 \" />\n <path d=\"M23.4253 5.1588 L26.5075 1.2217 L28.5175 0.7632 L32.5063 1.3458 L34.4748 2.8868 L48.8202 34.6902 L54.0089 49.8008 L47.9378 53.1760 L24.8009 11.1886 L23.4253 5.1588 M23.4253 5.1588 \" />\n <path d=\"M8.4990 27.0019 L7.4999 23.0001 L10.5003 19.5001 L14.0003 20.0001 L15.0003 20.0001 L36.0000 35.5000 L42.5000 40.5000 L51.5000 47.5000 L46.5000 56.0000 L42.0002 52.5000 L39.0001 49.5000 L10.0000 29.0001 L8.4990 27.0019 M8.4990 27.0019 \" />\n <path d=\"M2.5003 53.0000 L0.2370 50.5000 L0.2373 48.2759 L2.5003 47.5000 L28.0000 49.0000 L53.0000 51.0000 L52.1885 55.9782 L4.5000 53.5000 L2.5003 53.0000 M2.5003 53.0000 \" />\n <path d=\"M17.5002 79.0264 L12.5005 79.0264 L10.5124 76.7369 L10.5124 74.0000 L19.0005 68.0000 L53.5082 46.0337 L57.0005 52.0000 L17.5002 79.0264 M17.5002 79.0264 \" />\n <path d=\"M27.0004 92.9999 L25.0003 93.4999 L22.0003 91.9999 L22.5004 89.4999 L52.0003 50.5000 L56.0004 55.9999 L34.0003 85.0000 L27.0004 92.9999 M27.0004 92.9999 \" />\n <path d=\"M51.9998 98.0000 L50.5002 100.0000 L47.5002 101.0000 L45.0001 99.0000 L43.5000 96.0000 L51.0003 55.4999 L55.5001 55.9999 L51.9998 98.0000 M51.9998 98.0000 \" />\n <path d=\"M77.5007 86.9997 L77.5007 90.9997 L77.0006 92.4997 L75.0004 93.4997 L71.5006 93.0339 L47.4669 57.2642 L56.9998 50.0002 L64.9994 64.5004 L65.7507 69.7497 L77.5007 86.9997 M77.5007 86.9997 \" />\n <path d=\"M89.0008 80.9991 L89.5008 83.4991 L88.0008 85.4991 L86.5007 84.9991 L78.0007 78.9991 L65.0007 67.4991 L55.0007 60.4991 L58.0000 51.0000 L62.9999 54.0001 L66.0007 59.4991 L89.0008 80.9991 M89.0008 80.9991 \" />\n <path d=\"M82.5003 55.5000 L95.0003 56.5000 L98.0003 58.5000 L100.0000 61.5000 L100.0000 63.6587 L94.5003 66.0000 L66.5005 59.0000 L55.0003 58.5000 L58.0000 48.0000 L66.0005 54.0000 L82.5003 55.5000 M82.5003 55.5000 \" />\n </svg>\n );\n}\n\ninterface CopyPageButtonTranslations {\n copyPage?: string;\n copied?: string;\n openInChatGPT?: string;\n openInClaude?: string;\n askAboutThisPage?: string;\n copyPageDescription?: string;\n askQuestionsDescription?: string;\n chatGPTPrefix?: string;\n}\n\ninterface CopyPageButtonProps {\n sourceCode: string;\n pageUrl?: string;\n websiteTitle?: string;\n className?: string;\n locale?: Locale;\n translations?: CopyPageButtonTranslations;\n}\n\nexport function CopyPageButton({\n sourceCode,\n pageUrl,\n websiteTitle,\n className,\n locale = 'en',\n translations = {},\n}: CopyPageButtonProps) {\n const [isCopied, setCopied] = useState(false);\n\n // Get default translations for locale, allow overrides via props\n const defaultTranslations = getTranslations(locale);\n const {\n copyPage = defaultTranslations.copyPage,\n copied = defaultTranslations.copied,\n openInChatGPT = defaultTranslations.openInChatGPT,\n openInClaude = defaultTranslations.openInClaude,\n askAboutThisPage: _askAboutThisPage = defaultTranslations.askAboutThisPage,\n copyPageDescription = defaultTranslations.copyPageDescription,\n askQuestionsDescription = defaultTranslations.askQuestionsDescription,\n chatGPTPrefix = defaultTranslations.chatGPTPrefix,\n } = translations;\n\n useEffect(() => {\n if (!isCopied) return;\n const timerId = setTimeout(() => {\n setCopied(false);\n }, 1000);\n\n return () => {\n clearTimeout(timerId);\n };\n }, [isCopied]);\n\n function handleCopy() {\n navigator.clipboard.writeText(sourceCode);\n setCopied(true);\n setTimeout(() => setCopied(false), 2000);\n }\n\n function handleOpenInChatGPT() {\n if (!pageUrl) return;\n \n // Ensure pageUrl is a full URL\n const fullPageUrl = pageUrl.startsWith('http') ? pageUrl : `https://${pageUrl.replace(/^\\/+/, '')}`;\n \n // Build the message with prefix and page content\n const titlePart = websiteTitle ? `${websiteTitle} - ` : '';\n const prefix = `${chatGPTPrefix} ${titlePart}${fullPageUrl} please read it to answer my questions.\\n\\n`;\n const fullMessage = prefix + sourceCode;\n \n // Encode the message for URL\n const encodedMessage = encodeURIComponent(fullMessage);\n \n // Create ChatGPT URL\n const chatGPTUrl = `https://chatgpt.com/?q=${encodedMessage}`;\n \n // Open in new tab\n window.open(chatGPTUrl, '_blank', 'noopener,noreferrer');\n }\n\n function handleOpenInClaude() {\n if (!pageUrl) return;\n \n // Ensure pageUrl is a full URL\n const fullPageUrl = pageUrl.startsWith('http') ? pageUrl : `https://${pageUrl.replace(/^\\/+/, '')}`;\n \n // Build the message with prefix and page content\n const titlePart = websiteTitle ? `${websiteTitle} - ` : '';\n const prefix = `${chatGPTPrefix} ${titlePart}${fullPageUrl} please read it to answer my questions.\\n\\n`;\n const fullMessage = prefix + sourceCode;\n \n // Encode the message for URL\n const encodedMessage = encodeURIComponent(fullMessage);\n \n // Create Claude URL (Anthropic's Claude Web)\n const claudeUrl = `https://claude.ai/new?q=${encodedMessage}`;\n \n // Open in new tab\n window.open(claudeUrl, '_blank', 'noopener,noreferrer');\n }\n\n return (\n <DropdownMenu>\n <DropdownMenuTrigger asChild>\n <Button\n variant=\"outline\"\n size=\"sm\"\n className={cn(\n 'flex gap-2 text-sm font-medium items-center',\n isCopied && 'opacity-70',\n className\n )}\n >\n <CopyIcon width=\"16\" />\n {isCopied ? copied : copyPage}\n <ChevronDownIcon width=\"14\" className=\"opacity-50\" />\n </Button>\n </DropdownMenuTrigger>\n <DropdownMenuContent align=\"end\" className=\"min-w-[200px]\">\n <DropdownMenuItem onClick={handleCopy}>\n <CopyIcon width=\"16\" className=\"mr-2\" />\n <div className=\"flex flex-col\">\n <span className=\"text-sm font-medium\">{copyPage}</span>\n <span className=\"text-xs text-muted-foreground\">{copyPageDescription}</span>\n </div>\n </DropdownMenuItem>\n {pageUrl && (\n <>\n <DropdownMenuItem onClick={handleOpenInChatGPT}>\n <div className=\"flex items-center gap-2\">\n <ChatGPTIcon className=\"w-4 h-4 shrink-0\" />\n <div className=\"flex flex-col flex-1\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"text-sm font-medium\">{openInChatGPT}</span>\n <ExternalLinkIcon width=\"12\" className=\"text-muted-foreground shrink-0\" />\n </div>\n <span className=\"text-xs text-muted-foreground\">{askQuestionsDescription}</span>\n </div>\n </div>\n </DropdownMenuItem>\n <DropdownMenuItem onClick={handleOpenInClaude}>\n <div className=\"flex items-center gap-2\">\n <ClaudeIcon className=\"w-4 h-4 shrink-0\" />\n <div className=\"flex flex-col flex-1\">\n <div className=\"flex items-center gap-1.5\">\n <span className=\"text-sm font-medium\">{openInClaude}</span>\n <ExternalLinkIcon width=\"12\" className=\"text-muted-foreground shrink-0\" />\n </div>\n <span className=\"text-xs text-muted-foreground\">{askQuestionsDescription}</span>\n </div>\n </div>\n </DropdownMenuItem>\n </>\n )}\n </DropdownMenuContent>\n </DropdownMenu>\n );\n}\n","'use client';\n\nimport { CookieIcon } from 'lucide-react';\nimport { useEffect, useState } from 'react';\nimport { Button } from '../ui/button';\nimport { getTranslations } from '../../lib/translations';\n// @vercel/analytics is optional - only track if available\nfunction track(event: string, data?: Record<string, any>) {\n if (typeof window !== 'undefined') {\n try {\n // Dynamic import to avoid build errors if @vercel/analytics is not installed\n // @ts-ignore - optional dependency\n import('@vercel/analytics').then(({ track: trackFn }) => {\n trackFn(event, data);\n }).catch(() => {\n // @vercel/analytics not installed, tracking will be no-op\n });\n } catch {\n // Ignore errors\n }\n }\n}\nimport { cn } from '../layout/utils';\nimport Link from 'next/link';\nimport type { Locale } from '@next-library/core';\n\ninterface CookieBannerProps {\n locale: Locale;\n variant?: 'default' | 'small';\n onAcceptCallback?: () => void;\n onDeclineCallback?: () => void;\n translations?: {\n title?: string;\n description?: string;\n learnMore?: string;\n accept?: string;\n decline?: string;\n };\n}\n\nexport function CookieBanner({\n locale,\n variant = 'default',\n onAcceptCallback = () => {},\n onDeclineCallback = () => {},\n translations = {},\n}: CookieBannerProps) {\n const [isOpen, setIsOpen] = useState(false);\n const [hide, setHide] = useState(false);\n\n const defaultTranslations = getTranslations(locale);\n const {\n title = defaultTranslations.cookieConsent,\n description = defaultTranslations.cookieDescription,\n learnMore = defaultTranslations.cookieLearnMore,\n accept: acceptText = defaultTranslations.accept,\n decline: declineText = defaultTranslations.decline,\n } = translations;\n\n const handleAccept = () => {\n setIsOpen(false);\n localStorage.setItem('cookieConsent', 'true');\n setTimeout(() => {\n setHide(true);\n }, 700);\n onAcceptCallback();\n };\n\n const handleDecline = () => {\n setIsOpen(false);\n localStorage.setItem('cookieConsent', 'false');\n setTimeout(() => {\n setHide(true);\n }, 700);\n onDeclineCallback();\n };\n\n useEffect(() => {\n try {\n const consent = localStorage.getItem('cookieConsent');\n if (consent === 'true' || consent === 'false') {\n setIsOpen(false);\n setHide(true);\n } else {\n setIsOpen(true);\n }\n } catch (e) {\n console.error('Error reading cookie consent:', e);\n setIsOpen(true);\n }\n }, []);\n\n return variant !== 'small' ? (\n <div\n className={cn(\n 'fixed z-[200] bottom-0 left-0 right-0 sm:right-0 sm:left-auto sm:bottom-4 w-full sm:max-w-md duration-700',\n !isOpen\n ? 'transition-[opacity,transform] translate-y-8 opacity-0'\n : 'transition-[opacity,transform] translate-y-0 opacity-100',\n hide && 'hidden'\n )}\n >\n <div className=\"rounded-md m-3 border border-border shadow-lg bg-background\">\n <div className=\"flex flex-col\">\n <div className=\"border-b border-border h-14 flex items-center justify-between p-4\">\n <h1 className=\"text-lg font-medium\">{title}</h1>\n <CookieIcon className=\"h-[1.2rem] w-[1.2rem]\" />\n </div>\n <div className=\"p-4\">\n <p className=\"text-sm font-normal text-start mb-2\">\n {description}{' '}\n <Link href={`/${locale}/privacy`} className=\"text-xs underline ml-1\">\n {learnMore}\n </Link>\n </p>\n </div>\n <div className=\"flex justify-around gap-2 p-4 py-5 border-t border-border dark:bg-background/20\">\n <Button onClick={handleAccept} className=\"flex-1\">\n {acceptText}\n </Button>\n <Button onClick={handleDecline} className=\"flex-1\" variant=\"secondary\">\n {declineText}\n </Button>\n </div>\n </div>\n </div>\n </div>\n ) : (\n <div\n className={cn(\n 'fixed z-[200] bottom-0 left-0 right-0 sm:right-4 sm:left-auto sm:bottom-4 w-full sm:max-w-md duration-700',\n !isOpen\n ? 'transition-[opacity,transform] translate-y-8 opacity-0'\n : 'transition-[opacity,transform] translate-y-0 opacity-100',\n hide && 'hidden'\n )}\n >\n <div className=\"m-3 bg-background border border-border rounded-lg\">\n <div className=\"flex items-center justify-between p-3\">\n <h1 className=\"text-lg font-medium\">{title}</h1>\n <CookieIcon className=\"h-[1.2rem] w-[1.2rem]\" />\n </div>\n <div className=\"p-3 -mt-2\">\n <p className=\"text-sm text-left text-muted-foreground\">\n {description}{' '}\n <Link href={`/${locale}/privacy`} className=\"underline\">\n {learnMore}\n </Link>\n </p>\n </div>\n <div className=\"p-3 flex items-center gap-2 mt-2 border-t\">\n <Button\n className=\"w-full h-9 rounded-full\"\n onClick={() => {\n track('Accept Cookie Banner');\n handleAccept();\n }}\n >\n {acceptText}\n </Button>\n <Button\n className=\"w-full h-9 rounded-full\"\n variant=\"outline\"\n onClick={() => {\n track('Decline Cookie Banner');\n handleDecline();\n }}\n >\n {declineText}\n </Button>\n </div>\n </div>\n </div>\n );\n}\n\n","'use client';\n\nimport * as React from 'react';\nimport * as SelectPrimitive from '@radix-ui/react-select';\nimport { CheckIcon, ChevronDownIcon, ChevronUpIcon } from 'lucide-react';\nimport { cn } from '../layout/utils';\n\nfunction Select({ ...props }: React.ComponentProps<typeof SelectPrimitive.Root>) {\n return <SelectPrimitive.Root data-slot=\"select\" {...props} />;\n}\n\nfunction SelectGroup({ ...props }: React.ComponentProps<typeof SelectPrimitive.Group>) {\n return <SelectPrimitive.Group data-slot=\"select-group\" {...props} />;\n}\n\nfunction SelectValue({ ...props }: React.ComponentProps<typeof SelectPrimitive.Value>) {\n return <SelectPrimitive.Value data-slot=\"select-value\" {...props} />;\n}\n\nfunction SelectTrigger({\n className,\n size = 'default',\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Trigger> & {\n size?: 'sm' | 'default';\n}) {\n return (\n <SelectPrimitive.Trigger\n data-slot=\"select-trigger\"\n data-size={size}\n className={cn(\n \"border-input data-[placeholder]:text-muted-foreground [&_svg:not([class*='text-'])]:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 dark:hover:bg-input/50 flex w-fit items-center justify-between gap-2 rounded-md border bg-transparent px-3 py-2 text-sm whitespace-nowrap shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 data-[size=default]:h-9 data-[size=sm]:h-8 *:data-[slot=select-value]:line-clamp-1 *:data-[slot=select-value]:flex *:data-[slot=select-value]:items-center *:data-[slot=select-value]:gap-2 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4\",\n className\n )}\n {...props}\n >\n {children}\n <SelectPrimitive.Icon asChild>\n <ChevronDownIcon className=\"size-4 opacity-50\" />\n </SelectPrimitive.Icon>\n </SelectPrimitive.Trigger>\n );\n}\n\nfunction SelectContent({\n className,\n children,\n position = 'popper',\n align = 'center',\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Content>) {\n return (\n <SelectPrimitive.Portal>\n <SelectPrimitive.Content\n data-slot=\"select-content\"\n className={cn(\n 'bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 relative z-50 max-h-(--radix-select-content-available-height) min-w-[8rem] origin-(--radix-select-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border shadow-md',\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 align={align}\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)] scroll-my-1'\n )}\n >\n {children}\n </SelectPrimitive.Viewport>\n <SelectScrollDownButton />\n </SelectPrimitive.Content>\n </SelectPrimitive.Portal>\n );\n}\n\nfunction SelectLabel({ className, ...props }: React.ComponentProps<typeof SelectPrimitive.Label>) {\n return (\n <SelectPrimitive.Label\n data-slot=\"select-label\"\n className={cn('text-muted-foreground px-2 py-1.5 text-xs', className)}\n {...props}\n />\n );\n}\n\nfunction SelectItem({\n className,\n children,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Item>) {\n return (\n <SelectPrimitive.Item\n data-slot=\"select-item\"\n className={cn(\n \"focus:bg-accent focus:text-accent-foreground [&_svg:not([class*='text-'])]:text-muted-foreground relative flex w-full cursor-default items-center gap-2 rounded-sm py-1.5 pr-8 pl-2 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4 *:[span]:last:flex *:[span]:last:items-center *:[span]:last:gap-2\",\n className\n )}\n {...props}\n >\n <span className=\"absolute right-2 flex size-3.5 items-center justify-center\">\n <SelectPrimitive.ItemIndicator>\n <CheckIcon className=\"size-4\" />\n </SelectPrimitive.ItemIndicator>\n </span>\n <SelectPrimitive.ItemText>{children}</SelectPrimitive.ItemText>\n </SelectPrimitive.Item>\n );\n}\n\nfunction SelectSeparator({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.Separator>) {\n return (\n <SelectPrimitive.Separator\n data-slot=\"select-separator\"\n className={cn('bg-border pointer-events-none -mx-1 my-1 h-px', className)}\n {...props}\n />\n );\n}\n\nfunction SelectScrollUpButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollUpButton>) {\n return (\n <SelectPrimitive.ScrollUpButton\n data-slot=\"select-scroll-up-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronUpIcon className=\"size-4\" />\n </SelectPrimitive.ScrollUpButton>\n );\n}\n\nfunction SelectScrollDownButton({\n className,\n ...props\n}: React.ComponentProps<typeof SelectPrimitive.ScrollDownButton>) {\n return (\n <SelectPrimitive.ScrollDownButton\n data-slot=\"select-scroll-down-button\"\n className={cn('flex cursor-default items-center justify-center py-1', className)}\n {...props}\n >\n <ChevronDownIcon className=\"size-4\" />\n </SelectPrimitive.ScrollDownButton>\n );\n}\n\nexport {\n Select,\n SelectContent,\n SelectGroup,\n SelectItem,\n SelectLabel,\n SelectScrollDownButton,\n SelectScrollUpButton,\n SelectSeparator,\n SelectTrigger,\n SelectValue,\n};\n\n","'use client';\n\nimport { useEffect } from 'react';\nimport { getTranslations } from '../../lib/translations';\nimport type { Locale } from '@next-library/core';\n\ninterface AnchorLinkHandlerProps {\n locale?: Locale;\n}\n\nexport function AnchorLinkHandler({ locale = 'en' }: AnchorLinkHandlerProps) {\n useEffect(() => {\n const translations = getTranslations(locale);\n const handleClick = (e: MouseEvent) => {\n const target = e.target as HTMLElement;\n const anchor = target.closest('a[href^=\"#\"]');\n\n if (anchor && anchor.classList.contains('inline-flex')) {\n e.preventDefault();\n e.stopPropagation();\n\n const href = anchor.getAttribute('href');\n if (href) {\n const fullUrl = window.location.origin + window.location.pathname + href;\n\n navigator.clipboard\n .writeText(fullUrl)\n .then(() => {\n // Show feedback\n const originalTitle = anchor.getAttribute('title');\n anchor.setAttribute('title', translations.linkCopied);\n\n // Visual feedback - briefly change the icon color\n const icon = anchor.querySelector('svg');\n if (icon) {\n icon.classList.add('text-green-500');\n setTimeout(() => {\n icon.classList.remove('text-green-500');\n }, 1000);\n }\n\n setTimeout(() => {\n anchor.setAttribute('title', originalTitle || translations.copyLinkToSection);\n }, 2000);\n })\n .catch((err) => {\n console.error('Failed to copy link:', err);\n // Fallback for older browsers\n try {\n const textArea = document.createElement('textarea');\n textArea.value = fullUrl;\n document.body.appendChild(textArea);\n textArea.select();\n document.execCommand('copy');\n document.body.removeChild(textArea);\n } catch (fallbackErr) {\n console.error('Fallback copy failed:', fallbackErr);\n }\n });\n }\n }\n };\n\n // Add event listener\n document.addEventListener('click', handleClick);\n\n // Cleanup\n return () => {\n document.removeEventListener('click', handleClick);\n };\n }, [locale]);\n\n return null; // This component doesn't render anything\n}\n\n","'use client';\n\nimport { useEffect, useState } from 'react';\n\n/** A thin progress bar under the navbar that tracks how far the page is scrolled. */\nexport function ReadingProgress() {\n const [width, setWidth] = useState(0);\n\n useEffect(() => {\n const onScroll = () => {\n const el = document.documentElement;\n const max = el.scrollHeight - el.clientHeight;\n setWidth(max > 0 ? Math.min(100, (el.scrollTop / max) * 100) : 0);\n };\n onScroll();\n window.addEventListener('scroll', onScroll, { passive: true });\n window.addEventListener('resize', onScroll);\n return () => {\n window.removeEventListener('scroll', onScroll);\n window.removeEventListener('resize', onScroll);\n };\n }, []);\n\n return <div className=\"cl-progress\" style={{ width: `${width}%` }} aria-hidden=\"true\" />;\n}\n"]}