@k2b/ui 0.2.0 → 0.3.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 +1 -1
- 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 +113 -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 +507 -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/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/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/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/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 +1 -1
- 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 +57 -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 +352 -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/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/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/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/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 +1 -1
- 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 +15 -1
- 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 -5
|
@@ -7,21 +7,25 @@ var _tmpl$ = ["<button type=\"button\" class=\"k2b-content-file-view__action\"",
|
|
|
7
7
|
_tmpl$3 = ["<div class=\"k2b-content-file-view__overlay\">", "</div>"],
|
|
8
8
|
_tmpl$4 = ["<div class=\"k2b-content-file-view__panel\"><div class=\"k2b-content-file-view__preview\">", "</div>", "</div>"],
|
|
9
9
|
_tmpl$5 = ["<button type=\"button\" class=\"k2b-markdown-editor__tool\"", " tabindex=\"-1\"", "><i", "></i></button>"],
|
|
10
|
-
_tmpl$6 = ["<div class=\"k2b-content-file-
|
|
11
|
-
_tmpl$7 = ["<
|
|
12
|
-
_tmpl$8 = ["<div class=\"
|
|
13
|
-
_tmpl$9 = ["<
|
|
14
|
-
_tmpl$0 = ["<
|
|
15
|
-
_tmpl$1 = ["<div class=\"k2b-content-file-
|
|
16
|
-
_tmpl$10 = ["<
|
|
17
|
-
_tmpl$11 = ["<
|
|
18
|
-
_tmpl$12 = ["<
|
|
19
|
-
_tmpl$13 = ["<
|
|
20
|
-
_tmpl$14 = ["<
|
|
21
|
-
_tmpl$15 = ["<
|
|
22
|
-
_tmpl$16 = ["<div class=\"k2b-content-file-
|
|
23
|
-
_tmpl$17 = ["<
|
|
24
|
-
_tmpl$18 = ["<
|
|
10
|
+
_tmpl$6 = ["<div class=\"k2b-content-file-view__truncated\">", "</div>"],
|
|
11
|
+
_tmpl$7 = ["<span>", "</span>"],
|
|
12
|
+
_tmpl$8 = ["<div class=\"", "\">", "</div>"],
|
|
13
|
+
_tmpl$9 = ["<div class=\"k2b-content-file-view__document\">", "</div>"],
|
|
14
|
+
_tmpl$0 = ["<div class=\"k2b-content-file-view__editor\">", "</div>"],
|
|
15
|
+
_tmpl$1 = ["<div class=\"k2b-content-file-view__editor\"><div class=\"k2b-markdown-editor\" data-fill=\"true\" role=\"group\"", "><div class=\"k2b-markdown-editor__toolbar k2b-content-file-view__code-toolbar\"><span class=\"k2b-content-file-view__code-language\">", "</span><span class=\"k2b-markdown-editor__trailing\">", "", "</span></div><div class=\"k2b-markdown-editor__surface\"><textarea class=\"k2b-content-file-view__code-input\"", " spellcheck=\"false\"></textarea></div></div></div>"],
|
|
16
|
+
_tmpl$10 = ["<a class=\"k2b-markdown-editor__tool\"", "><i class=\"ti ti-download\"></i></a>"],
|
|
17
|
+
_tmpl$11 = ["<div class=\"k2b-content-file-view__settings\">", "", "", "</div>"],
|
|
18
|
+
_tmpl$12 = ["<div class=\"k2b-content-file-view__sheet\"><table class=\"k2b-content-file-view__table\"><thead><tr>", "</tr></thead><tbody>", "</tbody></table>", "", "</div>"],
|
|
19
|
+
_tmpl$13 = ["<th scope=\"col\"><span>", "</span></th>"],
|
|
20
|
+
_tmpl$14 = ["<tr>", "</tr>"],
|
|
21
|
+
_tmpl$15 = ["<td>", "</td>"],
|
|
22
|
+
_tmpl$16 = ["<div class=\"k2b-content-file-view__pagination\">", "<span>", "\u2013", " / ", "</span>", "</div>"],
|
|
23
|
+
_tmpl$17 = ["<div class=\"k2b-content-file-view__media\"><img", "></div>"],
|
|
24
|
+
_tmpl$18 = ["<object", " type=\"application/pdf\" class=\"k2b-content-file-view__pdf\"", "></object>"],
|
|
25
|
+
_tmpl$19 = ["<div class=\"k2b-content-file-view__media\" data-kind=\"audio\"><audio", " controls preload=\"metadata\"", ">", "</audio></div>"],
|
|
26
|
+
_tmpl$20 = ["<div class=\"k2b-content-file-view__media\" data-kind=\"video\"><video", " controls preload=\"metadata\" playsinline", ">", "</video></div>"],
|
|
27
|
+
_tmpl$21 = ["<a class=\"k2b-button\" data-variant=\"secondary\" data-size=\"sm\"", " download><i class=\"ti ti-download\" aria-hidden=\"true\"></i>", "</a>"],
|
|
28
|
+
_tmpl$22 = ["<div class=\"", "\"", ">", "</div>"];
|
|
25
29
|
/**
|
|
26
30
|
* FileView — renders one file through a small renderer registry keyed by
|
|
27
31
|
* media type / path. Editing is enabled purely by the presence of `save`;
|
|
@@ -33,12 +37,16 @@ var _tmpl$ = ["<button type=\"button\" class=\"k2b-content-file-view__action\"",
|
|
|
33
37
|
*/
|
|
34
38
|
|
|
35
39
|
import { mutation } from "@k2b/stdlib/solid";
|
|
36
|
-
import { createEffect, createMemo, createResource, createSignal, For, Match, onCleanup, Show, Switch, untrack } from "solid-js";
|
|
40
|
+
import { createEffect, createMemo, createResource, createSignal, For, Match, onCleanup, onMount, Show, Switch, untrack } from "solid-js";
|
|
41
|
+
import { prompts } from "../feedback/prompts";
|
|
37
42
|
import { toast } from "../feedback/toast";
|
|
38
43
|
import { MarkdownEditor } from "../inputs/markdown/MarkdownEditor";
|
|
44
|
+
import { Button } from "../actions/Button";
|
|
45
|
+
import { Select } from "../inputs/Select";
|
|
39
46
|
import { useUiMessages } from "../intl/messages";
|
|
40
47
|
import Placeholder from "../surfaces/Placeholder";
|
|
41
48
|
import CodeDisplay from "./CodeDisplay";
|
|
49
|
+
import { decodeDelimitedContent, readDelimitedPreferences } from "./delimited-preferences";
|
|
42
50
|
import { fileViewExtension, getFileViewPreviewKind, parseDelimitedText } from "./file-view-preview";
|
|
43
51
|
import MarkdownView from "./MarkdownView";
|
|
44
52
|
import StructuredDataPreview from "./StructuredDataPreview";
|
|
@@ -116,6 +124,73 @@ function EditorToolButton(props) {
|
|
|
116
124
|
|
|
117
125
|
// ── Built-in renderers ──────────────────────────────────────────────────────
|
|
118
126
|
|
|
127
|
+
function MoreLines(props) {
|
|
128
|
+
const messages = useUiMessages();
|
|
129
|
+
return _$createComponent(Show, {
|
|
130
|
+
get when() {
|
|
131
|
+
return props.count > 0;
|
|
132
|
+
},
|
|
133
|
+
get children() {
|
|
134
|
+
return _$ssr(_tmpl$6, _$escape(_$createComponent(Show, {
|
|
135
|
+
get when() {
|
|
136
|
+
return props.onClick;
|
|
137
|
+
},
|
|
138
|
+
get fallback() {
|
|
139
|
+
return _$ssr(_tmpl$7, _$escape(messages().previewMoreLines(props.count)));
|
|
140
|
+
},
|
|
141
|
+
get children() {
|
|
142
|
+
return _$createComponent(Button, {
|
|
143
|
+
size: "sm",
|
|
144
|
+
variant: "ghost",
|
|
145
|
+
get onClick() {
|
|
146
|
+
return props.onClick;
|
|
147
|
+
},
|
|
148
|
+
get children() {
|
|
149
|
+
return messages().previewMoreLines(props.count);
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
})));
|
|
154
|
+
}
|
|
155
|
+
});
|
|
156
|
+
}
|
|
157
|
+
function TextExcerpt(props) {
|
|
158
|
+
const lines = createMemo(() => props.text.replace(/\r\n?/g, "\n").replace(/\n$/, "").split("\n"));
|
|
159
|
+
const limit = () => props.renderer.previewLines === undefined ? lines().length : Math.max(1, props.renderer.previewLines);
|
|
160
|
+
const text = () => lines().slice(0, limit()).join("\n");
|
|
161
|
+
return [_$ssr(_tmpl$8, props.renderer.previewLines !== undefined ? "k2b-content-file-view__excerpt" : "", _$escape(_$createComponent(Show, {
|
|
162
|
+
get when() {
|
|
163
|
+
return props.markdown;
|
|
164
|
+
},
|
|
165
|
+
get fallback() {
|
|
166
|
+
return _$createComponent(CodeDisplay, {
|
|
167
|
+
get code() {
|
|
168
|
+
return text();
|
|
169
|
+
},
|
|
170
|
+
get language() {
|
|
171
|
+
return codeLanguage(props.renderer.file.path);
|
|
172
|
+
}
|
|
173
|
+
});
|
|
174
|
+
},
|
|
175
|
+
get children() {
|
|
176
|
+
return _$createComponent(MarkdownView, {
|
|
177
|
+
get markdown() {
|
|
178
|
+
return text();
|
|
179
|
+
},
|
|
180
|
+
get headingScale() {
|
|
181
|
+
return props.renderer.headingScale ?? "compact";
|
|
182
|
+
}
|
|
183
|
+
});
|
|
184
|
+
}
|
|
185
|
+
}))), _$createComponent(MoreLines, {
|
|
186
|
+
get count() {
|
|
187
|
+
return lines().length - limit();
|
|
188
|
+
},
|
|
189
|
+
get onClick() {
|
|
190
|
+
return props.renderer.onExpandPreview;
|
|
191
|
+
}
|
|
192
|
+
})];
|
|
193
|
+
}
|
|
119
194
|
function MarkdownRenderer(props) {
|
|
120
195
|
const messages = useUiMessages();
|
|
121
196
|
const [editing, setEditing] = createSignal(false);
|
|
@@ -142,18 +217,19 @@ function MarkdownRenderer(props) {
|
|
|
142
217
|
}), _$createComponent(DownloadAction, props)];
|
|
143
218
|
},
|
|
144
219
|
get children() {
|
|
145
|
-
return _$ssr(_tmpl$
|
|
146
|
-
|
|
220
|
+
return _$ssr(_tmpl$9, _$escape(_$createComponent(TextExcerpt, {
|
|
221
|
+
renderer: props,
|
|
222
|
+
get text() {
|
|
147
223
|
return stripFrontmatter(props.editor?.draft() ?? props.content.content);
|
|
148
224
|
},
|
|
149
|
-
|
|
225
|
+
markdown: true
|
|
150
226
|
})));
|
|
151
227
|
}
|
|
152
228
|
});
|
|
153
229
|
},
|
|
154
230
|
children: _ => {
|
|
155
231
|
const editor = props.editor;
|
|
156
|
-
return _$ssr(_tmpl$
|
|
232
|
+
return _$ssr(_tmpl$0, _$escape(_$createComponent(MarkdownEditor, {
|
|
157
233
|
"class": "k2b-content-file-view__markdown-field",
|
|
158
234
|
get ["aria-label"]() {
|
|
159
235
|
return `Edit ${props.file.path.slice(props.file.path.lastIndexOf("/") + 1)}`;
|
|
@@ -198,12 +274,10 @@ function TextRenderer(props) {
|
|
|
198
274
|
return _$createComponent(DownloadAction, props);
|
|
199
275
|
},
|
|
200
276
|
get children() {
|
|
201
|
-
return _$createComponent(
|
|
202
|
-
|
|
277
|
+
return _$createComponent(TextExcerpt, {
|
|
278
|
+
renderer: props,
|
|
279
|
+
get text() {
|
|
203
280
|
return props.content.content;
|
|
204
|
-
},
|
|
205
|
-
get language() {
|
|
206
|
-
return codeLanguage(props.file.path);
|
|
207
281
|
}
|
|
208
282
|
});
|
|
209
283
|
}
|
|
@@ -211,11 +285,11 @@ function TextRenderer(props) {
|
|
|
211
285
|
},
|
|
212
286
|
children: editor => // Same chrome as the markdown editor — literally the same classes, so
|
|
213
287
|
// border, radius, focus ring, toolbar height and text metrics cannot drift.
|
|
214
|
-
_$ssr(_tmpl$
|
|
288
|
+
_$ssr(_tmpl$1, _$ssrAttribute("aria-label", _$escape(messages().textEditor, true), false), _$escape(codeLanguage(props.file.path)), _$escape(_$createComponent(Show, {
|
|
215
289
|
get when() {
|
|
216
290
|
return props.downloadHref;
|
|
217
291
|
},
|
|
218
|
-
children: href => _$ssr(_tmpl$
|
|
292
|
+
children: href => _$ssr(_tmpl$10, _$ssrAttribute("href", _$escape(href(), true), false) + _$ssrAttribute("download", _$escape(props.file.path.slice(props.file.path.lastIndexOf("/") + 1), true), false) + _$ssrAttribute("title", _$escape(messages().download, true), false) + _$ssrAttribute("aria-label", _$escape(messages().download, true), false))
|
|
219
293
|
})), _$escape(_$createComponent(EditorToolButton, {
|
|
220
294
|
get icon() {
|
|
221
295
|
return editor().saving() ? "ti ti-loader-2 k2b-spin" : "ti ti-device-floppy";
|
|
@@ -252,24 +326,39 @@ function JsonRenderer(props) {
|
|
|
252
326
|
return _$createComponent(DownloadAction, props);
|
|
253
327
|
},
|
|
254
328
|
get children() {
|
|
255
|
-
return _$ssr(_tmpl$
|
|
329
|
+
return _$ssr(_tmpl$9, _$escape(_$createComponent(Show, {
|
|
256
330
|
get when() {
|
|
257
331
|
return parsed().ok;
|
|
258
332
|
},
|
|
259
333
|
get fallback() {
|
|
260
|
-
return _$createComponent(
|
|
261
|
-
|
|
334
|
+
return _$createComponent(TextExcerpt, {
|
|
335
|
+
renderer: props,
|
|
336
|
+
get text() {
|
|
262
337
|
return props.content.content;
|
|
263
|
-
}
|
|
264
|
-
language: "text"
|
|
338
|
+
}
|
|
265
339
|
});
|
|
266
340
|
},
|
|
267
341
|
get children() {
|
|
268
|
-
return _$createComponent(
|
|
269
|
-
get
|
|
270
|
-
return
|
|
342
|
+
return _$createComponent(Show, {
|
|
343
|
+
get when() {
|
|
344
|
+
return props.previewLines === undefined;
|
|
271
345
|
},
|
|
272
|
-
|
|
346
|
+
get fallback() {
|
|
347
|
+
return _$createComponent(TextExcerpt, {
|
|
348
|
+
renderer: props,
|
|
349
|
+
get text() {
|
|
350
|
+
return JSON.stringify(parsedValue(), null, 2);
|
|
351
|
+
}
|
|
352
|
+
});
|
|
353
|
+
},
|
|
354
|
+
get children() {
|
|
355
|
+
return _$createComponent(StructuredDataPreview, {
|
|
356
|
+
get data() {
|
|
357
|
+
return parsedValue();
|
|
358
|
+
},
|
|
359
|
+
maxRows: 200
|
|
360
|
+
});
|
|
361
|
+
}
|
|
273
362
|
});
|
|
274
363
|
}
|
|
275
364
|
})));
|
|
@@ -278,56 +367,226 @@ function JsonRenderer(props) {
|
|
|
278
367
|
}
|
|
279
368
|
function DelimitedTextRenderer(props) {
|
|
280
369
|
const messages = useUiMessages();
|
|
281
|
-
const
|
|
282
|
-
|
|
370
|
+
const [preferences, setPreferences] = createSignal({
|
|
371
|
+
encoding: "utf-8",
|
|
372
|
+
delimiter: "auto",
|
|
373
|
+
view: "table"
|
|
374
|
+
});
|
|
375
|
+
onMount(() => {
|
|
376
|
+
if (!props.previewPreferencesKey) return;
|
|
377
|
+
try {
|
|
378
|
+
setPreferences(readDelimitedPreferences(localStorage.getItem(props.previewPreferencesKey)));
|
|
379
|
+
} catch {/* Storage may be disabled. */}
|
|
380
|
+
});
|
|
381
|
+
const update = patch => {
|
|
382
|
+
const next = {
|
|
383
|
+
...preferences(),
|
|
384
|
+
...patch
|
|
385
|
+
};
|
|
386
|
+
setPreferences(next);
|
|
387
|
+
if (props.previewPreferencesKey) {
|
|
388
|
+
try {
|
|
389
|
+
localStorage.setItem(props.previewPreferencesKey, JSON.stringify(next));
|
|
390
|
+
} catch {/* Keep the local selection. */}
|
|
391
|
+
}
|
|
392
|
+
};
|
|
393
|
+
const text = createMemo(() => decodeDelimitedContent(props.content, preferences().encoding));
|
|
394
|
+
const delimiter = () => preferences().delimiter === "auto" ? fileViewExtension(props.file.path) === "tsv" || props.content.mediaType === "text/tab-separated-values" ? "\t" : "," : preferences().delimiter;
|
|
395
|
+
const [page, setPage] = createSignal(0);
|
|
396
|
+
createEffect(() => {
|
|
397
|
+
text();
|
|
398
|
+
delimiter();
|
|
399
|
+
props.previewLines;
|
|
400
|
+
setPage(0);
|
|
401
|
+
});
|
|
402
|
+
const pageSize = () => props.previewLines === undefined ? 200 : Math.max(1, props.previewLines);
|
|
403
|
+
const preview = createMemo(() => parseDelimitedText(text(), delimiter(), {
|
|
404
|
+
rows: pageSize() + 1,
|
|
405
|
+
offset: page() * pageSize()
|
|
406
|
+
}));
|
|
407
|
+
const settings = () => prompts.dialog(() => _$ssr(_tmpl$11, _$escape(_$createComponent(Select, {
|
|
408
|
+
get label() {
|
|
409
|
+
return messages().csvEncoding;
|
|
410
|
+
},
|
|
411
|
+
get value() {
|
|
412
|
+
return preferences().encoding;
|
|
413
|
+
},
|
|
414
|
+
get disabled() {
|
|
415
|
+
return props.content.encoding !== "base64";
|
|
416
|
+
},
|
|
417
|
+
options: ["utf-8", "windows-1252", "utf-16le", "utf-16be"],
|
|
418
|
+
onValueChange: value => {
|
|
419
|
+
if (value) update({
|
|
420
|
+
encoding: value
|
|
421
|
+
});
|
|
422
|
+
}
|
|
423
|
+
})), _$escape(_$createComponent(Select, {
|
|
424
|
+
get label() {
|
|
425
|
+
return messages().csvSeparator;
|
|
426
|
+
},
|
|
427
|
+
get value() {
|
|
428
|
+
return preferences().delimiter;
|
|
429
|
+
},
|
|
430
|
+
get options() {
|
|
431
|
+
return [{
|
|
432
|
+
value: "auto",
|
|
433
|
+
label: messages().csvDefaultSeparator
|
|
434
|
+
}, {
|
|
435
|
+
value: ",",
|
|
436
|
+
label: messages().csvComma
|
|
437
|
+
}, {
|
|
438
|
+
value: ";",
|
|
439
|
+
label: messages().csvSemicolon
|
|
440
|
+
}, {
|
|
441
|
+
value: "\t",
|
|
442
|
+
label: messages().csvTab
|
|
443
|
+
}, {
|
|
444
|
+
value: "|",
|
|
445
|
+
label: "|"
|
|
446
|
+
}];
|
|
447
|
+
},
|
|
448
|
+
onValueChange: value => {
|
|
449
|
+
if (value) update({
|
|
450
|
+
delimiter: value
|
|
451
|
+
});
|
|
452
|
+
}
|
|
453
|
+
})), _$escape(_$createComponent(Select, {
|
|
454
|
+
get label() {
|
|
455
|
+
return messages().csvView;
|
|
456
|
+
},
|
|
457
|
+
get value() {
|
|
458
|
+
return preferences().view;
|
|
459
|
+
},
|
|
460
|
+
get options() {
|
|
461
|
+
return [{
|
|
462
|
+
value: "table",
|
|
463
|
+
label: messages().dataTable
|
|
464
|
+
}, {
|
|
465
|
+
value: "raw",
|
|
466
|
+
label: messages().csvRaw
|
|
467
|
+
}];
|
|
468
|
+
},
|
|
469
|
+
onValueChange: value => {
|
|
470
|
+
if (value === "table" || value === "raw") update({
|
|
471
|
+
view: value
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
}))), {
|
|
475
|
+
title: messages().csvSettings
|
|
476
|
+
});
|
|
283
477
|
const headers = createMemo(() => preview().rows[0] ?? []);
|
|
284
478
|
const rows = createMemo(() => preview().rows.slice(1));
|
|
285
479
|
return _$createComponent(OverlayPanel, {
|
|
286
480
|
get actions() {
|
|
287
|
-
return _$createComponent(
|
|
481
|
+
return [_$createComponent(OverlayAction, {
|
|
482
|
+
icon: "ti-adjustments-horizontal",
|
|
483
|
+
get title() {
|
|
484
|
+
return messages().csvSettings;
|
|
485
|
+
},
|
|
486
|
+
onClick: () => void settings()
|
|
487
|
+
}), _$createComponent(DownloadAction, props)];
|
|
288
488
|
},
|
|
289
489
|
get children() {
|
|
290
490
|
return _$createComponent(Show, {
|
|
291
491
|
get when() {
|
|
292
|
-
return
|
|
492
|
+
return preferences().view === "table";
|
|
293
493
|
},
|
|
294
494
|
get fallback() {
|
|
295
|
-
return _$createComponent(
|
|
296
|
-
|
|
297
|
-
get
|
|
298
|
-
return
|
|
299
|
-
},
|
|
300
|
-
get description() {
|
|
301
|
-
return messages().delimitedFileEmpty;
|
|
495
|
+
return _$createComponent(TextExcerpt, {
|
|
496
|
+
renderer: props,
|
|
497
|
+
get text() {
|
|
498
|
+
return text();
|
|
302
499
|
}
|
|
303
500
|
});
|
|
304
501
|
},
|
|
305
502
|
get children() {
|
|
306
|
-
return _$
|
|
307
|
-
get each() {
|
|
308
|
-
return headers();
|
|
309
|
-
},
|
|
310
|
-
children: (header, index) => _$ssr(_tmpl$10, _$escape(header || messages().column({
|
|
311
|
-
number: index() + 1
|
|
312
|
-
})))
|
|
313
|
-
})), _$escape(_$createComponent(For, {
|
|
314
|
-
get each() {
|
|
315
|
-
return rows();
|
|
316
|
-
},
|
|
317
|
-
children: row => _$ssr(_tmpl$11, _$escape(_$createComponent(For, {
|
|
318
|
-
get each() {
|
|
319
|
-
return headers();
|
|
320
|
-
},
|
|
321
|
-
children: (_, index) => _$ssr(_tmpl$12, _$escape(row[index()] ?? ""))
|
|
322
|
-
})))
|
|
323
|
-
})), _$escape(_$createComponent(Show, {
|
|
503
|
+
return _$createComponent(Show, {
|
|
324
504
|
get when() {
|
|
325
|
-
return
|
|
505
|
+
return headers().length > 0;
|
|
506
|
+
},
|
|
507
|
+
get fallback() {
|
|
508
|
+
return _$createComponent(Placeholder, {
|
|
509
|
+
icon: "ti ti-table",
|
|
510
|
+
get title() {
|
|
511
|
+
return messages().emptyFile;
|
|
512
|
+
},
|
|
513
|
+
get description() {
|
|
514
|
+
return messages().delimitedFileEmpty;
|
|
515
|
+
}
|
|
516
|
+
});
|
|
326
517
|
},
|
|
327
518
|
get children() {
|
|
328
|
-
return _$ssr(_tmpl$
|
|
519
|
+
return _$ssr(_tmpl$12, _$escape(_$createComponent(For, {
|
|
520
|
+
get each() {
|
|
521
|
+
return headers();
|
|
522
|
+
},
|
|
523
|
+
children: (header, index) => _$ssr(_tmpl$13, _$escape(header || messages().column({
|
|
524
|
+
number: index() + 1
|
|
525
|
+
})))
|
|
526
|
+
})), _$escape(_$createComponent(For, {
|
|
527
|
+
get each() {
|
|
528
|
+
return rows();
|
|
529
|
+
},
|
|
530
|
+
children: row => _$ssr(_tmpl$14, _$escape(_$createComponent(For, {
|
|
531
|
+
get each() {
|
|
532
|
+
return headers();
|
|
533
|
+
},
|
|
534
|
+
children: (_, index) => _$ssr(_tmpl$15, _$escape(row[index()] ?? ""))
|
|
535
|
+
})))
|
|
536
|
+
})), _$escape(_$createComponent(Show, {
|
|
537
|
+
get when() {
|
|
538
|
+
return preview().columnsTruncated;
|
|
539
|
+
},
|
|
540
|
+
get children() {
|
|
541
|
+
return _$ssr(_tmpl$6, _$escape(messages().previewColumnsLimited));
|
|
542
|
+
}
|
|
543
|
+
})), _$escape(_$createComponent(Show, {
|
|
544
|
+
get when() {
|
|
545
|
+
return props.previewLines !== undefined;
|
|
546
|
+
},
|
|
547
|
+
get fallback() {
|
|
548
|
+
return _$createComponent(Show, {
|
|
549
|
+
get when() {
|
|
550
|
+
return preview().totalRows > 201;
|
|
551
|
+
},
|
|
552
|
+
get children() {
|
|
553
|
+
return _$ssr(_tmpl$16, _$escape(_$createComponent(Button, {
|
|
554
|
+
size: "sm",
|
|
555
|
+
variant: "ghost",
|
|
556
|
+
get disabled() {
|
|
557
|
+
return page() === 0;
|
|
558
|
+
},
|
|
559
|
+
onClick: () => setPage(page() - 1),
|
|
560
|
+
get children() {
|
|
561
|
+
return messages().previous;
|
|
562
|
+
}
|
|
563
|
+
})), _$escape(page()) * _$escape(pageSize()) + 1, _$escape(Math.min((page() + 1) * pageSize(), preview().totalRows - 1)), _$escape(preview().totalRows) - 1, _$escape(_$createComponent(Button, {
|
|
564
|
+
size: "sm",
|
|
565
|
+
variant: "ghost",
|
|
566
|
+
get disabled() {
|
|
567
|
+
return (page() + 1) * pageSize() >= preview().totalRows - 1;
|
|
568
|
+
},
|
|
569
|
+
onClick: () => setPage(page() + 1),
|
|
570
|
+
get children() {
|
|
571
|
+
return messages().next;
|
|
572
|
+
}
|
|
573
|
+
})));
|
|
574
|
+
}
|
|
575
|
+
});
|
|
576
|
+
},
|
|
577
|
+
get children() {
|
|
578
|
+
return _$createComponent(MoreLines, {
|
|
579
|
+
get count() {
|
|
580
|
+
return preview().totalRows - rows().length - 1;
|
|
581
|
+
},
|
|
582
|
+
get onClick() {
|
|
583
|
+
return props.onExpandPreview;
|
|
584
|
+
}
|
|
585
|
+
});
|
|
586
|
+
}
|
|
587
|
+
})));
|
|
329
588
|
}
|
|
330
|
-
})
|
|
589
|
+
});
|
|
331
590
|
}
|
|
332
591
|
});
|
|
333
592
|
}
|
|
@@ -340,7 +599,7 @@ function ImageRenderer(props) {
|
|
|
340
599
|
return _$createComponent(DownloadAction, props);
|
|
341
600
|
},
|
|
342
601
|
get children() {
|
|
343
|
-
return _$ssr(_tmpl$
|
|
602
|
+
return _$ssr(_tmpl$17, _$ssrAttribute("crossorigin", _$escape(props.crossOrigin, true), false) + _$ssrAttribute("src", _$escape(mediaSource(props), true), false) + _$ssrAttribute("alt", _$escape(props.file.path, true), false));
|
|
344
603
|
}
|
|
345
604
|
});
|
|
346
605
|
}
|
|
@@ -360,7 +619,7 @@ function PdfRenderer(props) {
|
|
|
360
619
|
}
|
|
361
620
|
});
|
|
362
621
|
},
|
|
363
|
-
children: href => _$ssr(_tmpl$
|
|
622
|
+
children: href => _$ssr(_tmpl$18, _$ssrAttribute("data", _$escape(href(), true), false), _$ssrAttribute("aria-label", _$escape(props.file.path, true), false))
|
|
364
623
|
});
|
|
365
624
|
}
|
|
366
625
|
function AudioRenderer(props) {
|
|
@@ -370,7 +629,7 @@ function AudioRenderer(props) {
|
|
|
370
629
|
return _$createComponent(DownloadAction, props);
|
|
371
630
|
},
|
|
372
631
|
get children() {
|
|
373
|
-
return _$ssr(_tmpl$
|
|
632
|
+
return _$ssr(_tmpl$19, _$ssrAttribute("crossorigin", _$escape(props.crossOrigin, true), false), _$ssrAttribute("src", _$escape(mediaSource(props), true), false) + _$ssrAttribute("aria-label", _$escape(props.file.path, true), false), _$escape(messages().audioUnsupported));
|
|
374
633
|
}
|
|
375
634
|
});
|
|
376
635
|
}
|
|
@@ -381,7 +640,7 @@ function VideoRenderer(props) {
|
|
|
381
640
|
return _$createComponent(DownloadAction, props);
|
|
382
641
|
},
|
|
383
642
|
get children() {
|
|
384
|
-
return _$ssr(_tmpl$
|
|
643
|
+
return _$ssr(_tmpl$20, _$ssrAttribute("crossorigin", _$escape(props.crossOrigin, true), false), _$ssrAttribute("src", _$escape(mediaSource(props), true), false) + _$ssrAttribute("aria-label", _$escape(props.file.path, true), false), _$escape(messages().videoUnsupported));
|
|
385
644
|
}
|
|
386
645
|
});
|
|
387
646
|
}
|
|
@@ -400,7 +659,7 @@ function BinaryRenderer(props) {
|
|
|
400
659
|
get when() {
|
|
401
660
|
return props.downloadHref;
|
|
402
661
|
},
|
|
403
|
-
children: href => _$ssr(_tmpl$
|
|
662
|
+
children: href => _$ssr(_tmpl$21, _$ssrAttribute("href", _$escape(href(), true), false), _$escape(messages().download))
|
|
404
663
|
});
|
|
405
664
|
}
|
|
406
665
|
});
|
|
@@ -433,7 +692,7 @@ const BUILTIN_RENDERERS = [{
|
|
|
433
692
|
component: JsonRenderer
|
|
434
693
|
}, {
|
|
435
694
|
id: "delimited-text",
|
|
436
|
-
match: (file, content) =>
|
|
695
|
+
match: (file, content) => getFileViewPreviewKind({
|
|
437
696
|
...file,
|
|
438
697
|
mediaType: content.mediaType || file.mediaType
|
|
439
698
|
}) === "delimited-text",
|
|
@@ -552,7 +811,7 @@ export default function FileView(props) {
|
|
|
552
811
|
saving: saveMutation.loading,
|
|
553
812
|
save
|
|
554
813
|
} : null;
|
|
555
|
-
return _$ssr(_tmpl$
|
|
814
|
+
return _$ssr(_tmpl$22, `k2b-content-file-view ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-variant", _$escape(props.variant, true), false) + _$ssrAttribute("data-excerpt", props.previewLines !== undefined ? "true" : _$escape(undefined, true), false), _$escape(_$createComponent(Switch, {
|
|
556
815
|
get children() {
|
|
557
816
|
return [_$createComponent(Match, {
|
|
558
817
|
get when() {
|
|
@@ -588,6 +847,18 @@ export default function FileView(props) {
|
|
|
588
847
|
children: active => {
|
|
589
848
|
const Renderer = active().component;
|
|
590
849
|
return _$createComponent(Renderer, {
|
|
850
|
+
get previewLines() {
|
|
851
|
+
return props.previewLines;
|
|
852
|
+
},
|
|
853
|
+
get onExpandPreview() {
|
|
854
|
+
return props.onExpandPreview;
|
|
855
|
+
},
|
|
856
|
+
get headingScale() {
|
|
857
|
+
return props.headingScale;
|
|
858
|
+
},
|
|
859
|
+
get previewPreferencesKey() {
|
|
860
|
+
return props.previewPreferencesKey;
|
|
861
|
+
},
|
|
591
862
|
get file() {
|
|
592
863
|
return props.file;
|
|
593
864
|
},
|
|
@@ -597,6 +868,12 @@ export default function FileView(props) {
|
|
|
597
868
|
get previewHref() {
|
|
598
869
|
return nativePreviewHref();
|
|
599
870
|
},
|
|
871
|
+
get crossOrigin() {
|
|
872
|
+
return props.crossOrigin;
|
|
873
|
+
},
|
|
874
|
+
get onPreviewError() {
|
|
875
|
+
return props.onPreviewError;
|
|
876
|
+
},
|
|
600
877
|
get downloadHref() {
|
|
601
878
|
return props.downloadHref ?? null;
|
|
602
879
|
},
|