@k2b/ui 0.2.0 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/browser/actions/Button.js +11 -2
- package/dist/browser/actions/Button.js.map +1 -1
- package/dist/browser/actions/Disclosure.js +11 -8
- package/dist/browser/actions/Disclosure.js.map +1 -1
- package/dist/browser/actions/Dropdown.js +4 -1
- package/dist/browser/actions/Dropdown.js.map +1 -1
- package/dist/browser/actions/FilterChip.js +16 -2
- package/dist/browser/actions/FilterChip.js.map +1 -1
- package/dist/browser/actions/SplitButton.js +69 -22
- package/dist/browser/actions/SplitButton.js.map +1 -1
- package/dist/browser/actions/SpotlightSearch.js +3 -7
- package/dist/browser/actions/SpotlightSearch.js.map +1 -1
- package/dist/browser/actions/Tabs.js +132 -47
- package/dist/browser/actions/Tabs.js.map +1 -1
- package/dist/browser/actions/index.js +2 -2
- package/dist/browser/actions/index.js.map +1 -1
- package/dist/browser/chat/ChatComposer.js +751 -423
- package/dist/browser/chat/ChatComposer.js.map +1 -1
- package/dist/browser/chat/ChatContextPopup.js +123 -0
- package/dist/browser/chat/ChatContextPopup.js.map +1 -0
- package/dist/browser/chat/ChatPrimitives.js +141 -78
- package/dist/browser/chat/ChatPrimitives.js.map +1 -1
- package/dist/browser/chat/ChatTasks.js +112 -0
- package/dist/browser/chat/ChatTasks.js.map +1 -0
- package/dist/browser/chat/ChatTimeline.js +31 -14
- package/dist/browser/chat/ChatTimeline.js.map +1 -1
- package/dist/browser/chat/chat-behavior.js +0 -5
- package/dist/browser/chat/chat-behavior.js.map +1 -1
- package/dist/browser/chat/composer-document.js +55 -0
- package/dist/browser/chat/composer-document.js.map +1 -0
- package/dist/browser/chat/index.js +6 -1
- package/dist/browser/chat/index.js.map +1 -1
- package/dist/browser/chat/types.js.map +1 -1
- package/dist/browser/content/Chart.js +148 -239
- package/dist/browser/content/Chart.js.map +1 -1
- package/dist/browser/content/ChartExplorer.js +324 -0
- package/dist/browser/content/ChartExplorer.js.map +1 -0
- package/dist/browser/content/ChartExplorerControls.js +153 -0
- package/dist/browser/content/ChartExplorerControls.js.map +1 -0
- package/dist/browser/content/ChartFilterControls.js +200 -0
- package/dist/browser/content/ChartFilterControls.js.map +1 -0
- package/dist/browser/content/ChartSnapshotView.js +114 -0
- package/dist/browser/content/ChartSnapshotView.js.map +1 -0
- package/dist/browser/content/DataTable.js +48 -32
- package/dist/browser/content/DataTable.js.map +1 -1
- package/dist/browser/content/FileBrowser.js +3 -0
- package/dist/browser/content/FileBrowser.js.map +1 -1
- package/dist/browser/content/FileGrid.js +93 -0
- package/dist/browser/content/FileGrid.js.map +1 -0
- package/dist/browser/content/FileTree.js +2 -2
- package/dist/browser/content/FileTree.js.map +1 -1
- package/dist/browser/content/FileView.js +511 -162
- package/dist/browser/content/FileView.js.map +1 -1
- package/dist/browser/content/MarkdownView.js +6 -0
- package/dist/browser/content/MarkdownView.js.map +1 -1
- package/dist/browser/content/Pagination.js.map +1 -1
- package/dist/browser/content/PdfPreview.js +107 -90
- package/dist/browser/content/PdfPreview.js.map +1 -1
- package/dist/browser/content/chart-cursor.js +33 -0
- package/dist/browser/content/chart-cursor.js.map +1 -0
- package/dist/browser/content/chart-explorer.js +147 -0
- package/dist/browser/content/chart-explorer.js.map +1 -0
- package/dist/browser/content/chart-inspection.js +447 -0
- package/dist/browser/content/chart-inspection.js.map +1 -0
- package/dist/browser/content/chart-line-gaps.js +53 -0
- package/dist/browser/content/chart-line-gaps.js.map +1 -0
- package/dist/browser/content/chart-map-viewport.js +5 -1
- package/dist/browser/content/chart-map-viewport.js.map +1 -1
- package/dist/browser/content/chart-snapshot.js +63 -0
- package/dist/browser/content/chart-snapshot.js.map +1 -0
- package/dist/browser/content/chart-state-timeline.js +32 -4
- package/dist/browser/content/chart-state-timeline.js.map +1 -1
- package/dist/browser/content/chart-svg.js +54 -0
- package/dist/browser/content/chart-svg.js.map +1 -0
- package/dist/browser/content/collection-selection.js +109 -0
- package/dist/browser/content/collection-selection.js.map +1 -0
- package/dist/browser/content/delimited-preferences.js +21 -0
- package/dist/browser/content/delimited-preferences.js.map +1 -0
- package/dist/browser/content/file-tree.js.map +1 -1
- package/dist/browser/content/file-view-preview.js +11 -7
- package/dist/browser/content/file-view-preview.js.map +1 -1
- package/dist/browser/content/index.js +9 -0
- package/dist/browser/content/index.js.map +1 -1
- package/dist/browser/feedback/InlineGuidance.js +17 -3
- package/dist/browser/feedback/InlineGuidance.js.map +1 -1
- package/dist/browser/feedback/dialog-core.js +81 -7
- package/dist/browser/feedback/dialog-core.js.map +1 -1
- package/dist/browser/feedback/prompts.js +6 -0
- package/dist/browser/feedback/prompts.js.map +1 -1
- package/dist/browser/feedback/toast.js +29 -6
- package/dist/browser/feedback/toast.js.map +1 -1
- package/dist/browser/inputs/ChoiceGroups.js.map +1 -1
- package/dist/browser/inputs/Select.js.map +1 -1
- package/dist/browser/inputs/SelectChip.js +3 -2
- package/dist/browser/inputs/SelectChip.js.map +1 -1
- package/dist/browser/inputs/TextInput.js +7 -1
- package/dist/browser/inputs/TextInput.js.map +1 -1
- package/dist/browser/inputs/markdown/MarkdownEditor.js +61 -37
- package/dist/browser/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/browser/inputs/markdown/behaviors.js +1 -1
- package/dist/browser/inputs/markdown/behaviors.js.map +1 -1
- package/dist/browser/intl/Format.js +89 -16
- package/dist/browser/intl/Format.js.map +1 -1
- package/dist/browser/intl/index.js.map +1 -1
- package/dist/browser/intl/messages.js +130 -2
- package/dist/browser/intl/messages.js.map +1 -1
- package/dist/browser/layout/AppWorkspace.js +712 -624
- package/dist/browser/layout/AppWorkspace.js.map +1 -1
- package/dist/browser/layout/BottomSheet.js +95 -0
- package/dist/browser/layout/BottomSheet.js.map +1 -0
- package/dist/browser/layout/DetailPanel.js +56 -44
- package/dist/browser/layout/DetailPanel.js.map +1 -1
- package/dist/browser/layout/Navigation.js +278 -0
- package/dist/browser/layout/Navigation.js.map +1 -0
- package/dist/browser/layout/PanelDialog.js +219 -71
- package/dist/browser/layout/PanelDialog.js.map +1 -1
- package/dist/browser/layout/ScrollArea.js +21 -1
- package/dist/browser/layout/ScrollArea.js.map +1 -1
- package/dist/browser/layout/Settings.js.map +1 -1
- package/dist/browser/layout/SidebarItemPreview.js +183 -0
- package/dist/browser/layout/SidebarItemPreview.js.map +1 -0
- package/dist/browser/layout/app-workspace-controller.js +3 -0
- package/dist/browser/layout/app-workspace-controller.js.map +1 -1
- package/dist/browser/layout/app-workspace-state.js.map +1 -1
- package/dist/browser/layout/index.js +3 -0
- package/dist/browser/layout/index.js.map +1 -1
- package/dist/browser/layout/navigation-model.js +23 -0
- package/dist/browser/layout/navigation-model.js.map +1 -0
- package/dist/browser/layout/scroll-fade.js +100 -0
- package/dist/browser/layout/scroll-fade.js.map +1 -0
- package/dist/browser/surfaces/DescriptionList.js.map +1 -1
- package/dist/browser/surfaces/StatusBadge.js +2 -1
- package/dist/browser/surfaces/StatusBadge.js.map +1 -1
- package/dist/fonts/ibm-plex-mono-cyrillic-400-italic-4aded3f2f2a7d27d.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-cyrillic-400-normal-7635422bd10ddbbc.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-cyrillic-500-normal-1d89462e86cb8e87.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-cyrillic-600-normal-2b05a8695c7f9f4a.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-cyrillic-ext-400-italic-a0b3b8cbe5a516e7.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-cyrillic-ext-400-normal-f8c22ec1804bd696.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-cyrillic-ext-500-normal-3febe5c7f22e4b07.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-cyrillic-ext-600-normal-83109cdd4f8665b4.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400-italic-0840095faae86403.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400-normal-08949f728dc52d52.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-500-normal-01d285447409c8a5.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-600-normal-0d1f0b8d0722224e.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400-italic-1b07eee6df7d26b3.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400-normal-6bc0f226a5b7884a.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-500-normal-6bb06407c97584b0.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-600-normal-32057cf50dd14bdb.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-vietnamese-400-italic-a6bab38af4f9c761.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-vietnamese-400-normal-62632b6375305e70.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-vietnamese-500-normal-781633d95de88040.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-vietnamese-600-normal-51b74d53e106ba8a.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-400-italic-e8731a7e2b00fc4f.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-400-normal-69afad88a0740b6e.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-500-normal-200be3a2a6b1789f.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-600-normal-730becc6f005c18c.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-700-normal-40540598b4c9eb2c.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-ext-400-italic-4ffb25726a7ce4cc.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-ext-400-normal-e2580ad78906551e.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-ext-500-normal-08578d906af6d986.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-ext-600-normal-d60d3d0b182753d5.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-cyrillic-ext-700-normal-d07dd53642480097.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-greek-400-italic-1bc10b01688ba9fa.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-greek-400-normal-02296067bc904d2a.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-greek-500-normal-8cb6e20b4dbbaa5f.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-greek-600-normal-0a9ebd9019415ee9.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-greek-700-normal-c949641d10a3bebc.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-400-italic-6de912e531b6c980.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-400-normal-3b646991d30055a9.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-500-normal-0717336fb31fcdcd.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-600-normal-8960851d691c054e.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-700-normal-42e7b0c143c19df9.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-ext-400-italic-c5c00e8a32022dfe.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-ext-400-normal-c93d2a12aaa280f6.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-ext-500-normal-2846035d85100f84.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-ext-600-normal-b25dfd4f979e442a.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-latin-ext-700-normal-92f0392bd74fa395.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-vietnamese-400-italic-675d4bace127bffb.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-vietnamese-400-normal-771538f7f26551bd.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-vietnamese-500-normal-85ba3d9c2488a813.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-vietnamese-600-normal-5d34b803637befe3.woff2 +0 -0
- package/dist/fonts/ibm-plex-sans-vietnamese-700-normal-b79d0c4b68b85007.woff2 +0 -0
- package/dist/plex.css +1 -1
- package/dist/ssr/actions/Button.js +11 -2
- package/dist/ssr/actions/Button.js.map +1 -1
- package/dist/ssr/actions/Disclosure.js +2 -2
- package/dist/ssr/actions/Disclosure.js.map +1 -1
- package/dist/ssr/actions/Dropdown.js +4 -1
- package/dist/ssr/actions/Dropdown.js.map +1 -1
- package/dist/ssr/actions/FilterChip.js +16 -2
- package/dist/ssr/actions/FilterChip.js.map +1 -1
- package/dist/ssr/actions/SplitButton.js +69 -22
- package/dist/ssr/actions/SplitButton.js.map +1 -1
- package/dist/ssr/actions/SpotlightSearch.js +3 -7
- package/dist/ssr/actions/SpotlightSearch.js.map +1 -1
- package/dist/ssr/actions/Tabs.js +58 -11
- package/dist/ssr/actions/Tabs.js.map +1 -1
- package/dist/ssr/actions/index.js +2 -2
- package/dist/ssr/actions/index.js.map +1 -1
- package/dist/ssr/chat/ChatComposer.js +366 -134
- package/dist/ssr/chat/ChatComposer.js.map +1 -1
- package/dist/ssr/chat/ChatContextPopup.js +86 -0
- package/dist/ssr/chat/ChatContextPopup.js.map +1 -0
- package/dist/ssr/chat/ChatPrimitives.js +49 -11
- package/dist/ssr/chat/ChatPrimitives.js.map +1 -1
- package/dist/ssr/chat/ChatTasks.js +48 -0
- package/dist/ssr/chat/ChatTasks.js.map +1 -0
- package/dist/ssr/chat/ChatTimeline.js +14 -4
- package/dist/ssr/chat/ChatTimeline.js.map +1 -1
- package/dist/ssr/chat/chat-behavior.js +0 -5
- package/dist/ssr/chat/chat-behavior.js.map +1 -1
- package/dist/ssr/chat/composer-document.js +55 -0
- package/dist/ssr/chat/composer-document.js.map +1 -0
- package/dist/ssr/chat/index.js +6 -1
- package/dist/ssr/chat/index.js.map +1 -1
- package/dist/ssr/chat/types.js.map +1 -1
- package/dist/ssr/content/Chart.js +121 -219
- package/dist/ssr/content/Chart.js.map +1 -1
- package/dist/ssr/content/ChartExplorer.js +257 -0
- package/dist/ssr/content/ChartExplorer.js.map +1 -0
- package/dist/ssr/content/ChartExplorerControls.js +105 -0
- package/dist/ssr/content/ChartExplorerControls.js.map +1 -0
- package/dist/ssr/content/ChartFilterControls.js +139 -0
- package/dist/ssr/content/ChartFilterControls.js.map +1 -0
- package/dist/ssr/content/ChartSnapshotView.js +58 -0
- package/dist/ssr/content/ChartSnapshotView.js.map +1 -0
- package/dist/ssr/content/DataTable.js +13 -9
- package/dist/ssr/content/DataTable.js.map +1 -1
- package/dist/ssr/content/FileBrowser.js +3 -0
- package/dist/ssr/content/FileBrowser.js.map +1 -1
- package/dist/ssr/content/FileGrid.js +38 -0
- package/dist/ssr/content/FileGrid.js.map +1 -0
- package/dist/ssr/content/FileTree.js +2 -2
- package/dist/ssr/content/FileTree.js.map +1 -1
- package/dist/ssr/content/FileView.js +356 -75
- package/dist/ssr/content/FileView.js.map +1 -1
- package/dist/ssr/content/MarkdownView.js +6 -0
- package/dist/ssr/content/MarkdownView.js.map +1 -1
- package/dist/ssr/content/Pagination.js.map +1 -1
- package/dist/ssr/content/PdfPreview.js +37 -24
- package/dist/ssr/content/PdfPreview.js.map +1 -1
- package/dist/ssr/content/chart-cursor.js +33 -0
- package/dist/ssr/content/chart-cursor.js.map +1 -0
- package/dist/ssr/content/chart-explorer.js +147 -0
- package/dist/ssr/content/chart-explorer.js.map +1 -0
- package/dist/ssr/content/chart-inspection.js +447 -0
- package/dist/ssr/content/chart-inspection.js.map +1 -0
- package/dist/ssr/content/chart-line-gaps.js +53 -0
- package/dist/ssr/content/chart-line-gaps.js.map +1 -0
- package/dist/ssr/content/chart-map-viewport.js +5 -1
- package/dist/ssr/content/chart-map-viewport.js.map +1 -1
- package/dist/ssr/content/chart-snapshot.js +63 -0
- package/dist/ssr/content/chart-snapshot.js.map +1 -0
- package/dist/ssr/content/chart-state-timeline.js +32 -4
- package/dist/ssr/content/chart-state-timeline.js.map +1 -1
- package/dist/ssr/content/chart-svg.js +54 -0
- package/dist/ssr/content/chart-svg.js.map +1 -0
- package/dist/ssr/content/collection-selection.js +109 -0
- package/dist/ssr/content/collection-selection.js.map +1 -0
- package/dist/ssr/content/delimited-preferences.js +21 -0
- package/dist/ssr/content/delimited-preferences.js.map +1 -0
- package/dist/ssr/content/file-tree.js.map +1 -1
- package/dist/ssr/content/file-view-preview.js +11 -7
- package/dist/ssr/content/file-view-preview.js.map +1 -1
- package/dist/ssr/content/index.js +9 -0
- package/dist/ssr/content/index.js.map +1 -1
- package/dist/ssr/feedback/InlineGuidance.js +17 -3
- package/dist/ssr/feedback/InlineGuidance.js.map +1 -1
- package/dist/ssr/feedback/dialog-core.js +81 -7
- package/dist/ssr/feedback/dialog-core.js.map +1 -1
- package/dist/ssr/feedback/prompts.js +6 -0
- package/dist/ssr/feedback/prompts.js.map +1 -1
- package/dist/ssr/feedback/toast.js +29 -6
- package/dist/ssr/feedback/toast.js.map +1 -1
- package/dist/ssr/inputs/ChoiceGroups.js.map +1 -1
- package/dist/ssr/inputs/Select.js.map +1 -1
- package/dist/ssr/inputs/SelectChip.js +3 -3
- package/dist/ssr/inputs/SelectChip.js.map +1 -1
- package/dist/ssr/inputs/TextInput.js.map +1 -1
- package/dist/ssr/inputs/markdown/MarkdownEditor.js +19 -11
- package/dist/ssr/inputs/markdown/MarkdownEditor.js.map +1 -1
- package/dist/ssr/inputs/markdown/behaviors.js +1 -1
- package/dist/ssr/inputs/markdown/behaviors.js.map +1 -1
- package/dist/ssr/intl/Format.js +61 -0
- package/dist/ssr/intl/Format.js.map +1 -1
- package/dist/ssr/intl/index.js.map +1 -1
- package/dist/ssr/intl/messages.js +130 -2
- package/dist/ssr/intl/messages.js.map +1 -1
- package/dist/ssr/layout/AppWorkspace.js +368 -275
- package/dist/ssr/layout/AppWorkspace.js.map +1 -1
- package/dist/ssr/layout/BottomSheet.js +43 -0
- package/dist/ssr/layout/BottomSheet.js.map +1 -0
- package/dist/ssr/layout/DetailPanel.js +11 -4
- package/dist/ssr/layout/DetailPanel.js.map +1 -1
- package/dist/ssr/layout/Navigation.js +181 -0
- package/dist/ssr/layout/Navigation.js.map +1 -0
- package/dist/ssr/layout/PanelDialog.js +111 -26
- package/dist/ssr/layout/PanelDialog.js.map +1 -1
- package/dist/ssr/layout/ScrollArea.js +16 -1
- package/dist/ssr/layout/ScrollArea.js.map +1 -1
- package/dist/ssr/layout/Settings.js.map +1 -1
- package/dist/ssr/layout/SidebarItemPreview.js +133 -0
- package/dist/ssr/layout/SidebarItemPreview.js.map +1 -0
- package/dist/ssr/layout/app-workspace-controller.js +3 -0
- package/dist/ssr/layout/app-workspace-controller.js.map +1 -1
- package/dist/ssr/layout/app-workspace-state.js.map +1 -1
- package/dist/ssr/layout/index.js +3 -0
- package/dist/ssr/layout/index.js.map +1 -1
- package/dist/ssr/layout/navigation-model.js +23 -0
- package/dist/ssr/layout/navigation-model.js.map +1 -0
- package/dist/ssr/layout/scroll-fade.js +100 -0
- package/dist/ssr/layout/scroll-fade.js.map +1 -0
- package/dist/ssr/surfaces/DescriptionList.js.map +1 -1
- package/dist/ssr/surfaces/StatusBadge.js +2 -1
- package/dist/ssr/surfaces/StatusBadge.js.map +1 -1
- package/dist/styles.css +1 -1
- package/dist/tabler.css +1 -1
- package/dist/types/actions/Button.d.ts +4 -0
- package/dist/types/actions/Disclosure.d.ts +1 -0
- package/dist/types/actions/FilterChip.d.ts +4 -0
- package/dist/types/actions/SplitButton.d.ts +6 -0
- package/dist/types/actions/SpotlightSearch.d.ts +0 -4
- package/dist/types/actions/Tabs.d.ts +4 -0
- package/dist/types/actions/index.d.ts +4 -4
- package/dist/types/chat/ChatComposer.d.ts +20 -2
- package/dist/types/chat/ChatContextPopup.d.ts +6 -0
- package/dist/types/chat/ChatPrimitives.d.ts +4 -0
- package/dist/types/chat/ChatTasks.d.ts +15 -0
- package/dist/types/chat/ChatTimeline.d.ts +2 -0
- package/dist/types/chat/chat-behavior.d.ts +0 -3
- package/dist/types/chat/composer-document.d.ts +14 -0
- package/dist/types/chat/index.d.ts +8 -1
- package/dist/types/chat/types.d.ts +7 -0
- package/dist/types/content/Chart.d.ts +42 -23
- package/dist/types/content/ChartExplorer.d.ts +34 -0
- package/dist/types/content/ChartExplorerControls.d.ts +10 -0
- package/dist/types/content/ChartFilterControls.d.ts +21 -0
- package/dist/types/content/ChartSnapshotView.d.ts +11 -0
- package/dist/types/content/DataTable.d.ts +4 -0
- package/dist/types/content/FileBrowser.d.ts +1 -0
- package/dist/types/content/FileGrid.d.ts +21 -0
- package/dist/types/content/FileView.d.ts +20 -0
- package/dist/types/content/PdfPreview.d.ts +8 -1
- package/dist/types/content/chart-cursor.d.ts +15 -0
- package/dist/types/content/chart-explorer.d.ts +48 -0
- package/dist/types/content/chart-inspection.d.ts +40 -0
- package/dist/types/content/chart-line-gaps.d.ts +5 -0
- package/dist/types/content/chart-map-viewport.d.ts +1 -1
- package/dist/types/content/chart-snapshot.d.ts +26 -0
- package/dist/types/content/chart-svg.d.ts +21 -0
- package/dist/types/content/collection-selection.d.ts +24 -0
- package/dist/types/content/delimited-preferences.d.ts +11 -0
- package/dist/types/content/file-tree.d.ts +2 -0
- package/dist/types/content/file-view-preview.d.ts +4 -1
- package/dist/types/content/index.d.ts +16 -2
- package/dist/types/feedback/InlineGuidance.d.ts +1 -0
- package/dist/types/feedback/dialog-core.d.ts +11 -0
- package/dist/types/feedback/prompts.d.ts +2 -0
- package/dist/types/feedback/toast.d.ts +7 -1
- package/dist/types/inputs/markdown/MarkdownEditor.d.ts +5 -1
- package/dist/types/intl/Format.d.ts +9 -0
- package/dist/types/intl/index.d.ts +1 -1
- package/dist/types/intl/messages.d.ts +31 -1
- package/dist/types/layout/AppWorkspace.d.ts +35 -18
- package/dist/types/layout/BottomSheet.d.ts +23 -0
- package/dist/types/layout/DetailPanel.d.ts +1 -0
- package/dist/types/layout/Navigation.d.ts +8 -0
- package/dist/types/layout/PanelDialog.d.ts +14 -1
- package/dist/types/layout/ScrollArea.d.ts +4 -0
- package/dist/types/layout/Settings.d.ts +1 -1
- package/dist/types/layout/SidebarItemPreview.d.ts +11 -0
- package/dist/types/layout/index.d.ts +4 -1
- package/dist/types/layout/navigation-model.d.ts +48 -0
- package/dist/types/layout/scroll-fade.d.ts +3 -0
- package/dist/types/surfaces/DescriptionList.d.ts +1 -1
- package/dist/types/surfaces/StatusBadge.d.ts +1 -1
- package/package.json +5 -7
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"names":["createEffect","createMemo","createSignal","createUniqueId","For","onMount","Show","Dropdown","SelectChip","useUiMessages","ChatContextUsage","ContextUsage","executeChatAction","filterChatCommands","nextChatCommandIndex","reportChatFailure","runChatSubmission","composerMaxInputHeight","attachmentIcon","attachment","icon","kind","ChatComposer","props","messages","commandListId","replace","selectedCommandIndex","setSelectedCommandIndex","dragActive","setDragActive","addingFiles","setAddingFiles","submitting","setSubmitting","composerRef","textareaRef","fileInputRef","sawRunning","state","running","stopping","runningSubmitIntent","attachments","commands","commandMatches","value","commandsOpen","length","selectedCommand","blocked","Boolean","disabled","hasDraft","trim","canSubmit","canSelectFiles","fileSelection","hasAddMenu","menuActions","hasContextUsage","context","contextUsage","contextWindow","Number","isFinite","usage","total","input","output","some","menuItems","items","push","label","attachFiles","action","click","variant","onError","autoResize","style","height","Math","min","scrollHeight","focus","focusToken","undefined","queueMicrotask","active","document","focused","activeElement","insideComposer","contains","editingElsewhere","body","matches","isContentEditable","closest","setAttachments","next","onAttachmentsChange","renderAttachmentCopy","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_$insert","name","_$effect","_$setAttribute","runFiles","files","selected","Array","from","onSelect","error","submit","intent","previousValue","previousAttachments","text","clear","onValueChange","perform","onSubmit","restore","executeCommand","command","setValue","onKeyDown","event","key","preventDefault","index","shiftKey","isComposing","_el$3","_tmpl$9","_el$34","_el$35","_co$0","_$getNextMarker","nextSibling","_el$36","_el$37","_co$1","_el$6","_el$9","_el$0","_co$","_el$8","_el$38","_el$39","_co$10","_el$13","_el$14","_el$17","_el$18","_co$3","_el$19","_el$20","_co$4","_el$21","_el$22","_co$5","_el$23","_el$24","_co$6","_el$25","_el$28","_el$29","_co$7","_el$30","_el$31","_co$8","_el$32","_el$33","_co$9","_ref$","_$use","_$createComponent","when","children","_el$4","_tmpl$2","each","_el$40","_tmpl$0","_el$41","_el$42","_el$43","_el$44","_el$45","_el$46","_co$11","_el$47","$$click","$$pointerdown","description","_p$","_v$18","_v$19","_v$20","_v$21","e","t","a","o","_$className","_$runHydrationEvents","_el$5","_tmpl$3","_el$48","_tmpl$10","_el$49","_el$50","_el$51","_co$12","_el$52","_el$53","_co$13","_el$55","_el$56","_co$14","href","fallback","_el$57","_tmpl$12","_el$59","_el$60","_co$15","_el$61","_el$62","_co$16","_$memo","previewUrl","_el$63","_tmpl$13","_el$58","_tmpl$11","_v$24","_v$25","alt","_el$64","_tmpl$14","_el$66","_el$67","_co$17","_el$68","_el$69","_co$18","_el$70","_el$65","_v$26","_v$27","_v$28","_v$29","openInNewTab","_el$71","_tmpl$15","_el$72","_el$73","_co$19","_el$74","_el$75","_co$20","_el$76","_$setProperty","_el$54","_tmpl$1","filter","candidate","id","_v$22","removeNamed","_v$23","classList","toggle","addEventListener","dataTransfer","types","includes","currentTarget","relatedTarget","_el$7","_tmpl$4","dropFilesToAttach","$$keydown","clipboardData","onPaste","$$input","_ref$2","_el$1","_tmpl$5","_el$10","_el$11","_el$12","_co$2","footerTools","Root","position","width","addToChat","Trigger","appearance","title","_tmpl$6","_el$16","_tmpl$7","_ref$3","_v$","accept","_v$2","multiple","models","aria-label","chooseModel","menuWidth","placeholder","model","selectedModelId","options","map","image","onModelChange","modelId","contextActions","_el$77","_tmpl$16","_el$78","_v$30","_v$31","_v$32","_v$33","_v$34","i","_$mergeProps","onStop","_el$79","_tmpl$17","_el$80","_v$35","_v$36","queueing","steering","sending","queueMessage","steerResponse","sendMessage","_v$37","_v$38","_el$26","_tmpl$8","_el$27","_v$3","_v$4","stopResponse","_v$5","_v$6","_v$7","class","_v$8","_v$9","_v$0","messageComposer","_v$1","messageInput","_v$10","_v$11","addGuidance","writeMessage","_v$12","inputLabel","message","_v$13","_v$14","_v$15","_v$16","_v$17","n","s","h","r","d","l","u","c","_$delegateEvents"],"sources":["chat/ChatComposer.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, createUniqueId, For, type JSX, onMount, Show } from \"solid-js\";\nimport { Dropdown, type DropdownItem as DropdownItemData } from \"../actions/Dropdown\";\nimport { SelectChip } from \"../inputs/SelectChip\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { ChatContextUsage as ContextUsage } from \"./ChatPrimitives\";\nimport { executeChatAction, filterChatCommands, nextChatCommandIndex, reportChatFailure, runChatSubmission } from \"./chat-behavior\";\nimport type { ChatAction, ChatAttachment, ChatComposerState, ChatContextUsageData, ChatModelOption, ChatSubmitInput } from \"./types\";\n\nconst composerMaxInputHeight = 309;\n\nexport type ChatCommandContext = {\n setValue: (value: string) => void;\n submit: () => void;\n focus: () => void;\n};\n\nexport type ChatCommand = {\n name: string;\n description: string;\n icon?: string;\n action: (context: ChatCommandContext) => void | Promise<void>;\n};\n\nexport type ChatFileSelection = {\n onSelect: (files: readonly File[]) => void | Promise<void>;\n onError?: (error: unknown) => void;\n accept?: string;\n multiple?: boolean;\n disabled?: boolean;\n label?: string;\n};\n\nexport type ChatPasteHandler = (event: ClipboardEvent & { currentTarget: HTMLTextAreaElement; target: Element }) => void;\n\nexport type ChatComposerProps = {\n value: string;\n onValueChange: (value: string) => void;\n onSubmit: (input: ChatSubmitInput) => boolean | void | Promise<boolean | void>;\n /** Submit intent used for drafts entered while a response is running. Defaults to `steer`. */\n runningSubmitIntent?: \"steer\" | \"queue\";\n onStop?: () => void | Promise<void>;\n onError?: (error: unknown) => void;\n state?: ChatComposerState;\n attachments?: readonly ChatAttachment[];\n onAttachmentsChange?: (attachments: readonly ChatAttachment[]) => void;\n fileSelection?: ChatFileSelection;\n /** Handle non-file clipboard content. Pasted files already use `fileSelection`. */\n onPaste?: ChatPasteHandler;\n menuActions?: readonly ChatAction[];\n models?: readonly ChatModelOption[];\n selectedModelId?: string | null;\n onModelChange?: (modelId: string) => void;\n commands?: readonly ChatCommand[];\n contextUsage?: ChatContextUsageData;\n contextActions?: readonly ChatAction[];\n /** Additional compact controls rendered with the add/model controls. */\n footerTools?: JSX.Element;\n placeholder?: string;\n label?: string;\n inputLabel?: string;\n disabled?: boolean;\n error?: string;\n focusToken?: unknown;\n class?: string;\n};\n\nconst attachmentIcon = (attachment: ChatAttachment): string =>\n attachment.icon ?? (attachment.kind === \"image\" ? \"ti ti-photo\" : attachment.kind === \"resource\" ? \"ti ti-link\" : \"ti ti-file\");\n\nexport function ChatComposer(props: ChatComposerProps): JSX.Element {\n const messages = useUiMessages();\n const commandListId = `k2b-chat-commands-${createUniqueId().replace(/[^A-Za-z0-9_-]/g, \"-\")}`;\n const [selectedCommandIndex, setSelectedCommandIndex] = createSignal(0);\n const [dragActive, setDragActive] = createSignal(false);\n const [addingFiles, setAddingFiles] = createSignal(false);\n const [submitting, setSubmitting] = createSignal(false);\n let composerRef: HTMLElement | undefined;\n let textareaRef: HTMLTextAreaElement | undefined;\n let fileInputRef: HTMLInputElement | undefined;\n let sawRunning = props.state === \"running\";\n\n const state = () => props.state ?? \"idle\";\n const running = () => state() === \"running\";\n const stopping = () => state() === \"stopping\";\n const runningSubmitIntent = () => props.runningSubmitIntent ?? \"steer\";\n const attachments = () => props.attachments ?? [];\n const commands = () => props.commands ?? [];\n const commandMatches = createMemo(() => filterChatCommands(props.value, commands()));\n const commandsOpen = () => commandMatches().length > 0;\n const selectedCommand = () => commandMatches()[selectedCommandIndex()];\n const blocked = () => Boolean(props.disabled || stopping() || state() === \"submitting\" || addingFiles() || submitting());\n const hasDraft = () => Boolean(props.value.trim() || (!running() && attachments().length > 0));\n const canSubmit = () => !blocked() && hasDraft();\n const canSelectFiles = () => Boolean(props.fileSelection && !props.fileSelection.disabled && !running() && !blocked());\n const hasAddMenu = () => Boolean(props.fileSelection || props.menuActions?.length);\n const hasContextUsage = () => {\n const context = props.contextUsage;\n if (!context || typeof context.contextWindow !== \"number\" || !Number.isFinite(context.contextWindow) || context.contextWindow <= 0) {\n return false;\n }\n return [context.usage?.total, context.usage?.input, context.usage?.output].some(\n (value) => typeof value === \"number\" && Number.isFinite(value) && value >= 0,\n );\n };\n\n const menuItems = (): readonly DropdownItemData[] => {\n const items: DropdownItemData[] = [];\n if (props.fileSelection) {\n items.push({\n icon: addingFiles() ? \"ti ti-loader-2 k2b-spin\" : \"ti ti-paperclip\",\n label: props.fileSelection.label ?? messages().attachFiles,\n disabled: !canSelectFiles(),\n action: () => fileInputRef?.click(),\n });\n }\n for (const action of props.menuActions ?? []) {\n items.push({\n icon: action.icon,\n label: action.label,\n variant: action.variant,\n disabled: action.disabled,\n action: () => reportChatFailure(() => executeChatAction(action), props.onError),\n });\n }\n return items;\n };\n\n const autoResize = () => {\n if (!textareaRef) return;\n textareaRef.style.height = \"auto\";\n textareaRef.style.height = `${Math.min(textareaRef.scrollHeight, composerMaxInputHeight)}px`;\n };\n\n const focus = () => textareaRef?.focus();\n\n onMount(() => {\n autoResize();\n if (props.focusToken !== undefined) focus();\n });\n\n createEffect(() => {\n commandMatches();\n setSelectedCommandIndex(0);\n });\n\n createEffect(() => {\n props.value;\n queueMicrotask(autoResize);\n });\n\n createEffect(() => {\n props.focusToken;\n if (props.focusToken !== undefined) queueMicrotask(focus);\n });\n\n createEffect(() => {\n const active = running();\n if (sawRunning && !active && !props.disabled && typeof document !== \"undefined\") {\n const focused = document.activeElement as HTMLElement | null;\n const insideComposer = Boolean(focused && composerRef?.contains(focused));\n const editingElsewhere = Boolean(\n focused &&\n focused !== document.body &&\n !insideComposer &&\n (focused.matches(\"input, textarea, select\") || focused.isContentEditable || focused.closest(\"[role='dialog'], [popover]\")),\n );\n if (!editingElsewhere) queueMicrotask(focus);\n }\n sawRunning = active;\n });\n\n const setAttachments = (next: readonly ChatAttachment[]) => props.onAttachmentsChange?.(next);\n\n const renderAttachmentCopy = (attachment: ChatAttachment) => (\n <span>\n <strong title={attachment.name}>{attachment.name}</strong>\n </span>\n );\n\n const runFiles = async (files: FileList | readonly File[]) => {\n if (!canSelectFiles()) return;\n const selected = Array.from(files);\n if (selected.length === 0) return;\n setAddingFiles(true);\n try {\n await props.fileSelection?.onSelect(selected);\n } catch (error) {\n (props.fileSelection?.onError ?? props.onError)?.(error);\n } finally {\n setAddingFiles(false);\n if (fileInputRef) fileInputRef.value = \"\";\n queueMicrotask(focus);\n }\n };\n\n const submit = async () => {\n if (!canSubmit()) return;\n const intent = running() ? runningSubmitIntent() : \"send\";\n const previousValue = props.value;\n const previousAttachments = attachments();\n const input: ChatSubmitInput = {\n intent,\n text: previousValue.trim(),\n attachments: intent === \"send\" ? previousAttachments : [],\n };\n\n setSubmitting(true);\n try {\n await runChatSubmission({\n clear: () => {\n props.onValueChange(\"\");\n if (intent === \"send\") setAttachments([]);\n },\n perform: () => props.onSubmit(input),\n restore: () => {\n props.onValueChange(previousValue);\n if (intent === \"send\") setAttachments(previousAttachments);\n },\n onError: props.onError,\n });\n } finally {\n setSubmitting(false);\n queueMicrotask(() => {\n autoResize();\n focus();\n });\n }\n };\n\n const executeCommand = async (command: ChatCommand) => {\n props.onValueChange(\"\");\n try {\n await command.action({\n setValue: props.onValueChange,\n submit: () => void submit(),\n focus,\n });\n } catch (error) {\n props.onError?.(error);\n }\n queueMicrotask(() => {\n autoResize();\n focus();\n });\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n const matches = commandMatches();\n if (matches.length > 0) {\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n setSelectedCommandIndex((index) => nextChatCommandIndex(index, matches.length, event.key === \"ArrowUp\" ? -1 : 1));\n return;\n }\n if (event.key === \"Enter\" || event.key === \"Tab\") {\n event.preventDefault();\n const command = selectedCommand();\n if (command) void executeCommand(command);\n return;\n }\n if (event.key === \"Escape\") {\n event.preventDefault();\n props.onValueChange(\"\");\n return;\n }\n }\n if (event.key === \"Enter\" && !event.shiftKey && !event.isComposing) {\n event.preventDefault();\n void submit();\n }\n };\n\n return (\n <section\n ref={composerRef}\n class={`k2b-chat-composer ${props.class ?? \"\"}`}\n data-running={running() ? \"true\" : undefined}\n data-drag-active={dragActive() ? \"true\" : undefined}\n role=\"group\"\n aria-label={props.label ?? messages().messageComposer}\n >\n <Show when={commandsOpen()}>\n <div id={commandListId} class=\"k2b-chat-composer__commands\" role=\"listbox\" aria-label={messages().commands}>\n <For each={commandMatches()}>\n {(command, index) => (\n <button\n id={`${commandListId}-${index()}`}\n type=\"button\"\n role=\"option\"\n tabIndex={-1}\n aria-selected={index() === selectedCommandIndex()}\n data-active={index() === selectedCommandIndex() ? \"true\" : undefined}\n onPointerDown={(event) => event.preventDefault()}\n onClick={() => void executeCommand(command)}\n >\n <i class={command.icon ?? \"ti ti-slash\"} aria-hidden=\"true\" />\n <span>\n <strong>/{command.name}</strong>\n <small>{command.description}</small>\n </span>\n </button>\n )}\n </For>\n </div>\n </Show>\n\n <Show when={attachments().length > 0}>\n <div class=\"k2b-chat-composer__attachments\" role=\"list\" aria-label={messages().attachments} tabIndex={0}>\n <For each={attachments()}>\n {(attachment) => (\n <div class=\"k2b-chat-composer__attachment\" role=\"listitem\">\n <div\n class=\"k2b-chat-composer__attachment-content\"\n classList={{ \"k2b-chat-composer__attachment-content--action\": Boolean(attachment.action) }}\n >\n <Show\n when={attachment.href}\n fallback={\n <div class=\"k2b-chat-composer__attachment-identity\">\n <Show\n when={attachment.kind === \"image\" && attachment.previewUrl}\n fallback={<i class={attachmentIcon(attachment)} aria-hidden=\"true\" />}\n >\n <img src={attachment.previewUrl} alt={attachment.alt ?? \"\"} />\n </Show>\n {renderAttachmentCopy(attachment)}\n </div>\n }\n >\n {(href) => (\n <a\n class=\"k2b-chat-composer__attachment-link\"\n href={href()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={messages().openInNewTab({ name: attachment.name })}\n >\n <Show\n when={attachment.kind === \"image\" && attachment.previewUrl}\n fallback={<i class={attachmentIcon(attachment)} aria-hidden=\"true\" />}\n >\n <img src={attachment.previewUrl} alt={attachment.alt ?? \"\"} />\n </Show>\n {renderAttachmentCopy(attachment)}\n </a>\n )}\n </Show>\n <Show when={attachment.action}>\n {(action) => (\n <button\n type=\"button\"\n class=\"k2b-chat-composer__attachment-action\"\n disabled={blocked() || action().disabled}\n onClick={() => reportChatFailure(() => executeChatAction(action()), props.onError)}\n >\n <Show when={action().icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>\n {action().label}\n </button>\n )}\n </Show>\n </div>\n <Show when={props.onAttachmentsChange}>\n <button\n type=\"button\"\n class=\"k2b-chat-composer__attachment-remove\"\n aria-label={messages().removeNamed({ name: attachment.name })}\n disabled={blocked()}\n onClick={() => setAttachments(attachments().filter((candidate) => candidate.id !== attachment.id))}\n >\n <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n )}\n </For>\n </div>\n </Show>\n\n <div\n class=\"k2b-chat-composer__input\"\n role=\"group\"\n aria-label={messages().messageInput}\n onDragEnter={(event) => {\n if (!canSelectFiles() || !event.dataTransfer?.types.includes(\"Files\")) return;\n event.preventDefault();\n setDragActive(true);\n }}\n onDragOver={(event) => {\n if (!canSelectFiles() || !event.dataTransfer?.types.includes(\"Files\")) return;\n event.preventDefault();\n setDragActive(true);\n }}\n onDragLeave={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) setDragActive(false);\n }}\n onDrop={(event) => {\n if (!event.dataTransfer?.types.includes(\"Files\")) return;\n event.preventDefault();\n setDragActive(false);\n if (canSelectFiles() && event.dataTransfer.files.length) void runFiles(event.dataTransfer.files);\n }}\n >\n <Show when={dragActive()}>\n <div class=\"k2b-chat-composer__drop\" aria-hidden=\"true\">\n {messages().dropFilesToAttach}\n </div>\n </Show>\n {/* biome-ignore lint/a11y/useAriaPropsSupportedByRole: popup attributes are conditional with the combobox role */}\n <textarea\n ref={textareaRef}\n rows={1}\n value={props.value}\n disabled={blocked()}\n placeholder={props.placeholder ?? (running() ? messages().addGuidance : messages().writeMessage)}\n aria-label={props.inputLabel ?? messages().message}\n role={commandsOpen() ? \"combobox\" : undefined}\n aria-autocomplete={commandsOpen() ? \"list\" : undefined}\n aria-controls={commandsOpen() ? commandListId : undefined}\n aria-expanded={commandsOpen() ? \"true\" : undefined}\n aria-activedescendant={selectedCommand() ? `${commandListId}-${selectedCommandIndex()}` : undefined}\n onInput={(event) => {\n props.onValueChange(event.currentTarget.value);\n autoResize();\n }}\n onPaste={(event) => {\n const clipboardData = event.clipboardData;\n if (canSelectFiles() && clipboardData?.files.length) {\n event.preventDefault();\n void runFiles(clipboardData.files);\n return;\n }\n props.onPaste?.(event);\n }}\n onKeyDown={onKeyDown}\n />\n </div>\n\n <Show when={props.error}>\n <div class=\"k2b-chat-composer__error\" role=\"alert\">\n <i class=\"ti ti-alert-circle\" aria-hidden=\"true\" />\n {props.error}\n </div>\n </Show>\n\n <footer class=\"k2b-chat-composer__footer\">\n <div class=\"k2b-chat-composer__tools\">\n {props.footerTools}\n <Show when={hasAddMenu()}>\n <Dropdown.Root position=\"top-right\" width=\"12rem\" label={messages().addToChat} items={menuItems()} disabled={blocked()}>\n <Dropdown.Trigger\n appearance=\"plain\"\n class=\"k2b-chat-composer__icon-action\"\n label={messages().addToChat}\n title={messages().addToChat}\n >\n <i class=\"ti ti-plus\" aria-hidden=\"true\" />\n </Dropdown.Trigger>\n </Dropdown.Root>\n </Show>\n <Show when={props.fileSelection}>\n <input\n ref={fileInputRef}\n class=\"k2b-sr-only\"\n type=\"file\"\n tabIndex={-1}\n aria-hidden=\"true\"\n accept={props.fileSelection?.accept}\n multiple={props.fileSelection?.multiple ?? true}\n onChange={(event) => {\n if (event.currentTarget.files?.length) void runFiles(event.currentTarget.files);\n }}\n />\n </Show>\n <Show when={(props.models?.length ?? 0) > 0}>\n <SelectChip\n aria-label={messages().chooseModel}\n position=\"top-right\"\n class=\"k2b-chat-composer__model\"\n menuWidth=\"15rem\"\n placeholder={messages().model}\n value={() => props.selectedModelId ?? \"\"}\n options={(props.models ?? []).map((model) => ({\n value: model.id,\n label: model.label,\n description: model.description,\n icon: model.icon,\n image: model.image,\n }))}\n disabled={blocked() || running() || !props.onModelChange}\n onValueChange={(modelId) => {\n props.onModelChange?.(modelId);\n queueMicrotask(focus);\n }}\n />\n </Show>\n </div>\n\n <div class=\"k2b-chat-composer__submit\">\n <For each={props.contextActions}>\n {(action) => (\n <button\n type=\"button\"\n class=\"k2b-chat-composer__icon-action\"\n data-tone={action.variant === \"danger\" ? \"danger\" : undefined}\n disabled={action.disabled}\n aria-label={action.label}\n title={action.label}\n onClick={() => reportChatFailure(() => executeChatAction(action), props.onError)}\n >\n <i class={action.icon ?? \"ti ti-dots\"} aria-hidden=\"true\" />\n </button>\n )}\n </For>\n <Show when={hasContextUsage() ? props.contextUsage : undefined}>{(usage) => <ContextUsage {...usage()} />}</Show>\n <Show\n when={running() && !hasDraft() && props.onStop}\n fallback={\n <button\n type=\"button\"\n class=\"k2b-chat-composer__send\"\n disabled={!canSubmit()}\n aria-label={\n submitting()\n ? running()\n ? runningSubmitIntent() === \"queue\"\n ? messages().queueing\n : messages().steering\n : messages().sending\n : running()\n ? runningSubmitIntent() === \"queue\"\n ? messages().queueMessage\n : messages().steerResponse\n : messages().sendMessage\n }\n title={\n running()\n ? runningSubmitIntent() === \"queue\"\n ? messages().queueMessage\n : messages().steerResponse\n : messages().sendMessage\n }\n onClick={() => void submit()}\n >\n <i class={submitting() ? \"ti ti-loader-2 k2b-spin\" : \"ti ti-arrow-up\"} aria-hidden=\"true\" />\n </button>\n }\n >\n <button\n type=\"button\"\n class=\"k2b-chat-composer__stop\"\n disabled={stopping()}\n aria-label={stopping() ? messages().stopping : messages().stopResponse}\n title={stopping() ? messages().stopping : messages().stopResponse}\n onClick={() => reportChatFailure(() => props.onStop?.(), props.onError)}\n >\n <i class={stopping() ? \"ti ti-loader-2 k2b-spin\" : \"ti ti-player-stop\"} aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n </footer>\n </section>\n );\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,UAAU,EAAEC,YAAY,EAAEC,cAAc,EAAEC,GAAG,EAAYC,OAAO,EAAEC,IAAI,QAAQ,UAAU;AAC/G,SAASC,QAAQ,QAA+C,qBAAqB;AACrF,SAASC,UAAU,QAAQ,sBAAsB;AACjD,SAASC,aAAa,QAAQ,kBAAkB;AAChD,SAASC,gBAAgB,IAAIC,YAAY,QAAQ,kBAAkB;AACnE,SAASC,iBAAiB,EAAEC,kBAAkB,EAAEC,oBAAoB,EAAEC,iBAAiB,EAAEC,iBAAiB,QAAQ,iBAAiB;AAGnI,MAAMC,sBAAsB,GAAG,GAAG;AA0DlC,MAAMC,cAAc,GAAIC,UAA0B,IAChDA,UAAU,CAACC,IAAI,KAAKD,UAAU,CAACE,IAAI,KAAK,OAAO,GAAG,aAAa,GAAGF,UAAU,CAACE,IAAI,KAAK,UAAU,GAAG,YAAY,GAAG,YAAY,CAAC;AAEjI,OAAO,SAASC,YAAYA,CAACC,KAAwB,EAAe;EAClE,MAAMC,QAAQ,GAAGf,aAAa,CAAC,CAAC;EAChC,MAAMgB,aAAa,GAAG,qBAAqBtB,cAAc,CAAC,CAAC,CAACuB,OAAO,CAAC,iBAAiB,EAAE,GAAG,CAAC,EAAE;EAC7F,MAAM,CAACC,oBAAoB,EAAEC,uBAAuB,CAAC,GAAG1B,YAAY,CAAC,CAAC,CAAC;EACvE,MAAM,CAAC2B,UAAU,EAAEC,aAAa,CAAC,GAAG5B,YAAY,CAAC,KAAK,CAAC;EACvD,MAAM,CAAC6B,WAAW,EAAEC,cAAc,CAAC,GAAG9B,YAAY,CAAC,KAAK,CAAC;EACzD,MAAM,CAAC+B,UAAU,EAAEC,aAAa,CAAC,GAAGhC,YAAY,CAAC,KAAK,CAAC;EACvD,IAAIiC,WAAoC;EACxC,IAAIC,WAA4C;EAChD,IAAIC,YAA0C;EAC9C,IAAIC,UAAU,GAAGf,KAAK,CAACgB,KAAK,KAAK,SAAS;EAE1C,MAAMA,KAAK,GAAGA,CAAA,KAAMhB,KAAK,CAACgB,KAAK,IAAI,MAAM;EACzC,MAAMC,OAAO,GAAGA,CAAA,KAAMD,KAAK,CAAC,CAAC,KAAK,SAAS;EAC3C,MAAME,QAAQ,GAAGA,CAAA,KAAMF,KAAK,CAAC,CAAC,KAAK,UAAU;EAC7C,MAAMG,mBAAmB,GAAGA,CAAA,KAAMnB,KAAK,CAACmB,mBAAmB,IAAI,OAAO;EACtE,MAAMC,WAAW,GAAGA,CAAA,KAAMpB,KAAK,CAACoB,WAAW,IAAI,EAAE;EACjD,MAAMC,QAAQ,GAAGA,CAAA,KAAMrB,KAAK,CAACqB,QAAQ,IAAI,EAAE;EAC3C,MAAMC,cAAc,GAAG5C,UAAU,CAAC,MAAMY,kBAAkB,CAACU,KAAK,CAACuB,KAAK,EAAEF,QAAQ,CAAC,CAAC,CAAC,CAAC;EACpF,MAAMG,YAAY,GAAGA,CAAA,KAAMF,cAAc,CAAC,CAAC,CAACG,MAAM,GAAG,CAAC;EACtD,MAAMC,eAAe,GAAGA,CAAA,KAAMJ,cAAc,CAAC,CAAC,CAAClB,oBAAoB,CAAC,CAAC,CAAC;EACtE,MAAMuB,OAAO,GAAGA,CAAA,KAAMC,OAAO,CAAC5B,KAAK,CAAC6B,QAAQ,IAAIX,QAAQ,CAAC,CAAC,IAAIF,KAAK,CAAC,CAAC,KAAK,YAAY,IAAIR,WAAW,CAAC,CAAC,IAAIE,UAAU,CAAC,CAAC,CAAC;EACxH,MAAMoB,QAAQ,GAAGA,CAAA,KAAMF,OAAO,CAAC5B,KAAK,CAACuB,KAAK,CAACQ,IAAI,CAAC,CAAC,IAAK,CAACd,OAAO,CAAC,CAAC,IAAIG,WAAW,CAAC,CAAC,CAACK,MAAM,GAAG,CAAE,CAAC;EAC9F,MAAMO,SAAS,GAAGA,CAAA,KAAM,CAACL,OAAO,CAAC,CAAC,IAAIG,QAAQ,CAAC,CAAC;EAChD,MAAMG,cAAc,GAAGA,CAAA,KAAML,OAAO,CAAC5B,KAAK,CAACkC,aAAa,IAAI,CAAClC,KAAK,CAACkC,aAAa,CAACL,QAAQ,IAAI,CAACZ,OAAO,CAAC,CAAC,IAAI,CAACU,OAAO,CAAC,CAAC,CAAC;EACtH,MAAMQ,UAAU,GAAGA,CAAA,KAAMP,OAAO,CAAC5B,KAAK,CAACkC,aAAa,IAAIlC,KAAK,CAACoC,WAAW,EAAEX,MAAM,CAAC;EAClF,MAAMY,eAAe,GAAGA,CAAA,KAAM;IAC5B,MAAMC,OAAO,GAAGtC,KAAK,CAACuC,YAAY;IAClC,IAAI,CAACD,OAAO,IAAI,OAAOA,OAAO,CAACE,aAAa,KAAK,QAAQ,IAAI,CAACC,MAAM,CAACC,QAAQ,CAACJ,OAAO,CAACE,aAAa,CAAC,IAAIF,OAAO,CAACE,aAAa,IAAI,CAAC,EAAE;MAClI,OAAO,KAAK;IACd;IACA,OAAO,CAACF,OAAO,CAACK,KAAK,EAAEC,KAAK,EAAEN,OAAO,CAACK,KAAK,EAAEE,KAAK,EAAEP,OAAO,CAACK,KAAK,EAAEG,MAAM,CAAC,CAACC,IAAI,CAC5ExB,KAAK,IAAK,OAAOA,KAAK,KAAK,QAAQ,IAAIkB,MAAM,CAACC,QAAQ,CAACnB,KAAK,CAAC,IAAIA,KAAK,IAAI,CAC7E,CAAC;EACH,CAAC;EAED,MAAMyB,SAAS,GAAGA,CAAA,KAAmC;IACnD,MAAMC,KAAyB,GAAG,EAAE;IACpC,IAAIjD,KAAK,CAACkC,aAAa,EAAE;MACvBe,KAAK,CAACC,IAAI,CAAC;QACTrD,IAAI,EAAEW,WAAW,CAAC,CAAC,GAAG,yBAAyB,GAAG,iBAAiB;QACnE2C,KAAK,EAAEnD,KAAK,CAACkC,aAAa,CAACiB,KAAK,IAAIlD,QAAQ,CAAC,CAAC,CAACmD,WAAW;QAC1DvB,QAAQ,EAAE,CAACI,cAAc,CAAC,CAAC;QAC3BoB,MAAM,EAAEA,CAAA,KAAMvC,YAAY,EAAEwC,KAAK,CAAC;MACpC,CAAC,CAAC;IACJ;IACA,KAAK,MAAMD,MAAM,IAAIrD,KAAK,CAACoC,WAAW,IAAI,EAAE,EAAE;MAC5Ca,KAAK,CAACC,IAAI,CAAC;QACTrD,IAAI,EAAEwD,MAAM,CAACxD,IAAI;QACjBsD,KAAK,EAAEE,MAAM,CAACF,KAAK;QACnBI,OAAO,EAAEF,MAAM,CAACE,OAAO;QACvB1B,QAAQ,EAAEwB,MAAM,CAACxB,QAAQ;QACzBwB,MAAM,EAAEA,CAAA,KAAM7D,iBAAiB,CAAC,MAAMH,iBAAiB,CAACgE,MAAM,CAAC,EAAErD,KAAK,CAACwD,OAAO;MAChF,CAAC,CAAC;IACJ;IACA,OAAOP,KAAK;EACd,CAAC;EAED,MAAMQ,UAAU,GAAGA,CAAA,KAAM;IACvB,IAAI,CAAC5C,WAAW,EAAE;IAClBA,WAAW,CAAC6C,KAAK,CAACC,MAAM,GAAG,MAAM;IACjC9C,WAAW,CAAC6C,KAAK,CAACC,MAAM,GAAG,GAAGC,IAAI,CAACC,GAAG,CAAChD,WAAW,CAACiD,YAAY,EAAEpE,sBAAsB,CAAC,IAAI;EAC9F,CAAC;EAED,MAAMqE,KAAK,GAAGA,CAAA,KAAMlD,WAAW,EAAEkD,KAAK,CAAC,CAAC;EAExCjF,OAAO,CAAC,MAAM;IACZ2E,UAAU,CAAC,CAAC;IACZ,IAAIzD,KAAK,CAACgE,UAAU,KAAKC,SAAS,EAAEF,KAAK,CAAC,CAAC;EAC7C,CAAC,CAAC;EAEFtF,YAAY,CAAC,MAAM;IACjB6C,cAAc,CAAC,CAAC;IAChBjB,uBAAuB,CAAC,CAAC,CAAC;EAC5B,CAAC,CAAC;EAEF5B,YAAY,CAAC,MAAM;IACjBuB,KAAK,CAACuB,KAAK;IACX2C,cAAc,CAACT,UAAU,CAAC;EAC5B,CAAC,CAAC;EAEFhF,YAAY,CAAC,MAAM;IACjBuB,KAAK,CAACgE,UAAU;IAChB,IAAIhE,KAAK,CAACgE,UAAU,KAAKC,SAAS,EAAEC,cAAc,CAACH,KAAK,CAAC;EAC3D,CAAC,CAAC;EAEFtF,YAAY,CAAC,MAAM;IACjB,MAAM0F,MAAM,GAAGlD,OAAO,CAAC,CAAC;IACxB,IAAIF,UAAU,IAAI,CAACoD,MAAM,IAAI,CAACnE,KAAK,CAAC6B,QAAQ,IAAI,OAAOuC,QAAQ,KAAK,WAAW,EAAE;MAC/E,MAAMC,OAAO,GAAGD,QAAQ,CAACE,aAAmC;MAC5D,MAAMC,cAAc,GAAG3C,OAAO,CAACyC,OAAO,IAAIzD,WAAW,EAAE4D,QAAQ,CAACH,OAAO,CAAC,CAAC;MACzE,MAAMI,gBAAgB,GAAG7C,OAAO,CAC9ByC,OAAO,IACLA,OAAO,KAAKD,QAAQ,CAACM,IAAI,IACzB,CAACH,cAAc,KACdF,OAAO,CAACM,OAAO,CAAC,yBAAyB,CAAC,IAAIN,OAAO,CAACO,iBAAiB,IAAIP,OAAO,CAACQ,OAAO,CAAC,4BAA4B,CAAC,CAC7H,CAAC;MACD,IAAI,CAACJ,gBAAgB,EAAEP,cAAc,CAACH,KAAK,CAAC;IAC9C;IACAhD,UAAU,GAAGoD,MAAM;EACrB,CAAC,CAAC;EAEF,MAAMW,cAAc,GAAIC,IAA+B,IAAK/E,KAAK,CAACgF,mBAAmB,GAAGD,IAAI,CAAC;EAE7F,MAAME,oBAAoB,GAAIrF,UAA0B;IAAA,IAAAsF,IAAA,GAAAC,gBAAA,CAAAC,MAAA;MAAAC,KAAA,GAAAH,IAAA,CAAAI,UAAA;IAAAC,QAAA,CAAAF,KAAA,QAEnBzF,UAAU,CAAC4F,IAAI;IAAAC,QAAA,OAAAC,cAAA,CAAAL,KAAA,WAAjCzF,UAAU,CAAC4F,IAAI;IAAA,OAAAN,IAAA;EAAA,IAEjC;EAED,MAAMS,QAAQ,GAAG,MAAOC,KAAiC,IAAK;IAC5D,IAAI,CAAC3D,cAAc,CAAC,CAAC,EAAE;IACvB,MAAM4D,QAAQ,GAAGC,KAAK,CAACC,IAAI,CAACH,KAAK,CAAC;IAClC,IAAIC,QAAQ,CAACpE,MAAM,KAAK,CAAC,EAAE;IAC3BhB,cAAc,CAAC,IAAI,CAAC;IACpB,IAAI;MACF,MAAMT,KAAK,CAACkC,aAAa,EAAE8D,QAAQ,CAACH,QAAQ,CAAC;IAC/C,CAAC,CAAC,OAAOI,KAAK,EAAE;MACd,CAACjG,KAAK,CAACkC,aAAa,EAAEsB,OAAO,IAAIxD,KAAK,CAACwD,OAAO,IAAIyC,KAAK,CAAC;IAC1D,CAAC,SAAS;MACRxF,cAAc,CAAC,KAAK,CAAC;MACrB,IAAIK,YAAY,EAAEA,YAAY,CAACS,KAAK,GAAG,EAAE;MACzC2C,cAAc,CAACH,KAAK,CAAC;IACvB;EACF,CAAC;EAED,MAAMmC,MAAM,GAAG,MAAAA,CAAA,KAAY;IACzB,IAAI,CAAClE,SAAS,CAAC,CAAC,EAAE;IAClB,MAAMmE,MAAM,GAAGlF,OAAO,CAAC,CAAC,GAAGE,mBAAmB,CAAC,CAAC,GAAG,MAAM;IACzD,MAAMiF,aAAa,GAAGpG,KAAK,CAACuB,KAAK;IACjC,MAAM8E,mBAAmB,GAAGjF,WAAW,CAAC,CAAC;IACzC,MAAMyB,KAAsB,GAAG;MAC7BsD,MAAM;MACNG,IAAI,EAAEF,aAAa,CAACrE,IAAI,CAAC,CAAC;MAC1BX,WAAW,EAAE+E,MAAM,KAAK,MAAM,GAAGE,mBAAmB,GAAG;IACzD,CAAC;IAED1F,aAAa,CAAC,IAAI,CAAC;IACnB,IAAI;MACF,MAAMlB,iBAAiB,CAAC;QACtB8G,KAAK,EAAEA,CAAA,KAAM;UACXvG,KAAK,CAACwG,aAAa,CAAC,EAAE,CAAC;UACvB,IAAIL,MAAM,KAAK,MAAM,EAAErB,cAAc,CAAC,EAAE,CAAC;QAC3C,CAAC;QACD2B,OAAO,EAAEA,CAAA,KAAMzG,KAAK,CAAC0G,QAAQ,CAAC7D,KAAK,CAAC;QACpC8D,OAAO,EAAEA,CAAA,KAAM;UACb3G,KAAK,CAACwG,aAAa,CAACJ,aAAa,CAAC;UAClC,IAAID,MAAM,KAAK,MAAM,EAAErB,cAAc,CAACuB,mBAAmB,CAAC;QAC5D,CAAC;QACD7C,OAAO,EAAExD,KAAK,CAACwD;MACjB,CAAC,CAAC;IACJ,CAAC,SAAS;MACR7C,aAAa,CAAC,KAAK,CAAC;MACpBuD,cAAc,CAAC,MAAM;QACnBT,UAAU,CAAC,CAAC;QACZM,KAAK,CAAC,CAAC;MACT,CAAC,CAAC;IACJ;EACF,CAAC;EAED,MAAM6C,cAAc,GAAG,MAAOC,OAAoB,IAAK;IACrD7G,KAAK,CAACwG,aAAa,CAAC,EAAE,CAAC;IACvB,IAAI;MACF,MAAMK,OAAO,CAACxD,MAAM,CAAC;QACnByD,QAAQ,EAAE9G,KAAK,CAACwG,aAAa;QAC7BN,MAAM,EAAEA,CAAA,KAAM,KAAKA,MAAM,CAAC,CAAC;QAC3BnC;MACF,CAAC,CAAC;IACJ,CAAC,CAAC,OAAOkC,KAAK,EAAE;MACdjG,KAAK,CAACwD,OAAO,GAAGyC,KAAK,CAAC;IACxB;IACA/B,cAAc,CAAC,MAAM;MACnBT,UAAU,CAAC,CAAC;MACZM,KAAK,CAAC,CAAC;IACT,CAAC,CAAC;EACJ,CAAC;EAED,MAAMgD,SAAS,GAAIC,KAAoB,IAAK;IAC1C,MAAMrC,OAAO,GAAGrD,cAAc,CAAC,CAAC;IAChC,IAAIqD,OAAO,CAAClD,MAAM,GAAG,CAAC,EAAE;MACtB,IAAIuF,KAAK,CAACC,GAAG,KAAK,SAAS,IAAID,KAAK,CAACC,GAAG,KAAK,WAAW,EAAE;QACxDD,KAAK,CAACE,cAAc,CAAC,CAAC;QACtB7G,uBAAuB,CAAE8G,KAAK,IAAK5H,oBAAoB,CAAC4H,KAAK,EAAExC,OAAO,CAAClD,MAAM,EAAEuF,KAAK,CAACC,GAAG,KAAK,SAAS,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;QACjH;MACF;MACA,IAAID,KAAK,CAACC,GAAG,KAAK,OAAO,IAAID,KAAK,CAACC,GAAG,KAAK,KAAK,EAAE;QAChDD,KAAK,CAACE,cAAc,CAAC,CAAC;QACtB,MAAML,OAAO,GAAGnF,eAAe,CAAC,CAAC;QACjC,IAAImF,OAAO,EAAE,KAAKD,cAAc,CAACC,OAAO,CAAC;QACzC;MACF;MACA,IAAIG,KAAK,CAACC,GAAG,KAAK,QAAQ,EAAE;QAC1BD,KAAK,CAACE,cAAc,CAAC,CAAC;QACtBlH,KAAK,CAACwG,aAAa,CAAC,EAAE,CAAC;QACvB;MACF;IACF;IACA,IAAIQ,KAAK,CAACC,GAAG,KAAK,OAAO,IAAI,CAACD,KAAK,CAACI,QAAQ,IAAI,CAACJ,KAAK,CAACK,WAAW,EAAE;MAClEL,KAAK,CAACE,cAAc,CAAC,CAAC;MACtB,KAAKhB,MAAM,CAAC,CAAC;IACf;EACF,CAAC;EAED;IAAA,IAAAoB,KAAA,GAAAnC,gBAAA,CAAAoC,OAAA;MAAAC,MAAA,GAAAF,KAAA,CAAAhC,UAAA;MAAA,CAAAmC,MAAA,EAAAC,KAAA,IAAAC,eAAA,CAAAH,MAAA,CAAAI,WAAA;MAAAC,MAAA,GAAAJ,MAAA,CAAAG,WAAA;MAAA,CAAAE,MAAA,EAAAC,KAAA,IAAAJ,eAAA,CAAAE,MAAA,CAAAD,WAAA;MAAAI,KAAA,GAAAF,MAAA,CAAAF,WAAA;MAAAK,KAAA,GAAAD,KAAA,CAAA1C,UAAA;MAAA,CAAA4C,KAAA,EAAAC,IAAA,IAAAR,eAAA,CAAAM,KAAA,CAAAL,WAAA;MAAAQ,KAAA,GAAAF,KAAA,CAAAN,WAAA;MAAAS,MAAA,GAAAL,KAAA,CAAAJ,WAAA;MAAA,CAAAU,MAAA,EAAAC,MAAA,IAAAZ,eAAA,CAAAU,MAAA,CAAAT,WAAA;MAAAY,MAAA,GAAAF,MAAA,CAAAV,WAAA;MAAAa,MAAA,GAAAD,MAAA,CAAAlD,UAAA;MAAAoD,MAAA,GAAAD,MAAA,CAAAnD,UAAA;MAAA,CAAAqD,MAAA,EAAAC,KAAA,IAAAjB,eAAA,CAAAe,MAAA,CAAAd,WAAA;MAAAiB,MAAA,GAAAF,MAAA,CAAAf,WAAA;MAAA,CAAAkB,MAAA,EAAAC,KAAA,IAAApB,eAAA,CAAAkB,MAAA,CAAAjB,WAAA;MAAAoB,MAAA,GAAAF,MAAA,CAAAlB,WAAA;MAAA,CAAAqB,MAAA,EAAAC,KAAA,IAAAvB,eAAA,CAAAqB,MAAA,CAAApB,WAAA;MAAAuB,MAAA,GAAAF,MAAA,CAAArB,WAAA;MAAA,CAAAwB,MAAA,EAAAC,KAAA,IAAA1B,eAAA,CAAAwB,MAAA,CAAAvB,WAAA;MAAA0B,MAAA,GAAAb,MAAA,CAAAb,WAAA;MAAA2B,MAAA,GAAAD,MAAA,CAAAhE,UAAA;MAAA,CAAAkE,MAAA,EAAAC,KAAA,IAAA9B,eAAA,CAAA4B,MAAA,CAAA3B,WAAA;MAAA8B,MAAA,GAAAF,MAAA,CAAA5B,WAAA;MAAA,CAAA+B,MAAA,EAAAC,KAAA,IAAAjC,eAAA,CAAA+B,MAAA,CAAA9B,WAAA;MAAAiC,MAAA,GAAAF,MAAA,CAAA/B,WAAA;MAAA,CAAAkC,MAAA,EAAAC,KAAA,IAAApC,eAAA,CAAAkC,MAAA,CAAAjC,WAAA;IAAA,IAAAoC,KAAA,GAESpJ,WAAW;IAAA,OAAAoJ,KAAA,kBAAAC,KAAA,CAAAD,KAAA,EAAA1C,KAAA,IAAX1G,WAAW,GAAA0G,KAAA;IAAA/B,QAAA,CAAA+B,KAAA,EAAA4C,iBAAA,CAOfnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAE3I,YAAY,CAAC,CAAC;MAAA;MAAA,IAAA4I,SAAA;QAAA,IAAAC,KAAA,GAAAlF,gBAAA,CAAAmF,OAAA;QAAA5E,cAAA,CAAA2E,KAAA,QACfnK,aAAa;QAAAqF,QAAA,CAAA8E,KAAA,EAAAH,iBAAA,CACnBrL,GAAG;UAAA,IAAC0L,IAAIA,CAAA;YAAA,OAAEjJ,cAAc,CAAC,CAAC;UAAA;UAAA8I,QAAA,EACxBA,CAACvD,OAAO,EAAEM,KAAK;YAAA,IAAAqD,MAAA,GAAArF,gBAAA,CAAAsF,OAAA;cAAAC,MAAA,GAAAF,MAAA,CAAAlF,UAAA;cAAAqF,MAAA,GAAAD,MAAA,CAAA9C,WAAA;cAAAgD,MAAA,GAAAD,MAAA,CAAArF,UAAA;cAAAuF,MAAA,GAAAD,MAAA,CAAAtF,UAAA;cAAAwF,MAAA,GAAAD,MAAA,CAAAjD,WAAA;cAAA,CAAAmD,MAAA,EAAAC,MAAA,IAAArD,eAAA,CAAAmD,MAAA,CAAAlD,WAAA;cAAAqD,MAAA,GAAAL,MAAA,CAAAhD,WAAA;YAAA4C,MAAA,CAAAU,OAAA,GASH,MAAM,KAAKtE,cAAc,CAACC,OAAO,CAAC;YAAA2D,MAAA,CAAAW,aAAA,GAD3BnE,KAAK,IAAKA,KAAK,CAACE,cAAc,CAAC,CAAC;YAAA3B,QAAA,CAAAqF,MAAA,QAKpC/D,OAAO,CAACrB,IAAI,EAAAuF,MAAA,EAAAC,MAAA;YAAAzF,QAAA,CAAA0F,MAAA,QACdpE,OAAO,CAACuE,WAAW;YAAA3F,QAAA,CAAA4F,GAAA;cAAA,IAAAC,KAAA,GAZzB,GAAGpL,aAAa,IAAIiH,KAAK,CAAC,CAAC,EAAE;gBAAAoE,KAAA,GAIlBpE,KAAK,CAAC,CAAC,KAAK/G,oBAAoB,CAAC,CAAC;gBAAAoL,KAAA,GACpCrE,KAAK,CAAC,CAAC,KAAK/G,oBAAoB,CAAC,CAAC,GAAG,MAAM,GAAG6D,SAAS;gBAAAwH,KAAA,GAI1D5E,OAAO,CAAChH,IAAI,IAAI,aAAa;cAAAyL,KAAA,KAAAD,GAAA,CAAAK,CAAA,IAAAhG,cAAA,CAAA8E,MAAA,QAAAa,GAAA,CAAAK,CAAA,GAAAJ,KAAA;cAAAC,KAAA,KAAAF,GAAA,CAAAM,CAAA,IAAAjG,cAAA,CAAA8E,MAAA,mBAAAa,GAAA,CAAAM,CAAA,GAAAJ,KAAA;cAAAC,KAAA,KAAAH,GAAA,CAAAO,CAAA,IAAAlG,cAAA,CAAA8E,MAAA,iBAAAa,GAAA,CAAAO,CAAA,GAAAJ,KAAA;cAAAC,KAAA,KAAAJ,GAAA,CAAAQ,CAAA,IAAAC,WAAA,CAAApB,MAAA,EAAAW,GAAA,CAAAQ,CAAA,GAAAJ,KAAA;cAAA,OAAAJ,GAAA;YAAA;cAAAK,CAAA,EAAAzH,SAAA;cAAA0H,CAAA,EAAA1H,SAAA;cAAA2H,CAAA,EAAA3H,SAAA;cAAA4H,CAAA,EAAA5H;YAAA;YAAA8H,oBAAA;YAAA,OAAAvB,MAAA;UAAA;QAM1C;QAAA/E,QAAA,OAAAC,cAAA,CAAA2E,KAAA,gBAnBkFpK,QAAQ,CAAC,CAAC,CAACoB,QAAQ;QAAA,OAAAgJ,KAAA;MAAA;IAAA,IAAA5C,MAAA,EAAAC,KAAA;IAAAnC,QAAA,CAAA+B,KAAA,EAAA4C,iBAAA,CAwB3GnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAE/I,WAAW,CAAC,CAAC,CAACK,MAAM,GAAG,CAAC;MAAA;MAAA,IAAA2I,SAAA;QAAA,IAAA4B,KAAA,GAAA7G,gBAAA,CAAA8G,OAAA;QAAA1G,QAAA,CAAAyG,KAAA,EAAA9B,iBAAA,CAE/BrL,GAAG;UAAA,IAAC0L,IAAIA,CAAA;YAAA,OAAEnJ,WAAW,CAAC,CAAC;UAAA;UAAAgJ,QAAA,EACpBxK,UAAU;YAAA,IAAAsM,MAAA,GAAA/G,gBAAA,CAAAgH,QAAA;cAAAC,MAAA,GAAAF,MAAA,CAAA5G,UAAA;cAAA+G,MAAA,GAAAD,MAAA,CAAA9G,UAAA;cAAA,CAAAgH,MAAA,EAAAC,MAAA,IAAA5E,eAAA,CAAA0E,MAAA,CAAAzE,WAAA;cAAA4E,MAAA,GAAAF,MAAA,CAAA1E,WAAA;cAAA,CAAA6E,MAAA,EAAAC,MAAA,IAAA/E,eAAA,CAAA6E,MAAA,CAAA5E,WAAA;cAAA+E,MAAA,GAAAP,MAAA,CAAAxE,WAAA;cAAA,CAAAgF,MAAA,EAAAC,MAAA,IAAAlF,eAAA,CAAAgF,MAAA,CAAA/E,WAAA;YAAArC,QAAA,CAAA6G,MAAA,EAAAlC,iBAAA,CAMLnL,IAAI;cAAA,IACHoL,IAAIA,CAAA;gBAAA,OAAEvK,UAAU,CAACkN,IAAI;cAAA;cAAA,IACrBC,QAAQA,CAAA;gBAAA;kBAAA,IAAAC,MAAA,GAAA7H,gBAAA,CAAA8H,QAAA;oBAAAC,MAAA,GAAAF,MAAA,CAAA1H,UAAA;oBAAA,CAAA6H,MAAA,EAAAC,MAAA,IAAAzF,eAAA,CAAAuF,MAAA,CAAAtF,WAAA;oBAAAyF,MAAA,GAAAF,MAAA,CAAAvF,WAAA;oBAAA,CAAA0F,MAAA,EAAAC,MAAA,IAAA5F,eAAA,CAAA0F,MAAA,CAAAzF,WAAA;kBAAArC,QAAA,CAAAyH,MAAA,EAAA9C,iBAAA,CAEHnL,IAAI;oBAAA,IACHoL,IAAIA,CAAA;sBAAA,OAAEqD,MAAA,OAAA5N,UAAU,CAACE,IAAI,KAAK,OAAO,OAAIF,UAAU,CAAC6N,UAAU;oBAAA;oBAAA,IAC1DV,QAAQA,CAAA;sBAAA;wBAAA,IAAAW,MAAA,GAAAvI,gBAAA,CAAAwI,QAAA;wBAAAlI,QAAA,OAAAqG,WAAA,CAAA4B,MAAA,EAAY/N,cAAc,CAACC,UAAU,CAAC;wBAAA,OAAA8N,MAAA;sBAAA;oBAAA;oBAAA,IAAAtD,SAAA;sBAAA,IAAAwD,MAAA,GAAAzI,gBAAA,CAAA0I,QAAA;sBAAApI,QAAA,CAAA4F,GAAA;wBAAA,IAAAyC,KAAA,GAEpClO,UAAU,CAAC6N,UAAU;0BAAAM,KAAA,GAAOnO,UAAU,CAACoO,GAAG,IAAI,EAAE;wBAAAF,KAAA,KAAAzC,GAAA,CAAAK,CAAA,IAAAhG,cAAA,CAAAkI,MAAA,SAAAvC,GAAA,CAAAK,CAAA,GAAAoC,KAAA;wBAAAC,KAAA,KAAA1C,GAAA,CAAAM,CAAA,IAAAjG,cAAA,CAAAkI,MAAA,SAAAvC,GAAA,CAAAM,CAAA,GAAAoC,KAAA;wBAAA,OAAA1C,GAAA;sBAAA;wBAAAK,CAAA,EAAAzH,SAAA;wBAAA0H,CAAA,EAAA1H;sBAAA;sBAAA,OAAA2J,MAAA;oBAAA;kBAAA,IAAAT,MAAA,EAAAC,MAAA;kBAAA7H,QAAA,CAAAyH,MAAA,QAE3D/H,oBAAoB,CAACrF,UAAU,CAAC,EAAA0N,MAAA,EAAAC,MAAA;kBAAA,OAAAP,MAAA;gBAAA;cAAA;cAAA5C,QAAA,EAInC0C,IAAI;gBAAA,IAAAmB,MAAA,GAAA9I,gBAAA,CAAA+I,QAAA;kBAAAC,MAAA,GAAAF,MAAA,CAAA3I,UAAA;kBAAA,CAAA8I,MAAA,EAAAC,MAAA,IAAA1G,eAAA,CAAAwG,MAAA,CAAAvG,WAAA;kBAAA0G,MAAA,GAAAF,MAAA,CAAAxG,WAAA;kBAAA,CAAA2G,MAAA,EAAAC,MAAA,IAAA7G,eAAA,CAAA2G,MAAA,CAAA1G,WAAA;gBAAArC,QAAA,CAAA0I,MAAA,EAAA/D,iBAAA,CAQDnL,IAAI;kBAAA,IACHoL,IAAIA,CAAA;oBAAA,OAAEqD,MAAA,OAAA5N,UAAU,CAACE,IAAI,KAAK,OAAO,OAAIF,UAAU,CAAC6N,UAAU;kBAAA;kBAAA,IAC1DV,QAAQA,CAAA;oBAAA;sBAAA,IAAA0B,MAAA,GAAAtJ,gBAAA,CAAAwI,QAAA;sBAAAlI,QAAA,OAAAqG,WAAA,CAAA2C,MAAA,EAAY9O,cAAc,CAACC,UAAU,CAAC;sBAAA,OAAA6O,MAAA;oBAAA;kBAAA;kBAAA,IAAArE,SAAA;oBAAA,IAAAsE,MAAA,GAAAvJ,gBAAA,CAAA0I,QAAA;oBAAApI,QAAA,CAAA4F,GAAA;sBAAA,IAAAsD,KAAA,GAEpC/O,UAAU,CAAC6N,UAAU;wBAAAmB,KAAA,GAAOhP,UAAU,CAACoO,GAAG,IAAI,EAAE;sBAAAW,KAAA,KAAAtD,GAAA,CAAAK,CAAA,IAAAhG,cAAA,CAAAgJ,MAAA,SAAArD,GAAA,CAAAK,CAAA,GAAAiD,KAAA;sBAAAC,KAAA,KAAAvD,GAAA,CAAAM,CAAA,IAAAjG,cAAA,CAAAgJ,MAAA,SAAArD,GAAA,CAAAM,CAAA,GAAAiD,KAAA;sBAAA,OAAAvD,GAAA;oBAAA;sBAAAK,CAAA,EAAAzH,SAAA;sBAAA0H,CAAA,EAAA1H;oBAAA;oBAAA,OAAAyK,MAAA;kBAAA;gBAAA,IAAAN,MAAA,EAAAC,MAAA;gBAAA9I,QAAA,CAAA0I,MAAA,QAE3DhJ,oBAAoB,CAACrF,UAAU,CAAC,EAAA2O,MAAA,EAAAC,MAAA;gBAAA/I,QAAA,CAAA4F,GAAA;kBAAA,IAAAwD,KAAA,GAX3B/B,IAAI,CAAC,CAAC;oBAAAgC,KAAA,GAGA7O,QAAQ,CAAC,CAAC,CAAC8O,YAAY,CAAC;sBAAEvJ,IAAI,EAAE5F,UAAU,CAAC4F;oBAAK,CAAC,CAAC;kBAAAqJ,KAAA,KAAAxD,GAAA,CAAAK,CAAA,IAAAhG,cAAA,CAAAuI,MAAA,UAAA5C,GAAA,CAAAK,CAAA,GAAAmD,KAAA;kBAAAC,KAAA,KAAAzD,GAAA,CAAAM,CAAA,IAAAjG,cAAA,CAAAuI,MAAA,gBAAA5C,GAAA,CAAAM,CAAA,GAAAmD,KAAA;kBAAA,OAAAzD,GAAA;gBAAA;kBAAAK,CAAA,EAAAzH,SAAA;kBAAA0H,CAAA,EAAA1H;gBAAA;gBAAA,OAAAgK,MAAA;cAAA;YAUjE,IAAA3B,MAAA,EAAAC,MAAA;YAAAhH,QAAA,CAAA6G,MAAA,EAAAlC,iBAAA,CAEFnL,IAAI;cAAA,IAACoL,IAAIA,CAAA;gBAAA,OAAEvK,UAAU,CAACyD,MAAM;cAAA;cAAA+G,QAAA,EACzB/G,MAAM;gBAAA,IAAA2L,MAAA,GAAA7J,gBAAA,CAAA8J,QAAA;kBAAAC,MAAA,GAAAF,MAAA,CAAA1J,UAAA;kBAAA,CAAA6J,MAAA,EAAAC,MAAA,IAAAzH,eAAA,CAAAuH,MAAA,CAAAtH,WAAA;kBAAAyH,MAAA,GAAAF,MAAA,CAAAvH,WAAA;kBAAA,CAAA0H,MAAA,EAAAC,MAAA,IAAA5H,eAAA,CAAA0H,MAAA,CAAAzH,WAAA;gBAAAoH,MAAA,CAAA9D,OAAA,GAKK,MAAM1L,iBAAiB,CAAC,MAAMH,iBAAiB,CAACgE,MAAM,CAAC,CAAC,CAAC,EAAErD,KAAK,CAACwD,OAAO,CAAC;gBAAA+B,QAAA,CAAAyJ,MAAA,EAAA9E,iBAAA,CAEjFnL,IAAI;kBAAA,IAACoL,IAAIA,CAAA;oBAAA,OAAE9G,MAAM,CAAC,CAAC,CAACxD,IAAI;kBAAA;kBAAAuK,QAAA,EAAIvK,IAAI;oBAAA,IAAA2P,MAAA,GAAArK,gBAAA,CAAAwI,QAAA;oBAAAlI,QAAA,OAAAqG,WAAA,CAAA0D,MAAA,EAAe3P,IAAI,CAAC,CAAC;oBAAA,OAAA2P,MAAA;kBAAA;gBAAuB,IAAAL,MAAA,EAAAC,MAAA;gBAAA7J,QAAA,CAAAyJ,MAAA,QAC5E3L,MAAM,CAAC,CAAC,CAACF,KAAK,EAAAmM,MAAA,EAAAC,MAAA;gBAAA9J,QAAA,OAAAgK,aAAA,CAAAT,MAAA,cAJLrN,OAAO,CAAC,CAAC,IAAI0B,MAAM,CAAC,CAAC,CAACxB,QAAQ;gBAAAkK,oBAAA;gBAAA,OAAAiD,MAAA;cAAA;YAM3C,IAAAvC,MAAA,EAAAC,MAAA;YAAAnH,QAAA,CAAA2G,MAAA,EAAAhC,iBAAA,CAGJnL,IAAI;cAAA,IAACoL,IAAIA,CAAA;gBAAA,OAAEnK,KAAK,CAACgF,mBAAmB;cAAA;cAAA,IAAAoF,SAAA;gBAAA,IAAAsF,MAAA,GAAAvK,gBAAA,CAAAwK,OAAA;gBAAAD,MAAA,CAAAxE,OAAA,GAMxB,MAAMpG,cAAc,CAAC1D,WAAW,CAAC,CAAC,CAACwO,MAAM,CAAEC,SAAS,IAAKA,SAAS,CAACC,EAAE,KAAKlQ,UAAU,CAACkQ,EAAE,CAAC,CAAC;gBAAArK,QAAA,CAAA4F,GAAA;kBAAA,IAAA0E,KAAA,GAFtF9P,QAAQ,CAAC,CAAC,CAAC+P,WAAW,CAAC;sBAAExK,IAAI,EAAE5F,UAAU,CAAC4F;oBAAK,CAAC,CAAC;oBAAAyK,KAAA,GACnDtO,OAAO,CAAC,CAAC;kBAAAoO,KAAA,KAAA1E,GAAA,CAAAK,CAAA,IAAAhG,cAAA,CAAAgK,MAAA,gBAAArE,GAAA,CAAAK,CAAA,GAAAqE,KAAA;kBAAAE,KAAA,KAAA5E,GAAA,CAAAM,CAAA,IAAA8D,aAAA,CAAAC,MAAA,cAAArE,GAAA,CAAAM,CAAA,GAAAsE,KAAA;kBAAA,OAAA5E,GAAA;gBAAA;kBAAAK,CAAA,EAAAzH,SAAA;kBAAA0H,CAAA,EAAA1H;gBAAA;gBAAA8H,oBAAA;gBAAA,OAAA2D,MAAA;cAAA;YAAA,IAAA9C,MAAA,EAAAC,MAAA;YAAApH,QAAA,OAAA2G,MAAA,CAAA8D,SAAA,CAAAC,MAAA,oDArDyCvO,OAAO,CAAChC,UAAU,CAACyD,MAAM,CAAC;YAAA,OAAA6I,MAAA;UAAA;QA4D7F;QAAAzG,QAAA,OAAAC,cAAA,CAAAsG,KAAA,gBAlE+D/L,QAAQ,CAAC,CAAC,CAACmB,WAAW;QAAA,OAAA4K,KAAA;MAAA;IAAA,IAAAlE,MAAA,EAAAC,KAAA;IAAAC,KAAA,CAAAoI,gBAAA,SAwFjFpJ,KAAK,IAAK;MACjB,IAAI,CAACA,KAAK,CAACqJ,YAAY,EAAEC,KAAK,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;MAClDvJ,KAAK,CAACE,cAAc,CAAC,CAAC;MACtB3G,aAAa,CAAC,KAAK,CAAC;MACpB,IAAI0B,cAAc,CAAC,CAAC,IAAI+E,KAAK,CAACqJ,YAAY,CAACzK,KAAK,CAACnE,MAAM,EAAE,KAAKkE,QAAQ,CAACqB,KAAK,CAACqJ,YAAY,CAACzK,KAAK,CAAC;IAClG,CAAC;IAAAoC,KAAA,CAAAoI,gBAAA,cARapJ,KAAK,IAAK;MACtB,IAAI,CAACA,KAAK,CAACwJ,aAAa,CAAChM,QAAQ,CAACwC,KAAK,CAACyJ,aAA4B,CAAC,EAAElQ,aAAa,CAAC,KAAK,CAAC;IAC7F,CAAC;IAAAyH,KAAA,CAAAoI,gBAAA,aAPYpJ,KAAK,IAAK;MACrB,IAAI,CAAC/E,cAAc,CAAC,CAAC,IAAI,CAAC+E,KAAK,CAACqJ,YAAY,EAAEC,KAAK,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;MACvEvJ,KAAK,CAACE,cAAc,CAAC,CAAC;MACtB3G,aAAa,CAAC,IAAI,CAAC;IACrB,CAAC;IAAAyH,KAAA,CAAAoI,gBAAA,cATapJ,KAAK,IAAK;MACtB,IAAI,CAAC/E,cAAc,CAAC,CAAC,IAAI,CAAC+E,KAAK,CAACqJ,YAAY,EAAEC,KAAK,CAACC,QAAQ,CAAC,OAAO,CAAC,EAAE;MACvEvJ,KAAK,CAACE,cAAc,CAAC,CAAC;MACtB3G,aAAa,CAAC,IAAI,CAAC;IACrB,CAAC;IAAAgF,QAAA,CAAAyC,KAAA,EAAAkC,iBAAA,CAgBAnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAE7J,UAAU,CAAC,CAAC;MAAA;MAAA,IAAA8J,SAAA;QAAA,IAAAsG,KAAA,GAAAvL,gBAAA,CAAAwL,OAAA;QAAApL,QAAA,CAAAmL,KAAA,QAEnBzQ,QAAQ,CAAC,CAAC,CAAC2Q,iBAAiB;QAAA,OAAAF,KAAA;MAAA;IAAA,IAAAxI,KAAA,EAAAC,IAAA;IAAAC,KAAA,CAAAyI,SAAA,GA6BpB9J,SAAS;IAAAqB,KAAA,CAAAgI,gBAAA,UATVpJ,KAAK,IAAK;MAClB,MAAM8J,aAAa,GAAG9J,KAAK,CAAC8J,aAAa;MACzC,IAAI7O,cAAc,CAAC,CAAC,IAAI6O,aAAa,EAAElL,KAAK,CAACnE,MAAM,EAAE;QACnDuF,KAAK,CAACE,cAAc,CAAC,CAAC;QACtB,KAAKvB,QAAQ,CAACmL,aAAa,CAAClL,KAAK,CAAC;QAClC;MACF;MACA5F,KAAK,CAAC+Q,OAAO,GAAG/J,KAAK,CAAC;IACxB,CAAC;IAAAoB,KAAA,CAAA4I,OAAA,GAZShK,KAAK,IAAK;MAClBhH,KAAK,CAACwG,aAAa,CAACQ,KAAK,CAACwJ,aAAa,CAACjP,KAAK,CAAC;MAC9CkC,UAAU,CAAC,CAAC;IACd,CAAC;IAAA,IAAAwN,MAAA,GAdIpQ,WAAW;IAAA,OAAAoQ,MAAA,kBAAAhH,KAAA,CAAAgH,MAAA,EAAA7I,KAAA,IAAXvH,WAAW,GAAAuH,KAAA;IAAA7C,QAAA,CAAA+B,KAAA,EAAA4C,iBAAA,CA4BnBnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAEnK,KAAK,CAACiG,KAAK;MAAA;MAAA,IAAAmE,SAAA;QAAA,IAAA8G,KAAA,GAAA/L,gBAAA,CAAAgM,OAAA;UAAAC,MAAA,GAAAF,KAAA,CAAA5L,UAAA;UAAA+L,MAAA,GAAAD,MAAA,CAAAxJ,WAAA;UAAA,CAAA0J,MAAA,EAAAC,KAAA,IAAA5J,eAAA,CAAA0J,MAAA,CAAAzJ,WAAA;QAAArC,QAAA,CAAA2L,KAAA,QAGlBlR,KAAK,CAACiG,KAAK,EAAAqL,MAAA,EAAAC,KAAA;QAAA,OAAAL,KAAA;MAAA;IAAA,IAAA5I,MAAA,EAAAC,MAAA;IAAAhD,QAAA,CAAAkD,MAAA,QAMXzI,KAAK,CAACwR,WAAW,EAAA7I,MAAA,EAAAC,KAAA;IAAArD,QAAA,CAAAkD,MAAA,EAAAyB,iBAAA,CACjBnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAEhI,UAAU,CAAC,CAAC;MAAA;MAAA,IAAAiI,SAAA;QAAA,OAAAF,iBAAA,CACrBlL,QAAQ,CAACyS,IAAI;UAACC,QAAQ;UAAaC,KAAK;UAAA,IAASxO,KAAKA,CAAA;YAAA,OAAElD,QAAQ,CAAC,CAAC,CAAC2R,SAAS;UAAA;UAAA,IAAE3O,KAAKA,CAAA;YAAA,OAAED,SAAS,CAAC,CAAC;UAAA;UAAA,IAAEnB,QAAQA,CAAA;YAAA,OAAEF,OAAO,CAAC,CAAC;UAAA;UAAA,IAAAyI,SAAA;YAAA,OAAAF,iBAAA,CACnHlL,QAAQ,CAAC6S,OAAO;cACfC,UAAU;cAAA;cAAA,IAEV3O,KAAKA,CAAA;gBAAA,OAAElD,QAAQ,CAAC,CAAC,CAAC2R,SAAS;cAAA;cAAA,IAC3BG,KAAKA,CAAA;gBAAA,OAAE9R,QAAQ,CAAC,CAAC,CAAC2R,SAAS;cAAA;cAAA,IAAAxH,SAAA;gBAAA,OAAAjF,gBAAA,CAAA6M,OAAA;cAAA;YAAA;UAAA;QAAA;MAAA;IAAA,IAAAlJ,MAAA,EAAAC,KAAA;IAAAxD,QAAA,CAAAkD,MAAA,EAAAyB,iBAAA,CAMhCnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAEnK,KAAK,CAACkC,aAAa;MAAA;MAAA,IAAAkI,SAAA;QAAA,IAAA6H,MAAA,GAAA9M,gBAAA,CAAA+M,OAAA;QAAAD,MAAA,CAAA7B,gBAAA,WAShBpJ,KAAK,IAAK;UACnB,IAAIA,KAAK,CAACwJ,aAAa,CAAC5K,KAAK,EAAEnE,MAAM,EAAE,KAAKkE,QAAQ,CAACqB,KAAK,CAACwJ,aAAa,CAAC5K,KAAK,CAAC;QACjF,CAAC;QAAA,IAAAuM,MAAA,GATIrR,YAAY;QAAA,OAAAqR,MAAA,kBAAAlI,KAAA,CAAAkI,MAAA,EAAAF,MAAA,IAAZnR,YAAY,GAAAmR,MAAA;QAAAxM,QAAA,CAAA4F,GAAA;UAAA,IAAA+G,GAAA,GAKTpS,KAAK,CAACkC,aAAa,EAAEmQ,MAAM;YAAAC,IAAA,GACzBtS,KAAK,CAACkC,aAAa,EAAEqQ,QAAQ,IAAI,IAAI;UAAAH,GAAA,KAAA/G,GAAA,CAAAK,CAAA,IAAAhG,cAAA,CAAAuM,MAAA,YAAA5G,GAAA,CAAAK,CAAA,GAAA0G,GAAA;UAAAE,IAAA,KAAAjH,GAAA,CAAAM,CAAA,IAAA8D,aAAA,CAAAwC,MAAA,cAAA5G,GAAA,CAAAM,CAAA,GAAA2G,IAAA;UAAA,OAAAjH,GAAA;QAAA;UAAAK,CAAA,EAAAzH,SAAA;UAAA0H,CAAA,EAAA1H;QAAA;QAAA,OAAAgO,MAAA;MAAA;IAAA,IAAAhJ,MAAA,EAAAC,KAAA;IAAA3D,QAAA,CAAAkD,MAAA,EAAAyB,iBAAA,CAMlDnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAE,CAACnK,KAAK,CAACwS,MAAM,EAAE/Q,MAAM,IAAI,CAAC,IAAI,CAAC;MAAA;MAAA,IAAA2I,SAAA;QAAA,OAAAF,iBAAA,CACxCjL,UAAU;UAAA,kBAAAwT,CAAA;YAAA,OACGxS,QAAQ,CAAC,CAAC,CAACyS,WAAW;UAAA;UAClChB,QAAQ;UAAA;UAERiB,SAAS;UAAA,IACTC,WAAWA,CAAA;YAAA,OAAE3S,QAAQ,CAAC,CAAC,CAAC4S,KAAK;UAAA;UAC7BtR,KAAK,EAAEA,CAAA,KAAMvB,KAAK,CAAC8S,eAAe,IAAI,EAAE;UAAA,IACxCC,OAAOA,CAAA;YAAA,OAAE,CAAC/S,KAAK,CAACwS,MAAM,IAAI,EAAE,EAAEQ,GAAG,CAAEH,KAAK,KAAM;cAC5CtR,KAAK,EAAEsR,KAAK,CAAC/C,EAAE;cACf3M,KAAK,EAAE0P,KAAK,CAAC1P,KAAK;cAClBiI,WAAW,EAAEyH,KAAK,CAACzH,WAAW;cAC9BvL,IAAI,EAAEgT,KAAK,CAAChT,IAAI;cAChBoT,KAAK,EAAEJ,KAAK,CAACI;YACf,CAAC,CAAC,CAAC;UAAA;UAAA,IACHpR,QAAQA,CAAA;YAAA,OAAEF,OAAO,CAAC,CAAC,IAAIV,OAAO,CAAC,CAAC,IAAI,CAACjB,KAAK,CAACkT,aAAa;UAAA;UACxD1M,aAAa,EAAG2M,OAAO,IAAK;YAC1BnT,KAAK,CAACkT,aAAa,GAAGC,OAAO,CAAC;YAC9BjP,cAAc,CAACH,KAAK,CAAC;UACvB;QAAC;MAAA;IAAA,IAAAqF,MAAA,EAAAC,KAAA;IAAA9D,QAAA,CAAA+D,MAAA,EAAAY,iBAAA,CAMJrL,GAAG;MAAA,IAAC0L,IAAIA,CAAA;QAAA,OAAEvK,KAAK,CAACoT,cAAc;MAAA;MAAAhJ,QAAA,EAC3B/G,MAAM;QAAA,IAAAgQ,MAAA,GAAAlO,gBAAA,CAAAmO,QAAA;UAAAC,MAAA,GAAAF,MAAA,CAAA/N,UAAA;QAAA+N,MAAA,CAAAnI,OAAA,GAQK,MAAM1L,iBAAiB,CAAC,MAAMH,iBAAiB,CAACgE,MAAM,CAAC,EAAErD,KAAK,CAACwD,OAAO,CAAC;QAAAiC,QAAA,CAAA4F,GAAA;UAAA,IAAAmI,KAAA,GAJrEnQ,MAAM,CAACE,OAAO,KAAK,QAAQ,GAAG,QAAQ,GAAGU,SAAS;YAAAwP,KAAA,GACnDpQ,MAAM,CAACxB,QAAQ;YAAA6R,KAAA,GACbrQ,MAAM,CAACF,KAAK;YAAAwQ,KAAA,GACjBtQ,MAAM,CAACF,KAAK;YAAAyQ,KAAA,GAGTvQ,MAAM,CAACxD,IAAI,IAAI,YAAY;UAAA2T,KAAA,KAAAnI,GAAA,CAAAK,CAAA,IAAAhG,cAAA,CAAA2N,MAAA,eAAAhI,GAAA,CAAAK,CAAA,GAAA8H,KAAA;UAAAC,KAAA,KAAApI,GAAA,CAAAM,CAAA,IAAA8D,aAAA,CAAA4D,MAAA,cAAAhI,GAAA,CAAAM,CAAA,GAAA8H,KAAA;UAAAC,KAAA,KAAArI,GAAA,CAAAO,CAAA,IAAAlG,cAAA,CAAA2N,MAAA,gBAAAhI,GAAA,CAAAO,CAAA,GAAA8H,KAAA;UAAAC,KAAA,KAAAtI,GAAA,CAAAQ,CAAA,IAAAnG,cAAA,CAAA2N,MAAA,WAAAhI,GAAA,CAAAQ,CAAA,GAAA8H,KAAA;UAAAC,KAAA,KAAAvI,GAAA,CAAAwI,CAAA,IAAA/H,WAAA,CAAAyH,MAAA,EAAAlI,GAAA,CAAAwI,CAAA,GAAAD,KAAA;UAAA,OAAAvI,GAAA;QAAA;UAAAK,CAAA,EAAAzH,SAAA;UAAA0H,CAAA,EAAA1H,SAAA;UAAA2H,CAAA,EAAA3H,SAAA;UAAA4H,CAAA,EAAA5H,SAAA;UAAA4P,CAAA,EAAA5P;QAAA;QAAA8H,oBAAA;QAAA,OAAAsH,MAAA;MAAA;IAExC,IAAA7J,MAAA,EAAAC,KAAA;IAAAlE,QAAA,CAAA+D,MAAA,EAAAY,iBAAA,CAEFnL,IAAI;MAAA,IAACoL,IAAIA,CAAA;QAAA,OAAEqD,MAAA,SAAAnL,eAAe,CAAC,CAAC,MAAGrC,KAAK,CAACuC,YAAY,GAAG0B,SAAS;MAAA;MAAAmG,QAAA,EAAIzH,KAAK,IAAAuH,iBAAA,CAAM9K,YAAY,EAAA0U,YAAA,CAAKnR,KAAK;IAAM,IAAAgH,MAAA,EAAAC,KAAA;IAAArE,QAAA,CAAA+D,MAAA,EAAAY,iBAAA,CACxGnL,IAAI;MAAA,IACHoL,IAAIA,CAAA;QAAA,OAAEqD,MAAA,UAAAvM,OAAO,CAAC,CAAC,IAAI,CAACa,QAAQ,CAAC,CAAC,QAAI9B,KAAK,CAAC+T,MAAM;MAAA;MAAA,IAC9ChH,QAAQA,CAAA;QAAA;UAAA,IAAAiH,MAAA,GAAA7O,gBAAA,CAAA8O,QAAA;YAAAC,MAAA,GAAAF,MAAA,CAAA1O,UAAA;UAAA0O,MAAA,CAAA9I,OAAA,GAyBK,MAAM,KAAKhF,MAAM,CAAC,CAAC;UAAAT,QAAA,CAAA4F,GAAA;YAAA,IAAA8I,KAAA,GArBlB,CAACnS,SAAS,CAAC,CAAC;cAAAoS,KAAA,GAEpB1T,UAAU,CAAC,CAAC,GACRO,OAAO,CAAC,CAAC,GACPE,mBAAmB,CAAC,CAAC,KAAK,OAAO,GAC/BlB,QAAQ,CAAC,CAAC,CAACoU,QAAQ,GACnBpU,QAAQ,CAAC,CAAC,CAACqU,QAAQ,GACrBrU,QAAQ,CAAC,CAAC,CAACsU,OAAO,GACpBtT,OAAO,CAAC,CAAC,GACPE,mBAAmB,CAAC,CAAC,KAAK,OAAO,GAC/BlB,QAAQ,CAAC,CAAC,CAACuU,YAAY,GACvBvU,QAAQ,CAAC,CAAC,CAACwU,aAAa,GAC1BxU,QAAQ,CAAC,CAAC,CAACyU,WAAW;cAAAC,KAAA,GAG5B1T,OAAO,CAAC,CAAC,GACLE,mBAAmB,CAAC,CAAC,KAAK,OAAO,GAC/BlB,QAAQ,CAAC,CAAC,CAACuU,YAAY,GACvBvU,QAAQ,CAAC,CAAC,CAACwU,aAAa,GAC1BxU,QAAQ,CAAC,CAAC,CAACyU,WAAW;cAAAE,KAAA,GAIlBlU,UAAU,CAAC,CAAC,GAAG,yBAAyB,GAAG,gBAAgB;YAAAyT,KAAA,KAAA9I,GAAA,CAAAK,CAAA,IAAA+D,aAAA,CAAAuE,MAAA,cAAA3I,GAAA,CAAAK,CAAA,GAAAyI,KAAA;YAAAC,KAAA,KAAA/I,GAAA,CAAAM,CAAA,IAAAjG,cAAA,CAAAsO,MAAA,gBAAA3I,GAAA,CAAAM,CAAA,GAAAyI,KAAA;YAAAO,KAAA,KAAAtJ,GAAA,CAAAO,CAAA,IAAAlG,cAAA,CAAAsO,MAAA,WAAA3I,GAAA,CAAAO,CAAA,GAAA+I,KAAA;YAAAC,KAAA,KAAAvJ,GAAA,CAAAQ,CAAA,IAAAC,WAAA,CAAAoI,MAAA,EAAA7I,GAAA,CAAAQ,CAAA,GAAA+I,KAAA;YAAA,OAAAvJ,GAAA;UAAA;YAAAK,CAAA,EAAAzH,SAAA;YAAA0H,CAAA,EAAA1H,SAAA;YAAA2H,CAAA,EAAA3H,SAAA;YAAA4H,CAAA,EAAA5H;UAAA;UAAA8H,oBAAA;UAAA,OAAAiI,MAAA;QAAA;MAAA;MAAA,IAAA5J,SAAA;QAAA,IAAAyK,MAAA,GAAA1P,gBAAA,CAAA2P,OAAA;UAAAC,MAAA,GAAAF,MAAA,CAAAvP,UAAA;QAAAuP,MAAA,CAAA3J,OAAA,GAU9D,MAAM1L,iBAAiB,CAAC,MAAMQ,KAAK,CAAC+T,MAAM,GAAG,CAAC,EAAE/T,KAAK,CAACwD,OAAO,CAAC;QAAAiC,QAAA,CAAA4F,GAAA;UAAA,IAAA2J,IAAA,GAH7D9T,QAAQ,CAAC,CAAC;YAAA+T,IAAA,GACR/T,QAAQ,CAAC,CAAC,GAAGjB,QAAQ,CAAC,CAAC,CAACiB,QAAQ,GAAGjB,QAAQ,CAAC,CAAC,CAACiV,YAAY;YAAAC,IAAA,GAC/DjU,QAAQ,CAAC,CAAC,GAAGjB,QAAQ,CAAC,CAAC,CAACiB,QAAQ,GAAGjB,QAAQ,CAAC,CAAC,CAACiV,YAAY;YAAAE,IAAA,GAGvDlU,QAAQ,CAAC,CAAC,GAAG,yBAAyB,GAAG,mBAAmB;UAAA8T,IAAA,KAAA3J,GAAA,CAAAK,CAAA,IAAA+D,aAAA,CAAAoF,MAAA,cAAAxJ,GAAA,CAAAK,CAAA,GAAAsJ,IAAA;UAAAC,IAAA,KAAA5J,GAAA,CAAAM,CAAA,IAAAjG,cAAA,CAAAmP,MAAA,gBAAAxJ,GAAA,CAAAM,CAAA,GAAAsJ,IAAA;UAAAE,IAAA,KAAA9J,GAAA,CAAAO,CAAA,IAAAlG,cAAA,CAAAmP,MAAA,WAAAxJ,GAAA,CAAAO,CAAA,GAAAuJ,IAAA;UAAAC,IAAA,KAAA/J,GAAA,CAAAQ,CAAA,IAAAC,WAAA,CAAAiJ,MAAA,EAAA1J,GAAA,CAAAQ,CAAA,GAAAuJ,IAAA;UAAA,OAAA/J,GAAA;QAAA;UAAAK,CAAA,EAAAzH,SAAA;UAAA0H,CAAA,EAAA1H,SAAA;UAAA2H,CAAA,EAAA3H,SAAA;UAAA4H,CAAA,EAAA5H;QAAA;QAAA8H,oBAAA;QAAA,OAAA8I,MAAA;MAAA;IAAA,IAAA/K,MAAA,EAAAC,KAAA;IAAAtE,QAAA,CAAA4F,GAAA;MAAA,IAAAgK,IAAA,GAxRvE,qBAAqBrV,KAAK,CAACsV,KAAK,IAAI,EAAE,EAAE;QAAAC,IAAA,GACjCtU,OAAO,CAAC,CAAC,GAAG,MAAM,GAAGgD,SAAS;QAAAuR,IAAA,GAC1BlV,UAAU,CAAC,CAAC,GAAG,MAAM,GAAG2D,SAAS;QAAAwR,IAAA,GAEvCzV,KAAK,CAACmD,KAAK,IAAIlD,QAAQ,CAAC,CAAC,CAACyV,eAAe;QAAAC,IAAA,GAsGvC1V,QAAQ,CAAC,CAAC,CAAC2V,YAAY;QAAAC,KAAA,GA+BvBlU,OAAO,CAAC,CAAC;QAAAmU,KAAA,GACN9V,KAAK,CAAC4S,WAAW,KAAK3R,OAAO,CAAC,CAAC,GAAGhB,QAAQ,CAAC,CAAC,CAAC8V,WAAW,GAAG9V,QAAQ,CAAC,CAAC,CAAC+V,YAAY,CAAC;QAAAC,KAAA,GACpFjW,KAAK,CAACkW,UAAU,IAAIjW,QAAQ,CAAC,CAAC,CAACkW,OAAO;QAAAC,KAAA,GAC5C5U,YAAY,CAAC,CAAC,GAAG,UAAU,GAAGyC,SAAS;QAAAoS,KAAA,GAC1B7U,YAAY,CAAC,CAAC,GAAG,MAAM,GAAGyC,SAAS;QAAAqS,KAAA,GACvC9U,YAAY,CAAC,CAAC,GAAGtB,aAAa,GAAG+D,SAAS;QAAAsS,KAAA,GAC1C/U,YAAY,CAAC,CAAC,GAAG,MAAM,GAAGyC,SAAS;QAAAuS,KAAA,GAC3B9U,eAAe,CAAC,CAAC,GAAG,GAAGxB,aAAa,IAAIE,oBAAoB,CAAC,CAAC,EAAE,GAAG6D,SAAS;MAAAoR,IAAA,KAAAhK,GAAA,CAAAK,CAAA,IAAAI,WAAA,CAAAxE,KAAA,EAAA+D,GAAA,CAAAK,CAAA,GAAA2J,IAAA;MAAAE,IAAA,KAAAlK,GAAA,CAAAM,CAAA,IAAAjG,cAAA,CAAA4B,KAAA,kBAAA+D,GAAA,CAAAM,CAAA,GAAA4J,IAAA;MAAAC,IAAA,KAAAnK,GAAA,CAAAO,CAAA,IAAAlG,cAAA,CAAA4B,KAAA,sBAAA+D,GAAA,CAAAO,CAAA,GAAA4J,IAAA;MAAAC,IAAA,KAAApK,GAAA,CAAAQ,CAAA,IAAAnG,cAAA,CAAA4B,KAAA,gBAAA+D,GAAA,CAAAQ,CAAA,GAAA4J,IAAA;MAAAE,IAAA,KAAAtK,GAAA,CAAAwI,CAAA,IAAAnO,cAAA,CAAAsC,KAAA,gBAAAqD,GAAA,CAAAwI,CAAA,GAAA8B,IAAA;MAAAE,KAAA,KAAAxK,GAAA,CAAAoL,CAAA,IAAAhH,aAAA,CAAArH,KAAA,cAAAiD,GAAA,CAAAoL,CAAA,GAAAZ,KAAA;MAAAC,KAAA,KAAAzK,GAAA,CAAAqL,CAAA,IAAAhR,cAAA,CAAA0C,KAAA,iBAAAiD,GAAA,CAAAqL,CAAA,GAAAZ,KAAA;MAAAG,KAAA,KAAA5K,GAAA,CAAAsL,CAAA,IAAAjR,cAAA,CAAA0C,KAAA,gBAAAiD,GAAA,CAAAsL,CAAA,GAAAV,KAAA;MAAAG,KAAA,KAAA/K,GAAA,CAAAuL,CAAA,IAAAlR,cAAA,CAAA0C,KAAA,UAAAiD,GAAA,CAAAuL,CAAA,GAAAR,KAAA;MAAAC,KAAA,KAAAhL,GAAA,CAAAwL,CAAA,IAAAnR,cAAA,CAAA0C,KAAA,uBAAAiD,GAAA,CAAAwL,CAAA,GAAAR,KAAA;MAAAC,KAAA,KAAAjL,GAAA,CAAAyL,CAAA,IAAApR,cAAA,CAAA0C,KAAA,mBAAAiD,GAAA,CAAAyL,CAAA,GAAAR,KAAA;MAAAC,KAAA,KAAAlL,GAAA,CAAA0L,CAAA,IAAArR,cAAA,CAAA0C,KAAA,mBAAAiD,GAAA,CAAA0L,CAAA,GAAAR,KAAA;MAAAC,KAAA,KAAAnL,GAAA,CAAA2L,CAAA,IAAAtR,cAAA,CAAA0C,KAAA,2BAAAiD,GAAA,CAAA2L,CAAA,GAAAR,KAAA;MAAA,OAAAnL,GAAA;IAAA;MAAAK,CAAA,EAAAzH,SAAA;MAAA0H,CAAA,EAAA1H,SAAA;MAAA2H,CAAA,EAAA3H,SAAA;MAAA4H,CAAA,EAAA5H,SAAA;MAAA4P,CAAA,EAAA5P,SAAA;MAAAwS,CAAA,EAAAxS,SAAA;MAAAyS,CAAA,EAAAzS,SAAA;MAAA0S,CAAA,EAAA1S,SAAA;MAAA2S,CAAA,EAAA3S,SAAA;MAAA4S,CAAA,EAAA5S,SAAA;MAAA6S,CAAA,EAAA7S,SAAA;MAAA8S,CAAA,EAAA9S,SAAA;MAAA+S,CAAA,EAAA/S;IAAA;IAAAwB,QAAA,OAAAgK,aAAA,CAAArH,KAAA,WAR5FpI,KAAK,CAACuB,KAAK;IAAAwK,oBAAA;IAAA,OAAAzE,KAAA;EAAA;AAuJ5B;AAAC2P,gBAAA","ignoreList":[]}
|
|
1
|
+
{"version":3,"names":["children","createEffect","createMemo","createSignal","createUniqueId","For","onCleanup","onMount","Show","untrack","Dropdown","SelectChip","useUiMessages","ChatContextUsage","ContextUsage","executeChatAction","nextChatCommandIndex","reportChatFailure","runChatSubmission","chatCommandQuery","chatMentionSegments","reconcileChatMentions","composerMaxInputHeight","composerUndoBudgetChars","attachmentIcon","attachment","icon","kind","ChatComposer","props","accessory","hasAccessory","toArray","some","item","messages","commandListId","replace","selectedCommandIndex","setSelectedCommandIndex","dragActive","setDragActive","addingFiles","setAddingFiles","submitting","setSubmitting","composerRef","textareaRef","fileInputRef","sawRunning","state","running","stopping","runningSubmitIntent","attachments","caret","setCaret","selectionEnd","setSelectionEnd","dismissed","setDismissed","composing","setComposing","searchResults","setSearchResults","searching","setSearching","searchError","setSearchError","executing","setExecuting","highlightRef","commandListRef","mentions","commandQuery","value","commandMatches","token","commands","filter","command","name","toLowerCase","includes","query","commandsOpen","Boolean","length","searchCommands","disposed","measure","top","window","visualViewport","offsetTop","parent","parentElement","test","getComputedStyle","overflowY","Math","max","getBoundingClientRect","bottom","style","setProperty","queueMicrotask","addEventListener","removeEventListener","abort","AbortController","timer","setTimeout","Promise","resolve","signal","then","results","aborted","catch","finally","clearTimeout","history","historyIndex","draftKey","snapshot","selectionStart","sameMentions","a","b","every","index","start","end","record","splice","push","size","reduce","total","entry","shift","edit","nextMentions","onValueChange","onMentionsChange","restoreHistory","direction","next","setSelectionRange","syncCaret","selectedCommand","blocked","disabled","hasDraft","trim","canSubmit","canSelectFiles","fileSelection","hasAddMenu","menuActions","hasContextUsage","contextPopupAction","context","contextUsage","contextWindow","Number","isFinite","usage","input","output","menuItems","items","label","attachFiles","action","click","variant","onError","autoResize","height","min","scrollHeight","focus","focusToken","undefined","list","querySelector","isConnected","scrollTop","offsetHeight","clientHeight","active","document","focused","activeElement","insideComposer","contains","editingElsewhere","body","matches","isContentEditable","closest","setAttachments","onAttachmentsChange","renderAttachmentCopy","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_$insert","_$effect","_$setAttribute","runFiles","files","selected","Array","from","onSelect","error","submit","intent","previousValue","previousAttachments","previousMentions","text","clear","perform","onSubmit","restore","executeCommand","previous","key","replacement","mention","nextValue","slice","submitRequested","setValue","onKeyDown","event","isComposing","ctrlKey","metaKey","preventDefault","shiftKey","_el$3","_tmpl$1","_el$47","_el$48","_co$11","_$getNextMarker","nextSibling","_el$25","_el$43","_el$44","_co$1","_el$27","_el$34","_el$35","_co$8","_el$36","_el$37","_co$9","_el$33","_el$45","_el$46","_co$10","_el$42","_$createComponent","when","_el$4","_tmpl$6","_el$5","_el$23","_el$24","_co$6","_el$6","_tmpl$5","_el$7","_el$15","_el$16","_co$2","_el$17","_el$18","_co$3","_el$19","_el$20","_co$4","_el$21","_el$22","_co$5","_ref$","_$use","each","_el$49","_tmpl$10","_el$50","_el$51","_el$52","$$click","$$pointerdown","description","_p$","_v$15","_v$16","_v$17","_v$18","_v$19","e","t","o","i","_$className","_$runHydrationEvents","_el$8","_tmpl$2","_el$9","_el$0","loading","_el$1","_tmpl$3","_el$10","_el$11","_el$12","_el$13","_co$","_$memo","_el$14","_tmpl$4","noResults","_v$","_v$2","_$setStyleProperty","_$setProperty","_ref$2","_el$26","_tmpl$7","_el$53","_tmpl$12","_el$54","_el$55","_el$56","_co$12","_el$57","_el$58","_co$13","_el$60","_el$61","_co$14","href","fallback","_el$62","_tmpl$14","_el$64","_el$65","_co$15","_el$66","_el$67","_co$16","previewUrl","_el$68","_tmpl$15","_el$63","_tmpl$13","_v$22","_v$23","alt","_el$69","_tmpl$16","_el$71","_el$72","_co$17","_el$73","_el$74","_co$18","_el$75","_el$70","_v$24","_v$25","_v$26","_v$27","openInNewTab","_el$76","_tmpl$17","_el$77","_el$78","_co$19","_el$79","_el$80","_co$20","_el$81","_el$59","_tmpl$11","candidate","id","_v$20","removeNamed","_v$21","classList","toggle","dataTransfer","types","currentTarget","relatedTarget","_el$28","_tmpl$8","dropFilesToAttach","_el$29","_tmpl$9","_el$31","_el$32","_co$7","_el$30","_ref$3","part","_el$82","_tmpl$18","$$keydown","$$beforeinput","inputType","$$keyup","clipboardData","onPaste","$$input","_ref$4","_el$38","_tmpl$0","_el$39","_el$40","_el$41","_co$0","footerContent","_el$83","_tmpl$21","_el$86","_el$87","_co$21","_el$88","_el$89","_co$22","_el$90","_el$91","_co$23","_el$92","_el$93","_co$24","_el$94","_el$95","_co$25","footerTools","Root","position","width","addToChat","Trigger","appearance","title","_tmpl$19","_el$85","_tmpl$20","_ref$5","_v$28","accept","_v$29","multiple","models","aria-label","chooseModel","menuWidth","placeholder","model","selectedModelId","options","map","image","onModelChange","modelId","modelDetails","_el$96","_tmpl$23","_el$99","_el$100","_co$26","_el$101","_el$102","_co$27","_el$103","_el$104","_co$28","_el$105","_el$106","_co$29","contextActions","_el$107","_tmpl$24","_el$108","_v$34","_v$35","_v$36","pressed","_v$37","_v$38","_v$39","n","_$mergeProps","onActionError","submitTools","onStop","_el$109","_tmpl$25","_el$110","_v$40","_v$41","queueing","steering","sending","queueMessage","steerResponse","sendMessage","_v$42","_v$43","_el$97","_tmpl$22","_el$98","_v$30","_v$31","stopResponse","_v$32","_v$33","content","_v$3","class","_v$4","_v$5","_v$6","messageComposer","_v$7","messageInput","_v$8","_v$9","_v$0","addGuidance","writeMessage","_v$1","inputLabel","message","_v$10","_v$11","_v$12","_v$13","_v$14","s","h","r","d","l","u","c","w","_$delegateEvents"],"sources":["chat/ChatComposer.tsx"],"sourcesContent":["import {\n children,\n createEffect,\n createMemo,\n createSignal,\n createUniqueId,\n For,\n type JSX,\n onCleanup,\n onMount,\n Show,\n untrack,\n} from \"solid-js\";\nimport { Dropdown, type DropdownItem as DropdownItemData } from \"../actions/Dropdown\";\nimport { SelectChip } from \"../inputs/SelectChip\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { ChatContextUsage as ContextUsage } from \"./ChatPrimitives\";\nimport { executeChatAction, nextChatCommandIndex, reportChatFailure, runChatSubmission } from \"./chat-behavior\";\nimport { chatCommandQuery, chatMentionSegments, reconcileChatMentions } from \"./composer-document\";\nimport type {\n ChatAction,\n ChatAttachment,\n ChatComposerState,\n ChatContextUsageData,\n ChatMention,\n ChatModelOption,\n ChatSubmitInput,\n} from \"./types\";\n\nconst composerMaxInputHeight = 309;\n// Keep editor undo text within approximately 2 MiB, plus the current edit.\nconst composerUndoBudgetChars = 1_000_000;\n\nexport type ChatCommandContext = {\n setValue: (value: string) => void;\n submit: () => void;\n focus: () => void;\n};\n\nexport type ChatCommand = {\n name: string;\n description: string;\n icon?: string;\n action?: (context: ChatCommandContext) => void | Promise<void>;\n /** Selecting a reference inserts its display name and retains its opaque payload. */\n mention?: ChatAttachment;\n label?: string;\n disabled?: boolean;\n};\n\nexport type ChatFileSelection = {\n onSelect: (files: readonly File[]) => void | Promise<void>;\n onError?: (error: unknown) => void;\n accept?: string;\n multiple?: boolean;\n disabled?: boolean;\n label?: string;\n};\n\nexport type ChatPasteHandler = (event: ClipboardEvent & { currentTarget: HTMLTextAreaElement; target: Element }) => void;\n\nexport type ChatComposerProps = {\n value: string;\n onValueChange: (value: string) => void;\n onSubmit: (input: ChatSubmitInput) => boolean | void | Promise<boolean | void>;\n /** Submit intent used for drafts entered while a response is running. Defaults to `steer`. */\n runningSubmitIntent?: \"steer\" | \"queue\";\n onStop?: () => void | Promise<void>;\n onError?: (error: unknown) => void;\n state?: ChatComposerState;\n attachments?: readonly ChatAttachment[];\n onAttachmentsChange?: (attachments: readonly ChatAttachment[]) => void;\n fileSelection?: ChatFileSelection;\n /** Handle non-file clipboard content. Pasted files already use `fileSelection`. */\n onPaste?: ChatPasteHandler;\n menuActions?: readonly ChatAction[];\n models?: readonly ChatModelOption[];\n selectedModelId?: string | null;\n onModelChange?: (modelId: string) => void;\n /** Compact application-owned details immediately after the model selector. */\n modelDetails?: JSX.Element;\n commands?: readonly ChatCommand[];\n searchCommands?: (query: string, signal: AbortSignal) => Promise<readonly ChatCommand[]>;\n mentions?: readonly ChatMention[];\n onMentionsChange?: (mentions: readonly ChatMention[]) => void;\n /** Shared surface above the editor; suggestions temporarily replace this content. */\n accessory?: JSX.Element;\n contextUsage?: ChatContextUsageData;\n contextActions?: readonly ChatAction[];\n /** Optional action inside the context details popup. */\n contextPopupAction?: ChatAction;\n /** Additional compact controls rendered with the add/model controls. */\n footerTools?: JSX.Element;\n /** Compact application controls immediately before the send/stop button. */\n submitTools?: JSX.Element;\n /** Replaces footer controls during an application-owned interaction, preserving the editor. */\n footerContent?: JSX.Element;\n placeholder?: string;\n label?: string;\n inputLabel?: string;\n disabled?: boolean;\n error?: string;\n focusToken?: unknown;\n draftKey?: unknown;\n class?: string;\n};\n\nconst attachmentIcon = (attachment: ChatAttachment): string =>\n attachment.icon ?? (attachment.kind === \"image\" ? \"ti ti-photo\" : attachment.kind === \"resource\" ? \"ti ti-link\" : \"ti ti-file\");\n\nexport function ChatComposer(props: ChatComposerProps): JSX.Element {\n const accessory = children(() => props.accessory);\n const hasAccessory = () => accessory.toArray().some((item) => item != null && typeof item !== \"boolean\" && item !== \"\");\n const messages = useUiMessages();\n const commandListId = `k2b-chat-commands-${createUniqueId().replace(/[^A-Za-z0-9_-]/g, \"-\")}`;\n const [selectedCommandIndex, setSelectedCommandIndex] = createSignal(0);\n const [dragActive, setDragActive] = createSignal(false);\n const [addingFiles, setAddingFiles] = createSignal(false);\n const [submitting, setSubmitting] = createSignal(false);\n let composerRef: HTMLElement | undefined;\n let textareaRef: HTMLTextAreaElement | undefined;\n let fileInputRef: HTMLInputElement | undefined;\n let sawRunning = props.state === \"running\";\n\n const state = () => props.state ?? \"idle\";\n const running = () => state() === \"running\";\n const stopping = () => state() === \"stopping\";\n const runningSubmitIntent = () => props.runningSubmitIntent ?? \"steer\";\n const attachments = () => props.attachments ?? [];\n const [caret, setCaret] = createSignal(0);\n const [selectionEnd, setSelectionEnd] = createSignal(0);\n const [dismissed, setDismissed] = createSignal(false);\n const [composing, setComposing] = createSignal(false);\n const [searchResults, setSearchResults] = createSignal<readonly ChatCommand[]>([]);\n const [searching, setSearching] = createSignal(false);\n const [searchError, setSearchError] = createSignal(false);\n const [executing, setExecuting] = createSignal(false);\n let highlightRef: HTMLDivElement | undefined;\n let commandListRef: HTMLDivElement | undefined;\n const mentions = () => props.mentions ?? [];\n const commandQuery = createMemo(() => (dismissed() || composing() ? null : chatCommandQuery(props.value, caret(), selectionEnd())));\n const commandMatches = createMemo(() => {\n const token = commandQuery();\n if (!token) return [];\n return [\n ...(props.commands ?? []).filter((command) => command.name.toLowerCase().includes(token.query.toLowerCase())),\n ...searchResults(),\n ];\n });\n const commandsOpen = () => Boolean(commandQuery() && (props.commands?.length || props.searchCommands));\n createEffect(() => {\n if (!commandsOpen()) return;\n let disposed = false;\n const measure = () => {\n if (disposed || !commandListRef) return;\n let top = window.visualViewport?.offsetTop ?? 0;\n for (let parent = commandListRef.parentElement; parent; parent = parent.parentElement) {\n if (/(auto|scroll|hidden|clip)/.test(window.getComputedStyle(parent).overflowY)) {\n top = Math.max(top, parent.getBoundingClientRect().top);\n }\n }\n const bottom = commandListRef.parentElement!.getBoundingClientRect().bottom;\n commandListRef.style.setProperty(\"--k2b-chat-command-space\", `${Math.max(40, bottom - top - 8)}px`);\n };\n queueMicrotask(measure);\n window.addEventListener(\"resize\", measure);\n window.addEventListener(\"scroll\", measure, true);\n window.visualViewport?.addEventListener(\"resize\", measure);\n onCleanup(() => {\n disposed = true;\n window.removeEventListener(\"resize\", measure);\n window.removeEventListener(\"scroll\", measure, true);\n window.visualViewport?.removeEventListener(\"resize\", measure);\n });\n });\n createEffect(() => {\n const token = commandQuery();\n setSearchResults([]);\n setSearchError(false);\n if (!token || !props.searchCommands) {\n setSearching(false);\n return;\n }\n const abort = new AbortController();\n setSearching(true);\n const timer = setTimeout(() => {\n Promise.resolve(props.searchCommands!(token.query, abort.signal))\n .then((results) => {\n if (!abort.signal.aborted) setSearchResults(results);\n })\n .catch(() => {\n if (!abort.signal.aborted) setSearchError(true);\n })\n .finally(() => {\n if (!abort.signal.aborted) setSearching(false);\n });\n }, 120);\n onCleanup(() => {\n clearTimeout(timer);\n abort.abort();\n });\n });\n const history: { value: string; mentions: readonly ChatMention[]; caret: number }[] = [];\n let historyIndex = -1;\n createEffect(() => {\n props.draftKey;\n untrack(() => {\n history.length = 0;\n historyIndex = -1;\n setDismissed(true);\n });\n });\n const snapshot = () => ({ value: props.value, mentions: [...mentions()], caret: textareaRef?.selectionStart ?? 0 });\n const sameMentions = (a: readonly ChatMention[], b: readonly ChatMention[]) =>\n a.length === b.length &&\n a.every((item, index) => item.start === b[index]?.start && item.end === b[index]?.end && item.attachment === b[index]?.attachment);\n const record = () => {\n if (history[historyIndex]?.value !== props.value || !sameMentions(history[historyIndex]?.mentions ?? [], mentions())) {\n history.splice(historyIndex + 1);\n history.push(snapshot());\n let size = history.reduce((total, entry) => total + entry.value.length, 0);\n while (history.length > 2 && size > composerUndoBudgetChars) size -= history.shift()!.value.length;\n historyIndex = history.length - 1;\n }\n };\n const edit = (value: string, nextMentions = reconcileChatMentions(props.value, value, mentions())) => {\n record();\n props.onValueChange(value);\n props.onMentionsChange?.(nextMentions);\n record();\n setDismissed(false);\n };\n const restoreHistory = (direction: -1 | 1) => {\n record();\n const next = history[historyIndex + direction];\n if (!next) return;\n historyIndex += direction;\n props.onValueChange(next.value);\n props.onMentionsChange?.(next.mentions);\n queueMicrotask(() => {\n textareaRef?.setSelectionRange(next.caret, next.caret);\n syncCaret();\n });\n };\n const syncCaret = () => {\n setCaret(textareaRef?.selectionStart ?? props.value.length);\n setSelectionEnd(textareaRef?.selectionEnd ?? props.value.length);\n };\n const selectedCommand = () => commandMatches()[selectedCommandIndex()];\n const blocked = () => Boolean(props.disabled || stopping() || state() === \"submitting\" || executing() || addingFiles() || submitting());\n const hasDraft = () => Boolean(props.value.trim() || (!running() && attachments().length > 0));\n const canSubmit = () => !blocked() && hasDraft() && !(running() && runningSubmitIntent() === \"steer\" && mentions().length);\n const canSelectFiles = () => Boolean(props.fileSelection && !props.fileSelection.disabled && !running() && !blocked());\n const hasAddMenu = () => Boolean(props.fileSelection || props.menuActions?.length);\n const hasContextUsage = () => {\n if (props.contextPopupAction) return true;\n const context = props.contextUsage;\n if (!context || typeof context.contextWindow !== \"number\" || !Number.isFinite(context.contextWindow) || context.contextWindow <= 0) {\n return false;\n }\n return [context.usage?.total, context.usage?.input, context.usage?.output].some(\n (value) => typeof value === \"number\" && Number.isFinite(value) && value >= 0,\n );\n };\n\n const menuItems = (): readonly DropdownItemData[] => {\n const items: DropdownItemData[] = [];\n if (props.fileSelection) {\n items.push({\n icon: addingFiles() ? \"ti ti-loader-2 k2b-spin\" : \"ti ti-paperclip\",\n label: props.fileSelection.label ?? messages().attachFiles,\n disabled: !canSelectFiles(),\n action: () => fileInputRef?.click(),\n });\n }\n for (const action of props.menuActions ?? []) {\n items.push({\n icon: action.icon,\n label: action.label,\n variant: action.variant,\n disabled: action.disabled,\n action: () => reportChatFailure(() => executeChatAction(action), props.onError),\n });\n }\n return items;\n };\n\n const autoResize = () => {\n if (!textareaRef) return;\n textareaRef.style.height = \"auto\";\n textareaRef.style.height = `${Math.min(textareaRef.scrollHeight, composerMaxInputHeight)}px`;\n };\n\n const focus = () => textareaRef?.focus();\n\n onMount(() => {\n autoResize();\n if (props.focusToken !== undefined) focus();\n });\n\n createEffect(() => {\n commandMatches();\n setSelectedCommandIndex(0);\n });\n\n createEffect(() => {\n const index = selectedCommandIndex();\n commandMatches();\n queueMicrotask(() => {\n const list = commandListRef;\n const item = list?.querySelector<HTMLElement>(`[id=\"${commandListId}-${index}\"]`);\n if (!list || !item?.isConnected) return;\n if (item.offsetTop < list.scrollTop) list.scrollTop = item.offsetTop;\n else if (item.offsetTop + item.offsetHeight > list.scrollTop + list.clientHeight) {\n list.scrollTop = item.offsetTop + item.offsetHeight - list.clientHeight;\n }\n });\n });\n\n createEffect(() => {\n props.value;\n queueMicrotask(autoResize);\n });\n\n createEffect(() => {\n props.focusToken;\n if (props.focusToken !== undefined) queueMicrotask(focus);\n });\n\n createEffect(() => {\n const active = running();\n if (sawRunning && !active && !props.disabled && typeof document !== \"undefined\") {\n const focused = document.activeElement as HTMLElement | null;\n const insideComposer = Boolean(focused && composerRef?.contains(focused));\n const editingElsewhere = Boolean(\n focused &&\n focused !== document.body &&\n !insideComposer &&\n (focused.matches(\"input, textarea, select\") || focused.isContentEditable || focused.closest(\"[role='dialog'], [popover]\")),\n );\n if (!editingElsewhere) queueMicrotask(focus);\n }\n sawRunning = active;\n });\n\n const setAttachments = (next: readonly ChatAttachment[]) => props.onAttachmentsChange?.(next);\n\n const renderAttachmentCopy = (attachment: ChatAttachment) => (\n <span>\n <strong title={attachment.name}>{attachment.name}</strong>\n </span>\n );\n\n const runFiles = async (files: FileList | readonly File[]) => {\n if (!canSelectFiles()) return;\n const selected = Array.from(files);\n if (selected.length === 0) return;\n setAddingFiles(true);\n try {\n await props.fileSelection?.onSelect(selected);\n } catch (error) {\n (props.fileSelection?.onError ?? props.onError)?.(error);\n } finally {\n setAddingFiles(false);\n if (fileInputRef) fileInputRef.value = \"\";\n queueMicrotask(focus);\n }\n };\n\n const submit = async () => {\n if (!canSubmit()) return;\n const intent = running() ? runningSubmitIntent() : \"send\";\n const previousValue = props.value;\n const previousAttachments = attachments();\n const previousMentions = mentions();\n const input: ChatSubmitInput = {\n intent,\n text: previousValue,\n mentions: previousMentions,\n attachments: intent !== \"steer\" ? previousAttachments : [],\n };\n\n setSubmitting(true);\n try {\n await runChatSubmission({\n clear: () => {\n props.onValueChange(\"\");\n props.onMentionsChange?.([]);\n if (intent !== \"steer\") setAttachments([]);\n },\n perform: () => props.onSubmit(input),\n restore: () => {\n props.onValueChange(previousValue);\n props.onMentionsChange?.(previousMentions);\n if (intent !== \"steer\") setAttachments(previousAttachments);\n },\n onError: props.onError,\n });\n } finally {\n setSubmitting(false);\n queueMicrotask(() => {\n autoResize();\n focus();\n });\n }\n };\n\n const executeCommand = async (command: ChatCommand) => {\n const token = commandQuery();\n if (!token || command.disabled || blocked()) return;\n const previous = snapshot();\n const key = props.draftKey;\n const replacement = command.mention ? command.mention.name + \" \" : \"\";\n const nextValue = props.value.slice(0, token.start) + replacement + props.value.slice(token.end);\n const nextMentions = reconcileChatMentions(props.value, nextValue, mentions());\n if (command.mention)\n nextMentions.push({ start: token.start, end: token.start + command.mention.name.length, attachment: command.mention });\n edit(nextValue, nextMentions);\n setDismissed(true);\n setExecuting(true);\n let submitRequested = false;\n try {\n await command.action?.({\n setValue: (value) => edit(value),\n submit: () => {\n submitRequested = true;\n },\n focus,\n });\n } catch (error) {\n submitRequested = false;\n if (props.draftKey === key && props.value === nextValue) {\n props.onValueChange(previous.value);\n props.onMentionsChange?.(previous.mentions);\n }\n props.onError?.(error);\n } finally {\n setExecuting(false);\n }\n if (submitRequested && props.draftKey === key) await submit();\n queueMicrotask(() => {\n if (props.draftKey !== key) return;\n textareaRef?.setSelectionRange(token.start + replacement.length, token.start + replacement.length);\n syncCaret();\n autoResize();\n focus();\n });\n };\n\n const onKeyDown = (event: KeyboardEvent) => {\n if (event.isComposing || composing()) return;\n if ((event.ctrlKey || event.metaKey) && event.key.toLowerCase() === \"z\") {\n event.preventDefault();\n restoreHistory(event.shiftKey ? 1 : -1);\n return;\n }\n const matches = commandMatches();\n if (commandsOpen()) {\n if (event.key === \"ArrowUp\" || event.key === \"ArrowDown\") {\n event.preventDefault();\n setSelectedCommandIndex((index) => nextChatCommandIndex(index, matches.length, event.key === \"ArrowUp\" ? -1 : 1));\n return;\n }\n if ((event.key === \"Enter\" || event.key === \"Tab\") && matches.length > 0) {\n event.preventDefault();\n const command = selectedCommand();\n if (command) void executeCommand(command);\n return;\n }\n if (event.key === \"Escape\") {\n event.preventDefault();\n setDismissed(true);\n return;\n }\n }\n if (event.key === \"Enter\" && !event.shiftKey && !event.isComposing) {\n event.preventDefault();\n void submit();\n }\n };\n\n return (\n <div class=\"k2b-chat-composer-shell\">\n <Show when={commandsOpen() || hasAccessory()}>\n <div class=\"k2b-chat-composer-slot\">\n <div style={{ visibility: commandsOpen() ? \"hidden\" : undefined }} inert={commandsOpen()}>\n {accessory()}\n </div>\n <Show when={commandsOpen()}>\n <div class=\"k2b-chat-composer-accessory\">\n <div\n ref={commandListRef}\n id={commandListId}\n class=\"k2b-chat-composer__commands\"\n role=\"listbox\"\n aria-label={messages().commands}\n >\n <For each={commandMatches()}>\n {(command, index) => (\n <button\n id={`${commandListId}-${index()}`}\n type=\"button\"\n role=\"option\"\n tabIndex={-1}\n aria-selected={index() === selectedCommandIndex()}\n aria-disabled={command.disabled}\n data-active={index() === selectedCommandIndex() ? \"true\" : undefined}\n onPointerDown={(event) => event.preventDefault()}\n onClick={() => void executeCommand(command)}\n >\n <i class={command.icon ?? \"ti ti-slash\"} aria-hidden=\"true\" />\n <strong>{command.label ?? `/${command.name}`}</strong>\n <small>{command.description}</small>\n </button>\n )}\n </For>\n <Show when={searching()}>\n <div role=\"status\" class=\"k2b-chat-composer__loading\">\n <i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\" />\n <strong>{messages().loading}</strong>\n </div>\n </Show>\n <Show when={searchError()}>\n <div role=\"status\">\n <i class=\"ti ti-alert-circle\" /> {messages().error}\n </div>\n </Show>\n <Show when={!searching() && !searchError() && commandMatches().length === 0}>\n <div role=\"status\">{messages().noResults}</div>\n </Show>\n </div>\n </div>\n </Show>\n </div>\n </Show>\n <section\n ref={composerRef}\n class={`k2b-chat-composer ${props.class ?? \"\"}`}\n data-running={running() ? \"true\" : undefined}\n data-drag-active={dragActive() ? \"true\" : undefined}\n role=\"group\"\n aria-label={props.label ?? messages().messageComposer}\n >\n <Show when={attachments().length > 0}>\n <div class=\"k2b-chat-composer__attachments\" role=\"list\" aria-label={messages().attachments} tabIndex={0}>\n <For each={attachments()}>\n {(attachment) => (\n <div class=\"k2b-chat-composer__attachment\" role=\"listitem\">\n <div\n class=\"k2b-chat-composer__attachment-content\"\n classList={{ \"k2b-chat-composer__attachment-content--action\": Boolean(attachment.action) }}\n >\n <Show\n when={attachment.href}\n fallback={\n <div class=\"k2b-chat-composer__attachment-identity\">\n <Show\n when={attachment.kind === \"image\" && attachment.previewUrl}\n fallback={<i class={attachmentIcon(attachment)} aria-hidden=\"true\" />}\n >\n <img src={attachment.previewUrl} alt={attachment.alt ?? \"\"} />\n </Show>\n {renderAttachmentCopy(attachment)}\n </div>\n }\n >\n {(href) => (\n <a\n class=\"k2b-chat-composer__attachment-link\"\n href={href()}\n target=\"_blank\"\n rel=\"noopener noreferrer\"\n aria-label={messages().openInNewTab({ name: attachment.name })}\n >\n <Show\n when={attachment.kind === \"image\" && attachment.previewUrl}\n fallback={<i class={attachmentIcon(attachment)} aria-hidden=\"true\" />}\n >\n <img src={attachment.previewUrl} alt={attachment.alt ?? \"\"} />\n </Show>\n {renderAttachmentCopy(attachment)}\n </a>\n )}\n </Show>\n <Show when={attachment.action}>\n {(action) => (\n <button\n type=\"button\"\n class=\"k2b-chat-composer__attachment-action\"\n disabled={blocked() || action().disabled}\n onClick={() => reportChatFailure(() => executeChatAction(action()), props.onError)}\n >\n <Show when={action().icon}>{(icon) => <i class={icon()} aria-hidden=\"true\" />}</Show>\n {action().label}\n </button>\n )}\n </Show>\n </div>\n <Show when={props.onAttachmentsChange}>\n <button\n type=\"button\"\n class=\"k2b-chat-composer__attachment-remove\"\n aria-label={messages().removeNamed({ name: attachment.name })}\n disabled={blocked()}\n onClick={() => setAttachments(attachments().filter((candidate) => candidate.id !== attachment.id))}\n >\n <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n )}\n </For>\n </div>\n </Show>\n\n <div\n class=\"k2b-chat-composer__input\"\n role=\"group\"\n aria-label={messages().messageInput}\n onDragEnter={(event) => {\n if (!canSelectFiles() || !event.dataTransfer?.types.includes(\"Files\")) return;\n event.preventDefault();\n setDragActive(true);\n }}\n onDragOver={(event) => {\n if (!canSelectFiles() || !event.dataTransfer?.types.includes(\"Files\")) return;\n event.preventDefault();\n setDragActive(true);\n }}\n onDragLeave={(event) => {\n if (!event.currentTarget.contains(event.relatedTarget as Node | null)) setDragActive(false);\n }}\n onDrop={(event) => {\n if (!event.dataTransfer?.types.includes(\"Files\")) return;\n event.preventDefault();\n setDragActive(false);\n if (canSelectFiles() && event.dataTransfer.files.length) void runFiles(event.dataTransfer.files);\n }}\n >\n <Show when={dragActive()}>\n <div class=\"k2b-chat-composer__drop\" aria-hidden=\"true\">\n {messages().dropFilesToAttach}\n </div>\n </Show>\n <Show when={mentions().length > 0}>\n <div ref={highlightRef} class=\"k2b-chat-composer__highlight\" aria-hidden=\"true\">\n <For each={chatMentionSegments(props.value, mentions())}>\n {(part) => <span classList={{ \"k2b-chat-composer__mention\": Boolean(part.mention) }}>{part.text}</span>}\n </For>\n {\"\\n\"}\n </div>\n </Show>\n {/* biome-ignore lint/a11y/useAriaPropsSupportedByRole: popup attributes are conditional with the combobox role */}\n <textarea\n ref={textareaRef}\n classList={{ \"k2b-chat-composer__textarea--highlighted\": mentions().length > 0 }}\n rows={1}\n value={props.value}\n disabled={blocked()}\n placeholder={props.placeholder ?? (running() ? messages().addGuidance : messages().writeMessage)}\n aria-label={props.inputLabel ?? messages().message}\n role={commandsOpen() ? \"combobox\" : undefined}\n aria-autocomplete={commandsOpen() ? \"list\" : undefined}\n aria-controls={commandsOpen() ? commandListId : undefined}\n aria-expanded={commandsOpen() ? \"true\" : undefined}\n aria-activedescendant={selectedCommand() ? `${commandListId}-${selectedCommandIndex()}` : undefined}\n onInput={(event) => {\n edit(event.currentTarget.value);\n syncCaret();\n autoResize();\n }}\n onPaste={(event) => {\n const clipboardData = event.clipboardData;\n if (canSelectFiles() && clipboardData?.files.length) {\n event.preventDefault();\n void runFiles(clipboardData.files);\n return;\n }\n props.onPaste?.(event);\n }}\n onSelect={syncCaret}\n onBlur={() => setDismissed(true)}\n onClick={() => {\n setDismissed(false);\n syncCaret();\n }}\n onKeyUp={syncCaret}\n onCompositionStart={() => setComposing(true)}\n onCompositionEnd={() => {\n setComposing(false);\n syncCaret();\n }}\n onScroll={() => {\n if (highlightRef && textareaRef) highlightRef.scrollTop = textareaRef.scrollTop;\n }}\n onBeforeInput={(event) => {\n if (event.inputType === \"historyUndo\" || event.inputType === \"historyRedo\") {\n event.preventDefault();\n restoreHistory(event.inputType === \"historyUndo\" ? -1 : 1);\n }\n }}\n onKeyDown={onKeyDown}\n />\n </div>\n\n <Show when={props.error}>\n <div class=\"k2b-chat-composer__error\" role=\"alert\">\n <i class=\"ti ti-alert-circle\" aria-hidden=\"true\" />\n {props.error}\n </div>\n </Show>\n\n <footer class=\"k2b-chat-composer__footer\">\n <Show\n when={props.footerContent}\n fallback={\n <>\n <div class=\"k2b-chat-composer__tools\">\n {props.footerTools}\n <Show when={hasAddMenu()}>\n <Dropdown.Root position=\"top-right\" width=\"12rem\" label={messages().addToChat} items={menuItems()} disabled={blocked()}>\n <Dropdown.Trigger\n appearance=\"plain\"\n class=\"k2b-chat-composer__icon-action\"\n label={messages().addToChat}\n title={messages().addToChat}\n >\n <i class=\"ti ti-plus\" aria-hidden=\"true\" />\n </Dropdown.Trigger>\n </Dropdown.Root>\n </Show>\n <Show when={props.fileSelection}>\n <input\n ref={fileInputRef}\n class=\"k2b-sr-only\"\n type=\"file\"\n tabIndex={-1}\n aria-hidden=\"true\"\n accept={props.fileSelection?.accept}\n multiple={props.fileSelection?.multiple ?? true}\n onChange={(event) => {\n if (event.currentTarget.files?.length) void runFiles(event.currentTarget.files);\n }}\n />\n </Show>\n <Show when={(props.models?.length ?? 0) > 0}>\n <SelectChip\n aria-label={messages().chooseModel}\n position=\"top-right\"\n class=\"k2b-chat-composer__model\"\n menuWidth=\"15rem\"\n placeholder={messages().model}\n value={() => props.selectedModelId ?? \"\"}\n options={(props.models ?? []).map((model) => ({\n value: model.id,\n label: model.label,\n description: model.description,\n icon: model.icon,\n image: model.image,\n }))}\n disabled={blocked() || running() || !props.onModelChange}\n onValueChange={(modelId) => {\n props.onModelChange?.(modelId);\n queueMicrotask(focus);\n }}\n />\n </Show>\n {props.modelDetails}\n </div>\n\n <div class=\"k2b-chat-composer__submit\">\n <For each={props.contextActions}>\n {(action) => (\n <button\n type=\"button\"\n class=\"k2b-chat-composer__icon-action\"\n data-tone={action.variant === \"danger\" ? \"danger\" : undefined}\n disabled={action.disabled}\n aria-pressed={action.pressed}\n aria-label={action.label}\n title={action.label}\n onClick={() => reportChatFailure(() => executeChatAction(action), props.onError)}\n >\n <i class={action.icon ?? \"ti ti-dots\"} aria-hidden=\"true\" />\n </button>\n )}\n </For>\n <Show when={hasContextUsage() ? (props.contextUsage ?? {}) : undefined}>\n {(usage) => <ContextUsage {...usage()} action={props.contextPopupAction} onActionError={props.onError} />}\n </Show>\n {props.submitTools}\n <Show\n when={running() && !hasDraft() && props.onStop}\n fallback={\n <button\n type=\"button\"\n class=\"k2b-chat-composer__send\"\n disabled={!canSubmit()}\n aria-label={\n submitting()\n ? running()\n ? runningSubmitIntent() === \"queue\"\n ? messages().queueing\n : messages().steering\n : messages().sending\n : running()\n ? runningSubmitIntent() === \"queue\"\n ? messages().queueMessage\n : messages().steerResponse\n : messages().sendMessage\n }\n title={\n running()\n ? runningSubmitIntent() === \"queue\"\n ? messages().queueMessage\n : messages().steerResponse\n : messages().sendMessage\n }\n onClick={() => void submit()}\n >\n <i class={submitting() ? \"ti ti-loader-2 k2b-spin\" : \"ti ti-arrow-up\"} aria-hidden=\"true\" />\n </button>\n }\n >\n <button\n type=\"button\"\n class=\"k2b-chat-composer__stop\"\n disabled={stopping()}\n aria-label={stopping() ? messages().stopping : messages().stopResponse}\n title={stopping() ? messages().stopping : messages().stopResponse}\n onClick={() => reportChatFailure(() => props.onStop?.(), props.onError)}\n >\n <i class={stopping() ? \"ti ti-loader-2 k2b-spin\" : \"ti ti-player-stop\"} aria-hidden=\"true\" />\n </button>\n </Show>\n </div>\n </>\n }\n >\n {(content) => content()}\n </Show>\n </footer>\n </section>\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
|
+
import { effect as _$effect } from "solid-js/web";
|
|
4
|
+
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
5
|
+
import { getNextElement as _$getNextElement } from "solid-js/web";
|
|
6
|
+
import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
|
|
7
|
+
import { insert as _$insert } from "solid-js/web";
|
|
8
|
+
import { use as _$use } from "solid-js/web";
|
|
9
|
+
import { spread as _$spread } from "solid-js/web";
|
|
10
|
+
import { mergeProps as _$mergeProps } from "solid-js/web";
|
|
11
|
+
var _tmpl$ = /*#__PURE__*/_$template(`<button type=button>`),
|
|
12
|
+
_tmpl$2 = /*#__PURE__*/_$template(`<div popover=manual role=dialog class=k2b-chat-context-popup>`);
|
|
13
|
+
import { createSignal, createUniqueId, onCleanup, onMount, splitProps } from "solid-js";
|
|
14
|
+
import { positionTooltipSurface } from "../feedback/tooltip-position";
|
|
15
|
+
/** Context details support hover preview and deliberate click-to-pin without changing tooltip behavior. */
|
|
16
|
+
export function ChatContextPopup(props) {
|
|
17
|
+
const [local, rest] = splitProps(props, ["content", "children"]);
|
|
18
|
+
const id = `chat-context-${createUniqueId()}`;
|
|
19
|
+
const [open, setOpen] = createSignal(false);
|
|
20
|
+
let pinned = false;
|
|
21
|
+
let trigger;
|
|
22
|
+
let surface;
|
|
23
|
+
let timer;
|
|
24
|
+
const clear = () => {
|
|
25
|
+
clearTimeout(timer);
|
|
26
|
+
timer = undefined;
|
|
27
|
+
};
|
|
28
|
+
const position = () => {
|
|
29
|
+
if (open() && surface && trigger) positionTooltipSurface(surface, trigger, "top");
|
|
30
|
+
};
|
|
31
|
+
const show = () => {
|
|
32
|
+
clear();
|
|
33
|
+
if (!surface || open()) return;
|
|
34
|
+
surface.showPopover();
|
|
35
|
+
setOpen(true);
|
|
36
|
+
position();
|
|
37
|
+
};
|
|
38
|
+
const close = (restoreFocus = false) => {
|
|
39
|
+
clear();
|
|
40
|
+
pinned = false;
|
|
41
|
+
if (open()) surface?.hidePopover();
|
|
42
|
+
setOpen(false);
|
|
43
|
+
if (restoreFocus) trigger?.focus();
|
|
44
|
+
};
|
|
45
|
+
const preview = event => {
|
|
46
|
+
clear();
|
|
47
|
+
if (event.pointerType !== "touch" && !open()) timer = setTimeout(show, 250);
|
|
48
|
+
};
|
|
49
|
+
const leave = () => {
|
|
50
|
+
clear();
|
|
51
|
+
timer = setTimeout(() => {
|
|
52
|
+
if (!pinned && !surface?.contains(document.activeElement)) close();
|
|
53
|
+
}, 180);
|
|
54
|
+
};
|
|
55
|
+
onMount(() => {
|
|
56
|
+
const resize = new ResizeObserver(position);
|
|
57
|
+
if (surface) resize.observe(surface);
|
|
58
|
+
const outside = event => {
|
|
59
|
+
const path = event.composedPath();
|
|
60
|
+
if (!path.includes(trigger) && !path.includes(surface)) close();
|
|
61
|
+
};
|
|
62
|
+
const escape = event => {
|
|
63
|
+
if (event.key === "Escape" && open()) {
|
|
64
|
+
event.preventDefault();
|
|
65
|
+
event.stopPropagation();
|
|
66
|
+
close(Boolean(surface?.contains(document.activeElement)));
|
|
67
|
+
}
|
|
68
|
+
};
|
|
69
|
+
document.addEventListener("pointerdown", outside);
|
|
70
|
+
document.addEventListener("keydown", escape);
|
|
71
|
+
window.addEventListener("resize", position);
|
|
72
|
+
window.addEventListener("scroll", position, true);
|
|
73
|
+
onCleanup(() => {
|
|
74
|
+
resize.disconnect();
|
|
75
|
+
clear();
|
|
76
|
+
document.removeEventListener("pointerdown", outside);
|
|
77
|
+
document.removeEventListener("keydown", escape);
|
|
78
|
+
window.removeEventListener("resize", position);
|
|
79
|
+
window.removeEventListener("scroll", position, true);
|
|
80
|
+
});
|
|
81
|
+
});
|
|
82
|
+
return [(() => {
|
|
83
|
+
var _el$ = _$getNextElement(_tmpl$);
|
|
84
|
+
var _ref$ = trigger;
|
|
85
|
+
typeof _ref$ === "function" ? _$use(_ref$, _el$) : trigger = _el$;
|
|
86
|
+
_$spread(_el$, _$mergeProps(rest, {
|
|
87
|
+
get ["aria-expanded"]() {
|
|
88
|
+
return open();
|
|
89
|
+
},
|
|
90
|
+
"aria-controls": id,
|
|
91
|
+
"aria-haspopup": "dialog",
|
|
92
|
+
"onPointerEnter": preview,
|
|
93
|
+
"onPointerLeave": leave,
|
|
94
|
+
"onClick": () => {
|
|
95
|
+
if (pinned) close();else {
|
|
96
|
+
pinned = true;
|
|
97
|
+
show();
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
}), false, true);
|
|
101
|
+
_$insert(_el$, () => local.children);
|
|
102
|
+
_$runHydrationEvents();
|
|
103
|
+
return _el$;
|
|
104
|
+
})(), (() => {
|
|
105
|
+
var _el$2 = _$getNextElement(_tmpl$2);
|
|
106
|
+
_el$2.$$focusout = event => {
|
|
107
|
+
const next = event.relatedTarget;
|
|
108
|
+
if (!(next instanceof Node) || !surface?.contains(next) && next !== trigger) close();
|
|
109
|
+
};
|
|
110
|
+
_el$2.$$focusin = clear;
|
|
111
|
+
_el$2.addEventListener("pointerleave", leave);
|
|
112
|
+
_el$2.addEventListener("pointerenter", clear);
|
|
113
|
+
var _ref$2 = surface;
|
|
114
|
+
typeof _ref$2 === "function" ? _$use(_ref$2, _el$2) : surface = _el$2;
|
|
115
|
+
_$setAttribute(_el$2, "id", id);
|
|
116
|
+
_$insert(_el$2, () => local.content);
|
|
117
|
+
_$effect(() => _$setAttribute(_el$2, "aria-label", props["aria-label"]));
|
|
118
|
+
_$runHydrationEvents();
|
|
119
|
+
return _el$2;
|
|
120
|
+
})()];
|
|
121
|
+
}
|
|
122
|
+
_$delegateEvents(["focusin", "focusout"]);
|
|
123
|
+
//# sourceMappingURL=ChatContextPopup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createSignal","createUniqueId","onCleanup","onMount","splitProps","positionTooltipSurface","ChatContextPopup","props","local","rest","id","open","setOpen","pinned","trigger","surface","timer","clear","clearTimeout","undefined","position","show","showPopover","close","restoreFocus","hidePopover","focus","preview","event","pointerType","setTimeout","leave","contains","document","activeElement","resize","ResizeObserver","observe","outside","path","composedPath","includes","escape","key","preventDefault","stopPropagation","Boolean","addEventListener","window","disconnect","removeEventListener","_el$","_$getNextElement","_tmpl$","_ref$","_$use","_$spread","_$mergeProps","aria-expanded","onClick","_$insert","children","_$runHydrationEvents","_el$2","_tmpl$2","$$focusout","next","relatedTarget","Node","$$focusin","_ref$2","_$setAttribute","content","_$effect","_$delegateEvents"],"sources":["chat/ChatContextPopup.tsx"],"sourcesContent":["import { createSignal, createUniqueId, type JSX, onCleanup, onMount, splitProps } from \"solid-js\";\nimport { positionTooltipSurface } from \"../feedback/tooltip-position\";\n\nexport type ChatContextPopupProps = Omit<\n JSX.ButtonHTMLAttributes<HTMLButtonElement>,\n \"content\" | \"ref\" | \"onClick\" | \"onPointerEnter\" | \"onPointerLeave\"\n> & { content: JSX.Element };\n\n/** Context details support hover preview and deliberate click-to-pin without changing tooltip behavior. */\nexport function ChatContextPopup(props: ChatContextPopupProps): JSX.Element {\n const [local, rest] = splitProps(props, [\"content\", \"children\"]);\n const id = `chat-context-${createUniqueId()}`;\n const [open, setOpen] = createSignal(false);\n let pinned = false;\n let trigger: HTMLButtonElement | undefined;\n let surface: HTMLDivElement | undefined;\n let timer: ReturnType<typeof setTimeout> | undefined;\n const clear = () => {\n clearTimeout(timer);\n timer = undefined;\n };\n const position = () => {\n if (open() && surface && trigger) positionTooltipSurface(surface, trigger, \"top\");\n };\n const show = () => {\n clear();\n if (!surface || open()) return;\n surface.showPopover();\n setOpen(true);\n position();\n };\n const close = (restoreFocus = false) => {\n clear();\n pinned = false;\n if (open()) surface?.hidePopover();\n setOpen(false);\n if (restoreFocus) trigger?.focus();\n };\n const preview = (event: PointerEvent) => {\n clear();\n if (event.pointerType !== \"touch\" && !open()) timer = setTimeout(show, 250);\n };\n const leave = () => {\n clear();\n timer = setTimeout(() => {\n if (!pinned && !surface?.contains(document.activeElement)) close();\n }, 180);\n };\n onMount(() => {\n const resize = new ResizeObserver(position);\n if (surface) resize.observe(surface);\n const outside = (event: PointerEvent) => {\n const path = event.composedPath();\n if (!path.includes(trigger!) && !path.includes(surface!)) close();\n };\n const escape = (event: KeyboardEvent) => {\n if (event.key === \"Escape\" && open()) {\n event.preventDefault();\n event.stopPropagation();\n close(Boolean(surface?.contains(document.activeElement)));\n }\n };\n document.addEventListener(\"pointerdown\", outside);\n document.addEventListener(\"keydown\", escape);\n window.addEventListener(\"resize\", position);\n window.addEventListener(\"scroll\", position, true);\n onCleanup(() => {\n resize.disconnect();\n clear();\n document.removeEventListener(\"pointerdown\", outside);\n document.removeEventListener(\"keydown\", escape);\n window.removeEventListener(\"resize\", position);\n window.removeEventListener(\"scroll\", position, true);\n });\n });\n return (\n <>\n <button\n type=\"button\"\n {...rest}\n ref={trigger}\n aria-expanded={open()}\n aria-controls={id}\n aria-haspopup=\"dialog\"\n onPointerEnter={preview}\n onPointerLeave={leave}\n onClick={() => {\n if (pinned) close();\n else {\n pinned = true;\n show();\n }\n }}\n >\n {local.children}\n </button>\n <div\n ref={surface}\n id={id}\n popover=\"manual\"\n role=\"dialog\"\n aria-label={props[\"aria-label\"]}\n class=\"k2b-chat-context-popup\"\n onPointerEnter={clear}\n onPointerLeave={leave}\n onFocusIn={clear}\n onFocusOut={(event) => {\n const next = event.relatedTarget;\n if (!(next instanceof Node) || (!surface?.contains(next) && next !== trigger)) close();\n }}\n >\n {local.content}\n </div>\n </>\n );\n}\n"],"mappings":";;;;;;;;;;;;AAAA,SAASA,YAAY,EAAEC,cAAc,EAAYC,SAAS,EAAEC,OAAO,EAAEC,UAAU,QAAQ,UAAU;AACjG,SAASC,sBAAsB,QAAQ,8BAA8B;AAOrE;AACA,OAAO,SAASC,gBAAgBA,CAACC,KAA4B,EAAe;EAC1E,MAAM,CAACC,KAAK,EAAEC,IAAI,CAAC,GAAGL,UAAU,CAACG,KAAK,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC;EAChE,MAAMG,EAAE,GAAG,gBAAgBT,cAAc,CAAC,CAAC,EAAE;EAC7C,MAAM,CAACU,IAAI,EAAEC,OAAO,CAAC,GAAGZ,YAAY,CAAC,KAAK,CAAC;EAC3C,IAAIa,MAAM,GAAG,KAAK;EAClB,IAAIC,OAAsC;EAC1C,IAAIC,OAAmC;EACvC,IAAIC,KAAgD;EACpD,MAAMC,KAAK,GAAGA,CAAA,KAAM;IAClBC,YAAY,CAACF,KAAK,CAAC;IACnBA,KAAK,GAAGG,SAAS;EACnB,CAAC;EACD,MAAMC,QAAQ,GAAGA,CAAA,KAAM;IACrB,IAAIT,IAAI,CAAC,CAAC,IAAII,OAAO,IAAID,OAAO,EAAET,sBAAsB,CAACU,OAAO,EAAED,OAAO,EAAE,KAAK,CAAC;EACnF,CAAC;EACD,MAAMO,IAAI,GAAGA,CAAA,KAAM;IACjBJ,KAAK,CAAC,CAAC;IACP,IAAI,CAACF,OAAO,IAAIJ,IAAI,CAAC,CAAC,EAAE;IACxBI,OAAO,CAACO,WAAW,CAAC,CAAC;IACrBV,OAAO,CAAC,IAAI,CAAC;IACbQ,QAAQ,CAAC,CAAC;EACZ,CAAC;EACD,MAAMG,KAAK,GAAGA,CAACC,YAAY,GAAG,KAAK,KAAK;IACtCP,KAAK,CAAC,CAAC;IACPJ,MAAM,GAAG,KAAK;IACd,IAAIF,IAAI,CAAC,CAAC,EAAEI,OAAO,EAAEU,WAAW,CAAC,CAAC;IAClCb,OAAO,CAAC,KAAK,CAAC;IACd,IAAIY,YAAY,EAAEV,OAAO,EAAEY,KAAK,CAAC,CAAC;EACpC,CAAC;EACD,MAAMC,OAAO,GAAIC,KAAmB,IAAK;IACvCX,KAAK,CAAC,CAAC;IACP,IAAIW,KAAK,CAACC,WAAW,KAAK,OAAO,IAAI,CAAClB,IAAI,CAAC,CAAC,EAAEK,KAAK,GAAGc,UAAU,CAACT,IAAI,EAAE,GAAG,CAAC;EAC7E,CAAC;EACD,MAAMU,KAAK,GAAGA,CAAA,KAAM;IAClBd,KAAK,CAAC,CAAC;IACPD,KAAK,GAAGc,UAAU,CAAC,MAAM;MACvB,IAAI,CAACjB,MAAM,IAAI,CAACE,OAAO,EAAEiB,QAAQ,CAACC,QAAQ,CAACC,aAAa,CAAC,EAAEX,KAAK,CAAC,CAAC;IACpE,CAAC,EAAE,GAAG,CAAC;EACT,CAAC;EACDpB,OAAO,CAAC,MAAM;IACZ,MAAMgC,MAAM,GAAG,IAAIC,cAAc,CAAChB,QAAQ,CAAC;IAC3C,IAAIL,OAAO,EAAEoB,MAAM,CAACE,OAAO,CAACtB,OAAO,CAAC;IACpC,MAAMuB,OAAO,GAAIV,KAAmB,IAAK;MACvC,MAAMW,IAAI,GAAGX,KAAK,CAACY,YAAY,CAAC,CAAC;MACjC,IAAI,CAACD,IAAI,CAACE,QAAQ,CAAC3B,OAAQ,CAAC,IAAI,CAACyB,IAAI,CAACE,QAAQ,CAAC1B,OAAQ,CAAC,EAAEQ,KAAK,CAAC,CAAC;IACnE,CAAC;IACD,MAAMmB,MAAM,GAAId,KAAoB,IAAK;MACvC,IAAIA,KAAK,CAACe,GAAG,KAAK,QAAQ,IAAIhC,IAAI,CAAC,CAAC,EAAE;QACpCiB,KAAK,CAACgB,cAAc,CAAC,CAAC;QACtBhB,KAAK,CAACiB,eAAe,CAAC,CAAC;QACvBtB,KAAK,CAACuB,OAAO,CAAC/B,OAAO,EAAEiB,QAAQ,CAACC,QAAQ,CAACC,aAAa,CAAC,CAAC,CAAC;MAC3D;IACF,CAAC;IACDD,QAAQ,CAACc,gBAAgB,CAAC,aAAa,EAAET,OAAO,CAAC;IACjDL,QAAQ,CAACc,gBAAgB,CAAC,SAAS,EAAEL,MAAM,CAAC;IAC5CM,MAAM,CAACD,gBAAgB,CAAC,QAAQ,EAAE3B,QAAQ,CAAC;IAC3C4B,MAAM,CAACD,gBAAgB,CAAC,QAAQ,EAAE3B,QAAQ,EAAE,IAAI,CAAC;IACjDlB,SAAS,CAAC,MAAM;MACdiC,MAAM,CAACc,UAAU,CAAC,CAAC;MACnBhC,KAAK,CAAC,CAAC;MACPgB,QAAQ,CAACiB,mBAAmB,CAAC,aAAa,EAAEZ,OAAO,CAAC;MACpDL,QAAQ,CAACiB,mBAAmB,CAAC,SAAS,EAAER,MAAM,CAAC;MAC/CM,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAE9B,QAAQ,CAAC;MAC9C4B,MAAM,CAACE,mBAAmB,CAAC,QAAQ,EAAE9B,QAAQ,EAAE,IAAI,CAAC;IACtD,CAAC,CAAC;EACJ,CAAC,CAAC;EACF;IAAA,IAAA+B,IAAA,GAAAC,gBAAA,CAAAC,MAAA;IAAA,IAAAC,KAAA,GAKWxC,OAAO;IAAA,OAAAwC,KAAA,kBAAAC,KAAA,CAAAD,KAAA,EAAAH,IAAA,IAAPrC,OAAO,GAAAqC,IAAA;IAAAK,QAAA,CAAAL,IAAA,EAAAM,YAAA,CADRhD,IAAI;MAAA,qBAAAiD,CAAA;QAAA,OAEO/C,IAAI,CAAC,CAAC;MAAA;MAAA,iBACND,EAAE;MAAA,iBACH,QAAQ;MAAA,kBACNiB,OAAO;MAAA,kBACPI,KAAK;MAAA,WACZ4B,CAAA,KAAM;QACb,IAAI9C,MAAM,EAAEU,KAAK,CAAC,CAAC,CAAC,KACf;UACHV,MAAM,GAAG,IAAI;UACbQ,IAAI,CAAC,CAAC;QACR;MACF;IAAC;IAAAuC,QAAA,CAAAT,IAAA,QAEA3C,KAAK,CAACqD,QAAQ;IAAAC,oBAAA;IAAA,OAAAX,IAAA;EAAA;IAAA,IAAAY,KAAA,GAAAX,gBAAA,CAAAY,OAAA;IAAAD,KAAA,CAAAE,UAAA,GAYFrC,KAAK,IAAK;MACrB,MAAMsC,IAAI,GAAGtC,KAAK,CAACuC,aAAa;MAChC,IAAI,EAAED,IAAI,YAAYE,IAAI,CAAC,IAAK,CAACrD,OAAO,EAAEiB,QAAQ,CAACkC,IAAI,CAAC,IAAIA,IAAI,KAAKpD,OAAQ,EAAES,KAAK,CAAC,CAAC;IACxF,CAAC;IAAAwC,KAAA,CAAAM,SAAA,GAJUpD,KAAK;IAAA8C,KAAA,CAAAhB,gBAAA,iBADAhB,KAAK;IAAAgC,KAAA,CAAAhB,gBAAA,iBADL9B,KAAK;IAAA,IAAAqD,MAAA,GANhBvD,OAAO;IAAA,OAAAuD,MAAA,kBAAAf,KAAA,CAAAe,MAAA,EAAAP,KAAA,IAAPhD,OAAO,GAAAgD,KAAA;IAAAQ,cAAA,CAAAR,KAAA,QACRrD,EAAE;IAAAkD,QAAA,CAAAG,KAAA,QAaLvD,KAAK,CAACgE,OAAO;IAAAC,QAAA,OAAAF,cAAA,CAAAR,KAAA,gBAVFxD,KAAK,CAAC,YAAY,CAAC;IAAAuD,oBAAA;IAAA,OAAAC,KAAA;EAAA;AAcvC;AAACW,gBAAA","ignoreList":[]}
|