@semiont/browser 0.5.28
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/README.md +42 -0
- package/dist/apple-touch-icon.png +0 -0
- package/dist/assets/ChevronLeftIcon-BcDi-sgg.js +2 -0
- package/dist/assets/ChevronLeftIcon-BcDi-sgg.js.map +1 -0
- package/dist/assets/CommandLineIcon-O8NfVSEq.js +2 -0
- package/dist/assets/CommandLineIcon-O8NfVSEq.js.map +1 -0
- package/dist/assets/CookiePreferences-UVUl27XP.js +2 -0
- package/dist/assets/CookiePreferences-UVUl27XP.js.map +1 -0
- package/dist/assets/KeyboardShortcutsContext-D8VjaYfK.js +2 -0
- package/dist/assets/KeyboardShortcutsContext-D8VjaYfK.js.map +1 -0
- package/dist/assets/PdfAnnotationCanvas.client-LSH3PZPY-B8dnEIps.js +2 -0
- package/dist/assets/PdfAnnotationCanvas.client-LSH3PZPY-B8dnEIps.js.map +1 -0
- package/dist/assets/ToolbarPanels-Bf3f6THq.js +2 -0
- package/dist/assets/ToolbarPanels-Bf3f6THq.js.map +1 -0
- package/dist/assets/XMarkIcon-CVrfCz2h.js +2 -0
- package/dist/assets/XMarkIcon-CVrfCz2h.js.map +1 -0
- package/dist/assets/ar-AZBRADEB-CvnkaLQS.js +2 -0
- package/dist/assets/ar-AZBRADEB-CvnkaLQS.js.map +1 -0
- package/dist/assets/bn-CCEW6AOS-BCI1FG86.js +2 -0
- package/dist/assets/bn-CCEW6AOS-BCI1FG86.js.map +1 -0
- package/dist/assets/client-B2rbsRTh.js +2 -0
- package/dist/assets/client-B2rbsRTh.js.map +1 -0
- package/dist/assets/client-kvvQzQsd.js +2 -0
- package/dist/assets/client-kvvQzQsd.js.map +1 -0
- package/dist/assets/cs-HXPF2CTE-CbMUDpDp.js +2 -0
- package/dist/assets/cs-HXPF2CTE-CbMUDpDp.js.map +1 -0
- package/dist/assets/da-K5NTK7LH-D2rWDXq3.js +2 -0
- package/dist/assets/da-K5NTK7LH-D2rWDXq3.js.map +1 -0
- package/dist/assets/de-GMRQEDZI-CVlSEip_.js +2 -0
- package/dist/assets/de-GMRQEDZI-CVlSEip_.js.map +1 -0
- package/dist/assets/el-EUB4CI4G-C80i0753.js +2 -0
- package/dist/assets/el-EUB4CI4G-C80i0753.js.map +1 -0
- package/dist/assets/en-R5XA26NF-Cuox0uQn.js +1 -0
- package/dist/assets/es-Z32DAZ6W-D7UTS3Fx.js +2 -0
- package/dist/assets/es-Z32DAZ6W-D7UTS3Fx.js.map +1 -0
- package/dist/assets/fa-G7HN6B32-DdDi1TG_.js +2 -0
- package/dist/assets/fa-G7HN6B32-DdDi1TG_.js.map +1 -0
- package/dist/assets/fi-3YBLZO7I-B3OjL1PQ.js +2 -0
- package/dist/assets/fi-3YBLZO7I-B3OjL1PQ.js.map +1 -0
- package/dist/assets/fr-VUBH7BBS-CjoeoL9n.js +2 -0
- package/dist/assets/fr-VUBH7BBS-CjoeoL9n.js.map +1 -0
- package/dist/assets/he-WQQEY26B-2RRJq7To.js +2 -0
- package/dist/assets/he-WQQEY26B-2RRJq7To.js.map +1 -0
- package/dist/assets/hi-HJZ6W4JB-DPflxelg.js +2 -0
- package/dist/assets/hi-HJZ6W4JB-DPflxelg.js.map +1 -0
- package/dist/assets/i18n-zIDJOEfo.js +2 -0
- package/dist/assets/i18n-zIDJOEfo.js.map +1 -0
- package/dist/assets/id-ZOGZ37MI-Dd4wSvWi.js +2 -0
- package/dist/assets/id-ZOGZ37MI-Dd4wSvWi.js.map +1 -0
- package/dist/assets/index-BkTRe71w.js +142 -0
- package/dist/assets/index-BkTRe71w.js.map +1 -0
- package/dist/assets/index-C6tZC9XN.css +1 -0
- package/dist/assets/inter-cyrillic-400-normal-HOLc17fK.woff +0 -0
- package/dist/assets/inter-cyrillic-400-normal-obahsSVq.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-400-normal-BQZuk6qB.woff2 +0 -0
- package/dist/assets/inter-cyrillic-ext-400-normal-DQukG94-.woff +0 -0
- package/dist/assets/inter-greek-400-normal-B4URO6DV.woff2 +0 -0
- package/dist/assets/inter-greek-400-normal-q2sYcFCs.woff +0 -0
- package/dist/assets/inter-greek-ext-400-normal-DGGRlc-M.woff2 +0 -0
- package/dist/assets/inter-greek-ext-400-normal-KugGGMne.woff +0 -0
- package/dist/assets/inter-latin-400-normal-C38fXH4l.woff2 +0 -0
- package/dist/assets/inter-latin-400-normal-CyCys3Eg.woff +0 -0
- package/dist/assets/inter-latin-ext-400-normal-77YHD8bZ.woff +0 -0
- package/dist/assets/inter-latin-ext-400-normal-C1nco2VV.woff2 +0 -0
- package/dist/assets/inter-vietnamese-400-normal-Bbgyi5SW.woff +0 -0
- package/dist/assets/inter-vietnamese-400-normal-DMkecbls.woff2 +0 -0
- package/dist/assets/it-DT6UW66F-B7ZzCBm1.js +2 -0
- package/dist/assets/it-DT6UW66F-B7ZzCBm1.js.map +1 -0
- package/dist/assets/ja-RUKQCOLO-Br1kLTUs.js +2 -0
- package/dist/assets/ja-RUKQCOLO-Br1kLTUs.js.map +1 -0
- package/dist/assets/ko-ZH5ADKZM-8IO4IU-2.js +2 -0
- package/dist/assets/ko-ZH5ADKZM-8IO4IU-2.js.map +1 -0
- package/dist/assets/layout-5m7ZN_sv.js +2 -0
- package/dist/assets/layout-5m7ZN_sv.js.map +1 -0
- package/dist/assets/layout-ChREg3PD.js +2 -0
- package/dist/assets/layout-ChREg3PD.js.map +1 -0
- package/dist/assets/layout-DmBlX8Wv.js +2 -0
- package/dist/assets/layout-DmBlX8Wv.js.map +1 -0
- package/dist/assets/layout-xM3HYPpK.js +2 -0
- package/dist/assets/layout-xM3HYPpK.js.map +1 -0
- package/dist/assets/ms-Y2AFPZTU-q4v04hSa.js +2 -0
- package/dist/assets/ms-Y2AFPZTU-q4v04hSa.js.map +1 -0
- package/dist/assets/nl-OQEWIXNA-DiHanxnO.js +2 -0
- package/dist/assets/nl-OQEWIXNA-DiHanxnO.js.map +1 -0
- package/dist/assets/no-KPAYJZWY-DdGouMG_.js +2 -0
- package/dist/assets/no-KPAYJZWY-DdGouMG_.js.map +1 -0
- package/dist/assets/not-found-BOkh1PJR.js +2 -0
- package/dist/assets/not-found-BOkh1PJR.js.map +1 -0
- package/dist/assets/orbitron-latin-400-normal-DBk4Dmer.woff +0 -0
- package/dist/assets/orbitron-latin-400-normal-U6xZUhur.woff2 +0 -0
- package/dist/assets/page-B2tTEfKp.js +2 -0
- package/dist/assets/page-B2tTEfKp.js.map +1 -0
- package/dist/assets/page-BOgSgEl-.js +2 -0
- package/dist/assets/page-BOgSgEl-.js.map +1 -0
- package/dist/assets/page-Bfk44QuW.js +2 -0
- package/dist/assets/page-Bfk44QuW.js.map +1 -0
- package/dist/assets/page-BiEYKai0.js +8 -0
- package/dist/assets/page-BiEYKai0.js.map +1 -0
- package/dist/assets/page-C45jnN3u.js +2 -0
- package/dist/assets/page-C45jnN3u.js.map +1 -0
- package/dist/assets/page-C76A3Tvm.js +2 -0
- package/dist/assets/page-C76A3Tvm.js.map +1 -0
- package/dist/assets/page-C7fj48Yd.js +2 -0
- package/dist/assets/page-C7fj48Yd.js.map +1 -0
- package/dist/assets/page-CQJx-JXR.js +2 -0
- package/dist/assets/page-CQJx-JXR.js.map +1 -0
- package/dist/assets/page-CgiAumZ6.js +2 -0
- package/dist/assets/page-CgiAumZ6.js.map +1 -0
- package/dist/assets/page-CrXiz4-J.js +2 -0
- package/dist/assets/page-CrXiz4-J.js.map +1 -0
- package/dist/assets/page-DGXyF1RD.js +2 -0
- package/dist/assets/page-DGXyF1RD.js.map +1 -0
- package/dist/assets/page-DL5wQ3pG.js +20 -0
- package/dist/assets/page-DL5wQ3pG.js.map +1 -0
- package/dist/assets/page-DXZrFCmr.js +2 -0
- package/dist/assets/page-DXZrFCmr.js.map +1 -0
- package/dist/assets/page-De2leEHb.js +2 -0
- package/dist/assets/page-De2leEHb.js.map +1 -0
- package/dist/assets/page-KrH4sIjg.js +2 -0
- package/dist/assets/page-KrH4sIjg.js.map +1 -0
- package/dist/assets/page-ZPLCKgGQ.js +5 -0
- package/dist/assets/page-ZPLCKgGQ.js.map +1 -0
- package/dist/assets/page-_daGpD2K.js +2 -0
- package/dist/assets/page-_daGpD2K.js.map +1 -0
- package/dist/assets/page-zpMXForS.js +2 -0
- package/dist/assets/page-zpMXForS.js.map +1 -0
- package/dist/assets/pdf-Dicw8YoH.js +55 -0
- package/dist/assets/pdf-Dicw8YoH.js.map +1 -0
- package/dist/assets/pdf.worker.min-CHFwMXne.mjs +29 -0
- package/dist/assets/pl-WSXK2UUD-DK_ieA8X.js +2 -0
- package/dist/assets/pl-WSXK2UUD-DK_ieA8X.js.map +1 -0
- package/dist/assets/pt-NWRJRUCK-I6-gHOkB.js +2 -0
- package/dist/assets/pt-NWRJRUCK-I6-gHOkB.js.map +1 -0
- package/dist/assets/ro-3CGVMOC6-wdwqXMaO.js +2 -0
- package/dist/assets/ro-3CGVMOC6-wdwqXMaO.js.map +1 -0
- package/dist/assets/rolldown-runtime-hePW80VL.js +1 -0
- package/dist/assets/routing-BJiyORAR.js +2 -0
- package/dist/assets/routing-BJiyORAR.js.map +1 -0
- package/dist/assets/routing-CygMogfF.js +2 -0
- package/dist/assets/routing-CygMogfF.js.map +1 -0
- package/dist/assets/sv-HGSEBA7S-2KvJx_dY.js +2 -0
- package/dist/assets/sv-HGSEBA7S-2KvJx_dY.js.map +1 -0
- package/dist/assets/th-NZ4G352Z-ZMBwAbgb.js +2 -0
- package/dist/assets/th-NZ4G352Z-ZMBwAbgb.js.map +1 -0
- package/dist/assets/tr-LGGS4DLW-BwMx3CfM.js +2 -0
- package/dist/assets/tr-LGGS4DLW-BwMx3CfM.js.map +1 -0
- package/dist/assets/uk-AIX536L4-cREJjolM.js +2 -0
- package/dist/assets/uk-AIX536L4-cREJjolM.js.map +1 -0
- package/dist/assets/vendor-BVP6ONpk.js +10 -0
- package/dist/assets/vendor-BVP6ONpk.js.map +1 -0
- package/dist/assets/vi-V6CVQZLQ-CXAniXLX.js +2 -0
- package/dist/assets/vi-V6CVQZLQ-CXAniXLX.js.map +1 -0
- package/dist/assets/web-D6kqUluK.js +2 -0
- package/dist/assets/web-D6kqUluK.js.map +1 -0
- package/dist/assets/zh-AGKPGI3L-MsKTx_dK.js +2 -0
- package/dist/assets/zh-AGKPGI3L-MsKTx_dK.js.map +1 -0
- package/dist/favicon-16x16.png +0 -0
- package/dist/favicon-32x32.png +0 -0
- package/dist/favicon.ico +0 -0
- package/dist/favicon.svg +47 -0
- package/dist/favicons/android-chrome-192x192.png +0 -0
- package/dist/favicons/android-chrome-512x512.png +0 -0
- package/dist/favicons/apple-touch-icon.png +0 -0
- package/dist/favicons/favicon-128x128.png +0 -0
- package/dist/favicons/favicon-16x16.png +0 -0
- package/dist/favicons/favicon-32x32.png +0 -0
- package/dist/favicons/favicon-48x48.png +0 -0
- package/dist/favicons/favicon-64x64.png +0 -0
- package/dist/favicons/favicon-96x96.png +0 -0
- package/dist/favicons/favicon.ico +0 -0
- package/dist/favicons/favicon.svg +47 -0
- package/dist/favicons/site.webmanifest +19 -0
- package/dist/index.html +23 -0
- package/dist/messages/ar.json +1034 -0
- package/dist/messages/bn.json +1034 -0
- package/dist/messages/cs.json +1034 -0
- package/dist/messages/da.json +1034 -0
- package/dist/messages/de.json +1034 -0
- package/dist/messages/el.json +1034 -0
- package/dist/messages/en.json +1034 -0
- package/dist/messages/es.json +1034 -0
- package/dist/messages/fa.json +1034 -0
- package/dist/messages/fi.json +1034 -0
- package/dist/messages/fr.json +1034 -0
- package/dist/messages/he.json +1034 -0
- package/dist/messages/hi.json +1034 -0
- package/dist/messages/id.json +1034 -0
- package/dist/messages/it.json +1034 -0
- package/dist/messages/ja.json +1034 -0
- package/dist/messages/ko.json +1034 -0
- package/dist/messages/ms.json +1034 -0
- package/dist/messages/nl.json +1034 -0
- package/dist/messages/no.json +1034 -0
- package/dist/messages/pl.json +1034 -0
- package/dist/messages/pt.json +1034 -0
- package/dist/messages/ro.json +1034 -0
- package/dist/messages/sv.json +1034 -0
- package/dist/messages/th.json +1034 -0
- package/dist/messages/tr.json +1034 -0
- package/dist/messages/uk.json +1034 -0
- package/dist/messages/vi.json +1034 -0
- package/dist/messages/zh.json +1034 -0
- package/package.json +26 -0
- package/server.js +149 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-ChREg3PD.js","names":["ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/ChevronDownIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ChevronUpIcon.js","../../src/components/knowledge/NavigationHandler.tsx","../../src/hooks/useMergedTranslationManager.ts","../../src/app/providers.tsx","../../src/components/CookieBanner.tsx","../../src/app/[locale]/layout.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction ChevronDownIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m19.5 8.25-7.5 7.5-7.5-7.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronDownIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ChevronUpIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"m4.5 15.75 7.5-7.5 7.5 7.5\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ChevronUpIcon);\nexport default ForwardRef;","import { useCallback } from 'react';\nimport { useRouter } from '@/i18n/routing';\nimport { useEventSubscriptions } from '@semiont/react-ui';\n\n/**\n * NavigationHandler - Connects NavigationEventBus to Next.js router\n *\n * This component subscribes to navigation events from @semiont/react-ui\n * components and handles them using Next.js client-side routing.\n *\n * Benefits:\n * - Client-side navigation (no page reload)\n * - Preserves React state\n * - Faster navigation\n * - Better UX\n *\n * Must be mounted in app layout to handle all navigation requests.\n */\nexport function NavigationHandler() {\n const router = useRouter();\n\n // Handle external navigation events\n const handleExternalNavigate = useCallback(({ url, cancelFallback }: { url: string; resourceId?: string; cancelFallback: () => void }) => {\n cancelFallback(); // Prevent window.location fallback since we're handling with client-side routing\n router.push(url);\n }, [router]);\n\n // Handle router push events\n const handleRouterPush = useCallback(({ path }: { path: string; reason?: string }) => {\n router.push(path);\n }, [router]);\n\n useEventSubscriptions({\n 'nav:external': handleExternalNavigate,\n 'nav:push': handleRouterPush,\n });\n\n // This component only manages navigation, doesn't render anything\n return null;\n}\n","import { useMemo } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport type { TranslationManager } from '@semiont/react-ui';\n\ntype Messages = Record<string, Record<string, string>>;\n\n/**\n * Process ICU MessageFormat plural syntax.\n * Supports: `{count, plural, =0 {text} =1 {text} other {text}}` with `#` as\n * the count placeholder inside each branch.\n *\n * Mirrors the reference implementation in\n * `packages/react-ui/src/contexts/TranslationContext.tsx`. Kept in sync\n * deliberately — diverging the two managers is what produced the\n * literal-plural-format render bug in the Tags panel.\n */\nexport function processPluralFormat(text: string, params: Record<string, unknown>): string {\n const pluralMatch = text.match(/\\{(\\w+),\\s*plural,\\s*/);\n if (!pluralMatch) return text;\n\n const paramName = pluralMatch[1]!;\n const count = params[paramName];\n if (count === undefined) return text;\n\n // Find the matching closing brace by counting nested pairs.\n const startPos = pluralMatch[0].length + pluralMatch.index!;\n let braceCount = 1;\n let endPos = startPos;\n for (let i = startPos; i < text.length; i++) {\n if (text[i] === '{') braceCount++;\n else if (text[i] === '}') {\n braceCount--;\n if (braceCount === 0) { endPos = i; break; }\n }\n }\n\n const pluralCases = text.substring(startPos, endPos);\n const cases: Record<string, string> = {};\n const caseRegex = /(?:=(\\d+)|(\\w+))\\s*\\{([^}]+)\\}/g;\n let caseMatch;\n while ((caseMatch = caseRegex.exec(pluralCases)) !== null) {\n const [, exactNumber, keyword, textContent] = caseMatch;\n const key = exactNumber !== undefined ? `=${exactNumber}` : keyword!;\n cases[key] = textContent!;\n }\n\n const exactMatch = cases[`=${count}`];\n if (exactMatch !== undefined) {\n const replaced = exactMatch.replace(/#/g, String(count));\n return text.substring(0, pluralMatch.index!) + replaced + text.substring(endPos + 1);\n }\n const otherCase = cases['other'];\n if (otherCase !== undefined) {\n const replaced = otherCase.replace(/#/g, String(count));\n return text.substring(0, pluralMatch.index!) + replaced + text.substring(endPos + 1);\n }\n return text;\n}\n\n/**\n * Run a translation string through the standard interpolation pipeline:\n * plural format first (since it may consume more of the string), then\n * `{{paramKey}}` parameter substitution. Exported for unit testing.\n */\nexport function interpolateTranslation(\n translation: string,\n params: Record<string, unknown>,\n): string {\n let result = processPluralFormat(translation, params);\n Object.entries(params).forEach(([paramKey, paramValue]) => {\n result = result.replace(new RegExp(`\\\\{\\\\{${paramKey}\\\\}\\\\}`, 'g'), String(paramValue));\n });\n return result;\n}\n\n/**\n * Translation Manager for Frontend\n *\n * Wraps react-i18next. The messages JSON (loaded by i18next-http-backend) has\n * the same flat namespace structure: { \"Namespace\": { \"key\": \"value\" } }.\n * TranslationManager.t(namespace, key) maps directly to this structure.\n *\n * Interpolation supports two syntaxes, in this precedence order:\n *\n * 1. ICU MessageFormat plural — `{count, plural, =0 {…} =1 {…} other {…}}`\n * — used for count-sensitive strings like \"1 category selected\" /\n * \"3 categories selected\".\n * 2. Double-brace parameter substitution — `{{paramKey}}` — used for\n * everything else (`{{mode}}`, `{{delay}}`, etc.).\n *\n * The two managers (this one and the reference in\n * `@semiont/react-ui/contexts/TranslationContext`) implement the same\n * interpolation contract; keep them aligned when changing either.\n */\nexport function useMergedTranslationManager(): TranslationManager {\n const { i18n } = useTranslation();\n\n return useMemo(() => {\n return {\n t: (namespace: string, key: string, params?: Record<string, unknown>): string => {\n const messages = i18n.getResourceBundle(i18n.language, 'translation') as Messages | undefined;\n const translation = messages?.[namespace]?.[key];\n\n if (!translation) {\n if (process.env.NODE_ENV === 'development') {\n console.warn(`Translation not found: ${namespace}.${key} (locale: ${i18n.language})`);\n }\n return `${namespace}.${key}`;\n }\n\n if (params && typeof translation === 'string') {\n return interpolateTranslation(translation, params);\n }\n\n return translation;\n },\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [i18n, i18n.language]);\n}\n","import React from 'react';\nimport {\n ToastProvider,\n LiveRegionProvider,\n TranslationProvider,\n ThemeProvider,\n LineNumbersProvider,\n SemiontProvider,\n} from '@semiont/react-ui';\nimport { KeyboardShortcutsProvider } from '@/contexts/KeyboardShortcutsContext';\nimport { NavigationHandler } from '@/components/knowledge/NavigationHandler';\nimport { useMergedTranslationManager } from '@/hooks/useMergedTranslationManager';\n\n/**\n * Root Provider Composition for Semiont Frontend.\n *\n * Wires up GLOBAL contexts that every page needs.\n *\n * The module-scoped `SemiontBrowser` singleton (KB list, active KB,\n * per-KB SemiontSession) is made available via `<SemiontProvider>` at\n * the app root — mounting it here is cheap because the singleton itself\n * survives every React re-render and route change.\n *\n * Auth-dependent UI (ProtectedErrorBoundary, SessionExpiredModal,\n * PermissionDeniedModal) is bundled in `AuthShell` and mounted only in\n * protected layouts (know/, admin/, moderate/, auth/welcome/). Pre-app\n * routes (landing, OAuth flow) intentionally do NOT mount AuthShell —\n * they have no session UI.\n *\n * The `SemiontClient` is owned by the per-KB `SemiontSession`, which\n * `SemiontBrowser` constructs on demand. Components read\n * `useObservable(useSemiont().activeSession$)?.client`.\n *\n * The event bus lives inside the client (owned by `SemiontSession`).\n * Components emit via `session?.emit(...)` and subscribe via\n * `useEventSubscription[s]`.\n *\n * Provider order — outer to inner:\n * 1. TranslationProvider — i18n\n * 2. SemiontProvider — SemiontBrowser singleton\n * 3. ToastProvider — toast notifications\n * 4. LiveRegionProvider — a11y live region\n * 5. KeyboardShortcutsProvider — keyboard shortcuts\n * 6. ThemeProvider — theme\n * 7. LineNumbersProvider — line-numbers display (shared, like theme)\n * + NavigationHandler\n */\nexport function Providers({ children }: { children: React.ReactNode }) {\n const translationManager = useMergedTranslationManager();\n\n return (\n <TranslationProvider translationManager={translationManager}>\n <SemiontProvider>\n <ToastProvider>\n <LiveRegionProvider>\n <KeyboardShortcutsProvider>\n <ThemeProvider>\n <LineNumbersProvider>\n <NavigationHandler />\n {children}\n </LineNumbersProvider>\n </ThemeProvider>\n </KeyboardShortcutsProvider>\n </LiveRegionProvider>\n </ToastProvider>\n </SemiontProvider>\n </TranslationProvider>\n );\n}\n","\"use client\";\n\nimport { useState, useEffect } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport {\n setCookieConsent,\n shouldShowBanner,\n COOKIE_CATEGORIES,\n CookieConsent,\n isCCPAApplicable,\n isGDPRApplicable,\n type CookieCategory\n} from '@/lib/cookies';\nimport { ChevronDownIcon, ChevronUpIcon } from '@heroicons/react/24/outline';\n\ninterface CookieBannerProps {\n className?: string;\n}\n\nexport function CookieBanner({ className = '' }: CookieBannerProps) {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`CookieBanner.${k}`, p as any) as string;\n const [isVisible, setIsVisible] = useState(false);\n const [showDetails, setShowDetails] = useState(false);\n const [isLoading, setIsLoading] = useState(false);\n const [region, setRegion] = useState<'GDPR' | 'CCPA' | 'GENERAL'>('GENERAL');\n const [consent, setConsent] = useState<Partial<CookieConsent>>({\n necessary: true,\n analytics: false,\n marketing: false,\n preferences: false\n });\n\n useEffect(() => {\n const checkVisibility = async () => {\n if (shouldShowBanner()) {\n setIsVisible(true);\n\n try {\n // Determine applicable regulation\n const [isGDPR, isCCPA] = await Promise.all([\n isGDPRApplicable(),\n isCCPAApplicable()\n ]);\n\n if (isGDPR) {\n setRegion('GDPR');\n } else if (isCCPA) {\n setRegion('CCPA');\n } else {\n setRegion('GENERAL');\n }\n } catch (error) {\n // If region detection fails, default to GENERAL\n console.error('Failed to detect region:', error);\n setRegion('GENERAL');\n }\n }\n };\n\n checkVisibility();\n }, []);\n\n const handleAcceptAll = async () => {\n setIsLoading(true);\n\n try {\n const fullConsent = {\n necessary: true,\n analytics: true,\n marketing: true,\n preferences: true\n };\n\n await Promise.resolve(setCookieConsent(fullConsent));\n setIsVisible(false);\n } catch (error) {\n console.error('Failed to save cookie consent:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleRejectAll = async () => {\n setIsLoading(true);\n\n try {\n const minimalConsent = {\n necessary: true,\n analytics: false,\n marketing: false,\n preferences: false\n };\n\n await Promise.resolve(setCookieConsent(minimalConsent));\n setIsVisible(false);\n } catch (error) {\n console.error('Failed to save cookie consent:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleSavePreferences = async () => {\n setIsLoading(true);\n\n try {\n await Promise.resolve(setCookieConsent(consent));\n setIsVisible(false);\n } catch (error) {\n console.error('Failed to save cookie consent:', error);\n } finally {\n setIsLoading(false);\n }\n };\n\n const handleCategoryToggle = (categoryId: keyof Omit<CookieConsent, 'timestamp' | 'version'>) => {\n if (categoryId === 'necessary') return; // Can't toggle necessary cookies\n\n setConsent(prev => ({\n ...prev,\n [categoryId]: !prev[categoryId]\n }));\n };\n\n const getBannerText = () => {\n switch (region) {\n case 'GDPR':\n return {\n title: t('gdprTitle'),\n description: t('gdprDescription'),\n learnMore: t('gdprLearnMore')\n };\n case 'CCPA':\n return {\n title: t('ccpaTitle'),\n description: t('ccpaDescription'),\n learnMore: t('ccpaLearnMore')\n };\n default:\n return {\n title: t('generalTitle'),\n description: t('generalDescription'),\n learnMore: t('generalLearnMore')\n };\n }\n };\n\n if (!isVisible) return null;\n\n const bannerText = getBannerText();\n\n return (\n <div\n className={className}\n style={{\n position: 'fixed',\n bottom: 0,\n left: 0,\n right: 0,\n zIndex: 50,\n backgroundColor: 'var(--semiont-bg-primary)',\n borderTop: '1px solid var(--semiont-border-primary)',\n boxShadow: 'var(--semiont-shadow-lg)',\n }}\n >\n <div style={{ maxWidth: '80rem', margin: '0 auto', padding: '1rem 1.5rem' }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>\n {/* Main banner content */}\n <div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', gap: '1.5rem', flexWrap: 'wrap' }}>\n <div style={{ flex: 1, minWidth: '300px' }}>\n <h3 style={{\n fontSize: '1.125rem',\n fontWeight: 600,\n color: 'var(--semiont-text-primary)',\n marginBottom: '0.5rem',\n }}>\n {bannerText.title}\n </h3>\n <p style={{\n fontSize: 'var(--semiont-text-sm, 0.875rem)',\n color: 'var(--semiont-text-secondary)',\n marginBottom: '0.25rem',\n }}>\n {bannerText.description}\n </p>\n <p style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-tertiary)',\n }}>\n {bannerText.learnMore}\n </p>\n </div>\n\n {/* Action buttons */}\n <div style={{ display: 'flex', gap: '0.75rem', alignItems: 'center', flexWrap: 'wrap' }}>\n <button\n type=\"button\"\n onClick={() => setShowDetails(!showDetails)}\n className=\"semiont-button--secondary\"\n style={{ display: 'flex', alignItems: 'center', gap: '0.25rem' }}\n >\n {t('customize')}\n {showDetails ? (\n <ChevronUpIcon style={{ width: '1rem', height: '1rem' }} />\n ) : (\n <ChevronDownIcon style={{ width: '1rem', height: '1rem' }} />\n )}\n </button>\n\n {region !== 'GDPR' && (\n <button\n type=\"button\"\n onClick={handleRejectAll}\n disabled={isLoading}\n className=\"semiont-button--secondary\"\n >\n {isLoading ? t('saving') : t('rejectAll')}\n </button>\n )}\n\n <button\n type=\"button\"\n onClick={handleAcceptAll}\n disabled={isLoading}\n className=\"semiont-button--primary\"\n >\n {isLoading ? t('saving') : t('acceptAll')}\n </button>\n </div>\n </div>\n\n {/* Detailed preferences */}\n {showDetails && (\n <div style={{\n borderTop: '1px solid var(--semiont-border-primary)',\n paddingTop: '1rem',\n }}>\n <div style={{ display: 'flex', flexDirection: 'column', gap: '1rem' }}>\n <h4 style={{\n fontSize: '1rem',\n fontWeight: 500,\n color: 'var(--semiont-text-primary)',\n }}>\n {t('cookiePreferences')}\n </h4>\n\n <div style={{ display: 'flex', flexDirection: 'column', gap: '0.75rem' }}>\n {COOKIE_CATEGORIES.map((category: CookieCategory) => (\n <div key={category.id} style={{ display: 'flex', alignItems: 'flex-start', gap: '0.75rem' }}>\n <div style={{ display: 'flex', alignItems: 'center', height: '1.25rem' }}>\n <input\n id={`cookie-${category.id}`}\n type=\"checkbox\"\n checked={consent[category.id] || false}\n onChange={() => handleCategoryToggle(category.id)}\n disabled={category.required || isLoading}\n style={{ accentColor: 'var(--semiont-color-primary-600, #2563eb)' }}\n />\n </div>\n <div style={{ flex: 1, minWidth: 0 }}>\n <label\n htmlFor={`cookie-${category.id}`}\n style={{\n fontSize: 'var(--semiont-text-sm, 0.875rem)',\n fontWeight: 500,\n color: 'var(--semiont-text-primary)',\n cursor: 'pointer',\n }}\n >\n {category.name}\n {category.required && (\n <span style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-tertiary)',\n marginLeft: '0.25rem',\n }}>\n {t('required')}\n </span>\n )}\n </label>\n <p style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-secondary)',\n marginTop: '0.25rem',\n }}>\n {category.description}\n </p>\n <details style={{ marginTop: '0.25rem' }}>\n <summary style={{\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-color-primary-600, #2563eb)',\n cursor: 'pointer',\n }}>\n {t('viewCookies')}\n </summary>\n <div style={{\n marginTop: '0.25rem',\n fontSize: 'var(--semiont-text-xs, 0.75rem)',\n color: 'var(--semiont-text-tertiary)',\n }}>\n {category.cookies.join(', ')}\n </div>\n </details>\n </div>\n </div>\n ))}\n </div>\n\n <div style={{\n display: 'flex',\n justifyContent: 'flex-end',\n gap: '0.75rem',\n paddingTop: '1rem',\n }}>\n <button\n type=\"button\"\n onClick={() => setShowDetails(false)}\n className=\"semiont-button--secondary\"\n >\n {t('cancel')}\n </button>\n <button\n type=\"button\"\n onClick={handleSavePreferences}\n disabled={isLoading}\n className=\"semiont-button--primary\"\n >\n {isLoading ? t('saving') : t('savePreferences')}\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n </div>\n </div>\n );\n}\n\nexport default CookieBanner;\n","import { Outlet } from 'react-router';\nimport { Providers } from '../providers';\nimport { CookieBanner } from '@/components/CookieBanner';\nimport { SkipLinks } from '@semiont/react-ui';\n\n/**\n * Locale Layout — root layout for all /:locale/* routes.\n *\n * Mounts only auth-independent providers. Auth-dependent providers\n * (KnowledgeBaseProvider, AuthProvider, SessionProvider, modals)\n * are mounted via AuthShell in protected layouts (know/, admin/,\n * moderate/, auth/welcome/).\n */\nexport default function LocaleLayout() {\n return (\n <Providers>\n <SkipLinks />\n <Outlet />\n <CookieBanner />\n </Providers>\n );\n}\n"],"x_google_ignoreList":[0,1],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-zIDJOEfo.js";import{s as r,t as i}from"./vendor-BVP6ONpk.js";import{At as a,E as o,G as s,Y as c,d as l,l as u}from"./index-BkTRe71w.js";import{t as d}from"./KeyboardShortcutsContext-D8VjaYfK.js";import{t as f}from"./CookiePreferences-UVUl27XP.js";import{n as p,t as m}from"./ChevronLeftIcon-BcDi-sgg.js";import{i as h,r as g,t as _}from"./routing-BJiyORAR.js";import{n as v,t as y}from"./routing-CygMogfF.js";var b=e(t());function x({title:e,titleId:t,...n},r){return b.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?b.createElement(`title`,{id:t},e):null,b.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25`}))}var S=b.forwardRef(x);function C({title:e,titleId:t,...n},r){return b.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?b.createElement(`title`,{id:t},e):null,b.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z`}))}var w=b.forwardRef(C);function T({title:e,titleId:t,...n},r){return b.createElement(`svg`,Object.assign({xmlns:`http://www.w3.org/2000/svg`,fill:`none`,viewBox:`0 0 24 24`,strokeWidth:1.5,stroke:`currentColor`,"aria-hidden":`true`,"data-slot":`icon`,ref:r,"aria-labelledby":t},n),e?b.createElement(`title`,{id:t},e):null,b.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M9.568 3H5.25A2.25 2.25 0 0 0 3 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 0 0 5.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 0 0 9.568 3Z`}),b.createElement(`path`,{strokeLinecap:`round`,strokeLinejoin:`round`,d:`M6 6h.008v.008H6V6Z`}))}var E=b.forwardRef(T),D=i();function O({href:e,to:t,...n}){return(0,D.jsx)(_,{to:e??``,...n})}function k({isCollapsed:e,toggleCollapsed:t,navigationMenu:r}){let{t:i}=n(),a=(e,t)=>i(`Moderation.${e}`,t),{t:c}=n(),l=(e,t)=>c(`Sidebar.${e}`,t),u=g(),d=(0,b.useCallback)(()=>{t()},[t]);s({"shell:sidebar-toggle":d});let f=[{name:a(`recentResources`),href:`/moderate/recent`,icon:w,description:a(`recentResourcesDescription`)},{name:a(`entityTags`),href:`/moderate/entity-tags`,icon:E,description:a(`entityTagsDescription`)},{name:a(`tagSchemas`),href:`/moderate/tag-schemas`,icon:S,description:a(`tagSchemasDescription`)}];return(0,D.jsx)(o,{title:a(`title`),items:f,currentPath:u,LinkComponent:O,...r&&{dropdownContent:r},isCollapsed:e,icons:{chevronLeft:m,bars:p},collapseSidebarLabel:l(`collapseSidebar`),expandSidebarLabel:l(`expandSidebar`)})}function A(){let{t:e}=n(),t=(0,b.useContext)(d),i=a(),o=c(i.activeSession$),s=c(o?.user$),p=o?.kb??null,m=h();if(!p)return m.push(`/know`),null;let g=!!s,_=s?.isAdmin??!1,x=s?.isModerator??!1;return(0,D.jsxs)(`div`,{className:`min-h-screen bg-gray-50 dark:bg-gray-900 flex flex-col`,children:[(0,D.jsxs)(`div`,{className:`flex flex-1`,children:[(0,D.jsx)(l,{Link:y,routes:v,t:t=>e(`Navigation.${t}`),tHome:t=>e(`Home.${t}`),brandingLink:`/`,collapsible:!0,storageKey:`moderation-sidebar-collapsed`,isAuthenticated:g,isAdmin:_,isModerator:x,children:(e,t,n)=>(0,D.jsx)(k,{isCollapsed:e,toggleCollapsed:t,navigationMenu:n})}),(0,D.jsx)(`main`,{className:`flex-1 p-6 flex flex-col`,children:(0,D.jsx)(`div`,{className:`max-w-7xl mx-auto flex-1 flex flex-col w-full`,children:(0,D.jsx)(r,{})})})]}),(0,D.jsx)(u,{Link:y,routes:v,t:(t,n)=>e(`Footer.${t}`,n),CookiePreferences:f,...t?.openKeyboardHelp&&{onOpenKeyboardHelp:t.openKeyboardHelp}})]})}function j(){return(0,D.jsx)(A,{})}export{j as default};
|
|
2
|
+
//# sourceMappingURL=layout-DmBlX8Wv.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-DmBlX8Wv.js","names":["ForwardRef","ForwardRef"],"sources":["../../../../node_modules/@heroicons/react/24/outline/esm/BookOpenIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/ClockIcon.js","../../../../node_modules/@heroicons/react/24/outline/esm/TagIcon.js","../../src/components/moderation/ModerationNavigation.tsx","../../src/app/[locale]/moderate/layout.tsx"],"sourcesContent":["import * as React from \"react\";\nfunction BookOpenIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 6.042A8.967 8.967 0 0 0 6 3.75c-1.052 0-2.062.18-3 .512v14.25A8.987 8.987 0 0 1 6 18c2.305 0 4.408.867 6 2.292m0-14.25a8.966 8.966 0 0 1 6-2.292c1.052 0 2.062.18 3 .512v14.25A8.987 8.987 0 0 0 18 18a8.967 8.967 0 0 0-6 2.292m0-14.25v14.25\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(BookOpenIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction ClockIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M12 6v6h4.5m4.5 0a9 9 0 1 1-18 0 9 9 0 0 1 18 0Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(ClockIcon);\nexport default ForwardRef;","import * as React from \"react\";\nfunction TagIcon({\n title,\n titleId,\n ...props\n}, svgRef) {\n return /*#__PURE__*/React.createElement(\"svg\", Object.assign({\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"none\",\n viewBox: \"0 0 24 24\",\n strokeWidth: 1.5,\n stroke: \"currentColor\",\n \"aria-hidden\": \"true\",\n \"data-slot\": \"icon\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M9.568 3H5.25A2.25 2.25 0 0 0 3 5.25v4.318c0 .597.237 1.17.659 1.591l9.581 9.581c.699.699 1.78.872 2.607.33a18.095 18.095 0 0 0 5.223-5.223c.542-.827.369-1.908-.33-2.607L11.16 3.66A2.25 2.25 0 0 0 9.568 3Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\",\n d: \"M6 6h.008v.008H6V6Z\"\n }));\n}\nconst ForwardRef = /*#__PURE__*/ React.forwardRef(TagIcon);\nexport default ForwardRef;","import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from '@/i18n/routing';\nimport { usePathname } from '@/i18n/routing';\nimport { SimpleNavigation, useEventSubscriptions } from '@semiont/react-ui';\nimport type { SimpleNavigationItem } from '@semiont/react-ui';\nimport {\n ClockIcon,\n TagIcon,\n BookOpenIcon,\n ChevronLeftIcon,\n Bars3Icon\n} from '@heroicons/react/24/outline';\n\ninterface ModerationNavigationProps {\n isCollapsed: boolean;\n toggleCollapsed: () => void;\n navigationMenu?: (onClose: () => void) => React.ReactNode;\n}\n\n// Adapter: SimpleNavigation passes href, but our Link uses `to`\nfunction HrefLink({ href, to: _to, ...props }: React.ComponentProps<typeof Link> & { href?: string }) {\n return <Link to={(href ?? '') as string} {...props} />;\n}\n\nexport function ModerationNavigation({ isCollapsed, toggleCollapsed, navigationMenu }: ModerationNavigationProps) {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Moderation.${k}`, p as any) as string;\n const { t: _tSidebar } = useTranslation();\n const tSidebar = (k: string, p?: Record<string, unknown>) => _tSidebar(`Sidebar.${k}`, p as any) as string;\n const pathname = usePathname();\n\n // Handle sidebar toggle events\n const handleSidebarToggle = useCallback(() => {\n toggleCollapsed();\n }, [toggleCollapsed]);\n\n // Subscribe to sidebar toggle events\n useEventSubscriptions({\n 'shell:sidebar-toggle': handleSidebarToggle,\n });\n\n const navigation: SimpleNavigationItem[] = [\n {\n name: t('recentResources'),\n href: '/moderate/recent',\n icon: ClockIcon,\n description: t('recentResourcesDescription')\n },\n {\n name: t('entityTags'),\n href: '/moderate/entity-tags',\n icon: TagIcon,\n description: t('entityTagsDescription')\n },\n {\n name: t('tagSchemas'),\n href: '/moderate/tag-schemas',\n icon: BookOpenIcon,\n description: t('tagSchemasDescription')\n }\n ];\n\n return (\n <SimpleNavigation\n title={t('title')}\n items={navigation}\n currentPath={pathname}\n LinkComponent={HrefLink as any}\n {...(navigationMenu && { dropdownContent: navigationMenu })}\n isCollapsed={isCollapsed}\n icons={{\n chevronLeft: ChevronLeftIcon as React.ComponentType<{ className?: string }>,\n bars: Bars3Icon as React.ComponentType<{ className?: string }>\n }}\n collapseSidebarLabel={tSidebar('collapseSidebar')}\n expandSidebarLabel={tSidebar('expandSidebar')}\n />\n );\n}","import { useContext } from 'react';\nimport { Outlet } from 'react-router';\nimport { useTranslation } from 'react-i18next';\nimport {\n LeftSidebar,\n Footer,\n useSemiont,\n useObservable,\n} from '@semiont/react-ui';\nimport { ModerationNavigation } from '@/components/moderation/ModerationNavigation';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link, routes } from '@/lib/routing';\nimport { useRouter } from '@/i18n/routing';\n\nfunction ModerateLayoutBody() {\n const { t } = useTranslation();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n const semiont = useSemiont();\n const session = useObservable(semiont.activeSession$);\n const user = useObservable(session?.user$);\n const activeKnowledgeBase = session?.kb ?? null;\n const router = useRouter();\n\n if (!activeKnowledgeBase) {\n router.push('/know');\n return null;\n }\n\n const isAuthenticated = !!user;\n const isAdmin = user?.isAdmin ?? false;\n const isModerator = user?.isModerator ?? false;\n\n return (\n <div className=\"min-h-screen bg-gray-50 dark:bg-gray-900 flex flex-col\">\n <div className=\"flex flex-1\">\n <LeftSidebar\n Link={Link}\n routes={routes}\n t={(key: string) => t(`Navigation.${key}`)}\n tHome={(key: string) => t(`Home.${key}`)}\n brandingLink=\"/\"\n collapsible={true}\n storageKey=\"moderation-sidebar-collapsed\"\n isAuthenticated={isAuthenticated}\n isAdmin={isAdmin}\n isModerator={isModerator}\n >\n {(isCollapsed, toggleCollapsed, navigationMenu) => (\n <ModerationNavigation\n isCollapsed={isCollapsed}\n toggleCollapsed={toggleCollapsed}\n navigationMenu={navigationMenu}\n />\n )}\n </LeftSidebar>\n <main className=\"flex-1 p-6 flex flex-col\">\n <div className=\"max-w-7xl mx-auto flex-1 flex flex-col w-full\">\n <Outlet />\n </div>\n </main>\n </div>\n <Footer\n Link={Link}\n routes={routes}\n t={(key: string, params?: Record<string, unknown>) => t(`Footer.${key}`, params as any) as string}\n CookiePreferences={CookiePreferences}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n />\n </div>\n );\n}\n\nexport default function ModerateLayout() {\n // AuthShell is mounted by the parent ProtectedLayout in App.tsx so it\n // survives navigation between know/, admin/, and moderate/ sections.\n return <ModerateLayoutBody />;\n}\n"],"x_google_ignoreList":[0,1,2],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{r as e}from"./rolldown-runtime-hePW80VL.js";import{i as t,t as n}from"./i18n-zIDJOEfo.js";import{s as r,t as i}from"./vendor-BVP6ONpk.js";import{$ as a,At as o,G as s,Y as c,d as l,et as u,g as d,j as f,l as p,o as m,q as h}from"./index-BkTRe71w.js";import{t as g}from"./KeyboardShortcutsContext-D8VjaYfK.js";import{t as _}from"./CookiePreferences-UVUl27XP.js";import{n as v,t as y}from"./ToolbarPanels-Bf3f6THq.js";import{n as b,t as x}from"./ChevronLeftIcon-BcDi-sgg.js";import{t as S}from"./XMarkIcon-CVrfCz2h.js";import{i as C,r as w,t as T}from"./routing-BJiyORAR.js";import{n as E,t as D}from"./routing-CygMogfF.js";var O=e(t()),k=i(),A=({className:e})=>(0,k.jsx)(`span`,{className:e,style:{fontSize:`1.25rem`,lineHeight:`1`},children:`🔭`});function j({href:e,to:t,...n}){return(0,k.jsx)(T,{to:e??``,...n})}function M({isCollapsed:e,toggleCollapsed:t,navigationMenu:r}){let{t:i}=n(),a=(e,t)=>i(`Sidebar.${e}`,t),l=w(),u=C(),d=o(),f=c(d.openResources$)??[],p=d.removeOpenResource.bind(d),h=d.reorderOpenResources.bind(d),g=[{name:a(`discover`),href:`/know/discover`,icon:A,description:a(`searchAndBrowse`)},{name:a(`compose`),href:`/know/compose`,icon:v,description:a(`composeNewResource`)}],_=(0,O.useCallback)(()=>{t()},[t]),y=(0,O.useCallback)(({resourceId:e})=>{p(e),l===`/know/resource/${e}`&&u.push(`/know/discover`)},[p,l,u]),T=(0,O.useCallback)(({oldIndex:e,newIndex:t})=>{h(e,t)},[h]);return s({"shell:sidebar-toggle":_,"tabs:close":y,"tabs:reorder":T}),(0,k.jsx)(`div`,{className:`flex flex-col h-full`,children:(0,k.jsx)(`div`,{className:`flex-1 min-h-0 overflow-y-auto`,children:(0,k.jsx)(m,{fixedItems:g,resources:f,isCollapsed:e,currentPath:l,LinkComponent:j,onNavigate:e=>{u.push(e)},getResourceHref:e=>`/know/resource/${e}`,className:`knowledge-navigation`,translations:{title:a(`title`)},icons:{chevronLeft:x,bars:b,close:S},navigationMenu:r})})})}function N(){let{t:e}=n(),t=(t,n)=>e(`Navigation.${t}`,n),{t:r}=n(),i=(e,t)=>r(`Home.${e}`,t),a=c(o().activeSession$),s=c(a?.user$),u=!!s,d=s?.isAdmin??!1,f=s?.isModerator??!1;return(0,k.jsx)(l,{Link:D,routes:E,t,tHome:i,brandingLink:`/`,collapsible:!0,storageKey:`knowledgeNavCollapsed`,isAuthenticated:u,isAdmin:d,isModerator:f,children:(e,t,n)=>(0,k.jsx)(M,{isCollapsed:e,toggleCollapsed:t,navigationMenu:n})})}function P(){return null}function F(){let{t:e}=n(),t=(t,n)=>n===void 0?e(`DiscoverEmptyState.${t}`):e(`DiscoverEmptyState.${t}`,n),r=o(),i=c(r.kbs$)??[],{kbs:a}=h(),s=c(r.activeSession$)?.kb??null,l=s?r.getKbSessionStatus(s.id):null;return i.length===0?(0,k.jsxs)(`div`,{style:{textAlign:`center`,maxWidth:`28rem`},children:[(0,k.jsx)(`h2`,{style:{fontSize:`1.1rem`,fontWeight:600,marginBottom:`0.5rem`},children:t(`noKnowledgeBases`)}),(0,k.jsx)(`p`,{style:{color:`var(--semiont-color-neutral-400)`,fontSize:`0.85rem`,lineHeight:1.5,marginBottom:`0.75rem`},children:t(`noKnowledgeBasesHint`)}),a.length>0&&(0,k.jsx)(`p`,{style:{color:`var(--semiont-color-primary-500)`,fontSize:`0.85rem`,lineHeight:1.5,marginBottom:`0.75rem`},children:t(`discoveredOnMachine`,{count:a.length})}),(0,k.jsxs)(`p`,{style:{color:`var(--semiont-color-neutral-400)`,fontSize:`0.85rem`,lineHeight:1.5},children:[(0,k.jsx)(`a`,{href:`https://github.com/The-AI-Alliance/semiont/blob/main/docs/KNOWLEDGE-BASES.md`,target:`_blank`,rel:`noopener noreferrer`,style:{color:`var(--semiont-color-primary-500)`},children:t(`findKnowledgeBases`)}),` · `,(0,k.jsx)(`a`,{href:`https://github.com/The-AI-Alliance/semiont-template-kb`,target:`_blank`,rel:`noopener noreferrer`,style:{color:`var(--semiont-color-primary-500)`},children:t(`createNew`)})]})]}):l===`authenticated`?null:(0,k.jsxs)(`div`,{style:{textAlign:`center`,maxWidth:`24rem`},children:[(0,k.jsx)(`h2`,{style:{fontSize:`1.1rem`,fontWeight:600,marginBottom:`0.5rem`},children:s?.label??``}),(0,k.jsxs)(`p`,{style:{color:`var(--semiont-color-neutral-400)`,fontSize:`0.85rem`,lineHeight:1.5},children:[t(l===`expired`?`sessionExpired`:`signedOut`),` `,t(`signInHint`)]})]})}function I({t:e,keyboardContext:t}){let n=a(),r=c(n.activePanel$)??null,{theme:i}=u(),o=(0,O.useRef)(!1);return(0,O.useEffect)(()=>{o.current||r===null||(o.current=!0,r===`user`&&n.openPanel(`knowledge-base`))},[r,n]),(0,k.jsxs)(`div`,{className:`h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden`,children:[(0,k.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,k.jsx)(`main`,{className:`flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden`,children:(0,k.jsx)(`div`,{className:`w-full mx-auto flex-1 flex flex-col h-full overflow-hidden items-center justify-center`,children:(0,k.jsx)(F,{})})}),(0,k.jsx)(y,{activePanel:r,theme:i}),(0,k.jsx)(f,{activePanel:r,context:`simple`})]}),(0,k.jsx)(p,{Link:D,routes:E,t:(t,n)=>e(`Footer.${t}`,n),CookiePreferences:_,showPolicyLinks:!(`__TAURI_INTERNALS__`in window),...t?.openKeyboardHelp&&{onOpenKeyboardHelp:t.openKeyboardHelp}})]})}function L(){let{t:e}=n(),t=(0,O.useContext)(g),i=o(),a=c(i.activeKbId$),s=c(i.activeSession$),l=c(i.sessionActivating$),u=c(s?.token$),f=s?.kb??null;return a!=null&&s==null&&l?(0,k.jsx)(`div`,{className:`h-screen flex items-center justify-center`,children:(0,k.jsxs)(`div`,{className:`text-center`,children:[(0,k.jsx)(`div`,{className:`animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4`}),(0,k.jsx)(`p`,{className:`text-gray-600 dark:text-gray-400`,children:`Loading...`})]})}):!f||!u?(0,k.jsx)(I,{t:(t,n)=>e(t,n),keyboardContext:t}):(0,k.jsxs)(d,{children:[(0,k.jsx)(P,{}),(0,k.jsxs)(`div`,{className:`h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden`,children:[(0,k.jsxs)(`div`,{className:`flex flex-1 overflow-hidden`,children:[(0,k.jsx)(N,{}),(0,k.jsx)(`main`,{className:`flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden`,children:(0,k.jsx)(`div`,{className:`w-full mx-auto flex-1 flex flex-col h-full overflow-hidden`,children:(0,k.jsx)(r,{})})})]}),(0,k.jsx)(p,{Link:D,routes:E,t:(t,n)=>e(`Footer.${t}`,n),CookiePreferences:_,showPolicyLinks:!(`__TAURI_INTERNALS__`in window),...t?.openKeyboardHelp&&{onOpenKeyboardHelp:t.openKeyboardHelp}})]})]})}function R(){return(0,k.jsx)(L,{})}export{F as DiscoverEmptyState,R as default};
|
|
2
|
+
//# sourceMappingURL=layout-xM3HYPpK.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"layout-xM3HYPpK.js","names":[],"sources":["../../src/components/knowledge/KnowledgeNavigation.tsx","../../src/components/knowledge/KnowledgeSidebarWrapper.tsx","../../src/app/[locale]/know/layout.tsx"],"sourcesContent":["import React, { useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport { Link } from '@/i18n/routing';\nimport { usePathname, useRouter } from '@/i18n/routing';\nimport { PlusIcon, ChevronLeftIcon, Bars3Icon, XMarkIcon } from '@heroicons/react/24/outline';\nimport {\n useSemiont,\n useObservable,\n useEventSubscriptions,\n CollapsibleResourceNavigation,\n type NavigationItem,\n} from '@semiont/react-ui';\nimport type { OpenResource } from '@semiont/sdk';\n// Custom telescope icon component\nconst TelescopeIcon = ({ className }: { className?: string }) => (\n <span className={className} style={{ fontSize: '1.25rem', lineHeight: '1' }}>🔭</span>\n);\n\ninterface KnowledgeNavigationProps {\n isCollapsed: boolean;\n toggleCollapsed: () => void;\n navigationMenu?: (onClose: () => void) => React.ReactNode;\n}\n\n// Adapter: CollapsibleResourceNavigation passes href, but our Link uses `to`\nfunction HrefLink({ href, to: _to, ...props }: React.ComponentProps<typeof Link> & { href?: string }) {\n return <Link to={(href ?? '') as string} {...props} />;\n}\n\nexport function KnowledgeNavigation({ isCollapsed, toggleCollapsed, navigationMenu }: KnowledgeNavigationProps) {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Sidebar.${k}`, p as any) as string;\n const pathname = usePathname();\n const router = useRouter();\n const semiont = useSemiont();\n const openResources = useObservable(semiont.openResources$) ?? [];\n const removeResource = semiont.removeOpenResource.bind(semiont);\n const reorderResources = semiont.reorderOpenResources.bind(semiont);\n\n const fixedNavigation: NavigationItem[] = [\n {\n name: t('discover'),\n href: '/know/discover',\n icon: TelescopeIcon,\n description: t('searchAndBrowse')\n },\n {\n name: t('compose'),\n href: '/know/compose',\n icon: PlusIcon,\n description: t('composeNewResource')\n }\n ];\n\n // Handle sidebar toggle events\n const handleSidebarToggle = useCallback(() => {\n toggleCollapsed();\n }, [toggleCollapsed]);\n\n // Handle resource close events\n const handleResourceClose = useCallback(({ resourceId }: { resourceId: string }) => {\n removeResource(resourceId);\n\n // If we're closing the currently viewed document, navigate to Discover\n if (pathname === `/know/resource/${resourceId}`) {\n router.push('/know/discover');\n }\n }, [removeResource, pathname, router]);\n\n // Handle resource reorder events\n const handleResourceReorder = useCallback(({ oldIndex, newIndex }: { oldIndex: number; newIndex: number }) => {\n reorderResources(oldIndex, newIndex);\n }, [reorderResources]);\n\n // Subscribe to navigation events\n useEventSubscriptions({\n 'shell:sidebar-toggle': handleSidebarToggle,\n 'tabs:close': handleResourceClose,\n 'tabs:reorder': handleResourceReorder,\n });\n\n // Handle navigation\n const handleNavigate = (path: string) => {\n router.push(path);\n };\n\n // Build resource href\n const getResourceHref = (resourceId: string) => {\n return `/know/resource/${resourceId}`;\n };\n\n return (\n <div className=\"flex flex-col h-full\">\n <div className=\"flex-1 min-h-0 overflow-y-auto\">\n <CollapsibleResourceNavigation\n fixedItems={fixedNavigation}\n resources={openResources as OpenResource[]}\n isCollapsed={isCollapsed}\n currentPath={pathname}\n LinkComponent={HrefLink as any}\n onNavigate={handleNavigate}\n getResourceHref={getResourceHref}\n className=\"knowledge-navigation\"\n translations={{\n title: t('title')\n }}\n icons={{\n chevronLeft: ChevronLeftIcon,\n bars: Bars3Icon,\n close: XMarkIcon\n }}\n navigationMenu={navigationMenu}\n />\n </div>\n </div>\n );\n}","import { useTranslation } from 'react-i18next';\nimport { LeftSidebar, useSemiont, useObservable } from '@semiont/react-ui';\nimport { KnowledgeNavigation } from './KnowledgeNavigation';\nimport { Link, routes } from '@/lib/routing';\n\nexport function KnowledgeSidebarWrapper() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`Navigation.${k}`, p as any) as string;\n const { t: _tHome } = useTranslation();\n const tHome = (k: string, p?: Record<string, unknown>) => _tHome(`Home.${k}`, p as any) as string;\n const session = useObservable(useSemiont().activeSession$);\n const user = useObservable(session?.user$);\n const isAuthenticated = !!user;\n const isAdmin = user?.isAdmin ?? false;\n const isModerator = user?.isModerator ?? false;\n\n return (\n <LeftSidebar\n Link={Link}\n routes={routes}\n t={t}\n tHome={tHome}\n brandingLink=\"/\"\n collapsible={true}\n storageKey=\"knowledgeNavCollapsed\"\n isAuthenticated={isAuthenticated}\n isAdmin={isAdmin}\n isModerator={isModerator}\n >\n {(isCollapsed, toggleCollapsed, navigationMenu) => (\n <KnowledgeNavigation\n isCollapsed={isCollapsed}\n toggleCollapsed={toggleCollapsed}\n navigationMenu={navigationMenu}\n />\n )}\n </LeftSidebar>\n );\n}\n","import { useContext, useEffect, useRef } from 'react';\nimport { Outlet } from 'react-router';\nimport { useTranslation } from 'react-i18next';\nimport { KnowledgeSidebarWrapper } from '@/components/knowledge/KnowledgeSidebarWrapper';\nimport {\n Footer,\n ResourceAnnotationsProvider,\n Toolbar,\n useSemiont,\n useShellStateUnit,\n useObservable,\n useTheme,\n useKBDiscovery,\n} from '@semiont/react-ui';\nimport { ToolbarPanels } from '@/components/toolbar/ToolbarPanels';\nimport { CookiePreferences } from '@/components/CookiePreferences';\nimport { KeyboardShortcutsContext } from '@/contexts/KeyboardShortcutsContext';\nimport { Link, routes } from '@/lib/routing';\n\nfunction GlobalEventsConnector() {\n return null;\n}\n\n/**\n * Empty state for the main content area when no KB is connected or authenticated.\n * Shows contextual guidance based on whether any KBs exist.\n */\nexport function DiscoverEmptyState() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) =>\n (p !== undefined ? _t(`DiscoverEmptyState.${k}`, p) : _t(`DiscoverEmptyState.${k}`)) as string;\n const semiont = useSemiont();\n const knowledgeBases = useObservable(semiont.kbs$) ?? [];\n // Launcher discovery: with zero registered KBs, say what's running on this\n // machine instead of only linking docs (BROWSER-KB-DISCOVERY follow-up).\n const { kbs: discoveredKbs } = useKBDiscovery();\n const activeKnowledgeBase = useObservable(semiont.activeSession$)?.kb ?? null;\n const status = activeKnowledgeBase\n ? semiont.getKbSessionStatus(activeKnowledgeBase.id)\n : null;\n\n if (knowledgeBases.length === 0) {\n return (\n <div style={{ textAlign: 'center', maxWidth: '28rem' }}>\n <h2 style={{ fontSize: '1.1rem', fontWeight: 600, marginBottom: '0.5rem' }}>{t('noKnowledgeBases')}</h2>\n <p style={{ color: 'var(--semiont-color-neutral-400)', fontSize: '0.85rem', lineHeight: 1.5, marginBottom: '0.75rem' }}>\n {t('noKnowledgeBasesHint')}\n </p>\n {discoveredKbs.length > 0 && (\n <p style={{ color: 'var(--semiont-color-primary-500)', fontSize: '0.85rem', lineHeight: 1.5, marginBottom: '0.75rem' }}>\n {t('discoveredOnMachine', { count: discoveredKbs.length })}\n </p>\n )}\n <p style={{ color: 'var(--semiont-color-neutral-400)', fontSize: '0.85rem', lineHeight: 1.5 }}>\n <a href=\"https://github.com/The-AI-Alliance/semiont/blob/main/docs/KNOWLEDGE-BASES.md\" target=\"_blank\" rel=\"noopener noreferrer\" style={{ color: 'var(--semiont-color-primary-500)' }}>{t('findKnowledgeBases')}</a>\n {' · '}\n <a href=\"https://github.com/The-AI-Alliance/semiont-template-kb\" target=\"_blank\" rel=\"noopener noreferrer\" style={{ color: 'var(--semiont-color-primary-500)' }}>{t('createNew')}</a>\n </p>\n </div>\n );\n }\n\n if (status === 'authenticated') {\n return null;\n }\n\n return (\n <div style={{ textAlign: 'center', maxWidth: '24rem' }}>\n <h2 style={{ fontSize: '1.1rem', fontWeight: 600, marginBottom: '0.5rem' }}>\n {activeKnowledgeBase?.label ?? ''}\n </h2>\n <p style={{ color: 'var(--semiont-color-neutral-400)', fontSize: '0.85rem', lineHeight: 1.5 }}>\n {status === 'expired' ? t('sessionExpired') : t('signedOut')}\n {' '}{t('signInHint')}\n </p>\n </div>\n );\n}\n\nfunction UnauthenticatedKnowledgeLayout({ t, keyboardContext }: { t: (key: string, params?: Record<string, unknown>) => string; keyboardContext: { openKeyboardHelp?: () => void } | null }) {\n const browseStateUnit = useShellStateUnit();\n const activePanel = useObservable(browseStateUnit.activePanel$) ?? null;\n const { theme } = useTheme();\n\n // The Account panel needs a session. Restored from a previous signed-in visit it\n // is a dead end — \"Sign in to a knowledge base to view your account\" — while the\n // empty state beside it says to sign in using the Knowledge Base panel. Open the\n // panel we are pointing at. Decided once, not reactively: a deliberate click on\n // Account while signed out should still show its message, not snap away.\n const panelCorrected = useRef(false);\n useEffect(() => {\n // useObservable yields null on the first render, before the BehaviorSubject's\n // current value arrives. Spending the one-shot on that null would let the\n // restored panel through on the render that actually carries it.\n if (panelCorrected.current || activePanel === null) return;\n panelCorrected.current = true;\n if (activePanel === 'user') browseStateUnit.openPanel('knowledge-base');\n }, [activePanel, browseStateUnit]);\n\n return (\n <div className=\"h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden\">\n <div className=\"flex flex-1 overflow-hidden\">\n <main className=\"flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden\">\n <div className=\"w-full mx-auto flex-1 flex flex-col h-full overflow-hidden items-center justify-center\">\n <DiscoverEmptyState />\n </div>\n </main>\n <ToolbarPanels\n activePanel={activePanel}\n theme={theme}\n />\n <Toolbar activePanel={activePanel} context=\"simple\" />\n </div>\n <Footer\n Link={Link}\n routes={routes}\n t={(key: string, params?: Record<string, unknown>) => t(`Footer.${key}`, params as any) as string}\n CookiePreferences={CookiePreferences}\n showPolicyLinks={!('__TAURI_INTERNALS__' in window)}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n />\n </div>\n );\n}\n\nfunction KnowledgeLayoutBody() {\n const { t } = useTranslation();\n const keyboardContext = useContext(KeyboardShortcutsContext);\n const semiont = useSemiont();\n const activeKbId = useObservable(semiont.activeKbId$);\n const session = useObservable(semiont.activeSession$);\n const sessionActivating = useObservable(semiont.sessionActivating$);\n const token = useObservable(session?.token$);\n const activeKnowledgeBase = session?.kb ?? null;\n // \"Loading\" = a session construction is actively in flight. Without\n // the `sessionActivating` guard we'd sit on the spinner forever after\n // any `signOut`, which also leaves `activeKbId` set but `session`\n // null.\n const isLoading = activeKbId != null && session == null && sessionActivating;\n\n if (isLoading) {\n return (\n <div className=\"h-screen flex items-center justify-center\">\n <div className=\"text-center\">\n <div className=\"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4\"></div>\n <p className=\"text-gray-600 dark:text-gray-400\">Loading...</p>\n </div>\n </div>\n );\n }\n\n if (!activeKnowledgeBase || !token) {\n return (\n <UnauthenticatedKnowledgeLayout t={(key: string, params?: Record<string, unknown>) => t(key, params as any) as string} keyboardContext={keyboardContext} />\n );\n }\n\n return (\n <ResourceAnnotationsProvider>\n <GlobalEventsConnector />\n <div className=\"h-screen semiont-knowledge-layout semiont-layout-with-footer flex flex-col overflow-hidden\">\n <div className=\"flex flex-1 overflow-hidden\">\n <KnowledgeSidebarWrapper />\n <main className=\"flex-1 w-full px-2 pb-6 flex flex-col overflow-hidden\">\n <div className=\"w-full mx-auto flex-1 flex flex-col h-full overflow-hidden\">\n <Outlet />\n </div>\n </main>\n </div>\n <Footer\n Link={Link}\n routes={routes}\n t={(key: string, params?: Record<string, unknown>) => t(`Footer.${key}`, params as any) as string}\n CookiePreferences={CookiePreferences}\n showPolicyLinks={!('__TAURI_INTERNALS__' in window)}\n {...(keyboardContext?.openKeyboardHelp && { onOpenKeyboardHelp: keyboardContext.openKeyboardHelp })}\n />\n </div>\n </ResourceAnnotationsProvider>\n );\n}\n\nexport default function KnowledgeLayout() {\n // AuthShell is mounted by the parent ProtectedLayout in App.tsx so it\n // survives navigation between know/, admin/, and moderate/ sections.\n return <KnowledgeLayoutBody />;\n}\n"],"mappings":"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"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={close:`Tutup`,codeLoading:`Memuatkan…`,codeAnalyzing:`Menanda…`,codeAnalyzingTags:`Menanda tag…`,codeDetectingEntities:`Menanda…`,codeCreatingAnnotations:`Mencipta {{count}} anotasi…`,codeCreatingTagAnnotations:`Mencipta {{count}} tag…`,codeCompleteCreated:`{{count}} {{kind}} dicipta`,codeGeneratingResource:`Menjana…`,codeCreatingResource:`Mencipta sumber…`,codeCompleteGenerated:`Sumber dicipta`,codeCompleteGeneratedTruncated:`Sumber dicipta — terpotong pada had panjang`,kindHighlight:`sorotan`,kindComment:`komen`,kindAssessment:`penilaian`,kindReference:`rujukan`,kindTag:`tag`,subject:`{{kind}}: {{label}}`,subjectWithPosition:`{{kind}}: {{label}} ({{done}} daripada {{total}})`,paramEntityTypes:`Jenis Entiti`,paramInstructions:`Arahan`,paramTone:`Nada`,paramDensity:`Ketumpatan`,subjectKindEntityType:`Jenis entiti`,subjectKindCategory:`Kategori`,cancel:`Batal`,inProgress:`Menganotasi...`},t={loadFailed:`Gagal memuatkan PDF`,loading:`Memuatkan PDF...`,next:`Seterusnya`,pageLoadFailed:`Gagal memuatkan halaman`,pageOf:`Halaman {{page}} daripada {{total}}`,pagination:`Navigasi halaman`,previous:`Sebelumnya`,viewerLoading:`Memuatkan pemapar PDF...`},n={annotations:`Anotasi`,history:`Sejarah`,resourceInfo:`Maklumat Sumber`,collaboration:`Kolaborasi`,userAccount:`Akaun Pengguna`,settings:`Tetapan`,knowledgeBase:`Pangkalan Pengetahuan`},r={title:`Maklumat Sumber`,locale:`Lokasi`,notSpecified:`Tidak dinyatakan`,entityTypeTags:`Tag Jenis Entiti`,representation:`Perwakilan`,mediaType:`Jenis Media`,byteSize:`Saiz`,storageUri:`Storan`,clone:`Klon`,cloneDescription:`Jana pautan klon yang boleh dikongsi untuk sumber ini`,generate:`Jana`,generateDescription:`Jana sumber baharu daripada konteks sumber ini`,archive:`Arkib`,archiveDescription:`Alihkan sumber ini ke status diarkibkan`,unarchive:`Nyaharkib`,unarchiveDescription:`Pulihkan sumber ini ke status aktif`,provenance:`Asal-usul`,createdAt:`Dicipta`,modifiedAt:`Diubah suai`,attributedTo:`Dikaitkan dengan`,derivedFrom:`Diperoleh daripada`},i={title:`Kolaborasi`,connectionStatus:`Status Sambungan`,live:`Langsung`,disconnected:`Terputus`,events:`{{count}} peristiwa`,lastSync:`Penyegerakan terakhir:`,noActivity:`Tiada aktiviti lagi`,justNow:`Baru sahaja`,secondsAgo:`{{count}} saat yang lalu`,minuteAgo:`1 minit yang lalu`,minutesAgo:`{{count}} minit yang lalu`,hourAgo:`1 jam yang lalu`,hoursAgo:`{{count}} jam yang lalu`,realtimeActive:`Kemas kini masa nyata sedang aktif`,reconnecting:`Menyambung semula ke pelayan...`,sharing:`Perkongsian`,collaborationComingSoon:`Ciri kolaborasi akan datang tidak lama lagi`,collaborators:`Kolaborator`,ceilings:`{{contextTokens}} masuk / {{maxOutputTokens}} keluar`,sharedWindow:`Tetingkap {{contextTokens}}`},a={history:`Sejarah`,loading:`Memuatkan...`,user:`Pengguna`,viewOriginal:`Lihat asal`,viewAnnotation:`Lihat anotasi: {{content}}`,resourceCreated:`Sumber Dicipta`,resourceCloned:`Diklon`,resourceArchived:`Diarkibkan`,resourceUnarchived:`Dinyaharkibkan`,highlightAdded:`Sorotan Ditambah`,highlightRemoved:`Sorotan Dibuang`,referenceCreated:`Rujukan Dicipta`,referenceResolved:`Rujukan Diselesaikan`,referenceDeleted:`Rujukan Dipadam`,entitytagAdded:`Tag Ditambah`,entitytagRemoved:`Tag Dibuang`,assessmentAdded:`Penilaian Ditambah`,assessmentRemoved:`Penilaian Dibuang`,annotationAdded:`Anotasi Ditambah`,annotationRemoved:`Anotasi Dibuang`,annotationBodyUpdated:`Anotasi Dikemas Kini`,jobEvent:`Peristiwa Tugas`,embeddingComputed:`Embedding dikira`,justNow:`baru sahaja`,minutesAgo:`{{count}}m lalu`,hoursAgo:`{{count}}j lalu`,daysAgo:`{{count}}h lalu`,failed:`Tidak dapat memuatkan sejarah.`,retry:`Cuba lagi`},o={title:`Ulasan`,noComments:`Tiada ulasan lagi. Pilih teks dan klik Ulasan untuk menambah satu.`,commentPlaceholder:`Taip ulasan anda di sini...`,save:`Simpan`,cancel:`Batal`,edit:`Sunting`,annotateComments:`Anotasi Ulasan`,instructions:`Arahan`,optional:`(pilihan)`,instructionsPlaceholder:`cth., Fokus pada istilah teknikal...`,annotate:`Anotasi`,annotating:`Menganotasi...`,toneLabel:`Nada`,toneOptional:`(pilihan)`,toneScholarly:`Ilmiah`,toneExplanatory:`Penjelasan`,toneConversational:`Perbualan`,toneTechnical:`Teknikal`,densityLabel:`Ketumpatan`,densitySparse:`Jarang`,densityDense:`Padat`,fragmentSelected:`Fragmen dipilih`,imageRegionSelected:`Kawasan imej dipilih`,complete:`Anotasi selesai!`,failed:`Anotasi gagal`,densityPerWords:`{{density}} setiap 2000 perkataan`},s={title:`Sorotan`,noHighlights:`Tiada sorotan lagi. Gunakan anotasi AI untuk mencari petikan penting.`,annotateHighlights:`Anotasi Sorotan`,instructions:`Arahan`,optional:`(pilihan)`,instructionsPlaceholder:`cth., Fokus pada konsep teknikal utama...`,annotate:`Anotasi`,annotating:`Menganotasi...`,cancel:`Batal`,densityLabel:`Ketumpatan`,densitySparse:`Jarang`,densityDense:`Padat`,complete:`Anotasi selesai!`,failed:`Anotasi gagal`,densityPerWords:`{{density}} setiap 2000 perkataan`},c={title:`Penilaian`,noAssessments:`Tiada penilaian lagi. Gunakan anotasi AI untuk menilai petikan.`,assessmentPlaceholder:`Taip penilaian anda di sini...`,save:`Simpan`,cancel:`Batal`,annotateAssessments:`Anotasi Penilaian`,instructions:`Arahan`,optional:`(pilihan)`,instructionsPlaceholder:`cth., Nilai dakwaan untuk ketepatan dan bukti...`,annotate:`Anotasi`,annotating:`Menganotasi...`,toneLabel:`Nada`,toneOptional:`(pilihan)`,toneAnalytical:`Analitikal`,toneCritical:`Kritikal`,toneBalanced:`Seimbang`,toneConstructive:`Konstruktif`,densityLabel:`Ketumpatan`,densitySparse:`Jarang`,densityDense:`Padat`,fragmentSelected:`Fragmen dipilih`,imageRegionSelected:`Kawasan imej dipilih`,complete:`Anotasi selesai!`,failed:`Anotasi gagal`,densityPerWords:`{{density}} setiap 2000 perkataan`},l={title:`Tag`,noTags:`Tiada tag lagi. Gunakan anotasi AI untuk mengenal pasti peranan struktur.`,noSchemas:"Tiada skema tag didaftarkan untuk pangkalan pengetahuan ini. Pentadbir KB mesti mendaftarkan sekurang-kurangnya satu skema analisis struktur (cth. melalui kemahiran `register-tag-schemas`) sebelum penandaan boleh digunakan.",annotateTags:`Anotasi Tag`,selectSchema:`Pilih Rangka Kerja`,selectCategories:`Pilih Kategori`,annotate:`Anotasi`,annotating:`Menganotasi...`,cancel:`Batal`,selectAll:`Pilih Semua`,deselectAll:`Nyahpilih Semua`,categoriesSelected:`{count, plural, =0 {Tiada kategori dipilih} =1 {1 kategori dipilih} other {# kategori dipilih}}`,createTagForSelection:`Cipta Tag untuk Pilihan`,selectCategory:`Pilih Kategori`,chooseCategory:`Pilih kategori...`,fragmentSelected:`Fragmen dipilih`,imageRegionSelected:`Kawasan imej dipilih`,complete:`Anotasi selesai!`,failed:`Anotasi gagal`},u={title:`Anotasi`,statistics:`Statistik`,highlight:`Sorotan`,reference:`Rujukan`,assessment:`Penilaian`,comment:`Ulasan`,tag:`Tag`,annotationsFailed:`Tidak dapat memuatkan anotasi.`,retry:`Cuba lagi`},d={title:`Statistik`,highlights:`Sorotan`,comments:`Ulasan`,assessments:`Penilaian`,tags:`Tag`,references:`Rujukan`,stub:`Stub`,resolved:`Diselesaikan`,entityTypes:`Jenis Entiti`},f={title:`Rujukan`,noReferences:`Tiada rujukan lagi. Pilih teks untuk mencipta rujukan ke sumber lain.`,outgoingReferences:`Rujukan Keluar`,incomingReferences:`Rujukan Masuk`,noIncomingReferences:`Tiada rujukan masuk`,stub:`Rujukan stub (tidak dipautkan)`,resolved:`Rujukan diselesaikan (dipautkan)`,derived:`Terbitan`,open:`Buka`,unlink:`Nyahpaut`,resolve:`Selesaikan rujukan`,cancel:`Batal`,createReference:`Cipta Rujukan`,entityTypesOptional:`Jenis Entiti (Pilihan)`,fragmentSelected:`Fragmen dipilih`,annotateReferences:`Anotasi Rujukan`,selectEntityTypes:`Jenis entiti:`,select:`Pilih`,deselect:`Nyahpilih`,noEntityTypes:`Tiada jenis entiti tersedia`,typesSelected:`{count, plural, =1 {1 jenis dipilih} other {# jenis dipilih}}`,annotate:`Anotasi`,annotating:`Menganotasi...`,includeDescriptiveReferences:`Sertakan rujukan deskriptif`,descriptiveReferencesTooltip:`Cari juga frasa seperti 'CEO tersebut', 'gergasi teknologi tersebut', 'ahli fizik tersebut' (selain nama)`,found:`{{count}} ditemui`,complete:`Anotasi selesai!`,failed:`Anotasi gagal`,current:`Semasa: {{entityType}}`,loading:`memuatkan...`,loadingEllipsis:`Memuatkan...`,untitledResource:`Sumber Tanpa Tajuk`,noText:`Tiada teks`,incomingReferencesFailed:`Tidak dapat memuatkan rujukan masuk.`,retry:`Cuba lagi`,entityTypesFailed:`Tidak dapat memuatkan jenis entiti.`},p={title:`Pintasan Papan Kekunci`,closeDialog:`Tutup dialog`,or:`atau`,navigationTitle:`Navigasi`,navOpenSearch:`Buka carian global`,navOpenSearchAlt:`Buka carian global (alternatif)`,navCreateResource:`Cipta sumber baharu`,navCloseOverlays:`Tutup semua tindanan (tekan dua kali)`,navShowHelp:`Tunjukkan bantuan pintasan papan kekunci`,sidebarTitle:`Bar Sisi Pengetahuan`,sidebarCollapse:`Kecilkan bar sisi`,sidebarExpand:`Kembangkan bar sisi`,sidebarPickup:`Angkat tab sumber (apabila difokuskan)`,sidebarMove:`Alihkan tab sumber (apabila menyeret)`,sidebarDrop:`Lepaskan tab sumber (apabila menyeret)`,sidebarCancel:`Batalkan operasi seret`,annotationsTitle:`Anotasi Sumber`,annotHighlight:`Cipta sorotan daripada anotasi (terus)`,annotReference:`Buka tetingkap timbul rujukan untuk anotasi`,annotDelete:`Padam anotasi yang difokuskan`,annotNavigate:`Navigasi melalui anotasi`,annotNavigateBack:`Navigasi anotasi ke belakang`,listsTitle:`Senarai & Grid`,listsFilterNav:`Navigasi penapis jenis entiti`,listsGridNav:`Navigasi grid sumber`,listsJumpFirst:`Lompat ke item pertama`,listsJumpLast:`Lompat ke item terakhir`,searchModalTitle:`Dalam Modal Carian`,searchNav:`Navigasi hasil carian`,searchSelect:`Pilih hasil`,searchClose:`Tutup carian`,modalTitle:`Kawalan Modal`,modalClose:`Tutup modal aktif`,modalNavForward:`Navigasi ke hadapan melalui butang`,modalNavBackward:`Navigasi ke belakang melalui butang`,modalActivate:`Aktifkan butang yang difokuskan`,accessibilityTitle:`Kebolehcapaian`,a11ySkipLinks:`Navigasi ke pautan langkau (apabila di permulaan halaman)`,a11yFollowLink:`Ikuti pautan langkau`,macNote:`Menggunakan pintasan papan kekunci Mac. ⌘ ialah kekunci Command.`,windowsNote:`Menggunakan pintasan papan kekunci Windows/Linux. Ctrl ialah kekunci Control.`,footerHint:`Tekan {{key}} pada bila-bila masa untuk menunjukkan bantuan ini`,close:`Tutup`},m={modeGroup:`Mod`,browse:`Layari`,annotate:`Anotasi`,selectionGroup:`Motivasi`,clickGroup:`Klik`,shapeGroup:`Bentuk`,none:`Tiada`,linking:`Rujukan`,highlighting:`Sorotan`,assessing:`Nilai`,commenting:`Ulasan`,tagging:`Tag`,detail:`Perincian`,follow:`Ikuti`,deleting:`Padam`,jsonld:`JSON-LD`,rectangle:`Segi Empat Tepat`,circle:`Bulatan`,polygon:`Poligon`},h={title:`Navigasi`,collapseSidebar:`Kecilkan bar sisi`,expandSidebar:`Kembangkan bar sisi`,dragToReorder:`Seret untuk menyusun semula`,dragToReorderDoc:`Seret untuk menyusun semula {{name}}`,closeResource:`Tutup sumber`,dragInstructions:`Untuk menyusun semula sumber: Gunakan Tab untuk navigasi ke sumber. Tekan Alt+Anak panah atas untuk bergerak ke atas atau Alt+Anak panah bawah untuk bergerak ke bawah. Untuk seret dan lepas: Tekan bar ruang untuk mengangkat item. Gunakan kekunci anak panah untuk mengalihkannya. Tekan bar ruang sekali lagi untuk melepaskan.`},g={deleteConfirmationTitle:`Padam Anotasi`,deleteConfirmationMessage:`Adakah anda pasti mahu memadam anotasi ini? Tindakan ini tidak boleh dibatalkan.`,deleteConfirmationCancel:`Batal`,deleteConfirmationDelete:`Padam`},_={title:`Tetapan`,lineNumbers:`Nombor Baris`,lineNumbersVisible:`Kelihatan`,lineNumbersHidden:`Tersembunyi`,theme:`Tema`,themeLight:`Cerah`,themeDark:`Gelap`,themeSystem:`Sistem`,themeSystemActive:`Sistem ({{mode}})`,themeModeActive:`Menggunakan mod {{mode}}`,language:`Bahasa`,languageHint:`Tukar bahasa dalam navigasi utama`,languageChanging:`Menukar bahasa...`,hoverDelay:`Kelewatan Terapung`,hoverDelayFast:`Pantas`,hoverDelaySlow:`Perlahan`,hoverDelayDescription:`Kelewatan {{delay}}ms sebelum kesan terapung muncul`},v={},y={gatherIntro:`Pilih perkara yang hendak disertakan dalam konteks yang dikumpul.`,includeContent:`Sertakan kandungan sumber`,includeSummary:`Sertakan ringkasan`,gatherDepth:`Kedalaman`,gatherMaxResources:`Sumber Maksimum`,gatherButton:`Kumpul`,editGather:`Tukar tetapan kumpulan`,recallLabel:`Termasuk dalam imbasan — nyahpilih untuk mengecualikan`,loadingContext:`Mengumpul konteks...`,failedContext:`Gagal mengumpul konteks`,sourceContextLabel:`Sumber`,connectionsLabel:`Sambungan`,citedByLabel:`Dipetik oleh`,resourceTitle:`Tajuk sumber baharu`,resourceTitlePlaceholder:`Tajuk untuk sumber yang dijana...`,additionalInstructions:`Arahan Tambahan`,additionalInstructionsPlaceholder:`Panduan pilihan untuk penjanaan...`,language:`Bahasa`,languageHelp:`Bahasa untuk sumber yang dijana`,creativity:`Kreativiti`,creativityFocused:`Tertumpu`,creativityCreative:`Kreatif`,maxLength:`Panjang Maksimum`,maxLengthHelp:`Bilangan maksimum token`,generate:`Jana`,maxLengthCeiling:`Dihadkan kepada {{maxOutputTokens}} token oleh {{model}}.`,outputFormat:`Format`,formatExtensionMismatch:`Lokasi simpanan mesti berakhir dengan {{extension}} supaya sepadan dengan format yang dipilih.`,graphPaneTitle:`Kejiranan`,graphEmpty:`Belum ada pautan.`,resourceLinkLabel:`Pautan sumber`,corpusPaneTitle:`Petikan serupa`,corpusEmpty:`Tiada petikan serupa ditemui.`,excludedReceipt:`{{types}} dikecualikan daripada dapatan ini`,machineRead:`OCR`,score:`Skor`,saveLocation:`Lokasi simpanan`,discardDraftPrompt:`Buang draf ini?`,discardDraft:`Buang`,keepEditing:`Terus menyunting`,title:`Jana daripada sumber ini`},b={sourceContextLabel:`Konteks anotasi dalam sumber`,connectionsLabel:`Anotasi rakan sebaya`,citedByLabel:`Sumber dipetik oleh`,userHintLabel:`Petunjuk`,userHintPlaceholder:`Terangkan apa yang dirujuk oleh anotasi ini...`,loadingContext:`Mengumpul konteks...`,failedContext:`Gagal mengumpul konteks`,generate:`Jana`,compose:`Karang`,resolutionStrategyLabel:`Strategi resolusi`,back:`Kembali`,link:`Pautan`,score:`Skor`,noResults:`Tiada hasil ditemui`,resourceTitle:`Tajuk Sumber`,resourceTitlePlaceholder:`Masukkan tajuk sumber...`,additionalInstructions:`Arahan Tambahan`,additionalInstructionsPlaceholder:`Masukkan arahan tambahan...`,language:`Bahasa`,languageHelp:`Bahasa untuk kandungan yang dijana`,creativity:`Kreativiti`,creativityFocused:`Tertumpu`,creativityCreative:`Kreatif`,maxLength:`Panjang Maksimum`,maxLengthHelp:`Bilangan maksimum token`,maxResults:`Hasil Maksimum`,semanticScoring:`Pemarkahan Semantik`,semanticScoringHelp:`Gunakan AI untuk menilai hasil mengikut kerelevanan semantik`,searching:`Mencari...`,searchFailed:`Carian gagal`,search:`Cari`,maxLengthCeiling:`Dihadkan kepada {{maxOutputTokens}} token oleh {{model}}.`,outputFormat:`Format`,formatExtensionMismatch:`Lokasi simpanan mesti berakhir dengan {{extension}} supaya sepadan dengan format yang dipilih.`,graphPaneTitle:`Kejiranan`,graphEmpty:`Belum ada pautan — menyelesaikan rujukan ini mencipta yang pertama.`,resourceLinkLabel:`Pautan sumber`,corpusPaneTitle:`Petikan serupa`,corpusEmpty:`Tiada petikan serupa ditemui — carian berkemungkinan tidak berhasil.`,excludedReceipt:`{{types}} dikecualikan daripada dapatan ini`,machineRead:`OCR`,userHintEffect:`memandu carian dan penjanaan`,saveLocation:`Lokasi simpanan`,entityTypes:`Jenis entiti`,contentLabel:`Kandungan`,createAndLink:`Cipta & Paut`,creatingAndLinking:`Mencipta & memaut…`,discardDraftPrompt:`Buang draf ini?`,discardDraft:`Buang`,keepEditing:`Terus menyunting`,resolveTitle:`Selesaikan rujukan`},x={createFailed:`Tidak dapat mencipta anotasi: {{detail}}`,deleteFailed:`Tidak dapat memadam anotasi: {{detail}}`,referenceUpdateFailed:`Tidak dapat mengemas kini rujukan: {{detail}}`,unknownError:`ralat tidak diketahui`,assistQuiet:`Masih berjalan — tiada kemas kini selama beberapa minit`,resourceCreatedNamed:`“{{name}}” dicipta`,resourceCreated:`Sumber dicipta`,annotationComplete:`Anotasi selesai`,annotationFailed:`Anotasi gagal`,generationFailed:`Penjanaan gagal: {{detail}}`,"decline_no-text-layer":`PDF ini ialah imbasan yang teksnya tidak dapat dikenali.`,decline_encrypted:`PDF ini dilindungi kata laluan, teksnya tidak boleh dibaca.`,decline_corrupt:`PDF ini tidak dapat dibaca — fail mungkin rosak.`,"decline_too-large":`Dokumen ini terlalu besar untuk mengekstrak teks.`,decline_empty:`Dokumen ini tiada teks untuk dianotasi.`},S={AssistProgress:e,PdfViewer:t,Toolbar:n,ResourceInfoPanel:r,CollaborationPanel:i,AnnotationHistory:a,CommentsPanel:o,HighlightPanel:s,AssessmentPanel:c,TaggingPanel:l,UnifiedAnnotationsPanel:u,StatisticsPanel:d,ReferencesPanel:f,KeyboardShortcuts:p,AnnotateToolbar:m,CollapsibleResourceNavigation:h,ResourceViewer:g,Settings:_,AnnotateView:v,ResourceGenerate:y,ReferenceWizard:b,OutcomeToasts:x};export{m as AnnotateToolbar,v as AnnotateView,a as AnnotationHistory,c as AssessmentPanel,e as AssistProgress,i as CollaborationPanel,h as CollapsibleResourceNavigation,o as CommentsPanel,s as HighlightPanel,p as KeyboardShortcuts,x as OutcomeToasts,t as PdfViewer,b as ReferenceWizard,f as ReferencesPanel,y as ResourceGenerate,r as ResourceInfoPanel,g as ResourceViewer,_ as Settings,d as StatisticsPanel,l as TaggingPanel,n as Toolbar,u as UnifiedAnnotationsPanel,S as default};
|
|
2
|
+
//# sourceMappingURL=ms-Y2AFPZTU-q4v04hSa.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ms-Y2AFPZTU-q4v04hSa.js","names":[],"sources":["../../../../packages/react-ui/dist/ms-Y2AFPZTU.js"],"sourcesContent":["'use client';\nimport \"./chunk-O23TLLXW.js\";\n\n// translations/ms.json\nvar AssistProgress = {\n close: \"Tutup\",\n codeLoading: \"Memuatkan\\u2026\",\n codeAnalyzing: \"Menanda\\u2026\",\n codeAnalyzingTags: \"Menanda tag\\u2026\",\n codeDetectingEntities: \"Menanda\\u2026\",\n codeCreatingAnnotations: \"Mencipta {{count}} anotasi\\u2026\",\n codeCreatingTagAnnotations: \"Mencipta {{count}} tag\\u2026\",\n codeCompleteCreated: \"{{count}} {{kind}} dicipta\",\n codeGeneratingResource: \"Menjana\\u2026\",\n codeCreatingResource: \"Mencipta sumber\\u2026\",\n codeCompleteGenerated: \"Sumber dicipta\",\n codeCompleteGeneratedTruncated: \"Sumber dicipta \\u2014 terpotong pada had panjang\",\n kindHighlight: \"sorotan\",\n kindComment: \"komen\",\n kindAssessment: \"penilaian\",\n kindReference: \"rujukan\",\n kindTag: \"tag\",\n subject: \"{{kind}}: {{label}}\",\n subjectWithPosition: \"{{kind}}: {{label}} ({{done}} daripada {{total}})\",\n paramEntityTypes: \"Jenis Entiti\",\n paramInstructions: \"Arahan\",\n paramTone: \"Nada\",\n paramDensity: \"Ketumpatan\",\n subjectKindEntityType: \"Jenis entiti\",\n subjectKindCategory: \"Kategori\",\n cancel: \"Batal\",\n inProgress: \"Menganotasi...\"\n};\nvar PdfViewer = {\n loadFailed: \"Gagal memuatkan PDF\",\n loading: \"Memuatkan PDF...\",\n next: \"Seterusnya\",\n pageLoadFailed: \"Gagal memuatkan halaman\",\n pageOf: \"Halaman {{page}} daripada {{total}}\",\n pagination: \"Navigasi halaman\",\n previous: \"Sebelumnya\",\n viewerLoading: \"Memuatkan pemapar PDF...\"\n};\nvar Toolbar = {\n annotations: \"Anotasi\",\n history: \"Sejarah\",\n resourceInfo: \"Maklumat Sumber\",\n collaboration: \"Kolaborasi\",\n userAccount: \"Akaun Pengguna\",\n settings: \"Tetapan\",\n knowledgeBase: \"Pangkalan Pengetahuan\"\n};\nvar ResourceInfoPanel = {\n title: \"Maklumat Sumber\",\n locale: \"Lokasi\",\n notSpecified: \"Tidak dinyatakan\",\n entityTypeTags: \"Tag Jenis Entiti\",\n representation: \"Perwakilan\",\n mediaType: \"Jenis Media\",\n byteSize: \"Saiz\",\n storageUri: \"Storan\",\n clone: \"Klon\",\n cloneDescription: \"Jana pautan klon yang boleh dikongsi untuk sumber ini\",\n generate: \"Jana\",\n generateDescription: \"Jana sumber baharu daripada konteks sumber ini\",\n archive: \"Arkib\",\n archiveDescription: \"Alihkan sumber ini ke status diarkibkan\",\n unarchive: \"Nyaharkib\",\n unarchiveDescription: \"Pulihkan sumber ini ke status aktif\",\n provenance: \"Asal-usul\",\n createdAt: \"Dicipta\",\n modifiedAt: \"Diubah suai\",\n attributedTo: \"Dikaitkan dengan\",\n derivedFrom: \"Diperoleh daripada\"\n};\nvar CollaborationPanel = {\n title: \"Kolaborasi\",\n connectionStatus: \"Status Sambungan\",\n live: \"Langsung\",\n disconnected: \"Terputus\",\n events: \"{{count}} peristiwa\",\n lastSync: \"Penyegerakan terakhir:\",\n noActivity: \"Tiada aktiviti lagi\",\n justNow: \"Baru sahaja\",\n secondsAgo: \"{{count}} saat yang lalu\",\n minuteAgo: \"1 minit yang lalu\",\n minutesAgo: \"{{count}} minit yang lalu\",\n hourAgo: \"1 jam yang lalu\",\n hoursAgo: \"{{count}} jam yang lalu\",\n realtimeActive: \"Kemas kini masa nyata sedang aktif\",\n reconnecting: \"Menyambung semula ke pelayan...\",\n sharing: \"Perkongsian\",\n collaborationComingSoon: \"Ciri kolaborasi akan datang tidak lama lagi\",\n collaborators: \"Kolaborator\",\n ceilings: \"{{contextTokens}} masuk / {{maxOutputTokens}} keluar\",\n sharedWindow: \"Tetingkap {{contextTokens}}\"\n};\nvar AnnotationHistory = {\n history: \"Sejarah\",\n loading: \"Memuatkan...\",\n user: \"Pengguna\",\n viewOriginal: \"Lihat asal\",\n viewAnnotation: \"Lihat anotasi: {{content}}\",\n resourceCreated: \"Sumber Dicipta\",\n resourceCloned: \"Diklon\",\n resourceArchived: \"Diarkibkan\",\n resourceUnarchived: \"Dinyaharkibkan\",\n highlightAdded: \"Sorotan Ditambah\",\n highlightRemoved: \"Sorotan Dibuang\",\n referenceCreated: \"Rujukan Dicipta\",\n referenceResolved: \"Rujukan Diselesaikan\",\n referenceDeleted: \"Rujukan Dipadam\",\n entitytagAdded: \"Tag Ditambah\",\n entitytagRemoved: \"Tag Dibuang\",\n assessmentAdded: \"Penilaian Ditambah\",\n assessmentRemoved: \"Penilaian Dibuang\",\n annotationAdded: \"Anotasi Ditambah\",\n annotationRemoved: \"Anotasi Dibuang\",\n annotationBodyUpdated: \"Anotasi Dikemas Kini\",\n jobEvent: \"Peristiwa Tugas\",\n embeddingComputed: \"Embedding dikira\",\n justNow: \"baru sahaja\",\n minutesAgo: \"{{count}}m lalu\",\n hoursAgo: \"{{count}}j lalu\",\n daysAgo: \"{{count}}h lalu\",\n failed: \"Tidak dapat memuatkan sejarah.\",\n retry: \"Cuba lagi\"\n};\nvar CommentsPanel = {\n title: \"Ulasan\",\n noComments: \"Tiada ulasan lagi. Pilih teks dan klik Ulasan untuk menambah satu.\",\n commentPlaceholder: \"Taip ulasan anda di sini...\",\n save: \"Simpan\",\n cancel: \"Batal\",\n edit: \"Sunting\",\n annotateComments: \"Anotasi Ulasan\",\n instructions: \"Arahan\",\n optional: \"(pilihan)\",\n instructionsPlaceholder: \"cth., Fokus pada istilah teknikal...\",\n annotate: \"Anotasi\",\n annotating: \"Menganotasi...\",\n toneLabel: \"Nada\",\n toneOptional: \"(pilihan)\",\n toneScholarly: \"Ilmiah\",\n toneExplanatory: \"Penjelasan\",\n toneConversational: \"Perbualan\",\n toneTechnical: \"Teknikal\",\n densityLabel: \"Ketumpatan\",\n densitySparse: \"Jarang\",\n densityDense: \"Padat\",\n fragmentSelected: \"Fragmen dipilih\",\n imageRegionSelected: \"Kawasan imej dipilih\",\n complete: \"Anotasi selesai!\",\n failed: \"Anotasi gagal\",\n densityPerWords: \"{{density}} setiap 2000 perkataan\"\n};\nvar HighlightPanel = {\n title: \"Sorotan\",\n noHighlights: \"Tiada sorotan lagi. Gunakan anotasi AI untuk mencari petikan penting.\",\n annotateHighlights: \"Anotasi Sorotan\",\n instructions: \"Arahan\",\n optional: \"(pilihan)\",\n instructionsPlaceholder: \"cth., Fokus pada konsep teknikal utama...\",\n annotate: \"Anotasi\",\n annotating: \"Menganotasi...\",\n cancel: \"Batal\",\n densityLabel: \"Ketumpatan\",\n densitySparse: \"Jarang\",\n densityDense: \"Padat\",\n complete: \"Anotasi selesai!\",\n failed: \"Anotasi gagal\",\n densityPerWords: \"{{density}} setiap 2000 perkataan\"\n};\nvar AssessmentPanel = {\n title: \"Penilaian\",\n noAssessments: \"Tiada penilaian lagi. Gunakan anotasi AI untuk menilai petikan.\",\n assessmentPlaceholder: \"Taip penilaian anda di sini...\",\n save: \"Simpan\",\n cancel: \"Batal\",\n annotateAssessments: \"Anotasi Penilaian\",\n instructions: \"Arahan\",\n optional: \"(pilihan)\",\n instructionsPlaceholder: \"cth., Nilai dakwaan untuk ketepatan dan bukti...\",\n annotate: \"Anotasi\",\n annotating: \"Menganotasi...\",\n toneLabel: \"Nada\",\n toneOptional: \"(pilihan)\",\n toneAnalytical: \"Analitikal\",\n toneCritical: \"Kritikal\",\n toneBalanced: \"Seimbang\",\n toneConstructive: \"Konstruktif\",\n densityLabel: \"Ketumpatan\",\n densitySparse: \"Jarang\",\n densityDense: \"Padat\",\n fragmentSelected: \"Fragmen dipilih\",\n imageRegionSelected: \"Kawasan imej dipilih\",\n complete: \"Anotasi selesai!\",\n failed: \"Anotasi gagal\",\n densityPerWords: \"{{density}} setiap 2000 perkataan\"\n};\nvar TaggingPanel = {\n title: \"Tag\",\n noTags: \"Tiada tag lagi. Gunakan anotasi AI untuk mengenal pasti peranan struktur.\",\n noSchemas: \"Tiada skema tag didaftarkan untuk pangkalan pengetahuan ini. Pentadbir KB mesti mendaftarkan sekurang-kurangnya satu skema analisis struktur (cth. melalui kemahiran `register-tag-schemas`) sebelum penandaan boleh digunakan.\",\n annotateTags: \"Anotasi Tag\",\n selectSchema: \"Pilih Rangka Kerja\",\n selectCategories: \"Pilih Kategori\",\n annotate: \"Anotasi\",\n annotating: \"Menganotasi...\",\n cancel: \"Batal\",\n selectAll: \"Pilih Semua\",\n deselectAll: \"Nyahpilih Semua\",\n categoriesSelected: \"{count, plural, =0 {Tiada kategori dipilih} =1 {1 kategori dipilih} other {# kategori dipilih}}\",\n createTagForSelection: \"Cipta Tag untuk Pilihan\",\n selectCategory: \"Pilih Kategori\",\n chooseCategory: \"Pilih kategori...\",\n fragmentSelected: \"Fragmen dipilih\",\n imageRegionSelected: \"Kawasan imej dipilih\",\n complete: \"Anotasi selesai!\",\n failed: \"Anotasi gagal\"\n};\nvar UnifiedAnnotationsPanel = {\n title: \"Anotasi\",\n statistics: \"Statistik\",\n highlight: \"Sorotan\",\n reference: \"Rujukan\",\n assessment: \"Penilaian\",\n comment: \"Ulasan\",\n tag: \"Tag\",\n annotationsFailed: \"Tidak dapat memuatkan anotasi.\",\n retry: \"Cuba lagi\"\n};\nvar StatisticsPanel = {\n title: \"Statistik\",\n highlights: \"Sorotan\",\n comments: \"Ulasan\",\n assessments: \"Penilaian\",\n tags: \"Tag\",\n references: \"Rujukan\",\n stub: \"Stub\",\n resolved: \"Diselesaikan\",\n entityTypes: \"Jenis Entiti\"\n};\nvar ReferencesPanel = {\n title: \"Rujukan\",\n noReferences: \"Tiada rujukan lagi. Pilih teks untuk mencipta rujukan ke sumber lain.\",\n outgoingReferences: \"Rujukan Keluar\",\n incomingReferences: \"Rujukan Masuk\",\n noIncomingReferences: \"Tiada rujukan masuk\",\n stub: \"Rujukan stub (tidak dipautkan)\",\n resolved: \"Rujukan diselesaikan (dipautkan)\",\n derived: \"Terbitan\",\n open: \"Buka\",\n unlink: \"Nyahpaut\",\n resolve: \"Selesaikan rujukan\",\n cancel: \"Batal\",\n createReference: \"Cipta Rujukan\",\n entityTypesOptional: \"Jenis Entiti (Pilihan)\",\n fragmentSelected: \"Fragmen dipilih\",\n annotateReferences: \"Anotasi Rujukan\",\n selectEntityTypes: \"Jenis entiti:\",\n select: \"Pilih\",\n deselect: \"Nyahpilih\",\n noEntityTypes: \"Tiada jenis entiti tersedia\",\n typesSelected: \"{count, plural, =1 {1 jenis dipilih} other {# jenis dipilih}}\",\n annotate: \"Anotasi\",\n annotating: \"Menganotasi...\",\n includeDescriptiveReferences: \"Sertakan rujukan deskriptif\",\n descriptiveReferencesTooltip: \"Cari juga frasa seperti 'CEO tersebut', 'gergasi teknologi tersebut', 'ahli fizik tersebut' (selain nama)\",\n found: \"{{count}} ditemui\",\n complete: \"Anotasi selesai!\",\n failed: \"Anotasi gagal\",\n current: \"Semasa: {{entityType}}\",\n loading: \"memuatkan...\",\n loadingEllipsis: \"Memuatkan...\",\n untitledResource: \"Sumber Tanpa Tajuk\",\n noText: \"Tiada teks\",\n incomingReferencesFailed: \"Tidak dapat memuatkan rujukan masuk.\",\n retry: \"Cuba lagi\",\n entityTypesFailed: \"Tidak dapat memuatkan jenis entiti.\"\n};\nvar KeyboardShortcuts = {\n title: \"Pintasan Papan Kekunci\",\n closeDialog: \"Tutup dialog\",\n or: \"atau\",\n navigationTitle: \"Navigasi\",\n navOpenSearch: \"Buka carian global\",\n navOpenSearchAlt: \"Buka carian global (alternatif)\",\n navCreateResource: \"Cipta sumber baharu\",\n navCloseOverlays: \"Tutup semua tindanan (tekan dua kali)\",\n navShowHelp: \"Tunjukkan bantuan pintasan papan kekunci\",\n sidebarTitle: \"Bar Sisi Pengetahuan\",\n sidebarCollapse: \"Kecilkan bar sisi\",\n sidebarExpand: \"Kembangkan bar sisi\",\n sidebarPickup: \"Angkat tab sumber (apabila difokuskan)\",\n sidebarMove: \"Alihkan tab sumber (apabila menyeret)\",\n sidebarDrop: \"Lepaskan tab sumber (apabila menyeret)\",\n sidebarCancel: \"Batalkan operasi seret\",\n annotationsTitle: \"Anotasi Sumber\",\n annotHighlight: \"Cipta sorotan daripada anotasi (terus)\",\n annotReference: \"Buka tetingkap timbul rujukan untuk anotasi\",\n annotDelete: \"Padam anotasi yang difokuskan\",\n annotNavigate: \"Navigasi melalui anotasi\",\n annotNavigateBack: \"Navigasi anotasi ke belakang\",\n listsTitle: \"Senarai & Grid\",\n listsFilterNav: \"Navigasi penapis jenis entiti\",\n listsGridNav: \"Navigasi grid sumber\",\n listsJumpFirst: \"Lompat ke item pertama\",\n listsJumpLast: \"Lompat ke item terakhir\",\n searchModalTitle: \"Dalam Modal Carian\",\n searchNav: \"Navigasi hasil carian\",\n searchSelect: \"Pilih hasil\",\n searchClose: \"Tutup carian\",\n modalTitle: \"Kawalan Modal\",\n modalClose: \"Tutup modal aktif\",\n modalNavForward: \"Navigasi ke hadapan melalui butang\",\n modalNavBackward: \"Navigasi ke belakang melalui butang\",\n modalActivate: \"Aktifkan butang yang difokuskan\",\n accessibilityTitle: \"Kebolehcapaian\",\n a11ySkipLinks: \"Navigasi ke pautan langkau (apabila di permulaan halaman)\",\n a11yFollowLink: \"Ikuti pautan langkau\",\n macNote: \"Menggunakan pintasan papan kekunci Mac. \\u2318 ialah kekunci Command.\",\n windowsNote: \"Menggunakan pintasan papan kekunci Windows/Linux. Ctrl ialah kekunci Control.\",\n footerHint: \"Tekan {{key}} pada bila-bila masa untuk menunjukkan bantuan ini\",\n close: \"Tutup\"\n};\nvar AnnotateToolbar = {\n modeGroup: \"Mod\",\n browse: \"Layari\",\n annotate: \"Anotasi\",\n selectionGroup: \"Motivasi\",\n clickGroup: \"Klik\",\n shapeGroup: \"Bentuk\",\n none: \"Tiada\",\n linking: \"Rujukan\",\n highlighting: \"Sorotan\",\n assessing: \"Nilai\",\n commenting: \"Ulasan\",\n tagging: \"Tag\",\n detail: \"Perincian\",\n follow: \"Ikuti\",\n deleting: \"Padam\",\n jsonld: \"JSON-LD\",\n rectangle: \"Segi Empat Tepat\",\n circle: \"Bulatan\",\n polygon: \"Poligon\"\n};\nvar CollapsibleResourceNavigation = {\n title: \"Navigasi\",\n collapseSidebar: \"Kecilkan bar sisi\",\n expandSidebar: \"Kembangkan bar sisi\",\n dragToReorder: \"Seret untuk menyusun semula\",\n dragToReorderDoc: \"Seret untuk menyusun semula {{name}}\",\n closeResource: \"Tutup sumber\",\n dragInstructions: \"Untuk menyusun semula sumber: Gunakan Tab untuk navigasi ke sumber. Tekan Alt+Anak panah atas untuk bergerak ke atas atau Alt+Anak panah bawah untuk bergerak ke bawah. Untuk seret dan lepas: Tekan bar ruang untuk mengangkat item. Gunakan kekunci anak panah untuk mengalihkannya. Tekan bar ruang sekali lagi untuk melepaskan.\"\n};\nvar ResourceViewer = {\n deleteConfirmationTitle: \"Padam Anotasi\",\n deleteConfirmationMessage: \"Adakah anda pasti mahu memadam anotasi ini? Tindakan ini tidak boleh dibatalkan.\",\n deleteConfirmationCancel: \"Batal\",\n deleteConfirmationDelete: \"Padam\"\n};\nvar Settings = {\n title: \"Tetapan\",\n lineNumbers: \"Nombor Baris\",\n lineNumbersVisible: \"Kelihatan\",\n lineNumbersHidden: \"Tersembunyi\",\n theme: \"Tema\",\n themeLight: \"Cerah\",\n themeDark: \"Gelap\",\n themeSystem: \"Sistem\",\n themeSystemActive: \"Sistem ({{mode}})\",\n themeModeActive: \"Menggunakan mod {{mode}}\",\n language: \"Bahasa\",\n languageHint: \"Tukar bahasa dalam navigasi utama\",\n languageChanging: \"Menukar bahasa...\",\n hoverDelay: \"Kelewatan Terapung\",\n hoverDelayFast: \"Pantas\",\n hoverDelaySlow: \"Perlahan\",\n hoverDelayDescription: \"Kelewatan {{delay}}ms sebelum kesan terapung muncul\"\n};\nvar AnnotateView = {};\nvar ResourceGenerate = {\n gatherIntro: \"Pilih perkara yang hendak disertakan dalam konteks yang dikumpul.\",\n includeContent: \"Sertakan kandungan sumber\",\n includeSummary: \"Sertakan ringkasan\",\n gatherDepth: \"Kedalaman\",\n gatherMaxResources: \"Sumber Maksimum\",\n gatherButton: \"Kumpul\",\n editGather: \"Tukar tetapan kumpulan\",\n recallLabel: \"Termasuk dalam imbasan \\u2014 nyahpilih untuk mengecualikan\",\n loadingContext: \"Mengumpul konteks...\",\n failedContext: \"Gagal mengumpul konteks\",\n sourceContextLabel: \"Sumber\",\n connectionsLabel: \"Sambungan\",\n citedByLabel: \"Dipetik oleh\",\n resourceTitle: \"Tajuk sumber baharu\",\n resourceTitlePlaceholder: \"Tajuk untuk sumber yang dijana...\",\n additionalInstructions: \"Arahan Tambahan\",\n additionalInstructionsPlaceholder: \"Panduan pilihan untuk penjanaan...\",\n language: \"Bahasa\",\n languageHelp: \"Bahasa untuk sumber yang dijana\",\n creativity: \"Kreativiti\",\n creativityFocused: \"Tertumpu\",\n creativityCreative: \"Kreatif\",\n maxLength: \"Panjang Maksimum\",\n maxLengthHelp: \"Bilangan maksimum token\",\n generate: \"Jana\",\n maxLengthCeiling: \"Dihadkan kepada {{maxOutputTokens}} token oleh {{model}}.\",\n outputFormat: \"Format\",\n formatExtensionMismatch: \"Lokasi simpanan mesti berakhir dengan {{extension}} supaya sepadan dengan format yang dipilih.\",\n graphPaneTitle: \"Kejiranan\",\n graphEmpty: \"Belum ada pautan.\",\n resourceLinkLabel: \"Pautan sumber\",\n corpusPaneTitle: \"Petikan serupa\",\n corpusEmpty: \"Tiada petikan serupa ditemui.\",\n excludedReceipt: \"{{types}} dikecualikan daripada dapatan ini\",\n machineRead: \"OCR\",\n score: \"Skor\",\n saveLocation: \"Lokasi simpanan\",\n discardDraftPrompt: \"Buang draf ini?\",\n discardDraft: \"Buang\",\n keepEditing: \"Terus menyunting\",\n title: \"Jana daripada sumber ini\"\n};\nvar ReferenceWizard = {\n sourceContextLabel: \"Konteks anotasi dalam sumber\",\n connectionsLabel: \"Anotasi rakan sebaya\",\n citedByLabel: \"Sumber dipetik oleh\",\n userHintLabel: \"Petunjuk\",\n userHintPlaceholder: \"Terangkan apa yang dirujuk oleh anotasi ini...\",\n loadingContext: \"Mengumpul konteks...\",\n failedContext: \"Gagal mengumpul konteks\",\n generate: \"Jana\",\n compose: \"Karang\",\n resolutionStrategyLabel: \"Strategi resolusi\",\n back: \"Kembali\",\n link: \"Pautan\",\n score: \"Skor\",\n noResults: \"Tiada hasil ditemui\",\n resourceTitle: \"Tajuk Sumber\",\n resourceTitlePlaceholder: \"Masukkan tajuk sumber...\",\n additionalInstructions: \"Arahan Tambahan\",\n additionalInstructionsPlaceholder: \"Masukkan arahan tambahan...\",\n language: \"Bahasa\",\n languageHelp: \"Bahasa untuk kandungan yang dijana\",\n creativity: \"Kreativiti\",\n creativityFocused: \"Tertumpu\",\n creativityCreative: \"Kreatif\",\n maxLength: \"Panjang Maksimum\",\n maxLengthHelp: \"Bilangan maksimum token\",\n maxResults: \"Hasil Maksimum\",\n semanticScoring: \"Pemarkahan Semantik\",\n semanticScoringHelp: \"Gunakan AI untuk menilai hasil mengikut kerelevanan semantik\",\n searching: \"Mencari...\",\n searchFailed: \"Carian gagal\",\n search: \"Cari\",\n maxLengthCeiling: \"Dihadkan kepada {{maxOutputTokens}} token oleh {{model}}.\",\n outputFormat: \"Format\",\n formatExtensionMismatch: \"Lokasi simpanan mesti berakhir dengan {{extension}} supaya sepadan dengan format yang dipilih.\",\n graphPaneTitle: \"Kejiranan\",\n graphEmpty: \"Belum ada pautan \\u2014 menyelesaikan rujukan ini mencipta yang pertama.\",\n resourceLinkLabel: \"Pautan sumber\",\n corpusPaneTitle: \"Petikan serupa\",\n corpusEmpty: \"Tiada petikan serupa ditemui \\u2014 carian berkemungkinan tidak berhasil.\",\n excludedReceipt: \"{{types}} dikecualikan daripada dapatan ini\",\n machineRead: \"OCR\",\n userHintEffect: \"memandu carian dan penjanaan\",\n saveLocation: \"Lokasi simpanan\",\n entityTypes: \"Jenis entiti\",\n contentLabel: \"Kandungan\",\n createAndLink: \"Cipta & Paut\",\n creatingAndLinking: \"Mencipta & memaut\\u2026\",\n discardDraftPrompt: \"Buang draf ini?\",\n discardDraft: \"Buang\",\n keepEditing: \"Terus menyunting\",\n resolveTitle: \"Selesaikan rujukan\"\n};\nvar OutcomeToasts = {\n createFailed: \"Tidak dapat mencipta anotasi: {{detail}}\",\n deleteFailed: \"Tidak dapat memadam anotasi: {{detail}}\",\n referenceUpdateFailed: \"Tidak dapat mengemas kini rujukan: {{detail}}\",\n unknownError: \"ralat tidak diketahui\",\n assistQuiet: \"Masih berjalan \\u2014 tiada kemas kini selama beberapa minit\",\n resourceCreatedNamed: \"\\u201C{{name}}\\u201D dicipta\",\n resourceCreated: \"Sumber dicipta\",\n annotationComplete: \"Anotasi selesai\",\n annotationFailed: \"Anotasi gagal\",\n generationFailed: \"Penjanaan gagal: {{detail}}\",\n \"decline_no-text-layer\": \"PDF ini ialah imbasan yang teksnya tidak dapat dikenali.\",\n decline_encrypted: \"PDF ini dilindungi kata laluan, teksnya tidak boleh dibaca.\",\n decline_corrupt: \"PDF ini tidak dapat dibaca \\u2014 fail mungkin rosak.\",\n \"decline_too-large\": \"Dokumen ini terlalu besar untuk mengekstrak teks.\",\n decline_empty: \"Dokumen ini tiada teks untuk dianotasi.\"\n};\nvar ms_default = {\n AssistProgress,\n PdfViewer,\n Toolbar,\n ResourceInfoPanel,\n CollaborationPanel,\n AnnotationHistory,\n CommentsPanel,\n HighlightPanel,\n AssessmentPanel,\n TaggingPanel,\n UnifiedAnnotationsPanel,\n StatisticsPanel,\n ReferencesPanel,\n KeyboardShortcuts,\n AnnotateToolbar,\n CollapsibleResourceNavigation,\n ResourceViewer,\n Settings,\n AnnotateView,\n ResourceGenerate,\n ReferenceWizard,\n OutcomeToasts\n};\nexport {\n AnnotateToolbar,\n AnnotateView,\n AnnotationHistory,\n AssessmentPanel,\n AssistProgress,\n CollaborationPanel,\n CollapsibleResourceNavigation,\n CommentsPanel,\n HighlightPanel,\n KeyboardShortcuts,\n OutcomeToasts,\n PdfViewer,\n ReferenceWizard,\n ReferencesPanel,\n ResourceGenerate,\n ResourceInfoPanel,\n ResourceViewer,\n Settings,\n StatisticsPanel,\n TaggingPanel,\n Toolbar,\n UnifiedAnnotationsPanel,\n ms_default as default\n};\n//# sourceMappingURL=ms-Y2AFPZTU.js.map"],"mappings":"AAIA,IAAI,EAAiB,CACnB,MAAO,QACP,YAAa,aACb,cAAe,WACf,kBAAmB,eACnB,sBAAuB,WACvB,wBAAyB,8BACzB,2BAA4B,0BAC5B,oBAAqB,6BACrB,uBAAwB,WACxB,qBAAsB,mBACtB,sBAAuB,iBACvB,+BAAgC,8CAChC,cAAe,UACf,YAAa,QACb,eAAgB,YAChB,cAAe,UACf,QAAS,MACT,QAAS,sBACT,oBAAqB,oDACrB,iBAAkB,eAClB,kBAAmB,SACnB,UAAW,OACX,aAAc,aACd,sBAAuB,eACvB,oBAAqB,WACrB,OAAQ,QACR,WAAY,gBACd,EACI,EAAY,CACd,WAAY,sBACZ,QAAS,mBACT,KAAM,aACN,eAAgB,0BAChB,OAAQ,sCACR,WAAY,mBACZ,SAAU,aACV,cAAe,0BACjB,EACI,EAAU,CACZ,YAAa,UACb,QAAS,UACT,aAAc,kBACd,cAAe,aACf,YAAa,iBACb,SAAU,UACV,cAAe,uBACjB,EACI,EAAoB,CACtB,MAAO,kBACP,OAAQ,SACR,aAAc,mBACd,eAAgB,mBAChB,eAAgB,aAChB,UAAW,cACX,SAAU,OACV,WAAY,SACZ,MAAO,OACP,iBAAkB,wDAClB,SAAU,OACV,oBAAqB,iDACrB,QAAS,QACT,mBAAoB,0CACpB,UAAW,YACX,qBAAsB,sCACtB,WAAY,YACZ,UAAW,UACX,WAAY,cACZ,aAAc,mBACd,YAAa,oBACf,EACI,EAAqB,CACvB,MAAO,aACP,iBAAkB,mBAClB,KAAM,WACN,aAAc,WACd,OAAQ,sBACR,SAAU,yBACV,WAAY,sBACZ,QAAS,cACT,WAAY,2BACZ,UAAW,oBACX,WAAY,4BACZ,QAAS,kBACT,SAAU,0BACV,eAAgB,qCAChB,aAAc,kCACd,QAAS,cACT,wBAAyB,8CACzB,cAAe,cACf,SAAU,uDACV,aAAc,6BAChB,EACI,EAAoB,CACtB,QAAS,UACT,QAAS,eACT,KAAM,WACN,aAAc,aACd,eAAgB,6BAChB,gBAAiB,iBACjB,eAAgB,SAChB,iBAAkB,aAClB,mBAAoB,iBACpB,eAAgB,mBAChB,iBAAkB,kBAClB,iBAAkB,kBAClB,kBAAmB,uBACnB,iBAAkB,kBAClB,eAAgB,eAChB,iBAAkB,cAClB,gBAAiB,qBACjB,kBAAmB,oBACnB,gBAAiB,mBACjB,kBAAmB,kBACnB,sBAAuB,uBACvB,SAAU,kBACV,kBAAmB,mBACnB,QAAS,cACT,WAAY,kBACZ,SAAU,kBACV,QAAS,kBACT,OAAQ,iCACR,MAAO,WACT,EACI,EAAgB,CAClB,MAAO,SACP,WAAY,qEACZ,mBAAoB,8BACpB,KAAM,SACN,OAAQ,QACR,KAAM,UACN,iBAAkB,iBAClB,aAAc,SACd,SAAU,YACV,wBAAyB,uCACzB,SAAU,UACV,WAAY,iBACZ,UAAW,OACX,aAAc,YACd,cAAe,SACf,gBAAiB,aACjB,mBAAoB,YACpB,cAAe,WACf,aAAc,aACd,cAAe,SACf,aAAc,QACd,iBAAkB,kBAClB,oBAAqB,uBACrB,SAAU,mBACV,OAAQ,gBACR,gBAAiB,mCACnB,EACI,EAAiB,CACnB,MAAO,UACP,aAAc,wEACd,mBAAoB,kBACpB,aAAc,SACd,SAAU,YACV,wBAAyB,4CACzB,SAAU,UACV,WAAY,iBACZ,OAAQ,QACR,aAAc,aACd,cAAe,SACf,aAAc,QACd,SAAU,mBACV,OAAQ,gBACR,gBAAiB,mCACnB,EACI,EAAkB,CACpB,MAAO,YACP,cAAe,kEACf,sBAAuB,iCACvB,KAAM,SACN,OAAQ,QACR,oBAAqB,oBACrB,aAAc,SACd,SAAU,YACV,wBAAyB,mDACzB,SAAU,UACV,WAAY,iBACZ,UAAW,OACX,aAAc,YACd,eAAgB,aAChB,aAAc,WACd,aAAc,WACd,iBAAkB,cAClB,aAAc,aACd,cAAe,SACf,aAAc,QACd,iBAAkB,kBAClB,oBAAqB,uBACrB,SAAU,mBACV,OAAQ,gBACR,gBAAiB,mCACnB,EACI,EAAe,CACjB,MAAO,MACP,OAAQ,4EACR,UAAW,kOACX,aAAc,cACd,aAAc,qBACd,iBAAkB,iBAClB,SAAU,UACV,WAAY,iBACZ,OAAQ,QACR,UAAW,cACX,YAAa,kBACb,mBAAoB,kGACpB,sBAAuB,0BACvB,eAAgB,iBAChB,eAAgB,oBAChB,iBAAkB,kBAClB,oBAAqB,uBACrB,SAAU,mBACV,OAAQ,eACV,EACI,EAA0B,CAC5B,MAAO,UACP,WAAY,YACZ,UAAW,UACX,UAAW,UACX,WAAY,YACZ,QAAS,SACT,IAAK,MACL,kBAAmB,iCACnB,MAAO,WACT,EACI,EAAkB,CACpB,MAAO,YACP,WAAY,UACZ,SAAU,SACV,YAAa,YACb,KAAM,MACN,WAAY,UACZ,KAAM,OACN,SAAU,eACV,YAAa,cACf,EACI,EAAkB,CACpB,MAAO,UACP,aAAc,wEACd,mBAAoB,iBACpB,mBAAoB,gBACpB,qBAAsB,sBACtB,KAAM,iCACN,SAAU,mCACV,QAAS,WACT,KAAM,OACN,OAAQ,WACR,QAAS,qBACT,OAAQ,QACR,gBAAiB,gBACjB,oBAAqB,yBACrB,iBAAkB,kBAClB,mBAAoB,kBACpB,kBAAmB,gBACnB,OAAQ,QACR,SAAU,YACV,cAAe,8BACf,cAAe,gEACf,SAAU,UACV,WAAY,iBACZ,6BAA8B,8BAC9B,6BAA8B,4GAC9B,MAAO,oBACP,SAAU,mBACV,OAAQ,gBACR,QAAS,yBACT,QAAS,eACT,gBAAiB,eACjB,iBAAkB,qBAClB,OAAQ,aACR,yBAA0B,uCAC1B,MAAO,YACP,kBAAmB,qCACrB,EACI,EAAoB,CACtB,MAAO,yBACP,YAAa,eACb,GAAI,OACJ,gBAAiB,WACjB,cAAe,qBACf,iBAAkB,kCAClB,kBAAmB,sBACnB,iBAAkB,wCAClB,YAAa,2CACb,aAAc,uBACd,gBAAiB,oBACjB,cAAe,sBACf,cAAe,yCACf,YAAa,wCACb,YAAa,yCACb,cAAe,yBACf,iBAAkB,iBAClB,eAAgB,yCAChB,eAAgB,8CAChB,YAAa,gCACb,cAAe,2BACf,kBAAmB,+BACnB,WAAY,iBACZ,eAAgB,gCAChB,aAAc,uBACd,eAAgB,yBAChB,cAAe,0BACf,iBAAkB,qBAClB,UAAW,wBACX,aAAc,cACd,YAAa,eACb,WAAY,gBACZ,WAAY,oBACZ,gBAAiB,qCACjB,iBAAkB,sCAClB,cAAe,kCACf,mBAAoB,iBACpB,cAAe,4DACf,eAAgB,uBAChB,QAAS,mEACT,YAAa,gFACb,WAAY,kEACZ,MAAO,OACT,EACI,EAAkB,CACpB,UAAW,MACX,OAAQ,SACR,SAAU,UACV,eAAgB,WAChB,WAAY,OACZ,WAAY,SACZ,KAAM,QACN,QAAS,UACT,aAAc,UACd,UAAW,QACX,WAAY,SACZ,QAAS,MACT,OAAQ,YACR,OAAQ,QACR,SAAU,QACV,OAAQ,UACR,UAAW,mBACX,OAAQ,UACR,QAAS,SACX,EACI,EAAgC,CAClC,MAAO,WACP,gBAAiB,oBACjB,cAAe,sBACf,cAAe,8BACf,iBAAkB,uCAClB,cAAe,eACf,iBAAkB,sUACpB,EACI,EAAiB,CACnB,wBAAyB,gBACzB,0BAA2B,mFAC3B,yBAA0B,QAC1B,yBAA0B,OAC5B,EACI,EAAW,CACb,MAAO,UACP,YAAa,eACb,mBAAoB,YACpB,kBAAmB,cACnB,MAAO,OACP,WAAY,QACZ,UAAW,QACX,YAAa,SACb,kBAAmB,oBACnB,gBAAiB,2BACjB,SAAU,SACV,aAAc,oCACd,iBAAkB,oBAClB,WAAY,qBACZ,eAAgB,SAChB,eAAgB,WAChB,sBAAuB,qDACzB,EACI,EAAe,CAAC,EAChB,EAAmB,CACrB,YAAa,oEACb,eAAgB,4BAChB,eAAgB,qBAChB,YAAa,YACb,mBAAoB,kBACpB,aAAc,SACd,WAAY,yBACZ,YAAa,yDACb,eAAgB,uBAChB,cAAe,0BACf,mBAAoB,SACpB,iBAAkB,YAClB,aAAc,eACd,cAAe,sBACf,yBAA0B,oCAC1B,uBAAwB,kBACxB,kCAAmC,qCACnC,SAAU,SACV,aAAc,kCACd,WAAY,aACZ,kBAAmB,WACnB,mBAAoB,UACpB,UAAW,mBACX,cAAe,0BACf,SAAU,OACV,iBAAkB,4DAClB,aAAc,SACd,wBAAyB,iGACzB,eAAgB,YAChB,WAAY,oBACZ,kBAAmB,gBACnB,gBAAiB,iBACjB,YAAa,gCACb,gBAAiB,8CACjB,YAAa,MACb,MAAO,OACP,aAAc,kBACd,mBAAoB,kBACpB,aAAc,QACd,YAAa,mBACb,MAAO,0BACT,EACI,EAAkB,CACpB,mBAAoB,+BACpB,iBAAkB,uBAClB,aAAc,sBACd,cAAe,WACf,oBAAqB,iDACrB,eAAgB,uBAChB,cAAe,0BACf,SAAU,OACV,QAAS,SACT,wBAAyB,oBACzB,KAAM,UACN,KAAM,SACN,MAAO,OACP,UAAW,sBACX,cAAe,eACf,yBAA0B,2BAC1B,uBAAwB,kBACxB,kCAAmC,8BACnC,SAAU,SACV,aAAc,qCACd,WAAY,aACZ,kBAAmB,WACnB,mBAAoB,UACpB,UAAW,mBACX,cAAe,0BACf,WAAY,iBACZ,gBAAiB,sBACjB,oBAAqB,+DACrB,UAAW,aACX,aAAc,eACd,OAAQ,OACR,iBAAkB,4DAClB,aAAc,SACd,wBAAyB,iGACzB,eAAgB,YAChB,WAAY,sEACZ,kBAAmB,gBACnB,gBAAiB,iBACjB,YAAa,uEACb,gBAAiB,8CACjB,YAAa,MACb,eAAgB,+BAChB,aAAc,kBACd,YAAa,eACb,aAAc,YACd,cAAe,eACf,mBAAoB,qBACpB,mBAAoB,kBACpB,aAAc,QACd,YAAa,mBACb,aAAc,oBAChB,EACI,EAAgB,CAClB,aAAc,2CACd,aAAc,0CACd,sBAAuB,gDACvB,aAAc,wBACd,YAAa,0DACb,qBAAsB,qBACtB,gBAAiB,iBACjB,mBAAoB,kBACpB,iBAAkB,gBAClB,iBAAkB,8BAClB,wBAAyB,2DACzB,kBAAmB,8DACnB,gBAAiB,mDACjB,oBAAqB,oDACrB,cAAe,yCACjB,EACI,EAAa,CACf,iBACA,YACA,UACA,oBACA,qBACA,oBACA,gBACA,iBACA,kBACA,eACA,0BACA,kBACA,kBACA,oBACA,kBACA,gCACA,iBACA,WACA,eACA,mBACA,kBACA,eACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={close:`Sluiten`,codeLoading:`Laden…`,codeAnalyzing:`Annoteren…`,codeAnalyzingTags:`Tags annoteren…`,codeDetectingEntities:`Annoteren…`,codeCreatingAnnotations:`{{count}} annotaties maken…`,codeCreatingTagAnnotations:`{{count}} tags maken…`,codeCompleteCreated:`{{count}} {{kind}} gemaakt`,codeGeneratingResource:`Genereren…`,codeCreatingResource:`Bron maken…`,codeCompleteGenerated:`Bron gemaakt`,codeCompleteGeneratedTruncated:`Bron gemaakt — afgekapt bij de lengtelimiet`,kindHighlight:`markeringen`,kindComment:`opmerkingen`,kindAssessment:`beoordelingen`,kindReference:`verwijzingen`,kindTag:`tags`,subject:`{{kind}}: {{label}}`,subjectWithPosition:`{{kind}}: {{label}} ({{done}} van {{total}})`,paramEntityTypes:`Entiteitstypen`,paramInstructions:`Instructies`,paramTone:`Toon`,paramDensity:`Dichtheid`,subjectKindEntityType:`Entiteitstype`,subjectKindCategory:`Categorie`,cancel:`Annuleren`,inProgress:`Annoteren...`},t={loadFailed:`Kan de PDF niet laden`,loading:`PDF laden...`,next:`Volgende`,pageLoadFailed:`Kan de pagina niet laden`,pageOf:`Pagina {{page}} van {{total}}`,pagination:`Paginanavigatie`,previous:`Vorige`,viewerLoading:`PDF-viewer laden...`},n={annotations:`Annotaties`,history:`Geschiedenis`,resourceInfo:`Broninformatie`,collaboration:`Samenwerking`,userAccount:`Gebruikersaccount`,settings:`Instellingen`,knowledgeBase:`Kennisbank`},r={title:`Broninformatie`,locale:`Taalregio`,notSpecified:`Niet gespecificeerd`,entityTypeTags:`Entiteitstypelabels`,representation:`Representatie`,mediaType:`Mediatype`,byteSize:`Grootte`,storageUri:`Opslag`,clone:`Klonen`,cloneDescription:`Genereer een deelbare kloonlink voor deze bron`,generate:`Genereren`,generateDescription:`Genereer een nieuwe bron op basis van de context van deze bron`,archive:`Archiveren`,archiveDescription:`Verplaats deze bron naar gearchiveerde status`,unarchive:`Dearchiveren`,unarchiveDescription:`Herstel deze bron naar actieve status`,provenance:`Herkomst`,createdAt:`Aangemaakt`,modifiedAt:`Gewijzigd`,attributedTo:`Toegeschreven aan`,derivedFrom:`Afgeleid van`},i={title:`Samenwerking`,connectionStatus:`Verbindingsstatus`,live:`Live`,disconnected:`Verbroken`,events:`{{count}} gebeurtenissen`,lastSync:`Laatste synchronisatie:`,noActivity:`Nog geen activiteit`,justNow:`Zojuist`,secondsAgo:`{{count}} seconden geleden`,minuteAgo:`1 minuut geleden`,minutesAgo:`{{count}} minuten geleden`,hourAgo:`1 uur geleden`,hoursAgo:`{{count}} uur geleden`,realtimeActive:`Realtime-updates zijn actief`,reconnecting:`Opnieuw verbinden met server...`,sharing:`Delen`,collaborationComingSoon:`Samenwerkingsfuncties komen binnenkort`,collaborators:`Medewerkers`,ceilings:`{{contextTokens}} in / {{maxOutputTokens}} uit`,sharedWindow:`{{contextTokens}} venster`},a={history:`Geschiedenis`,loading:`Laden...`,user:`Gebruiker`,viewOriginal:`Origineel bekijken`,viewAnnotation:`Annotatie bekijken: {{content}}`,resourceCreated:`Bron aangemaakt`,resourceCloned:`Gekloond`,resourceArchived:`Gearchiveerd`,resourceUnarchived:`Gedearchiveerd`,highlightAdded:`Markering toegevoegd`,highlightRemoved:`Markering verwijderd`,referenceCreated:`Referentie aangemaakt`,referenceResolved:`Referentie opgelost`,referenceDeleted:`Referentie verwijderd`,entitytagAdded:`Label toegevoegd`,entitytagRemoved:`Label verwijderd`,assessmentAdded:`Beoordeling toegevoegd`,assessmentRemoved:`Beoordeling verwijderd`,annotationAdded:`Annotatie toegevoegd`,annotationRemoved:`Annotatie verwijderd`,annotationBodyUpdated:`Annotatie bijgewerkt`,jobEvent:`Taakgebeurtenis`,embeddingComputed:`Embedding berekend`,justNow:`zojuist`,minutesAgo:`{{count}}m geleden`,hoursAgo:`{{count}}u geleden`,daysAgo:`{{count}}d geleden`,failed:`Kan de geschiedenis niet laden.`,retry:`Opnieuw proberen`},o={title:`Opmerkingen`,noComments:`Nog geen opmerkingen. Selecteer tekst en klik op Opmerking om er een toe te voegen.`,commentPlaceholder:`Typ hier je opmerking...`,save:`Opslaan`,cancel:`Annuleren`,edit:`Bewerken`,annotateComments:`Opmerkingen annoteren`,instructions:`Instructies`,optional:`(optioneel)`,instructionsPlaceholder:`bijv. Focus op technische terminologie...`,annotate:`Annoteren`,annotating:`Annoteren...`,toneLabel:`Toon`,toneOptional:`(optioneel)`,toneScholarly:`Wetenschappelijk`,toneExplanatory:`Verklarend`,toneConversational:`Conversationeel`,toneTechnical:`Technisch`,densityLabel:`Dichtheid`,densitySparse:`Schaars`,densityDense:`Dicht`,fragmentSelected:`Fragment geselecteerd`,imageRegionSelected:`Afbeeldingsgebied geselecteerd`,complete:`Annotatie voltooid!`,failed:`Annotatie mislukt`,densityPerWords:`{{density}} per 2000 woorden`},s={title:`Markeringen`,noHighlights:`Nog geen markeringen. Gebruik AI-annotatie om belangrijke passages te vinden.`,annotateHighlights:`Markeringen annoteren`,instructions:`Instructies`,optional:`(optioneel)`,instructionsPlaceholder:`bijv. Focus op belangrijke technische concepten...`,annotate:`Annoteren`,annotating:`Annoteren...`,cancel:`Annuleren`,densityLabel:`Dichtheid`,densitySparse:`Schaars`,densityDense:`Dicht`,complete:`Annotatie voltooid!`,failed:`Annotatie mislukt`,densityPerWords:`{{density}} per 2000 woorden`},c={title:`Beoordelingen`,noAssessments:`Nog geen beoordelingen. Gebruik AI-annotatie om passages te evalueren.`,assessmentPlaceholder:`Typ hier je beoordeling...`,save:`Opslaan`,cancel:`Annuleren`,annotateAssessments:`Beoordelingen annoteren`,instructions:`Instructies`,optional:`(optioneel)`,instructionsPlaceholder:`bijv. Evalueer beweringen op nauwkeurigheid en bewijs...`,annotate:`Annoteren`,annotating:`Annoteren...`,toneLabel:`Toon`,toneOptional:`(optioneel)`,toneAnalytical:`Analytisch`,toneCritical:`Kritisch`,toneBalanced:`Evenwichtig`,toneConstructive:`Constructief`,densityLabel:`Dichtheid`,densitySparse:`Schaars`,densityDense:`Dicht`,fragmentSelected:`Fragment geselecteerd`,imageRegionSelected:`Afbeeldingsgebied geselecteerd`,complete:`Annotatie voltooid!`,failed:`Annotatie mislukt`,densityPerWords:`{{density}} per 2000 woorden`},l={title:`Labels`,noTags:`Nog geen labels. Gebruik AI-annotatie om structurele rollen te identificeren.`,noSchemas:"Geen tagschema's geregistreerd voor deze kennisbasis. Een KB-beheerder moet ten minste één structureel-analyseschema registreren (bv. via de `register-tag-schemas`-skill) voordat tagging gebruikt kan worden.",annotateTags:`Labels annoteren`,selectSchema:`Framework selecteren`,selectCategories:`Categorieën selecteren`,annotate:`Annoteren`,annotating:`Annoteren...`,cancel:`Annuleren`,selectAll:`Alles selecteren`,deselectAll:`Alles deselecteren`,categoriesSelected:`{count, plural, =0 {Geen categorieën geselecteerd} =1 {1 categorie geselecteerd} other {# categorieën geselecteerd}}`,createTagForSelection:`Label maken voor selectie`,selectCategory:`Categorie selecteren`,chooseCategory:`Kies een categorie...`,fragmentSelected:`Fragment geselecteerd`,imageRegionSelected:`Afbeeldingsgebied geselecteerd`,complete:`Annotatie voltooid!`,failed:`Annotatie mislukt`},u={title:`Annotaties`,statistics:`Statistieken`,highlight:`Markeringen`,reference:`Referenties`,assessment:`Beoordelingen`,comment:`Opmerkingen`,tag:`Labels`,annotationsFailed:`Kan de annotaties niet laden.`,retry:`Opnieuw proberen`},d={title:`Statistieken`,highlights:`Markeringen`,comments:`Opmerkingen`,assessments:`Beoordelingen`,tags:`Labels`,references:`Referenties`,stub:`Stub`,resolved:`Opgelost`,entityTypes:`Entiteitstypen`},f={title:`Referenties`,noReferences:`Nog geen referenties. Selecteer tekst om referenties naar andere bronnen te maken.`,outgoingReferences:`Uitgaande referenties`,incomingReferences:`Inkomende referenties`,noIncomingReferences:`Geen inkomende referenties`,stub:`Stubreferentie (niet gekoppeld)`,resolved:`Opgeloste referentie (gekoppeld)`,derived:`Afgeleid`,open:`Openen`,unlink:`Ontkoppelen`,resolve:`Referentie oplossen`,cancel:`Annuleren`,createReference:`Referentie maken`,entityTypesOptional:`Entiteitstypen (optioneel)`,fragmentSelected:`Fragment geselecteerd`,annotateReferences:`Referenties annoteren`,selectEntityTypes:`Entiteitstypen:`,select:`Selecteren`,deselect:`Deselecteren`,noEntityTypes:`Geen entiteitstypen beschikbaar`,typesSelected:`{count, plural, =1 {1 type geselecteerd} other {# typen geselecteerd}}`,annotate:`Annoteren`,annotating:`Annoteren...`,includeDescriptiveReferences:`Beschrijvende referenties opnemen`,descriptiveReferencesTooltip:`Zoek ook naar zinnen zoals 'de CEO', 'de techgigant', 'de fysicus' (naast namen)`,found:`{{count}} gevonden`,complete:`Annotatie voltooid!`,failed:`Annotatie mislukt`,current:`Huidig: {{entityType}}`,loading:`laden...`,loadingEllipsis:`Laden...`,untitledResource:`Naamloze bron`,noText:`Geen tekst`,incomingReferencesFailed:`Kan de inkomende referenties niet laden.`,retry:`Opnieuw proberen`,entityTypesFailed:`Kan de entiteitstypen niet laden.`},p={title:`Sneltoetsen`,closeDialog:`Dialoogvenster sluiten`,or:`of`,navigationTitle:`Navigatie`,navOpenSearch:`Globale zoekopdracht openen`,navOpenSearchAlt:`Globale zoekopdracht openen (alternatief)`,navCreateResource:`Nieuwe bron aanmaken`,navCloseOverlays:`Alle overlays sluiten (dubbel drukken)`,navShowHelp:`Sneltoetshulp tonen`,sidebarTitle:`Kenniszijbalk`,sidebarCollapse:`Zijbalk inklappen`,sidebarExpand:`Zijbalk uitklappen`,sidebarPickup:`Brontabblad oppakken (bij focus)`,sidebarMove:`Brontabblad verplaatsen (bij slepen)`,sidebarDrop:`Brontabblad neerzetten (bij slepen)`,sidebarCancel:`Sleepbewerking annuleren`,annotationsTitle:`Bronannotaties`,annotHighlight:`Markering maken van annotatie (direct)`,annotReference:`Referentiepopup openen voor annotatie`,annotDelete:`Gefocuste annotatie verwijderen`,annotNavigate:`Door annotaties navigeren`,annotNavigateBack:`Achterwaarts door annotaties navigeren`,listsTitle:`Lijsten & rasters`,listsFilterNav:`Door entiteitstypefilters navigeren`,listsGridNav:`Door bronnenraster navigeren`,listsJumpFirst:`Naar eerste item springen`,listsJumpLast:`Naar laatste item springen`,searchModalTitle:`In zoekvenster`,searchNav:`Door zoekresultaten navigeren`,searchSelect:`Resultaat selecteren`,searchClose:`Zoekvenster sluiten`,modalTitle:`Vensterbediening`,modalClose:`Actief venster sluiten`,modalNavForward:`Voorwaarts door knoppen navigeren`,modalNavBackward:`Achterwaarts door knoppen navigeren`,modalActivate:`Gefocuste knop activeren`,accessibilityTitle:`Toegankelijkheid`,a11ySkipLinks:`Naar skiplinks navigeren (bij begin van pagina)`,a11yFollowLink:`Skiplink volgen`,macNote:`Mac-sneltoetsen worden gebruikt. Command is de Command-toets.`,windowsNote:`Windows/Linux-sneltoetsen worden gebruikt. Ctrl is de Control-toets.`,footerHint:`Druk op {{key}} om deze hulp op elk moment te tonen`,close:`Sluiten`},m={modeGroup:`Modus`,browse:`Bladeren`,annotate:`Annoteren`,selectionGroup:`Motivatie`,clickGroup:`Klik`,shapeGroup:`Vorm`,none:`Geen`,linking:`Referentie`,highlighting:`Markering`,assessing:`Beoordelen`,commenting:`Opmerking`,tagging:`Labelen`,detail:`Detail`,follow:`Volgen`,deleting:`Verwijderen`,jsonld:`JSON-LD`,rectangle:`Rechthoek`,circle:`Cirkel`,polygon:`Polygoon`},h={title:`Navigatie`,collapseSidebar:`Zijbalk inklappen`,expandSidebar:`Zijbalk uitklappen`,dragToReorder:`Slepen om te herordenen`,dragToReorderDoc:`Slepen om {{name}} te herordenen`,closeResource:`Bron sluiten`,dragInstructions:`Om bronnen te herordenen: Gebruik Tab om naar een bron te navigeren. Druk op Alt+pijl omhoog om omhoog te verplaatsen of Alt+pijl omlaag om omlaag te verplaatsen. Voor slepen en neerzetten: Druk op de spatiebalk om het item op te pakken. Gebruik pijltoetsen om het te verplaatsen. Druk nogmaals op de spatiebalk om het neer te zetten.`},g={deleteConfirmationTitle:`Annotatie verwijderen`,deleteConfirmationMessage:`Weet je zeker dat je deze annotatie wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.`,deleteConfirmationCancel:`Annuleren`,deleteConfirmationDelete:`Verwijderen`},_={title:`Instellingen`,lineNumbers:`Regelnummers`,lineNumbersVisible:`Zichtbaar`,lineNumbersHidden:`Verborgen`,theme:`Thema`,themeLight:`Licht`,themeDark:`Donker`,themeSystem:`Systeem`,themeSystemActive:`Systeem ({{mode}})`,themeModeActive:`{{mode}}-modus gebruiken`,language:`Taal`,languageHint:`Wijzig de taal in de hoofdnavigatie`,languageChanging:`Taal wijzigen...`,hoverDelay:`Zweefvertraging`,hoverDelayFast:`Snel`,hoverDelaySlow:`Langzaam`,hoverDelayDescription:`{{delay}}ms vertraging voordat zweefeffecten verschijnen`},v={},y={gatherIntro:`Kies wat je wilt opnemen in de verzamelde context.`,includeContent:`Broninhoud opnemen`,includeSummary:`Samenvatting opnemen`,gatherDepth:`Diepte`,gatherMaxResources:`Maximale bronnen`,gatherButton:`Verzamelen`,editGather:`Verzamelinstellingen wijzigen`,recallLabel:`Opgenomen in het ophalen — deselecteer om uit te sluiten`,loadingContext:`Context wordt verzameld...`,failedContext:`Context verzamelen mislukt`,sourceContextLabel:`Bron`,connectionsLabel:`Verbindingen`,citedByLabel:`Geciteerd door`,resourceTitle:`Titel nieuwe bron`,resourceTitlePlaceholder:`Titel voor de gegenereerde bron...`,additionalInstructions:`Aanvullende instructies`,additionalInstructionsPlaceholder:`Optionele richtlijnen voor de generatie...`,language:`Taal`,languageHelp:`Taal voor de gegenereerde bron`,creativity:`Creativiteit`,creativityFocused:`Gericht`,creativityCreative:`Creatief`,maxLength:`Maximale lengte`,maxLengthHelp:`Maximaal aantal tokens`,generate:`Genereren`,maxLengthCeiling:`Beperkt tot {{maxOutputTokens}} tokens door {{model}}.`,outputFormat:`Formaat`,formatExtensionMismatch:`De opslaglocatie moet eindigen op {{extension}} om overeen te komen met het gekozen formaat.`,graphPaneTitle:`Omgeving`,graphEmpty:`Nog geen koppelingen.`,resourceLinkLabel:`Bronkoppeling`,corpusPaneTitle:`Vergelijkbare passages`,corpusEmpty:`Geen vergelijkbare passages gevonden.`,excludedReceipt:`{{types}} uitgesloten van deze zoekronde`,machineRead:`OCR`,score:`Score`,saveLocation:`Opslaglocatie`,discardDraftPrompt:`Dit concept verwerpen?`,discardDraft:`Verwerpen`,keepEditing:`Doorgaan met bewerken`,title:`Genereren vanuit deze bron`},b={sourceContextLabel:`Annotatiecontext in resource`,connectionsLabel:`Peer-annotaties`,citedByLabel:`Resource geciteerd door`,userHintLabel:`Hint`,userHintPlaceholder:`Beschrijf waar deze annotatie naar verwijst...`,loadingContext:`Context wordt verzameld...`,failedContext:`Context verzamelen mislukt`,generate:`Genereren`,compose:`Opstellen`,resolutionStrategyLabel:`Resolutiestrategie`,back:`Terug`,link:`Link`,score:`Score`,noResults:`Geen resultaten gevonden`,resourceTitle:`Brontitel`,resourceTitlePlaceholder:`Voer brontitel in...`,additionalInstructions:`Aanvullende instructies`,additionalInstructionsPlaceholder:`Voer aanvullende instructies in...`,language:`Taal`,languageHelp:`Taal voor gegenereerde inhoud`,creativity:`Creativiteit`,creativityFocused:`Gericht`,creativityCreative:`Creatief`,maxLength:`Maximale lengte`,maxLengthHelp:`Maximaal aantal tokens`,maxResults:`Maximale resultaten`,semanticScoring:`Semantische beoordeling`,semanticScoringHelp:`Gebruik AI om resultaten te beoordelen op semantische relevantie`,searching:`Zoeken...`,searchFailed:`Zoeken mislukt`,search:`Zoeken`,maxLengthCeiling:`Beperkt tot {{maxOutputTokens}} tokens door {{model}}.`,outputFormat:`Formaat`,formatExtensionMismatch:`De opslaglocatie moet eindigen op {{extension}} om overeen te komen met het gekozen formaat.`,graphPaneTitle:`Omgeving`,graphEmpty:`Nog geen koppelingen — deze referentie oplossen maakt de eerste.`,resourceLinkLabel:`Bronkoppeling`,corpusPaneTitle:`Vergelijkbare passages`,corpusEmpty:`Geen vergelijkbare passages gevonden — zoeken levert waarschijnlijk niets op.`,excludedReceipt:`{{types}} uitgesloten van deze zoekronde`,machineRead:`OCR`,userHintEffect:`stuurt zoeken en genereren`,saveLocation:`Opslaglocatie`,entityTypes:`Entiteitstypen`,contentLabel:`Inhoud`,createAndLink:`Maken & Koppelen`,creatingAndLinking:`Bezig met maken & koppelen…`,discardDraftPrompt:`Dit concept verwerpen?`,discardDraft:`Verwerpen`,keepEditing:`Doorgaan met bewerken`,resolveTitle:`Referentie oplossen`},x={createFailed:`Kon de annotatie niet maken: {{detail}}`,deleteFailed:`Kon de annotatie niet verwijderen: {{detail}}`,referenceUpdateFailed:`Kon de verwijzing niet bijwerken: {{detail}}`,unknownError:`onbekende fout`,assistQuiet:`Nog bezig — al enkele minuten geen update`,resourceCreatedNamed:`“{{name}}” gemaakt`,resourceCreated:`Bron gemaakt`,annotationComplete:`Annotatie voltooid`,annotationFailed:`Annotatie mislukt`,generationFailed:`Genereren mislukt: {{detail}}`,"decline_no-text-layer":`Deze PDF is een scan waarvan de tekst niet herkend kon worden.`,decline_encrypted:`Deze PDF is met een wachtwoord beveiligd; de tekst is onleesbaar.`,decline_corrupt:`Deze PDF kon niet gelezen worden — het bestand is mogelijk beschadigd.`,"decline_too-large":`Dit document is te groot om tekst uit te halen.`,decline_empty:`Dit document bevat geen tekst om te annoteren.`},S={AssistProgress:e,PdfViewer:t,Toolbar:n,ResourceInfoPanel:r,CollaborationPanel:i,AnnotationHistory:a,CommentsPanel:o,HighlightPanel:s,AssessmentPanel:c,TaggingPanel:l,UnifiedAnnotationsPanel:u,StatisticsPanel:d,ReferencesPanel:f,KeyboardShortcuts:p,AnnotateToolbar:m,CollapsibleResourceNavigation:h,ResourceViewer:g,Settings:_,AnnotateView:v,ResourceGenerate:y,ReferenceWizard:b,OutcomeToasts:x};export{m as AnnotateToolbar,v as AnnotateView,a as AnnotationHistory,c as AssessmentPanel,e as AssistProgress,i as CollaborationPanel,h as CollapsibleResourceNavigation,o as CommentsPanel,s as HighlightPanel,p as KeyboardShortcuts,x as OutcomeToasts,t as PdfViewer,b as ReferenceWizard,f as ReferencesPanel,y as ResourceGenerate,r as ResourceInfoPanel,g as ResourceViewer,_ as Settings,d as StatisticsPanel,l as TaggingPanel,n as Toolbar,u as UnifiedAnnotationsPanel,S as default};
|
|
2
|
+
//# sourceMappingURL=nl-OQEWIXNA-DiHanxnO.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nl-OQEWIXNA-DiHanxnO.js","names":[],"sources":["../../../../packages/react-ui/dist/nl-OQEWIXNA.js"],"sourcesContent":["'use client';\nimport \"./chunk-O23TLLXW.js\";\n\n// translations/nl.json\nvar AssistProgress = {\n close: \"Sluiten\",\n codeLoading: \"Laden\\u2026\",\n codeAnalyzing: \"Annoteren\\u2026\",\n codeAnalyzingTags: \"Tags annoteren\\u2026\",\n codeDetectingEntities: \"Annoteren\\u2026\",\n codeCreatingAnnotations: \"{{count}} annotaties maken\\u2026\",\n codeCreatingTagAnnotations: \"{{count}} tags maken\\u2026\",\n codeCompleteCreated: \"{{count}} {{kind}} gemaakt\",\n codeGeneratingResource: \"Genereren\\u2026\",\n codeCreatingResource: \"Bron maken\\u2026\",\n codeCompleteGenerated: \"Bron gemaakt\",\n codeCompleteGeneratedTruncated: \"Bron gemaakt \\u2014 afgekapt bij de lengtelimiet\",\n kindHighlight: \"markeringen\",\n kindComment: \"opmerkingen\",\n kindAssessment: \"beoordelingen\",\n kindReference: \"verwijzingen\",\n kindTag: \"tags\",\n subject: \"{{kind}}: {{label}}\",\n subjectWithPosition: \"{{kind}}: {{label}} ({{done}} van {{total}})\",\n paramEntityTypes: \"Entiteitstypen\",\n paramInstructions: \"Instructies\",\n paramTone: \"Toon\",\n paramDensity: \"Dichtheid\",\n subjectKindEntityType: \"Entiteitstype\",\n subjectKindCategory: \"Categorie\",\n cancel: \"Annuleren\",\n inProgress: \"Annoteren...\"\n};\nvar PdfViewer = {\n loadFailed: \"Kan de PDF niet laden\",\n loading: \"PDF laden...\",\n next: \"Volgende\",\n pageLoadFailed: \"Kan de pagina niet laden\",\n pageOf: \"Pagina {{page}} van {{total}}\",\n pagination: \"Paginanavigatie\",\n previous: \"Vorige\",\n viewerLoading: \"PDF-viewer laden...\"\n};\nvar Toolbar = {\n annotations: \"Annotaties\",\n history: \"Geschiedenis\",\n resourceInfo: \"Broninformatie\",\n collaboration: \"Samenwerking\",\n userAccount: \"Gebruikersaccount\",\n settings: \"Instellingen\",\n knowledgeBase: \"Kennisbank\"\n};\nvar ResourceInfoPanel = {\n title: \"Broninformatie\",\n locale: \"Taalregio\",\n notSpecified: \"Niet gespecificeerd\",\n entityTypeTags: \"Entiteitstypelabels\",\n representation: \"Representatie\",\n mediaType: \"Mediatype\",\n byteSize: \"Grootte\",\n storageUri: \"Opslag\",\n clone: \"Klonen\",\n cloneDescription: \"Genereer een deelbare kloonlink voor deze bron\",\n generate: \"Genereren\",\n generateDescription: \"Genereer een nieuwe bron op basis van de context van deze bron\",\n archive: \"Archiveren\",\n archiveDescription: \"Verplaats deze bron naar gearchiveerde status\",\n unarchive: \"Dearchiveren\",\n unarchiveDescription: \"Herstel deze bron naar actieve status\",\n provenance: \"Herkomst\",\n createdAt: \"Aangemaakt\",\n modifiedAt: \"Gewijzigd\",\n attributedTo: \"Toegeschreven aan\",\n derivedFrom: \"Afgeleid van\"\n};\nvar CollaborationPanel = {\n title: \"Samenwerking\",\n connectionStatus: \"Verbindingsstatus\",\n live: \"Live\",\n disconnected: \"Verbroken\",\n events: \"{{count}} gebeurtenissen\",\n lastSync: \"Laatste synchronisatie:\",\n noActivity: \"Nog geen activiteit\",\n justNow: \"Zojuist\",\n secondsAgo: \"{{count}} seconden geleden\",\n minuteAgo: \"1 minuut geleden\",\n minutesAgo: \"{{count}} minuten geleden\",\n hourAgo: \"1 uur geleden\",\n hoursAgo: \"{{count}} uur geleden\",\n realtimeActive: \"Realtime-updates zijn actief\",\n reconnecting: \"Opnieuw verbinden met server...\",\n sharing: \"Delen\",\n collaborationComingSoon: \"Samenwerkingsfuncties komen binnenkort\",\n collaborators: \"Medewerkers\",\n ceilings: \"{{contextTokens}} in / {{maxOutputTokens}} uit\",\n sharedWindow: \"{{contextTokens}} venster\"\n};\nvar AnnotationHistory = {\n history: \"Geschiedenis\",\n loading: \"Laden...\",\n user: \"Gebruiker\",\n viewOriginal: \"Origineel bekijken\",\n viewAnnotation: \"Annotatie bekijken: {{content}}\",\n resourceCreated: \"Bron aangemaakt\",\n resourceCloned: \"Gekloond\",\n resourceArchived: \"Gearchiveerd\",\n resourceUnarchived: \"Gedearchiveerd\",\n highlightAdded: \"Markering toegevoegd\",\n highlightRemoved: \"Markering verwijderd\",\n referenceCreated: \"Referentie aangemaakt\",\n referenceResolved: \"Referentie opgelost\",\n referenceDeleted: \"Referentie verwijderd\",\n entitytagAdded: \"Label toegevoegd\",\n entitytagRemoved: \"Label verwijderd\",\n assessmentAdded: \"Beoordeling toegevoegd\",\n assessmentRemoved: \"Beoordeling verwijderd\",\n annotationAdded: \"Annotatie toegevoegd\",\n annotationRemoved: \"Annotatie verwijderd\",\n annotationBodyUpdated: \"Annotatie bijgewerkt\",\n jobEvent: \"Taakgebeurtenis\",\n embeddingComputed: \"Embedding berekend\",\n justNow: \"zojuist\",\n minutesAgo: \"{{count}}m geleden\",\n hoursAgo: \"{{count}}u geleden\",\n daysAgo: \"{{count}}d geleden\",\n failed: \"Kan de geschiedenis niet laden.\",\n retry: \"Opnieuw proberen\"\n};\nvar CommentsPanel = {\n title: \"Opmerkingen\",\n noComments: \"Nog geen opmerkingen. Selecteer tekst en klik op Opmerking om er een toe te voegen.\",\n commentPlaceholder: \"Typ hier je opmerking...\",\n save: \"Opslaan\",\n cancel: \"Annuleren\",\n edit: \"Bewerken\",\n annotateComments: \"Opmerkingen annoteren\",\n instructions: \"Instructies\",\n optional: \"(optioneel)\",\n instructionsPlaceholder: \"bijv. Focus op technische terminologie...\",\n annotate: \"Annoteren\",\n annotating: \"Annoteren...\",\n toneLabel: \"Toon\",\n toneOptional: \"(optioneel)\",\n toneScholarly: \"Wetenschappelijk\",\n toneExplanatory: \"Verklarend\",\n toneConversational: \"Conversationeel\",\n toneTechnical: \"Technisch\",\n densityLabel: \"Dichtheid\",\n densitySparse: \"Schaars\",\n densityDense: \"Dicht\",\n fragmentSelected: \"Fragment geselecteerd\",\n imageRegionSelected: \"Afbeeldingsgebied geselecteerd\",\n complete: \"Annotatie voltooid!\",\n failed: \"Annotatie mislukt\",\n densityPerWords: \"{{density}} per 2000 woorden\"\n};\nvar HighlightPanel = {\n title: \"Markeringen\",\n noHighlights: \"Nog geen markeringen. Gebruik AI-annotatie om belangrijke passages te vinden.\",\n annotateHighlights: \"Markeringen annoteren\",\n instructions: \"Instructies\",\n optional: \"(optioneel)\",\n instructionsPlaceholder: \"bijv. Focus op belangrijke technische concepten...\",\n annotate: \"Annoteren\",\n annotating: \"Annoteren...\",\n cancel: \"Annuleren\",\n densityLabel: \"Dichtheid\",\n densitySparse: \"Schaars\",\n densityDense: \"Dicht\",\n complete: \"Annotatie voltooid!\",\n failed: \"Annotatie mislukt\",\n densityPerWords: \"{{density}} per 2000 woorden\"\n};\nvar AssessmentPanel = {\n title: \"Beoordelingen\",\n noAssessments: \"Nog geen beoordelingen. Gebruik AI-annotatie om passages te evalueren.\",\n assessmentPlaceholder: \"Typ hier je beoordeling...\",\n save: \"Opslaan\",\n cancel: \"Annuleren\",\n annotateAssessments: \"Beoordelingen annoteren\",\n instructions: \"Instructies\",\n optional: \"(optioneel)\",\n instructionsPlaceholder: \"bijv. Evalueer beweringen op nauwkeurigheid en bewijs...\",\n annotate: \"Annoteren\",\n annotating: \"Annoteren...\",\n toneLabel: \"Toon\",\n toneOptional: \"(optioneel)\",\n toneAnalytical: \"Analytisch\",\n toneCritical: \"Kritisch\",\n toneBalanced: \"Evenwichtig\",\n toneConstructive: \"Constructief\",\n densityLabel: \"Dichtheid\",\n densitySparse: \"Schaars\",\n densityDense: \"Dicht\",\n fragmentSelected: \"Fragment geselecteerd\",\n imageRegionSelected: \"Afbeeldingsgebied geselecteerd\",\n complete: \"Annotatie voltooid!\",\n failed: \"Annotatie mislukt\",\n densityPerWords: \"{{density}} per 2000 woorden\"\n};\nvar TaggingPanel = {\n title: \"Labels\",\n noTags: \"Nog geen labels. Gebruik AI-annotatie om structurele rollen te identificeren.\",\n noSchemas: \"Geen tagschema's geregistreerd voor deze kennisbasis. Een KB-beheerder moet ten minste \\xE9\\xE9n structureel-analyseschema registreren (bv. via de `register-tag-schemas`-skill) voordat tagging gebruikt kan worden.\",\n annotateTags: \"Labels annoteren\",\n selectSchema: \"Framework selecteren\",\n selectCategories: \"Categorie\\xEBn selecteren\",\n annotate: \"Annoteren\",\n annotating: \"Annoteren...\",\n cancel: \"Annuleren\",\n selectAll: \"Alles selecteren\",\n deselectAll: \"Alles deselecteren\",\n categoriesSelected: \"{count, plural, =0 {Geen categorie\\xEBn geselecteerd} =1 {1 categorie geselecteerd} other {# categorie\\xEBn geselecteerd}}\",\n createTagForSelection: \"Label maken voor selectie\",\n selectCategory: \"Categorie selecteren\",\n chooseCategory: \"Kies een categorie...\",\n fragmentSelected: \"Fragment geselecteerd\",\n imageRegionSelected: \"Afbeeldingsgebied geselecteerd\",\n complete: \"Annotatie voltooid!\",\n failed: \"Annotatie mislukt\"\n};\nvar UnifiedAnnotationsPanel = {\n title: \"Annotaties\",\n statistics: \"Statistieken\",\n highlight: \"Markeringen\",\n reference: \"Referenties\",\n assessment: \"Beoordelingen\",\n comment: \"Opmerkingen\",\n tag: \"Labels\",\n annotationsFailed: \"Kan de annotaties niet laden.\",\n retry: \"Opnieuw proberen\"\n};\nvar StatisticsPanel = {\n title: \"Statistieken\",\n highlights: \"Markeringen\",\n comments: \"Opmerkingen\",\n assessments: \"Beoordelingen\",\n tags: \"Labels\",\n references: \"Referenties\",\n stub: \"Stub\",\n resolved: \"Opgelost\",\n entityTypes: \"Entiteitstypen\"\n};\nvar ReferencesPanel = {\n title: \"Referenties\",\n noReferences: \"Nog geen referenties. Selecteer tekst om referenties naar andere bronnen te maken.\",\n outgoingReferences: \"Uitgaande referenties\",\n incomingReferences: \"Inkomende referenties\",\n noIncomingReferences: \"Geen inkomende referenties\",\n stub: \"Stubreferentie (niet gekoppeld)\",\n resolved: \"Opgeloste referentie (gekoppeld)\",\n derived: \"Afgeleid\",\n open: \"Openen\",\n unlink: \"Ontkoppelen\",\n resolve: \"Referentie oplossen\",\n cancel: \"Annuleren\",\n createReference: \"Referentie maken\",\n entityTypesOptional: \"Entiteitstypen (optioneel)\",\n fragmentSelected: \"Fragment geselecteerd\",\n annotateReferences: \"Referenties annoteren\",\n selectEntityTypes: \"Entiteitstypen:\",\n select: \"Selecteren\",\n deselect: \"Deselecteren\",\n noEntityTypes: \"Geen entiteitstypen beschikbaar\",\n typesSelected: \"{count, plural, =1 {1 type geselecteerd} other {# typen geselecteerd}}\",\n annotate: \"Annoteren\",\n annotating: \"Annoteren...\",\n includeDescriptiveReferences: \"Beschrijvende referenties opnemen\",\n descriptiveReferencesTooltip: \"Zoek ook naar zinnen zoals 'de CEO', 'de techgigant', 'de fysicus' (naast namen)\",\n found: \"{{count}} gevonden\",\n complete: \"Annotatie voltooid!\",\n failed: \"Annotatie mislukt\",\n current: \"Huidig: {{entityType}}\",\n loading: \"laden...\",\n loadingEllipsis: \"Laden...\",\n untitledResource: \"Naamloze bron\",\n noText: \"Geen tekst\",\n incomingReferencesFailed: \"Kan de inkomende referenties niet laden.\",\n retry: \"Opnieuw proberen\",\n entityTypesFailed: \"Kan de entiteitstypen niet laden.\"\n};\nvar KeyboardShortcuts = {\n title: \"Sneltoetsen\",\n closeDialog: \"Dialoogvenster sluiten\",\n or: \"of\",\n navigationTitle: \"Navigatie\",\n navOpenSearch: \"Globale zoekopdracht openen\",\n navOpenSearchAlt: \"Globale zoekopdracht openen (alternatief)\",\n navCreateResource: \"Nieuwe bron aanmaken\",\n navCloseOverlays: \"Alle overlays sluiten (dubbel drukken)\",\n navShowHelp: \"Sneltoetshulp tonen\",\n sidebarTitle: \"Kenniszijbalk\",\n sidebarCollapse: \"Zijbalk inklappen\",\n sidebarExpand: \"Zijbalk uitklappen\",\n sidebarPickup: \"Brontabblad oppakken (bij focus)\",\n sidebarMove: \"Brontabblad verplaatsen (bij slepen)\",\n sidebarDrop: \"Brontabblad neerzetten (bij slepen)\",\n sidebarCancel: \"Sleepbewerking annuleren\",\n annotationsTitle: \"Bronannotaties\",\n annotHighlight: \"Markering maken van annotatie (direct)\",\n annotReference: \"Referentiepopup openen voor annotatie\",\n annotDelete: \"Gefocuste annotatie verwijderen\",\n annotNavigate: \"Door annotaties navigeren\",\n annotNavigateBack: \"Achterwaarts door annotaties navigeren\",\n listsTitle: \"Lijsten & rasters\",\n listsFilterNav: \"Door entiteitstypefilters navigeren\",\n listsGridNav: \"Door bronnenraster navigeren\",\n listsJumpFirst: \"Naar eerste item springen\",\n listsJumpLast: \"Naar laatste item springen\",\n searchModalTitle: \"In zoekvenster\",\n searchNav: \"Door zoekresultaten navigeren\",\n searchSelect: \"Resultaat selecteren\",\n searchClose: \"Zoekvenster sluiten\",\n modalTitle: \"Vensterbediening\",\n modalClose: \"Actief venster sluiten\",\n modalNavForward: \"Voorwaarts door knoppen navigeren\",\n modalNavBackward: \"Achterwaarts door knoppen navigeren\",\n modalActivate: \"Gefocuste knop activeren\",\n accessibilityTitle: \"Toegankelijkheid\",\n a11ySkipLinks: \"Naar skiplinks navigeren (bij begin van pagina)\",\n a11yFollowLink: \"Skiplink volgen\",\n macNote: \"Mac-sneltoetsen worden gebruikt. Command is de Command-toets.\",\n windowsNote: \"Windows/Linux-sneltoetsen worden gebruikt. Ctrl is de Control-toets.\",\n footerHint: \"Druk op {{key}} om deze hulp op elk moment te tonen\",\n close: \"Sluiten\"\n};\nvar AnnotateToolbar = {\n modeGroup: \"Modus\",\n browse: \"Bladeren\",\n annotate: \"Annoteren\",\n selectionGroup: \"Motivatie\",\n clickGroup: \"Klik\",\n shapeGroup: \"Vorm\",\n none: \"Geen\",\n linking: \"Referentie\",\n highlighting: \"Markering\",\n assessing: \"Beoordelen\",\n commenting: \"Opmerking\",\n tagging: \"Labelen\",\n detail: \"Detail\",\n follow: \"Volgen\",\n deleting: \"Verwijderen\",\n jsonld: \"JSON-LD\",\n rectangle: \"Rechthoek\",\n circle: \"Cirkel\",\n polygon: \"Polygoon\"\n};\nvar CollapsibleResourceNavigation = {\n title: \"Navigatie\",\n collapseSidebar: \"Zijbalk inklappen\",\n expandSidebar: \"Zijbalk uitklappen\",\n dragToReorder: \"Slepen om te herordenen\",\n dragToReorderDoc: \"Slepen om {{name}} te herordenen\",\n closeResource: \"Bron sluiten\",\n dragInstructions: \"Om bronnen te herordenen: Gebruik Tab om naar een bron te navigeren. Druk op Alt+pijl omhoog om omhoog te verplaatsen of Alt+pijl omlaag om omlaag te verplaatsen. Voor slepen en neerzetten: Druk op de spatiebalk om het item op te pakken. Gebruik pijltoetsen om het te verplaatsen. Druk nogmaals op de spatiebalk om het neer te zetten.\"\n};\nvar ResourceViewer = {\n deleteConfirmationTitle: \"Annotatie verwijderen\",\n deleteConfirmationMessage: \"Weet je zeker dat je deze annotatie wilt verwijderen? Deze actie kan niet ongedaan worden gemaakt.\",\n deleteConfirmationCancel: \"Annuleren\",\n deleteConfirmationDelete: \"Verwijderen\"\n};\nvar Settings = {\n title: \"Instellingen\",\n lineNumbers: \"Regelnummers\",\n lineNumbersVisible: \"Zichtbaar\",\n lineNumbersHidden: \"Verborgen\",\n theme: \"Thema\",\n themeLight: \"Licht\",\n themeDark: \"Donker\",\n themeSystem: \"Systeem\",\n themeSystemActive: \"Systeem ({{mode}})\",\n themeModeActive: \"{{mode}}-modus gebruiken\",\n language: \"Taal\",\n languageHint: \"Wijzig de taal in de hoofdnavigatie\",\n languageChanging: \"Taal wijzigen...\",\n hoverDelay: \"Zweefvertraging\",\n hoverDelayFast: \"Snel\",\n hoverDelaySlow: \"Langzaam\",\n hoverDelayDescription: \"{{delay}}ms vertraging voordat zweefeffecten verschijnen\"\n};\nvar AnnotateView = {};\nvar ResourceGenerate = {\n gatherIntro: \"Kies wat je wilt opnemen in de verzamelde context.\",\n includeContent: \"Broninhoud opnemen\",\n includeSummary: \"Samenvatting opnemen\",\n gatherDepth: \"Diepte\",\n gatherMaxResources: \"Maximale bronnen\",\n gatherButton: \"Verzamelen\",\n editGather: \"Verzamelinstellingen wijzigen\",\n recallLabel: \"Opgenomen in het ophalen \\u2014 deselecteer om uit te sluiten\",\n loadingContext: \"Context wordt verzameld...\",\n failedContext: \"Context verzamelen mislukt\",\n sourceContextLabel: \"Bron\",\n connectionsLabel: \"Verbindingen\",\n citedByLabel: \"Geciteerd door\",\n resourceTitle: \"Titel nieuwe bron\",\n resourceTitlePlaceholder: \"Titel voor de gegenereerde bron...\",\n additionalInstructions: \"Aanvullende instructies\",\n additionalInstructionsPlaceholder: \"Optionele richtlijnen voor de generatie...\",\n language: \"Taal\",\n languageHelp: \"Taal voor de gegenereerde bron\",\n creativity: \"Creativiteit\",\n creativityFocused: \"Gericht\",\n creativityCreative: \"Creatief\",\n maxLength: \"Maximale lengte\",\n maxLengthHelp: \"Maximaal aantal tokens\",\n generate: \"Genereren\",\n maxLengthCeiling: \"Beperkt tot {{maxOutputTokens}} tokens door {{model}}.\",\n outputFormat: \"Formaat\",\n formatExtensionMismatch: \"De opslaglocatie moet eindigen op {{extension}} om overeen te komen met het gekozen formaat.\",\n graphPaneTitle: \"Omgeving\",\n graphEmpty: \"Nog geen koppelingen.\",\n resourceLinkLabel: \"Bronkoppeling\",\n corpusPaneTitle: \"Vergelijkbare passages\",\n corpusEmpty: \"Geen vergelijkbare passages gevonden.\",\n excludedReceipt: \"{{types}} uitgesloten van deze zoekronde\",\n machineRead: \"OCR\",\n score: \"Score\",\n saveLocation: \"Opslaglocatie\",\n discardDraftPrompt: \"Dit concept verwerpen?\",\n discardDraft: \"Verwerpen\",\n keepEditing: \"Doorgaan met bewerken\",\n title: \"Genereren vanuit deze bron\"\n};\nvar ReferenceWizard = {\n sourceContextLabel: \"Annotatiecontext in resource\",\n connectionsLabel: \"Peer-annotaties\",\n citedByLabel: \"Resource geciteerd door\",\n userHintLabel: \"Hint\",\n userHintPlaceholder: \"Beschrijf waar deze annotatie naar verwijst...\",\n loadingContext: \"Context wordt verzameld...\",\n failedContext: \"Context verzamelen mislukt\",\n generate: \"Genereren\",\n compose: \"Opstellen\",\n resolutionStrategyLabel: \"Resolutiestrategie\",\n back: \"Terug\",\n link: \"Link\",\n score: \"Score\",\n noResults: \"Geen resultaten gevonden\",\n resourceTitle: \"Brontitel\",\n resourceTitlePlaceholder: \"Voer brontitel in...\",\n additionalInstructions: \"Aanvullende instructies\",\n additionalInstructionsPlaceholder: \"Voer aanvullende instructies in...\",\n language: \"Taal\",\n languageHelp: \"Taal voor gegenereerde inhoud\",\n creativity: \"Creativiteit\",\n creativityFocused: \"Gericht\",\n creativityCreative: \"Creatief\",\n maxLength: \"Maximale lengte\",\n maxLengthHelp: \"Maximaal aantal tokens\",\n maxResults: \"Maximale resultaten\",\n semanticScoring: \"Semantische beoordeling\",\n semanticScoringHelp: \"Gebruik AI om resultaten te beoordelen op semantische relevantie\",\n searching: \"Zoeken...\",\n searchFailed: \"Zoeken mislukt\",\n search: \"Zoeken\",\n maxLengthCeiling: \"Beperkt tot {{maxOutputTokens}} tokens door {{model}}.\",\n outputFormat: \"Formaat\",\n formatExtensionMismatch: \"De opslaglocatie moet eindigen op {{extension}} om overeen te komen met het gekozen formaat.\",\n graphPaneTitle: \"Omgeving\",\n graphEmpty: \"Nog geen koppelingen \\u2014 deze referentie oplossen maakt de eerste.\",\n resourceLinkLabel: \"Bronkoppeling\",\n corpusPaneTitle: \"Vergelijkbare passages\",\n corpusEmpty: \"Geen vergelijkbare passages gevonden \\u2014 zoeken levert waarschijnlijk niets op.\",\n excludedReceipt: \"{{types}} uitgesloten van deze zoekronde\",\n machineRead: \"OCR\",\n userHintEffect: \"stuurt zoeken en genereren\",\n saveLocation: \"Opslaglocatie\",\n entityTypes: \"Entiteitstypen\",\n contentLabel: \"Inhoud\",\n createAndLink: \"Maken & Koppelen\",\n creatingAndLinking: \"Bezig met maken & koppelen\\u2026\",\n discardDraftPrompt: \"Dit concept verwerpen?\",\n discardDraft: \"Verwerpen\",\n keepEditing: \"Doorgaan met bewerken\",\n resolveTitle: \"Referentie oplossen\"\n};\nvar OutcomeToasts = {\n createFailed: \"Kon de annotatie niet maken: {{detail}}\",\n deleteFailed: \"Kon de annotatie niet verwijderen: {{detail}}\",\n referenceUpdateFailed: \"Kon de verwijzing niet bijwerken: {{detail}}\",\n unknownError: \"onbekende fout\",\n assistQuiet: \"Nog bezig \\u2014 al enkele minuten geen update\",\n resourceCreatedNamed: \"\\u201C{{name}}\\u201D gemaakt\",\n resourceCreated: \"Bron gemaakt\",\n annotationComplete: \"Annotatie voltooid\",\n annotationFailed: \"Annotatie mislukt\",\n generationFailed: \"Genereren mislukt: {{detail}}\",\n \"decline_no-text-layer\": \"Deze PDF is een scan waarvan de tekst niet herkend kon worden.\",\n decline_encrypted: \"Deze PDF is met een wachtwoord beveiligd; de tekst is onleesbaar.\",\n decline_corrupt: \"Deze PDF kon niet gelezen worden \\u2014 het bestand is mogelijk beschadigd.\",\n \"decline_too-large\": \"Dit document is te groot om tekst uit te halen.\",\n decline_empty: \"Dit document bevat geen tekst om te annoteren.\"\n};\nvar nl_default = {\n AssistProgress,\n PdfViewer,\n Toolbar,\n ResourceInfoPanel,\n CollaborationPanel,\n AnnotationHistory,\n CommentsPanel,\n HighlightPanel,\n AssessmentPanel,\n TaggingPanel,\n UnifiedAnnotationsPanel,\n StatisticsPanel,\n ReferencesPanel,\n KeyboardShortcuts,\n AnnotateToolbar,\n CollapsibleResourceNavigation,\n ResourceViewer,\n Settings,\n AnnotateView,\n ResourceGenerate,\n ReferenceWizard,\n OutcomeToasts\n};\nexport {\n AnnotateToolbar,\n AnnotateView,\n AnnotationHistory,\n AssessmentPanel,\n AssistProgress,\n CollaborationPanel,\n CollapsibleResourceNavigation,\n CommentsPanel,\n HighlightPanel,\n KeyboardShortcuts,\n OutcomeToasts,\n PdfViewer,\n ReferenceWizard,\n ReferencesPanel,\n ResourceGenerate,\n ResourceInfoPanel,\n ResourceViewer,\n Settings,\n StatisticsPanel,\n TaggingPanel,\n Toolbar,\n UnifiedAnnotationsPanel,\n nl_default as default\n};\n//# sourceMappingURL=nl-OQEWIXNA.js.map"],"mappings":"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,0BACd,cAAe,OACf,oBAAqB,iDACrB,eAAgB,6BAChB,cAAe,6BACf,SAAU,YACV,QAAS,YACT,wBAAyB,qBACzB,KAAM,QACN,KAAM,OACN,MAAO,QACP,UAAW,2BACX,cAAe,YACf,yBAA0B,uBAC1B,uBAAwB,0BACxB,kCAAmC,qCACnC,SAAU,OACV,aAAc,gCACd,WAAY,eACZ,kBAAmB,UACnB,mBAAoB,WACpB,UAAW,kBACX,cAAe,yBACf,WAAY,sBACZ,gBAAiB,0BACjB,oBAAqB,mEACrB,UAAW,YACX,aAAc,iBACd,OAAQ,SACR,iBAAkB,yDAClB,aAAc,UACd,wBAAyB,+FACzB,eAAgB,WAChB,WAAY,mEACZ,kBAAmB,gBACnB,gBAAiB,yBACjB,YAAa,gFACb,gBAAiB,2CACjB,YAAa,MACb,eAAgB,6BAChB,aAAc,gBACd,YAAa,iBACb,aAAc,SACd,cAAe,mBACf,mBAAoB,8BACpB,mBAAoB,yBACpB,aAAc,YACd,YAAa,wBACb,aAAc,qBAChB,EACI,EAAgB,CAClB,aAAc,0CACd,aAAc,gDACd,sBAAuB,+CACvB,aAAc,iBACd,YAAa,4CACb,qBAAsB,qBACtB,gBAAiB,eACjB,mBAAoB,qBACpB,iBAAkB,oBAClB,iBAAkB,gCAClB,wBAAyB,iEACzB,kBAAmB,oEACnB,gBAAiB,yEACjB,oBAAqB,kDACrB,cAAe,gDACjB,EACI,EAAa,CACf,iBACA,YACA,UACA,oBACA,qBACA,oBACA,gBACA,iBACA,kBACA,eACA,0BACA,kBACA,kBACA,oBACA,kBACA,gCACA,iBACA,WACA,eACA,mBACA,kBACA,eACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
var e={close:`Lukk`,codeLoading:`Laster…`,codeAnalyzing:`Merker…`,codeAnalyzingTags:`Merker etiketter…`,codeDetectingEntities:`Merker…`,codeCreatingAnnotations:`Oppretter {{count}} merknader…`,codeCreatingTagAnnotations:`Oppretter {{count}} etiketter…`,codeCompleteCreated:`Opprettet {{count}} {{kind}}`,codeGeneratingResource:`Genererer…`,codeCreatingResource:`Oppretter ressursen…`,codeCompleteGenerated:`Ressursen er opprettet`,codeCompleteGeneratedTruncated:`Ressursen er opprettet — avkuttet ved lengdegrensen`,kindHighlight:`uthevinger`,kindComment:`kommentarer`,kindAssessment:`vurderinger`,kindReference:`referanser`,kindTag:`etiketter`,subject:`{{kind}}: {{label}}`,subjectWithPosition:`{{kind}}: {{label}} ({{done}} av {{total}})`,paramEntityTypes:`Entitetstyper`,paramInstructions:`Instruksjoner`,paramTone:`Tone`,paramDensity:`Tetthet`,subjectKindEntityType:`Entitetstype`,subjectKindCategory:`Kategori`,cancel:`Avbryt`,inProgress:`Annoterer...`},t={loadFailed:`Kunne ikke laste PDF`,loading:`Laster PDF...`,next:`Neste`,pageLoadFailed:`Kunne ikke laste siden`,pageOf:`Side {{page}} av {{total}}`,pagination:`Sidenavigasjon`,previous:`Forrige`,viewerLoading:`Laster PDF-viser...`},n={annotations:`Annoteringer`,history:`Historikk`,resourceInfo:`Ressursinfo`,collaboration:`Samarbeid`,userAccount:`Brukerkonto`,settings:`Innstillinger`,knowledgeBase:`Kunnskapsbase`},r={title:`Ressursinfo`,locale:`Språkinnstilling`,notSpecified:`Ikke spesifisert`,entityTypeTags:`Entitetstypemerker`,representation:`Representasjon`,mediaType:`Medietype`,byteSize:`Størrelse`,storageUri:`Lagring`,clone:`Klon`,cloneDescription:`Generer en delbar klonelenke for denne ressursen`,generate:`Generer`,generateDescription:`Generer en ny ressurs fra konteksten til denne ressursen`,archive:`Arkiver`,archiveDescription:`Flytt denne ressursen til arkivert status`,unarchive:`Gjenopprett`,unarchiveDescription:`Gjenopprett denne ressursen til aktiv status`,provenance:`Opprinnelse`,createdAt:`Opprettet`,modifiedAt:`Endret`,attributedTo:`Tilskrevet`,derivedFrom:`Avledet fra`},i={title:`Samarbeid`,connectionStatus:`Tilkoblingsstatus`,live:`Direkte`,disconnected:`Frakoblet`,events:`{{count}} hendelser`,lastSync:`Siste synkronisering:`,noActivity:`Ingen aktivitet ennå`,justNow:`Akkurat nå`,secondsAgo:`{{count}} sekunder siden`,minuteAgo:`1 minutt siden`,minutesAgo:`{{count}} minutter siden`,hourAgo:`1 time siden`,hoursAgo:`{{count}} timer siden`,realtimeActive:`Sanntidsoppdateringer er aktive`,reconnecting:`Kobler til serveren på nytt...`,sharing:`Deling`,collaborationComingSoon:`Samarbeidsfunksjoner kommer snart`,collaborators:`Samarbeidspartnere`,ceilings:`{{contextTokens}} inn / {{maxOutputTokens}} ut`,sharedWindow:`{{contextTokens}} vindu`},a={history:`Historikk`,loading:`Laster...`,user:`Bruker`,viewOriginal:`Se original`,viewAnnotation:`Se annotering: {{content}}`,resourceCreated:`Ressurs opprettet`,resourceCloned:`Klonet`,resourceArchived:`Arkivert`,resourceUnarchived:`Gjenopprettet`,highlightAdded:`Utheving lagt til`,highlightRemoved:`Utheving fjernet`,referenceCreated:`Referanse opprettet`,referenceResolved:`Referanse løst`,referenceDeleted:`Referanse slettet`,entitytagAdded:`Merke lagt til`,entitytagRemoved:`Merke fjernet`,assessmentAdded:`Vurdering lagt til`,assessmentRemoved:`Vurdering fjernet`,annotationAdded:`Annotering lagt til`,annotationRemoved:`Annotering fjernet`,annotationBodyUpdated:`Annotering oppdatert`,jobEvent:`Jobbhendelse`,embeddingComputed:`Embedding beregnet`,justNow:`akkurat nå`,minutesAgo:`{{count}}m siden`,hoursAgo:`{{count}}t siden`,daysAgo:`{{count}}d siden`,failed:`Kunne ikke laste historikken.`,retry:`Prøv igjen`},o={title:`Kommentarer`,noComments:`Ingen kommentarer ennå. Velg tekst og klikk Kommenter for å legge til en.`,commentPlaceholder:`Skriv kommentaren din her...`,save:`Lagre`,cancel:`Avbryt`,edit:`Rediger`,annotateComments:`Annotér kommentarer`,instructions:`Instruksjoner`,optional:`(valgfritt)`,instructionsPlaceholder:`f.eks. Fokuser på teknisk terminologi...`,annotate:`Annotér`,annotating:`Annoterer...`,toneLabel:`Tone`,toneOptional:`(valgfritt)`,toneScholarly:`Akademisk`,toneExplanatory:`Forklarende`,toneConversational:`Uformell`,toneTechnical:`Teknisk`,densityLabel:`Tetthet`,densitySparse:`Sparsom`,densityDense:`Tett`,fragmentSelected:`Fragment valgt`,imageRegionSelected:`Bildeområde valgt`,complete:`Annotering fullført!`,failed:`Annotering mislyktes`,densityPerWords:`{{density}} per 2000 ord`},s={title:`Uthevinger`,noHighlights:`Ingen uthevinger ennå. Bruk AI-annotering for å finne viktige passasjer.`,annotateHighlights:`Annotér uthevinger`,instructions:`Instruksjoner`,optional:`(valgfritt)`,instructionsPlaceholder:`f.eks. Fokuser på viktige tekniske begreper...`,annotate:`Annotér`,annotating:`Annoterer...`,cancel:`Avbryt`,densityLabel:`Tetthet`,densitySparse:`Sparsom`,densityDense:`Tett`,complete:`Annotering fullført!`,failed:`Annotering mislyktes`,densityPerWords:`{{density}} per 2000 ord`},c={title:`Vurderinger`,noAssessments:`Ingen vurderinger ennå. Bruk AI-annotering for å evaluere passasjer.`,assessmentPlaceholder:`Skriv vurderingen din her...`,save:`Lagre`,cancel:`Avbryt`,annotateAssessments:`Annotér vurderinger`,instructions:`Instruksjoner`,optional:`(valgfritt)`,instructionsPlaceholder:`f.eks. Evaluer påstander for nøyaktighet og bevisgrunnlag...`,annotate:`Annotér`,annotating:`Annoterer...`,toneLabel:`Tone`,toneOptional:`(valgfritt)`,toneAnalytical:`Analytisk`,toneCritical:`Kritisk`,toneBalanced:`Balansert`,toneConstructive:`Konstruktiv`,densityLabel:`Tetthet`,densitySparse:`Sparsom`,densityDense:`Tett`,fragmentSelected:`Fragment valgt`,imageRegionSelected:`Bildeområde valgt`,complete:`Annotering fullført!`,failed:`Annotering mislyktes`,densityPerWords:`{{density}} per 2000 ord`},l={title:`Merker`,noTags:`Ingen merker ennå. Bruk AI-annotering for å identifisere strukturelle roller.`,noSchemas:"Ingen tag-skjemaer registrert for denne kunnskapsbasen. En KB-administrator må registrere minst ett strukturanalyse-skjema (f.eks. via `register-tag-schemas`-ferdigheten) før tagging kan brukes.",annotateTags:`Annotér merker`,selectSchema:`Velg rammeverk`,selectCategories:`Velg kategorier`,annotate:`Annotér`,annotating:`Annoterer...`,cancel:`Avbryt`,selectAll:`Velg alle`,deselectAll:`Fjern alle valg`,categoriesSelected:`{count, plural, =0 {Ingen kategorier valgt} =1 {1 kategori valgt} other {# kategorier valgt}}`,createTagForSelection:`Opprett merke for utvalg`,selectCategory:`Velg kategori`,chooseCategory:`Velg en kategori...`,fragmentSelected:`Fragment valgt`,imageRegionSelected:`Bildeområde valgt`,complete:`Annotering fullført!`,failed:`Annotering mislyktes`},u={title:`Annoteringer`,statistics:`Statistikk`,highlight:`Uthevinger`,reference:`Referanser`,assessment:`Vurderinger`,comment:`Kommentarer`,tag:`Merker`,annotationsFailed:`Kunne ikke laste annoteringene.`,retry:`Prøv igjen`},d={title:`Statistikk`,highlights:`Uthevinger`,comments:`Kommentarer`,assessments:`Vurderinger`,tags:`Merker`,references:`Referanser`,stub:`Stub`,resolved:`Løst`,entityTypes:`Entitetstyper`},f={title:`Referanser`,noReferences:`Ingen referanser ennå. Velg tekst for å opprette referanser til andre ressurser.`,outgoingReferences:`Utgående referanser`,incomingReferences:`Innkommende referanser`,noIncomingReferences:`Ingen innkommende referanser`,stub:`Stubreferanse (ikke koblet)`,resolved:`Løst referanse (koblet)`,derived:`Avledet`,open:`Åpne`,unlink:`Fjern kobling`,resolve:`Løs referanse`,cancel:`Avbryt`,createReference:`Opprett referanse`,entityTypesOptional:`Entitetstyper (valgfritt)`,fragmentSelected:`Fragment valgt`,annotateReferences:`Annotér referanser`,selectEntityTypes:`Entitetstyper:`,select:`Velg`,deselect:`Fjern valg`,noEntityTypes:`Ingen entitetstyper tilgjengelig`,typesSelected:`{count, plural, =1 {1 type valgt} other {# typer valgt}}`,annotate:`Annotér`,annotating:`Annoterer...`,includeDescriptiveReferences:`Inkluder beskrivende referanser`,descriptiveReferencesTooltip:`Finn også fraser som 'administrerende direktør', 'teknologigiganten', 'fysikeren' (i tillegg til navn)`,found:`{{count}} funnet`,complete:`Annotering fullført!`,failed:`Annotering mislyktes`,current:`Nåværende: {{entityType}}`,loading:`laster...`,loadingEllipsis:`Laster...`,untitledResource:`Ressurs uten tittel`,noText:`Ingen tekst`,incomingReferencesFailed:`Kunne ikke laste innkommende referanser.`,retry:`Prøv igjen`,entityTypesFailed:`Kunne ikke laste entitetstyper.`},p={title:`Tastatursnarveier`,closeDialog:`Lukk dialog`,or:`eller`,navigationTitle:`Navigasjon`,navOpenSearch:`Åpne globalt søk`,navOpenSearchAlt:`Åpne globalt søk (alternativ)`,navCreateResource:`Opprett ny ressurs`,navCloseOverlays:`Lukk alle overlegg (dobbelttrykk)`,navShowHelp:`Vis hjelp for tastatursnarveier`,sidebarTitle:`Kunnskapssidefelt`,sidebarCollapse:`Skjul sidefelt`,sidebarExpand:`Vis sidefelt`,sidebarPickup:`Plukk opp ressursfane (når fokusert)`,sidebarMove:`Flytt ressursfane (når du drar)`,sidebarDrop:`Slipp ressursfane (når du drar)`,sidebarCancel:`Avbryt dra-operasjon`,annotationsTitle:`Ressursannoteringer`,annotHighlight:`Opprett utheving fra annotering (direkte)`,annotReference:`Åpne referansepopup for annotering`,annotDelete:`Slett fokusert annotering`,annotNavigate:`Naviger gjennom annoteringer`,annotNavigateBack:`Naviger annoteringer bakover`,listsTitle:`Lister og rutenett`,listsFilterNav:`Naviger entitetstypefiltre`,listsGridNav:`Naviger ressursrutenett`,listsJumpFirst:`Hopp til første element`,listsJumpLast:`Hopp til siste element`,searchModalTitle:`I søkemodal`,searchNav:`Naviger søkeresultater`,searchSelect:`Velg resultat`,searchClose:`Lukk søk`,modalTitle:`Modalkontroller`,modalClose:`Lukk aktiv modal`,modalNavForward:`Naviger fremover gjennom knapper`,modalNavBackward:`Naviger bakover gjennom knapper`,modalActivate:`Aktiver fokusert knapp`,accessibilityTitle:`Tilgjengelighet`,a11ySkipLinks:`Naviger til hurtiglenker (når øverst på siden)`,a11yFollowLink:`Følg hurtiglenke`,macNote:`Bruker Mac-tastatursnarveier. ⌘ er Command-tasten.`,windowsNote:`Bruker Windows/Linux-tastatursnarveier. Ctrl er Control-tasten.`,footerHint:`Trykk {{key}} når som helst for å vise denne hjelpen`,close:`Lukk`},m={modeGroup:`Modus`,browse:`Bla`,annotate:`Annotér`,selectionGroup:`Motivasjon`,clickGroup:`Klikk`,shapeGroup:`Form`,none:`Ingen`,linking:`Referanse`,highlighting:`Utheving`,assessing:`Vurder`,commenting:`Kommenter`,tagging:`Merk`,detail:`Detalj`,follow:`Følg`,deleting:`Slett`,jsonld:`JSON-LD`,rectangle:`Rektangel`,circle:`Sirkel`,polygon:`Polygon`},h={title:`Navigasjon`,collapseSidebar:`Skjul sidefelt`,expandSidebar:`Vis sidefelt`,dragToReorder:`Dra for å omorganisere`,dragToReorderDoc:`Dra for å omorganisere {{name}}`,closeResource:`Lukk ressurs`,dragInstructions:`For å omorganisere ressurser: Bruk Tab for å navigere til en ressurs. Trykk Alt+Pil opp for å flytte opp eller Alt+Pil ned for å flytte ned. For dra og slipp: Trykk mellomromstasten for å plukke opp elementet. Bruk piltastene for å flytte det. Trykk mellomromstasten igjen for å slippe.`},g={deleteConfirmationTitle:`Slett annotering`,deleteConfirmationMessage:`Er du sikker på at du vil slette denne annoteringen? Denne handlingen kan ikke angres.`,deleteConfirmationCancel:`Avbryt`,deleteConfirmationDelete:`Slett`},_={title:`Innstillinger`,lineNumbers:`Linjenumre`,lineNumbersVisible:`Synlig`,lineNumbersHidden:`Skjult`,theme:`Tema`,themeLight:`Lyst`,themeDark:`Mørkt`,themeSystem:`System`,themeSystemActive:`System ({{mode}})`,themeModeActive:`Bruker {{mode}}-modus`,language:`Språk`,languageHint:`Endre språk i hovednavigasjonen`,languageChanging:`Endrer språk...`,hoverDelay:`Pekerforsinkelse`,hoverDelayFast:`Rask`,hoverDelaySlow:`Langsom`,hoverDelayDescription:`{{delay}}ms forsinkelse før pekereffekter vises`},v={},y={gatherIntro:`Velg hva som skal inkluderes i den samlede konteksten.`,includeContent:`Inkluder ressursinnhold`,includeSummary:`Inkluder sammendrag`,gatherDepth:`Dybde`,gatherMaxResources:`Maks. ressurser`,gatherButton:`Samle`,editGather:`Endre innsamlingsinnstillinger`,recallLabel:`Inkludert i gjenfinningen — velg bort for å ekskludere`,loadingContext:`Samler kontekst...`,failedContext:`Kunne ikke samle kontekst`,sourceContextLabel:`Ressurs`,connectionsLabel:`Tilkoblinger`,citedByLabel:`Sitert av`,resourceTitle:`Tittel for ny ressurs`,resourceTitlePlaceholder:`Tittel for den genererte ressursen...`,additionalInstructions:`Tilleggsinstruksjoner`,additionalInstructionsPlaceholder:`Valgfri veiledning for genereringen...`,language:`Språk`,languageHelp:`Språk for den genererte ressursen`,creativity:`Kreativitet`,creativityFocused:`Fokusert`,creativityCreative:`Kreativ`,maxLength:`Maks. lengde`,maxLengthHelp:`Maksimalt antall tokener`,generate:`Generer`,maxLengthCeiling:`Begrenset til {{maxOutputTokens}} tokens av {{model}}.`,outputFormat:`Format`,formatExtensionMismatch:`Lagringsplasseringen må slutte på {{extension}} for å samsvare med valgt format.`,graphPaneTitle:`Omgivelser`,graphEmpty:`Ingen lenker ennå.`,resourceLinkLabel:`Ressurslenke`,corpusPaneTitle:`Lignende passasjer`,corpusEmpty:`Ingen lignende passasjer funnet.`,excludedReceipt:`{{types}} utelatt fra dette gjenfinnet`,machineRead:`OCR`,score:`Poengsum`,saveLocation:`Lagringssted`,discardDraftPrompt:`Forkaste dette utkastet?`,discardDraft:`Forkast`,keepEditing:`Fortsett å redigere`,title:`Generer fra denne ressursen`},b={sourceContextLabel:`Annoteringskontekst i ressurs`,connectionsLabel:`Peer-annoteringer`,citedByLabel:`Ressurs sitert av`,userHintLabel:`Hint`,userHintPlaceholder:`Beskriv hva denne annoteringen refererer til...`,loadingContext:`Samler kontekst...`,failedContext:`Kunne ikke samle kontekst`,generate:`Generer`,compose:`Komponer`,resolutionStrategyLabel:`Løsningsstrategi`,back:`Tilbake`,link:`Lenke`,score:`Poengsum`,noResults:`Ingen resultater funnet`,resourceTitle:`Ressurstitel`,resourceTitlePlaceholder:`Skriv inn ressurstitel...`,additionalInstructions:`Tilleggsinstruksjoner`,additionalInstructionsPlaceholder:`Skriv inn tilleggsinstruksjoner...`,language:`Språk`,languageHelp:`Språk for generert innhold`,creativity:`Kreativitet`,creativityFocused:`Fokusert`,creativityCreative:`Kreativ`,maxLength:`Maks. lengde`,maxLengthHelp:`Maksimalt antall tokener`,maxResults:`Maks. resultater`,semanticScoring:`Semantisk skåring`,semanticScoringHelp:`Bruk AI til å score resultater etter semantisk relevans`,searching:`Søker...`,searchFailed:`Søket mislyktes`,search:`Søk`,maxLengthCeiling:`Begrenset til {{maxOutputTokens}} tokens av {{model}}.`,outputFormat:`Format`,formatExtensionMismatch:`Lagringsplasseringen må slutte på {{extension}} for å samsvare med valgt format.`,graphPaneTitle:`Omgivelser`,graphEmpty:`Ingen lenker ennå — å løse denne referansen skaper den første.`,resourceLinkLabel:`Ressurslenke`,corpusPaneTitle:`Lignende passasjer`,corpusEmpty:`Ingen lignende passasjer funnet — søk vil neppe gi resultater.`,excludedReceipt:`{{types}} utelatt fra dette gjenfinnet`,machineRead:`OCR`,userHintEffect:`styrer søk og generering`,saveLocation:`Lagringssted`,entityTypes:`Entitetstyper`,contentLabel:`Innhold`,createAndLink:`Opprett og koble`,creatingAndLinking:`Oppretter og kobler…`,discardDraftPrompt:`Forkaste dette utkastet?`,discardDraft:`Forkast`,keepEditing:`Fortsett å redigere`,resolveTitle:`Løs referanse`},x={createFailed:`Kunne ikke opprette merknaden: {{detail}}`,deleteFailed:`Kunne ikke slette merknaden: {{detail}}`,referenceUpdateFailed:`Kunne ikke oppdatere referansen: {{detail}}`,unknownError:`ukjent feil`,assistQuiet:`Jobber fortsatt — ingen oppdatering på noen minutter`,resourceCreatedNamed:`«{{name}}» opprettet`,resourceCreated:`Ressurs opprettet`,annotationComplete:`Merknader fullført`,annotationFailed:`Merknad mislyktes`,generationFailed:`Generering mislyktes: {{detail}}`,"decline_no-text-layer":`Denne PDF-en er en skanning der teksten ikke kunne gjenkjennes.`,decline_encrypted:`Denne PDF-en er passordbeskyttet, så teksten kan ikke leses.`,decline_corrupt:`Denne PDF-en kunne ikke leses — filen kan være skadet.`,"decline_too-large":`Dette dokumentet er for stort til å hente ut tekst fra.`,decline_empty:`Dette dokumentet har ingen tekst å merke.`},S={AssistProgress:e,PdfViewer:t,Toolbar:n,ResourceInfoPanel:r,CollaborationPanel:i,AnnotationHistory:a,CommentsPanel:o,HighlightPanel:s,AssessmentPanel:c,TaggingPanel:l,UnifiedAnnotationsPanel:u,StatisticsPanel:d,ReferencesPanel:f,KeyboardShortcuts:p,AnnotateToolbar:m,CollapsibleResourceNavigation:h,ResourceViewer:g,Settings:_,AnnotateView:v,ResourceGenerate:y,ReferenceWizard:b,OutcomeToasts:x};export{m as AnnotateToolbar,v as AnnotateView,a as AnnotationHistory,c as AssessmentPanel,e as AssistProgress,i as CollaborationPanel,h as CollapsibleResourceNavigation,o as CommentsPanel,s as HighlightPanel,p as KeyboardShortcuts,x as OutcomeToasts,t as PdfViewer,b as ReferenceWizard,f as ReferencesPanel,y as ResourceGenerate,r as ResourceInfoPanel,g as ResourceViewer,_ as Settings,d as StatisticsPanel,l as TaggingPanel,n as Toolbar,u as UnifiedAnnotationsPanel,S as default};
|
|
2
|
+
//# sourceMappingURL=no-KPAYJZWY-DdGouMG_.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"no-KPAYJZWY-DdGouMG_.js","names":[],"sources":["../../../../packages/react-ui/dist/no-KPAYJZWY.js"],"sourcesContent":["'use client';\nimport \"./chunk-O23TLLXW.js\";\n\n// translations/no.json\nvar AssistProgress = {\n close: \"Lukk\",\n codeLoading: \"Laster\\u2026\",\n codeAnalyzing: \"Merker\\u2026\",\n codeAnalyzingTags: \"Merker etiketter\\u2026\",\n codeDetectingEntities: \"Merker\\u2026\",\n codeCreatingAnnotations: \"Oppretter {{count}} merknader\\u2026\",\n codeCreatingTagAnnotations: \"Oppretter {{count}} etiketter\\u2026\",\n codeCompleteCreated: \"Opprettet {{count}} {{kind}}\",\n codeGeneratingResource: \"Genererer\\u2026\",\n codeCreatingResource: \"Oppretter ressursen\\u2026\",\n codeCompleteGenerated: \"Ressursen er opprettet\",\n codeCompleteGeneratedTruncated: \"Ressursen er opprettet \\u2014 avkuttet ved lengdegrensen\",\n kindHighlight: \"uthevinger\",\n kindComment: \"kommentarer\",\n kindAssessment: \"vurderinger\",\n kindReference: \"referanser\",\n kindTag: \"etiketter\",\n subject: \"{{kind}}: {{label}}\",\n subjectWithPosition: \"{{kind}}: {{label}} ({{done}} av {{total}})\",\n paramEntityTypes: \"Entitetstyper\",\n paramInstructions: \"Instruksjoner\",\n paramTone: \"Tone\",\n paramDensity: \"Tetthet\",\n subjectKindEntityType: \"Entitetstype\",\n subjectKindCategory: \"Kategori\",\n cancel: \"Avbryt\",\n inProgress: \"Annoterer...\"\n};\nvar PdfViewer = {\n loadFailed: \"Kunne ikke laste PDF\",\n loading: \"Laster PDF...\",\n next: \"Neste\",\n pageLoadFailed: \"Kunne ikke laste siden\",\n pageOf: \"Side {{page}} av {{total}}\",\n pagination: \"Sidenavigasjon\",\n previous: \"Forrige\",\n viewerLoading: \"Laster PDF-viser...\"\n};\nvar Toolbar = {\n annotations: \"Annoteringer\",\n history: \"Historikk\",\n resourceInfo: \"Ressursinfo\",\n collaboration: \"Samarbeid\",\n userAccount: \"Brukerkonto\",\n settings: \"Innstillinger\",\n knowledgeBase: \"Kunnskapsbase\"\n};\nvar ResourceInfoPanel = {\n title: \"Ressursinfo\",\n locale: \"Spr\\xE5kinnstilling\",\n notSpecified: \"Ikke spesifisert\",\n entityTypeTags: \"Entitetstypemerker\",\n representation: \"Representasjon\",\n mediaType: \"Medietype\",\n byteSize: \"St\\xF8rrelse\",\n storageUri: \"Lagring\",\n clone: \"Klon\",\n cloneDescription: \"Generer en delbar klonelenke for denne ressursen\",\n generate: \"Generer\",\n generateDescription: \"Generer en ny ressurs fra konteksten til denne ressursen\",\n archive: \"Arkiver\",\n archiveDescription: \"Flytt denne ressursen til arkivert status\",\n unarchive: \"Gjenopprett\",\n unarchiveDescription: \"Gjenopprett denne ressursen til aktiv status\",\n provenance: \"Opprinnelse\",\n createdAt: \"Opprettet\",\n modifiedAt: \"Endret\",\n attributedTo: \"Tilskrevet\",\n derivedFrom: \"Avledet fra\"\n};\nvar CollaborationPanel = {\n title: \"Samarbeid\",\n connectionStatus: \"Tilkoblingsstatus\",\n live: \"Direkte\",\n disconnected: \"Frakoblet\",\n events: \"{{count}} hendelser\",\n lastSync: \"Siste synkronisering:\",\n noActivity: \"Ingen aktivitet enn\\xE5\",\n justNow: \"Akkurat n\\xE5\",\n secondsAgo: \"{{count}} sekunder siden\",\n minuteAgo: \"1 minutt siden\",\n minutesAgo: \"{{count}} minutter siden\",\n hourAgo: \"1 time siden\",\n hoursAgo: \"{{count}} timer siden\",\n realtimeActive: \"Sanntidsoppdateringer er aktive\",\n reconnecting: \"Kobler til serveren p\\xE5 nytt...\",\n sharing: \"Deling\",\n collaborationComingSoon: \"Samarbeidsfunksjoner kommer snart\",\n collaborators: \"Samarbeidspartnere\",\n ceilings: \"{{contextTokens}} inn / {{maxOutputTokens}} ut\",\n sharedWindow: \"{{contextTokens}} vindu\"\n};\nvar AnnotationHistory = {\n history: \"Historikk\",\n loading: \"Laster...\",\n user: \"Bruker\",\n viewOriginal: \"Se original\",\n viewAnnotation: \"Se annotering: {{content}}\",\n resourceCreated: \"Ressurs opprettet\",\n resourceCloned: \"Klonet\",\n resourceArchived: \"Arkivert\",\n resourceUnarchived: \"Gjenopprettet\",\n highlightAdded: \"Utheving lagt til\",\n highlightRemoved: \"Utheving fjernet\",\n referenceCreated: \"Referanse opprettet\",\n referenceResolved: \"Referanse l\\xF8st\",\n referenceDeleted: \"Referanse slettet\",\n entitytagAdded: \"Merke lagt til\",\n entitytagRemoved: \"Merke fjernet\",\n assessmentAdded: \"Vurdering lagt til\",\n assessmentRemoved: \"Vurdering fjernet\",\n annotationAdded: \"Annotering lagt til\",\n annotationRemoved: \"Annotering fjernet\",\n annotationBodyUpdated: \"Annotering oppdatert\",\n jobEvent: \"Jobbhendelse\",\n embeddingComputed: \"Embedding beregnet\",\n justNow: \"akkurat n\\xE5\",\n minutesAgo: \"{{count}}m siden\",\n hoursAgo: \"{{count}}t siden\",\n daysAgo: \"{{count}}d siden\",\n failed: \"Kunne ikke laste historikken.\",\n retry: \"Pr\\xF8v igjen\"\n};\nvar CommentsPanel = {\n title: \"Kommentarer\",\n noComments: \"Ingen kommentarer enn\\xE5. Velg tekst og klikk Kommenter for \\xE5 legge til en.\",\n commentPlaceholder: \"Skriv kommentaren din her...\",\n save: \"Lagre\",\n cancel: \"Avbryt\",\n edit: \"Rediger\",\n annotateComments: \"Annot\\xE9r kommentarer\",\n instructions: \"Instruksjoner\",\n optional: \"(valgfritt)\",\n instructionsPlaceholder: \"f.eks. Fokuser p\\xE5 teknisk terminologi...\",\n annotate: \"Annot\\xE9r\",\n annotating: \"Annoterer...\",\n toneLabel: \"Tone\",\n toneOptional: \"(valgfritt)\",\n toneScholarly: \"Akademisk\",\n toneExplanatory: \"Forklarende\",\n toneConversational: \"Uformell\",\n toneTechnical: \"Teknisk\",\n densityLabel: \"Tetthet\",\n densitySparse: \"Sparsom\",\n densityDense: \"Tett\",\n fragmentSelected: \"Fragment valgt\",\n imageRegionSelected: \"Bildeomr\\xE5de valgt\",\n complete: \"Annotering fullf\\xF8rt!\",\n failed: \"Annotering mislyktes\",\n densityPerWords: \"{{density}} per 2000 ord\"\n};\nvar HighlightPanel = {\n title: \"Uthevinger\",\n noHighlights: \"Ingen uthevinger enn\\xE5. Bruk AI-annotering for \\xE5 finne viktige passasjer.\",\n annotateHighlights: \"Annot\\xE9r uthevinger\",\n instructions: \"Instruksjoner\",\n optional: \"(valgfritt)\",\n instructionsPlaceholder: \"f.eks. Fokuser p\\xE5 viktige tekniske begreper...\",\n annotate: \"Annot\\xE9r\",\n annotating: \"Annoterer...\",\n cancel: \"Avbryt\",\n densityLabel: \"Tetthet\",\n densitySparse: \"Sparsom\",\n densityDense: \"Tett\",\n complete: \"Annotering fullf\\xF8rt!\",\n failed: \"Annotering mislyktes\",\n densityPerWords: \"{{density}} per 2000 ord\"\n};\nvar AssessmentPanel = {\n title: \"Vurderinger\",\n noAssessments: \"Ingen vurderinger enn\\xE5. Bruk AI-annotering for \\xE5 evaluere passasjer.\",\n assessmentPlaceholder: \"Skriv vurderingen din her...\",\n save: \"Lagre\",\n cancel: \"Avbryt\",\n annotateAssessments: \"Annot\\xE9r vurderinger\",\n instructions: \"Instruksjoner\",\n optional: \"(valgfritt)\",\n instructionsPlaceholder: \"f.eks. Evaluer p\\xE5stander for n\\xF8yaktighet og bevisgrunnlag...\",\n annotate: \"Annot\\xE9r\",\n annotating: \"Annoterer...\",\n toneLabel: \"Tone\",\n toneOptional: \"(valgfritt)\",\n toneAnalytical: \"Analytisk\",\n toneCritical: \"Kritisk\",\n toneBalanced: \"Balansert\",\n toneConstructive: \"Konstruktiv\",\n densityLabel: \"Tetthet\",\n densitySparse: \"Sparsom\",\n densityDense: \"Tett\",\n fragmentSelected: \"Fragment valgt\",\n imageRegionSelected: \"Bildeomr\\xE5de valgt\",\n complete: \"Annotering fullf\\xF8rt!\",\n failed: \"Annotering mislyktes\",\n densityPerWords: \"{{density}} per 2000 ord\"\n};\nvar TaggingPanel = {\n title: \"Merker\",\n noTags: \"Ingen merker enn\\xE5. Bruk AI-annotering for \\xE5 identifisere strukturelle roller.\",\n noSchemas: \"Ingen tag-skjemaer registrert for denne kunnskapsbasen. En KB-administrator m\\xE5 registrere minst ett strukturanalyse-skjema (f.eks. via `register-tag-schemas`-ferdigheten) f\\xF8r tagging kan brukes.\",\n annotateTags: \"Annot\\xE9r merker\",\n selectSchema: \"Velg rammeverk\",\n selectCategories: \"Velg kategorier\",\n annotate: \"Annot\\xE9r\",\n annotating: \"Annoterer...\",\n cancel: \"Avbryt\",\n selectAll: \"Velg alle\",\n deselectAll: \"Fjern alle valg\",\n categoriesSelected: \"{count, plural, =0 {Ingen kategorier valgt} =1 {1 kategori valgt} other {# kategorier valgt}}\",\n createTagForSelection: \"Opprett merke for utvalg\",\n selectCategory: \"Velg kategori\",\n chooseCategory: \"Velg en kategori...\",\n fragmentSelected: \"Fragment valgt\",\n imageRegionSelected: \"Bildeomr\\xE5de valgt\",\n complete: \"Annotering fullf\\xF8rt!\",\n failed: \"Annotering mislyktes\"\n};\nvar UnifiedAnnotationsPanel = {\n title: \"Annoteringer\",\n statistics: \"Statistikk\",\n highlight: \"Uthevinger\",\n reference: \"Referanser\",\n assessment: \"Vurderinger\",\n comment: \"Kommentarer\",\n tag: \"Merker\",\n annotationsFailed: \"Kunne ikke laste annoteringene.\",\n retry: \"Pr\\xF8v igjen\"\n};\nvar StatisticsPanel = {\n title: \"Statistikk\",\n highlights: \"Uthevinger\",\n comments: \"Kommentarer\",\n assessments: \"Vurderinger\",\n tags: \"Merker\",\n references: \"Referanser\",\n stub: \"Stub\",\n resolved: \"L\\xF8st\",\n entityTypes: \"Entitetstyper\"\n};\nvar ReferencesPanel = {\n title: \"Referanser\",\n noReferences: \"Ingen referanser enn\\xE5. Velg tekst for \\xE5 opprette referanser til andre ressurser.\",\n outgoingReferences: \"Utg\\xE5ende referanser\",\n incomingReferences: \"Innkommende referanser\",\n noIncomingReferences: \"Ingen innkommende referanser\",\n stub: \"Stubreferanse (ikke koblet)\",\n resolved: \"L\\xF8st referanse (koblet)\",\n derived: \"Avledet\",\n open: \"\\xC5pne\",\n unlink: \"Fjern kobling\",\n resolve: \"L\\xF8s referanse\",\n cancel: \"Avbryt\",\n createReference: \"Opprett referanse\",\n entityTypesOptional: \"Entitetstyper (valgfritt)\",\n fragmentSelected: \"Fragment valgt\",\n annotateReferences: \"Annot\\xE9r referanser\",\n selectEntityTypes: \"Entitetstyper:\",\n select: \"Velg\",\n deselect: \"Fjern valg\",\n noEntityTypes: \"Ingen entitetstyper tilgjengelig\",\n typesSelected: \"{count, plural, =1 {1 type valgt} other {# typer valgt}}\",\n annotate: \"Annot\\xE9r\",\n annotating: \"Annoterer...\",\n includeDescriptiveReferences: \"Inkluder beskrivende referanser\",\n descriptiveReferencesTooltip: \"Finn ogs\\xE5 fraser som 'administrerende direkt\\xF8r', 'teknologigiganten', 'fysikeren' (i tillegg til navn)\",\n found: \"{{count}} funnet\",\n complete: \"Annotering fullf\\xF8rt!\",\n failed: \"Annotering mislyktes\",\n current: \"N\\xE5v\\xE6rende: {{entityType}}\",\n loading: \"laster...\",\n loadingEllipsis: \"Laster...\",\n untitledResource: \"Ressurs uten tittel\",\n noText: \"Ingen tekst\",\n incomingReferencesFailed: \"Kunne ikke laste innkommende referanser.\",\n retry: \"Pr\\xF8v igjen\",\n entityTypesFailed: \"Kunne ikke laste entitetstyper.\"\n};\nvar KeyboardShortcuts = {\n title: \"Tastatursnarveier\",\n closeDialog: \"Lukk dialog\",\n or: \"eller\",\n navigationTitle: \"Navigasjon\",\n navOpenSearch: \"\\xC5pne globalt s\\xF8k\",\n navOpenSearchAlt: \"\\xC5pne globalt s\\xF8k (alternativ)\",\n navCreateResource: \"Opprett ny ressurs\",\n navCloseOverlays: \"Lukk alle overlegg (dobbelttrykk)\",\n navShowHelp: \"Vis hjelp for tastatursnarveier\",\n sidebarTitle: \"Kunnskapssidefelt\",\n sidebarCollapse: \"Skjul sidefelt\",\n sidebarExpand: \"Vis sidefelt\",\n sidebarPickup: \"Plukk opp ressursfane (n\\xE5r fokusert)\",\n sidebarMove: \"Flytt ressursfane (n\\xE5r du drar)\",\n sidebarDrop: \"Slipp ressursfane (n\\xE5r du drar)\",\n sidebarCancel: \"Avbryt dra-operasjon\",\n annotationsTitle: \"Ressursannoteringer\",\n annotHighlight: \"Opprett utheving fra annotering (direkte)\",\n annotReference: \"\\xC5pne referansepopup for annotering\",\n annotDelete: \"Slett fokusert annotering\",\n annotNavigate: \"Naviger gjennom annoteringer\",\n annotNavigateBack: \"Naviger annoteringer bakover\",\n listsTitle: \"Lister og rutenett\",\n listsFilterNav: \"Naviger entitetstypefiltre\",\n listsGridNav: \"Naviger ressursrutenett\",\n listsJumpFirst: \"Hopp til f\\xF8rste element\",\n listsJumpLast: \"Hopp til siste element\",\n searchModalTitle: \"I s\\xF8kemodal\",\n searchNav: \"Naviger s\\xF8keresultater\",\n searchSelect: \"Velg resultat\",\n searchClose: \"Lukk s\\xF8k\",\n modalTitle: \"Modalkontroller\",\n modalClose: \"Lukk aktiv modal\",\n modalNavForward: \"Naviger fremover gjennom knapper\",\n modalNavBackward: \"Naviger bakover gjennom knapper\",\n modalActivate: \"Aktiver fokusert knapp\",\n accessibilityTitle: \"Tilgjengelighet\",\n a11ySkipLinks: \"Naviger til hurtiglenker (n\\xE5r \\xF8verst p\\xE5 siden)\",\n a11yFollowLink: \"F\\xF8lg hurtiglenke\",\n macNote: \"Bruker Mac-tastatursnarveier. \\u2318 er Command-tasten.\",\n windowsNote: \"Bruker Windows/Linux-tastatursnarveier. Ctrl er Control-tasten.\",\n footerHint: \"Trykk {{key}} n\\xE5r som helst for \\xE5 vise denne hjelpen\",\n close: \"Lukk\"\n};\nvar AnnotateToolbar = {\n modeGroup: \"Modus\",\n browse: \"Bla\",\n annotate: \"Annot\\xE9r\",\n selectionGroup: \"Motivasjon\",\n clickGroup: \"Klikk\",\n shapeGroup: \"Form\",\n none: \"Ingen\",\n linking: \"Referanse\",\n highlighting: \"Utheving\",\n assessing: \"Vurder\",\n commenting: \"Kommenter\",\n tagging: \"Merk\",\n detail: \"Detalj\",\n follow: \"F\\xF8lg\",\n deleting: \"Slett\",\n jsonld: \"JSON-LD\",\n rectangle: \"Rektangel\",\n circle: \"Sirkel\",\n polygon: \"Polygon\"\n};\nvar CollapsibleResourceNavigation = {\n title: \"Navigasjon\",\n collapseSidebar: \"Skjul sidefelt\",\n expandSidebar: \"Vis sidefelt\",\n dragToReorder: \"Dra for \\xE5 omorganisere\",\n dragToReorderDoc: \"Dra for \\xE5 omorganisere {{name}}\",\n closeResource: \"Lukk ressurs\",\n dragInstructions: \"For \\xE5 omorganisere ressurser: Bruk Tab for \\xE5 navigere til en ressurs. Trykk Alt+Pil opp for \\xE5 flytte opp eller Alt+Pil ned for \\xE5 flytte ned. For dra og slipp: Trykk mellomromstasten for \\xE5 plukke opp elementet. Bruk piltastene for \\xE5 flytte det. Trykk mellomromstasten igjen for \\xE5 slippe.\"\n};\nvar ResourceViewer = {\n deleteConfirmationTitle: \"Slett annotering\",\n deleteConfirmationMessage: \"Er du sikker p\\xE5 at du vil slette denne annoteringen? Denne handlingen kan ikke angres.\",\n deleteConfirmationCancel: \"Avbryt\",\n deleteConfirmationDelete: \"Slett\"\n};\nvar Settings = {\n title: \"Innstillinger\",\n lineNumbers: \"Linjenumre\",\n lineNumbersVisible: \"Synlig\",\n lineNumbersHidden: \"Skjult\",\n theme: \"Tema\",\n themeLight: \"Lyst\",\n themeDark: \"M\\xF8rkt\",\n themeSystem: \"System\",\n themeSystemActive: \"System ({{mode}})\",\n themeModeActive: \"Bruker {{mode}}-modus\",\n language: \"Spr\\xE5k\",\n languageHint: \"Endre spr\\xE5k i hovednavigasjonen\",\n languageChanging: \"Endrer spr\\xE5k...\",\n hoverDelay: \"Pekerforsinkelse\",\n hoverDelayFast: \"Rask\",\n hoverDelaySlow: \"Langsom\",\n hoverDelayDescription: \"{{delay}}ms forsinkelse f\\xF8r pekereffekter vises\"\n};\nvar AnnotateView = {};\nvar ResourceGenerate = {\n gatherIntro: \"Velg hva som skal inkluderes i den samlede konteksten.\",\n includeContent: \"Inkluder ressursinnhold\",\n includeSummary: \"Inkluder sammendrag\",\n gatherDepth: \"Dybde\",\n gatherMaxResources: \"Maks. ressurser\",\n gatherButton: \"Samle\",\n editGather: \"Endre innsamlingsinnstillinger\",\n recallLabel: \"Inkludert i gjenfinningen \\u2014 velg bort for \\xE5 ekskludere\",\n loadingContext: \"Samler kontekst...\",\n failedContext: \"Kunne ikke samle kontekst\",\n sourceContextLabel: \"Ressurs\",\n connectionsLabel: \"Tilkoblinger\",\n citedByLabel: \"Sitert av\",\n resourceTitle: \"Tittel for ny ressurs\",\n resourceTitlePlaceholder: \"Tittel for den genererte ressursen...\",\n additionalInstructions: \"Tilleggsinstruksjoner\",\n additionalInstructionsPlaceholder: \"Valgfri veiledning for genereringen...\",\n language: \"Spr\\xE5k\",\n languageHelp: \"Spr\\xE5k for den genererte ressursen\",\n creativity: \"Kreativitet\",\n creativityFocused: \"Fokusert\",\n creativityCreative: \"Kreativ\",\n maxLength: \"Maks. lengde\",\n maxLengthHelp: \"Maksimalt antall tokener\",\n generate: \"Generer\",\n maxLengthCeiling: \"Begrenset til {{maxOutputTokens}} tokens av {{model}}.\",\n outputFormat: \"Format\",\n formatExtensionMismatch: \"Lagringsplasseringen m\\xE5 slutte p\\xE5 {{extension}} for \\xE5 samsvare med valgt format.\",\n graphPaneTitle: \"Omgivelser\",\n graphEmpty: \"Ingen lenker enn\\xE5.\",\n resourceLinkLabel: \"Ressurslenke\",\n corpusPaneTitle: \"Lignende passasjer\",\n corpusEmpty: \"Ingen lignende passasjer funnet.\",\n excludedReceipt: \"{{types}} utelatt fra dette gjenfinnet\",\n machineRead: \"OCR\",\n score: \"Poengsum\",\n saveLocation: \"Lagringssted\",\n discardDraftPrompt: \"Forkaste dette utkastet?\",\n discardDraft: \"Forkast\",\n keepEditing: \"Fortsett \\xE5 redigere\",\n title: \"Generer fra denne ressursen\"\n};\nvar ReferenceWizard = {\n sourceContextLabel: \"Annoteringskontekst i ressurs\",\n connectionsLabel: \"Peer-annoteringer\",\n citedByLabel: \"Ressurs sitert av\",\n userHintLabel: \"Hint\",\n userHintPlaceholder: \"Beskriv hva denne annoteringen refererer til...\",\n loadingContext: \"Samler kontekst...\",\n failedContext: \"Kunne ikke samle kontekst\",\n generate: \"Generer\",\n compose: \"Komponer\",\n resolutionStrategyLabel: \"L\\xF8sningsstrategi\",\n back: \"Tilbake\",\n link: \"Lenke\",\n score: \"Poengsum\",\n noResults: \"Ingen resultater funnet\",\n resourceTitle: \"Ressurstitel\",\n resourceTitlePlaceholder: \"Skriv inn ressurstitel...\",\n additionalInstructions: \"Tilleggsinstruksjoner\",\n additionalInstructionsPlaceholder: \"Skriv inn tilleggsinstruksjoner...\",\n language: \"Spr\\xE5k\",\n languageHelp: \"Spr\\xE5k for generert innhold\",\n creativity: \"Kreativitet\",\n creativityFocused: \"Fokusert\",\n creativityCreative: \"Kreativ\",\n maxLength: \"Maks. lengde\",\n maxLengthHelp: \"Maksimalt antall tokener\",\n maxResults: \"Maks. resultater\",\n semanticScoring: \"Semantisk sk\\xE5ring\",\n semanticScoringHelp: \"Bruk AI til \\xE5 score resultater etter semantisk relevans\",\n searching: \"S\\xF8ker...\",\n searchFailed: \"S\\xF8ket mislyktes\",\n search: \"S\\xF8k\",\n maxLengthCeiling: \"Begrenset til {{maxOutputTokens}} tokens av {{model}}.\",\n outputFormat: \"Format\",\n formatExtensionMismatch: \"Lagringsplasseringen m\\xE5 slutte p\\xE5 {{extension}} for \\xE5 samsvare med valgt format.\",\n graphPaneTitle: \"Omgivelser\",\n graphEmpty: \"Ingen lenker enn\\xE5 \\u2014 \\xE5 l\\xF8se denne referansen skaper den f\\xF8rste.\",\n resourceLinkLabel: \"Ressurslenke\",\n corpusPaneTitle: \"Lignende passasjer\",\n corpusEmpty: \"Ingen lignende passasjer funnet \\u2014 s\\xF8k vil neppe gi resultater.\",\n excludedReceipt: \"{{types}} utelatt fra dette gjenfinnet\",\n machineRead: \"OCR\",\n userHintEffect: \"styrer s\\xF8k og generering\",\n saveLocation: \"Lagringssted\",\n entityTypes: \"Entitetstyper\",\n contentLabel: \"Innhold\",\n createAndLink: \"Opprett og koble\",\n creatingAndLinking: \"Oppretter og kobler\\u2026\",\n discardDraftPrompt: \"Forkaste dette utkastet?\",\n discardDraft: \"Forkast\",\n keepEditing: \"Fortsett \\xE5 redigere\",\n resolveTitle: \"L\\xF8s referanse\"\n};\nvar OutcomeToasts = {\n createFailed: \"Kunne ikke opprette merknaden: {{detail}}\",\n deleteFailed: \"Kunne ikke slette merknaden: {{detail}}\",\n referenceUpdateFailed: \"Kunne ikke oppdatere referansen: {{detail}}\",\n unknownError: \"ukjent feil\",\n assistQuiet: \"Jobber fortsatt \\u2014 ingen oppdatering p\\xE5 noen minutter\",\n resourceCreatedNamed: \"\\xAB{{name}}\\xBB opprettet\",\n resourceCreated: \"Ressurs opprettet\",\n annotationComplete: \"Merknader fullf\\xF8rt\",\n annotationFailed: \"Merknad mislyktes\",\n generationFailed: \"Generering mislyktes: {{detail}}\",\n \"decline_no-text-layer\": \"Denne PDF-en er en skanning der teksten ikke kunne gjenkjennes.\",\n decline_encrypted: \"Denne PDF-en er passordbeskyttet, s\\xE5 teksten kan ikke leses.\",\n decline_corrupt: \"Denne PDF-en kunne ikke leses \\u2014 filen kan v\\xE6re skadet.\",\n \"decline_too-large\": \"Dette dokumentet er for stort til \\xE5 hente ut tekst fra.\",\n decline_empty: \"Dette dokumentet har ingen tekst \\xE5 merke.\"\n};\nvar no_default = {\n AssistProgress,\n PdfViewer,\n Toolbar,\n ResourceInfoPanel,\n CollaborationPanel,\n AnnotationHistory,\n CommentsPanel,\n HighlightPanel,\n AssessmentPanel,\n TaggingPanel,\n UnifiedAnnotationsPanel,\n StatisticsPanel,\n ReferencesPanel,\n KeyboardShortcuts,\n AnnotateToolbar,\n CollapsibleResourceNavigation,\n ResourceViewer,\n Settings,\n AnnotateView,\n ResourceGenerate,\n ReferenceWizard,\n OutcomeToasts\n};\nexport {\n AnnotateToolbar,\n AnnotateView,\n AnnotationHistory,\n AssessmentPanel,\n AssistProgress,\n CollaborationPanel,\n CollapsibleResourceNavigation,\n CommentsPanel,\n HighlightPanel,\n KeyboardShortcuts,\n OutcomeToasts,\n PdfViewer,\n ReferenceWizard,\n ReferencesPanel,\n ResourceGenerate,\n ResourceInfoPanel,\n ResourceViewer,\n Settings,\n StatisticsPanel,\n TaggingPanel,\n Toolbar,\n UnifiedAnnotationsPanel,\n no_default as default\n};\n//# sourceMappingURL=no-KPAYJZWY.js.map"],"mappings":"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f,oBAAqB,kDACrB,eAAgB,qBAChB,cAAe,4BACf,SAAU,UACV,QAAS,WACT,wBAAyB,mBACzB,KAAM,UACN,KAAM,QACN,MAAO,WACP,UAAW,0BACX,cAAe,eACf,yBAA0B,4BAC1B,uBAAwB,wBACxB,kCAAmC,qCACnC,SAAU,QACV,aAAc,6BACd,WAAY,cACZ,kBAAmB,WACnB,mBAAoB,UACpB,UAAW,eACX,cAAe,2BACf,WAAY,mBACZ,gBAAiB,oBACjB,oBAAqB,0DACrB,UAAW,WACX,aAAc,kBACd,OAAQ,MACR,iBAAkB,yDAClB,aAAc,SACd,wBAAyB,mFACzB,eAAgB,aAChB,WAAY,iEACZ,kBAAmB,eACnB,gBAAiB,qBACjB,YAAa,iEACb,gBAAiB,yCACjB,YAAa,MACb,eAAgB,2BAChB,aAAc,eACd,YAAa,gBACb,aAAc,UACd,cAAe,mBACf,mBAAoB,uBACpB,mBAAoB,2BACpB,aAAc,UACd,YAAa,sBACb,aAAc,eAChB,EACI,EAAgB,CAClB,aAAc,4CACd,aAAc,0CACd,sBAAuB,8CACvB,aAAc,cACd,YAAa,uDACb,qBAAsB,uBACtB,gBAAiB,oBACjB,mBAAoB,qBACpB,iBAAkB,oBAClB,iBAAkB,mCAClB,wBAAyB,kEACzB,kBAAmB,+DACnB,gBAAiB,yDACjB,oBAAqB,0DACrB,cAAe,2CACjB,EACI,EAAa,CACf,iBACA,YACA,UACA,oBACA,qBACA,oBACA,gBACA,iBACA,kBACA,eACA,0BACA,kBACA,kBACA,oBACA,kBACA,gCACA,iBACA,WACA,eACA,mBACA,kBACA,eACF"}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
import{t as e}from"./i18n-zIDJOEfo.js";import{t}from"./vendor-BVP6ONpk.js";import{n,t as r}from"./routing-BJiyORAR.js";var i=t();function a(){let{t}=e(),a=(e,n)=>t(`NotFound.${e}`,n),o=n();return(0,i.jsx)(`div`,{className:`flex min-h-screen items-center justify-center bg-gray-50 dark:bg-gray-900`,children:(0,i.jsxs)(`div`,{className:`text-center px-4`,children:[(0,i.jsx)(`h1`,{className:`text-6xl font-bold text-gray-900 dark:text-white mb-4`,children:a(`title`)}),(0,i.jsx)(`h2`,{className:`text-2xl font-semibold text-gray-700 dark:text-gray-300 mb-4`,children:a(`heading`)}),(0,i.jsx)(`p`,{className:`text-gray-600 dark:text-gray-400 mb-8`,children:a(`message`)}),(0,i.jsx)(r,{to:`/${o}`,className:`inline-block px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors`,children:a(`goHome`)})]})})}export{a as default};
|
|
2
|
+
//# sourceMappingURL=not-found-BOkh1PJR.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"not-found-BOkh1PJR.js","names":[],"sources":["../../src/app/[locale]/not-found.tsx"],"sourcesContent":["import { Link } from '@/i18n/routing';\nimport { useTranslation } from 'react-i18next';\nimport { useLocale } from '@/i18n/routing';\n\nexport default function NotFound() {\n const { t: _t } = useTranslation();\n const t = (k: string, p?: Record<string, unknown>) => _t(`NotFound.${k}`, p as any) as string;\n const locale = useLocale();\n\n return (\n <div className=\"flex min-h-screen items-center justify-center bg-gray-50 dark:bg-gray-900\">\n <div className=\"text-center px-4\">\n <h1 className=\"text-6xl font-bold text-gray-900 dark:text-white mb-4\">{t('title')}</h1>\n <h2 className=\"text-2xl font-semibold text-gray-700 dark:text-gray-300 mb-4\">\n {t('heading')}\n </h2>\n <p className=\"text-gray-600 dark:text-gray-400 mb-8\">\n {t('message')}\n </p>\n <Link\n to={`/${locale}`}\n className=\"inline-block px-6 py-3 bg-blue-600 text-white rounded-lg hover:bg-blue-700 transition-colors\"\n >\n {t('goHome')}\n </Link>\n </div>\n </div>\n );\n}\n"],"mappings":"iIAIA,SAAwB,GAAW,CACjC,GAAM,CAAK,GAAO,EAAe,EAC3B,GAAK,EAAW,IAAgC,EAAG,YAAY,IAAK,CAAQ,EAC5E,EAAS,EAAU,EAEzB,OACE,EAAA,EAAA,IAAA,CAAC,MAAD,CAAK,UAAU,4EACb,UAAA,EAAA,EAAA,KAAA,CAAC,MAAD,CAAK,UAAU,mBAAf,SAAA,EACE,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,wDAAyD,SAAA,EAAE,OAAO,CAAM,CAAA,GACtF,EAAA,EAAA,IAAA,CAAC,KAAD,CAAI,UAAU,+DACX,SAAA,EAAE,SAAS,CACV,CAAA,GACJ,EAAA,EAAA,IAAA,CAAC,IAAD,CAAG,UAAU,wCACV,SAAA,EAAE,SAAS,CACX,CAAA,GACH,EAAA,EAAA,IAAA,CAAC,EAAD,CACE,GAAI,IAAI,IACR,UAAU,+FAET,SAAA,EAAE,QAAQ,CACP,CAAA,CACH,GACF,CAAA,CAET"}
|
|
Binary file
|
|
Binary file
|