@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
|
@@ -10,43 +10,46 @@ var _tmpl$ = ["<button type=\"button\" class=\"k2b-app-workspace__resize\" role=
|
|
|
10
10
|
_tmpl$2 = ["<div class=\"k2b-app-workspace__main-primary\" data-workspace-main-region=\"main\"", ">", "</div>"],
|
|
11
11
|
_tmpl$3 = ["<section", " class=\"", "\"", " style=\"", "\">", "</section>"],
|
|
12
12
|
_tmpl$4 = ["<aside", " class=\"", "\"", "", " style=\"", "\">", "</aside>"],
|
|
13
|
-
_tmpl$5 = ["<
|
|
14
|
-
_tmpl$6 = ["<
|
|
15
|
-
_tmpl$7 = ["<
|
|
16
|
-
_tmpl$8 = ["<
|
|
17
|
-
_tmpl$9 = ["<
|
|
18
|
-
_tmpl$0 = ["<
|
|
19
|
-
_tmpl$1 = ["<
|
|
20
|
-
_tmpl$10 = ["<
|
|
21
|
-
_tmpl$11 = ["<
|
|
22
|
-
_tmpl$12 = ["<span class=\"k2b-app-workspace__sidebar-item-
|
|
23
|
-
_tmpl$13 = ["<
|
|
24
|
-
_tmpl$14 = ["<span class=\"k2b-app-workspace__sidebar-item-
|
|
25
|
-
_tmpl$15 = ["<
|
|
26
|
-
_tmpl$16 = ["<
|
|
27
|
-
_tmpl$17 = ["<
|
|
28
|
-
_tmpl$18 = ["<span class=\"k2b-app-workspace__sidebar-item-
|
|
29
|
-
_tmpl$19 = ["<
|
|
30
|
-
_tmpl$20 = ["<
|
|
31
|
-
_tmpl$21 = ["<
|
|
32
|
-
_tmpl$22 = ["<
|
|
33
|
-
_tmpl$23 = ["<
|
|
34
|
-
_tmpl$24 = ["<
|
|
35
|
-
_tmpl$25 = ["<
|
|
36
|
-
_tmpl$26 = ["<div class=\"
|
|
37
|
-
_tmpl$27 = ["<div class=\"", "\">", "</div>"]
|
|
13
|
+
_tmpl$5 = ["<aside", " class=\"", "\"", "><div class=\"k2b-app-workspace__sidebar-desktop\">", "</div></aside>"],
|
|
14
|
+
_tmpl$6 = ["<span aria-hidden=\"true\"><i", "></i></span>"],
|
|
15
|
+
_tmpl$7 = ["<span class=\"k2b-app-workspace__sidebar-section-count\">", "</span>"],
|
|
16
|
+
_tmpl$8 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-section-toggle\"", ">", "<i", " aria-hidden=\"true\"></i></button>"],
|
|
17
|
+
_tmpl$9 = ["<div class=\"k2b-app-workspace__sidebar-section-actions\">", "</div>"],
|
|
18
|
+
_tmpl$0 = ["<header class=\"k2b-app-workspace__sidebar-section-header\">", "", "</header>"],
|
|
19
|
+
_tmpl$1 = ["<div", "", " class=\"k2b-app-workspace__sidebar-section-content\">", "</div>"],
|
|
20
|
+
_tmpl$10 = ["<h2>", "</h2>"],
|
|
21
|
+
_tmpl$11 = ["<div class=\"k2b-app-workspace__sidebar-item-actions\"", ">", "</div>"],
|
|
22
|
+
_tmpl$12 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\" aria-hidden=\"true\">", "</span>"],
|
|
23
|
+
_tmpl$13 = ["<span class=\"k2b-app-workspace__sidebar-item-context-meta\">", "</span>"],
|
|
24
|
+
_tmpl$14 = ["<span class=\"k2b-app-workspace__sidebar-item-context\"><span class=\"k2b-app-workspace__sidebar-item-context-label\">", "</span>", "</span>"],
|
|
25
|
+
_tmpl$15 = ["<span class=\"k2b-app-workspace__sidebar-item-description\">", "</span>"],
|
|
26
|
+
_tmpl$16 = ["<span class=\"k2b-app-workspace__sidebar-item-copy\">", "<span class=\"k2b-app-workspace__sidebar-item-label\"", "><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>", "</span>"],
|
|
27
|
+
_tmpl$17 = ["<i", "></i>"],
|
|
28
|
+
_tmpl$18 = ["<span class=\"k2b-app-workspace__sidebar-item-meta\"", ">", "</span>"],
|
|
29
|
+
_tmpl$19 = ["<a", " class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</a>"],
|
|
30
|
+
_tmpl$20 = ["<button type=\"button\" class=\"k2b-app-workspace__sidebar-item-action\"", ">", "</button>"],
|
|
31
|
+
_tmpl$21 = ["<span class=\"k2b-app-workspace__sidebar-item-icon\"", " aria-hidden=\"true\"><i", "></i></span>"],
|
|
32
|
+
_tmpl$22 = ["<span class=\"k2b-app-workspace__sidebar-item-label\"><span class=\"k2b-app-workspace__sidebar-item-label-text\">", "</span></span>"],
|
|
33
|
+
_tmpl$23 = ["<span class=\"", "\"", ">", "</span>"],
|
|
34
|
+
_tmpl$24 = ["<span class=\"k2b-app-workspace__nav-tree-toggle\" data-k2b-nav-tree-toggle aria-hidden=\"true\"><i class=\"", "\"></i></span>"],
|
|
35
|
+
_tmpl$25 = ["<div class=\"k2b-app-workspace__nav-tree-group\" role=\"group\">", "</div>"],
|
|
36
|
+
_tmpl$26 = ["<div class=\"k2b-app-workspace__nav-tree-node\" role=\"treeitem\"", ">", "", "</div>"],
|
|
37
|
+
_tmpl$27 = ["<div class=\"", "\" role=\"tree\"", ">", "</div>"],
|
|
38
|
+
_tmpl$28 = ["<div class=\"k2b-app-workspace__sidebar-icon-grid\"", ">", "</div>"],
|
|
39
|
+
_tmpl$29 = ["<i", " aria-hidden=\"true\"></i>"],
|
|
40
|
+
_tmpl$30 = ["<div class=\"", "\" data-k2b-app-workspace", " style=\"", "\">", "</div>"],
|
|
41
|
+
_tmpl$31 = ["<div class=\"", "\">", "</div>"];
|
|
42
|
+
import { createScrollFade } from "./scroll-fade";
|
|
43
|
+
import { SidebarItemPreview } from "./SidebarItemPreview";
|
|
38
44
|
import { Link } from "@k2b/ssr/nav";
|
|
39
|
-
import { children, createContext, createMemo, createSignal, createUniqueId, For, onCleanup, onMount, Show, useContext } from "solid-js";
|
|
45
|
+
import { children, createContext, createMemo, mergeProps, createSignal, createUniqueId, For, onCleanup, onMount, Show, useContext } from "solid-js";
|
|
40
46
|
import { useUiMessages } from "../intl/messages";
|
|
41
47
|
import { installAppWorkspaceController } from "./app-workspace-controller";
|
|
42
48
|
import { APP_WORKSPACE_DETAIL_DEFAULT, APP_WORKSPACE_DETAIL_MAX, APP_WORKSPACE_DETAIL_MIN, APP_WORKSPACE_DRAWER_DEFAULT, APP_WORKSPACE_DRAWER_MAX, APP_WORKSPACE_DRAWER_MIN, APP_WORKSPACE_PANE_DEFAULT, APP_WORKSPACE_PANE_MAX, APP_WORKSPACE_PANE_MIN, APP_WORKSPACE_SIDEBAR_COLLAPSED, APP_WORKSPACE_SIDEBAR_DEFAULT, APP_WORKSPACE_SIDEBAR_MAX, APP_WORKSPACE_SIDEBAR_MIN, appWorkspaceLayoutStyle, appWorkspacePanelVariable } from "./app-workspace-state";
|
|
43
49
|
import { assertStableUiId, assertUniqueStableUiIds } from "./stable-id";
|
|
44
50
|
const ResizeContext = createContext(true);
|
|
45
51
|
const LayoutStateContext = createContext(null);
|
|
46
|
-
const SidebarModeContext = createContext("desktop");
|
|
47
52
|
const MAIN_PANE = Symbol("AppWorkspace.MainPane");
|
|
48
|
-
const SIDEBAR_MOBILE_TRIGGER = Symbol("AppWorkspace.SidebarMobileTrigger");
|
|
49
|
-
const SIDEBAR_MOBILE = Symbol("AppWorkspace.SidebarMobile");
|
|
50
53
|
const SIDEBAR_DESKTOP = Symbol("AppWorkspace.SidebarDesktop");
|
|
51
54
|
const SIDEBAR_ITEM_ICON = Symbol("AppWorkspace.SidebarItemIcon");
|
|
52
55
|
const SIDEBAR_ITEM_LABEL = Symbol("AppWorkspace.SidebarItemLabel");
|
|
@@ -62,7 +65,7 @@ const flatten = value => {
|
|
|
62
65
|
return value === null || value === undefined || typeof value === "boolean" ? [] : [value];
|
|
63
66
|
};
|
|
64
67
|
const mainPaneSlot = value => Boolean(value && typeof value === "object" && "kind" in value && value.kind === MAIN_PANE);
|
|
65
|
-
const sidebarChildSlot = value => Boolean(value && typeof value === "object" && "kind" in value &&
|
|
68
|
+
const sidebarChildSlot = value => Boolean(value && typeof value === "object" && "kind" in value && value.kind === SIDEBAR_DESKTOP);
|
|
66
69
|
const sidebarItemSlot = value => Boolean(value && typeof value === "object" && "kind" in value && [SIDEBAR_ITEM_ICON, SIDEBAR_ITEM_LABEL, SIDEBAR_ITEM_META, SIDEBAR_ITEM_ACTION].includes(value.kind));
|
|
67
70
|
const navTreeItemSlot = value => Boolean(value && typeof value === "object" && "kind" in value && value.kind === NAV_TREE_ITEM);
|
|
68
71
|
function ResizeHandle(props) {
|
|
@@ -103,7 +106,7 @@ function AppWorkspaceMain(props) {
|
|
|
103
106
|
const result = [];
|
|
104
107
|
all.forEach((value, index) => {
|
|
105
108
|
if (mainPaneSlot(value)) {
|
|
106
|
-
|
|
109
|
+
result.push({
|
|
107
110
|
type: "pane",
|
|
108
111
|
index,
|
|
109
112
|
slot: value
|
|
@@ -119,7 +122,7 @@ function AppWorkspaceMain(props) {
|
|
|
119
122
|
});
|
|
120
123
|
return result;
|
|
121
124
|
});
|
|
122
|
-
const anchorRegion = createMemo(() => regions().find(candidate => candidate.type === "primary") ?? regions()
|
|
125
|
+
const anchorRegion = createMemo(() => regions().find(candidate => candidate.type === "primary") ?? regions().find(candidate => candidate.type === "pane" && candidate.slot.props.open !== false));
|
|
123
126
|
// Presence of a MainPane slot — not of an *open* one — decides the split
|
|
124
127
|
// layout. Deriving it from `regions()` made a workspace whose panes are all
|
|
125
128
|
// closed fall back to `resolved()`, which renders the raw slot objects.
|
|
@@ -131,6 +134,9 @@ function AppWorkspaceMain(props) {
|
|
|
131
134
|
get ["data-mobile-pane"]() {
|
|
132
135
|
return props.mobilePane;
|
|
133
136
|
},
|
|
137
|
+
get ["data-scroll-fade-mode"]() {
|
|
138
|
+
return !hasPanes() && props.scroll !== false && props.scrollFade !== false ? "both" : undefined;
|
|
139
|
+
},
|
|
134
140
|
get ["data-scroll"]() {
|
|
135
141
|
return props.scroll === false ? "false" : undefined;
|
|
136
142
|
},
|
|
@@ -145,43 +151,77 @@ function AppWorkspaceMain(props) {
|
|
|
145
151
|
return resolved();
|
|
146
152
|
},
|
|
147
153
|
get children() {
|
|
148
|
-
return
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
const defaultSize = pane.props.defaultSize ?? APP_WORKSPACE_PANE_DEFAULT;
|
|
160
|
-
const minSize = pane.props.minSize ?? APP_WORKSPACE_PANE_MIN;
|
|
161
|
-
const maxSize = Math.max(minSize, pane.props.maxSize ?? APP_WORKSPACE_PANE_MAX);
|
|
162
|
-
const content = _$ssr(_tmpl$3, _$ssrAttribute("id", _$escape(pane.domId, true), false), `k2b-app-workspace__main-pane ${isAnchor ? "is-primary" : ""} ${_$escape(pane.props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(pane.props.label, true), false) + _$ssrAttribute("data-workspace-main-region", _$escape(pane.props.id, true), false) + _$ssrAttribute("data-workspace-mobile-active", activeMobilePane === pane.props.id ? "true" : "false", false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId, true), false) + _$ssrAttribute("data-workspace-resizable", resizable ? "true" : "false", false) + _$ssrAttribute("data-surface", pane.props.surface === "navigation" ? "navigation" : _$escape(undefined, true), false) + _$ssrAttribute("data-scroll", pane.props.scroll === false ? "false" : _$escape(undefined, true), false), _$ssrStyle(isAnchor ? undefined : {
|
|
163
|
-
"--k2b-workspace-panel-size": `var(${variable}, ${defaultSize}px)`
|
|
164
|
-
}), _$escape(pane.props.children));
|
|
165
|
-
if (!resizable) return content;
|
|
166
|
-
const before = region.index < (anchor?.index ?? 0);
|
|
167
|
-
const handle = _$createComponent(ResizeHandle, {
|
|
168
|
-
kind: "pane",
|
|
169
|
-
edge: before ? "end" : "start",
|
|
170
|
-
get controls() {
|
|
171
|
-
return pane.domId;
|
|
172
|
-
},
|
|
173
|
-
panelId: panelId,
|
|
174
|
-
defaultSize: defaultSize,
|
|
175
|
-
minSize: minSize,
|
|
176
|
-
maxSize: maxSize,
|
|
177
|
-
get shadow() {
|
|
178
|
-
return pane.props.resizeShadow !== false;
|
|
179
|
-
},
|
|
180
|
-
get label() {
|
|
181
|
-
return `Resize ${pane.props.label}`;
|
|
154
|
+
return _$createComponent(For, {
|
|
155
|
+
get each() {
|
|
156
|
+
return regions();
|
|
157
|
+
},
|
|
158
|
+
children: region => {
|
|
159
|
+
const activeMobilePane = () => {
|
|
160
|
+
const anchor = anchorRegion();
|
|
161
|
+
return props.mobilePane ?? (anchor?.type === "pane" ? anchor.slot.props.id : "main");
|
|
162
|
+
};
|
|
163
|
+
if (region.type === "primary") {
|
|
164
|
+
return _$ssr(_tmpl$2, _$ssrAttribute("data-workspace-mobile-active", activeMobilePane() === "main" ? "true" : "false", false), _$escape(region.children));
|
|
182
165
|
}
|
|
183
|
-
|
|
184
|
-
|
|
166
|
+
const pane = region.slot;
|
|
167
|
+
const panelId = assertStableUiId(pane.props.id, "AppWorkspace.MainPane id");
|
|
168
|
+
const variable = appWorkspacePanelVariable("pane", panelId);
|
|
169
|
+
const isAnchor = () => region === anchorRegion();
|
|
170
|
+
const resizable = () => !isAnchor() && (pane.props.resizable ?? rootResizable);
|
|
171
|
+
const defaultSize = () => pane.props.defaultSize ?? APP_WORKSPACE_PANE_DEFAULT;
|
|
172
|
+
const minSize = () => pane.props.minSize ?? APP_WORKSPACE_PANE_MIN;
|
|
173
|
+
const maxSize = () => Math.max(minSize(), pane.props.maxSize ?? APP_WORKSPACE_PANE_MAX);
|
|
174
|
+
const before = () => region.index < (anchorRegion()?.index ?? 0);
|
|
175
|
+
const handle = () => _$createComponent(ResizeHandle, {
|
|
176
|
+
kind: "pane",
|
|
177
|
+
get edge() {
|
|
178
|
+
return before() ? "end" : "start";
|
|
179
|
+
},
|
|
180
|
+
get controls() {
|
|
181
|
+
return pane.domId;
|
|
182
|
+
},
|
|
183
|
+
panelId: panelId,
|
|
184
|
+
get defaultSize() {
|
|
185
|
+
return defaultSize();
|
|
186
|
+
},
|
|
187
|
+
get minSize() {
|
|
188
|
+
return minSize();
|
|
189
|
+
},
|
|
190
|
+
get maxSize() {
|
|
191
|
+
return maxSize();
|
|
192
|
+
},
|
|
193
|
+
get shadow() {
|
|
194
|
+
return pane.props.resizeShadow !== false;
|
|
195
|
+
},
|
|
196
|
+
get label() {
|
|
197
|
+
return `Resize ${pane.props.label}`;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
return _$createComponent(Show, {
|
|
201
|
+
get when() {
|
|
202
|
+
return pane.props.open !== false;
|
|
203
|
+
},
|
|
204
|
+
get children() {
|
|
205
|
+
return [_$createComponent(Show, {
|
|
206
|
+
get when() {
|
|
207
|
+
return resizable() && !before();
|
|
208
|
+
},
|
|
209
|
+
get children() {
|
|
210
|
+
return handle();
|
|
211
|
+
}
|
|
212
|
+
}), _$ssr(_tmpl$3, _$ssrAttribute("id", _$escape(pane.domId, true), false), `k2b-app-workspace__main-pane ${isAnchor() ? "is-primary" : ""} ${_$escape(pane.props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(pane.props.label, true), false) + _$ssrAttribute("data-workspace-main-region", _$escape(pane.props.id, true), false) + _$ssrAttribute("data-workspace-mobile-active", activeMobilePane() === pane.props.id ? "true" : "false", false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId, true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false) + _$ssrAttribute("data-surface", pane.props.surface === "navigation" ? "navigation" : _$escape(undefined, true), false) + _$ssrAttribute("data-scroll", pane.props.scroll === false ? "false" : _$escape(undefined, true), false) + _$ssrAttribute("data-scroll-fade-mode", pane.props.scroll !== false && pane.props.scrollFade !== false ? "both" : _$escape(undefined, true), false), _$ssrStyle(isAnchor() ? undefined : {
|
|
213
|
+
"--k2b-workspace-panel-size": `var(${variable}, ${defaultSize()}px)`
|
|
214
|
+
}), _$escape(pane.props.children)), _$createComponent(Show, {
|
|
215
|
+
get when() {
|
|
216
|
+
return resizable() && before();
|
|
217
|
+
},
|
|
218
|
+
get children() {
|
|
219
|
+
return handle();
|
|
220
|
+
}
|
|
221
|
+
})];
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
}
|
|
185
225
|
});
|
|
186
226
|
}
|
|
187
227
|
})), false);
|
|
@@ -284,10 +324,6 @@ function AppWorkspaceBottomDrawer(props) {
|
|
|
284
324
|
}
|
|
285
325
|
}), _$ssr(_tmpl$4, _$ssrAttribute("id", _$escape(domId(), true), false), `k2b-app-workspace__drawer ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-height", _$escape(props.height ?? "md", true), false) + _$ssrAttribute("data-workspace-panel-id", _$escape(panelId(), true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false), _$ssrAttribute("hidden", !props.open, true), _$ssrStyleProperty("--k2b-workspace-panel-size:", `var(${_$escape(variable(), true)}, ${_$escape(defaultHeight(), true)}px)`) + _$ssrStyleProperty(";view-transition-name:", _$escape(props.viewTransitionName, true)), _$escape(props.children))];
|
|
286
326
|
}
|
|
287
|
-
const AppWorkspaceSidebarMobileTrigger = props => ({
|
|
288
|
-
kind: SIDEBAR_MOBILE_TRIGGER,
|
|
289
|
-
...props
|
|
290
|
-
});
|
|
291
327
|
function AppWorkspaceSidebar(props) {
|
|
292
328
|
const rootResizable = useContext(ResizeContext);
|
|
293
329
|
const resizable = () => props.resizable ?? rootResizable;
|
|
@@ -298,27 +334,8 @@ function AppWorkspaceSidebar(props) {
|
|
|
298
334
|
const domId = `k2b-workspace-sidebar-${generatedId}`;
|
|
299
335
|
const resolved = children(() => props.children);
|
|
300
336
|
const slots = createMemo(() => flatten(resolved()).filter(sidebarChildSlot));
|
|
301
|
-
const mobileTrigger = createMemo(() => slots().find(slot => slot.kind === SIDEBAR_MOBILE_TRIGGER));
|
|
302
|
-
const mobile = createMemo(() => slots().find(slot => slot.kind === SIDEBAR_MOBILE));
|
|
303
337
|
const desktop = createMemo(() => slots().find(slot => slot.kind === SIDEBAR_DESKTOP));
|
|
304
|
-
return [_$createComponent(Show, {
|
|
305
|
-
get when() {
|
|
306
|
-
return mobileTrigger() && mobile();
|
|
307
|
-
},
|
|
308
|
-
get children() {
|
|
309
|
-
return _$ssr(_tmpl$5, _$ssrAttribute("aria-label", _$escape(mobileTrigger().label, true), false), _$escape(mobileTrigger().label), _$escape(_$createComponent(SidebarModeContext.Provider, {
|
|
310
|
-
value: "mobile",
|
|
311
|
-
get children() {
|
|
312
|
-
return mobile().children;
|
|
313
|
-
}
|
|
314
|
-
})));
|
|
315
|
-
}
|
|
316
|
-
}), _$ssr(_tmpl$6, _$ssrAttribute("id", _$escape(domId, true), false), `k2b-app-workspace__sidebar ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(mobileTrigger()?.label, true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false) + _$ssrAttribute("data-workspace-collapsible", props.collapsible ? "true" : "false", false), _$escape(_$createComponent(SidebarModeContext.Provider, {
|
|
317
|
-
value: "desktop",
|
|
318
|
-
get children() {
|
|
319
|
-
return desktop()?.children;
|
|
320
|
-
}
|
|
321
|
-
}))), _$createComponent(Show, {
|
|
338
|
+
return [_$ssr(_tmpl$5, _$ssrAttribute("id", _$escape(domId, true), false), `k2b-app-workspace__sidebar ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.label, true), false) + _$ssrAttribute("data-workspace-resizable", resizable() ? "true" : "false", false) + _$ssrAttribute("data-workspace-collapsible", props.collapsible ? "true" : "false", false), _$escape(desktop()?.children)), _$createComponent(Show, {
|
|
322
339
|
get when() {
|
|
323
340
|
return resizable();
|
|
324
341
|
},
|
|
@@ -343,73 +360,99 @@ function AppWorkspaceSidebar(props) {
|
|
|
343
360
|
}
|
|
344
361
|
})];
|
|
345
362
|
}
|
|
346
|
-
const AppWorkspaceSidebarMobile = props => ({
|
|
347
|
-
kind: SIDEBAR_MOBILE,
|
|
348
|
-
children: props.children
|
|
349
|
-
});
|
|
350
363
|
const AppWorkspaceSidebarDesktop = props => ({
|
|
351
364
|
kind: SIDEBAR_DESKTOP,
|
|
352
365
|
children: props.children
|
|
353
366
|
});
|
|
354
|
-
const
|
|
355
|
-
|
|
356
|
-
|
|
357
|
-
|
|
358
|
-
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
362
|
-
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
}, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), _$escape(props.children), false);
|
|
367
|
+
const AppWorkspaceSidebarBody = props => {
|
|
368
|
+
let body;
|
|
369
|
+
createScrollFade(() => body, () => props.scrollFade !== false);
|
|
370
|
+
return _$ssrElement("div", _$mergeProps({
|
|
371
|
+
get ["class"]() {
|
|
372
|
+
return `k2b-app-workspace__sidebar-body ${props.class ?? ""}`;
|
|
373
|
+
},
|
|
374
|
+
get ["data-scroll-fade-mode"]() {
|
|
375
|
+
return props.scrollFade !== false ? "both" : undefined;
|
|
376
|
+
}
|
|
377
|
+
}, () => scrollAttrs(props.scrollPreserveKey), () => modeAttrs(props.sidebarMode)), _$escape(props.children), false);
|
|
378
|
+
};
|
|
367
379
|
const AppWorkspaceSidebarFooter = props => _$ssrElement("footer", _$mergeProps({
|
|
368
380
|
get ["class"]() {
|
|
369
381
|
return `k2b-app-workspace__sidebar-footer ${props.class ?? ""}`;
|
|
370
382
|
}
|
|
371
383
|
}, () => modeAttrs(props.sidebarMode)), _$escape(props.children), false);
|
|
372
|
-
const AppWorkspaceSidebarSection = props =>
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
}
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
}
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
}
|
|
412
|
-
|
|
384
|
+
const AppWorkspaceSidebarSection = props => {
|
|
385
|
+
const [expanded, setExpanded] = createSignal(props.defaultOpen ?? true);
|
|
386
|
+
const open = () => !props.collapsible || (props.open ?? expanded());
|
|
387
|
+
const id = `sidebar-section-${createUniqueId()}`;
|
|
388
|
+
const title = () => [_$createComponent(Show, {
|
|
389
|
+
get when() {
|
|
390
|
+
return props.icon;
|
|
391
|
+
},
|
|
392
|
+
get children() {
|
|
393
|
+
return _$ssr(_tmpl$6, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
|
|
394
|
+
}
|
|
395
|
+
}), props.title, _$createComponent(Show, {
|
|
396
|
+
get when() {
|
|
397
|
+
return props.count !== undefined;
|
|
398
|
+
},
|
|
399
|
+
get children() {
|
|
400
|
+
return _$ssr(_tmpl$7, _$escape(props.count));
|
|
401
|
+
}
|
|
402
|
+
})];
|
|
403
|
+
return _$ssrElement("section", _$mergeProps({
|
|
404
|
+
get ["class"]() {
|
|
405
|
+
return `k2b-app-workspace__sidebar-section ${props.class ?? ""}`;
|
|
406
|
+
},
|
|
407
|
+
get ["data-collapsible"]() {
|
|
408
|
+
return props.collapsible ? "true" : undefined;
|
|
409
|
+
}
|
|
410
|
+
}, () => modeAttrs(props.sidebarMode)), [_$escape(_$createComponent(Show, {
|
|
411
|
+
get when() {
|
|
412
|
+
return props.title || props.actions;
|
|
413
|
+
},
|
|
414
|
+
get children() {
|
|
415
|
+
return _$ssr(_tmpl$0, _$escape(_$createComponent(Show, {
|
|
416
|
+
get when() {
|
|
417
|
+
return props.collapsible;
|
|
418
|
+
},
|
|
419
|
+
get fallback() {
|
|
420
|
+
return _$createComponent(Show, {
|
|
421
|
+
get when() {
|
|
422
|
+
return props.title;
|
|
423
|
+
},
|
|
424
|
+
get children() {
|
|
425
|
+
return _$ssr(_tmpl$10, _$escape(title()));
|
|
426
|
+
}
|
|
427
|
+
});
|
|
428
|
+
},
|
|
429
|
+
get children() {
|
|
430
|
+
return _$ssr(_tmpl$8, _$ssrAttribute("aria-expanded", _$escape(open(), true), false) + _$ssrAttribute("aria-controls", _$escape(id, true), false), _$escape(title()), _$ssrAttribute("class", open() ? "ti ti-chevron-down" : "ti ti-chevron-right", false));
|
|
431
|
+
}
|
|
432
|
+
})), _$escape(_$createComponent(Show, {
|
|
433
|
+
get when() {
|
|
434
|
+
return props.actions;
|
|
435
|
+
},
|
|
436
|
+
get children() {
|
|
437
|
+
return _$ssr(_tmpl$9, _$escape(props.actions));
|
|
438
|
+
}
|
|
439
|
+
})));
|
|
440
|
+
}
|
|
441
|
+
})), _$ssr(_tmpl$1, _$ssrAttribute("id", _$escape(id, true), false), _$ssrAttribute("hidden", !open(), true), _$escape(props.children))], false);
|
|
442
|
+
};
|
|
443
|
+
const AppWorkspaceSidebarItemIcon = props => mergeProps({
|
|
444
|
+
kind: SIDEBAR_ITEM_ICON
|
|
445
|
+
}, props);
|
|
446
|
+
const AppWorkspaceSidebarItemLabel = props => mergeProps({
|
|
447
|
+
kind: SIDEBAR_ITEM_LABEL
|
|
448
|
+
}, props);
|
|
449
|
+
const AppWorkspaceSidebarItemMeta = props => mergeProps({
|
|
450
|
+
kind: SIDEBAR_ITEM_META
|
|
451
|
+
}, props);
|
|
452
|
+
const AppWorkspaceSidebarItemAction = props => mergeProps({
|
|
453
|
+
kind: SIDEBAR_ITEM_ACTION
|
|
454
|
+
}, props);
|
|
455
|
+
const AppWorkspaceSidebarItemActions = props => _$ssr(_tmpl$11, _$ssrAttribute("data-visibility", props.visibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(props.children));
|
|
413
456
|
/** Shared visual and semantic row frame for flat sidebar items and tree items. */
|
|
414
457
|
function AppWorkspaceSidebarRow(props) {
|
|
415
458
|
const className = () => `k2b-app-workspace__sidebar-item ${props.hasActions ? "has-action" : ""} ${props.active ? props.activeClass ?? "is-active" : ""} ${props.class ?? ""}`;
|
|
@@ -418,7 +461,6 @@ function AppWorkspaceSidebarRow(props) {
|
|
|
418
461
|
class: className(),
|
|
419
462
|
title: props.title,
|
|
420
463
|
"data-tone": props.tone,
|
|
421
|
-
"data-mode": props.mode,
|
|
422
464
|
style: {
|
|
423
465
|
"view-transition-name": props.viewTransitionName,
|
|
424
466
|
"--k2b-sidebar-item-depth": props.depth === undefined ? undefined : String(Math.max(0, props.depth))
|
|
@@ -426,102 +468,100 @@ function AppWorkspaceSidebarRow(props) {
|
|
|
426
468
|
...data()
|
|
427
469
|
});
|
|
428
470
|
const current = () => props.active ? "page" : undefined;
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
|
|
435
|
-
|
|
436
|
-
}
|
|
437
|
-
if (props.navigation !== "enhanced" || !props.onNavigate) {
|
|
438
|
-
return _$ssrElement("div", common(), [_$ssr(_tmpl$10, _$ssrAttribute("href", _$escape(props.href, true), false), _$ssrAttribute("tabindex", _$escape(props.tabIndex, true), false) + _$ssrAttribute("aria-current", _$escape(current(), true), false), _$escape(props.children)), _$escape(props.actions)], false);
|
|
439
|
-
}
|
|
440
|
-
return _$ssrElement("div", common(), [_$escape(_$createComponent(Link, {
|
|
441
|
-
get href() {
|
|
442
|
-
return props.href;
|
|
443
|
-
},
|
|
444
|
-
"class": "k2b-app-workspace__sidebar-item-main",
|
|
445
|
-
get tabIndex() {
|
|
446
|
-
return props.tabIndex;
|
|
447
|
-
},
|
|
448
|
-
get ["aria-current"]() {
|
|
449
|
-
return current();
|
|
450
|
-
},
|
|
451
|
-
get replace() {
|
|
452
|
-
return props.replace;
|
|
453
|
-
},
|
|
454
|
-
get scroll() {
|
|
455
|
-
return props.scroll;
|
|
456
|
-
},
|
|
457
|
-
get onNavigate() {
|
|
458
|
-
return props.onNavigate;
|
|
471
|
+
const Control = control => {
|
|
472
|
+
const attrs = () => control.grouped ? {
|
|
473
|
+
class: "k2b-app-workspace__sidebar-item-main"
|
|
474
|
+
} : common();
|
|
475
|
+
return _$createComponent(Show, {
|
|
476
|
+
get when() {
|
|
477
|
+
return Boolean(props.href && !props.disabled);
|
|
459
478
|
},
|
|
460
|
-
get
|
|
461
|
-
return
|
|
479
|
+
get fallback() {
|
|
480
|
+
return _$ssrElement("button", _$mergeProps({
|
|
481
|
+
type: "button"
|
|
482
|
+
}, attrs, {
|
|
483
|
+
get tabIndex() {
|
|
484
|
+
return props.tabIndex;
|
|
485
|
+
},
|
|
486
|
+
get disabled() {
|
|
487
|
+
return props.disabled;
|
|
488
|
+
}
|
|
489
|
+
}), _$escape(props.children), false);
|
|
462
490
|
},
|
|
463
491
|
get children() {
|
|
464
|
-
return
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
470
|
-
|
|
471
|
-
|
|
472
|
-
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
482
|
-
|
|
483
|
-
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
492
|
+
return _$createComponent(Show, {
|
|
493
|
+
get when() {
|
|
494
|
+
return props.navigation === "enhanced" && Boolean(props.onNavigate);
|
|
495
|
+
},
|
|
496
|
+
get fallback() {
|
|
497
|
+
return _$ssrElement("a", _$mergeProps({
|
|
498
|
+
get href() {
|
|
499
|
+
return props.href;
|
|
500
|
+
}
|
|
501
|
+
}, attrs, {
|
|
502
|
+
get tabIndex() {
|
|
503
|
+
return props.tabIndex;
|
|
504
|
+
},
|
|
505
|
+
get ["aria-current"]() {
|
|
506
|
+
return current();
|
|
507
|
+
}
|
|
508
|
+
}), _$escape(props.children), false);
|
|
509
|
+
},
|
|
510
|
+
get children() {
|
|
511
|
+
return _$createComponent(Link, _$mergeProps({
|
|
512
|
+
get href() {
|
|
513
|
+
return props.href;
|
|
514
|
+
}
|
|
515
|
+
}, attrs, {
|
|
516
|
+
get tabIndex() {
|
|
517
|
+
return props.tabIndex;
|
|
518
|
+
},
|
|
519
|
+
get ["aria-current"]() {
|
|
520
|
+
return current();
|
|
521
|
+
},
|
|
522
|
+
get replace() {
|
|
523
|
+
return props.replace;
|
|
524
|
+
},
|
|
525
|
+
get scroll() {
|
|
526
|
+
return props.scroll;
|
|
527
|
+
},
|
|
528
|
+
get onNavigate() {
|
|
529
|
+
return props.onNavigate;
|
|
530
|
+
},
|
|
531
|
+
get onClick() {
|
|
532
|
+
return props.onClick;
|
|
533
|
+
},
|
|
534
|
+
get children() {
|
|
535
|
+
return props.children;
|
|
536
|
+
}
|
|
537
|
+
}));
|
|
538
|
+
}
|
|
539
|
+
});
|
|
491
540
|
}
|
|
492
|
-
})
|
|
493
|
-
}
|
|
494
|
-
return _$createComponent(
|
|
495
|
-
get
|
|
496
|
-
return props.
|
|
497
|
-
}
|
|
498
|
-
}, common, {
|
|
499
|
-
get tabIndex() {
|
|
500
|
-
return props.tabIndex;
|
|
501
|
-
},
|
|
502
|
-
get ["aria-current"]() {
|
|
503
|
-
return current();
|
|
504
|
-
},
|
|
505
|
-
get replace() {
|
|
506
|
-
return props.replace;
|
|
507
|
-
},
|
|
508
|
-
get scroll() {
|
|
509
|
-
return props.scroll;
|
|
510
|
-
},
|
|
511
|
-
get onNavigate() {
|
|
512
|
-
return props.onNavigate;
|
|
541
|
+
});
|
|
542
|
+
};
|
|
543
|
+
return _$createComponent(Show, {
|
|
544
|
+
get when() {
|
|
545
|
+
return props.hasActions;
|
|
513
546
|
},
|
|
514
|
-
get
|
|
515
|
-
return
|
|
547
|
+
get fallback() {
|
|
548
|
+
return _$createComponent(Control, {
|
|
549
|
+
grouped: false
|
|
550
|
+
});
|
|
516
551
|
},
|
|
517
552
|
get children() {
|
|
518
|
-
return
|
|
553
|
+
return _$ssrElement("div", _$mergeProps(common, {
|
|
554
|
+
get ["data-disabled"]() {
|
|
555
|
+
return props.disabled ? "true" : undefined;
|
|
556
|
+
}
|
|
557
|
+
}), [_$escape(_$createComponent(Control, {
|
|
558
|
+
grouped: true
|
|
559
|
+
})), _$escape(props.actions)], false);
|
|
519
560
|
}
|
|
520
|
-
})
|
|
561
|
+
});
|
|
521
562
|
}
|
|
522
563
|
function AppWorkspaceSidebarItem(props) {
|
|
523
564
|
const messages = useUiMessages();
|
|
524
|
-
const mode = useContext(SidebarModeContext);
|
|
525
565
|
const resolved = children(() => props.children);
|
|
526
566
|
const resolvedActions = children(() => props.actions);
|
|
527
567
|
const values = createMemo(() => flatten(resolved()));
|
|
@@ -538,43 +578,99 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
538
578
|
const metaVisibility = () => metaSlot()?.visibility ?? props.metaVisibility;
|
|
539
579
|
const customActions = () => resolvedActions();
|
|
540
580
|
const hasCustomActions = () => Boolean(customActions());
|
|
541
|
-
const hasAction = () => Boolean(actionSlot() || props.actionIcon || hasCustomActions());
|
|
581
|
+
const hasAction = () => Boolean(actionSlot() || props.actionIcon || hasCustomActions() || props.preview);
|
|
542
582
|
const mainContent = [_$createComponent(Show, {
|
|
543
583
|
get when() {
|
|
544
584
|
return iconContent() || icon();
|
|
545
585
|
},
|
|
546
586
|
get children() {
|
|
547
|
-
return _$ssr(_tmpl$
|
|
587
|
+
return _$ssr(_tmpl$12, _$escape(iconContent() ?? _$ssr(_tmpl$17, _$ssrAttribute("class", _$escape(iconClass(icon()), true), false))));
|
|
588
|
+
}
|
|
589
|
+
}), _$ssr(_tmpl$16, _$escape(_$createComponent(Show, {
|
|
590
|
+
get when() {
|
|
591
|
+
return props.context || props.contextMeta;
|
|
592
|
+
},
|
|
593
|
+
get children() {
|
|
594
|
+
return _$ssr(_tmpl$14, _$escape(props.context), _$escape(_$createComponent(Show, {
|
|
595
|
+
get when() {
|
|
596
|
+
return props.contextMeta;
|
|
597
|
+
},
|
|
598
|
+
get children() {
|
|
599
|
+
return _$ssr(_tmpl$13, _$escape(props.contextMeta));
|
|
600
|
+
}
|
|
601
|
+
})));
|
|
602
|
+
}
|
|
603
|
+
})), _$ssrAttribute("data-marquee", labelSlot()?.marquee ?? props.variant !== "card" ? "true" : "false", false), _$escape(label()), _$escape(_$createComponent(Show, {
|
|
604
|
+
get when() {
|
|
605
|
+
return props.description;
|
|
606
|
+
},
|
|
607
|
+
get children() {
|
|
608
|
+
return _$ssr(_tmpl$15, _$escape(props.description));
|
|
548
609
|
}
|
|
549
|
-
})
|
|
610
|
+
}))), _$createComponent(Show, {
|
|
550
611
|
get when() {
|
|
551
612
|
return meta();
|
|
552
613
|
},
|
|
553
|
-
children: value => _$ssr(_tmpl$
|
|
614
|
+
children: value => _$ssr(_tmpl$18, _$ssrAttribute("data-visibility", metaVisibility() === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(value()))
|
|
554
615
|
})];
|
|
555
616
|
const singleAction = () => {
|
|
556
|
-
const
|
|
557
|
-
if (!slot && !props.actionIcon) return null;
|
|
558
|
-
const content = slot?.children ?? _$ssr(_tmpl$13, _$ssrAttribute("class", _$escape(iconClass(slot?.icon ?? props.actionIcon, "ti-dots"), true), false));
|
|
559
|
-
const label = slot?.label ?? props.actionLabel ?? messages().rowAction;
|
|
617
|
+
const label = () => actionSlot()?.label ?? props.actionLabel ?? messages().rowAction;
|
|
560
618
|
const select = event => {
|
|
561
|
-
event.preventDefault();
|
|
562
|
-
event.stopPropagation();
|
|
563
|
-
slot?.onSelect?.(event);
|
|
564
|
-
props.onActionClick?.(event);
|
|
565
|
-
};
|
|
566
|
-
// A row action that is a link must still navigate — only the row's own
|
|
567
|
-
// click handling is suppressed.
|
|
568
|
-
const follow = event => {
|
|
569
619
|
event.stopPropagation();
|
|
570
|
-
|
|
620
|
+
if (actionSlot()?.disabled) {
|
|
621
|
+
event.preventDefault();
|
|
622
|
+
return;
|
|
623
|
+
}
|
|
624
|
+
if (!actionSlot()?.href) event.preventDefault();
|
|
625
|
+
actionSlot()?.onSelect?.(event);
|
|
571
626
|
props.onActionClick?.(event);
|
|
572
627
|
};
|
|
573
|
-
|
|
628
|
+
const content = () => actionSlot()?.children ?? _$ssr(_tmpl$17, _$ssrAttribute("class", _$escape(iconClass(actionSlot()?.icon ?? props.actionIcon, "ti-dots"), true), false));
|
|
629
|
+
return _$createComponent(Show, {
|
|
630
|
+
get when() {
|
|
631
|
+
return Boolean(actionSlot() || props.actionIcon);
|
|
632
|
+
},
|
|
633
|
+
get children() {
|
|
634
|
+
return _$createComponent(Show, {
|
|
635
|
+
get when() {
|
|
636
|
+
return actionSlot()?.href && !actionSlot()?.disabled;
|
|
637
|
+
},
|
|
638
|
+
get fallback() {
|
|
639
|
+
return _$ssr(_tmpl$20, _$ssrAttribute("disabled", actionSlot()?.disabled, true) + _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
|
|
640
|
+
},
|
|
641
|
+
get children() {
|
|
642
|
+
return _$ssr(_tmpl$19, _$ssrAttribute("href", _$escape(actionSlot()?.href, true), false), _$ssrAttribute("data-visibility", actionSlot()?.visibility === "hover" ? "hover" : _$escape(undefined, true), false) + _$ssrAttribute("aria-label", _$escape(label(), true), false), _$escape(content()));
|
|
643
|
+
}
|
|
644
|
+
});
|
|
645
|
+
}
|
|
646
|
+
});
|
|
574
647
|
};
|
|
575
|
-
const actions = () => [customActions(), singleAction()
|
|
648
|
+
const actions = () => [customActions(), singleAction(), _$createComponent(Show, {
|
|
649
|
+
get when() {
|
|
650
|
+
return props.preview;
|
|
651
|
+
},
|
|
652
|
+
children: preview => _$createComponent(SidebarItemPreview, {
|
|
653
|
+
get label() {
|
|
654
|
+
return preview().label;
|
|
655
|
+
},
|
|
656
|
+
get trigger() {
|
|
657
|
+
return preview().trigger;
|
|
658
|
+
},
|
|
659
|
+
get align() {
|
|
660
|
+
return preview().align;
|
|
661
|
+
},
|
|
662
|
+
get viewportSize() {
|
|
663
|
+
return preview().viewportSize;
|
|
664
|
+
},
|
|
665
|
+
get onOpenChange() {
|
|
666
|
+
return preview().onOpenChange;
|
|
667
|
+
},
|
|
668
|
+
get children() {
|
|
669
|
+
return preview().content;
|
|
670
|
+
}
|
|
671
|
+
})
|
|
672
|
+
})];
|
|
576
673
|
return _$createComponent(AppWorkspaceSidebarRow, {
|
|
577
|
-
mode: mode,
|
|
578
674
|
get hasActions() {
|
|
579
675
|
return hasAction();
|
|
580
676
|
},
|
|
@@ -627,6 +723,7 @@ function AppWorkspaceSidebarItem(props) {
|
|
|
627
723
|
return {
|
|
628
724
|
...props.data,
|
|
629
725
|
...modeData(props.sidebarMode),
|
|
726
|
+
variant: props.variant ?? "row",
|
|
630
727
|
"has-actions": hasCustomActions() ? "true" : undefined,
|
|
631
728
|
"action-visibility": actionSlot()?.visibility === "hover" ? "hover" : undefined
|
|
632
729
|
};
|
|
@@ -640,7 +737,6 @@ const AppWorkspaceNavTreeItem = props => ({
|
|
|
640
737
|
...props
|
|
641
738
|
});
|
|
642
739
|
const AppWorkspaceNavTree = props => {
|
|
643
|
-
const mode = useContext(SidebarModeContext);
|
|
644
740
|
let root;
|
|
645
741
|
const resolved = children(() => props.children);
|
|
646
742
|
const roots = createMemo(() => navTreeItems(resolved()));
|
|
@@ -683,9 +779,11 @@ const AppWorkspaceNavTree = props => {
|
|
|
683
779
|
preventScroll: true
|
|
684
780
|
});
|
|
685
781
|
};
|
|
782
|
+
|
|
783
|
+
// Items arrive through an accessor so a changed nested list reconciles rows by identity instead of rebuilding the list.
|
|
686
784
|
const renderItems = (value, depth, parentId) => _$createComponent(For, {
|
|
687
785
|
get each() {
|
|
688
|
-
return navTreeItems(value);
|
|
786
|
+
return navTreeItems(value());
|
|
689
787
|
},
|
|
690
788
|
children: item => {
|
|
691
789
|
const nested = createMemo(() => navTreeItems(item.children));
|
|
@@ -777,25 +875,24 @@ const AppWorkspaceNavTree = props => {
|
|
|
777
875
|
return rowIcon();
|
|
778
876
|
},
|
|
779
877
|
get children() {
|
|
780
|
-
return _$ssr(_tmpl$
|
|
878
|
+
return _$ssr(_tmpl$21, _$ssrAttribute("data-k2b-nav-tree-toggle", usesIconDisclosure() ? "" : _$escape(undefined, true), false), _$ssrAttribute("class", _$escape(iconClass(rowIcon()), true), false));
|
|
781
879
|
}
|
|
782
|
-
}), _$ssr(_tmpl$
|
|
880
|
+
}), _$ssr(_tmpl$22, _$escape(item.label)), _$createComponent(Show, {
|
|
783
881
|
get when() {
|
|
784
882
|
return item.meta !== undefined;
|
|
785
883
|
},
|
|
786
884
|
get children() {
|
|
787
|
-
return _$ssr(_tmpl$
|
|
885
|
+
return _$ssr(_tmpl$23, `k2b-app-workspace__sidebar-item-meta ${hasChildren() ? "" : "k2b-app-workspace__nav-tree-leaf-meta"}`, _$ssrAttribute("data-visibility", item.metaVisibility === "hover" ? "hover" : _$escape(undefined, true), false), _$escape(item.meta));
|
|
788
886
|
}
|
|
789
887
|
}), _$createComponent(Show, {
|
|
790
888
|
get when() {
|
|
791
889
|
return hasChildren() && !usesIconDisclosure();
|
|
792
890
|
},
|
|
793
891
|
get children() {
|
|
794
|
-
return _$ssr(_tmpl$
|
|
892
|
+
return _$ssr(_tmpl$24, `ti ${isExpanded(item.id) ? "ti-chevron-down" : "ti-chevron-right"}`);
|
|
795
893
|
}
|
|
796
894
|
})];
|
|
797
895
|
const row = () => _$createComponent(AppWorkspaceSidebarRow, {
|
|
798
|
-
mode: mode,
|
|
799
896
|
get hasActions() {
|
|
800
897
|
return Boolean(item.actions);
|
|
801
898
|
},
|
|
@@ -847,17 +944,17 @@ const AppWorkspaceNavTree = props => {
|
|
|
847
944
|
},
|
|
848
945
|
children: rowContent
|
|
849
946
|
});
|
|
850
|
-
return _$ssr(_tmpl$
|
|
947
|
+
return _$ssr(_tmpl$26, _$ssrAttribute("aria-level", _$escape(depth, true) + 1, false) + _$ssrAttribute("aria-selected", _$escape(selected(), true), false) + _$ssrAttribute("aria-expanded", hasChildren() ? _$escape(isExpanded(item.id), true) : _$escape(undefined, true), false) + _$ssrAttribute("aria-disabled", item.disabled ? "true" : _$escape(undefined, true), false) + _$ssrAttribute("tabindex", item.disabled ? -1 : tabStopId() === item.id ? 0 : -1, false) + _$ssrAttribute("data-k2b-nav-tree-id", _$escape(item.id, true), false) + _$ssrAttribute("data-k2b-nav-tree-parent-id", _$escape(parentId, true), false), _$escape(row()), _$escape(_$createComponent(Show, {
|
|
851
948
|
get when() {
|
|
852
949
|
return hasChildren() && isExpanded(item.id);
|
|
853
950
|
},
|
|
854
951
|
get children() {
|
|
855
|
-
return _$ssr(_tmpl$
|
|
952
|
+
return _$ssr(_tmpl$25, _$escape(renderItems(nested, depth + 1, item.id)));
|
|
856
953
|
}
|
|
857
954
|
})));
|
|
858
955
|
}
|
|
859
956
|
});
|
|
860
|
-
return _$ssr(_tmpl$
|
|
957
|
+
return _$ssr(_tmpl$27, `k2b-app-workspace__nav-tree ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("aria-label", _$escape(props.ariaLabel, true), false), _$escape(renderItems(roots, 0)));
|
|
861
958
|
};
|
|
862
959
|
AppWorkspaceNavTree.Item = AppWorkspaceNavTreeItem;
|
|
863
960
|
const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProps({
|
|
@@ -868,10 +965,10 @@ const AppWorkspaceSidebarIconGrid = props => _$ssrElement("section", _$mergeProp
|
|
|
868
965
|
get when() {
|
|
869
966
|
return props.title;
|
|
870
967
|
},
|
|
871
|
-
children: title => _$ssr(_tmpl$
|
|
872
|
-
})), _$ssr(_tmpl$
|
|
968
|
+
children: title => _$ssr(_tmpl$10, _$escape(title()))
|
|
969
|
+
})), _$ssr(_tmpl$28, _$ssrAttribute("data-columns", _$escape(props.columns ?? 2, true), false), _$escape(props.children))], false);
|
|
873
970
|
const AppWorkspaceSidebarIconAction = props => {
|
|
874
|
-
const content = _$ssr(_tmpl$
|
|
971
|
+
const content = _$ssr(_tmpl$29, _$ssrAttribute("class", _$escape(iconClass(props.icon), true), false));
|
|
875
972
|
const attrs = () => ({
|
|
876
973
|
class: `k2b-app-workspace__sidebar-icon-action ${props.active ? "is-active" : ""}`,
|
|
877
974
|
title: props.label,
|
|
@@ -937,7 +1034,7 @@ const AppWorkspace = props => {
|
|
|
937
1034
|
return props.resizable !== false;
|
|
938
1035
|
},
|
|
939
1036
|
get children() {
|
|
940
|
-
return _$ssr(_tmpl$
|
|
1037
|
+
return _$ssr(_tmpl$30, `k2b-app-workspace ${_$escape(props.class ?? "", true)}`, _$ssrAttribute("data-mobile-surface", _$escape(props.mobileSurface, true), false) + _$ssrAttribute("data-sidebar-collapsed", initialLayoutState()?.sidebarCollapsed === undefined ? _$escape(undefined, true) : _$escape(String(initialLayoutState()?.sidebarCollapsed), true), false) + _$ssrAttribute("data-workspace-resizable", props.resizable === false ? "false" : "true", false), _$ssrStyle(appWorkspaceLayoutStyle(initialLayoutState())), _$escape(props.children));
|
|
941
1038
|
}
|
|
942
1039
|
});
|
|
943
1040
|
};
|
|
@@ -949,16 +1046,12 @@ AppWorkspace.LayoutStateProvider = props => _$createComponent(LayoutStateContext
|
|
|
949
1046
|
return props.children;
|
|
950
1047
|
}
|
|
951
1048
|
});
|
|
952
|
-
AppWorkspace.Content = props => _$ssr(_tmpl$
|
|
1049
|
+
AppWorkspace.Content = props => _$ssr(_tmpl$31, `k2b-app-workspace__content ${_$escape(props.class ?? "", true)}`, _$escape(props.children));
|
|
953
1050
|
AppWorkspace.Main = AppWorkspaceMain;
|
|
954
1051
|
AppWorkspace.MainPane = AppWorkspaceMainPane;
|
|
955
1052
|
AppWorkspace.Detail = AppWorkspaceDetail;
|
|
956
1053
|
AppWorkspace.BottomDrawer = AppWorkspaceBottomDrawer;
|
|
957
1054
|
AppWorkspace.Sidebar = AppWorkspaceSidebar;
|
|
958
|
-
AppWorkspace.SidebarMobileTrigger = AppWorkspaceSidebarMobileTrigger;
|
|
959
|
-
AppWorkspace.SidebarMobile = AppWorkspaceSidebarMobile;
|
|
960
|
-
AppWorkspace.SidebarMobileItems = AppWorkspaceSidebarMobileItems;
|
|
961
|
-
AppWorkspace.SidebarMobileBody = AppWorkspaceSidebarMobileBody;
|
|
962
1055
|
AppWorkspace.SidebarDesktop = AppWorkspaceSidebarDesktop;
|
|
963
1056
|
AppWorkspace.SidebarSection = AppWorkspaceSidebarSection;
|
|
964
1057
|
AppWorkspace.SidebarBody = AppWorkspaceSidebarBody;
|