@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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEffect","createMemo","createSignal","createUniqueId","Show","Button","CopyButton","SelectChip","useLocale","useUiMessages","DescriptionList","Paper","ChartSnapshotView","validateChartExplorerData","DataTable","tsvCell","value","test","replaceAll","ChartExplorer","props","messages","locale","id","data","copyFailed","setCopyFailed","localSelection","setLocalSelection","localView","setLocalView","defaultView","localSort","setLocalSort","defaultSort","view","sort","undefined","setView","onViewChange","setSort","onSortChange","rowsByKey","Map","rows","map","row","key","rawSelected","selectedKey","selected","has","selectedRow","get","select","onSelectedKeyChange","columns","length","some","column","Set","size","Error","result","order","find","c","sortValue","collator","Intl","Collator","numeric","a","b","av","bv","comparison","compare","String","direction","copyText","label","join","_el$","_$getNextElement","_tmpl$4","_el$2","firstChild","_el$3","_el$4","_el$6","nextSibling","_el$7","_co$","_$getNextMarker","_el$8","_el$9","_el$0","_co$2","_el$1","_el$10","_co$3","_el$14","_el$15","_co$4","_el$12","_el$16","_el$17","_co$5","_$setAttribute","_$insert","title","_$createComponent","when","description","children","_el$5","_tmpl$","text","chartCopyData","iconOnly","variant","disabled","onCopyError","onCopied","onValueChange","aria-label","chartView","options","chartDiagram","chartData","_el$11","_tmpl$2","chartCopyFailed","fallback","_el$18","_tmpl$5","noData","header","align","sortable","Boolean","ariaLabelledBy","getRowId","selectedRowId","fillHeight","surface","onRowClick","renderCell","col","render","custom","cell","onClick","renderHeader","_$memo","_el$19","_tmpl$6","_c$","cursor","snapshot","chart","onSelect","style","height","renderDetails","_el$13","_tmpl$3","_el$20","_tmpl$8","_el$21","_el$23","_el$24","_co$6","chartSelectedDatum","clearSelection","_tmpl$7","items","term","_$effect","_p$","_v$","class","_v$2","e","_$className","t","_$setStyleProperty"],"sources":["content/ChartExplorer.tsx"],"sourcesContent":["import { createEffect, createMemo, createSignal, createUniqueId, type JSX, Show } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport { CopyButton } from \"../actions/CopyButton\";\nimport { SelectChip } from \"../inputs/SelectChip\";\nimport { useLocale } from \"../intl/locale\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { DescriptionList } from \"../surfaces/DescriptionList\";\nimport { Paper } from \"../surfaces/Paper\";\nimport { ChartSnapshotView } from \"./ChartSnapshotView\";\nimport type { ChartCursor } from \"./chart-cursor\";\nimport { type ChartExplorerData, type ChartExplorerRow, validateChartExplorerData } from \"./chart-explorer\";\nimport DataTable, { type DataTableSort } from \"./DataTable\";\n\nexport type ChartExplorerColumn<T> = {\n id: string;\n label: string;\n value: (row: T) => string;\n /** Optional table cell presentation; value remains the plain text used for copy/details. */\n render?: (row: T) => JSX.Element;\n /** Explicit comparable value. Omit to leave the column unsortable. */\n sortValue?: (row: T) => string | number | null;\n align?: \"left\" | \"center\" | \"right\";\n};\nexport type ChartExplorerProps<T extends ChartExplorerRow> = {\n cursor?: ChartCursor;\n title: string;\n description?: JSX.Element;\n data: ChartExplorerData<T>;\n columns: readonly ChartExplorerColumn<T>[];\n view?: \"chart\" | \"table\";\n defaultView?: \"chart\" | \"table\";\n onViewChange?: (view: \"chart\" | \"table\") => void;\n sort?: DataTableSort | null;\n defaultSort?: DataTableSort | null;\n onSortChange?: (sort: DataTableSort | null) => void;\n selectedKey?: string | null;\n onSelectedKeyChange?: (key: string | null) => void;\n /** false hides the complete local detail area for a shared selection panel. */\n renderDetails?: false | ((row: T) => JSX.Element);\n height?: string;\n class?: string;\n};\n\nconst tsvCell = (value: string) => (/[\\t\\r\\n\"]/.test(value) ? `\"${value.replaceAll('\"', '\"\"')}\"` : value);\n\nexport function ChartExplorer<T extends ChartExplorerRow>(props: ChartExplorerProps<T>) {\n const messages = useUiMessages();\n const locale = useLocale();\n const id = `k2b-chart-explorer-${createUniqueId()}`;\n const data = () => props.data;\n const [copyFailed, setCopyFailed] = createSignal(false);\n const [localSelection, setLocalSelection] = createSignal<string | null>(null);\n const [localView, setLocalView] = createSignal(props.defaultView ?? \"chart\");\n const [localSort, setLocalSort] = createSignal<DataTableSort | null>(props.defaultSort ?? null);\n const view = () => props.view ?? localView();\n const sort = () => (props.sort === undefined ? localSort() : props.sort);\n const setView = (value: \"chart\" | \"table\") => {\n if (props.view === undefined) setLocalView(value);\n props.onViewChange?.(value);\n };\n const setSort = (value: DataTableSort | null) => {\n if (props.sort === undefined) setLocalSort(value);\n props.onSortChange?.(value);\n };\n const rowsByKey = createMemo(() => new Map(data().rows.map((row) => [row.key, row])));\n const rawSelected = () => (props.selectedKey !== undefined ? props.selectedKey : localSelection());\n const selected = () => (rowsByKey().has(rawSelected() ?? \"\") ? rawSelected() : null);\n const selectedRow = () => rowsByKey().get(selected() ?? \"\");\n const select = (key: string | null) => {\n if (key !== null && !rowsByKey().has(key)) return;\n setLocalSelection(key);\n props.onSelectedKeyChange?.(key);\n };\n if (\n !props.columns.length ||\n props.columns.some((column) => !column.id) ||\n new Set(props.columns.map((column) => column.id)).size !== props.columns.length\n ) {\n throw new Error(\"Chart columns require unique nonempty IDs and at least one column\");\n }\n validateChartExplorerData(data());\n createEffect(() => validateChartExplorerData(data()));\n createEffect(() => {\n if (props.selectedKey === undefined && rawSelected() !== null && selected() === null) select(null);\n });\n const rows = createMemo(() => {\n const result = [...data().rows];\n const order = sort();\n const column = props.columns.find((c) => c.id === order?.key);\n const value = column?.sortValue;\n if (!order || !value) return result;\n const collator = new Intl.Collator(locale(), { numeric: true });\n return result.sort((a, b) => {\n const av = value(a),\n bv = value(b);\n if (av === null) return bv === null ? 0 : 1;\n if (bv === null) return -1;\n const comparison = typeof av === \"number\" && typeof bv === \"number\" ? av - bv : collator.compare(String(av), String(bv));\n return order.direction === \"asc\" ? comparison : -comparison;\n });\n });\n const copyText = () =>\n [\n props.columns.map((c) => tsvCell(c.label)).join(\"\\t\"),\n ...rows().map((row) => props.columns.map((c) => tsvCell(c.value(row))).join(\"\\t\")),\n ].join(\"\\n\");\n return (\n <section class={`k2b-chart-explorer ${props.class ?? \"\"}`} aria-labelledby={id}>\n <header class=\"k2b-chart-explorer__header\">\n <div>\n <h3 id={id}>{props.title}</h3>\n <Show when={props.description}>\n <div>{props.description}</div>\n </Show>\n </div>\n <div class=\"k2b-chart-explorer__actions\">\n <CopyButton\n text={copyText()}\n label={messages().chartCopyData}\n iconOnly\n size=\"sm\"\n variant=\"ghost\"\n disabled={!rows().length}\n onCopyError={() => setCopyFailed(true)}\n onCopied={() => setCopyFailed(false)}\n />\n <SelectChip<\"chart\" | \"table\">\n value={view()}\n onValueChange={setView}\n aria-label={messages().chartView}\n options={[\n { value: \"chart\", label: messages().chartDiagram },\n { value: \"table\", label: messages().chartData },\n ]}\n />\n </div>\n </header>\n <Show when={copyFailed()}>\n <span role=\"alert\">{messages().chartCopyFailed}</span>\n </Show>\n <div class=\"k2b-chart-explorer__viewport\" style={{ height: props.height ?? \"18rem\" }}>\n <Show when={data().rows.length > 0} fallback={<div class=\"k2b-chart__empty\">{messages().noData}</div>}>\n <Show\n when={view() === \"chart\"}\n fallback={\n <DataTable\n rows={rows()}\n columns={props.columns.map((column) => ({\n id: column.id,\n header: column.label,\n value: column.value,\n align: column.align,\n sortable: Boolean(column.sortValue),\n }))}\n ariaLabelledBy={id}\n getRowId={(row) => row.key}\n selectedRowId={selected()}\n sort={sort()}\n fillHeight\n surface=\"paper\"\n onRowClick={(row) => select(row.key)}\n renderCell={({ row, col, value, render }) => {\n const custom = props.columns.find((column) => column.id === col.id)?.render;\n const cell = () => (custom ? custom(row) : render(value));\n return col.id === props.columns[0]?.id ? (\n <Button variant=\"text\" size=\"sm\" onClick={() => select(row.key)}>\n {cell()}\n </Button>\n ) : (\n cell()\n );\n }}\n renderHeader={({ col, render }) =>\n col.sortable ? (\n <Button\n variant=\"text\"\n size=\"sm\"\n onClick={() =>\n setSort({\n key: col.id,\n direction: sort()?.key === col.id && sort()?.direction === \"asc\" ? \"desc\" : \"asc\",\n })\n }\n >\n {props.columns.find((column) => column.id === col.id)?.label}{\" \"}\n <span class=\"k2b-chart-explorer__sort-icon\" aria-hidden=\"true\">\n {sort()?.key === col.id ? (sort()?.direction === \"asc\" ? \"↑\" : \"↓\") : \"↕\"}\n </span>\n </Button>\n ) : (\n render()\n )\n }\n />\n }\n >\n <ChartSnapshotView\n cursor={props.cursor}\n snapshot={data().chart}\n selectedKey={selected()}\n onSelect={select}\n style={{ height: \"100%\" }}\n />\n </Show>\n </Show>\n </div>\n <Show when={props.renderDetails !== false}>\n <div class=\"k2b-chart-explorer__details\" aria-live=\"polite\">\n <Show when={selectedRow()}>\n {(row) => (\n <Paper class=\"k2b-chart-explorer__detail-paper\">\n <div class=\"k2b-chart-explorer__detail-header\">\n <span>{messages().chartSelectedDatum}</span>\n <Button\n variant=\"text\"\n size=\"sm\"\n aria-label={messages().clearSelection}\n title={messages().clearSelection}\n onClick={() => select(null)}\n >\n <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </Button>\n </div>\n {props.renderDetails ? (\n props.renderDetails(row())\n ) : (\n <DescriptionList\n columns={3}\n size=\"sm\"\n items={props.columns.map((column) => ({\n term: column.label,\n description: column.value(row()),\n }))}\n />\n )}\n </Paper>\n )}\n </Show>\n </div>\n </Show>\n </section>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
3
|
+
import { effect as _$effect } from "solid-js/web";
|
|
4
|
+
import { memo as _$memo } from "solid-js/web";
|
|
5
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
6
|
+
import { getNextMarker as _$getNextMarker } from "solid-js/web";
|
|
7
|
+
import { getNextElement as _$getNextElement } from "solid-js/web";
|
|
8
|
+
import { insert as _$insert } from "solid-js/web";
|
|
9
|
+
var _tmpl$ = /*#__PURE__*/_$template(`<i class="ti ti-loader-2 k2b-spin"aria-hidden=true>`),
|
|
10
|
+
_tmpl$2 = /*#__PURE__*/_$template(`<span class=k2b-sr-only><!$><!/> · <!$><!/>: <!$><!/>`),
|
|
11
|
+
_tmpl$3 = /*#__PURE__*/_$template(`<div class=k2b-chart-explorer__header><strong></strong><div class=k2b-chart-explorer__actions><span class=k2b-chart-group-controls__loading role=status></span><!$><!/>`),
|
|
12
|
+
_tmpl$4 = /*#__PURE__*/_$template(`<i class="ti ti-x"aria-hidden=true>`),
|
|
13
|
+
_tmpl$5 = /*#__PURE__*/_$template(`<div class=k2b-chart-explorer__actions aria-live=polite><!$><!/><!$><!/>`),
|
|
14
|
+
_tmpl$6 = /*#__PURE__*/_$template(`<span aria-hidden=true>●`),
|
|
15
|
+
_tmpl$7 = /*#__PURE__*/_$template(`<span aria-hidden=true>○`);
|
|
16
|
+
import { Show } from "solid-js";
|
|
17
|
+
import { Button } from "../actions/Button";
|
|
18
|
+
import { useUiMessages } from "../intl/messages";
|
|
19
|
+
import { Paper } from "../surfaces/Paper";
|
|
20
|
+
import { StatusBadge } from "../surfaces/StatusBadge";
|
|
21
|
+
import { ChartFilterControls } from "./ChartFilterControls";
|
|
22
|
+
export function ChartExplorerControls(props) {
|
|
23
|
+
const messages = useUiMessages();
|
|
24
|
+
const label = key => props.steps?.find(step => step.key === key)?.label ?? key ?? "";
|
|
25
|
+
return _$createComponent(Paper, {
|
|
26
|
+
"class": "k2b-chart-group-controls",
|
|
27
|
+
get children() {
|
|
28
|
+
return [(() => {
|
|
29
|
+
var _el$ = _$getNextElement(_tmpl$3),
|
|
30
|
+
_el$2 = _el$.firstChild,
|
|
31
|
+
_el$3 = _el$2.nextSibling,
|
|
32
|
+
_el$4 = _el$3.firstChild,
|
|
33
|
+
_el$13 = _el$4.nextSibling,
|
|
34
|
+
[_el$14, _co$4] = _$getNextMarker(_el$13.nextSibling);
|
|
35
|
+
_$insert(_el$2, () => props.title);
|
|
36
|
+
_$insert(_el$4, _$createComponent(Show, {
|
|
37
|
+
get when() {
|
|
38
|
+
return props.explorer.loading();
|
|
39
|
+
},
|
|
40
|
+
get children() {
|
|
41
|
+
return [_$getNextElement(_tmpl$), (() => {
|
|
42
|
+
var _el$6 = _$getNextElement(_tmpl$2),
|
|
43
|
+
_el$9 = _el$6.firstChild,
|
|
44
|
+
[_el$0, _co$] = _$getNextMarker(_el$9.nextSibling),
|
|
45
|
+
_el$7 = _el$0.nextSibling,
|
|
46
|
+
_el$1 = _el$7.nextSibling,
|
|
47
|
+
[_el$10, _co$2] = _$getNextMarker(_el$1.nextSibling),
|
|
48
|
+
_el$8 = _el$10.nextSibling,
|
|
49
|
+
_el$11 = _el$8.nextSibling,
|
|
50
|
+
[_el$12, _co$3] = _$getNextMarker(_el$11.nextSibling);
|
|
51
|
+
_$insert(_el$6, () => messages().loading, _el$0, _co$);
|
|
52
|
+
_$insert(_el$6, () => messages().chartPreviousData, _el$10, _co$2);
|
|
53
|
+
_$insert(_el$6, () => label(props.explorer.snapshot().request.step), _el$12, _co$3);
|
|
54
|
+
return _el$6;
|
|
55
|
+
})()];
|
|
56
|
+
}
|
|
57
|
+
}));
|
|
58
|
+
_$insert(_el$3, _$createComponent(Show, {
|
|
59
|
+
get when() {
|
|
60
|
+
return _$memo(() => !!props.steps?.length)() && props.explorer.snapshot().request.step !== undefined;
|
|
61
|
+
},
|
|
62
|
+
get children() {
|
|
63
|
+
return [_$createComponent(Show, {
|
|
64
|
+
get when() {
|
|
65
|
+
return props.explorer.desired().referenceStep;
|
|
66
|
+
},
|
|
67
|
+
children: reference => _$createComponent(Button, {
|
|
68
|
+
size: "sm",
|
|
69
|
+
variant: "secondary",
|
|
70
|
+
onClick: () => void props.explorer.clearReference(),
|
|
71
|
+
get ["aria-label"]() {
|
|
72
|
+
return `${messages().chartRemoveComparison}: ${label(reference())}`;
|
|
73
|
+
},
|
|
74
|
+
get children() {
|
|
75
|
+
return [_$memo(() => messages().chartReference), ": ", _$memo(() => label(reference())), " ", _$getNextElement(_tmpl$4)];
|
|
76
|
+
}
|
|
77
|
+
})
|
|
78
|
+
}), _$createComponent(Button, {
|
|
79
|
+
size: "sm",
|
|
80
|
+
variant: "secondary",
|
|
81
|
+
get disabled() {
|
|
82
|
+
return props.explorer.loading() || props.explorer.error() !== null || props.explorer.desired().referenceStep === props.explorer.snapshot().request.step;
|
|
83
|
+
},
|
|
84
|
+
onClick: () => void props.explorer.pinReference(),
|
|
85
|
+
get children() {
|
|
86
|
+
return messages().chartPinReference;
|
|
87
|
+
}
|
|
88
|
+
})];
|
|
89
|
+
}
|
|
90
|
+
}), _el$14, _co$4);
|
|
91
|
+
_$effect(_p$ => {
|
|
92
|
+
var _v$ = props.explorer.loading() || undefined,
|
|
93
|
+
_v$2 = props.explorer.loading() ? `${messages().loading} · ${messages().chartPreviousData}: ${label(props.explorer.snapshot().request.step)}` : undefined;
|
|
94
|
+
_v$ !== _p$.e && _$setAttribute(_el$4, "data-loading", _p$.e = _v$);
|
|
95
|
+
_v$2 !== _p$.t && _$setAttribute(_el$4, "title", _p$.t = _v$2);
|
|
96
|
+
return _p$;
|
|
97
|
+
}, {
|
|
98
|
+
e: undefined,
|
|
99
|
+
t: undefined
|
|
100
|
+
});
|
|
101
|
+
return _el$;
|
|
102
|
+
})(), _$createComponent(ChartFilterControls, {
|
|
103
|
+
get request() {
|
|
104
|
+
return props.explorer.desired();
|
|
105
|
+
},
|
|
106
|
+
get displayedRequest() {
|
|
107
|
+
return props.explorer.snapshot().request;
|
|
108
|
+
},
|
|
109
|
+
get steps() {
|
|
110
|
+
return props.steps;
|
|
111
|
+
},
|
|
112
|
+
get series() {
|
|
113
|
+
return props.series;
|
|
114
|
+
},
|
|
115
|
+
get dimensionLabel() {
|
|
116
|
+
return props.dimensionLabel;
|
|
117
|
+
},
|
|
118
|
+
get failed() {
|
|
119
|
+
return props.explorer.error() !== null;
|
|
120
|
+
},
|
|
121
|
+
onRequest: request => void props.explorer.setRequest(request),
|
|
122
|
+
onRetry: () => void props.explorer.retry()
|
|
123
|
+
}), _$createComponent(Show, {
|
|
124
|
+
get when() {
|
|
125
|
+
return props.explorer.snapshot().request.referenceStep;
|
|
126
|
+
},
|
|
127
|
+
children: reference => (() => {
|
|
128
|
+
var _el$16 = _$getNextElement(_tmpl$5),
|
|
129
|
+
_el$17 = _el$16.firstChild,
|
|
130
|
+
[_el$18, _co$5] = _$getNextMarker(_el$17.nextSibling),
|
|
131
|
+
_el$19 = _el$18.nextSibling,
|
|
132
|
+
[_el$20, _co$6] = _$getNextMarker(_el$19.nextSibling);
|
|
133
|
+
_$insert(_el$16, _$createComponent(StatusBadge, {
|
|
134
|
+
tone: "neutral",
|
|
135
|
+
icon: null,
|
|
136
|
+
get label() {
|
|
137
|
+
return [_$getNextElement(_tmpl$6), " ", _$memo(() => messages().chartCurrent), ": ", _$memo(() => label(props.explorer.snapshot().request.step))];
|
|
138
|
+
}
|
|
139
|
+
}), _el$18, _co$5);
|
|
140
|
+
_$insert(_el$16, _$createComponent(StatusBadge, {
|
|
141
|
+
tone: "neutral",
|
|
142
|
+
icon: null,
|
|
143
|
+
get label() {
|
|
144
|
+
return [_$getNextElement(_tmpl$7), " ", _$memo(() => messages().chartReference), ": ", _$memo(() => label(reference()))];
|
|
145
|
+
}
|
|
146
|
+
}), _el$20, _co$6);
|
|
147
|
+
return _el$16;
|
|
148
|
+
})()
|
|
149
|
+
})];
|
|
150
|
+
}
|
|
151
|
+
});
|
|
152
|
+
}
|
|
153
|
+
//# sourceMappingURL=ChartExplorerControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Show","Button","useUiMessages","Paper","StatusBadge","ChartFilterControls","ChartExplorerControls","props","messages","label","key","steps","find","step","_$createComponent","children","_el$","_$getNextElement","_tmpl$3","_el$2","firstChild","_el$3","nextSibling","_el$4","_el$13","_el$14","_co$4","_$getNextMarker","_$insert","title","when","explorer","loading","_tmpl$","_el$6","_tmpl$2","_el$9","_el$0","_co$","_el$7","_el$1","_el$10","_co$2","_el$8","_el$11","_el$12","_co$3","chartPreviousData","snapshot","request","_$memo","length","undefined","desired","referenceStep","reference","size","variant","onClick","clearReference","aria-label","chartRemoveComparison","chartReference","_tmpl$4","disabled","error","pinReference","chartPinReference","_$effect","_p$","_v$","_v$2","e","_$setAttribute","t","displayedRequest","series","dimensionLabel","failed","onRequest","setRequest","onRetry","retry","_el$16","_tmpl$5","_el$17","_el$18","_co$5","_el$19","_el$20","_co$6","tone","icon","_tmpl$6","chartCurrent","_tmpl$7"],"sources":["content/ChartExplorerControls.tsx"],"sourcesContent":["import { Show } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport { useUiMessages } from \"../intl/messages\";\nimport { Paper } from \"../surfaces/Paper\";\nimport { StatusBadge } from \"../surfaces/StatusBadge\";\nimport { ChartFilterControls, type ChartFilterControlsProps } from \"./ChartFilterControls\";\nimport type { ChartExplorerCharts, ChartExplorerController } from \"./chart-explorer\";\n\nexport type ChartExplorerControlsProps<C extends ChartExplorerCharts> = {\n explorer: ChartExplorerController<C>;\n title: string;\n steps?: ChartFilterControlsProps[\"steps\"];\n series?: ChartFilterControlsProps[\"series\"];\n dimensionLabel?: string;\n};\n\nexport function ChartExplorerControls<C extends ChartExplorerCharts>(props: ChartExplorerControlsProps<C>) {\n const messages = useUiMessages();\n const label = (key: string | undefined) => props.steps?.find((step) => step.key === key)?.label ?? key ?? \"\";\n return (\n <Paper class=\"k2b-chart-group-controls\">\n <div class=\"k2b-chart-explorer__header\">\n <strong>{props.title}</strong>\n <div class=\"k2b-chart-explorer__actions\">\n <span\n class=\"k2b-chart-group-controls__loading\"\n data-loading={props.explorer.loading() || undefined}\n role=\"status\"\n title={\n props.explorer.loading()\n ? `${messages().loading} · ${messages().chartPreviousData}: ${label(props.explorer.snapshot().request.step)}`\n : undefined\n }\n >\n <Show when={props.explorer.loading()}>\n <i class=\"ti ti-loader-2 k2b-spin\" aria-hidden=\"true\" />\n <span class=\"k2b-sr-only\">\n {messages().loading} · {messages().chartPreviousData}: {label(props.explorer.snapshot().request.step)}\n </span>\n </Show>\n </span>\n <Show when={props.steps?.length && props.explorer.snapshot().request.step !== undefined}>\n <Show when={props.explorer.desired().referenceStep}>\n {(reference) => (\n <Button\n size=\"sm\"\n variant=\"secondary\"\n onClick={() => void props.explorer.clearReference()}\n aria-label={`${messages().chartRemoveComparison}: ${label(reference())}`}\n >\n {messages().chartReference}: {label(reference())} <i class=\"ti ti-x\" aria-hidden=\"true\" />\n </Button>\n )}\n </Show>\n <Button\n size=\"sm\"\n variant=\"secondary\"\n disabled={\n props.explorer.loading() ||\n props.explorer.error() !== null ||\n props.explorer.desired().referenceStep === props.explorer.snapshot().request.step\n }\n onClick={() => void props.explorer.pinReference()}\n >\n {messages().chartPinReference}\n </Button>\n </Show>\n </div>\n </div>\n <ChartFilterControls\n request={props.explorer.desired()}\n displayedRequest={props.explorer.snapshot().request}\n steps={props.steps}\n series={props.series}\n dimensionLabel={props.dimensionLabel}\n failed={props.explorer.error() !== null}\n onRequest={(request) => void props.explorer.setRequest(request)}\n onRetry={() => void props.explorer.retry()}\n />\n <Show when={props.explorer.snapshot().request.referenceStep}>\n {(reference) => (\n <div class=\"k2b-chart-explorer__actions\" aria-live=\"polite\">\n <StatusBadge\n tone=\"neutral\"\n icon={null}\n label={\n <>\n <span aria-hidden=\"true\">●</span> {messages().chartCurrent}: {label(props.explorer.snapshot().request.step)}\n </>\n }\n />\n <StatusBadge\n tone=\"neutral\"\n icon={null}\n label={\n <>\n <span aria-hidden=\"true\">○</span> {messages().chartReference}: {label(reference())}\n </>\n }\n />\n </div>\n )}\n </Show>\n </Paper>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,200 @@
|
|
|
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 { getNextElement as _$getNextElement } from "solid-js/web";
|
|
5
|
+
import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
|
|
6
|
+
import { getNextMarker as _$getNextMarker } from "solid-js/web";
|
|
7
|
+
import { insert as _$insert } from "solid-js/web";
|
|
8
|
+
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
9
|
+
import { createComponent as _$createComponent } from "solid-js/web";
|
|
10
|
+
import { memo as _$memo } from "solid-js/web";
|
|
11
|
+
var _tmpl$ = /*#__PURE__*/_$template(`<div class=k2b-chart-explorer__dimension role=group><!$><!/><output class=k2b-chart-explorer__dimension-value></output><div class=k2b-chart-explorer__steps>`),
|
|
12
|
+
_tmpl$2 = /*#__PURE__*/_$template(`<div class=k2b-chart-explorer__legend><!$><!/><div class=k2b-chart-explorer__status role=status><!$><!/><!$><!/>`),
|
|
13
|
+
_tmpl$3 = /*#__PURE__*/_$template(`<span>`);
|
|
14
|
+
import { createEffect, createSignal, createUniqueId, For, Show } from "solid-js";
|
|
15
|
+
import { Button } from "../actions/Button";
|
|
16
|
+
import { FilterChip } from "../actions/FilterChip";
|
|
17
|
+
import { Slider } from "../inputs/ChoiceInputs";
|
|
18
|
+
import { useUiMessages } from "../intl/messages";
|
|
19
|
+
/** Shared controls for a standalone explorer or an atomic group of charts. */
|
|
20
|
+
export function ChartFilterControls(props) {
|
|
21
|
+
const validateOptions = () => {
|
|
22
|
+
for (const items of [props.steps, props.series]) {
|
|
23
|
+
const keys = items?.map(item => item.key) ?? [];
|
|
24
|
+
if (keys.some(key => !key) || new Set(keys).size !== keys.length) throw new Error("Chart control options require nonempty unique keys");
|
|
25
|
+
}
|
|
26
|
+
};
|
|
27
|
+
validateOptions();
|
|
28
|
+
createEffect(validateOptions);
|
|
29
|
+
const messages = useUiMessages();
|
|
30
|
+
const id = `k2b-chart-controls-${createUniqueId()}`;
|
|
31
|
+
const [keyboardSteps, setKeyboardSteps] = createSignal(false);
|
|
32
|
+
let pointerFocus = false;
|
|
33
|
+
const stepLabel = key => props.steps?.find(step => step.key === key)?.label ?? key ?? "";
|
|
34
|
+
return [_$createComponent(Show, {
|
|
35
|
+
get when() {
|
|
36
|
+
return props.steps?.length;
|
|
37
|
+
},
|
|
38
|
+
get children() {
|
|
39
|
+
var _el$ = _$getNextElement(_tmpl$),
|
|
40
|
+
_el$4 = _el$.firstChild,
|
|
41
|
+
[_el$5, _co$] = _$getNextMarker(_el$4.nextSibling),
|
|
42
|
+
_el$2 = _el$5.nextSibling,
|
|
43
|
+
_el$3 = _el$2.nextSibling;
|
|
44
|
+
_el$.$$focusout = () => {
|
|
45
|
+
pointerFocus = false;
|
|
46
|
+
setKeyboardSteps(false);
|
|
47
|
+
};
|
|
48
|
+
_el$.$$focusin = event => {
|
|
49
|
+
if (!pointerFocus && event.target.matches(":focus-visible")) setKeyboardSteps(true);
|
|
50
|
+
};
|
|
51
|
+
_el$.$$keydown = () => {
|
|
52
|
+
pointerFocus = false;
|
|
53
|
+
setKeyboardSteps(true);
|
|
54
|
+
};
|
|
55
|
+
_el$.$$pointerdown = () => {
|
|
56
|
+
pointerFocus = true;
|
|
57
|
+
setKeyboardSteps(false);
|
|
58
|
+
};
|
|
59
|
+
_$insert(_el$, _$createComponent(Slider, {
|
|
60
|
+
id: `${id}-dimension`,
|
|
61
|
+
showValue: false,
|
|
62
|
+
"aria-describedby": `${id}-steps`,
|
|
63
|
+
get label() {
|
|
64
|
+
return props.dimensionLabel ?? messages().range;
|
|
65
|
+
},
|
|
66
|
+
min: 0,
|
|
67
|
+
get max() {
|
|
68
|
+
return Math.max(0, (props.steps?.length ?? 1) - 1);
|
|
69
|
+
},
|
|
70
|
+
step: 1,
|
|
71
|
+
get value() {
|
|
72
|
+
return Math.max(0, props.steps?.findIndex(step => step.key === props.request.step) ?? 0);
|
|
73
|
+
},
|
|
74
|
+
get disabled() {
|
|
75
|
+
return props.disabled || (props.steps?.length ?? 0) < 2;
|
|
76
|
+
},
|
|
77
|
+
formatValue: index => props.steps?.[index]?.label ?? "",
|
|
78
|
+
get ["aria-valuetext"]() {
|
|
79
|
+
return stepLabel(props.request.step);
|
|
80
|
+
},
|
|
81
|
+
onValueChange: index => {
|
|
82
|
+
const step = props.steps?.[index];
|
|
83
|
+
if (step) props.onRequest({
|
|
84
|
+
...props.request,
|
|
85
|
+
step: step.key
|
|
86
|
+
});
|
|
87
|
+
}
|
|
88
|
+
}), _el$5, _co$);
|
|
89
|
+
_$setAttribute(_el$2, "for", `${id}-dimension`);
|
|
90
|
+
_$insert(_el$2, () => stepLabel(props.request.step));
|
|
91
|
+
_$setAttribute(_el$3, "id", `${id}-steps`);
|
|
92
|
+
_$insert(_el$3, _$createComponent(For, {
|
|
93
|
+
get each() {
|
|
94
|
+
return props.steps;
|
|
95
|
+
},
|
|
96
|
+
children: step => (() => {
|
|
97
|
+
var _el$12 = _$getNextElement(_tmpl$3);
|
|
98
|
+
_$insert(_el$12, () => step.label);
|
|
99
|
+
_$effect(() => _$setAttribute(_el$12, "data-current", step.key === props.request.step ? "true" : undefined));
|
|
100
|
+
return _el$12;
|
|
101
|
+
})()
|
|
102
|
+
}));
|
|
103
|
+
_$effect(_p$ => {
|
|
104
|
+
var _v$ = props.dimensionLabel ?? messages().range,
|
|
105
|
+
_v$2 = keyboardSteps() ? "true" : undefined;
|
|
106
|
+
_v$ !== _p$.e && _$setAttribute(_el$, "aria-label", _p$.e = _v$);
|
|
107
|
+
_v$2 !== _p$.t && _$setAttribute(_el$, "data-keyboard", _p$.t = _v$2);
|
|
108
|
+
return _p$;
|
|
109
|
+
}, {
|
|
110
|
+
e: undefined,
|
|
111
|
+
t: undefined
|
|
112
|
+
});
|
|
113
|
+
_$runHydrationEvents();
|
|
114
|
+
return _el$;
|
|
115
|
+
}
|
|
116
|
+
}), (() => {
|
|
117
|
+
var _el$6 = _$getNextElement(_tmpl$2),
|
|
118
|
+
_el$10 = _el$6.firstChild,
|
|
119
|
+
[_el$11, _co$4] = _$getNextMarker(_el$10.nextSibling),
|
|
120
|
+
_el$7 = _el$11.nextSibling,
|
|
121
|
+
_el$8 = _el$7.firstChild,
|
|
122
|
+
[_el$9, _co$2] = _$getNextMarker(_el$8.nextSibling),
|
|
123
|
+
_el$0 = _el$9.nextSibling,
|
|
124
|
+
[_el$1, _co$3] = _$getNextMarker(_el$0.nextSibling);
|
|
125
|
+
_$insert(_el$6, _$createComponent(Show, {
|
|
126
|
+
get when() {
|
|
127
|
+
return props.series?.length;
|
|
128
|
+
},
|
|
129
|
+
get children() {
|
|
130
|
+
return _$createComponent(FilterChip, {
|
|
131
|
+
get label() {
|
|
132
|
+
return messages().chartSeries;
|
|
133
|
+
},
|
|
134
|
+
icon: "ti ti-chart-dots",
|
|
135
|
+
get disabled() {
|
|
136
|
+
return props.disabled;
|
|
137
|
+
},
|
|
138
|
+
get value() {
|
|
139
|
+
return props.request.visibleKeys ?? props.series?.map(item => item.key) ?? [];
|
|
140
|
+
},
|
|
141
|
+
get defaultValue() {
|
|
142
|
+
return props.series?.map(item => item.key) ?? [];
|
|
143
|
+
},
|
|
144
|
+
get isActive() {
|
|
145
|
+
return _$memo(() => props.request.visibleKeys !== undefined)() && props.request.visibleKeys.length !== props.series?.length;
|
|
146
|
+
},
|
|
147
|
+
get options() {
|
|
148
|
+
return [{
|
|
149
|
+
multiple: true,
|
|
150
|
+
options: (props.series ?? []).map(item => ({
|
|
151
|
+
value: item.key,
|
|
152
|
+
label: item.label,
|
|
153
|
+
color: item.color
|
|
154
|
+
}))
|
|
155
|
+
}];
|
|
156
|
+
},
|
|
157
|
+
onValueChange: visibleKeys => props.onRequest({
|
|
158
|
+
...props.request,
|
|
159
|
+
visibleKeys
|
|
160
|
+
})
|
|
161
|
+
});
|
|
162
|
+
}
|
|
163
|
+
}), _el$11, _co$4);
|
|
164
|
+
_$insert(_el$7, _$createComponent(Show, {
|
|
165
|
+
get when() {
|
|
166
|
+
return props.failed;
|
|
167
|
+
},
|
|
168
|
+
get children() {
|
|
169
|
+
return [_$memo(() => messages().couldNotLoadData), " ", _$createComponent(Button, {
|
|
170
|
+
variant: "text",
|
|
171
|
+
size: "sm",
|
|
172
|
+
get onClick() {
|
|
173
|
+
return props.onRetry;
|
|
174
|
+
},
|
|
175
|
+
get children() {
|
|
176
|
+
return messages().retry;
|
|
177
|
+
}
|
|
178
|
+
})];
|
|
179
|
+
}
|
|
180
|
+
}), _el$9, _co$2);
|
|
181
|
+
_$insert(_el$7, _$createComponent(Show, {
|
|
182
|
+
get when() {
|
|
183
|
+
return props.failed;
|
|
184
|
+
},
|
|
185
|
+
get children() {
|
|
186
|
+
return ["\xB7 ", _$memo(() => messages().chartPreviousData), _$createComponent(Show, {
|
|
187
|
+
get when() {
|
|
188
|
+
return props.steps?.length;
|
|
189
|
+
},
|
|
190
|
+
get children() {
|
|
191
|
+
return [": ", _$memo(() => stepLabel(props.displayedRequest.step))];
|
|
192
|
+
}
|
|
193
|
+
})];
|
|
194
|
+
}
|
|
195
|
+
}), _el$1, _co$3);
|
|
196
|
+
return _el$6;
|
|
197
|
+
})()];
|
|
198
|
+
}
|
|
199
|
+
_$delegateEvents(["pointerdown", "keydown", "focusin", "focusout"]);
|
|
200
|
+
//# sourceMappingURL=ChartFilterControls.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEffect","createSignal","createUniqueId","For","Show","Button","FilterChip","Slider","useUiMessages","ChartFilterControls","props","validateOptions","items","steps","series","keys","map","item","key","some","Set","size","length","Error","messages","id","keyboardSteps","setKeyboardSteps","pointerFocus","stepLabel","find","step","label","_$createComponent","when","children","_el$","_$getNextElement","_tmpl$","_el$4","firstChild","_el$5","_co$","_$getNextMarker","nextSibling","_el$2","_el$3","$$focusout","$$focusin","event","target","matches","$$keydown","$$pointerdown","_$insert","showValue","dimensionLabel","range","min","max","Math","value","findIndex","request","disabled","formatValue","index","aria-valuetext","onValueChange","onRequest","_$setAttribute","each","_el$12","_tmpl$3","_$effect","undefined","_p$","_v$","_v$2","e","t","_$runHydrationEvents","_el$6","_tmpl$2","_el$10","_el$11","_co$4","_el$7","_el$8","_el$9","_co$2","_el$0","_el$1","_co$3","chartSeries","icon","visibleKeys","defaultValue","isActive","_$memo","options","multiple","color","failed","couldNotLoadData","variant","onClick","onRetry","retry","chartPreviousData","displayedRequest","_$delegateEvents"],"sources":["content/ChartFilterControls.tsx"],"sourcesContent":["import { createEffect, createSignal, createUniqueId, For, Show } from \"solid-js\";\nimport { Button } from \"../actions/Button\";\nimport { FilterChip } from \"../actions/FilterChip\";\nimport { Slider } from \"../inputs/ChoiceInputs\";\nimport { useUiMessages } from \"../intl/messages\";\nimport type { ChartExplorerRequest } from \"./chart-explorer\";\n\nexport type ChartFilterControlsProps = {\n request: ChartExplorerRequest;\n displayedRequest: ChartExplorerRequest;\n steps?: readonly { key: string; label: string }[];\n series?: readonly { key: string; label: string; color: string }[];\n dimensionLabel?: string;\n disabled?: boolean;\n failed?: boolean;\n onRequest: (request: ChartExplorerRequest) => void;\n onRetry?: () => void;\n};\n\n/** Shared controls for a standalone explorer or an atomic group of charts. */\nexport function ChartFilterControls(props: ChartFilterControlsProps) {\n const validateOptions = () => {\n for (const items of [props.steps, props.series]) {\n const keys = items?.map((item) => item.key) ?? [];\n if (keys.some((key) => !key) || new Set(keys).size !== keys.length)\n throw new Error(\"Chart control options require nonempty unique keys\");\n }\n };\n validateOptions();\n createEffect(validateOptions);\n const messages = useUiMessages();\n const id = `k2b-chart-controls-${createUniqueId()}`;\n const [keyboardSteps, setKeyboardSteps] = createSignal(false);\n let pointerFocus = false;\n const stepLabel = (key: string | undefined) => props.steps?.find((step) => step.key === key)?.label ?? key ?? \"\";\n return (\n <>\n <Show when={props.steps?.length}>\n <div\n class=\"k2b-chart-explorer__dimension\"\n role=\"group\"\n aria-label={props.dimensionLabel ?? messages().range}\n data-keyboard={keyboardSteps() ? \"true\" : undefined}\n onPointerDown={() => {\n pointerFocus = true;\n setKeyboardSteps(false);\n }}\n onKeyDown={() => {\n pointerFocus = false;\n setKeyboardSteps(true);\n }}\n onFocusIn={(event) => {\n if (!pointerFocus && event.target.matches(\":focus-visible\")) setKeyboardSteps(true);\n }}\n onFocusOut={() => {\n pointerFocus = false;\n setKeyboardSteps(false);\n }}\n >\n <Slider\n id={`${id}-dimension`}\n showValue={false}\n aria-describedby={`${id}-steps`}\n label={props.dimensionLabel ?? messages().range}\n min={0}\n max={Math.max(0, (props.steps?.length ?? 1) - 1)}\n step={1}\n value={Math.max(0, props.steps?.findIndex((step) => step.key === props.request.step) ?? 0)}\n disabled={props.disabled || (props.steps?.length ?? 0) < 2}\n formatValue={(index) => props.steps?.[index]?.label ?? \"\"}\n aria-valuetext={stepLabel(props.request.step)}\n onValueChange={(index) => {\n const step = props.steps?.[index];\n if (step) props.onRequest({ ...props.request, step: step.key });\n }}\n />\n <output class=\"k2b-chart-explorer__dimension-value\" for={`${id}-dimension`}>\n {stepLabel(props.request.step)}\n </output>\n <div id={`${id}-steps`} class=\"k2b-chart-explorer__steps\">\n <For each={props.steps}>\n {(step) => <span data-current={step.key === props.request.step ? \"true\" : undefined}>{step.label}</span>}\n </For>\n </div>\n </div>\n </Show>\n <div class=\"k2b-chart-explorer__legend\">\n <Show when={props.series?.length}>\n <FilterChip\n label={messages().chartSeries}\n icon=\"ti ti-chart-dots\"\n disabled={props.disabled}\n value={props.request.visibleKeys ?? props.series?.map((item) => item.key) ?? []}\n defaultValue={props.series?.map((item) => item.key) ?? []}\n isActive={props.request.visibleKeys !== undefined && props.request.visibleKeys.length !== props.series?.length}\n options={[\n { multiple: true, options: (props.series ?? []).map((item) => ({ value: item.key, label: item.label, color: item.color })) },\n ]}\n onValueChange={(visibleKeys) => props.onRequest({ ...props.request, visibleKeys })}\n />\n </Show>\n <div class=\"k2b-chart-explorer__status\" role=\"status\">\n <Show when={props.failed}>\n {messages().couldNotLoadData}{\" \"}\n <Button variant=\"text\" size=\"sm\" onClick={props.onRetry}>\n {messages().retry}\n </Button>\n </Show>\n <Show when={props.failed}>\n · {messages().chartPreviousData}\n <Show when={props.steps?.length}>: {stepLabel(props.displayedRequest.step)}</Show>\n </Show>\n </div>\n </div>\n </>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
import { template as _$template } from "solid-js/web";
|
|
2
|
+
import { delegateEvents as _$delegateEvents } from "solid-js/web";
|
|
3
|
+
import { setProperty as _$setProperty } from "solid-js/web";
|
|
4
|
+
import { setStyleProperty as _$setStyleProperty } from "solid-js/web";
|
|
5
|
+
import { style as _$style } from "solid-js/web";
|
|
6
|
+
import { effect as _$effect } from "solid-js/web";
|
|
7
|
+
import { getNextElement as _$getNextElement } from "solid-js/web";
|
|
8
|
+
import { runHydrationEvents as _$runHydrationEvents } from "solid-js/web";
|
|
9
|
+
import { setAttribute as _$setAttribute } from "solid-js/web";
|
|
10
|
+
import { addEventListener as _$addEventListener } from "solid-js/web";
|
|
11
|
+
import { use as _$use } from "solid-js/web";
|
|
12
|
+
var _tmpl$ = /*#__PURE__*/_$template(`<div class=k2b-chart data-interactive=true role=group tabindex=0><div class=k2b-chart__svg></div><span class=k2b-chart__anchor aria-hidden=true></span><span class="k2b-chart__tooltip k2b-tooltip"role=tooltip popover=manual data-instant=true>`);
|
|
13
|
+
import { createEffect, createUniqueId, onCleanup, onMount } from "solid-js";
|
|
14
|
+
import { isServer } from "solid-js/web";
|
|
15
|
+
import { useUiMessages } from "../intl/messages";
|
|
16
|
+
import { createChartInspection, sameChartDatum } from "./chart-inspection";
|
|
17
|
+
import { selectedChartSvg } from "./chart-svg";
|
|
18
|
+
|
|
19
|
+
/** Internal display for server-prepared geometry. Viewports are snapshot-owned. */
|
|
20
|
+
export function ChartSnapshotView(props) {
|
|
21
|
+
const messages = useUiMessages();
|
|
22
|
+
let container;
|
|
23
|
+
let tooltip;
|
|
24
|
+
let anchor;
|
|
25
|
+
const id = `k2b-chart-tooltip-${createUniqueId()}`;
|
|
26
|
+
const inspection = createChartInspection({
|
|
27
|
+
container: () => container,
|
|
28
|
+
cursor: () => props.cursor,
|
|
29
|
+
tooltip: () => tooltip,
|
|
30
|
+
anchor: () => anchor,
|
|
31
|
+
kind: () => props.snapshot.kind,
|
|
32
|
+
enabled: () => true,
|
|
33
|
+
format: ({
|
|
34
|
+
datum
|
|
35
|
+
}) => props.snapshot.marks.find(m => sameChartDatum(m.datum, datum))?.tooltip ?? {
|
|
36
|
+
rows: []
|
|
37
|
+
},
|
|
38
|
+
select: ({
|
|
39
|
+
datum
|
|
40
|
+
}) => {
|
|
41
|
+
const mark = props.snapshot.marks.find(m => sameChartDatum(m.datum, datum));
|
|
42
|
+
if (mark) props.onSelect(mark.rowKey);
|
|
43
|
+
}
|
|
44
|
+
});
|
|
45
|
+
createEffect(() => {
|
|
46
|
+
props.snapshot;
|
|
47
|
+
inspection.invalidate();
|
|
48
|
+
});
|
|
49
|
+
createEffect(() => inspection.selectData(props.snapshot.marks.filter(m => m.rowKey === props.selectedKey).map(m => m.datum)));
|
|
50
|
+
onMount(() => {
|
|
51
|
+
const outside = event => {
|
|
52
|
+
if (event.target instanceof Node && !container?.contains(event.target)) inspection.close();
|
|
53
|
+
};
|
|
54
|
+
window.addEventListener("pointerdown", outside);
|
|
55
|
+
window.addEventListener("scroll", inspection.close, true);
|
|
56
|
+
onCleanup(() => {
|
|
57
|
+
window.removeEventListener("pointerdown", outside);
|
|
58
|
+
window.removeEventListener("scroll", inspection.close, true);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
onCleanup(inspection.close);
|
|
62
|
+
return (() => {
|
|
63
|
+
var _el$ = _$getNextElement(_tmpl$),
|
|
64
|
+
_el$2 = _el$.firstChild,
|
|
65
|
+
_el$3 = _el$2.nextSibling,
|
|
66
|
+
_el$4 = _el$3.nextSibling;
|
|
67
|
+
_$addEventListener(_el$, "keydown", inspection.key, true);
|
|
68
|
+
_$addEventListener(_el$, "focusout", inspection.close, true);
|
|
69
|
+
_$addEventListener(_el$, "focusin", inspection.focus, true);
|
|
70
|
+
_$addEventListener(_el$, "pointerleave", inspection.leave);
|
|
71
|
+
_$addEventListener(_el$, "click", inspection.click, true);
|
|
72
|
+
_$addEventListener(_el$, "pointermove", inspection.move, true);
|
|
73
|
+
_$addEventListener(_el$, "pointerdown", inspection.down, true);
|
|
74
|
+
var _ref$ = container;
|
|
75
|
+
typeof _ref$ === "function" ? _$use(_ref$, _el$) : container = _el$;
|
|
76
|
+
var _ref$2 = anchor;
|
|
77
|
+
typeof _ref$2 === "function" ? _$use(_ref$2, _el$3) : anchor = _el$3;
|
|
78
|
+
var _ref$3 = tooltip;
|
|
79
|
+
typeof _ref$3 === "function" ? _$use(_ref$3, _el$4) : tooltip = _el$4;
|
|
80
|
+
_$setAttribute(_el$4, "id", id);
|
|
81
|
+
_$effect(_p$ => {
|
|
82
|
+
var _v$ = props.snapshot.kind,
|
|
83
|
+
_v$2 = props.style,
|
|
84
|
+
_v$3 = messages().interactiveChart,
|
|
85
|
+
_v$4 = props.snapshot.stretch ? "true" : undefined,
|
|
86
|
+
_v$5 = `${props.snapshot.width}px`,
|
|
87
|
+
_v$6 = `${props.snapshot.height}px`,
|
|
88
|
+
_v$7 = `${props.snapshot.width}/${props.snapshot.height}`,
|
|
89
|
+
_v$8 = isServer ? selectedChartSvg(props.snapshot.svg, props.snapshot.marks.filter(m => m.rowKey === props.selectedKey).map(m => m.datum)) : props.snapshot.svg;
|
|
90
|
+
_v$ !== _p$.e && _$setAttribute(_el$, "data-chart-kind", _p$.e = _v$);
|
|
91
|
+
_p$.t = _$style(_el$, _v$2, _p$.t);
|
|
92
|
+
_v$3 !== _p$.a && _$setAttribute(_el$, "aria-label", _p$.a = _v$3);
|
|
93
|
+
_v$4 !== _p$.o && _$setAttribute(_el$2, "data-stretch", _p$.o = _v$4);
|
|
94
|
+
_v$5 !== _p$.i && _$setStyleProperty(_el$2, "--k2b-chart-width", _p$.i = _v$5);
|
|
95
|
+
_v$6 !== _p$.n && _$setStyleProperty(_el$2, "--k2b-chart-height", _p$.n = _v$6);
|
|
96
|
+
_v$7 !== _p$.s && _$setStyleProperty(_el$2, "aspect-ratio", _p$.s = _v$7);
|
|
97
|
+
_v$8 !== _p$.h && _$setProperty(_el$2, "innerHTML", _p$.h = _v$8);
|
|
98
|
+
return _p$;
|
|
99
|
+
}, {
|
|
100
|
+
e: undefined,
|
|
101
|
+
t: undefined,
|
|
102
|
+
a: undefined,
|
|
103
|
+
o: undefined,
|
|
104
|
+
i: undefined,
|
|
105
|
+
n: undefined,
|
|
106
|
+
s: undefined,
|
|
107
|
+
h: undefined
|
|
108
|
+
});
|
|
109
|
+
_$runHydrationEvents();
|
|
110
|
+
return _el$;
|
|
111
|
+
})();
|
|
112
|
+
}
|
|
113
|
+
_$delegateEvents(["pointerdown", "pointermove", "click", "focusin", "focusout", "keydown"]);
|
|
114
|
+
//# sourceMappingURL=ChartSnapshotView.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["createEffect","createUniqueId","onCleanup","onMount","isServer","useUiMessages","createChartInspection","sameChartDatum","selectedChartSvg","ChartSnapshotView","props","messages","container","tooltip","anchor","id","inspection","cursor","kind","snapshot","enabled","format","datum","marks","find","m","rows","select","mark","onSelect","rowKey","invalidate","selectData","filter","selectedKey","map","outside","event","target","Node","contains","close","window","addEventListener","removeEventListener","_el$","_$getNextElement","_tmpl$","_el$2","firstChild","_el$3","nextSibling","_el$4","_$addEventListener","key","focus","leave","click","move","down","_ref$","_$use","_ref$2","_ref$3","_$setAttribute","_$effect","_p$","_v$","_v$2","style","_v$3","interactiveChart","_v$4","stretch","undefined","_v$5","width","_v$6","height","_v$7","_v$8","svg","e","t","_$style","a","o","i","_$setStyleProperty","n","s","h","_$setProperty","_$runHydrationEvents","_$delegateEvents"],"sources":["content/ChartSnapshotView.tsx"],"sourcesContent":["import { createEffect, createUniqueId, type JSX, onCleanup, onMount } from \"solid-js\";\nimport { isServer } from \"solid-js/web\";\nimport { useUiMessages } from \"../intl/messages\";\nimport type { ChartCursor } from \"./chart-cursor\";\nimport { createChartInspection, sameChartDatum } from \"./chart-inspection\";\nimport type { ChartSnapshot } from \"./chart-snapshot\";\nimport { selectedChartSvg } from \"./chart-svg\";\n\n/** Internal display for server-prepared geometry. Viewports are snapshot-owned. */\nexport function ChartSnapshotView(props: {\n snapshot: ChartSnapshot;\n cursor?: ChartCursor;\n selectedKey: string | null;\n onSelect: (key: string) => void;\n style?: JSX.CSSProperties;\n}) {\n const messages = useUiMessages();\n let container: HTMLDivElement | undefined;\n let tooltip: HTMLSpanElement | undefined;\n let anchor: HTMLSpanElement | undefined;\n const id = `k2b-chart-tooltip-${createUniqueId()}`;\n const inspection = createChartInspection({\n container: () => container,\n cursor: () => props.cursor,\n tooltip: () => tooltip,\n anchor: () => anchor,\n kind: () => props.snapshot.kind,\n enabled: () => true,\n format: ({ datum }) => props.snapshot.marks.find((m) => sameChartDatum(m.datum, datum))?.tooltip ?? { rows: [] },\n select: ({ datum }) => {\n const mark = props.snapshot.marks.find((m) => sameChartDatum(m.datum, datum));\n if (mark) props.onSelect(mark.rowKey);\n },\n });\n createEffect(() => {\n props.snapshot;\n inspection.invalidate();\n });\n createEffect(() => inspection.selectData(props.snapshot.marks.filter((m) => m.rowKey === props.selectedKey).map((m) => m.datum)));\n onMount(() => {\n const outside = (event: Event) => {\n if (event.target instanceof Node && !container?.contains(event.target)) inspection.close();\n };\n window.addEventListener(\"pointerdown\", outside);\n window.addEventListener(\"scroll\", inspection.close, true);\n onCleanup(() => {\n window.removeEventListener(\"pointerdown\", outside);\n window.removeEventListener(\"scroll\", inspection.close, true);\n });\n });\n onCleanup(inspection.close);\n return (\n <div\n ref={container}\n class=\"k2b-chart\"\n data-chart-kind={props.snapshot.kind}\n data-interactive=\"true\"\n style={props.style}\n role=\"group\"\n aria-label={messages().interactiveChart}\n tabIndex={0}\n onPointerDown={inspection.down}\n onPointerMove={inspection.move}\n onClick={inspection.click}\n onPointerLeave={inspection.leave}\n onFocusIn={inspection.focus}\n onFocusOut={inspection.close}\n onKeyDown={inspection.key}\n >\n <div\n class=\"k2b-chart__svg\"\n data-stretch={props.snapshot.stretch ? \"true\" : undefined}\n style={{\n \"--k2b-chart-width\": `${props.snapshot.width}px`,\n \"--k2b-chart-height\": `${props.snapshot.height}px`,\n \"aspect-ratio\": `${props.snapshot.width}/${props.snapshot.height}`,\n }}\n innerHTML={\n isServer\n ? selectedChartSvg(\n props.snapshot.svg,\n props.snapshot.marks.filter((m) => m.rowKey === props.selectedKey).map((m) => m.datum),\n )\n : props.snapshot.svg\n }\n />\n <span ref={anchor} class=\"k2b-chart__anchor\" aria-hidden=\"true\" />\n <span ref={tooltip} id={id} class=\"k2b-chart__tooltip k2b-tooltip\" role=\"tooltip\" popover=\"manual\" data-instant=\"true\" />\n </div>\n );\n}\n"],"mappings":"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","ignoreList":[]}
|