@k2b/ui 0.12.0 → 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (106) hide show
  1. package/README.md +1 -1
  2. package/dist/browser/content/MarkdownView.js +13 -5
  3. package/dist/browser/content/MarkdownView.js.map +1 -1
  4. package/dist/browser/content/PdfPreview.js +5 -2
  5. package/dist/browser/content/PdfPreview.js.map +1 -1
  6. package/dist/browser/content/index.js +1 -0
  7. package/dist/browser/content/index.js.map +1 -1
  8. package/dist/browser/content/markdown-info-blocks.js +363 -0
  9. package/dist/browser/content/markdown-info-blocks.js.map +1 -0
  10. package/dist/browser/feedback/InstallGuide.js +267 -0
  11. package/dist/browser/feedback/InstallGuide.js.map +1 -0
  12. package/dist/browser/feedback/announce.js +50 -0
  13. package/dist/browser/feedback/announce.js.map +1 -0
  14. package/dist/browser/feedback/dialog-core.js +88 -2
  15. package/dist/browser/feedback/dialog-core.js.map +1 -1
  16. package/dist/browser/feedback/index.js +4 -0
  17. package/dist/browser/feedback/index.js.map +1 -1
  18. package/dist/browser/feedback/install.js +99 -0
  19. package/dist/browser/feedback/install.js.map +1 -0
  20. package/dist/browser/feedback/prompts.js +11 -1
  21. package/dist/browser/feedback/prompts.js.map +1 -1
  22. package/dist/browser/feedback/theme-color.js +15 -0
  23. package/dist/browser/feedback/theme-color.js.map +1 -0
  24. package/dist/browser/feedback/toast.js +10 -44
  25. package/dist/browser/feedback/toast.js.map +1 -1
  26. package/dist/browser/inputs/QrScanner.js +164 -0
  27. package/dist/browser/inputs/QrScanner.js.map +1 -0
  28. package/dist/browser/inputs/index.js +1 -0
  29. package/dist/browser/inputs/index.js.map +1 -1
  30. package/dist/browser/intl/messages.js +96 -2
  31. package/dist/browser/intl/messages.js.map +1 -1
  32. package/dist/browser/layout/Discussion.js +2 -1
  33. package/dist/browser/layout/Discussion.js.map +1 -1
  34. package/dist/browser/layout/MobileShell.js +284 -0
  35. package/dist/browser/layout/MobileShell.js.map +1 -0
  36. package/dist/browser/layout/TabBar.js +69 -0
  37. package/dist/browser/layout/TabBar.js.map +1 -0
  38. package/dist/browser/layout/index.js +2 -0
  39. package/dist/browser/layout/index.js.map +1 -1
  40. package/dist/browser/surfaces/NoticeCard.js +55 -60
  41. package/dist/browser/surfaces/NoticeCard.js.map +1 -1
  42. package/dist/browser/surfaces/index.js +1 -1
  43. package/dist/browser/surfaces/index.js.map +1 -1
  44. package/dist/ssr/content/MarkdownView.js +13 -5
  45. package/dist/ssr/content/MarkdownView.js.map +1 -1
  46. package/dist/ssr/content/PdfPreview.js +4 -2
  47. package/dist/ssr/content/PdfPreview.js.map +1 -1
  48. package/dist/ssr/content/index.js +1 -0
  49. package/dist/ssr/content/index.js.map +1 -1
  50. package/dist/ssr/content/markdown-info-blocks.js +363 -0
  51. package/dist/ssr/content/markdown-info-blocks.js.map +1 -0
  52. package/dist/ssr/feedback/InstallGuide.js +201 -0
  53. package/dist/ssr/feedback/InstallGuide.js.map +1 -0
  54. package/dist/ssr/feedback/announce.js +50 -0
  55. package/dist/ssr/feedback/announce.js.map +1 -0
  56. package/dist/ssr/feedback/dialog-core.js +88 -2
  57. package/dist/ssr/feedback/dialog-core.js.map +1 -1
  58. package/dist/ssr/feedback/index.js +4 -0
  59. package/dist/ssr/feedback/index.js.map +1 -1
  60. package/dist/ssr/feedback/install.js +99 -0
  61. package/dist/ssr/feedback/install.js.map +1 -0
  62. package/dist/ssr/feedback/prompts.js +11 -1
  63. package/dist/ssr/feedback/prompts.js.map +1 -1
  64. package/dist/ssr/feedback/theme-color.js +15 -0
  65. package/dist/ssr/feedback/theme-color.js.map +1 -0
  66. package/dist/ssr/feedback/toast.js +10 -44
  67. package/dist/ssr/feedback/toast.js.map +1 -1
  68. package/dist/ssr/inputs/QrScanner.js +128 -0
  69. package/dist/ssr/inputs/QrScanner.js.map +1 -0
  70. package/dist/ssr/inputs/index.js +1 -0
  71. package/dist/ssr/inputs/index.js.map +1 -1
  72. package/dist/ssr/intl/messages.js +96 -2
  73. package/dist/ssr/intl/messages.js.map +1 -1
  74. package/dist/ssr/layout/Discussion.js +2 -1
  75. package/dist/ssr/layout/Discussion.js.map +1 -1
  76. package/dist/ssr/layout/MobileShell.js +253 -0
  77. package/dist/ssr/layout/MobileShell.js.map +1 -0
  78. package/dist/ssr/layout/TabBar.js +25 -0
  79. package/dist/ssr/layout/TabBar.js.map +1 -0
  80. package/dist/ssr/layout/index.js +2 -0
  81. package/dist/ssr/layout/index.js.map +1 -1
  82. package/dist/ssr/surfaces/NoticeCard.js +21 -30
  83. package/dist/ssr/surfaces/NoticeCard.js.map +1 -1
  84. package/dist/ssr/surfaces/index.js +1 -1
  85. package/dist/ssr/surfaces/index.js.map +1 -1
  86. package/dist/styles.css +1 -1
  87. package/dist/tabler.css +1 -1
  88. package/dist/types/content/MarkdownView.d.ts +6 -2
  89. package/dist/types/content/index.d.ts +1 -0
  90. package/dist/types/content/markdown-info-blocks.d.ts +67 -0
  91. package/dist/types/feedback/InstallGuide.d.ts +26 -0
  92. package/dist/types/feedback/announce.d.ts +19 -0
  93. package/dist/types/feedback/dialog-core.d.ts +5 -0
  94. package/dist/types/feedback/index.d.ts +7 -0
  95. package/dist/types/feedback/install.d.ts +32 -0
  96. package/dist/types/feedback/prompts.d.ts +2 -0
  97. package/dist/types/feedback/theme-color.d.ts +6 -0
  98. package/dist/types/inputs/QrScanner.d.ts +20 -0
  99. package/dist/types/inputs/index.d.ts +2 -0
  100. package/dist/types/intl/messages.d.ts +47 -0
  101. package/dist/types/layout/MobileShell.d.ts +40 -0
  102. package/dist/types/layout/TabBar.d.ts +26 -0
  103. package/dist/types/layout/index.d.ts +4 -0
  104. package/dist/types/surfaces/NoticeCard.d.ts +4 -4
  105. package/dist/types/surfaces/index.d.ts +1 -1
  106. package/package.json +3 -2
