@k2b/ui 0.8.0 → 0.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/content/Calendar.js +12 -5
- package/dist/browser/content/Calendar.js.map +1 -1
- package/dist/browser/content/MarkdownView.js +8 -1
- package/dist/browser/content/MarkdownView.js.map +1 -1
- package/dist/browser/content/PdfPreview.js +170 -72
- package/dist/browser/content/PdfPreview.js.map +1 -1
- package/dist/browser/feedback/dialog-core.js +2 -1
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/feedback/prompts.js +20 -6
- package/dist/browser/feedback/prompts.js.map +1 -1
- package/dist/browser/feedback/toast.js +4 -2
- package/dist/browser/feedback/toast.js.map +1 -1
- package/dist/browser/intl/messages.js +48 -2
- package/dist/browser/intl/messages.js.map +1 -1
- package/dist/browser/layout/Navigation.js +8 -5
- package/dist/browser/layout/Navigation.js.map +1 -1
- package/dist/browser/layout/SettingsModal.js +32 -10
- package/dist/browser/layout/SettingsModal.js.map +1 -1
- package/dist/browser/layout/navigation-model.js +1 -0
- package/dist/browser/layout/navigation-model.js.map +1 -1
- package/dist/ssr/content/Calendar.js +13 -6
- package/dist/ssr/content/Calendar.js.map +1 -1
- package/dist/ssr/content/MarkdownView.js +8 -1
- package/dist/ssr/content/MarkdownView.js.map +1 -1
- package/dist/ssr/content/PdfPreview.js +79 -22
- package/dist/ssr/content/PdfPreview.js.map +1 -1
- package/dist/ssr/feedback/dialog-core.js +2 -1
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/feedback/prompts.js +19 -5
- package/dist/ssr/feedback/prompts.js.map +1 -1
- package/dist/ssr/feedback/toast.js +4 -2
- package/dist/ssr/feedback/toast.js.map +1 -1
- package/dist/ssr/intl/messages.js +48 -2
- package/dist/ssr/intl/messages.js.map +1 -1
- package/dist/ssr/layout/Navigation.js +8 -5
- package/dist/ssr/layout/Navigation.js.map +1 -1
- package/dist/ssr/layout/SettingsModal.js +30 -5
- package/dist/ssr/layout/SettingsModal.js.map +1 -1
- package/dist/ssr/layout/navigation-model.js +1 -0
- package/dist/ssr/layout/navigation-model.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tabler-icons-15sezdfp.woff2 +0 -0
- package/dist/tabler.css +2 -2
- package/dist/types/content/PdfPreview.d.ts +8 -0
- package/dist/types/intl/messages.d.ts +23 -0
- package/dist/types/layout/navigation-model.d.ts +5 -0
- package/package.json +7 -6
- package/dist/tabler-icons-q30jt7jk.woff2 +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["feedback/toast.ts"],"sourcesContent":["import { getK2bPortalRoot } from \"../internal/portal\";\nimport { resolveUiMessages } from \"../intl/messages\";\n\nexport type ToastVariant = \"default\" | \"success\" | \"error\";\n\nexport type ToastAction = {\n label: string;\n} & ({ href: string } | { onClick: () => void });\n\nexport type ToastOptions = {\n variant?: ToastVariant;\n duration?: number;\n iconClass?: string;\n title?: string;\n action?: ToastAction | null;\n /** Fraction from 0 to 1, or an indeterminate activity indicator. null removes it. */\n progress?: number | \"indeterminate\" | null;\n dismissLabel?: string;\n};\n\nexport type ToastHandle = {\n dismiss: () => void;\n update: (description: string, options?: ToastOptions) => void;\n};\n\nexport interface ToastFn {\n (description: string, options?: ToastOptions): ToastHandle;\n success: (description: string, options?: Omit<ToastOptions, \"variant\">) => ToastHandle;\n error: (description: string, options?: Omit<ToastOptions, \"variant\">) => ToastHandle;\n dismissAll: () => void;\n}\n\nconst DEFAULT_DURATION_MS = 3000;\nconst MAX_VISIBLE_TOASTS = 5;\nconst ANIMATION_MS = 200;\nexport const K2B_TOAST_CONTAINER_ID = \"k2b-ui-toast-container\";\nconst CONTAINER_ATTRIBUTE = \"data-k2b-toast-container\";\n\ntype VariantStyle = {\n tone: \"info\" | \"success\" | \"danger\";\n iconClass: string;\n titleKey: \"info\" | \"success\" | \"error\";\n};\n\nconst VARIANT_STYLES: Record<ToastVariant, VariantStyle> = {\n default: {\n tone: \"info\",\n iconClass: \"ti-info-circle\",\n titleKey: \"info\",\n },\n success: {\n tone: \"success\",\n iconClass: \"ti-check\",\n titleKey: \"success\",\n },\n error: {\n tone: \"danger\",\n iconClass: \"ti-x\",\n titleKey: \"error\",\n },\n};\n\n/** Default titles follow the document locale, like the other imperative `@k2b/ui` surfaces. */\nconst defaultTitle = (variant: ToastVariant): string => resolveUiMessages()[VARIANT_STYLES[variant].titleKey];\n\nconst normalizedIconClass = (iconClass: string): string => {\n const tokens = iconClass\n .split(/\\s+/)\n .filter(Boolean)\n .filter((token) => token !== \"ti\");\n return [\"ti\", ...tokens].join(\" \");\n};\n\nconst applyIconClass = (icon: HTMLElement, iconClass: string): void => {\n icon.className = normalizedIconClass(iconClass);\n};\n\nconst applyLiveRegion = (element: HTMLElement, variant: ToastVariant): void => {\n const isError = variant === \"error\";\n element.setAttribute(\"role\", isError ? \"alert\" : \"status\");\n element.setAttribute(\"aria-live\", isError ? \"assertive\" : \"polite\");\n element.setAttribute(\"aria-atomic\", \"true\");\n};\n\nconst liveToasts = new Set<ToastHandle>();\n\nconst ensureContainer = (): HTMLElement | null => {\n if (typeof document === \"undefined\") return null;\n const root = getK2bPortalRoot();\n let container = root.querySelector<HTMLElement>(`[${CONTAINER_ATTRIBUTE}]`);\n if (container) return container;\n\n container = document.createElement(\"div\");\n container.id = K2B_TOAST_CONTAINER_ID;\n container.setAttribute(CONTAINER_ATTRIBUTE, \"\");\n container.setAttribute(\"popover\", \"manual\");\n // Keep the source rail geometry inline: it must defeat UA popover defaults\n // even when a consumer has not loaded the optional package stylesheet yet.\n container.style.cssText =\n \"position:fixed;top:auto;left:auto;bottom:env(safe-area-inset-bottom,0px);right:env(safe-area-inset-right,0px);\" +\n \"z-index:50;box-sizing:border-box;display:flex;flex-direction:column;gap:0.5rem;\" +\n \"width:min(22rem,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));\" +\n \"height:auto;max-width:100vw;\" +\n \"max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));\" +\n \"margin:0;padding:1rem;border:0;background:transparent;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;\" +\n \"pointer-events:none;\";\n root.appendChild(container);\n return container;\n};\n\nconst promoteToTopLayer = (container: HTMLElement): HTMLElement => {\n if (typeof container.showPopover !== \"function\" || !container.isConnected) return container;\n let active = container;\n try {\n if (container.matches(\":popover-open\") || document.querySelector(\"dialog:modal\")) {\n const next = container.cloneNode(false) as HTMLElement;\n while (container.firstChild) next.appendChild(container.firstChild);\n const root = container.parentElement ?? getK2bPortalRoot();\n container.remove();\n root.appendChild(next);\n active = next;\n }\n if (!active.matches(\":popover-open\")) active.showPopover();\n } catch {\n active.removeAttribute(\"popover\");\n }\n return active;\n};\n\n/** Close every empty rail so an emptied container does not linger in the top\n * layer. Rails are resolved at call time on purpose: `promoteToTopLayer`\n * swaps the element for a fresh clone, so a container captured when the toast\n * was created can already be detached by the time the toast is dismissed. */\nconst hideEmptyContainers = (): void => {\n if (typeof document === \"undefined\") return;\n for (const container of Array.from(document.querySelectorAll<HTMLElement>(`[${CONTAINER_ATTRIBUTE}]`))) {\n if (container.childElementCount > 0 || typeof container.hidePopover !== \"function\") continue;\n try {\n if (container.matches(\":popover-open\")) container.hidePopover();\n } catch {\n // Already hidden or disconnected.\n }\n }\n};\n\nconst renderLead = (lead: HTMLElement, variant: ToastVariant, iconClassOverride?: string): HTMLElement => {\n const style = VARIANT_STYLES[variant];\n lead.replaceChildren();\n lead.className = \"k2b-toast__icon\";\n lead.dataset.tone = style.tone;\n const icon = document.createElement(\"i\");\n applyIconClass(icon, iconClassOverride ?? style.iconClass);\n icon.setAttribute(\"aria-hidden\", \"true\");\n lead.appendChild(icon);\n return icon;\n};\n\nconst showToast = (description: string, options?: ToastOptions): ToastHandle => {\n const initialContainer = ensureContainer();\n if (!initialContainer) {\n const noop = () => {};\n return { dismiss: noop, update: noop };\n }\n\n let dismissed = false;\n let dismissTimer: ReturnType<typeof setTimeout> | null = null;\n let currentVariant: ToastVariant = options?.variant ?? \"default\";\n let currentProgress = options?.progress ?? null;\n let currentDuration = options?.duration ?? DEFAULT_DURATION_MS;\n let remainingDuration = currentDuration;\n let timerStartedAt = 0;\n let pausedByPointer = false;\n let pausedByFocus = false;\n\n const toastElement = document.createElement(\"div\");\n toastElement.className = \"k2b-toast\";\n toastElement.dataset.tone = VARIANT_STYLES[currentVariant].tone;\n toastElement.dataset.k2bToast = \"\";\n\n const leadElement = document.createElement(\"div\");\n let leadIconElement = renderLead(leadElement, currentVariant, options?.iconClass);\n\n const contentElement = document.createElement(\"div\");\n contentElement.className = \"k2b-toast__content\";\n applyLiveRegion(contentElement, currentVariant);\n\n const titleElement = document.createElement(\"div\");\n titleElement.className = \"k2b-toast__title\";\n titleElement.textContent = options?.title ?? defaultTitle(currentVariant);\n const descriptionElement = document.createElement(\"div\");\n descriptionElement.className = \"k2b-toast__description\";\n descriptionElement.textContent = description;\n contentElement.append(titleElement, descriptionElement);\n\n const closeButton = document.createElement(\"button\");\n closeButton.type = \"button\";\n closeButton.className = \"k2b-toast__close\";\n closeButton.setAttribute(\"aria-label\", options?.dismissLabel ?? \"Dismiss notification\");\n const closeIcon = document.createElement(\"i\");\n closeIcon.className = \"ti ti-x\";\n closeIcon.setAttribute(\"aria-hidden\", \"true\");\n closeButton.appendChild(closeIcon);\n\n toastElement.append(leadElement, contentElement, closeButton);\n\n const clearDismissTimer = () => {\n if (dismissTimer === null) return;\n clearTimeout(dismissTimer);\n dismissTimer = null;\n };\n\n const pauseDismissTimer = () => {\n if (dismissTimer === null) return;\n remainingDuration = Math.max(0, remainingDuration - (Date.now() - timerStartedAt));\n clearDismissTimer();\n };\n\n const resumeDismissTimer = () => {\n if (dismissed || currentProgress !== null || currentDuration === 0 || remainingDuration <= 0 || pausedByPointer || pausedByFocus)\n return;\n clearDismissTimer();\n timerStartedAt = Date.now();\n dismissTimer = setTimeout(() => dismiss(), remainingDuration);\n };\n\n const resetDismissTimer = (duration: number) => {\n clearDismissTimer();\n currentDuration = duration;\n remainingDuration = duration;\n resumeDismissTimer();\n };\n\n const dismiss = () => {\n if (dismissed) return;\n dismissed = true;\n clearDismissTimer();\n liveToasts.delete(handle);\n toastElement.dataset.closing = \"true\";\n setTimeout(() => {\n toastElement.remove();\n hideEmptyContainers();\n }, ANIMATION_MS);\n };\n\n const progressElement = document.createElement(\"progress\");\n progressElement.className = \"k2b-toast__progress\";\n progressElement.max = 1;\n const renderProgress = () => {\n progressElement.hidden = currentProgress === null;\n progressElement.setAttribute(\"aria-label\", titleElement.textContent || descriptionElement.textContent || \"\");\n if (typeof currentProgress === \"number\")\n progressElement.value = Number.isFinite(currentProgress) ? Math.max(0, Math.min(1, currentProgress)) : 0;\n else progressElement.removeAttribute(\"value\");\n };\n contentElement.append(progressElement);\n renderProgress();\n let actionElement: HTMLAnchorElement | HTMLButtonElement | null = null;\n const renderAction = (action: ToastAction | null | undefined) => {\n actionElement?.remove();\n actionElement = null;\n if (!action) return;\n if (\"href\" in action) {\n const link = document.createElement(\"a\");\n link.href = action.href;\n actionElement = link;\n } else {\n const button = document.createElement(\"button\");\n button.type = \"button\";\n actionElement = button;\n }\n actionElement.className = \"k2b-toast__action\";\n actionElement.textContent = action.label;\n actionElement.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n if (\"onClick\" in action) action.onClick();\n else dismiss();\n });\n contentElement.appendChild(actionElement);\n };\n renderAction(options?.action);\n\n const update = (nextDescription: string, nextOptions?: ToastOptions) => {\n if (dismissed) return;\n descriptionElement.textContent = nextDescription;\n\n const variantChanged = nextOptions?.variant !== undefined && nextOptions.variant !== currentVariant;\n if (variantChanged) {\n currentVariant = nextOptions.variant!;\n toastElement.dataset.tone = VARIANT_STYLES[currentVariant].tone;\n leadIconElement = renderLead(leadElement, currentVariant, nextOptions.iconClass);\n applyLiveRegion(contentElement, currentVariant);\n } else if (nextOptions?.iconClass !== undefined) {\n applyIconClass(leadIconElement, nextOptions.iconClass);\n }\n\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"title\")) {\n titleElement.textContent = nextOptions.title ?? \"\";\n } else if (variantChanged) {\n titleElement.textContent = defaultTitle(currentVariant);\n }\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"action\")) renderAction(nextOptions.action);\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"duration\")) {\n currentDuration = nextOptions.duration ?? DEFAULT_DURATION_MS;\n }\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"progress\")) currentProgress = nextOptions.progress ?? null;\n if (nextOptions?.dismissLabel) closeButton.setAttribute(\"aria-label\", nextOptions.dismissLabel);\n renderProgress();\n resetDismissTimer(currentDuration);\n };\n\n toastElement.addEventListener(\"click\", () => {\n if (currentProgress === null) dismiss();\n });\n closeButton.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n dismiss();\n });\n toastElement.addEventListener(\"pointerenter\", () => {\n pausedByPointer = true;\n pauseDismissTimer();\n });\n toastElement.addEventListener(\"pointerleave\", () => {\n pausedByPointer = false;\n resumeDismissTimer();\n });\n toastElement.addEventListener(\"focusin\", () => {\n pausedByFocus = true;\n pauseDismissTimer();\n });\n toastElement.addEventListener(\"focusout\", (event) => {\n if (toastElement.contains(event.relatedTarget as Node | null)) return;\n pausedByFocus = false;\n resumeDismissTimer();\n });\n\n const handle: ToastHandle = { dismiss, update };\n liveToasts.add(handle);\n if (liveToasts.size > MAX_VISIBLE_TOASTS) liveToasts.values().next().value?.dismiss();\n promoteToTopLayer(initialContainer).appendChild(toastElement);\n requestAnimationFrame(() => {\n if (!dismissed) toastElement.dataset.open = \"true\";\n });\n resetDismissTimer(currentDuration);\n return handle;\n};\n\nexport const isPointInsideToast = (x: number, y: number): boolean => {\n if (typeof document === \"undefined\") return false;\n const containers = Array.from(document.querySelectorAll<HTMLElement>(`[${CONTAINER_ATTRIBUTE}]`));\n for (const container of containers) {\n for (const child of Array.from(container.children)) {\n const rect = child.getBoundingClientRect();\n if (x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom) return true;\n }\n }\n return false;\n};\n\nconst toastFn = ((description: string, options?: ToastOptions) => showToast(description, options)) as ToastFn;\ntoastFn.success = (description, options) => showToast(description, { ...options, variant: \"success\" });\ntoastFn.error = (description, options) => showToast(description, { ...options, variant: \"error\" });\ntoastFn.dismissAll = () => {\n for (const handle of Array.from(liveToasts)) handle.dismiss();\n};\n\nexport const toast: ToastFn = toastFn;\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["feedback/toast.ts"],"sourcesContent":["import { getK2bPortalRoot } from \"../internal/portal\";\nimport { resolveUiMessages } from \"../intl/messages\";\n\nexport type ToastVariant = \"default\" | \"success\" | \"error\";\n\nexport type ToastAction = {\n label: string;\n} & ({ href: string } | { onClick: () => void });\n\nexport type ToastOptions = {\n variant?: ToastVariant;\n duration?: number;\n iconClass?: string;\n title?: string;\n action?: ToastAction | null;\n /** Fraction from 0 to 1, or an indeterminate activity indicator. null removes it. */\n progress?: number | \"indeterminate\" | null;\n dismissLabel?: string;\n};\n\nexport type ToastHandle = {\n dismiss: () => void;\n update: (description: string, options?: ToastOptions) => void;\n};\n\nexport interface ToastFn {\n (description: string, options?: ToastOptions): ToastHandle;\n success: (description: string, options?: Omit<ToastOptions, \"variant\">) => ToastHandle;\n error: (description: string, options?: Omit<ToastOptions, \"variant\">) => ToastHandle;\n dismissAll: () => void;\n}\n\nconst DEFAULT_DURATION_MS = 3000;\nconst MAX_VISIBLE_TOASTS = 5;\nconst ANIMATION_MS = 200;\nexport const K2B_TOAST_CONTAINER_ID = \"k2b-ui-toast-container\";\nconst CONTAINER_ATTRIBUTE = \"data-k2b-toast-container\";\n\ntype VariantStyle = {\n tone: \"info\" | \"success\" | \"danger\";\n iconClass: string;\n titleKey: \"info\" | \"success\" | \"error\";\n};\n\nconst VARIANT_STYLES: Record<ToastVariant, VariantStyle> = {\n default: {\n tone: \"info\",\n iconClass: \"ti-info-circle\",\n titleKey: \"info\",\n },\n success: {\n tone: \"success\",\n iconClass: \"ti-check\",\n titleKey: \"success\",\n },\n error: {\n tone: \"danger\",\n iconClass: \"ti-x\",\n titleKey: \"error\",\n },\n};\n\n/** Default titles follow the document locale, like the other imperative `@k2b/ui` surfaces. */\nconst defaultTitle = (variant: ToastVariant): string => resolveUiMessages()[VARIANT_STYLES[variant].titleKey];\n\nconst normalizedIconClass = (iconClass: string): string => {\n const tokens = iconClass\n .split(/\\s+/)\n .filter(Boolean)\n .filter((token) => token !== \"ti\");\n return [\"ti\", ...tokens].join(\" \");\n};\n\nconst applyIconClass = (icon: HTMLElement, iconClass: string): void => {\n icon.className = normalizedIconClass(iconClass);\n};\n\nconst applyLiveRegion = (element: HTMLElement, variant: ToastVariant): void => {\n const isError = variant === \"error\";\n element.setAttribute(\"role\", isError ? \"alert\" : \"status\");\n element.setAttribute(\"aria-live\", isError ? \"assertive\" : \"polite\");\n element.setAttribute(\"aria-atomic\", \"true\");\n};\n\nconst liveToasts = new Set<ToastHandle>();\n\nconst ensureContainer = (): HTMLElement | null => {\n if (typeof document === \"undefined\") return null;\n const root = getK2bPortalRoot();\n let container = root.querySelector<HTMLElement>(`[${CONTAINER_ATTRIBUTE}]`);\n if (container) return container;\n\n container = document.createElement(\"div\");\n container.id = K2B_TOAST_CONTAINER_ID;\n container.setAttribute(CONTAINER_ATTRIBUTE, \"\");\n container.setAttribute(\"popover\", \"manual\");\n // Keep the source rail geometry inline: it must defeat UA popover defaults\n // even when a consumer has not loaded the optional package stylesheet yet.\n // The stylesheet only moves the rail to the top edge on narrow viewports\n // through the two edge variables.\n container.style.cssText =\n \"position:fixed;left:auto;right:env(safe-area-inset-right,0px);\" +\n \"top:var(--k2b-toast-rail-top,auto);bottom:var(--k2b-toast-rail-bottom,env(safe-area-inset-bottom,0px));\" +\n \"z-index:50;box-sizing:border-box;display:flex;flex-direction:column;gap:0.5rem;\" +\n \"width:min(22rem,calc(100vw - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px)));\" +\n \"height:auto;max-width:100vw;\" +\n \"max-height:calc(100dvh - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));\" +\n \"margin:0;padding:1rem;border:0;background:transparent;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;\" +\n \"pointer-events:none;\";\n root.appendChild(container);\n return container;\n};\n\nconst promoteToTopLayer = (container: HTMLElement): HTMLElement => {\n if (typeof container.showPopover !== \"function\" || !container.isConnected) return container;\n let active = container;\n try {\n if (container.matches(\":popover-open\") || document.querySelector(\"dialog:modal\")) {\n const next = container.cloneNode(false) as HTMLElement;\n while (container.firstChild) next.appendChild(container.firstChild);\n const root = container.parentElement ?? getK2bPortalRoot();\n container.remove();\n root.appendChild(next);\n active = next;\n }\n if (!active.matches(\":popover-open\")) active.showPopover();\n } catch {\n active.removeAttribute(\"popover\");\n }\n return active;\n};\n\n/** Close every empty rail so an emptied container does not linger in the top\n * layer. Rails are resolved at call time on purpose: `promoteToTopLayer`\n * swaps the element for a fresh clone, so a container captured when the toast\n * was created can already be detached by the time the toast is dismissed. */\nconst hideEmptyContainers = (): void => {\n if (typeof document === \"undefined\") return;\n for (const container of Array.from(document.querySelectorAll<HTMLElement>(`[${CONTAINER_ATTRIBUTE}]`))) {\n if (container.childElementCount > 0 || typeof container.hidePopover !== \"function\") continue;\n try {\n if (container.matches(\":popover-open\")) container.hidePopover();\n } catch {\n // Already hidden or disconnected.\n }\n }\n};\n\nconst renderLead = (lead: HTMLElement, variant: ToastVariant, iconClassOverride?: string): HTMLElement => {\n const style = VARIANT_STYLES[variant];\n lead.replaceChildren();\n lead.className = \"k2b-toast__icon\";\n lead.dataset.tone = style.tone;\n const icon = document.createElement(\"i\");\n applyIconClass(icon, iconClassOverride ?? style.iconClass);\n icon.setAttribute(\"aria-hidden\", \"true\");\n lead.appendChild(icon);\n return icon;\n};\n\nconst showToast = (description: string, options?: ToastOptions): ToastHandle => {\n const initialContainer = ensureContainer();\n if (!initialContainer) {\n const noop = () => {};\n return { dismiss: noop, update: noop };\n }\n\n let dismissed = false;\n let dismissTimer: ReturnType<typeof setTimeout> | null = null;\n let currentVariant: ToastVariant = options?.variant ?? \"default\";\n let currentProgress = options?.progress ?? null;\n let currentDuration = options?.duration ?? DEFAULT_DURATION_MS;\n let remainingDuration = currentDuration;\n let timerStartedAt = 0;\n let pausedByPointer = false;\n let pausedByFocus = false;\n\n const toastElement = document.createElement(\"div\");\n toastElement.className = \"k2b-toast\";\n toastElement.dataset.tone = VARIANT_STYLES[currentVariant].tone;\n toastElement.dataset.k2bToast = \"\";\n\n const leadElement = document.createElement(\"div\");\n let leadIconElement = renderLead(leadElement, currentVariant, options?.iconClass);\n\n const contentElement = document.createElement(\"div\");\n contentElement.className = \"k2b-toast__content\";\n applyLiveRegion(contentElement, currentVariant);\n\n const titleElement = document.createElement(\"div\");\n titleElement.className = \"k2b-toast__title\";\n titleElement.textContent = options?.title ?? defaultTitle(currentVariant);\n const descriptionElement = document.createElement(\"div\");\n descriptionElement.className = \"k2b-toast__description\";\n descriptionElement.textContent = description;\n contentElement.append(titleElement, descriptionElement);\n\n const closeButton = document.createElement(\"button\");\n closeButton.type = \"button\";\n closeButton.className = \"k2b-toast__close\";\n closeButton.setAttribute(\"aria-label\", options?.dismissLabel ?? resolveUiMessages().dismissNotification);\n const closeIcon = document.createElement(\"i\");\n closeIcon.className = \"ti ti-x\";\n closeIcon.setAttribute(\"aria-hidden\", \"true\");\n closeButton.appendChild(closeIcon);\n\n toastElement.append(leadElement, contentElement, closeButton);\n\n const clearDismissTimer = () => {\n if (dismissTimer === null) return;\n clearTimeout(dismissTimer);\n dismissTimer = null;\n };\n\n const pauseDismissTimer = () => {\n if (dismissTimer === null) return;\n remainingDuration = Math.max(0, remainingDuration - (Date.now() - timerStartedAt));\n clearDismissTimer();\n };\n\n const resumeDismissTimer = () => {\n if (dismissed || currentProgress !== null || currentDuration === 0 || remainingDuration <= 0 || pausedByPointer || pausedByFocus)\n return;\n clearDismissTimer();\n timerStartedAt = Date.now();\n dismissTimer = setTimeout(() => dismiss(), remainingDuration);\n };\n\n const resetDismissTimer = (duration: number) => {\n clearDismissTimer();\n currentDuration = duration;\n remainingDuration = duration;\n resumeDismissTimer();\n };\n\n const dismiss = () => {\n if (dismissed) return;\n dismissed = true;\n clearDismissTimer();\n liveToasts.delete(handle);\n toastElement.dataset.closing = \"true\";\n setTimeout(() => {\n toastElement.remove();\n hideEmptyContainers();\n }, ANIMATION_MS);\n };\n\n const progressElement = document.createElement(\"progress\");\n progressElement.className = \"k2b-toast__progress\";\n progressElement.max = 1;\n const renderProgress = () => {\n progressElement.hidden = currentProgress === null;\n progressElement.setAttribute(\"aria-label\", titleElement.textContent || descriptionElement.textContent || \"\");\n if (typeof currentProgress === \"number\")\n progressElement.value = Number.isFinite(currentProgress) ? Math.max(0, Math.min(1, currentProgress)) : 0;\n else progressElement.removeAttribute(\"value\");\n };\n contentElement.append(progressElement);\n renderProgress();\n let actionElement: HTMLAnchorElement | HTMLButtonElement | null = null;\n const renderAction = (action: ToastAction | null | undefined) => {\n actionElement?.remove();\n actionElement = null;\n if (!action) return;\n if (\"href\" in action) {\n const link = document.createElement(\"a\");\n link.href = action.href;\n actionElement = link;\n } else {\n const button = document.createElement(\"button\");\n button.type = \"button\";\n actionElement = button;\n }\n actionElement.className = \"k2b-toast__action\";\n actionElement.textContent = action.label;\n actionElement.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n if (\"onClick\" in action) action.onClick();\n else dismiss();\n });\n contentElement.appendChild(actionElement);\n };\n renderAction(options?.action);\n\n const update = (nextDescription: string, nextOptions?: ToastOptions) => {\n if (dismissed) return;\n descriptionElement.textContent = nextDescription;\n\n const variantChanged = nextOptions?.variant !== undefined && nextOptions.variant !== currentVariant;\n if (variantChanged) {\n currentVariant = nextOptions.variant!;\n toastElement.dataset.tone = VARIANT_STYLES[currentVariant].tone;\n leadIconElement = renderLead(leadElement, currentVariant, nextOptions.iconClass);\n applyLiveRegion(contentElement, currentVariant);\n } else if (nextOptions?.iconClass !== undefined) {\n applyIconClass(leadIconElement, nextOptions.iconClass);\n }\n\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"title\")) {\n titleElement.textContent = nextOptions.title ?? \"\";\n } else if (variantChanged) {\n titleElement.textContent = defaultTitle(currentVariant);\n }\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"action\")) renderAction(nextOptions.action);\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"duration\")) {\n currentDuration = nextOptions.duration ?? DEFAULT_DURATION_MS;\n }\n if (nextOptions && Object.prototype.hasOwnProperty.call(nextOptions, \"progress\")) currentProgress = nextOptions.progress ?? null;\n if (nextOptions?.dismissLabel) closeButton.setAttribute(\"aria-label\", nextOptions.dismissLabel);\n renderProgress();\n resetDismissTimer(currentDuration);\n };\n\n toastElement.addEventListener(\"click\", () => {\n if (currentProgress === null) dismiss();\n });\n closeButton.addEventListener(\"click\", (event) => {\n event.stopPropagation();\n dismiss();\n });\n toastElement.addEventListener(\"pointerenter\", () => {\n pausedByPointer = true;\n pauseDismissTimer();\n });\n toastElement.addEventListener(\"pointerleave\", () => {\n pausedByPointer = false;\n resumeDismissTimer();\n });\n toastElement.addEventListener(\"focusin\", () => {\n pausedByFocus = true;\n pauseDismissTimer();\n });\n toastElement.addEventListener(\"focusout\", (event) => {\n if (toastElement.contains(event.relatedTarget as Node | null)) return;\n pausedByFocus = false;\n resumeDismissTimer();\n });\n\n const handle: ToastHandle = { dismiss, update };\n liveToasts.add(handle);\n if (liveToasts.size > MAX_VISIBLE_TOASTS) liveToasts.values().next().value?.dismiss();\n promoteToTopLayer(initialContainer).appendChild(toastElement);\n requestAnimationFrame(() => {\n if (!dismissed) toastElement.dataset.open = \"true\";\n });\n resetDismissTimer(currentDuration);\n return handle;\n};\n\nexport const isPointInsideToast = (x: number, y: number): boolean => {\n if (typeof document === \"undefined\") return false;\n const containers = Array.from(document.querySelectorAll<HTMLElement>(`[${CONTAINER_ATTRIBUTE}]`));\n for (const container of containers) {\n for (const child of Array.from(container.children)) {\n const rect = child.getBoundingClientRect();\n if (x >= rect.left && x <= rect.right && y >= rect.top && y <= rect.bottom) return true;\n }\n }\n return false;\n};\n\nconst toastFn = ((description: string, options?: ToastOptions) => showToast(description, options)) as ToastFn;\ntoastFn.success = (description, options) => showToast(description, { ...options, variant: \"success\" });\ntoastFn.error = (description, options) => showToast(description, { ...options, variant: \"error\" });\ntoastFn.dismissAll = () => {\n for (const handle of Array.from(liveToasts)) handle.dismiss();\n};\n\nexport const toast: ToastFn = toastFn;\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -90,7 +90,19 @@ const uiMessages = i18n.define({
|
|
|
90
90
|
retry: "Retry",
|
|
91
91
|
refreshing: "Refreshing",
|
|
92
92
|
reset: "Reset",
|
|
93
|
-
required: "
|
|
93
|
+
required: "Required",
|
|
94
|
+
minCharacters: ({
|
|
95
|
+
count
|
|
96
|
+
}) => `At least ${count} ${count === 1 ? "character" : "characters"}`,
|
|
97
|
+
maxCharacters: ({
|
|
98
|
+
count
|
|
99
|
+
}) => `At most ${count} ${count === 1 ? "character" : "characters"}`,
|
|
100
|
+
minTags: ({
|
|
101
|
+
count
|
|
102
|
+
}) => `At least ${count} ${count === 1 ? "tag" : "tags"}`,
|
|
103
|
+
maxTags: ({
|
|
104
|
+
count
|
|
105
|
+
}) => `At most ${count} ${count === 1 ? "tag" : "tags"}`,
|
|
94
106
|
rename: "Rename",
|
|
95
107
|
delete: "Delete",
|
|
96
108
|
remove: "Remove",
|
|
@@ -147,6 +159,11 @@ const uiMessages = i18n.define({
|
|
|
147
159
|
hiddenOverlappingEvents: ({
|
|
148
160
|
count
|
|
149
161
|
}) => `${count} hidden overlapping events`,
|
|
162
|
+
calendarEventTime: ({
|
|
163
|
+
title,
|
|
164
|
+
start,
|
|
165
|
+
end
|
|
166
|
+
}) => `${title}, ${start} to ${end}`,
|
|
150
167
|
today: "Today",
|
|
151
168
|
day: "Day",
|
|
152
169
|
week: "Week",
|
|
@@ -227,6 +244,9 @@ const uiMessages = i18n.define({
|
|
|
227
244
|
messageComposer: "Message composer",
|
|
228
245
|
messageInput: "Message input",
|
|
229
246
|
confirmation: "Confirmation",
|
|
247
|
+
typeToConfirm: ({
|
|
248
|
+
phrase
|
|
249
|
+
}) => `Type ${phrase} to confirm`,
|
|
230
250
|
confirm: "Confirm",
|
|
231
251
|
dialog: "Dialog",
|
|
232
252
|
discard: "Discard",
|
|
@@ -234,6 +254,7 @@ const uiMessages = i18n.define({
|
|
|
234
254
|
form: "Form",
|
|
235
255
|
filterActions: "Filter actions",
|
|
236
256
|
info: "Info",
|
|
257
|
+
dismissNotification: "Dismiss notification",
|
|
237
258
|
interactiveLineChart: "Interactive line chart",
|
|
238
259
|
interactiveChart: "Interactive chart. Use arrow keys to inspect, Enter to select, Escape to dismiss. On maps and timelines use Alt with arrow keys to inspect.",
|
|
239
260
|
chartFields: ({
|
|
@@ -350,6 +371,8 @@ const uiMessages = i18n.define({
|
|
|
350
371
|
pdfPreviewHttpError: ({
|
|
351
372
|
status
|
|
352
373
|
}) => `PDF preview failed with HTTP ${status}`,
|
|
374
|
+
pdfPreviewTabBlocked: "The browser blocked the new tab. Allow pop-ups and try again.",
|
|
375
|
+
pdfPreviewRendering: "Rendering PDF preview…",
|
|
353
376
|
pickIcon: "Pick an icon...",
|
|
354
377
|
postMessage: "Post message",
|
|
355
378
|
preview: "Preview",
|
|
@@ -529,7 +552,19 @@ const uiMessages = i18n.define({
|
|
|
529
552
|
retry: "Erneut versuchen",
|
|
530
553
|
refreshing: "Wird aktualisiert",
|
|
531
554
|
reset: "Zurücksetzen",
|
|
532
|
-
required: "
|
|
555
|
+
required: "Erforderlich",
|
|
556
|
+
minCharacters: ({
|
|
557
|
+
count
|
|
558
|
+
}) => `Mindestens ${count} Zeichen`,
|
|
559
|
+
maxCharacters: ({
|
|
560
|
+
count
|
|
561
|
+
}) => `Höchstens ${count} Zeichen`,
|
|
562
|
+
minTags: ({
|
|
563
|
+
count
|
|
564
|
+
}) => `Mindestens ${count} ${count === 1 ? "Tag" : "Tags"}`,
|
|
565
|
+
maxTags: ({
|
|
566
|
+
count
|
|
567
|
+
}) => `Höchstens ${count} ${count === 1 ? "Tag" : "Tags"}`,
|
|
533
568
|
rename: "Umbenennen",
|
|
534
569
|
delete: "Löschen",
|
|
535
570
|
remove: "Entfernen",
|
|
@@ -586,6 +621,11 @@ const uiMessages = i18n.define({
|
|
|
586
621
|
hiddenOverlappingEvents: ({
|
|
587
622
|
count
|
|
588
623
|
}) => `${count} ausgeblendete überlappende Termine`,
|
|
624
|
+
calendarEventTime: ({
|
|
625
|
+
title,
|
|
626
|
+
start,
|
|
627
|
+
end
|
|
628
|
+
}) => `${title}, ${start} bis ${end}`,
|
|
589
629
|
today: "Heute",
|
|
590
630
|
day: "Tag",
|
|
591
631
|
week: "Woche",
|
|
@@ -666,6 +706,9 @@ const uiMessages = i18n.define({
|
|
|
666
706
|
messageComposer: "Nachricht verfassen",
|
|
667
707
|
messageInput: "Nachrichteneingabe",
|
|
668
708
|
confirmation: "Bestätigung",
|
|
709
|
+
typeToConfirm: ({
|
|
710
|
+
phrase
|
|
711
|
+
}) => `Gib ${phrase} zur Bestätigung ein`,
|
|
669
712
|
confirm: "Bestätigen",
|
|
670
713
|
dialog: "Dialog",
|
|
671
714
|
discard: "Verwerfen",
|
|
@@ -673,6 +716,7 @@ const uiMessages = i18n.define({
|
|
|
673
716
|
form: "Formular",
|
|
674
717
|
filterActions: "Filteraktionen",
|
|
675
718
|
info: "Information",
|
|
719
|
+
dismissNotification: "Benachrichtigung schließen",
|
|
676
720
|
interactiveLineChart: "Interaktives Liniendiagramm",
|
|
677
721
|
interactiveChart: "Interaktives Diagramm. Pfeiltasten zum Erkunden, Enter zum Auswählen, Escape zum Schließen. In Karten und Zeitleisten Alt mit Pfeiltasten zum Erkunden.",
|
|
678
722
|
chartFields: ({
|
|
@@ -789,6 +833,8 @@ const uiMessages = i18n.define({
|
|
|
789
833
|
pdfPreviewHttpError: ({
|
|
790
834
|
status
|
|
791
835
|
}) => `PDF-Vorschau ist mit HTTP ${status} fehlgeschlagen`,
|
|
836
|
+
pdfPreviewTabBlocked: "Der Browser hat den neuen Tab blockiert. Erlaube Pop-ups und versuche es erneut.",
|
|
837
|
+
pdfPreviewRendering: "PDF-Vorschau wird erstellt…",
|
|
792
838
|
pickIcon: "Symbol auswählen...",
|
|
793
839
|
postMessage: "Nachricht posten",
|
|
794
840
|
preview: "Vorschau",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":[],"sources":["intl/messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"./locale\";\n\nconst uiMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n chartView: \"Chart view\",\n chartDiagram: \"Diagram\",\n chartData: \"Table\",\n chartSeries: \"Series visibility\",\n chartOnly: \"Only\",\n chartShowAll: \"Show all\",\n chartShowing: \"Showing\",\n chartSelectedDatum: \"Selected data point\",\n chartReference: \"Reference\",\n chartCurrent: \"Current\",\n chartPinReference: \"Pin as reference\",\n chartRemoveComparison: \"Remove comparison\",\n chartPreviousData: \"The chart and table still show the last loaded filters\",\n chartCopyData: \"Copy data\",\n chartCopyFailed: \"Could not copy data\",\n\n actions: \"Actions\",\n add: \"Add\",\n addTag: \"Add tag\",\n addImage: \"Add image\",\n attachments: \"Attachments\",\n assistant: \"Assistant\",\n avatarLabel: ({ name }: { name: string }) => `${name} avatar`,\n all: \"All\",\n calendar: \"Calendar\",\n clear: \"Clear\",\n clearDate: \"Clear date\",\n clearSelection: \"Clear selection\",\n chooseOption: \"Choose option\",\n close: \"Close\",\n closeDialog: \"close dialog\",\n copied: \"Copied\",\n copy: \"Copy\",\n closeLightbox: \"Close lightbox\",\n couldNotLoadData: \"Could not load this data\",\n datePicker: \"Date picker\",\n dataTable: \"Data table\",\n datePresets: \"Date presets\",\n decreaseValue: \"Decrease value\",\n download: \"Download\",\n downloadAsZip: \"Download as ZIP\",\n downloadImage: \"Download image\",\n dropFiles: \"Drop files or click to choose\",\n dropToUpload: \"Drop to upload\",\n dropdownMenu: \"Dropdown menu\",\n durationPresets: \"Duration presets\",\n filterOptions: \"Filter options\",\n fileTypeNotAccepted: \"File type not accepted\",\n imageLightbox: \"Image lightbox\",\n imageNavigation: \"Image navigation\",\n increaseValue: \"Increase value\",\n loading: \"Loading...\",\n hidePassword: \"Hide password\",\n noColumns: \"No columns.\",\n noData: \"No data.\",\n noRecords: \"No records\",\n noTagsYet: \"No tags yet\",\n noResultsFound: \"No results found\",\n nextImage: \"Next image\",\n noOptions: \"No options available\",\n optionsCouldNotLoad: \"Options could not be loaded\",\n noResults: \"No results\",\n nothingHere: \"Nothing here yet.\",\n nothingToShow: \"Nothing to show.\",\n no: \"No\",\n options: \"Options\",\n pagination: \"Pagination\",\n pageOf: ({ page, total }: { page: number; total: number }) => `Page ${page} of ${total}`,\n pickDate: \"Pick date\",\n previousImage: \"Previous image\",\n previousMonth: \"Previous month\",\n previousPage: \"Previous page\",\n previousYear: \"Previous year\",\n nextMonth: \"Next month\",\n nextPage: \"Next page\",\n nextYear: \"Next year\",\n goToPage: ({ page }: { page: number }) => `Go to page ${page}`,\n retry: \"Retry\",\n refreshing: \"Refreshing\",\n reset: \"Reset\",\n required: \"required\",\n rename: \"Rename\",\n delete: \"Delete\",\n remove: \"Remove\",\n removeTag: \"Remove tag\",\n search: \"Search...\",\n searchLabel: \"Search\",\n spotlightNoResults: \"No results.\",\n searchFailed: \"Search failed.\",\n searchResults: \"Search results\",\n save: \"Save\",\n saveShortcut: \"Save (Ctrl/Cmd+S)\",\n sectionsLabel: ({ title }: { title: string }) => `${title} sections`,\n searchOptions: \"Search options\",\n select: \"Select...\",\n selectMatchingOption: \"Select a matching option\",\n selectOption: \"Select option\",\n suggestions: \"Suggestions\",\n suggestionsCouldNotLoad: \"Suggestions could not be loaded\",\n showPassword: \"Show password\",\n time: \"Time\",\n timeLabel: ({ label }: { label: string }) => `${label} time`,\n completionSuggestions: \"Completion suggestions\",\n contextMenu: \"Context menu\",\n unknownUser: \"Unknown user\",\n uploading: \"Uploading…\",\n chooseFile: \"Choose file\",\n chooseFiles: \"Choose files\",\n chooseMatchingFile: \"Choose a file that matches this field.\",\n checkingOptions: \"Checking options\",\n checkingOptionsLoading: \"Checking options...\",\n noMatchingOption: \"No matching option found\",\n noOptionsFound: \"No options found\",\n typeToSearch: \"Type to search...\",\n showGridView: \"Show grid view\",\n showListView: \"Show list view\",\n start: \"Start\",\n end: \"End\",\n addFileFolderUpload: \"Add file, folder, or upload\",\n addPane: \"Add pane\",\n addToChat: \"Add to chat\",\n attachFiles: \"Attach files\",\n addGuidance: \"Add guidance...\",\n calendarView: \"Calendar view\",\n openDate: ({ label }: { label: string }) => `Open ${label}`,\n createEventOn: ({ label }: { label: string }) => `Create event on ${label}`,\n hiddenOverlappingEvents: ({ count }: { count: number }) => `${count} hidden overlapping events`,\n today: \"Today\",\n day: \"Day\",\n week: \"Week\",\n weekShort: \"Wk\",\n month: \"Month\",\n year: \"Year\",\n allDay: \"All day\",\n noEvents: \"No events\",\n previous: \"Previous\",\n next: \"Next\",\n moveEvent: \"Move event\",\n resizeEvent: \"Resize event\",\n cancel: \"Cancel\",\n chat: \"Chat\",\n chooseModel: \"Choose model\",\n closeWindow: \"Close window\",\n code: \"Code\",\n codeLabel: ({ title }: { title: string }) => `${title} code`,\n column: ({ number }: { number: number }) => `Column ${number}`,\n commands: \"Commands\",\n dropFilesToAttach: \"Drop files to attach\",\n conversation: \"Conversation\",\n jumpToLatest: \"Jump to latest\",\n conversationMessages: ({ label }: { label: string }) => `${label} messages`,\n dialogTabs: \"Dialog tabs\",\n files: \"Files\",\n chooseFileToPreview: \"Choose a file to preview it.\",\n change: \"Change\",\n changeImage: \"Change image\",\n cropArea: \"Crop area. Use arrow keys to move; hold Shift for larger steps.\",\n cropPreview: \"Crop preview\",\n discardChanges: \"Discard changes\",\n discardUnsavedFile: \"Discard the unsaved changes in this file?\",\n downloadFailed: \"Download failed\",\n failedLoadFiles: \"Failed to load files\",\n failedLoadImage: \"Failed to load image.\",\n folderEmpty: \"This folder is empty.\",\n folderSelected: \"Folder selected\",\n newFile: \"New file\",\n newFileName: \"Name of the new file:\",\n newFolder: \"New folder\",\n newFolderName: \"Name of the new folder:\",\n fileActions: \"File actions\",\n actionsFor: ({ name }: { name: string }) => `Actions for ${name}`,\n fileSaved: \"File saved\",\n pickFileFromTree: \"Pick a file from the tree to view it.\",\n imageProcessingFailed: \"Image could not be processed.\",\n preparingImage: \"Preparing image…\",\n processingImage: \"Processing image\",\n removeImage: \"Remove image\",\n rotateRight: \"Rotate right\",\n selectedImage: \"Selected image\",\n selectFile: \"Select a file\",\n spaceEmpty: \"This space is empty.\",\n uploadFiles: \"Upload files\",\n filterIcons: \"Filter icons\",\n loadEarlier: \"Load earlier\",\n loadingConversation: \"Loading conversation\",\n loadingFiles: \"Loading files...\",\n loadingMessages: \"Loading messages\",\n failed: \"Failed\",\n generating: \"Generating\",\n loadOlderMessages: \"Load older messages\",\n loadingOlderMessages: \"Loading older messages\",\n couldNotLoadOlderMessages: \"Could not load older messages\",\n couldNotLoadEarlierMessages: \"Could not load earlier messages\",\n couldNotPostMessage: \"Could not post message\",\n message: \"Message\",\n messageActions: \"Message actions\",\n messageComposer: \"Message composer\",\n messageInput: \"Message input\",\n confirmation: \"Confirmation\",\n confirm: \"Confirm\",\n dialog: \"Dialog\",\n discard: \"Discard\",\n error: \"Error\",\n form: \"Form\",\n filterActions: \"Filter actions\",\n info: \"Info\",\n interactiveLineChart: \"Interactive line chart\",\n interactiveChart:\n \"Interactive chart. Use arrow keys to inspect, Enter to select, Escape to dismiss. On maps and timelines use Alt with arrow keys to inspect.\",\n chartFields: ({ key }: { key: string }) => {\n const labels: Record<string, string> = {\n x: \"X\",\n y: \"Y\",\n value: \"Value\",\n percent: \"Share\",\n total: \"Total\",\n from: \"From\",\n to: \"To\",\n upperInclusive: \"Includes upper bound\",\n count: \"Count\",\n q1: \"Lower quartile\",\n q2: \"Median\",\n q3: \"Upper quartile\",\n whiskerLow: \"Lower whisker\",\n whiskerHigh: \"Upper whisker\",\n min: \"Minimum\",\n max: \"Maximum\",\n threshold: \"Threshold\",\n delta: \"Change\",\n latitude: \"Latitude\",\n longitude: \"Longitude\",\n size: \"Size\",\n state: \"State\",\n duration: \"Duration\",\n detail: \"Detail\",\n errY: \"Y error\",\n errYHigh: \"Upper Y error\",\n errYLow: \"Lower Y error\",\n errX: \"X error\",\n errXHigh: \"Upper X error\",\n errXLow: \"Lower X error\",\n };\n return labels[key] ?? key;\n },\n interactiveMap: \"Interactive map\",\n interactiveTimeline: \"Interactive timeline\",\n ok: \"OK\",\n success: \"Success\",\n model: \"Model\",\n input: \"Input\",\n output: \"Output\",\n loopTotal: \"Loop total\",\n remaining: \"Remaining\",\n notConfigured: \"Not configured\",\n unknown: \"Unknown\",\n system: \"System\",\n tool: \"Tool\",\n user: \"User\",\n useColor: \"Use a color\",\n useTransparent: \"Use transparent\",\n series: \"Series\",\n waiting: \"Waiting\",\n templateEditorPlaceholder: \"Write HTML with Liquid values like {{ APP_NAME }}...\",\n templatePreview: \"Template preview\",\n lastRequestContext: \"Last request context\",\n contextWindowUsed: \"Context window used\",\n contextUsageUnavailable: \"Context usage unavailable\",\n contextUsageUnavailableWithWindow: ({ window }: { window: string }) => `Context usage unavailable, ${window} token context window`,\n tokensUsed: ({ total }: { total: string }) => `${total} tokens used`,\n tokensUsedPercent: ({ total, percent }: { total: string; percent: number }) =>\n `${total} tokens used, ${percent}% of the context window`,\n moveDown: \"Move down\",\n moveUp: \"Move up\",\n moveNamedDown: ({ label }: { label: string }) => `Move ${label} down`,\n moveNamedUp: ({ label }: { label: string }) => `Move ${label} up`,\n rowAction: \"Row action\",\n addToNamed: ({ name }: { name: string }) => `Add to ${name}`,\n insertBeforeNamed: ({ name }: { name: string }) => `Insert before ${name}`,\n insertAtEnd: \"Insert at end\",\n addPaneSide: ({ side, name }: { side: \"left\" | \"right\" | \"top\" | \"bottom\"; name: string }) => `Add ${side} of ${name}`,\n discardUnsavedChanges: \"Discard unsaved changes?\",\n unsavedChangesTitle: \"Unsaved changes\",\n tagName: \"Tag name\",\n name: \"Name\",\n color: \"Color\",\n tagCouldNotBeSaved: \"The tag could not be saved.\",\n tagActionFailed: \"The tag action failed.\",\n tagsPlaceholder: \"Tags (e.g. Tag 1, Tag 2,...)\",\n tagsAdded: ({ tags }: { tags: string }) => `Tags added: ${tags}.`,\n tagsRemoved: ({ tags }: { tags: string }) => `Tags removed: ${tags}.`,\n noFiles: \"No files\",\n noLogEntries: \"No log entries found.\",\n noPreview: \"No preview\",\n openPreview: \"Open preview\",\n paneTabs: \"Pane tabs\",\n paneWorkspace: \"Pane workspace\",\n pdfPreview: \"PDF preview\",\n pdfPreviewHttpError: ({ status }: { status: number }) => `PDF preview failed with HTTP ${status}`,\n pickIcon: \"Pick an icon...\",\n postMessage: \"Post message\",\n preview: \"Preview\",\n previewPdf: \"Preview PDF\",\n renderPdfPreview: \"Render a PDF preview to see the final output.\",\n queueMessage: \"Queue message\",\n queueing: \"Queueing\",\n sending: \"Sending\",\n steering: \"Steering\",\n writeMessage: \"Write a message or type / ...\",\n openInNewTab: ({ name }: { name: string }) => `Open ${name} in a new tab`,\n closeNamed: ({ name }: { name: string }) => `Close ${name}`,\n goToImage: ({ index }: { index: number }) => `Go to image ${index}`,\n pinDigit: ({ index, total }: { index: number; total: number }) => `PIN digit ${index} of ${total}`,\n moreSelected: ({ count }: { count: number }) => `${count} more selected`,\n removeNamed: ({ name }: { name: string }) => `Remove ${name}`,\n resizeCrop: ({ handle }: { handle: string }) => `Resize crop ${handle}`,\n range: \"Range\",\n resizePanes: \"Resize panes\",\n resetMapView: \"Reset map view\",\n resetTimelineView: \"Reset timeline view\",\n retryOlderMessages: \"Retry loading older messages\",\n saveChanges: \"Save changes\",\n saving: \"Saving\",\n sendMessage: \"Send message\",\n startConversation: \"Start a conversation\",\n steerResponse: \"Steer response\",\n stopResponse: \"Stop response\",\n stopping: \"Stopping\",\n unsaved: \"Unsaved\",\n unsavedChangeLabel: ({ count }: { count: number }) => `unsaved ${count === 1 ? \"change\" : \"changes\"}`,\n noUnsavedChanges: \"No unsaved changes\",\n moveWindow: ({ title }: { title: string }) => `Move ${title} window. Use arrow keys; hold Shift for larger steps.`,\n resizeWindow: \"Resize window. Use arrow keys; hold Shift for larger steps.\",\n window: \"Window\",\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n resetZoom: \"Reset zoom\",\n openFullscreen: \"Open fullscreen\",\n zoomPanKeys: \"Zoom with plus and minus, move with the arrow keys, reset with 0, open fullscreen with F.\",\n binaryFile: \"Binary file\",\n boldShortcut: \"Bold (Ctrl/Cmd+B)\",\n bulletListShortcut: \"Bullet list (Ctrl/Cmd+Shift+8)\",\n heading1Shortcut: \"Heading 1 (Ctrl/Cmd+Shift+1)\",\n heading2Shortcut: \"Heading 2 (Ctrl/Cmd+Shift+2)\",\n heading3Shortcut: \"Heading 3 (Ctrl/Cmd+Shift+3)\",\n inlineCodeShortcut: \"Inline code (Ctrl/Cmd+E)\",\n italicShortcut: \"Italic (Ctrl/Cmd+I)\",\n linkShortcut: \"Link (Ctrl/Cmd+K)\",\n markdownFormatting: \"Markdown formatting\",\n numberedListShortcut: \"Numbered list (Ctrl/Cmd+Shift+7)\",\n quote: \"Quote\",\n csvSettings: \"CSV preview settings\",\n csvEncoding: \"Encoding\",\n csvSeparator: \"Separator\",\n csvDefaultSeparator: \"File type default\",\n csvComma: \"Comma\",\n csvSemicolon: \"Semicolon\",\n csvTab: \"Tab\",\n csvView: \"Display\",\n csvRaw: \"Raw text\",\n delimitedFileEmpty: \"This delimited file contains no rows.\",\n edit: \"Edit\",\n emptyFile: \"Empty file\",\n failedLoadFile: \"Failed to load file\",\n noInlinePreview: \"No inline preview available for this source.\",\n previewMoreLines: (n: number) => `… ${n} more lines`,\n previewColumnsLimited: \"Showing the first 50 columns. Download the file for all columns.\",\n textEditor: \"Text editor\",\n audioUnsupported: \"Your browser does not support audio playback.\",\n videoUnsupported: \"Your browser does not support video playback.\",\n yes: \"Yes\",\n },\n de: {\n chartView: \"Diagrammansicht\",\n chartDiagram: \"Diagramm\",\n chartData: \"Tabelle\",\n chartSeries: \"Sichtbare Datenreihen\",\n chartOnly: \"Nur diese\",\n chartShowAll: \"Alle anzeigen\",\n chartShowing: \"Angezeigt\",\n chartSelectedDatum: \"Ausgewählter Datenpunkt\",\n chartReference: \"Vergleich\",\n chartCurrent: \"Aktuell\",\n chartPinReference: \"Als Vergleich merken\",\n chartRemoveComparison: \"Vergleich entfernen\",\n chartPreviousData: \"Diagramm und Tabelle zeigen weiterhin die zuletzt geladenen Filter\",\n chartCopyData: \"Daten kopieren\",\n chartCopyFailed: \"Daten konnten nicht kopiert werden\",\n\n actions: \"Aktionen\",\n add: \"Hinzufügen\",\n addTag: \"Tag hinzufügen\",\n addImage: \"Bild hinzufügen\",\n attachments: \"Anhänge\",\n assistant: \"Assistent\",\n avatarLabel: ({ name }) => `Avatar von ${name}`,\n all: \"Alle\",\n calendar: \"Kalender\",\n clear: \"Leeren\",\n clearDate: \"Datum löschen\",\n clearSelection: \"Auswahl löschen\",\n chooseOption: \"Option auswählen\",\n close: \"Schließen\",\n closeDialog: \"Dialog schließen\",\n copied: \"Kopiert\",\n copy: \"Kopieren\",\n closeLightbox: \"Bildansicht schließen\",\n couldNotLoadData: \"Diese Daten konnten nicht geladen werden\",\n datePicker: \"Datumsauswahl\",\n dataTable: \"Datentabelle\",\n datePresets: \"Datumsvorgaben\",\n decreaseValue: \"Wert verringern\",\n download: \"Herunterladen\",\n downloadAsZip: \"Als ZIP herunterladen\",\n downloadImage: \"Bild herunterladen\",\n dropFiles: \"Dateien ablegen oder zum Auswählen klicken\",\n dropToUpload: \"Zum Hochladen ablegen\",\n dropdownMenu: \"Dropdown-Menü\",\n durationPresets: \"Dauervorgaben\",\n filterOptions: \"Optionen filtern\",\n fileTypeNotAccepted: \"Dateityp wird nicht akzeptiert\",\n imageLightbox: \"Bildansicht\",\n imageNavigation: \"Bildnavigation\",\n increaseValue: \"Wert erhöhen\",\n loading: \"Wird geladen...\",\n hidePassword: \"Passwort ausblenden\",\n noColumns: \"Keine Spalten.\",\n noData: \"Keine Daten.\",\n noRecords: \"Keine Einträge\",\n noTagsYet: \"Noch keine Tags\",\n noResultsFound: \"Keine Ergebnisse gefunden\",\n nextImage: \"Nächstes Bild\",\n noOptions: \"Keine Optionen verfügbar\",\n optionsCouldNotLoad: \"Optionen konnten nicht geladen werden\",\n noResults: \"Keine Ergebnisse\",\n nothingHere: \"Noch nichts vorhanden.\",\n nothingToShow: \"Nichts anzuzeigen.\",\n no: \"Nein\",\n options: \"Optionen\",\n pagination: \"Seitennavigation\",\n pageOf: ({ page, total }) => `Seite ${page} von ${total}`,\n pickDate: \"Datum auswählen\",\n previousImage: \"Vorheriges Bild\",\n previousMonth: \"Vorheriger Monat\",\n previousPage: \"Vorherige Seite\",\n previousYear: \"Vorheriges Jahr\",\n nextMonth: \"Nächster Monat\",\n nextPage: \"Nächste Seite\",\n nextYear: \"Nächstes Jahr\",\n goToPage: ({ page }) => `Zu Seite ${page}`,\n retry: \"Erneut versuchen\",\n refreshing: \"Wird aktualisiert\",\n reset: \"Zurücksetzen\",\n required: \"erforderlich\",\n rename: \"Umbenennen\",\n delete: \"Löschen\",\n remove: \"Entfernen\",\n removeTag: \"Tag entfernen\",\n search: \"Suchen...\",\n searchLabel: \"Suchen\",\n spotlightNoResults: \"Keine Ergebnisse.\",\n searchFailed: \"Suche fehlgeschlagen.\",\n searchResults: \"Suchergebnisse\",\n save: \"Speichern\",\n saveShortcut: \"Speichern (Strg/Cmd+S)\",\n sectionsLabel: ({ title }) => `Bereiche von ${title}`,\n searchOptions: \"Optionen durchsuchen\",\n select: \"Auswählen...\",\n selectMatchingOption: \"Eine passende Option auswählen\",\n selectOption: \"Option auswählen\",\n suggestions: \"Vorschläge\",\n suggestionsCouldNotLoad: \"Vorschläge konnten nicht geladen werden\",\n showPassword: \"Passwort anzeigen\",\n time: \"Uhrzeit\",\n timeLabel: ({ label }) => `${label}zeit`,\n completionSuggestions: \"Vervollständigungsvorschläge\",\n contextMenu: \"Kontextmenü\",\n unknownUser: \"Unbekannte Person\",\n uploading: \"Wird hochgeladen…\",\n chooseFile: \"Datei auswählen\",\n chooseFiles: \"Dateien auswählen\",\n chooseMatchingFile: \"Wähle eine zu diesem Feld passende Datei aus.\",\n checkingOptions: \"Optionen werden geprüft\",\n checkingOptionsLoading: \"Optionen werden geprüft...\",\n noMatchingOption: \"Keine passende Option gefunden\",\n noOptionsFound: \"Keine Optionen gefunden\",\n typeToSearch: \"Zum Suchen tippen...\",\n showGridView: \"Rasteransicht anzeigen\",\n showListView: \"Listenansicht anzeigen\",\n start: \"Beginn\",\n end: \"Ende\",\n addFileFolderUpload: \"Datei oder Ordner hinzufügen oder hochladen\",\n addPane: \"Bereich hinzufügen\",\n addToChat: \"Zum Chat hinzufügen\",\n attachFiles: \"Dateien anhängen\",\n addGuidance: \"Hinweis hinzufügen...\",\n calendarView: \"Kalenderansicht\",\n openDate: ({ label }) => `${label} öffnen`,\n createEventOn: ({ label }) => `Termin am ${label} erstellen`,\n hiddenOverlappingEvents: ({ count }) => `${count} ausgeblendete überlappende Termine`,\n today: \"Heute\",\n day: \"Tag\",\n week: \"Woche\",\n weekShort: \"KW\",\n month: \"Monat\",\n year: \"Jahr\",\n allDay: \"Ganztägig\",\n noEvents: \"Keine Termine\",\n previous: \"Zurück\",\n next: \"Weiter\",\n moveEvent: \"Termin verschieben\",\n resizeEvent: \"Termindauer ändern\",\n cancel: \"Abbrechen\",\n chat: \"Chat\",\n chooseModel: \"Modell auswählen\",\n closeWindow: \"Fenster schließen\",\n code: \"Code\",\n codeLabel: ({ title }) => `Code von ${title}`,\n column: ({ number }) => `Spalte ${number}`,\n commands: \"Befehle\",\n dropFilesToAttach: \"Dateien zum Anhängen ablegen\",\n conversation: \"Unterhaltung\",\n jumpToLatest: \"Zur neuesten Nachricht\",\n conversationMessages: ({ label }) => `Nachrichten in ${label}`,\n dialogTabs: \"Dialog-Tabs\",\n files: \"Dateien\",\n chooseFileToPreview: \"Wähle eine Datei für die Vorschau aus.\",\n change: \"Ändern\",\n changeImage: \"Bild ändern\",\n cropArea: \"Zuschneidebereich. Mit Pfeiltasten verschieben; Umschalt für größere Schritte halten.\",\n cropPreview: \"Zuschneidevorschau\",\n discardChanges: \"Änderungen verwerfen\",\n discardUnsavedFile: \"Ungespeicherte Änderungen an dieser Datei verwerfen?\",\n downloadFailed: \"Download fehlgeschlagen\",\n failedLoadFiles: \"Dateien konnten nicht geladen werden\",\n failedLoadImage: \"Bild konnte nicht geladen werden.\",\n folderEmpty: \"Dieser Ordner ist leer.\",\n folderSelected: \"Ordner ausgewählt\",\n newFile: \"Neue Datei\",\n newFileName: \"Name der neuen Datei:\",\n newFolder: \"Neuer Ordner\",\n newFolderName: \"Name des neuen Ordners:\",\n fileActions: \"Dateiaktionen\",\n actionsFor: ({ name }) => `Aktionen für ${name}`,\n fileSaved: \"Datei gespeichert\",\n pickFileFromTree: \"Wähle im Dateibaum eine Datei aus.\",\n imageProcessingFailed: \"Bild konnte nicht verarbeitet werden.\",\n preparingImage: \"Bild wird vorbereitet…\",\n processingImage: \"Bild wird verarbeitet\",\n removeImage: \"Bild entfernen\",\n rotateRight: \"Nach rechts drehen\",\n selectedImage: \"Ausgewähltes Bild\",\n selectFile: \"Datei auswählen\",\n spaceEmpty: \"Dieser Bereich ist leer.\",\n uploadFiles: \"Dateien hochladen\",\n filterIcons: \"Symbole filtern\",\n loadEarlier: \"Ältere laden\",\n loadingConversation: \"Unterhaltung wird geladen\",\n loadingFiles: \"Dateien werden geladen...\",\n loadingMessages: \"Nachrichten werden geladen\",\n failed: \"Fehlgeschlagen\",\n generating: \"Wird generiert\",\n loadOlderMessages: \"Ältere Nachrichten laden\",\n loadingOlderMessages: \"Ältere Nachrichten werden geladen\",\n couldNotLoadOlderMessages: \"Ältere Nachrichten konnten nicht geladen werden\",\n couldNotLoadEarlierMessages: \"Ältere Nachrichten konnten nicht geladen werden\",\n couldNotPostMessage: \"Nachricht konnte nicht gepostet werden\",\n message: \"Nachricht\",\n messageActions: \"Nachrichtenaktionen\",\n messageComposer: \"Nachricht verfassen\",\n messageInput: \"Nachrichteneingabe\",\n confirmation: \"Bestätigung\",\n confirm: \"Bestätigen\",\n dialog: \"Dialog\",\n discard: \"Verwerfen\",\n error: \"Fehler\",\n form: \"Formular\",\n filterActions: \"Filteraktionen\",\n info: \"Information\",\n interactiveLineChart: \"Interaktives Liniendiagramm\",\n interactiveChart:\n \"Interaktives Diagramm. Pfeiltasten zum Erkunden, Enter zum Auswählen, Escape zum Schließen. In Karten und Zeitleisten Alt mit Pfeiltasten zum Erkunden.\",\n chartFields: ({ key }: { key: string }) => {\n const labels: Record<string, string> = {\n x: \"X\",\n y: \"Y\",\n value: \"Wert\",\n percent: \"Anteil\",\n total: \"Gesamt\",\n from: \"Von\",\n to: \"Bis\",\n upperInclusive: \"Obergrenze enthalten\",\n count: \"Anzahl\",\n q1: \"Unteres Quartil\",\n q2: \"Median\",\n q3: \"Oberes Quartil\",\n whiskerLow: \"Unterer Whisker\",\n whiskerHigh: \"Oberer Whisker\",\n min: \"Minimum\",\n max: \"Maximum\",\n threshold: \"Schwellenwert\",\n delta: \"Änderung\",\n latitude: \"Breitengrad\",\n longitude: \"Längengrad\",\n size: \"Größe\",\n state: \"Zustand\",\n duration: \"Dauer\",\n detail: \"Details\",\n errY: \"Y-Fehler\",\n errYHigh: \"Oberer Y-Fehler\",\n errYLow: \"Unterer Y-Fehler\",\n errX: \"X-Fehler\",\n errXHigh: \"Oberer X-Fehler\",\n errXLow: \"Unterer X-Fehler\",\n };\n return labels[key] ?? key;\n },\n interactiveMap: \"Interaktive Karte\",\n interactiveTimeline: \"Interaktive Zeitachse\",\n ok: \"OK\",\n success: \"Erfolg\",\n model: \"Modell\",\n input: \"Eingabe\",\n output: \"Ausgabe\",\n loopTotal: \"Schleife gesamt\",\n remaining: \"Verbleibend\",\n notConfigured: \"Nicht konfiguriert\",\n unknown: \"Unbekannt\",\n system: \"System\",\n tool: \"Werkzeug\",\n user: \"Benutzer\",\n useColor: \"Farbe verwenden\",\n useTransparent: \"Transparent verwenden\",\n series: \"Datenreihe\",\n waiting: \"Wartet\",\n templateEditorPlaceholder: \"HTML mit Liquid-Werten wie {{ APP_NAME }} schreiben...\",\n templatePreview: \"Vorlagenvorschau\",\n lastRequestContext: \"Kontext der letzten Anfrage\",\n contextWindowUsed: \"Kontextfenster verwendet\",\n contextUsageUnavailable: \"Kontextnutzung nicht verfügbar\",\n contextUsageUnavailableWithWindow: ({ window }) => `Kontextnutzung nicht verfügbar, Kontextfenster mit ${window} Token`,\n tokensUsed: ({ total }) => `${total} Token verwendet`,\n tokensUsedPercent: ({ total, percent }) => `${total} Token verwendet, ${percent}% des Kontextfensters`,\n moveDown: \"Nach unten\",\n moveUp: \"Nach oben\",\n moveNamedDown: ({ label }) => `${label} nach unten verschieben`,\n moveNamedUp: ({ label }) => `${label} nach oben verschieben`,\n rowAction: \"Zeilenaktion\",\n addToNamed: ({ name }) => `Zu ${name} hinzufügen`,\n insertBeforeNamed: ({ name }) => `Vor ${name} einfügen`,\n insertAtEnd: \"Am Ende einfügen\",\n addPaneSide: ({ side, name }) =>\n `${side === \"left\" ? \"Links\" : side === \"right\" ? \"Rechts\" : side === \"top\" ? \"Oberhalb\" : \"Unterhalb\"} von ${name} hinzufügen`,\n discardUnsavedChanges: \"Ungespeicherte Änderungen verwerfen?\",\n unsavedChangesTitle: \"Ungespeicherte Änderungen\",\n tagName: \"Tag-Name\",\n name: \"Name\",\n color: \"Farbe\",\n tagCouldNotBeSaved: \"Der Tag konnte nicht gespeichert werden.\",\n tagActionFailed: \"Die Tag-Aktion ist fehlgeschlagen.\",\n tagsPlaceholder: \"Tags (z. B. Tag 1, Tag 2, …)\",\n tagsAdded: ({ tags }) => `Tags hinzugefügt: ${tags}.`,\n tagsRemoved: ({ tags }) => `Tags entfernt: ${tags}.`,\n noFiles: \"Keine Dateien\",\n noLogEntries: \"Keine Logeinträge gefunden.\",\n noPreview: \"Keine Vorschau\",\n openPreview: \"Vorschau öffnen\",\n paneTabs: \"Bereichs-Tabs\",\n paneWorkspace: \"Arbeitsbereich\",\n pdfPreview: \"PDF-Vorschau\",\n pdfPreviewHttpError: ({ status }) => `PDF-Vorschau ist mit HTTP ${status} fehlgeschlagen`,\n pickIcon: \"Symbol auswählen...\",\n postMessage: \"Nachricht posten\",\n preview: \"Vorschau\",\n previewPdf: \"PDF anzeigen\",\n renderPdfPreview: \"Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.\",\n queueMessage: \"Nachricht einreihen\",\n queueing: \"Wird eingereiht\",\n sending: \"Wird gesendet\",\n steering: \"Wird gesteuert\",\n writeMessage: \"Nachricht schreiben oder / eingeben ...\",\n openInNewTab: ({ name }) => `${name} in neuem Tab öffnen`,\n closeNamed: ({ name }) => `${name} schließen`,\n goToImage: ({ index }) => `Zu Bild ${index} wechseln`,\n pinDigit: ({ index, total }) => `PIN-Ziffer ${index} von ${total}`,\n moreSelected: ({ count }) => `${count} weitere ${count === 1 ? \"Option\" : \"Optionen\"} ausgewählt`,\n removeNamed: ({ name }) => `${name} entfernen`,\n resizeCrop: ({ handle }) => `Zuschneidebereich am Griff ${handle} skalieren`,\n range: \"Zeitraum\",\n resizePanes: \"Bereiche skalieren\",\n resetMapView: \"Kartenansicht zurücksetzen\",\n resetTimelineView: \"Zeitachsenansicht zurücksetzen\",\n retryOlderMessages: \"Ältere Nachrichten erneut laden\",\n saveChanges: \"Änderungen speichern\",\n saving: \"Wird gespeichert\",\n sendMessage: \"Nachricht senden\",\n startConversation: \"Unterhaltung beginnen\",\n steerResponse: \"Antwort steuern\",\n stopResponse: \"Antwort stoppen\",\n stopping: \"Wird gestoppt\",\n unsaved: \"Ungespeichert\",\n unsavedChangeLabel: ({ count }) => `ungespeicherte ${count === 1 ? \"Änderung\" : \"Änderungen\"}`,\n noUnsavedChanges: \"Keine ungespeicherten Änderungen\",\n moveWindow: ({ title }) => `Fenster ${title} verschieben. Pfeiltasten verwenden; Umschalt für größere Schritte halten.`,\n resizeWindow: \"Fenster skalieren. Pfeiltasten verwenden; Umschalt für größere Schritte halten.\",\n window: \"Fenster\",\n zoomIn: \"Vergrößern\",\n zoomOut: \"Verkleinern\",\n resetZoom: \"Zoom zurücksetzen\",\n openFullscreen: \"Im Vollbild öffnen\",\n zoomPanKeys: \"Mit Plus und Minus zoomen, mit den Pfeiltasten verschieben, mit 0 zurücksetzen, mit F im Vollbild öffnen.\",\n binaryFile: \"Binärdatei\",\n boldShortcut: \"Fett (Strg/Cmd+B)\",\n bulletListShortcut: \"Aufzählung (Strg/Cmd+Umschalt+8)\",\n heading1Shortcut: \"Überschrift 1 (Strg/Cmd+Umschalt+1)\",\n heading2Shortcut: \"Überschrift 2 (Strg/Cmd+Umschalt+2)\",\n heading3Shortcut: \"Überschrift 3 (Strg/Cmd+Umschalt+3)\",\n inlineCodeShortcut: \"Inline-Code (Strg/Cmd+E)\",\n italicShortcut: \"Kursiv (Strg/Cmd+I)\",\n linkShortcut: \"Link (Strg/Cmd+K)\",\n markdownFormatting: \"Markdown-Formatierung\",\n numberedListShortcut: \"Nummerierte Liste (Strg/Cmd+Umschalt+7)\",\n quote: \"Zitat\",\n csvSettings: \"CSV-Vorschau einstellen\",\n csvEncoding: \"Zeichenkodierung\",\n csvSeparator: \"Trennzeichen\",\n csvDefaultSeparator: \"Standard des Dateityps\",\n csvComma: \"Komma\",\n csvSemicolon: \"Semikolon\",\n csvTab: \"Tabulator\",\n csvView: \"Darstellung\",\n csvRaw: \"Rohtext\",\n delimitedFileEmpty: \"Diese Trennzeichen-Datei enthält keine Zeilen.\",\n edit: \"Bearbeiten\",\n emptyFile: \"Leere Datei\",\n failedLoadFile: \"Datei konnte nicht geladen werden\",\n noInlinePreview: \"Für diese Quelle ist keine direkte Vorschau verfügbar.\",\n previewMoreLines: (n: number) => `… ${n} weitere Zeilen`,\n previewColumnsLimited: \"Die ersten 50 Spalten werden angezeigt. Lade die Datei für alle Spalten herunter.\",\n textEditor: \"Texteditor\",\n audioUnsupported: \"Dein Browser unterstützt keine Audiowiedergabe.\",\n videoUnsupported: \"Dein Browser unterstützt keine Videowiedergabe.\",\n yes: \"Ja\",\n },\n },\n});\n\nexport type UiMessages = ReturnType<(typeof uiMessages)[\"resolve\"]>[\"t\"];\n\n/** Generic component chrome owned by @k2b/ui, resolved from the inherited render locale. */\nexport const useUiMessages = (): (() => UiMessages) => {\n const locale = useLocale();\n return () => uiMessages.resolve([locale()]).t;\n};\n\n/** Browser-only imperative UI (for example prompts) inherits the document locale. */\nexport const resolveUiMessages = (locale?: string): UiMessages =>\n uiMessages.resolve([locale ?? (typeof document === \"undefined\" ? uiMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkUiMessages = () => uiMessages.check();\n"],"mappings":"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","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":[],"sources":["intl/messages.ts"],"sourcesContent":["import { i18n } from \"@k2b/stdlib\";\nimport { useLocale } from \"./locale\";\n\nconst uiMessages = i18n.define({\n baseLocale: \"en\",\n messages: {\n en: {\n chartView: \"Chart view\",\n chartDiagram: \"Diagram\",\n chartData: \"Table\",\n chartSeries: \"Series visibility\",\n chartOnly: \"Only\",\n chartShowAll: \"Show all\",\n chartShowing: \"Showing\",\n chartSelectedDatum: \"Selected data point\",\n chartReference: \"Reference\",\n chartCurrent: \"Current\",\n chartPinReference: \"Pin as reference\",\n chartRemoveComparison: \"Remove comparison\",\n chartPreviousData: \"The chart and table still show the last loaded filters\",\n chartCopyData: \"Copy data\",\n chartCopyFailed: \"Could not copy data\",\n\n actions: \"Actions\",\n add: \"Add\",\n addTag: \"Add tag\",\n addImage: \"Add image\",\n attachments: \"Attachments\",\n assistant: \"Assistant\",\n avatarLabel: ({ name }: { name: string }) => `${name} avatar`,\n all: \"All\",\n calendar: \"Calendar\",\n clear: \"Clear\",\n clearDate: \"Clear date\",\n clearSelection: \"Clear selection\",\n chooseOption: \"Choose option\",\n close: \"Close\",\n closeDialog: \"close dialog\",\n copied: \"Copied\",\n copy: \"Copy\",\n closeLightbox: \"Close lightbox\",\n couldNotLoadData: \"Could not load this data\",\n datePicker: \"Date picker\",\n dataTable: \"Data table\",\n datePresets: \"Date presets\",\n decreaseValue: \"Decrease value\",\n download: \"Download\",\n downloadAsZip: \"Download as ZIP\",\n downloadImage: \"Download image\",\n dropFiles: \"Drop files or click to choose\",\n dropToUpload: \"Drop to upload\",\n dropdownMenu: \"Dropdown menu\",\n durationPresets: \"Duration presets\",\n filterOptions: \"Filter options\",\n fileTypeNotAccepted: \"File type not accepted\",\n imageLightbox: \"Image lightbox\",\n imageNavigation: \"Image navigation\",\n increaseValue: \"Increase value\",\n loading: \"Loading...\",\n hidePassword: \"Hide password\",\n noColumns: \"No columns.\",\n noData: \"No data.\",\n noRecords: \"No records\",\n noTagsYet: \"No tags yet\",\n noResultsFound: \"No results found\",\n nextImage: \"Next image\",\n noOptions: \"No options available\",\n optionsCouldNotLoad: \"Options could not be loaded\",\n noResults: \"No results\",\n nothingHere: \"Nothing here yet.\",\n nothingToShow: \"Nothing to show.\",\n no: \"No\",\n options: \"Options\",\n pagination: \"Pagination\",\n pageOf: ({ page, total }: { page: number; total: number }) => `Page ${page} of ${total}`,\n pickDate: \"Pick date\",\n previousImage: \"Previous image\",\n previousMonth: \"Previous month\",\n previousPage: \"Previous page\",\n previousYear: \"Previous year\",\n nextMonth: \"Next month\",\n nextPage: \"Next page\",\n nextYear: \"Next year\",\n goToPage: ({ page }: { page: number }) => `Go to page ${page}`,\n retry: \"Retry\",\n refreshing: \"Refreshing\",\n reset: \"Reset\",\n required: \"Required\",\n minCharacters: ({ count }: { count: number }) => `At least ${count} ${count === 1 ? \"character\" : \"characters\"}`,\n maxCharacters: ({ count }: { count: number }) => `At most ${count} ${count === 1 ? \"character\" : \"characters\"}`,\n minTags: ({ count }: { count: number }) => `At least ${count} ${count === 1 ? \"tag\" : \"tags\"}`,\n maxTags: ({ count }: { count: number }) => `At most ${count} ${count === 1 ? \"tag\" : \"tags\"}`,\n rename: \"Rename\",\n delete: \"Delete\",\n remove: \"Remove\",\n removeTag: \"Remove tag\",\n search: \"Search...\",\n searchLabel: \"Search\",\n spotlightNoResults: \"No results.\",\n searchFailed: \"Search failed.\",\n searchResults: \"Search results\",\n save: \"Save\",\n saveShortcut: \"Save (Ctrl/Cmd+S)\",\n sectionsLabel: ({ title }: { title: string }) => `${title} sections`,\n searchOptions: \"Search options\",\n select: \"Select...\",\n selectMatchingOption: \"Select a matching option\",\n selectOption: \"Select option\",\n suggestions: \"Suggestions\",\n suggestionsCouldNotLoad: \"Suggestions could not be loaded\",\n showPassword: \"Show password\",\n time: \"Time\",\n timeLabel: ({ label }: { label: string }) => `${label} time`,\n completionSuggestions: \"Completion suggestions\",\n contextMenu: \"Context menu\",\n unknownUser: \"Unknown user\",\n uploading: \"Uploading…\",\n chooseFile: \"Choose file\",\n chooseFiles: \"Choose files\",\n chooseMatchingFile: \"Choose a file that matches this field.\",\n checkingOptions: \"Checking options\",\n checkingOptionsLoading: \"Checking options...\",\n noMatchingOption: \"No matching option found\",\n noOptionsFound: \"No options found\",\n typeToSearch: \"Type to search...\",\n showGridView: \"Show grid view\",\n showListView: \"Show list view\",\n start: \"Start\",\n end: \"End\",\n addFileFolderUpload: \"Add file, folder, or upload\",\n addPane: \"Add pane\",\n addToChat: \"Add to chat\",\n attachFiles: \"Attach files\",\n addGuidance: \"Add guidance...\",\n calendarView: \"Calendar view\",\n openDate: ({ label }: { label: string }) => `Open ${label}`,\n createEventOn: ({ label }: { label: string }) => `Create event on ${label}`,\n hiddenOverlappingEvents: ({ count }: { count: number }) => `${count} hidden overlapping events`,\n calendarEventTime: ({ title, start, end }: { title: string; start: string; end: string }) => `${title}, ${start} to ${end}`,\n today: \"Today\",\n day: \"Day\",\n week: \"Week\",\n weekShort: \"Wk\",\n month: \"Month\",\n year: \"Year\",\n allDay: \"All day\",\n noEvents: \"No events\",\n previous: \"Previous\",\n next: \"Next\",\n moveEvent: \"Move event\",\n resizeEvent: \"Resize event\",\n cancel: \"Cancel\",\n chat: \"Chat\",\n chooseModel: \"Choose model\",\n closeWindow: \"Close window\",\n code: \"Code\",\n codeLabel: ({ title }: { title: string }) => `${title} code`,\n column: ({ number }: { number: number }) => `Column ${number}`,\n commands: \"Commands\",\n dropFilesToAttach: \"Drop files to attach\",\n conversation: \"Conversation\",\n jumpToLatest: \"Jump to latest\",\n conversationMessages: ({ label }: { label: string }) => `${label} messages`,\n dialogTabs: \"Dialog tabs\",\n files: \"Files\",\n chooseFileToPreview: \"Choose a file to preview it.\",\n change: \"Change\",\n changeImage: \"Change image\",\n cropArea: \"Crop area. Use arrow keys to move; hold Shift for larger steps.\",\n cropPreview: \"Crop preview\",\n discardChanges: \"Discard changes\",\n discardUnsavedFile: \"Discard the unsaved changes in this file?\",\n downloadFailed: \"Download failed\",\n failedLoadFiles: \"Failed to load files\",\n failedLoadImage: \"Failed to load image.\",\n folderEmpty: \"This folder is empty.\",\n folderSelected: \"Folder selected\",\n newFile: \"New file\",\n newFileName: \"Name of the new file:\",\n newFolder: \"New folder\",\n newFolderName: \"Name of the new folder:\",\n fileActions: \"File actions\",\n actionsFor: ({ name }: { name: string }) => `Actions for ${name}`,\n fileSaved: \"File saved\",\n pickFileFromTree: \"Pick a file from the tree to view it.\",\n imageProcessingFailed: \"Image could not be processed.\",\n preparingImage: \"Preparing image…\",\n processingImage: \"Processing image\",\n removeImage: \"Remove image\",\n rotateRight: \"Rotate right\",\n selectedImage: \"Selected image\",\n selectFile: \"Select a file\",\n spaceEmpty: \"This space is empty.\",\n uploadFiles: \"Upload files\",\n filterIcons: \"Filter icons\",\n loadEarlier: \"Load earlier\",\n loadingConversation: \"Loading conversation\",\n loadingFiles: \"Loading files...\",\n loadingMessages: \"Loading messages\",\n failed: \"Failed\",\n generating: \"Generating\",\n loadOlderMessages: \"Load older messages\",\n loadingOlderMessages: \"Loading older messages\",\n couldNotLoadOlderMessages: \"Could not load older messages\",\n couldNotLoadEarlierMessages: \"Could not load earlier messages\",\n couldNotPostMessage: \"Could not post message\",\n message: \"Message\",\n messageActions: \"Message actions\",\n messageComposer: \"Message composer\",\n messageInput: \"Message input\",\n confirmation: \"Confirmation\",\n typeToConfirm: ({ phrase }: { phrase: string }) => `Type ${phrase} to confirm`,\n confirm: \"Confirm\",\n dialog: \"Dialog\",\n discard: \"Discard\",\n error: \"Error\",\n form: \"Form\",\n filterActions: \"Filter actions\",\n info: \"Info\",\n dismissNotification: \"Dismiss notification\",\n interactiveLineChart: \"Interactive line chart\",\n interactiveChart:\n \"Interactive chart. Use arrow keys to inspect, Enter to select, Escape to dismiss. On maps and timelines use Alt with arrow keys to inspect.\",\n chartFields: ({ key }: { key: string }) => {\n const labels: Record<string, string> = {\n x: \"X\",\n y: \"Y\",\n value: \"Value\",\n percent: \"Share\",\n total: \"Total\",\n from: \"From\",\n to: \"To\",\n upperInclusive: \"Includes upper bound\",\n count: \"Count\",\n q1: \"Lower quartile\",\n q2: \"Median\",\n q3: \"Upper quartile\",\n whiskerLow: \"Lower whisker\",\n whiskerHigh: \"Upper whisker\",\n min: \"Minimum\",\n max: \"Maximum\",\n threshold: \"Threshold\",\n delta: \"Change\",\n latitude: \"Latitude\",\n longitude: \"Longitude\",\n size: \"Size\",\n state: \"State\",\n duration: \"Duration\",\n detail: \"Detail\",\n errY: \"Y error\",\n errYHigh: \"Upper Y error\",\n errYLow: \"Lower Y error\",\n errX: \"X error\",\n errXHigh: \"Upper X error\",\n errXLow: \"Lower X error\",\n };\n return labels[key] ?? key;\n },\n interactiveMap: \"Interactive map\",\n interactiveTimeline: \"Interactive timeline\",\n ok: \"OK\",\n success: \"Success\",\n model: \"Model\",\n input: \"Input\",\n output: \"Output\",\n loopTotal: \"Loop total\",\n remaining: \"Remaining\",\n notConfigured: \"Not configured\",\n unknown: \"Unknown\",\n system: \"System\",\n tool: \"Tool\",\n user: \"User\",\n useColor: \"Use a color\",\n useTransparent: \"Use transparent\",\n series: \"Series\",\n waiting: \"Waiting\",\n templateEditorPlaceholder: \"Write HTML with Liquid values like {{ APP_NAME }}...\",\n templatePreview: \"Template preview\",\n lastRequestContext: \"Last request context\",\n contextWindowUsed: \"Context window used\",\n contextUsageUnavailable: \"Context usage unavailable\",\n contextUsageUnavailableWithWindow: ({ window }: { window: string }) => `Context usage unavailable, ${window} token context window`,\n tokensUsed: ({ total }: { total: string }) => `${total} tokens used`,\n tokensUsedPercent: ({ total, percent }: { total: string; percent: number }) =>\n `${total} tokens used, ${percent}% of the context window`,\n moveDown: \"Move down\",\n moveUp: \"Move up\",\n moveNamedDown: ({ label }: { label: string }) => `Move ${label} down`,\n moveNamedUp: ({ label }: { label: string }) => `Move ${label} up`,\n rowAction: \"Row action\",\n addToNamed: ({ name }: { name: string }) => `Add to ${name}`,\n insertBeforeNamed: ({ name }: { name: string }) => `Insert before ${name}`,\n insertAtEnd: \"Insert at end\",\n addPaneSide: ({ side, name }: { side: \"left\" | \"right\" | \"top\" | \"bottom\"; name: string }) => `Add ${side} of ${name}`,\n discardUnsavedChanges: \"Discard unsaved changes?\",\n unsavedChangesTitle: \"Unsaved changes\",\n tagName: \"Tag name\",\n name: \"Name\",\n color: \"Color\",\n tagCouldNotBeSaved: \"The tag could not be saved.\",\n tagActionFailed: \"The tag action failed.\",\n tagsPlaceholder: \"Tags (e.g. Tag 1, Tag 2,...)\",\n tagsAdded: ({ tags }: { tags: string }) => `Tags added: ${tags}.`,\n tagsRemoved: ({ tags }: { tags: string }) => `Tags removed: ${tags}.`,\n noFiles: \"No files\",\n noLogEntries: \"No log entries found.\",\n noPreview: \"No preview\",\n openPreview: \"Open preview\",\n paneTabs: \"Pane tabs\",\n paneWorkspace: \"Pane workspace\",\n pdfPreview: \"PDF preview\",\n pdfPreviewHttpError: ({ status }: { status: number }) => `PDF preview failed with HTTP ${status}`,\n pdfPreviewTabBlocked: \"The browser blocked the new tab. Allow pop-ups and try again.\",\n pdfPreviewRendering: \"Rendering PDF preview…\",\n pickIcon: \"Pick an icon...\",\n postMessage: \"Post message\",\n preview: \"Preview\",\n previewPdf: \"Preview PDF\",\n renderPdfPreview: \"Render a PDF preview to see the final output.\",\n queueMessage: \"Queue message\",\n queueing: \"Queueing\",\n sending: \"Sending\",\n steering: \"Steering\",\n writeMessage: \"Write a message or type / ...\",\n openInNewTab: ({ name }: { name: string }) => `Open ${name} in a new tab`,\n closeNamed: ({ name }: { name: string }) => `Close ${name}`,\n goToImage: ({ index }: { index: number }) => `Go to image ${index}`,\n pinDigit: ({ index, total }: { index: number; total: number }) => `PIN digit ${index} of ${total}`,\n moreSelected: ({ count }: { count: number }) => `${count} more selected`,\n removeNamed: ({ name }: { name: string }) => `Remove ${name}`,\n resizeCrop: ({ handle }: { handle: string }) => `Resize crop ${handle}`,\n range: \"Range\",\n resizePanes: \"Resize panes\",\n resetMapView: \"Reset map view\",\n resetTimelineView: \"Reset timeline view\",\n retryOlderMessages: \"Retry loading older messages\",\n saveChanges: \"Save changes\",\n saving: \"Saving\",\n sendMessage: \"Send message\",\n startConversation: \"Start a conversation\",\n steerResponse: \"Steer response\",\n stopResponse: \"Stop response\",\n stopping: \"Stopping\",\n unsaved: \"Unsaved\",\n unsavedChangeLabel: ({ count }: { count: number }) => `unsaved ${count === 1 ? \"change\" : \"changes\"}`,\n noUnsavedChanges: \"No unsaved changes\",\n moveWindow: ({ title }: { title: string }) => `Move ${title} window. Use arrow keys; hold Shift for larger steps.`,\n resizeWindow: \"Resize window. Use arrow keys; hold Shift for larger steps.\",\n window: \"Window\",\n zoomIn: \"Zoom in\",\n zoomOut: \"Zoom out\",\n resetZoom: \"Reset zoom\",\n openFullscreen: \"Open fullscreen\",\n zoomPanKeys: \"Zoom with plus and minus, move with the arrow keys, reset with 0, open fullscreen with F.\",\n binaryFile: \"Binary file\",\n boldShortcut: \"Bold (Ctrl/Cmd+B)\",\n bulletListShortcut: \"Bullet list (Ctrl/Cmd+Shift+8)\",\n heading1Shortcut: \"Heading 1 (Ctrl/Cmd+Shift+1)\",\n heading2Shortcut: \"Heading 2 (Ctrl/Cmd+Shift+2)\",\n heading3Shortcut: \"Heading 3 (Ctrl/Cmd+Shift+3)\",\n inlineCodeShortcut: \"Inline code (Ctrl/Cmd+E)\",\n italicShortcut: \"Italic (Ctrl/Cmd+I)\",\n linkShortcut: \"Link (Ctrl/Cmd+K)\",\n markdownFormatting: \"Markdown formatting\",\n numberedListShortcut: \"Numbered list (Ctrl/Cmd+Shift+7)\",\n quote: \"Quote\",\n csvSettings: \"CSV preview settings\",\n csvEncoding: \"Encoding\",\n csvSeparator: \"Separator\",\n csvDefaultSeparator: \"File type default\",\n csvComma: \"Comma\",\n csvSemicolon: \"Semicolon\",\n csvTab: \"Tab\",\n csvView: \"Display\",\n csvRaw: \"Raw text\",\n delimitedFileEmpty: \"This delimited file contains no rows.\",\n edit: \"Edit\",\n emptyFile: \"Empty file\",\n failedLoadFile: \"Failed to load file\",\n noInlinePreview: \"No inline preview available for this source.\",\n previewMoreLines: (n: number) => `… ${n} more lines`,\n previewColumnsLimited: \"Showing the first 50 columns. Download the file for all columns.\",\n textEditor: \"Text editor\",\n audioUnsupported: \"Your browser does not support audio playback.\",\n videoUnsupported: \"Your browser does not support video playback.\",\n yes: \"Yes\",\n },\n de: {\n chartView: \"Diagrammansicht\",\n chartDiagram: \"Diagramm\",\n chartData: \"Tabelle\",\n chartSeries: \"Sichtbare Datenreihen\",\n chartOnly: \"Nur diese\",\n chartShowAll: \"Alle anzeigen\",\n chartShowing: \"Angezeigt\",\n chartSelectedDatum: \"Ausgewählter Datenpunkt\",\n chartReference: \"Vergleich\",\n chartCurrent: \"Aktuell\",\n chartPinReference: \"Als Vergleich merken\",\n chartRemoveComparison: \"Vergleich entfernen\",\n chartPreviousData: \"Diagramm und Tabelle zeigen weiterhin die zuletzt geladenen Filter\",\n chartCopyData: \"Daten kopieren\",\n chartCopyFailed: \"Daten konnten nicht kopiert werden\",\n\n actions: \"Aktionen\",\n add: \"Hinzufügen\",\n addTag: \"Tag hinzufügen\",\n addImage: \"Bild hinzufügen\",\n attachments: \"Anhänge\",\n assistant: \"Assistent\",\n avatarLabel: ({ name }) => `Avatar von ${name}`,\n all: \"Alle\",\n calendar: \"Kalender\",\n clear: \"Leeren\",\n clearDate: \"Datum löschen\",\n clearSelection: \"Auswahl löschen\",\n chooseOption: \"Option auswählen\",\n close: \"Schließen\",\n closeDialog: \"Dialog schließen\",\n copied: \"Kopiert\",\n copy: \"Kopieren\",\n closeLightbox: \"Bildansicht schließen\",\n couldNotLoadData: \"Diese Daten konnten nicht geladen werden\",\n datePicker: \"Datumsauswahl\",\n dataTable: \"Datentabelle\",\n datePresets: \"Datumsvorgaben\",\n decreaseValue: \"Wert verringern\",\n download: \"Herunterladen\",\n downloadAsZip: \"Als ZIP herunterladen\",\n downloadImage: \"Bild herunterladen\",\n dropFiles: \"Dateien ablegen oder zum Auswählen klicken\",\n dropToUpload: \"Zum Hochladen ablegen\",\n dropdownMenu: \"Dropdown-Menü\",\n durationPresets: \"Dauervorgaben\",\n filterOptions: \"Optionen filtern\",\n fileTypeNotAccepted: \"Dateityp wird nicht akzeptiert\",\n imageLightbox: \"Bildansicht\",\n imageNavigation: \"Bildnavigation\",\n increaseValue: \"Wert erhöhen\",\n loading: \"Wird geladen...\",\n hidePassword: \"Passwort ausblenden\",\n noColumns: \"Keine Spalten.\",\n noData: \"Keine Daten.\",\n noRecords: \"Keine Einträge\",\n noTagsYet: \"Noch keine Tags\",\n noResultsFound: \"Keine Ergebnisse gefunden\",\n nextImage: \"Nächstes Bild\",\n noOptions: \"Keine Optionen verfügbar\",\n optionsCouldNotLoad: \"Optionen konnten nicht geladen werden\",\n noResults: \"Keine Ergebnisse\",\n nothingHere: \"Noch nichts vorhanden.\",\n nothingToShow: \"Nichts anzuzeigen.\",\n no: \"Nein\",\n options: \"Optionen\",\n pagination: \"Seitennavigation\",\n pageOf: ({ page, total }) => `Seite ${page} von ${total}`,\n pickDate: \"Datum auswählen\",\n previousImage: \"Vorheriges Bild\",\n previousMonth: \"Vorheriger Monat\",\n previousPage: \"Vorherige Seite\",\n previousYear: \"Vorheriges Jahr\",\n nextMonth: \"Nächster Monat\",\n nextPage: \"Nächste Seite\",\n nextYear: \"Nächstes Jahr\",\n goToPage: ({ page }) => `Zu Seite ${page}`,\n retry: \"Erneut versuchen\",\n refreshing: \"Wird aktualisiert\",\n reset: \"Zurücksetzen\",\n required: \"Erforderlich\",\n minCharacters: ({ count }) => `Mindestens ${count} Zeichen`,\n maxCharacters: ({ count }) => `Höchstens ${count} Zeichen`,\n minTags: ({ count }) => `Mindestens ${count} ${count === 1 ? \"Tag\" : \"Tags\"}`,\n maxTags: ({ count }) => `Höchstens ${count} ${count === 1 ? \"Tag\" : \"Tags\"}`,\n rename: \"Umbenennen\",\n delete: \"Löschen\",\n remove: \"Entfernen\",\n removeTag: \"Tag entfernen\",\n search: \"Suchen...\",\n searchLabel: \"Suchen\",\n spotlightNoResults: \"Keine Ergebnisse.\",\n searchFailed: \"Suche fehlgeschlagen.\",\n searchResults: \"Suchergebnisse\",\n save: \"Speichern\",\n saveShortcut: \"Speichern (Strg/Cmd+S)\",\n sectionsLabel: ({ title }) => `Bereiche von ${title}`,\n searchOptions: \"Optionen durchsuchen\",\n select: \"Auswählen...\",\n selectMatchingOption: \"Eine passende Option auswählen\",\n selectOption: \"Option auswählen\",\n suggestions: \"Vorschläge\",\n suggestionsCouldNotLoad: \"Vorschläge konnten nicht geladen werden\",\n showPassword: \"Passwort anzeigen\",\n time: \"Uhrzeit\",\n timeLabel: ({ label }) => `${label}zeit`,\n completionSuggestions: \"Vervollständigungsvorschläge\",\n contextMenu: \"Kontextmenü\",\n unknownUser: \"Unbekannte Person\",\n uploading: \"Wird hochgeladen…\",\n chooseFile: \"Datei auswählen\",\n chooseFiles: \"Dateien auswählen\",\n chooseMatchingFile: \"Wähle eine zu diesem Feld passende Datei aus.\",\n checkingOptions: \"Optionen werden geprüft\",\n checkingOptionsLoading: \"Optionen werden geprüft...\",\n noMatchingOption: \"Keine passende Option gefunden\",\n noOptionsFound: \"Keine Optionen gefunden\",\n typeToSearch: \"Zum Suchen tippen...\",\n showGridView: \"Rasteransicht anzeigen\",\n showListView: \"Listenansicht anzeigen\",\n start: \"Beginn\",\n end: \"Ende\",\n addFileFolderUpload: \"Datei oder Ordner hinzufügen oder hochladen\",\n addPane: \"Bereich hinzufügen\",\n addToChat: \"Zum Chat hinzufügen\",\n attachFiles: \"Dateien anhängen\",\n addGuidance: \"Hinweis hinzufügen...\",\n calendarView: \"Kalenderansicht\",\n openDate: ({ label }) => `${label} öffnen`,\n createEventOn: ({ label }) => `Termin am ${label} erstellen`,\n hiddenOverlappingEvents: ({ count }) => `${count} ausgeblendete überlappende Termine`,\n calendarEventTime: ({ title, start, end }) => `${title}, ${start} bis ${end}`,\n today: \"Heute\",\n day: \"Tag\",\n week: \"Woche\",\n weekShort: \"KW\",\n month: \"Monat\",\n year: \"Jahr\",\n allDay: \"Ganztägig\",\n noEvents: \"Keine Termine\",\n previous: \"Zurück\",\n next: \"Weiter\",\n moveEvent: \"Termin verschieben\",\n resizeEvent: \"Termindauer ändern\",\n cancel: \"Abbrechen\",\n chat: \"Chat\",\n chooseModel: \"Modell auswählen\",\n closeWindow: \"Fenster schließen\",\n code: \"Code\",\n codeLabel: ({ title }) => `Code von ${title}`,\n column: ({ number }) => `Spalte ${number}`,\n commands: \"Befehle\",\n dropFilesToAttach: \"Dateien zum Anhängen ablegen\",\n conversation: \"Unterhaltung\",\n jumpToLatest: \"Zur neuesten Nachricht\",\n conversationMessages: ({ label }) => `Nachrichten in ${label}`,\n dialogTabs: \"Dialog-Tabs\",\n files: \"Dateien\",\n chooseFileToPreview: \"Wähle eine Datei für die Vorschau aus.\",\n change: \"Ändern\",\n changeImage: \"Bild ändern\",\n cropArea: \"Zuschneidebereich. Mit Pfeiltasten verschieben; Umschalt für größere Schritte halten.\",\n cropPreview: \"Zuschneidevorschau\",\n discardChanges: \"Änderungen verwerfen\",\n discardUnsavedFile: \"Ungespeicherte Änderungen an dieser Datei verwerfen?\",\n downloadFailed: \"Download fehlgeschlagen\",\n failedLoadFiles: \"Dateien konnten nicht geladen werden\",\n failedLoadImage: \"Bild konnte nicht geladen werden.\",\n folderEmpty: \"Dieser Ordner ist leer.\",\n folderSelected: \"Ordner ausgewählt\",\n newFile: \"Neue Datei\",\n newFileName: \"Name der neuen Datei:\",\n newFolder: \"Neuer Ordner\",\n newFolderName: \"Name des neuen Ordners:\",\n fileActions: \"Dateiaktionen\",\n actionsFor: ({ name }) => `Aktionen für ${name}`,\n fileSaved: \"Datei gespeichert\",\n pickFileFromTree: \"Wähle im Dateibaum eine Datei aus.\",\n imageProcessingFailed: \"Bild konnte nicht verarbeitet werden.\",\n preparingImage: \"Bild wird vorbereitet…\",\n processingImage: \"Bild wird verarbeitet\",\n removeImage: \"Bild entfernen\",\n rotateRight: \"Nach rechts drehen\",\n selectedImage: \"Ausgewähltes Bild\",\n selectFile: \"Datei auswählen\",\n spaceEmpty: \"Dieser Bereich ist leer.\",\n uploadFiles: \"Dateien hochladen\",\n filterIcons: \"Symbole filtern\",\n loadEarlier: \"Ältere laden\",\n loadingConversation: \"Unterhaltung wird geladen\",\n loadingFiles: \"Dateien werden geladen...\",\n loadingMessages: \"Nachrichten werden geladen\",\n failed: \"Fehlgeschlagen\",\n generating: \"Wird generiert\",\n loadOlderMessages: \"Ältere Nachrichten laden\",\n loadingOlderMessages: \"Ältere Nachrichten werden geladen\",\n couldNotLoadOlderMessages: \"Ältere Nachrichten konnten nicht geladen werden\",\n couldNotLoadEarlierMessages: \"Ältere Nachrichten konnten nicht geladen werden\",\n couldNotPostMessage: \"Nachricht konnte nicht gepostet werden\",\n message: \"Nachricht\",\n messageActions: \"Nachrichtenaktionen\",\n messageComposer: \"Nachricht verfassen\",\n messageInput: \"Nachrichteneingabe\",\n confirmation: \"Bestätigung\",\n typeToConfirm: ({ phrase }: { phrase: string }) => `Gib ${phrase} zur Bestätigung ein`,\n confirm: \"Bestätigen\",\n dialog: \"Dialog\",\n discard: \"Verwerfen\",\n error: \"Fehler\",\n form: \"Formular\",\n filterActions: \"Filteraktionen\",\n info: \"Information\",\n dismissNotification: \"Benachrichtigung schließen\",\n interactiveLineChart: \"Interaktives Liniendiagramm\",\n interactiveChart:\n \"Interaktives Diagramm. Pfeiltasten zum Erkunden, Enter zum Auswählen, Escape zum Schließen. In Karten und Zeitleisten Alt mit Pfeiltasten zum Erkunden.\",\n chartFields: ({ key }: { key: string }) => {\n const labels: Record<string, string> = {\n x: \"X\",\n y: \"Y\",\n value: \"Wert\",\n percent: \"Anteil\",\n total: \"Gesamt\",\n from: \"Von\",\n to: \"Bis\",\n upperInclusive: \"Obergrenze enthalten\",\n count: \"Anzahl\",\n q1: \"Unteres Quartil\",\n q2: \"Median\",\n q3: \"Oberes Quartil\",\n whiskerLow: \"Unterer Whisker\",\n whiskerHigh: \"Oberer Whisker\",\n min: \"Minimum\",\n max: \"Maximum\",\n threshold: \"Schwellenwert\",\n delta: \"Änderung\",\n latitude: \"Breitengrad\",\n longitude: \"Längengrad\",\n size: \"Größe\",\n state: \"Zustand\",\n duration: \"Dauer\",\n detail: \"Details\",\n errY: \"Y-Fehler\",\n errYHigh: \"Oberer Y-Fehler\",\n errYLow: \"Unterer Y-Fehler\",\n errX: \"X-Fehler\",\n errXHigh: \"Oberer X-Fehler\",\n errXLow: \"Unterer X-Fehler\",\n };\n return labels[key] ?? key;\n },\n interactiveMap: \"Interaktive Karte\",\n interactiveTimeline: \"Interaktive Zeitachse\",\n ok: \"OK\",\n success: \"Erfolg\",\n model: \"Modell\",\n input: \"Eingabe\",\n output: \"Ausgabe\",\n loopTotal: \"Schleife gesamt\",\n remaining: \"Verbleibend\",\n notConfigured: \"Nicht konfiguriert\",\n unknown: \"Unbekannt\",\n system: \"System\",\n tool: \"Werkzeug\",\n user: \"Benutzer\",\n useColor: \"Farbe verwenden\",\n useTransparent: \"Transparent verwenden\",\n series: \"Datenreihe\",\n waiting: \"Wartet\",\n templateEditorPlaceholder: \"HTML mit Liquid-Werten wie {{ APP_NAME }} schreiben...\",\n templatePreview: \"Vorlagenvorschau\",\n lastRequestContext: \"Kontext der letzten Anfrage\",\n contextWindowUsed: \"Kontextfenster verwendet\",\n contextUsageUnavailable: \"Kontextnutzung nicht verfügbar\",\n contextUsageUnavailableWithWindow: ({ window }) => `Kontextnutzung nicht verfügbar, Kontextfenster mit ${window} Token`,\n tokensUsed: ({ total }) => `${total} Token verwendet`,\n tokensUsedPercent: ({ total, percent }) => `${total} Token verwendet, ${percent}% des Kontextfensters`,\n moveDown: \"Nach unten\",\n moveUp: \"Nach oben\",\n moveNamedDown: ({ label }) => `${label} nach unten verschieben`,\n moveNamedUp: ({ label }) => `${label} nach oben verschieben`,\n rowAction: \"Zeilenaktion\",\n addToNamed: ({ name }) => `Zu ${name} hinzufügen`,\n insertBeforeNamed: ({ name }) => `Vor ${name} einfügen`,\n insertAtEnd: \"Am Ende einfügen\",\n addPaneSide: ({ side, name }) =>\n `${side === \"left\" ? \"Links\" : side === \"right\" ? \"Rechts\" : side === \"top\" ? \"Oberhalb\" : \"Unterhalb\"} von ${name} hinzufügen`,\n discardUnsavedChanges: \"Ungespeicherte Änderungen verwerfen?\",\n unsavedChangesTitle: \"Ungespeicherte Änderungen\",\n tagName: \"Tag-Name\",\n name: \"Name\",\n color: \"Farbe\",\n tagCouldNotBeSaved: \"Der Tag konnte nicht gespeichert werden.\",\n tagActionFailed: \"Die Tag-Aktion ist fehlgeschlagen.\",\n tagsPlaceholder: \"Tags (z. B. Tag 1, Tag 2, …)\",\n tagsAdded: ({ tags }) => `Tags hinzugefügt: ${tags}.`,\n tagsRemoved: ({ tags }) => `Tags entfernt: ${tags}.`,\n noFiles: \"Keine Dateien\",\n noLogEntries: \"Keine Logeinträge gefunden.\",\n noPreview: \"Keine Vorschau\",\n openPreview: \"Vorschau öffnen\",\n paneTabs: \"Bereichs-Tabs\",\n paneWorkspace: \"Arbeitsbereich\",\n pdfPreview: \"PDF-Vorschau\",\n pdfPreviewHttpError: ({ status }) => `PDF-Vorschau ist mit HTTP ${status} fehlgeschlagen`,\n pdfPreviewTabBlocked: \"Der Browser hat den neuen Tab blockiert. Erlaube Pop-ups und versuche es erneut.\",\n pdfPreviewRendering: \"PDF-Vorschau wird erstellt…\",\n pickIcon: \"Symbol auswählen...\",\n postMessage: \"Nachricht posten\",\n preview: \"Vorschau\",\n previewPdf: \"PDF anzeigen\",\n renderPdfPreview: \"Erzeuge eine PDF-Vorschau, um das Endergebnis zu sehen.\",\n queueMessage: \"Nachricht einreihen\",\n queueing: \"Wird eingereiht\",\n sending: \"Wird gesendet\",\n steering: \"Wird gesteuert\",\n writeMessage: \"Nachricht schreiben oder / eingeben ...\",\n openInNewTab: ({ name }) => `${name} in neuem Tab öffnen`,\n closeNamed: ({ name }) => `${name} schließen`,\n goToImage: ({ index }) => `Zu Bild ${index} wechseln`,\n pinDigit: ({ index, total }) => `PIN-Ziffer ${index} von ${total}`,\n moreSelected: ({ count }) => `${count} weitere ${count === 1 ? \"Option\" : \"Optionen\"} ausgewählt`,\n removeNamed: ({ name }) => `${name} entfernen`,\n resizeCrop: ({ handle }) => `Zuschneidebereich am Griff ${handle} skalieren`,\n range: \"Zeitraum\",\n resizePanes: \"Bereiche skalieren\",\n resetMapView: \"Kartenansicht zurücksetzen\",\n resetTimelineView: \"Zeitachsenansicht zurücksetzen\",\n retryOlderMessages: \"Ältere Nachrichten erneut laden\",\n saveChanges: \"Änderungen speichern\",\n saving: \"Wird gespeichert\",\n sendMessage: \"Nachricht senden\",\n startConversation: \"Unterhaltung beginnen\",\n steerResponse: \"Antwort steuern\",\n stopResponse: \"Antwort stoppen\",\n stopping: \"Wird gestoppt\",\n unsaved: \"Ungespeichert\",\n unsavedChangeLabel: ({ count }) => `ungespeicherte ${count === 1 ? \"Änderung\" : \"Änderungen\"}`,\n noUnsavedChanges: \"Keine ungespeicherten Änderungen\",\n moveWindow: ({ title }) => `Fenster ${title} verschieben. Pfeiltasten verwenden; Umschalt für größere Schritte halten.`,\n resizeWindow: \"Fenster skalieren. Pfeiltasten verwenden; Umschalt für größere Schritte halten.\",\n window: \"Fenster\",\n zoomIn: \"Vergrößern\",\n zoomOut: \"Verkleinern\",\n resetZoom: \"Zoom zurücksetzen\",\n openFullscreen: \"Im Vollbild öffnen\",\n zoomPanKeys: \"Mit Plus und Minus zoomen, mit den Pfeiltasten verschieben, mit 0 zurücksetzen, mit F im Vollbild öffnen.\",\n binaryFile: \"Binärdatei\",\n boldShortcut: \"Fett (Strg/Cmd+B)\",\n bulletListShortcut: \"Aufzählung (Strg/Cmd+Umschalt+8)\",\n heading1Shortcut: \"Überschrift 1 (Strg/Cmd+Umschalt+1)\",\n heading2Shortcut: \"Überschrift 2 (Strg/Cmd+Umschalt+2)\",\n heading3Shortcut: \"Überschrift 3 (Strg/Cmd+Umschalt+3)\",\n inlineCodeShortcut: \"Inline-Code (Strg/Cmd+E)\",\n italicShortcut: \"Kursiv (Strg/Cmd+I)\",\n linkShortcut: \"Link (Strg/Cmd+K)\",\n markdownFormatting: \"Markdown-Formatierung\",\n numberedListShortcut: \"Nummerierte Liste (Strg/Cmd+Umschalt+7)\",\n quote: \"Zitat\",\n csvSettings: \"CSV-Vorschau einstellen\",\n csvEncoding: \"Zeichenkodierung\",\n csvSeparator: \"Trennzeichen\",\n csvDefaultSeparator: \"Standard des Dateityps\",\n csvComma: \"Komma\",\n csvSemicolon: \"Semikolon\",\n csvTab: \"Tabulator\",\n csvView: \"Darstellung\",\n csvRaw: \"Rohtext\",\n delimitedFileEmpty: \"Diese Trennzeichen-Datei enthält keine Zeilen.\",\n edit: \"Bearbeiten\",\n emptyFile: \"Leere Datei\",\n failedLoadFile: \"Datei konnte nicht geladen werden\",\n noInlinePreview: \"Für diese Quelle ist keine direkte Vorschau verfügbar.\",\n previewMoreLines: (n: number) => `… ${n} weitere Zeilen`,\n previewColumnsLimited: \"Die ersten 50 Spalten werden angezeigt. Lade die Datei für alle Spalten herunter.\",\n textEditor: \"Texteditor\",\n audioUnsupported: \"Dein Browser unterstützt keine Audiowiedergabe.\",\n videoUnsupported: \"Dein Browser unterstützt keine Videowiedergabe.\",\n yes: \"Ja\",\n },\n },\n});\n\nexport type UiMessages = ReturnType<(typeof uiMessages)[\"resolve\"]>[\"t\"];\n\n/** Generic component chrome owned by @k2b/ui, resolved from the inherited render locale. */\nexport const useUiMessages = (): (() => UiMessages) => {\n const locale = useLocale();\n return () => uiMessages.resolve([locale()]).t;\n};\n\n/** Browser-only imperative UI (for example prompts) inherits the document locale. */\nexport const resolveUiMessages = (locale?: string): UiMessages =>\n uiMessages.resolve([locale ?? (typeof document === \"undefined\" ? uiMessages.baseLocale : document.documentElement.lang)]).t;\n\nexport const checkUiMessages = () => uiMessages.check();\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -43,11 +43,14 @@ export default function Navigation(props) {
|
|
|
43
43
|
children: id => {
|
|
44
44
|
const item = () => rows.items.find(entry => entry.id === id);
|
|
45
45
|
const disabled = () => rows.disabled || item().disabled;
|
|
46
|
-
|
|
47
|
-
const
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
46
|
+
// `expanded` hands disclosure to the item's owner; every other toggle stays local to this renderer.
|
|
47
|
+
const open = () => item().expanded ?? expanded()[id] ?? item().defaultExpanded ?? true;
|
|
48
|
+
const toggle = () => {
|
|
49
|
+
if (item().expanded !== undefined) props.navigation.onExpandedChange?.(id, !open());else setExpanded(current => ({
|
|
50
|
+
...current,
|
|
51
|
+
[id]: !open()
|
|
52
|
+
}));
|
|
53
|
+
};
|
|
51
54
|
const content = () => [_$createComponent(Show, {
|
|
52
55
|
get when() {
|
|
53
56
|
return item().icon;
|