@@ -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 apply: \"Apply\",\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 notifications: \"Notifications\",\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 apply: \"Übernehmen\",\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 notifications: \"Benachrichtigungen\",\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":"AAAA,SAAS,IAAI,QAAQ,aAAa;AAClC,SAAS,SAAS,QAAQ,UAAU;AAEpC,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAAC;EAC7B,UAAU,EAAE,IAAI;EAChB,QAAQ,EAAE;IACR,EAAE,EAAE;MACF,SAAS,EAAE,YAAY;MACvB,YAAY,EAAE,SAAS;MACvB,SAAS,EAAE,OAAO;MAClB,WAAW,EAAE,mBAAmB;MAChC,SAAS,EAAE,MAAM;MACjB,YAAY,EAAE,UAAU;MACxB,YAAY,EAAE,SAAS;MACvB,kBAAkB,EAAE,qBAAqB;MACzC,cAAc,EAAE,WAAW;MAC3B,YAAY,EAAE,SAAS;MACvB,iBAAiB,EAAE,kBAAkB;MACrC,qBAAqB,EAAE,mBAAmB;MAC1C,iBAAiB,EAAE,wDAAwD;MAC3E,aAAa,EAAE,WAAW;MAC1B,eAAe,EAAE,qBAAqB;MAEtC,OAAO,EAAE,SAAS;MAClB,GAAG,EAAE,KAAK;MACV,MAAM,EAAE,SAAS;MACjB,QAAQ,EAAE,WAAW;MACrB,KAAK,EAAE,OAAO;MACd,WAAW,EAAE,aAAa;MAC1B,SAAS,EAAE,WAAW;MACtB,WAAW,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,GAAG,IAAI,SAAS;MAC7D,GAAG,EAAE,KAAK;MACV,QAAQ,EAAE,UAAU;MACpB,KAAK,EAAE,OAAO;MACd,SAAS,EAAE,YAAY;MACvB,cAAc,EAAE,iBAAiB;MACjC,YAAY,EAAE,eAAe;MAC7B,KAAK,EAAE,OAAO;MACd,WAAW,EAAE,cAAc;MAC3B,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,MAAM;MACZ,aAAa,EAAE,gBAAgB;MAC/B,gBAAgB,EAAE,0BAA0B;MAC5C,UAAU,EAAE,aAAa;MACzB,SAAS,EAAE,YAAY;MACvB,WAAW,EAAE,cAAc;MAC3B,aAAa,EAAE,gBAAgB;MAC/B,QAAQ,EAAE,UAAU;MACpB,aAAa,EAAE,iBAAiB;MAChC,aAAa,EAAE,gBAAgB;MAC/B,SAAS,EAAE,+BAA+B;MAC1C,YAAY,EAAE,gBAAgB;MAC9B,YAAY,EAAE,eAAe;MAC7B,eAAe,EAAE,kBAAkB;MACnC,aAAa,EAAE,gBAAgB;MAC/B,mBAAmB,EAAE,wBAAwB;MAC7C,aAAa,EAAE,gBAAgB;MAC/B,eAAe,EAAE,kBAAkB;MACnC,aAAa,EAAE,gBAAgB;MAC/B,OAAO,EAAE,YAAY;MACrB,YAAY,EAAE,eAAe;MAC7B,SAAS,EAAE,aAAa;MACxB,MAAM,EAAE,UAAU;MAClB,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE,aAAa;MACxB,cAAc,EAAE,kBAAkB;MAClC,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE,sBAAsB;MACjC,mBAAmB,EAAE,6BAA6B;MAClD,SAAS,EAAE,YAAY;MACvB,WAAW,EAAE,mBAAmB;MAChC,aAAa,EAAE,kBAAkB;MACjC,EAAE,EAAE,IAAI;MACR,OAAO,EAAE,SAAS;MAClB,UAAU,EAAE,YAAY;MACxB,MAAM,EAAE,CAAC;QAAE,IAAI;QAAE;MAAuC,CAAC,KAAK,QAAQ,IAAI,OAAO,KAAK,EAAE;MACxF,QAAQ,EAAE,WAAW;MACrB,aAAa,EAAE,gBAAgB;MAC/B,aAAa,EAAE,gBAAgB;MAC/B,YAAY,EAAE,eAAe;MAC7B,YAAY,EAAE,eAAe;MAC7B,SAAS,EAAE,YAAY;MACvB,QAAQ,EAAE,WAAW;MACrB,QAAQ,EAAE,WAAW;MACrB,QAAQ,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,cAAc,IAAI,EAAE;MAC9D,KAAK,EAAE,OAAO;MACd,UAAU,EAAE,YAAY;MACxB,KAAK,EAAE,OAAO;MACd,QAAQ,EAAE,UAAU;MACpB,aAAa,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,WAAW,GAAG,YAAY,EAAE;MAChH,aAAa,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,WAAW,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,WAAW,GAAG,YAAY,EAAE;MAC/G,OAAO,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,YAAY,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE;MAC9F,OAAO,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,WAAW,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE;MAC7F,MAAM,EAAE,QAAQ;MAChB,MAAM,EAAE,QAAQ;MAChB,MAAM,EAAE,QAAQ;MAChB,SAAS,EAAE,YAAY;MACvB,MAAM,EAAE,WAAW;MACnB,WAAW,EAAE,QAAQ;MACrB,kBAAkB,EAAE,aAAa;MACjC,YAAY,EAAE,gBAAgB;MAC9B,aAAa,EAAE,gBAAgB;MAC/B,IAAI,EAAE,MAAM;MACZ,YAAY,EAAE,mBAAmB;MACjC,aAAa,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,WAAW;MACpE,aAAa,EAAE,gBAAgB;MAC/B,MAAM,EAAE,WAAW;MACnB,oBAAoB,EAAE,0BAA0B;MAChD,YAAY,EAAE,eAAe;MAC7B,WAAW,EAAE,aAAa;MAC1B,uBAAuB,EAAE,iCAAiC;MAC1D,YAAY,EAAE,eAAe;MAC7B,IAAI,EAAE,MAAM;MACZ,SAAS,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,OAAO;MAC5D,qBAAqB,EAAE,wBAAwB;MAC/C,WAAW,EAAE,cAAc;MAC3B,WAAW,EAAE,cAAc;MAC3B,SAAS,EAAE,YAAY;MACvB,UAAU,EAAE,aAAa;MACzB,WAAW,EAAE,cAAc;MAC3B,kBAAkB,EAAE,wCAAwC;MAC5D,eAAe,EAAE,kBAAkB;MACnC,sBAAsB,EAAE,qBAAqB;MAC7C,gBAAgB,EAAE,0BAA0B;MAC5C,cAAc,EAAE,kBAAkB;MAClC,YAAY,EAAE,mBAAmB;MACjC,YAAY,EAAE,gBAAgB;MAC9B,YAAY,EAAE,gBAAgB;MAC9B,KAAK,EAAE,OAAO;MACd,GAAG,EAAE,KAAK;MACV,mBAAmB,EAAE,6BAA6B;MAClD,OAAO,EAAE,UAAU;MACnB,SAAS,EAAE,aAAa;MACxB,WAAW,EAAE,cAAc;MAC3B,WAAW,EAAE,iBAAiB;MAC9B,YAAY,EAAE,eAAe;MAC7B,QAAQ,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,QAAQ,KAAK,EAAE;MAC3D,aAAa,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,mBAAmB,KAAK,EAAE;MAC3E,uBAAuB,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,4BAA4B;MAC/F,iBAAiB,EAAE,CAAC;QAAE,KAAK;QAAE,KAAK;QAAE;MAAmD,CAAC,KAAK,GAAG,KAAK,KAAK,KAAK,OAAO,GAAG,EAAE;MAC3H,KAAK,EAAE,OAAO;MACd,GAAG,EAAE,KAAK;MACV,IAAI,EAAE,MAAM;MACZ,SAAS,EAAE,IAAI;MACf,KAAK,EAAE,OAAO;MACd,IAAI,EAAE,MAAM;MACZ,MAAM,EAAE,SAAS;MACjB,QAAQ,EAAE,WAAW;MACrB,QAAQ,EAAE,UAAU;MACpB,IAAI,EAAE,MAAM;MACZ,SAAS,EAAE,YAAY;MACvB,WAAW,EAAE,cAAc;MAC3B,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,MAAM;MACZ,WAAW,EAAE,cAAc;MAC3B,WAAW,EAAE,cAAc;MAC3B,IAAI,EAAE,MAAM;MACZ,SAAS,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,OAAO;MAC5D,MAAM,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,UAAU,MAAM,EAAE;MAC9D,QAAQ,EAAE,UAAU;MACpB,iBAAiB,EAAE,sBAAsB;MACzC,YAAY,EAAE,cAAc;MAC5B,YAAY,EAAE,gBAAgB;MAC9B,oBAAoB,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,WAAW;MAC3E,UAAU,EAAE,aAAa;MACzB,KAAK,EAAE,OAAO;MACd,mBAAmB,EAAE,8BAA8B;MACnD,MAAM,EAAE,QAAQ;MAChB,WAAW,EAAE,cAAc;MAC3B,QAAQ,EAAE,iEAAiE;MAC3E,WAAW,EAAE,cAAc;MAC3B,cAAc,EAAE,iBAAiB;MACjC,kBAAkB,EAAE,2CAA2C;MAC/D,cAAc,EAAE,iBAAiB;MACjC,eAAe,EAAE,sBAAsB;MACvC,eAAe,EAAE,uBAAuB;MACxC,WAAW,EAAE,uBAAuB;MACpC,cAAc,EAAE,iBAAiB;MACjC,OAAO,EAAE,UAAU;MACnB,WAAW,EAAE,uBAAuB;MACpC,SAAS,EAAE,YAAY;MACvB,aAAa,EAAE,yBAAyB;MACxC,WAAW,EAAE,cAAc;MAC3B,UAAU,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,eAAe,IAAI,EAAE;MACjE,SAAS,EAAE,YAAY;MACvB,gBAAgB,EAAE,uCAAuC;MACzD,qBAAqB,EAAE,+BAA+B;MACtD,cAAc,EAAE,kBAAkB;MAClC,eAAe,EAAE,kBAAkB;MACnC,WAAW,EAAE,cAAc;MAC3B,WAAW,EAAE,cAAc;MAC3B,aAAa,EAAE,gBAAgB;MAC/B,UAAU,EAAE,eAAe;MAC3B,UAAU,EAAE,sBAAsB;MAClC,WAAW,EAAE,cAAc;MAC3B,WAAW,EAAE,cAAc;MAC3B,WAAW,EAAE,cAAc;MAC3B,mBAAmB,EAAE,sBAAsB;MAC3C,YAAY,EAAE,kBAAkB;MAChC,eAAe,EAAE,kBAAkB;MACnC,MAAM,EAAE,QAAQ;MAChB,UAAU,EAAE,YAAY;MACxB,iBAAiB,EAAE,qBAAqB;MACxC,oBAAoB,EAAE,wBAAwB;MAC9C,yBAAyB,EAAE,+BAA+B;MAC1D,2BAA2B,EAAE,iCAAiC;MAC9D,mBAAmB,EAAE,wBAAwB;MAC7C,OAAO,EAAE,SAAS;MAClB,cAAc,EAAE,iBAAiB;MACjC,eAAe,EAAE,kBAAkB;MACnC,YAAY,EAAE,eAAe;MAC7B,YAAY,EAAE,cAAc;MAC5B,aAAa,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,QAAQ,MAAM,aAAa;MAC9E,OAAO,EAAE,SAAS;MAClB,MAAM,EAAE,QAAQ;MAChB,OAAO,EAAE,SAAS;MAClB,KAAK,EAAE,OAAO;MACd,IAAI,EAAE,MAAM;MACZ,aAAa,EAAE,gBAAgB;MAC/B,IAAI,EAAE,MAAM;MACZ,mBAAmB,EAAE,sBAAsB;MAC3C,aAAa,EAAE,eAAe;MAC9B,oBAAoB,EAAE,wBAAwB;MAC9C,gBAAgB,EACd,6IAA6I;MAC/I,WAAW,EAAE,CAAC;QAAE;MAAqB,CAAC,KAAK;QACzC,MAAM,MAA8B,GAAG;UACrC,CAAC,EAAE,GAAG;UACN,CAAC,EAAE,GAAG;UACN,KAAK,EAAE,OAAO;UACd,OAAO,EAAE,OAAO;UAChB,KAAK,EAAE,OAAO;UACd,IAAI,EAAE,MAAM;UACZ,EAAE,EAAE,IAAI;UACR,cAAc,EAAE,sBAAsB;UACtC,KAAK,EAAE,OAAO;UACd,EAAE,EAAE,gBAAgB;UACpB,EAAE,EAAE,QAAQ;UACZ,EAAE,EAAE,gBAAgB;UACpB,UAAU,EAAE,eAAe;UAC3B,WAAW,EAAE,eAAe;UAC5B,GAAG,EAAE,SAAS;UACd,GAAG,EAAE,SAAS;UACd,SAAS,EAAE,WAAW;UACtB,KAAK,EAAE,QAAQ;UACf,QAAQ,EAAE,UAAU;UACpB,SAAS,EAAE,WAAW;UACtB,IAAI,EAAE,MAAM;UACZ,KAAK,EAAE,OAAO;UACd,QAAQ,EAAE,UAAU;UACpB,MAAM,EAAE,QAAQ;UAChB,IAAI,EAAE,SAAS;UACf,QAAQ,EAAE,eAAe;UACzB,OAAO,EAAE,eAAe;UACxB,IAAI,EAAE,SAAS;UACf,QAAQ,EAAE,eAAe;UACzB,OAAO,EAAE;QACX,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG;MAC3B,CAAC;MACD,cAAc,EAAE,iBAAiB;MACjC,mBAAmB,EAAE,sBAAsB;MAC3C,EAAE,EAAE,IAAI;MACR,OAAO,EAAE,SAAS;MAClB,KAAK,EAAE,OAAO;MACd,KAAK,EAAE,OAAO;MACd,MAAM,EAAE,QAAQ;MAChB,SAAS,EAAE,YAAY;MACvB,SAAS,EAAE,WAAW;MACtB,aAAa,EAAE,gBAAgB;MAC/B,OAAO,EAAE,SAAS;MAClB,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,MAAM;MACZ,IAAI,EAAE,MAAM;MACZ,QAAQ,EAAE,aAAa;MACvB,cAAc,EAAE,iBAAiB;MACjC,MAAM,EAAE,QAAQ;MAChB,OAAO,EAAE,SAAS;MAClB,yBAAyB,EAAE,sDAAsD;MACjF,eAAe,EAAE,kBAAkB;MACnC,kBAAkB,EAAE,sBAAsB;MAC1C,iBAAiB,EAAE,qBAAqB;MACxC,uBAAuB,EAAE,2BAA2B;MACpD,iCAAiC,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,8BAA8B,MAAM,uBAAuB;MAClI,UAAU,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,cAAc;MACpE,iBAAiB,EAAE,CAAC;QAAE,KAAK;QAAE;MAA4C,CAAC,KACxE,GAAG,KAAK,iBAAiB,OAAO,yBAAyB;MAC3D,QAAQ,EAAE,WAAW;MACrB,MAAM,EAAE,SAAS;MACjB,aAAa,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,QAAQ,KAAK,OAAO;MACrE,WAAW,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,QAAQ,KAAK,KAAK;MACjE,SAAS,EAAE,YAAY;MACvB,UAAU,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,UAAU,IAAI,EAAE;MAC5D,iBAAiB,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,iBAAiB,IAAI,EAAE;MAC1E,WAAW,EAAE,eAAe;MAC5B,WAAW,EAAE,CAAC;QAAE,IAAI;QAAE;MAAkE,CAAC,KAAK,OAAO,IAAI,OAAO,IAAI,EAAE;MACtH,qBAAqB,EAAE,0BAA0B;MACjD,mBAAmB,EAAE,iBAAiB;MACtC,OAAO,EAAE,UAAU;MACnB,IAAI,EAAE,MAAM;MACZ,KAAK,EAAE,OAAO;MACd,kBAAkB,EAAE,6BAA6B;MACjD,eAAe,EAAE,wBAAwB;MACzC,eAAe,EAAE,8BAA8B;MAC/C,SAAS,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,eAAe,IAAI,GAAG;MACjE,WAAW,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,iBAAiB,IAAI,GAAG;MACrE,OAAO,EAAE,UAAU;MACnB,YAAY,EAAE,uBAAuB;MACrC,SAAS,EAAE,YAAY;MACvB,WAAW,EAAE,cAAc;MAC3B,QAAQ,EAAE,WAAW;MACrB,aAAa,EAAE,gBAAgB;MAC/B,UAAU,EAAE,aAAa;MACzB,mBAAmB,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,gCAAgC,MAAM,EAAE;MACjG,oBAAoB,EAAE,+DAA+D;MACrF,mBAAmB,EAAE,wBAAwB;MAC7C,QAAQ,EAAE,iBAAiB;MAC3B,WAAW,EAAE,cAAc;MAC3B,OAAO,EAAE,SAAS;MAClB,UAAU,EAAE,aAAa;MACzB,gBAAgB,EAAE,+CAA+C;MACjE,YAAY,EAAE,eAAe;MAC7B,QAAQ,EAAE,UAAU;MACpB,OAAO,EAAE,SAAS;MAClB,QAAQ,EAAE,UAAU;MACpB,YAAY,EAAE,+BAA+B;MAC7C,YAAY,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,QAAQ,IAAI,eAAe;MACzE,UAAU,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,SAAS,IAAI,EAAE;MAC3D,SAAS,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,eAAe,KAAK,EAAE;MACnE,QAAQ,EAAE,CAAC;QAAE,KAAK;QAAE;MAAwC,CAAC,KAAK,aAAa,KAAK,OAAO,KAAK,EAAE;MAClG,YAAY,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,GAAG,KAAK,gBAAgB;MACxE,WAAW,EAAE,CAAC;QAAE;MAAuB,CAAC,KAAK,UAAU,IAAI,EAAE;MAC7D,UAAU,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,eAAe,MAAM,EAAE;MACvE,KAAK,EAAE,OAAO;MACd,WAAW,EAAE,cAAc;MAC3B,YAAY,EAAE,gBAAgB;MAC9B,iBAAiB,EAAE,qBAAqB;MACxC,kBAAkB,EAAE,8BAA8B;MAClD,WAAW,EAAE,cAAc;MAC3B,MAAM,EAAE,QAAQ;MAChB,WAAW,EAAE,cAAc;MAC3B,iBAAiB,EAAE,sBAAsB;MACzC,aAAa,EAAE,gBAAgB;MAC/B,YAAY,EAAE,eAAe;MAC7B,QAAQ,EAAE,UAAU;MACpB,OAAO,EAAE,SAAS;MAClB,kBAAkB,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,WAAW,KAAK,KAAK,CAAC,GAAG,QAAQ,GAAG,SAAS,EAAE;MACrG,gBAAgB,EAAE,oBAAoB;MACtC,UAAU,EAAE,CAAC;QAAE;MAAyB,CAAC,KAAK,QAAQ,KAAK,uDAAuD;MAClH,YAAY,EAAE,6DAA6D;MAC3E,MAAM,EAAE,QAAQ;MAChB,MAAM,EAAE,SAAS;MACjB,OAAO,EAAE,UAAU;MACnB,SAAS,EAAE,YAAY;MACvB,cAAc,EAAE,iBAAiB;MACjC,WAAW,EAAE,2FAA2F;MACxG,UAAU,EAAE,aAAa;MACzB,YAAY,EAAE,mBAAmB;MACjC,kBAAkB,EAAE,gCAAgC;MACpD,gBAAgB,EAAE,8BAA8B;MAChD,gBAAgB,EAAE,8BAA8B;MAChD,gBAAgB,EAAE,8BAA8B;MAChD,kBAAkB,EAAE,0BAA0B;MAC9C,cAAc,EAAE,qBAAqB;MACrC,YAAY,EAAE,mBAAmB;MACjC,kBAAkB,EAAE,qBAAqB;MACzC,oBAAoB,EAAE,kCAAkC;MACxD,KAAK,EAAE,OAAO;MACd,WAAW,EAAE,sBAAsB;MACnC,WAAW,EAAE,UAAU;MACvB,YAAY,EAAE,WAAW;MACzB,mBAAmB,EAAE,mBAAmB;MACxC,QAAQ,EAAE,OAAO;MACjB,YAAY,EAAE,WAAW;MACzB,MAAM,EAAE,KAAK;MACb,OAAO,EAAE,SAAS;MAClB,MAAM,EAAE,UAAU;MAClB,kBAAkB,EAAE,uCAAuC;MAC3D,IAAI,EAAE,MAAM;MACZ,SAAS,EAAE,YAAY;MACvB,cAAc,EAAE,qBAAqB;MACrC,eAAe,EAAE,8CAA8C;MAC/D,gBAAgB,EAAG,CAAS,IAAK,KAAK,CAAC,aAAa;MACpD,qBAAqB,EAAE,kEAAkE;MACzF,UAAU,EAAE,aAAa;MACzB,gBAAgB,EAAE,+CAA+C;MACjE,gBAAgB,EAAE,+CAA+C;MACjE,GAAG,EAAE;IACP,CAAC;IACD,EAAE,EAAE;MACF,SAAS,EAAE,iBAAiB;MAC5B,YAAY,EAAE,UAAU;MACxB,SAAS,EAAE,SAAS;MACpB,WAAW,EAAE,uBAAuB;MACpC,SAAS,EAAE,WAAW;MACtB,YAAY,EAAE,eAAe;MAC7B,YAAY,EAAE,WAAW;MACzB,kBAAkB,EAAE,yBAAyB;MAC7C,cAAc,EAAE,WAAW;MAC3B,YAAY,EAAE,SAAS;MACvB,iBAAiB,EAAE,sBAAsB;MACzC,qBAAqB,EAAE,qBAAqB;MAC5C,iBAAiB,EAAE,oEAAoE;MACvF,aAAa,EAAE,gBAAgB;MAC/B,eAAe,EAAE,oCAAoC;MAErD,OAAO,EAAE,UAAU;MACnB,GAAG,EAAE,YAAY;MACjB,MAAM,EAAE,gBAAgB;MACxB,QAAQ,EAAE,iBAAiB;MAC3B,KAAK,EAAE,YAAY;MACnB,WAAW,EAAE,SAAS;MACtB,SAAS,EAAE,WAAW;MACtB,WAAW,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,cAAc,IAAI,EAAE;MAC/C,GAAG,EAAE,MAAM;MACX,QAAQ,EAAE,UAAU;MACpB,KAAK,EAAE,QAAQ;MACf,SAAS,EAAE,eAAe;MAC1B,cAAc,EAAE,iBAAiB;MACjC,YAAY,EAAE,kBAAkB;MAChC,KAAK,EAAE,WAAW;MAClB,WAAW,EAAE,kBAAkB;MAC/B,MAAM,EAAE,SAAS;MACjB,IAAI,EAAE,UAAU;MAChB,aAAa,EAAE,uBAAuB;MACtC,gBAAgB,EAAE,0CAA0C;MAC5D,UAAU,EAAE,eAAe;MAC3B,SAAS,EAAE,cAAc;MACzB,WAAW,EAAE,gBAAgB;MAC7B,aAAa,EAAE,iBAAiB;MAChC,QAAQ,EAAE,eAAe;MACzB,aAAa,EAAE,uBAAuB;MACtC,aAAa,EAAE,oBAAoB;MACnC,SAAS,EAAE,4CAA4C;MACvD,YAAY,EAAE,uBAAuB;MACrC,YAAY,EAAE,eAAe;MAC7B,eAAe,EAAE,eAAe;MAChC,aAAa,EAAE,kBAAkB;MACjC,mBAAmB,EAAE,gCAAgC;MACrD,aAAa,EAAE,aAAa;MAC5B,eAAe,EAAE,gBAAgB;MACjC,aAAa,EAAE,cAAc;MAC7B,OAAO,EAAE,iBAAiB;MAC1B,YAAY,EAAE,qBAAqB;MACnC,SAAS,EAAE,gBAAgB;MAC3B,MAAM,EAAE,cAAc;MACtB,SAAS,EAAE,gBAAgB;MAC3B,SAAS,EAAE,iBAAiB;MAC5B,cAAc,EAAE,2BAA2B;MAC3C,SAAS,EAAE,eAAe;MAC1B,SAAS,EAAE,0BAA0B;MACrC,mBAAmB,EAAE,uCAAuC;MAC5D,SAAS,EAAE,kBAAkB;MAC7B,WAAW,EAAE,wBAAwB;MACrC,aAAa,EAAE,oBAAoB;MACnC,EAAE,EAAE,MAAM;MACV,OAAO,EAAE,UAAU;MACnB,UAAU,EAAE,kBAAkB;MAC9B,MAAM,EAAE,CAAC;QAAE,IAAI;QAAE;MAAM,CAAC,KAAK,SAAS,IAAI,QAAQ,KAAK,EAAE;MACzD,QAAQ,EAAE,iBAAiB;MAC3B,aAAa,EAAE,iBAAiB;MAChC,aAAa,EAAE,kBAAkB;MACjC,YAAY,EAAE,iBAAiB;MAC/B,YAAY,EAAE,iBAAiB;MAC/B,SAAS,EAAE,gBAAgB;MAC3B,QAAQ,EAAE,eAAe;MACzB,QAAQ,EAAE,eAAe;MACzB,QAAQ,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,YAAY,IAAI,EAAE;MAC1C,KAAK,EAAE,kBAAkB;MACzB,UAAU,EAAE,mBAAmB;MAC/B,KAAK,EAAE,cAAc;MACrB,QAAQ,EAAE,cAAc;MACxB,aAAa,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,cAAc,KAAK,UAAU;MAC3D,aAAa,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,aAAa,KAAK,UAAU;MAC1D,OAAO,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,cAAc,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE;MAC7E,OAAO,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,aAAa,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,GAAG,MAAM,EAAE;MAC5E,MAAM,EAAE,YAAY;MACpB,MAAM,EAAE,SAAS;MACjB,MAAM,EAAE,WAAW;MACnB,SAAS,EAAE,eAAe;MAC1B,MAAM,EAAE,WAAW;MACnB,WAAW,EAAE,QAAQ;MACrB,kBAAkB,EAAE,mBAAmB;MACvC,YAAY,EAAE,uBAAuB;MACrC,aAAa,EAAE,gBAAgB;MAC/B,IAAI,EAAE,WAAW;MACjB,YAAY,EAAE,wBAAwB;MACtC,aAAa,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,gBAAgB,KAAK,EAAE;MACrD,aAAa,EAAE,sBAAsB;MACrC,MAAM,EAAE,cAAc;MACtB,oBAAoB,EAAE,gCAAgC;MACtD,YAAY,EAAE,kBAAkB;MAChC,WAAW,EAAE,YAAY;MACzB,uBAAuB,EAAE,yCAAyC;MAClE,YAAY,EAAE,mBAAmB;MACjC,IAAI,EAAE,SAAS;MACf,SAAS,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,MAAM;MACxC,qBAAqB,EAAE,8BAA8B;MACrD,WAAW,EAAE,aAAa;MAC1B,WAAW,EAAE,mBAAmB;MAChC,SAAS,EAAE,mBAAmB;MAC9B,UAAU,EAAE,iBAAiB;MAC7B,WAAW,EAAE,mBAAmB;MAChC,kBAAkB,EAAE,+CAA+C;MACnE,eAAe,EAAE,yBAAyB;MAC1C,sBAAsB,EAAE,4BAA4B;MACpD,gBAAgB,EAAE,gCAAgC;MAClD,cAAc,EAAE,yBAAyB;MACzC,YAAY,EAAE,sBAAsB;MACpC,YAAY,EAAE,wBAAwB;MACtC,YAAY,EAAE,wBAAwB;MACtC,KAAK,EAAE,QAAQ;MACf,GAAG,EAAE,MAAM;MACX,mBAAmB,EAAE,6CAA6C;MAClE,OAAO,EAAE,oBAAoB;MAC7B,SAAS,EAAE,qBAAqB;MAChC,WAAW,EAAE,kBAAkB;MAC/B,WAAW,EAAE,uBAAuB;MACpC,YAAY,EAAE,iBAAiB;MAC/B,QAAQ,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,SAAS;MAC1C,aAAa,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,aAAa,KAAK,YAAY;MAC5D,uBAAuB,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,qCAAqC;MACrF,iBAAiB,EAAE,CAAC;QAAE,KAAK;QAAE,KAAK;QAAE;MAAI,CAAC,KAAK,GAAG,KAAK,KAAK,KAAK,QAAQ,GAAG,EAAE;MAC7E,KAAK,EAAE,OAAO;MACd,GAAG,EAAE,KAAK;MACV,IAAI,EAAE,OAAO;MACb,SAAS,EAAE,IAAI;MACf,KAAK,EAAE,OAAO;MACd,IAAI,EAAE,MAAM;MACZ,MAAM,EAAE,WAAW;MACnB,QAAQ,EAAE,eAAe;MACzB,QAAQ,EAAE,QAAQ;MAClB,IAAI,EAAE,QAAQ;MACd,SAAS,EAAE,oBAAoB;MAC/B,WAAW,EAAE,oBAAoB;MACjC,MAAM,EAAE,WAAW;MACnB,IAAI,EAAE,MAAM;MACZ,WAAW,EAAE,kBAAkB;MAC/B,WAAW,EAAE,mBAAmB;MAChC,IAAI,EAAE,MAAM;MACZ,SAAS,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,YAAY,KAAK,EAAE;MAC7C,MAAM,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,UAAU,MAAM,EAAE;MAC1C,QAAQ,EAAE,SAAS;MACnB,iBAAiB,EAAE,8BAA8B;MACjD,YAAY,EAAE,cAAc;MAC5B,YAAY,EAAE,wBAAwB;MACtC,oBAAoB,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,kBAAkB,KAAK,EAAE;MAC9D,UAAU,EAAE,aAAa;MACzB,KAAK,EAAE,SAAS;MAChB,mBAAmB,EAAE,wCAAwC;MAC7D,MAAM,EAAE,QAAQ;MAChB,WAAW,EAAE,aAAa;MAC1B,QAAQ,EAAE,uFAAuF;MACjG,WAAW,EAAE,oBAAoB;MACjC,cAAc,EAAE,sBAAsB;MACtC,kBAAkB,EAAE,sDAAsD;MAC1E,cAAc,EAAE,yBAAyB;MACzC,eAAe,EAAE,sCAAsC;MACvD,eAAe,EAAE,mCAAmC;MACpD,WAAW,EAAE,yBAAyB;MACtC,cAAc,EAAE,mBAAmB;MACnC,OAAO,EAAE,YAAY;MACrB,WAAW,EAAE,uBAAuB;MACpC,SAAS,EAAE,cAAc;MACzB,aAAa,EAAE,yBAAyB;MACxC,WAAW,EAAE,eAAe;MAC5B,UAAU,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,gBAAgB,IAAI,EAAE;MAChD,SAAS,EAAE,mBAAmB;MAC9B,gBAAgB,EAAE,oCAAoC;MACtD,qBAAqB,EAAE,uCAAuC;MAC9D,cAAc,EAAE,wBAAwB;MACxC,eAAe,EAAE,uBAAuB;MACxC,WAAW,EAAE,gBAAgB;MAC7B,WAAW,EAAE,oBAAoB;MACjC,aAAa,EAAE,mBAAmB;MAClC,UAAU,EAAE,iBAAiB;MAC7B,UAAU,EAAE,0BAA0B;MACtC,WAAW,EAAE,mBAAmB;MAChC,WAAW,EAAE,iBAAiB;MAC9B,WAAW,EAAE,cAAc;MAC3B,mBAAmB,EAAE,2BAA2B;MAChD,YAAY,EAAE,2BAA2B;MACzC,eAAe,EAAE,4BAA4B;MAC7C,MAAM,EAAE,gBAAgB;MACxB,UAAU,EAAE,gBAAgB;MAC5B,iBAAiB,EAAE,0BAA0B;MAC7C,oBAAoB,EAAE,mCAAmC;MACzD,yBAAyB,EAAE,iDAAiD;MAC5E,2BAA2B,EAAE,iDAAiD;MAC9E,mBAAmB,EAAE,wCAAwC;MAC7D,OAAO,EAAE,WAAW;MACpB,cAAc,EAAE,qBAAqB;MACrC,eAAe,EAAE,qBAAqB;MACtC,YAAY,EAAE,oBAAoB;MAClC,YAAY,EAAE,aAAa;MAC3B,aAAa,EAAE,CAAC;QAAE;MAA2B,CAAC,KAAK,OAAO,MAAM,sBAAsB;MACtF,OAAO,EAAE,YAAY;MACrB,MAAM,EAAE,QAAQ;MAChB,OAAO,EAAE,WAAW;MACpB,KAAK,EAAE,QAAQ;MACf,IAAI,EAAE,UAAU;MAChB,aAAa,EAAE,gBAAgB;MAC/B,IAAI,EAAE,aAAa;MACnB,mBAAmB,EAAE,4BAA4B;MACjD,aAAa,EAAE,oBAAoB;MACnC,oBAAoB,EAAE,6BAA6B;MACnD,gBAAgB,EACd,yJAAyJ;MAC3J,WAAW,EAAE,CAAC;QAAE;MAAqB,CAAC,KAAK;QACzC,MAAM,MAA8B,GAAG;UACrC,CAAC,EAAE,GAAG;UACN,CAAC,EAAE,GAAG;UACN,KAAK,EAAE,MAAM;UACb,OAAO,EAAE,QAAQ;UACjB,KAAK,EAAE,QAAQ;UACf,IAAI,EAAE,KAAK;UACX,EAAE,EAAE,KAAK;UACT,cAAc,EAAE,sBAAsB;UACtC,KAAK,EAAE,QAAQ;UACf,EAAE,EAAE,iBAAiB;UACrB,EAAE,EAAE,QAAQ;UACZ,EAAE,EAAE,gBAAgB;UACpB,UAAU,EAAE,iBAAiB;UAC7B,WAAW,EAAE,gBAAgB;UAC7B,GAAG,EAAE,SAAS;UACd,GAAG,EAAE,SAAS;UACd,SAAS,EAAE,eAAe;UAC1B,KAAK,EAAE,UAAU;UACjB,QAAQ,EAAE,aAAa;UACvB,SAAS,EAAE,YAAY;UACvB,IAAI,EAAE,OAAO;UACb,KAAK,EAAE,SAAS;UAChB,QAAQ,EAAE,OAAO;UACjB,MAAM,EAAE,SAAS;UACjB,IAAI,EAAE,UAAU;UAChB,QAAQ,EAAE,iBAAiB;UAC3B,OAAO,EAAE,kBAAkB;UAC3B,IAAI,EAAE,UAAU;UAChB,QAAQ,EAAE,iBAAiB;UAC3B,OAAO,EAAE;QACX,CAAC;QACD,OAAO,MAAM,CAAC,GAAG,CAAC,IAAI,GAAG;MAC3B,CAAC;MACD,cAAc,EAAE,mBAAmB;MACnC,mBAAmB,EAAE,uBAAuB;MAC5C,EAAE,EAAE,IAAI;MACR,OAAO,EAAE,QAAQ;MACjB,KAAK,EAAE,QAAQ;MACf,KAAK,EAAE,SAAS;MAChB,MAAM,EAAE,SAAS;MACjB,SAAS,EAAE,iBAAiB;MAC5B,SAAS,EAAE,aAAa;MACxB,aAAa,EAAE,oBAAoB;MACnC,OAAO,EAAE,WAAW;MACpB,MAAM,EAAE,QAAQ;MAChB,IAAI,EAAE,UAAU;MAChB,IAAI,EAAE,UAAU;MAChB,QAAQ,EAAE,iBAAiB;MAC3B,cAAc,EAAE,uBAAuB;MACvC,MAAM,EAAE,YAAY;MACpB,OAAO,EAAE,QAAQ;MACjB,yBAAyB,EAAE,wDAAwD;MACnF,eAAe,EAAE,kBAAkB;MACnC,kBAAkB,EAAE,6BAA6B;MACjD,iBAAiB,EAAE,0BAA0B;MAC7C,uBAAuB,EAAE,gCAAgC;MACzD,iCAAiC,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,sDAAsD,MAAM,QAAQ;MACvH,UAAU,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,kBAAkB;MACrD,iBAAiB,EAAE,CAAC;QAAE,KAAK;QAAE;MAAQ,CAAC,KAAK,GAAG,KAAK,qBAAqB,OAAO,uBAAuB;MACtG,QAAQ,EAAE,YAAY;MACtB,MAAM,EAAE,WAAW;MACnB,aAAa,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,yBAAyB;MAC/D,WAAW,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,wBAAwB;MAC5D,SAAS,EAAE,cAAc;MACzB,UAAU,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,MAAM,IAAI,aAAa;MACjD,iBAAiB,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,OAAO,IAAI,WAAW;MACvD,WAAW,EAAE,kBAAkB;MAC/B,WAAW,EAAE,CAAC;QAAE,IAAI;QAAE;MAAK,CAAC,KAC1B,GAAG,IAAI,KAAK,MAAM,GAAG,OAAO,GAAG,IAAI,KAAK,OAAO,GAAG,QAAQ,GAAG,IAAI,KAAK,KAAK,GAAG,UAAU,GAAG,WAAW,QAAQ,IAAI,aAAa;MACjI,qBAAqB,EAAE,sCAAsC;MAC7D,mBAAmB,EAAE,2BAA2B;MAChD,OAAO,EAAE,UAAU;MACnB,IAAI,EAAE,MAAM;MACZ,KAAK,EAAE,OAAO;MACd,kBAAkB,EAAE,0CAA0C;MAC9D,eAAe,EAAE,oCAAoC;MACrD,eAAe,EAAE,8BAA8B;MAC/C,SAAS,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,qBAAqB,IAAI,GAAG;MACrD,WAAW,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,kBAAkB,IAAI,GAAG;MACpD,OAAO,EAAE,eAAe;MACxB,YAAY,EAAE,6BAA6B;MAC3C,SAAS,EAAE,gBAAgB;MAC3B,WAAW,EAAE,iBAAiB;MAC9B,QAAQ,EAAE,eAAe;MACzB,aAAa,EAAE,gBAAgB;MAC/B,UAAU,EAAE,cAAc;MAC1B,mBAAmB,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,6BAA6B,MAAM,iBAAiB;MACzF,oBAAoB,EAAE,kFAAkF;MACxG,mBAAmB,EAAE,6BAA6B;MAClD,QAAQ,EAAE,qBAAqB;MAC/B,WAAW,EAAE,kBAAkB;MAC/B,OAAO,EAAE,UAAU;MACnB,UAAU,EAAE,cAAc;MAC1B,gBAAgB,EAAE,yDAAyD;MAC3E,YAAY,EAAE,qBAAqB;MACnC,QAAQ,EAAE,iBAAiB;MAC3B,OAAO,EAAE,eAAe;MACxB,QAAQ,EAAE,gBAAgB;MAC1B,YAAY,EAAE,yCAAyC;MACvD,YAAY,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,GAAG,IAAI,sBAAsB;MACzD,UAAU,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,GAAG,IAAI,YAAY;MAC7C,SAAS,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,WAAW,KAAK,WAAW;MACrD,QAAQ,EAAE,CAAC;QAAE,KAAK;QAAE;MAAM,CAAC,KAAK,cAAc,KAAK,QAAQ,KAAK,EAAE;MAClE,YAAY,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,GAAG,KAAK,YAAY,KAAK,KAAK,CAAC,GAAG,QAAQ,GAAG,UAAU,aAAa;MACjG,WAAW,EAAE,CAAC;QAAE;MAAK,CAAC,KAAK,GAAG,IAAI,YAAY;MAC9C,UAAU,EAAE,CAAC;QAAE;MAAO,CAAC,KAAK,8BAA8B,MAAM,YAAY;MAC5E,KAAK,EAAE,UAAU;MACjB,WAAW,EAAE,oBAAoB;MACjC,YAAY,EAAE,4BAA4B;MAC1C,iBAAiB,EAAE,gCAAgC;MACnD,kBAAkB,EAAE,iCAAiC;MACrD,WAAW,EAAE,sBAAsB;MACnC,MAAM,EAAE,kBAAkB;MAC1B,WAAW,EAAE,kBAAkB;MAC/B,iBAAiB,EAAE,uBAAuB;MAC1C,aAAa,EAAE,iBAAiB;MAChC,YAAY,EAAE,iBAAiB;MAC/B,QAAQ,EAAE,eAAe;MACzB,OAAO,EAAE,eAAe;MACxB,kBAAkB,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,kBAAkB,KAAK,KAAK,CAAC,GAAG,UAAU,GAAG,YAAY,EAAE;MAC9F,gBAAgB,EAAE,kCAAkC;MACpD,UAAU,EAAE,CAAC;QAAE;MAAM,CAAC,KAAK,WAAW,KAAK,4EAA4E;MACvH,YAAY,EAAE,iFAAiF;MAC/F,MAAM,EAAE,SAAS;MACjB,MAAM,EAAE,YAAY;MACpB,OAAO,EAAE,aAAa;MACtB,SAAS,EAAE,mBAAmB;MAC9B,cAAc,EAAE,oBAAoB;MACpC,WAAW,EAAE,2GAA2G;MACxH,UAAU,EAAE,YAAY;MACxB,YAAY,EAAE,mBAAmB;MACjC,kBAAkB,EAAE,kCAAkC;MACtD,gBAAgB,EAAE,qCAAqC;MACvD,gBAAgB,EAAE,qCAAqC;MACvD,gBAAgB,EAAE,qCAAqC;MACvD,kBAAkB,EAAE,0BAA0B;MAC9C,cAAc,EAAE,qBAAqB;MACrC,YAAY,EAAE,mBAAmB;MACjC,kBAAkB,EAAE,uBAAuB;MAC3C,oBAAoB,EAAE,yCAAyC;MAC/D,KAAK,EAAE,OAAO;MACd,WAAW,EAAE,yBAAyB;MACtC,WAAW,EAAE,kBAAkB;MAC/B,YAAY,EAAE,cAAc;MAC5B,mBAAmB,EAAE,wBAAwB;MAC7C,QAAQ,EAAE,OAAO;MACjB,YAAY,EAAE,WAAW;MACzB,MAAM,EAAE,WAAW;MACnB,OAAO,EAAE,aAAa;MACtB,MAAM,EAAE,SAAS;MACjB,kBAAkB,EAAE,gDAAgD;MACpE,IAAI,EAAE,YAAY;MAClB,SAAS,EAAE,aAAa;MACxB,cAAc,EAAE,mCAAmC;MACnD,eAAe,EAAE,wDAAwD;MACzE,gBAAgB,EAAG,CAAS,IAAK,KAAK,CAAC,iBAAiB;MACxD,qBAAqB,EAAE,mFAAmF;MAC1G,UAAU,EAAE,YAAY;MACxB,gBAAgB,EAAE,iDAAiD;MACnE,gBAAgB,EAAE,iDAAiD;MACnE,GAAG,EAAE;IACP;EACF;AACF,CAAC,CAAC;AAIF;AACA,OAAO,MAAM,aAAa,GAAG,MAA0B;EACrD,MAAM,MAAM,GAAG,SAAS,CAAC,CAAC;EAC1B,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC/C,CAAC;;AAED;AACA,OAAO,MAAM,iBAAiB,GAAI,MAAe,IAC/C,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,KAAK,OAAO,QAAQ,KAAK,WAAW,GAAG,UAAU,CAAC,UAAU,GAAG,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;AAE7H,OAAO,MAAM,eAAe,GAAG,MAAM,UAAU,CAAC,KAAK,CAAC,CAAC","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 apply: \"Apply\",\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 infoBlockNote: \"Note\",\n infoBlockInfo: \"Info\",\n infoBlockSuccess: \"Success\",\n infoBlockWarning: \"Warning\",\n infoBlockDanger: \"Danger\",\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 notifications: \"Notifications\",\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 installApp: \"Install app\",\n installNative: ({ appName }: { appName: string }) =>\n `Your browser can install ${appName}. Confirm installation in the dialog that opens next.`,\n installRequested: \"Installation requested. Follow your browser’s instructions.\",\n installFailed: \"The installation dialog could not be opened.\",\n installOpenShare: \"Open Share\",\n installOpenShareDetail: \"Tap the Share button in Safari. It may be inside the More menu.\",\n installHomeScreen: \"Add to Home Screen\",\n installHomeScreenDetail: \"Scroll through the actions and choose “Add to Home Screen”.\",\n installConfirmAdd: \"Confirm Add\",\n installConfirmAddDetail: \"Keep “Open as Web App” enabled if shown, then tap “Add”.\",\n installOpenShareBrowserDetail: \"In Chrome, tap Share in the address bar. In Firefox or Edge, open the menu, then Share.\",\n installSafariFallback: \"Don’t see “Add to Home Screen”? This page may be open inside another app. Open it in Safari.\",\n installSafariMenu: \"Open the Safari menu\",\n installSafariMenuDetail: \"On your Mac, open File or click Share in Safari.\",\n installAddDock: \"Add to Dock\",\n installAddDockDetail: \"Choose “Add to Dock”, then confirm “Add”. Available in Safari on macOS Sonoma or later.\",\n installBrowserMenu: \"Open the browser menu\",\n installBrowserMenuDetail: \"Use the menu beside the address bar.\",\n installAndroidDetail: \"Choose “Install app” or “Add to Home screen”, then follow the browser’s instructions.\",\n installBrowserDetail: \"Look for “Install app” in the menu or an installation icon in the address bar.\",\n installUnavailable: \"No installation option? You can keep using the browser or try another browser that supports installation.\",\n installAppleInAppTitle: \"Open this page in Safari\",\n installAppleInAppDetail: ({ appName }: { appName: string }) =>\n `This page is open inside another app, which can’t install ${appName}. In that app’s menu (••• or Share), choose “Open in Safari”, or copy the link and paste it into Safari.`,\n installInAppTitle: \"Open this page in your browser\",\n installInAppDetail: ({ appName }: { appName: string }) =>\n `This page is open inside another app, which can’t install ${appName}. In that app’s menu, choose “Open in Chrome” or “Open in browser”, or copy the link and paste it into Chrome.`,\n installAppleBrowserTitle: \"Safari works best\",\n installAppleBrowserDetail: \"This browser installs through Share → Add to Home Screen. If that isn’t there, open this page in Safari.\",\n installAndroidBrowserTitle: \"Chrome works best\",\n installAndroidBrowserDetail:\n \"In this browser, look for “Install” or “Add to Home screen” in the menu. If that isn’t there, open this page in Chrome.\",\n installCopyLink: \"Copy link\",\n installLinkCopied: \"Link copied\",\n installCopyFailed: \"The link could not be copied. Copy this address manually:\",\n qrCameraPreview: \"Camera preview for scanning a QR code\",\n qrCameraStarting: \"Starting camera…\",\n qrCameraInstructions: \"Point the camera at a QR code.\",\n qrCameraPrivacy: \"Camera images stay on this device.\",\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 apply: \"Übernehmen\",\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 infoBlockNote: \"Notiz\",\n infoBlockInfo: \"Info\",\n infoBlockSuccess: \"Erfolg\",\n infoBlockWarning: \"Warnung\",\n infoBlockDanger: \"Gefahr\",\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 notifications: \"Benachrichtigungen\",\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 installApp: \"App installieren\",\n installNative: ({ appName }) => `Dein Browser kann ${appName} installieren. Bestätige die Installation im nächsten Dialog.`,\n installRequested: \"Installation angefragt. Folge den Hinweisen deines Browsers.\",\n installFailed: \"Der Installationsdialog konnte nicht geöffnet werden.\",\n installOpenShare: \"Teilen öffnen\",\n installOpenShareDetail: \"Tippe in Safari auf Teilen. Der Eintrag kann im Mehr-Menü liegen.\",\n installHomeScreen: \"Zum Home-Bildschirm\",\n installHomeScreenDetail: \"Scrolle durch die Aktionen und wähle „Zum Home-Bildschirm“.\",\n installConfirmAdd: \"Hinzufügen bestätigen\",\n installConfirmAddDetail: \"Lass „Als Web-App öffnen“ aktiviert, falls angezeigt, und tippe auf „Hinzufügen“.\",\n installOpenShareBrowserDetail: \"Tippe in Chrome in der Adressleiste auf Teilen. Öffne in Firefox oder Edge das Menü und dann Teilen.\",\n installSafariFallback:\n \"Kein „Zum Home-Bildschirm“? Dann ist die Seite vielleicht in einer anderen App geöffnet. Öffne sie in Safari.\",\n installSafariMenu: \"Safari-Menü öffnen\",\n installSafariMenuDetail: \"Öffne auf deinem Mac in Safari „Ablage“ oder klicke auf Teilen.\",\n installAddDock: \"Zum Dock hinzufügen\",\n installAddDockDetail: \"Wähle „Zum Dock hinzufügen“ und bestätige mit „Hinzufügen“. Verfügbar in Safari ab macOS Sonoma.\",\n installBrowserMenu: \"Browser-Menü öffnen\",\n installBrowserMenuDetail: \"Nutze das Menü neben der Adressleiste.\",\n installAndroidDetail: \"Wähle „App installieren“ oder „Zum Startbildschirm hinzufügen“ und folge den Hinweisen des Browsers.\",\n installBrowserDetail: \"Suche nach „App installieren“ im Menü oder nach einem Installationssymbol in der Adressleiste.\",\n installUnavailable:\n \"Keine Installationsoption? Nutze die App weiter im Browser oder versuche einen anderen Browser mit Installationsunterstützung.\",\n installAppleInAppTitle: \"Öffne diese Seite in Safari\",\n installAppleInAppDetail: ({ appName }) =>\n `Diese Seite ist in einer anderen App geöffnet, die ${appName} nicht installieren kann. Wähle im Menü dieser App (••• oder Teilen) „In Safari öffnen“ oder kopiere den Link und füge ihn in Safari ein.`,\n installInAppTitle: \"Öffne diese Seite in deinem Browser\",\n installInAppDetail: ({ appName }) =>\n `Diese Seite ist in einer anderen App geöffnet, die ${appName} nicht installieren kann. Wähle im Menü dieser App „In Chrome öffnen“ oder „Im Browser öffnen“ oder kopiere den Link und füge ihn in Chrome ein.`,\n installAppleBrowserTitle: \"Am besten mit Safari\",\n installAppleBrowserDetail:\n \"In diesem Browser installierst du über Teilen → Zum Home-Bildschirm. Fehlt der Eintrag, öffne diese Seite in Safari.\",\n installAndroidBrowserTitle: \"Am besten mit Chrome\",\n installAndroidBrowserDetail:\n \"Suche in diesem Browser im Menü nach „Installieren“ oder „Zum Startbildschirm hinzufügen“. Fehlt der Eintrag, öffne diese Seite in Chrome.\",\n installCopyLink: \"Link kopieren\",\n installLinkCopied: \"Link kopiert\",\n installCopyFailed: \"Der Link konnte nicht kopiert werden. Kopiere diese Adresse manuell:\",\n qrCameraPreview: \"Kameravorschau zum Scannen eines QR-Codes\",\n qrCameraStarting: \"Kamera wird gestartet…\",\n qrCameraInstructions: \"Richte die Kamera auf einen QR-Code.\",\n qrCameraPrivacy: \"Kamerabilder bleiben auf diesem Gerät.\",\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":[]}
@@ -165,8 +165,9 @@ const DiscussionComposer = props => {
165
165
  },
166
166
  value: message,
167
167
  onValueChange: value => {
168
+ // The error belongs to the submitted text; any edit, including clearing it, makes it stale.
169
+ if (value !== message()) setSubmitError(null);
168
170
  setMessage(value);
169
- if (value.trim()) setSubmitError(null);
170
171
  },
171
172
  get placeholder() {
172
173
  return local.placeholder;
@@ -1 +1 @@
1
- {"version":3,"names":[],"sources":["layout/Discussion.tsx"],"sourcesContent":["import { createEffect, createSignal, createUniqueId, type JSX, onCleanup, onMount, Show, splitProps } from \"solid-js\";\nimport { Button, IconButton } from \"../actions/Button\";\nimport { MarkdownEditor } from \"../inputs/markdown/MarkdownEditor\";\nimport { useUiMessages } from \"../intl/messages\";\n\nexport type DiscussionProps = Omit<JSX.HTMLAttributes<HTMLElement>, \"children\" | \"class\"> & {\n label: JSX.Element;\n children: JSX.Element;\n icon?: string | false;\n count?: number;\n actions?: JSX.Element;\n as?: \"h2\" | \"h3\";\n surface?: \"default\" | \"bare\";\n class?: string;\n};\n\nexport type DiscussionComposerProps = Omit<JSX.FormHTMLAttributes<HTMLFormElement>, \"children\" | \"class\" | \"onSubmit\"> & {\n label: string;\n onSubmit: (message: string) => boolean | void | Promise<boolean | void>;\n initialValue?: string;\n placeholder?: string;\n submitLabel?: string;\n cancelLabel?: string;\n onCancel?: () => void;\n lines?: number;\n class?: string;\n};\n\nexport type DiscussionListProps = {\n children?: JSX.Element;\n loading?: boolean;\n loadingLabel?: string;\n error?: string | null;\n onRetry?: () => void | Promise<void>;\n hasMore?: boolean;\n loadingMore?: boolean;\n loadMoreLabel?: string;\n onLoadMore?: () => boolean | void | Promise<boolean | void>;\n class?: string;\n};\n\nexport type DiscussionItemProps = Omit<JSX.LiHTMLAttributes<HTMLLIElement>, \"children\" | \"class\"> & {\n author: JSX.Element;\n children: JSX.Element;\n avatar?: JSX.Element;\n timestamp?: JSX.Element;\n meta?: JSX.Element;\n replyContext?: JSX.Element;\n actions?: JSX.Element;\n actionVisibility?: \"always\" | \"progressive\";\n class?: string;\n};\n\ntype DiscussionComponent = ((props: DiscussionProps) => JSX.Element) & {\n Composer: (props: DiscussionComposerProps) => JSX.Element;\n List: (props: DiscussionListProps) => JSX.Element;\n Item: (props: DiscussionItemProps) => JSX.Element;\n};\n\nconst classNames = (base: string, extra?: string): string => (extra ? `${base} ${extra}` : base);\n\nconst DiscussionRoot = (props: DiscussionProps): JSX.Element => {\n const headingId = `k2b-discussion-${createUniqueId()}`;\n const [local, sectionProps] = splitProps(props, [\"label\", \"children\", \"icon\", \"count\", \"actions\", \"as\", \"surface\", \"class\"]);\n\n return (\n <section\n {...sectionProps}\n class={classNames(\"k2b-discussion\", local.class)}\n data-surface={local.surface ?? \"default\"}\n aria-labelledby={headingId}\n >\n <header class=\"k2b-discussion__header\">\n <Show when={local.icon !== false && local.icon}>\n {(icon) => (\n <span class=\"k2b-discussion__icon\" aria-hidden=\"true\">\n <i class={icon()} />\n </span>\n )}\n </Show>\n <Show when={local.as === \"h2\"} fallback={<h3 id={headingId}>{local.label}</h3>}>\n <h2 id={headingId}>{local.label}</h2>\n </Show>\n <Show when={local.count !== undefined}>\n <span class=\"k2b-discussion__count\">{local.count}</span>\n </Show>\n <Show when={local.actions !== undefined}>\n <div class=\"k2b-discussion__actions\">{local.actions}</div>\n </Show>\n </header>\n <div class=\"k2b-discussion__body\">{local.children}</div>\n </section>\n );\n};\n\nconst DiscussionComposer = (props: DiscussionComposerProps): JSX.Element => {\n const messages = useUiMessages();\n const [local, formProps] = splitProps(props, [\n \"label\",\n \"onSubmit\",\n \"initialValue\",\n \"placeholder\",\n \"submitLabel\",\n \"cancelLabel\",\n \"onCancel\",\n \"lines\",\n \"class\",\n ]);\n const [message, setMessage] = createSignal(local.initialValue ?? \"\");\n const [submitting, setSubmitting] = createSignal(false);\n const [submitError, setSubmitError] = createSignal<string | null>(null);\n\n const submit = async () => {\n const normalized = message().trim();\n if (!normalized || submitting()) return;\n setSubmitting(true);\n setSubmitError(null);\n try {\n const accepted = await local.onSubmit(normalized);\n if (accepted !== false) setMessage(\"\");\n } catch (error) {\n setSubmitError(error instanceof Error ? error.message : messages().couldNotPostMessage);\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <form\n {...formProps}\n class={classNames(\"k2b-discussion__composer\", local.class)}\n onSubmit={(event) => {\n event.preventDefault();\n void submit();\n }}\n >\n <div class=\"k2b-discussion__composer-field\" data-has-inset-action=\"true\">\n <MarkdownEditor\n aria-label={local.label}\n value={message}\n onValueChange={(value) => {\n setMessage(value);\n if (value.trim()) setSubmitError(null);\n }}\n placeholder={local.placeholder}\n lines={local.lines ?? 4}\n noToolbar\n showStats={false}\n disabled={submitting()}\n error={submitError() !== null}\n onSubmit={() => void submit()}\n />\n <div class=\"k2b-discussion__composer-inset-action\">\n <IconButton\n type=\"submit\"\n label={local.submitLabel ?? messages().postMessage}\n size=\"sm\"\n variant=\"primary\"\n loading={submitting()}\n disabled={submitting() || !message().trim()}\n >\n <i class=\"ti ti-send\" aria-hidden=\"true\" />\n </IconButton>\n </div>\n </div>\n <Show when={submitError()}>\n {(error) => (\n <p class=\"k2b-discussion__status\" role=\"alert\">\n {error()}\n </p>\n )}\n </Show>\n <Show when={local.onCancel}>\n {(onCancel) => (\n <footer>\n <Button type=\"button\" variant=\"ghost\" size=\"xs\" disabled={submitting()} onClick={onCancel()}>\n {local.cancelLabel ?? messages().cancel}\n </Button>\n </footer>\n )}\n </Show>\n </form>\n );\n};\n\nconst scrollOwner = (element: HTMLElement): HTMLElement | null => {\n let parent = element.parentElement;\n while (parent) {\n const style = getComputedStyle(parent);\n if (style.overflowY === \"auto\" || style.overflowY === \"scroll\" || style.overflow === \"auto\" || style.overflow === \"scroll\")\n return parent;\n parent = parent.parentElement;\n }\n return document.scrollingElement instanceof HTMLElement ? document.scrollingElement : null;\n};\n\nconst DiscussionList = (props: DiscussionListProps): JSX.Element => {\n const messages = useUiMessages();\n const [loadingMoreInternally, setLoadingMoreInternally] = createSignal(false);\n const [loadMoreError, setLoadMoreError] = createSignal<string | null>(null);\n const [sentinelVisible, setSentinelVisible] = createSignal(false);\n const [automaticLoadAttempted, setAutomaticLoadAttempted] = createSignal(false);\n let listRef: HTMLOListElement | undefined;\n let sentinelRef: HTMLDivElement | undefined;\n let observer: IntersectionObserver | undefined;\n let adjustmentFrame: number | undefined;\n let active = true;\n\n const loadingMore = () => Boolean(props.loadingMore || loadingMoreInternally());\n const canLoadMore = () =>\n Boolean(!props.loading && !props.error && !loadMoreError() && props.hasMore && props.onLoadMore && !loadingMore());\n\n const loadMore = async (retry = false): Promise<boolean> => {\n if (props.loading || props.error || (!retry && loadMoreError()) || !props.onLoadMore || !props.hasMore || loadingMore()) return false;\n const owner = listRef ? scrollOwner(listRef) : null;\n const previousScrollHeight = owner?.scrollHeight ?? 0;\n setLoadMoreError(null);\n setLoadingMoreInternally(true);\n let loaded = false;\n try {\n loaded = (await props.onLoadMore()) !== false;\n } catch (error) {\n if (active) setLoadMoreError(error instanceof Error ? error.message : messages().couldNotLoadEarlierMessages);\n } finally {\n if (active) setLoadingMoreInternally(false);\n }\n if (!active || !loaded || !owner) return false;\n queueMicrotask(() => {\n if (!active) return;\n adjustmentFrame = requestAnimationFrame(() => {\n if (!active) return;\n owner.scrollTop += owner.scrollHeight - previousScrollHeight;\n });\n });\n return true;\n };\n\n createEffect(() => {\n if (!sentinelVisible()) {\n setAutomaticLoadAttempted(false);\n return;\n }\n if (automaticLoadAttempted() || !canLoadMore()) return;\n setAutomaticLoadAttempted(true);\n void loadMore();\n });\n\n onMount(() => {\n if (typeof IntersectionObserver === \"undefined\" || !sentinelRef) return;\n observer = new IntersectionObserver(\n (entries) => {\n setSentinelVisible(entries.some((entry) => entry.isIntersecting));\n },\n { rootMargin: \"160px 0px 0px\" },\n );\n observer.observe(sentinelRef);\n });\n\n onCleanup(() => {\n active = false;\n observer?.disconnect();\n if (adjustmentFrame !== undefined) cancelAnimationFrame(adjustmentFrame);\n });\n\n return (\n <div class={classNames(\"k2b-discussion__list-region\", props.class)} aria-busy={props.loading || loadingMore() ? \"true\" : undefined}>\n <div ref={sentinelRef} class=\"k2b-discussion__sentinel\" aria-hidden=\"true\" />\n <Show when={props.loading}>\n <p class=\"k2b-discussion__status\" role=\"status\">\n <i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\" /> {props.loadingLabel ?? messages().loadingMessages}\n </p>\n </Show>\n <Show when={props.error}>\n {(error) => (\n <div class=\"k2b-discussion__status\" role=\"alert\">\n <span>{error()}</span>\n <Show when={props.onRetry}>\n <button type=\"button\" onClick={props.onRetry}>\n {messages().retry}\n </button>\n </Show>\n </div>\n )}\n </Show>\n <Show when={loadMoreError()}>\n {(error) => (\n <div class=\"k2b-discussion__status\" role=\"alert\">\n <span>{error()}</span>\n <button type=\"button\" onClick={() => void loadMore(true)}>\n {messages().retry}\n </button>\n </div>\n )}\n </Show>\n <Show when={!props.loading && !props.error && !loadMoreError() && (canLoadMore() || loadingMore())}>\n <button type=\"button\" class=\"k2b-discussion__load-more\" disabled={loadingMore()} onClick={() => void loadMore()}>\n <i class={`ti ${loadingMore() ? \"ti-loader-2 k2b-spin\" : \"ti-history\"}`} aria-hidden=\"true\" />\n {loadingMore() ? (props.loadingLabel ?? messages().loadingMessages) : (props.loadMoreLabel ?? messages().loadEarlier)}\n </button>\n </Show>\n <ol ref={listRef} class=\"k2b-discussion__list\">\n {props.children}\n </ol>\n </div>\n );\n};\n\nconst DiscussionItem = (props: DiscussionItemProps): JSX.Element => {\n const [local, itemProps] = splitProps(props, [\n \"author\",\n \"children\",\n \"avatar\",\n \"timestamp\",\n \"meta\",\n \"replyContext\",\n \"actions\",\n \"actionVisibility\",\n \"class\",\n ]);\n return (\n <li\n {...itemProps}\n class={classNames(\"k2b-discussion__item\", local.class)}\n data-has-avatar={local.avatar !== undefined ? \"true\" : undefined}\n >\n <Show when={local.avatar !== undefined}>\n <div class=\"k2b-discussion__avatar\">{local.avatar}</div>\n </Show>\n <div class=\"k2b-discussion__entry\">\n <header>\n <strong>{local.author}</strong>\n <Show when={local.timestamp !== undefined}>\n <span class=\"k2b-discussion__timestamp\">{local.timestamp}</span>\n </Show>\n <Show when={local.meta !== undefined}>\n <span class=\"k2b-discussion__meta\">{local.meta}</span>\n </Show>\n <Show when={local.actions !== undefined}>\n <div class=\"k2b-discussion__item-actions\" data-visibility={local.actionVisibility ?? \"progressive\"}>\n {local.actions}\n </div>\n </Show>\n </header>\n <Show when={local.replyContext !== undefined}>\n <div class=\"k2b-discussion__reply-context\">{local.replyContext}</div>\n </Show>\n <div class=\"k2b-discussion__content\">{local.children}</div>\n </div>\n </li>\n );\n};\n\nconst Discussion = DiscussionRoot as DiscussionComponent;\nDiscussion.Composer = DiscussionComposer;\nDiscussion.List = DiscussionList;\nDiscussion.Item = DiscussionItem;\n\nexport default Discussion;\n"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":[],"sources":["layout/Discussion.tsx"],"sourcesContent":["import { createEffect, createSignal, createUniqueId, type JSX, onCleanup, onMount, Show, splitProps } from \"solid-js\";\nimport { Button, IconButton } from \"../actions/Button\";\nimport { MarkdownEditor } from \"../inputs/markdown/MarkdownEditor\";\nimport { useUiMessages } from \"../intl/messages\";\n\nexport type DiscussionProps = Omit<JSX.HTMLAttributes<HTMLElement>, \"children\" | \"class\"> & {\n label: JSX.Element;\n children: JSX.Element;\n icon?: string | false;\n count?: number;\n actions?: JSX.Element;\n as?: \"h2\" | \"h3\";\n surface?: \"default\" | \"bare\";\n class?: string;\n};\n\nexport type DiscussionComposerProps = Omit<JSX.FormHTMLAttributes<HTMLFormElement>, \"children\" | \"class\" | \"onSubmit\"> & {\n label: string;\n onSubmit: (message: string) => boolean | void | Promise<boolean | void>;\n initialValue?: string;\n placeholder?: string;\n submitLabel?: string;\n cancelLabel?: string;\n onCancel?: () => void;\n lines?: number;\n class?: string;\n};\n\nexport type DiscussionListProps = {\n children?: JSX.Element;\n loading?: boolean;\n loadingLabel?: string;\n error?: string | null;\n onRetry?: () => void | Promise<void>;\n hasMore?: boolean;\n loadingMore?: boolean;\n loadMoreLabel?: string;\n onLoadMore?: () => boolean | void | Promise<boolean | void>;\n class?: string;\n};\n\nexport type DiscussionItemProps = Omit<JSX.LiHTMLAttributes<HTMLLIElement>, \"children\" | \"class\"> & {\n author: JSX.Element;\n children: JSX.Element;\n avatar?: JSX.Element;\n timestamp?: JSX.Element;\n meta?: JSX.Element;\n replyContext?: JSX.Element;\n actions?: JSX.Element;\n actionVisibility?: \"always\" | \"progressive\";\n class?: string;\n};\n\ntype DiscussionComponent = ((props: DiscussionProps) => JSX.Element) & {\n Composer: (props: DiscussionComposerProps) => JSX.Element;\n List: (props: DiscussionListProps) => JSX.Element;\n Item: (props: DiscussionItemProps) => JSX.Element;\n};\n\nconst classNames = (base: string, extra?: string): string => (extra ? `${base} ${extra}` : base);\n\nconst DiscussionRoot = (props: DiscussionProps): JSX.Element => {\n const headingId = `k2b-discussion-${createUniqueId()}`;\n const [local, sectionProps] = splitProps(props, [\"label\", \"children\", \"icon\", \"count\", \"actions\", \"as\", \"surface\", \"class\"]);\n\n return (\n <section\n {...sectionProps}\n class={classNames(\"k2b-discussion\", local.class)}\n data-surface={local.surface ?? \"default\"}\n aria-labelledby={headingId}\n >\n <header class=\"k2b-discussion__header\">\n <Show when={local.icon !== false && local.icon}>\n {(icon) => (\n <span class=\"k2b-discussion__icon\" aria-hidden=\"true\">\n <i class={icon()} />\n </span>\n )}\n </Show>\n <Show when={local.as === \"h2\"} fallback={<h3 id={headingId}>{local.label}</h3>}>\n <h2 id={headingId}>{local.label}</h2>\n </Show>\n <Show when={local.count !== undefined}>\n <span class=\"k2b-discussion__count\">{local.count}</span>\n </Show>\n <Show when={local.actions !== undefined}>\n <div class=\"k2b-discussion__actions\">{local.actions}</div>\n </Show>\n </header>\n <div class=\"k2b-discussion__body\">{local.children}</div>\n </section>\n );\n};\n\nconst DiscussionComposer = (props: DiscussionComposerProps): JSX.Element => {\n const messages = useUiMessages();\n const [local, formProps] = splitProps(props, [\n \"label\",\n \"onSubmit\",\n \"initialValue\",\n \"placeholder\",\n \"submitLabel\",\n \"cancelLabel\",\n \"onCancel\",\n \"lines\",\n \"class\",\n ]);\n const [message, setMessage] = createSignal(local.initialValue ?? \"\");\n const [submitting, setSubmitting] = createSignal(false);\n const [submitError, setSubmitError] = createSignal<string | null>(null);\n\n const submit = async () => {\n const normalized = message().trim();\n if (!normalized || submitting()) return;\n setSubmitting(true);\n setSubmitError(null);\n try {\n const accepted = await local.onSubmit(normalized);\n if (accepted !== false) setMessage(\"\");\n } catch (error) {\n setSubmitError(error instanceof Error ? error.message : messages().couldNotPostMessage);\n } finally {\n setSubmitting(false);\n }\n };\n\n return (\n <form\n {...formProps}\n class={classNames(\"k2b-discussion__composer\", local.class)}\n onSubmit={(event) => {\n event.preventDefault();\n void submit();\n }}\n >\n <div class=\"k2b-discussion__composer-field\" data-has-inset-action=\"true\">\n <MarkdownEditor\n aria-label={local.label}\n value={message}\n onValueChange={(value) => {\n // The error belongs to the submitted text; any edit, including clearing it, makes it stale.\n if (value !== message()) setSubmitError(null);\n setMessage(value);\n }}\n placeholder={local.placeholder}\n lines={local.lines ?? 4}\n noToolbar\n showStats={false}\n disabled={submitting()}\n error={submitError() !== null}\n onSubmit={() => void submit()}\n />\n <div class=\"k2b-discussion__composer-inset-action\">\n <IconButton\n type=\"submit\"\n label={local.submitLabel ?? messages().postMessage}\n size=\"sm\"\n variant=\"primary\"\n loading={submitting()}\n disabled={submitting() || !message().trim()}\n >\n <i class=\"ti ti-send\" aria-hidden=\"true\" />\n </IconButton>\n </div>\n </div>\n <Show when={submitError()}>\n {(error) => (\n <p class=\"k2b-discussion__status\" role=\"alert\">\n {error()}\n </p>\n )}\n </Show>\n <Show when={local.onCancel}>\n {(onCancel) => (\n <footer>\n <Button type=\"button\" variant=\"ghost\" size=\"xs\" disabled={submitting()} onClick={onCancel()}>\n {local.cancelLabel ?? messages().cancel}\n </Button>\n </footer>\n )}\n </Show>\n </form>\n );\n};\n\nconst scrollOwner = (element: HTMLElement): HTMLElement | null => {\n let parent = element.parentElement;\n while (parent) {\n const style = getComputedStyle(parent);\n if (style.overflowY === \"auto\" || style.overflowY === \"scroll\" || style.overflow === \"auto\" || style.overflow === \"scroll\")\n return parent;\n parent = parent.parentElement;\n }\n return document.scrollingElement instanceof HTMLElement ? document.scrollingElement : null;\n};\n\nconst DiscussionList = (props: DiscussionListProps): JSX.Element => {\n const messages = useUiMessages();\n const [loadingMoreInternally, setLoadingMoreInternally] = createSignal(false);\n const [loadMoreError, setLoadMoreError] = createSignal<string | null>(null);\n const [sentinelVisible, setSentinelVisible] = createSignal(false);\n const [automaticLoadAttempted, setAutomaticLoadAttempted] = createSignal(false);\n let listRef: HTMLOListElement | undefined;\n let sentinelRef: HTMLDivElement | undefined;\n let observer: IntersectionObserver | undefined;\n let adjustmentFrame: number | undefined;\n let active = true;\n\n const loadingMore = () => Boolean(props.loadingMore || loadingMoreInternally());\n const canLoadMore = () =>\n Boolean(!props.loading && !props.error && !loadMoreError() && props.hasMore && props.onLoadMore && !loadingMore());\n\n const loadMore = async (retry = false): Promise<boolean> => {\n if (props.loading || props.error || (!retry && loadMoreError()) || !props.onLoadMore || !props.hasMore || loadingMore()) return false;\n const owner = listRef ? scrollOwner(listRef) : null;\n const previousScrollHeight = owner?.scrollHeight ?? 0;\n setLoadMoreError(null);\n setLoadingMoreInternally(true);\n let loaded = false;\n try {\n loaded = (await props.onLoadMore()) !== false;\n } catch (error) {\n if (active) setLoadMoreError(error instanceof Error ? error.message : messages().couldNotLoadEarlierMessages);\n } finally {\n if (active) setLoadingMoreInternally(false);\n }\n if (!active || !loaded || !owner) return false;\n queueMicrotask(() => {\n if (!active) return;\n adjustmentFrame = requestAnimationFrame(() => {\n if (!active) return;\n owner.scrollTop += owner.scrollHeight - previousScrollHeight;\n });\n });\n return true;\n };\n\n createEffect(() => {\n if (!sentinelVisible()) {\n setAutomaticLoadAttempted(false);\n return;\n }\n if (automaticLoadAttempted() || !canLoadMore()) return;\n setAutomaticLoadAttempted(true);\n void loadMore();\n });\n\n onMount(() => {\n if (typeof IntersectionObserver === \"undefined\" || !sentinelRef) return;\n observer = new IntersectionObserver(\n (entries) => {\n setSentinelVisible(entries.some((entry) => entry.isIntersecting));\n },\n { rootMargin: \"160px 0px 0px\" },\n );\n observer.observe(sentinelRef);\n });\n\n onCleanup(() => {\n active = false;\n observer?.disconnect();\n if (adjustmentFrame !== undefined) cancelAnimationFrame(adjustmentFrame);\n });\n\n return (\n <div class={classNames(\"k2b-discussion__list-region\", props.class)} aria-busy={props.loading || loadingMore() ? \"true\" : undefined}>\n <div ref={sentinelRef} class=\"k2b-discussion__sentinel\" aria-hidden=\"true\" />\n <Show when={props.loading}>\n <p class=\"k2b-discussion__status\" role=\"status\">\n <i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\" /> {props.loadingLabel ?? messages().loadingMessages}\n </p>\n </Show>\n <Show when={props.error}>\n {(error) => (\n <div class=\"k2b-discussion__status\" role=\"alert\">\n <span>{error()}</span>\n <Show when={props.onRetry}>\n <button type=\"button\" onClick={props.onRetry}>\n {messages().retry}\n </button>\n </Show>\n </div>\n )}\n </Show>\n <Show when={loadMoreError()}>\n {(error) => (\n <div class=\"k2b-discussion__status\" role=\"alert\">\n <span>{error()}</span>\n <button type=\"button\" onClick={() => void loadMore(true)}>\n {messages().retry}\n </button>\n </div>\n )}\n </Show>\n <Show when={!props.loading && !props.error && !loadMoreError() && (canLoadMore() || loadingMore())}>\n <button type=\"button\" class=\"k2b-discussion__load-more\" disabled={loadingMore()} onClick={() => void loadMore()}>\n <i class={`ti ${loadingMore() ? \"ti-loader-2 k2b-spin\" : \"ti-history\"}`} aria-hidden=\"true\" />\n {loadingMore() ? (props.loadingLabel ?? messages().loadingMessages) : (props.loadMoreLabel ?? messages().loadEarlier)}\n </button>\n </Show>\n <ol ref={listRef} class=\"k2b-discussion__list\">\n {props.children}\n </ol>\n </div>\n );\n};\n\nconst DiscussionItem = (props: DiscussionItemProps): JSX.Element => {\n const [local, itemProps] = splitProps(props, [\n \"author\",\n \"children\",\n \"avatar\",\n \"timestamp\",\n \"meta\",\n \"replyContext\",\n \"actions\",\n \"actionVisibility\",\n \"class\",\n ]);\n return (\n <li\n {...itemProps}\n class={classNames(\"k2b-discussion__item\", local.class)}\n data-has-avatar={local.avatar !== undefined ? \"true\" : undefined}\n >\n <Show when={local.avatar !== undefined}>\n <div class=\"k2b-discussion__avatar\">{local.avatar}</div>\n </Show>\n <div class=\"k2b-discussion__entry\">\n <header>\n <strong>{local.author}</strong>\n <Show when={local.timestamp !== undefined}>\n <span class=\"k2b-discussion__timestamp\">{local.timestamp}</span>\n </Show>\n <Show when={local.meta !== undefined}>\n <span class=\"k2b-discussion__meta\">{local.meta}</span>\n </Show>\n <Show when={local.actions !== undefined}>\n <div class=\"k2b-discussion__item-actions\" data-visibility={local.actionVisibility ?? \"progressive\"}>\n {local.actions}\n </div>\n </Show>\n </header>\n <Show when={local.replyContext !== undefined}>\n <div class=\"k2b-discussion__reply-context\">{local.replyContext}</div>\n </Show>\n <div class=\"k2b-discussion__content\">{local.children}</div>\n </div>\n </li>\n );\n};\n\nconst Discussion = DiscussionRoot as DiscussionComponent;\nDiscussion.Composer = DiscussionComposer;\nDiscussion.List = DiscussionList;\nDiscussion.Item = DiscussionItem;\n\nexport default Discussion;\n"],"mappings":"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","ignoreList":[]}