@keyfunc/keybricks-ds 2.6.0 → 2.7.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/DEPLOY.md +3 -3
- package/DESIGN.md +13 -4
- package/INTEGRATION.md +18 -3
- package/_adherence.oxlintrc.json +57 -11
- package/_ds_bundle.js +2137 -186
- package/_scripts/build-index.mjs +1 -1
- package/_src/icon-index.js +1 -1
- package/assets/icons/icon-index.json +1 -1
- package/changelog.js +11 -1
- package/components/_cards/accordion.card.html +1 -1
- package/components/_cards/action-chip.card.html +1 -1
- package/components/_cards/activity.card.html +1 -1
- package/components/_cards/alert.card.html +1 -1
- package/components/_cards/app-chrome.card.html +1 -1
- package/components/_cards/banner.card.html +1 -1
- package/components/_cards/breadcrumb.card.html +1 -1
- package/components/_cards/button-1-base.card.html +5 -2
- package/components/_cards/button-2-states.card.html +5 -5
- package/components/_cards/button-3-sizes-icons.card.html +2 -2
- package/components/_cards/button-4-group.card.html +2 -2
- package/components/_cards/button-5-ai.card.html +34 -0
- package/components/_cards/canvas-zoom-controls.card.html +1 -1
- package/components/_cards/cards-indicators.card.html +1 -1
- package/components/_cards/charts-1-sparkline.card.html +1 -1
- package/components/_cards/charts-10-gauge.card.html +1 -1
- package/components/_cards/charts-11-funnel.card.html +1 -1
- package/components/_cards/charts-12-treemap.card.html +1 -1
- package/components/_cards/charts-14-radar.card.html +1 -1
- package/components/_cards/charts-15-distribution.card.html +1 -1
- package/components/_cards/charts-16-pareto.card.html +1 -1
- package/components/_cards/charts-17-candlestick.card.html +1 -1
- package/components/_cards/charts-18-sankey.card.html +1 -1
- package/components/_cards/charts-19-chord.card.html +1 -1
- package/components/_cards/charts-2-line.card.html +1 -1
- package/components/_cards/charts-20-sunburst.card.html +1 -1
- package/components/_cards/charts-21-worldmap.card.html +1 -1
- package/components/_cards/charts-22-gantt.card.html +1 -1
- package/components/_cards/charts-23-bar3d.card.html +1 -1
- package/components/_cards/charts-24-pie3d.card.html +1 -1
- package/components/_cards/charts-25-surface3d.card.html +1 -1
- package/components/_cards/charts-26-scatter3d.card.html +1 -1
- package/components/_cards/charts-27-ribbon3d.card.html +1 -1
- package/components/_cards/charts-3-bar.card.html +1 -1
- package/components/_cards/charts-4-barlist.card.html +1 -1
- package/components/_cards/charts-5-donut.card.html +1 -1
- package/components/_cards/charts-6-scatter.card.html +1 -1
- package/components/_cards/charts-7-heatmap.card.html +1 -1
- package/components/_cards/charts-8-waterfall.card.html +1 -1
- package/components/_cards/charts-9-bullet.card.html +1 -1
- package/components/_cards/charts-99-fullpage.card.html +1 -1
- package/components/_cards/checkbox.card.html +1 -1
- package/components/_cards/codeblock.card.html +1 -1
- package/components/_cards/combobox.card.html +1 -1
- package/components/_cards/context-menu.card.html +1 -1
- package/components/_cards/date-picker.card.html +1 -1
- package/components/_cards/diffvalue.card.html +1 -1
- package/components/_cards/divider.card.html +1 -1
- package/components/_cards/drawer.card.html +1 -1
- package/components/_cards/dropdown-menu.card.html +1 -1
- package/components/_cards/dropzone.card.html +1 -1
- package/components/_cards/empty-state.card.html +1 -1
- package/components/_cards/filter-bar.card.html +1 -1
- package/components/_cards/icon-button.card.html +1 -1
- package/components/_cards/icons-0-usage.card.html +2 -2
- package/components/_cards/icons-1-core.card.html +1 -1
- package/components/_cards/icons-2-feather.card.html +1 -1
- package/components/_cards/icons-2b-lucide.card.html +1 -1
- package/components/_cards/icons-3-unicons.card.html +1 -1
- package/components/_cards/icons-4-datasource.card.html +1 -1
- package/components/_cards/input.card.html +1 -1
- package/components/_cards/kbd.card.html +5 -7
- package/components/_cards/keyvalue.card.html +1 -1
- package/components/_cards/listrow.card.html +1 -1
- package/components/_cards/loading.card.html +1 -1
- package/components/_cards/log-viewer.card.html +1 -1
- package/components/_cards/multi-select.card.html +1 -1
- package/components/_cards/number-stepper.card.html +1 -1
- package/components/_cards/pagination.card.html +1 -1
- package/components/_cards/people.card.html +1 -1
- package/components/_cards/pipeline-node.card.html +1 -1
- package/components/_cards/pipeline-palette.card.html +1 -1
- package/components/_cards/radio.card.html +1 -1
- package/components/_cards/relative-time-picker.card.html +1 -1
- package/components/_cards/search-global.card.html +72 -0
- package/components/_cards/search.card.html +1 -1
- package/components/_cards/segmented-control.card.html +1 -1
- package/components/_cards/select.card.html +1 -1
- package/components/_cards/slider.card.html +1 -1
- package/components/_cards/smart-table.card.html +1 -1
- package/components/_cards/spreadsheet.card.html +1 -1
- package/components/_cards/stepper.card.html +1 -1
- package/components/_cards/table.card.html +1 -1
- package/components/_cards/tabs.card.html +1 -1
- package/components/_cards/tag.card.html +1 -1
- package/components/_cards/textarea.card.html +1 -1
- package/components/_cards/timeline.card.html +1 -1
- package/components/_cards/toast.card.html +1 -1
- package/components/_cards/toggles.card.html +1 -1
- package/components/_cards/tooltip.card.html +1 -1
- package/components/_cards/tree.card.html +1 -1
- package/components/_vue/index.mjs +2 -0
- package/components/buttons/Button.d.ts +14 -5
- package/components/buttons/Button.jsx +45 -8
- package/components/buttons/Button.vue +40 -38
- package/components/buttons/Button.vue.d.ts +4 -1
- package/components/buttons/ai-button.js +54 -0
- package/components/buttons/buttons.prompt.md +7 -2
- package/components/display/Kbd.d.ts +3 -1
- package/components/display/Kbd.jsx +8 -3
- package/components/display/Kbd.vue +7 -3
- package/components/display/display.prompt.md +3 -1
- package/components/feedback/Modal.d.ts +7 -0
- package/components/feedback/Modal.jsx +9 -9
- package/components/feedback/Toast.vue +6 -6
- package/components/feedback/feedback.prompt.md +2 -0
- package/components/forms/GlobalSearch.d.ts +83 -0
- package/components/forms/GlobalSearch.jsx +172 -0
- package/components/forms/GlobalSearch.vue +161 -0
- package/components/forms/forms.prompt.md +7 -0
- package/components/forms/global-search.js +161 -0
- package/components/icons/Icon.d.ts +2 -0
- package/components/icons/Icon.jsx +14 -6
- package/components/icons/Icon.vue +11 -4
- package/components/icons/icon-paths.js +4 -2
- package/components/index.d.ts +1 -0
- package/components/index.js +1 -0
- package/components/navigation/TopBar.d.ts +9 -3
- package/components/navigation/TopBar.jsx +5 -7
- package/components/navigation/TopBar.vue +5 -6
- package/covers.js +4 -2
- package/gallery.html +1 -1
- package/guidelines/brand-logo.html +1 -1
- package/guidelines/colors-schemes.html +1 -1
- package/guidelines/colors-transparency.html +1 -1
- package/guidelines/foundations-borders.html +1 -1
- package/guidelines/foundations-chrome.html +1 -1
- package/guidelines/foundations-motion.html +1 -1
- package/guidelines/foundations-size-tiers.html +1 -1
- package/guidelines/foundations-spacing.html +1 -1
- package/guidelines/interaction-states.html +1 -1
- package/guidelines/type-extended.html +1 -1
- package/guidelines/type-mono.html +1 -1
- package/guidelines/type-scale.html +1 -1
- package/guidelines/type-weights.html +1 -1
- package/index.html +8 -8
- package/package.json +2 -2
- package/readme.md +4 -4
- package/readme.zh-CN.md +4 -4
- package/site-nav.js +1 -1
- package/styles.css +1 -0
- package/tokens/ai.css +17 -0
- package/tokens/colors.css +1 -1
- package/tokens/tokens.d.ts +28 -0
- package/tokens/tokens.js +47 -5
- package/tokens/tokens.json +123 -5
package/_ds_bundle.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/* @ds-bundle: {"format":4,"namespace":"KeybricksDesignSystem_71231a","components":[{"name":"ActionChip","sourcePath":"components/buttons/ActionChip.jsx"},{"name":"Button","sourcePath":"components/buttons/Button.jsx"},{"name":"ButtonGroup","sourcePath":"components/buttons/Button.jsx"},{"name":"IconButton","sourcePath":"components/buttons/IconButton.jsx"},{"name":"Bar3D","sourcePath":"components/charts/Bar3D.jsx"},{"name":"BarChart","sourcePath":"components/charts/BarChart.jsx"},{"name":"BarList","sourcePath":"components/charts/BarList.jsx"},{"name":"BoxPlot","sourcePath":"components/charts/BoxPlot.jsx"},{"name":"BulletChart","sourcePath":"components/charts/BulletChart.jsx"},{"name":"CandlestickChart","sourcePath":"components/charts/CandlestickChart.jsx"},{"name":"ChartLegend","sourcePath":"components/charts/ChartKit.jsx"},{"name":"ChartTooltip","sourcePath":"components/charts/ChartKit.jsx"},{"name":"PlotGrid","sourcePath":"components/charts/ChartKit.jsx"},{"name":"XLabels","sourcePath":"components/charts/ChartKit.jsx"},{"name":"ChartKit","sourcePath":"components/charts/ChartKit.jsx"},{"name":"ChordChart","sourcePath":"components/charts/ChordChart.jsx"},{"name":"DonutChart","sourcePath":"components/charts/DonutChart.jsx"},{"name":"FunnelChart","sourcePath":"components/charts/FunnelChart.jsx"},{"name":"GanttChart","sourcePath":"components/charts/GanttChart.jsx"},{"name":"GaugeChart","sourcePath":"components/charts/GaugeChart.jsx"},{"name":"HeatmapChart","sourcePath":"components/charts/HeatmapChart.jsx"},{"name":"Histogram","sourcePath":"components/charts/Histogram.jsx"},{"name":"LineChart","sourcePath":"components/charts/LineChart.jsx"},{"name":"ParetoChart","sourcePath":"components/charts/ParetoChart.jsx"},{"name":"Pie3D","sourcePath":"components/charts/Pie3D.jsx"},{"name":"RadarChart","sourcePath":"components/charts/RadarChart.jsx"},{"name":"Ribbon3D","sourcePath":"components/charts/Ribbon3D.jsx"},{"name":"SankeyChart","sourcePath":"components/charts/SankeyChart.jsx"},{"name":"Scatter3D","sourcePath":"components/charts/Scatter3D.jsx"},{"name":"ScatterChart","sourcePath":"components/charts/ScatterChart.jsx"},{"name":"Sparkline","sourcePath":"components/charts/Sparkline.jsx"},{"name":"SunburstChart","sourcePath":"components/charts/SunburstChart.jsx"},{"name":"Surface3D","sourcePath":"components/charts/Surface3D.jsx"},{"name":"TreemapChart","sourcePath":"components/charts/TreemapChart.jsx"},{"name":"WaterfallChart","sourcePath":"components/charts/WaterfallChart.jsx"},{"name":"WorldMap","sourcePath":"components/charts/WorldMap.jsx"},{"name":"SERIES","sourcePath":"components/charts/chart-geometry.js"},{"name":"CodeBlock","sourcePath":"components/data/CodeBlock.jsx"},{"name":"DiffValue","sourcePath":"components/data/DiffValue.jsx"},{"name":"FilterBar","sourcePath":"components/data/FilterBar.jsx"},{"name":"KeyValue","sourcePath":"components/data/KeyValue.jsx"},{"name":"KeyValueList","sourcePath":"components/data/KeyValue.jsx"},{"name":"ListRow","sourcePath":"components/data/ListRow.jsx"},{"name":"Pagination","sourcePath":"components/data/Pagination.jsx"},{"name":"SmartTable","sourcePath":"components/data/SmartTable.jsx"},{"name":"Spreadsheet","sourcePath":"components/data/Spreadsheet.jsx"},{"name":"Table","sourcePath":"components/data/Table.jsx"},{"name":"Avatar","sourcePath":"components/display/Avatar.jsx"},{"name":"AvatarGroup","sourcePath":"components/display/Avatar.jsx"},{"name":"StatusBadge","sourcePath":"components/display/Badge.jsx"},{"name":"Badge","sourcePath":"components/display/Badge.jsx"},{"name":"IconTile","sourcePath":"components/display/Badge.jsx"},{"name":"Card","sourcePath":"components/display/Card.jsx"},{"name":"StatCard","sourcePath":"components/display/Card.jsx"},{"name":"Divider","sourcePath":"components/display/Divider.jsx"},{"name":"Kbd","sourcePath":"components/display/Kbd.jsx"},{"name":"ProgressBar","sourcePath":"components/display/ProgressBar.jsx"},{"name":"Donut","sourcePath":"components/display/ProgressBar.jsx"},{"name":"AreaChart","sourcePath":"components/display/ProgressBar.jsx"},{"name":"MiniBars","sourcePath":"components/display/ProgressBar.jsx"},{"name":"Tag","sourcePath":"components/display/Tag.jsx"},{"name":"Accordion","sourcePath":"components/feedback/Accordion.jsx"},{"name":"ActivityItem","sourcePath":"components/feedback/ActivityItem.jsx"},{"name":"DotActivity","sourcePath":"components/feedback/ActivityItem.jsx"},{"name":"LogViewer","sourcePath":"components/feedback/ActivityItem.jsx"},{"name":"Alert","sourcePath":"components/feedback/Alert.jsx"},{"name":"EmptyState","sourcePath":"components/feedback/Alert.jsx"},{"name":"Skeleton","sourcePath":"components/feedback/Alert.jsx"},{"name":"Spinner","sourcePath":"components/feedback/Alert.jsx"},{"name":"Banner","sourcePath":"components/feedback/Banner.jsx"},{"name":"ContextMenu","sourcePath":"components/feedback/ContextMenu.jsx"},{"name":"Drawer","sourcePath":"components/feedback/Drawer.jsx"},{"name":"Menu","sourcePath":"components/feedback/Menu.jsx"},{"name":"Tooltip","sourcePath":"components/feedback/Modal.jsx"},{"name":"Modal","sourcePath":"components/feedback/Modal.jsx"},{"name":"Toast","sourcePath":"components/feedback/Modal.jsx"},{"name":"ToastStack","sourcePath":"components/feedback/Modal.jsx"},{"name":"Stepper","sourcePath":"components/feedback/Stepper.jsx"},{"name":"Timeline","sourcePath":"components/feedback/Timeline.jsx"},{"name":"Checkbox","sourcePath":"components/forms/Checkbox.jsx"},{"name":"Combobox","sourcePath":"components/forms/Combobox.jsx"},{"name":"DatePicker","sourcePath":"components/forms/DatePicker.jsx"},{"name":"Dropzone","sourcePath":"components/forms/Dropzone.jsx"},{"name":"Field","sourcePath":"components/forms/Field.jsx"},{"name":"Input","sourcePath":"components/forms/Input.jsx"},{"name":"Textarea","sourcePath":"components/forms/Input.jsx"},{"name":"MultiSelect","sourcePath":"components/forms/MultiSelect.jsx"},{"name":"NumberStepper","sourcePath":"components/forms/NumberStepper.jsx"},{"name":"Radio","sourcePath":"components/forms/Radio.jsx"},{"name":"RadioGroup","sourcePath":"components/forms/Radio.jsx"},{"name":"RelativeTimePicker","sourcePath":"components/forms/RelativeTimePicker.jsx"},{"name":"SearchInput","sourcePath":"components/forms/SearchInput.jsx"},{"name":"Select","sourcePath":"components/forms/Select.jsx"},{"name":"Slider","sourcePath":"components/forms/Slider.jsx"},{"name":"Switch","sourcePath":"components/forms/Switch.jsx"},{"name":"RELATIVE_TIME_UNITS","sourcePath":"components/forms/relative-time.js"},{"name":"RELATIVE_TIME_LABELS","sourcePath":"components/forms/relative-time.js"},{"name":"ICON_PATHS","sourcePath":"components/icons/Icon.jsx"},{"name":"Icon","sourcePath":"components/icons/Icon.jsx"},{"name":"LUCIDE_VERSION","sourcePath":"components/icons/lucide-loader.js"},{"name":"Lucide","sourcePath":"components/icons/Lucide.jsx"},{"name":"Unicon","sourcePath":"components/icons/Unicon.jsx"},{"name":"FEATHER_PATHS","sourcePath":"components/icons/feather-paths.js"},{"name":"VUE_ICON_PATHS","sourcePath":"components/icons/icon-paths.js"},{"name":"DataTable","sourcePath":"components/index.js"},{"name":"Breadcrumb","sourcePath":"components/navigation/Breadcrumb.jsx"},{"name":"ThemeToggle","sourcePath":"components/navigation/Breadcrumb.jsx"},{"name":"DocTree","sourcePath":"components/navigation/DocTree.jsx"},{"name":"SidePanel","sourcePath":"components/navigation/SidePanel.jsx"},{"name":"KEYBRICKS_MGMT","sourcePath":"components/navigation/nav-model.js"},{"name":"KEYBRICKS_NAV","sourcePath":"components/navigation/nav-model.js"},{"name":"KEYBRICKS_NAV_FOOTER","sourcePath":"components/navigation/nav-model.js"},{"name":"SIDEBAR_COLORS","sourcePath":"components/navigation/chrome-tones.js"},{"name":"Sidebar","sourcePath":"components/navigation/Sidebar.jsx"},{"name":"PageHeading","sourcePath":"components/navigation/TopBar.jsx"},{"name":"PageToolbar","sourcePath":"components/navigation/TopBar.jsx"},{"name":"THEME_OPTIONS","sourcePath":"components/navigation/TopBar.jsx"},{"name":"TopBar","sourcePath":"components/navigation/TopBar.jsx"},{"name":"UserMenu","sourcePath":"components/navigation/TopBar.jsx"},{"name":"Tree","sourcePath":"components/navigation/Tree.jsx"},{"name":"ConfigPanel","sourcePath":"components/pipeline/ConfigPanel.jsx"},{"name":"DataPreview","sourcePath":"components/pipeline/DataPreview.jsx"},{"name":"NodeCard","sourcePath":"components/pipeline/NodeCard.jsx"},{"name":"Port","sourcePath":"components/pipeline/NodeCard.jsx"},{"name":"PortLabel","sourcePath":"components/pipeline/NodeCard.jsx"},{"name":"PIPELINE_CATALOG","sourcePath":"components/pipeline/pipeline-catalog.js"},{"name":"PaletteItem","sourcePath":"components/pipeline/PalettePanel.jsx"},{"name":"PaletteListItem","sourcePath":"components/pipeline/PalettePanel.jsx"},{"name":"PalettePanel","sourcePath":"components/pipeline/PalettePanel.jsx"},{"name":"PipelineCanvas","sourcePath":"components/pipeline/PipelineCanvas.jsx"},{"name":"ZoomControls","sourcePath":"components/pipeline/ZoomControls.jsx"},{"name":"SegmentedControl","sourcePath":"components/tabs/SegmentedControl.jsx"},{"name":"CountBadge","sourcePath":"components/tabs/Tabs.jsx"},{"name":"PanelTabs","sourcePath":"components/tabs/Tabs.jsx"},{"name":"PillTabs","sourcePath":"components/tabs/Tabs.jsx"},{"name":"Tabs","sourcePath":"components/tabs/Tabs.jsx"},{"name":"ViewToggle","sourcePath":"components/tabs/ViewToggle.jsx"}],"sourceHashes":{"changelog.js":"66f1fd209af8","components/_shared/card-kit.js":"d1a34446784f","components/_shared/frame-theme.js":"bf16c8945df0","components/_shared/svg-download.js":"9d62db55383f","components/_shared/view-source.js":"fab1363c9ec6","components/buttons/ActionChip.jsx":"14bc07f40ce8","components/buttons/Button.jsx":"6110e7a4c4c7","components/buttons/IconButton.jsx":"7dc6876baab5","components/charts/Bar3D.jsx":"831825885981","components/charts/BarChart.jsx":"233a0bc11a9b","components/charts/BarList.jsx":"125a1dbb53ed","components/charts/BoxPlot.jsx":"8248a9768508","components/charts/BulletChart.jsx":"f72c2a568232","components/charts/CandlestickChart.jsx":"06c056166032","components/charts/ChartKit.jsx":"2f186e247fd2","components/charts/ChordChart.jsx":"f637257e4117","components/charts/DonutChart.jsx":"3b941dbb9b59","components/charts/FunnelChart.jsx":"4e0905360b64","components/charts/GanttChart.jsx":"385f02db3353","components/charts/GaugeChart.jsx":"675e34482ee7","components/charts/HeatmapChart.jsx":"563ed883a71b","components/charts/Histogram.jsx":"2cafc5676c9c","components/charts/LineChart.jsx":"4b650646e6d5","components/charts/ParetoChart.jsx":"0f7462fd7b7d","components/charts/Pie3D.jsx":"a712524cd12c","components/charts/RadarChart.jsx":"2c5d2186a949","components/charts/Ribbon3D.jsx":"af1793d05d39","components/charts/SankeyChart.jsx":"954d95f4d065","components/charts/Scatter3D.jsx":"ef50d4381338","components/charts/ScatterChart.jsx":"77c05131ec98","components/charts/Sparkline.jsx":"9d8f3fa12642","components/charts/SunburstChart.jsx":"125f214d8795","components/charts/Surface3D.jsx":"aee8e4b7ee78","components/charts/TreemapChart.jsx":"dda7f388e540","components/charts/WaterfallChart.jsx":"5a330bd1827c","components/charts/WorldMap.jsx":"606387955701","components/charts/chart-3d.js":"3d737da91401","components/charts/chart-geometry.js":"a12030d8657d","components/data/CodeBlock.jsx":"6e690f47fc42","components/data/DiffValue.jsx":"c935ef5dd50b","components/data/FilterBar.jsx":"39f18062ca6f","components/data/KeyValue.jsx":"9bdc389e0d7e","components/data/ListRow.jsx":"e578944ee86a","components/data/Pagination.jsx":"c3bbaae7dc5a","components/data/SmartTable.jsx":"3c8becbc7196","components/data/Spreadsheet.jsx":"a77fd88f3569","components/data/Table.jsx":"e025e97ecf21","components/display/Avatar.jsx":"977b19df247c","components/display/Badge.jsx":"e88da52fcfc4","components/display/Card.jsx":"8a7b8364a215","components/display/Divider.jsx":"bb429e2d0956","components/display/Kbd.jsx":"43a689a386eb","components/display/ProgressBar.jsx":"fdde3c872e07","components/display/Tag.jsx":"9273edfc3e38","components/feedback/Accordion.jsx":"73c086d09ba4","components/feedback/ActivityItem.jsx":"0adc1a58c612","components/feedback/Alert.jsx":"f6de26206dae","components/feedback/Banner.jsx":"610a45f96ecd","components/feedback/ContextMenu.jsx":"dfdde5683263","components/feedback/Drawer.jsx":"f19acf9e3a00","components/feedback/Menu.jsx":"6e92100d3d2b","components/feedback/Modal.jsx":"d7e8425549b7","components/feedback/Stepper.jsx":"a0cb5b659998","components/feedback/Timeline.jsx":"2b8c0f37503e","components/forms/Checkbox.jsx":"db9c8ff69653","components/forms/Combobox.jsx":"8ec375433182","components/forms/DatePicker.jsx":"e7366c603a9f","components/forms/Dropzone.jsx":"5432a672a429","components/forms/Field.jsx":"8e4649e1a18b","components/forms/Input.jsx":"95922d854a24","components/forms/MultiSelect.jsx":"14636d36331b","components/forms/NumberStepper.jsx":"6e0c940000fe","components/forms/Radio.jsx":"96e36a9b1c79","components/forms/RelativeTimePicker.jsx":"23755d41a8c1","components/forms/SearchInput.jsx":"40dae28d378f","components/forms/Select.jsx":"870c20ebcd67","components/forms/Slider.jsx":"ebd21a287cc3","components/forms/Switch.jsx":"e1303512a946","components/forms/input-base.js":"988c002d8357","components/forms/relative-time.js":"64155d3bcdcf","components/icons/Icon.jsx":"e1aaa4319592","components/icons/Lucide.jsx":"42c8091d53f5","components/icons/Unicon.jsx":"03683a8eb3d3","components/icons/feather-paths.js":"f8ca847bbdf3","components/icons/icon-paths.js":"442cdd475938","components/icons/lucide-loader.js":"b2fe23ee92fc","components/index.js":"80cfb8d13940","components/navigation/Breadcrumb.jsx":"26b271b8d1dd","components/navigation/DocTree.jsx":"02a7d753e159","components/navigation/SidePanel.jsx":"4691ef93e84e","components/navigation/Sidebar.jsx":"6ce469c00f26","components/navigation/TopBar.jsx":"1a092707599a","components/navigation/Tree.jsx":"72ac15ee39e6","components/navigation/chrome-tones.js":"073b9df6aef5","components/navigation/nav-model.js":"e091dd62900c","components/navigation/theme-store.js":"c05c61fb0bd2","components/pipeline/ConfigPanel.jsx":"8cf8677f4472","components/pipeline/DataPreview.jsx":"7aaf081fcd16","components/pipeline/NodeCard.jsx":"357042c92033","components/pipeline/PalettePanel.jsx":"1d28f2d3abac","components/pipeline/PipelineCanvas.jsx":"09eb8b7d7f61","components/pipeline/ZoomControls.jsx":"7bd9fa5c4c9b","components/pipeline/pipeline-catalog.js":"9a3250315e88","components/pipeline/port-skin.js":"9bdd304628a6","components/px.js":"4ab7eb225e9d","components/tabs/SegmentedControl.jsx":"ae08c2ef8a1e","components/tabs/Tabs.jsx":"d92fbada1ef2","components/tabs/ViewToggle.jsx":"3a77b9900151","covers.js":"8360f1081144","site-nav.js":"6c8fcaecf617","tokens/theme.js":"1848ef09eb46","tokens/tokens.js":"22f620a59bf4"},"inlinedExternals":[],"unexposedExports":[{"name":"applyStoredTheme","sourcePath":"components/navigation/theme-store.js"},{"name":"arcPath","sourcePath":"components/charts/chart-geometry.js"},{"name":"areaPath","sourcePath":"components/charts/chart-geometry.js"},{"name":"changeRelativeAmount","sourcePath":"components/forms/relative-time.js"},{"name":"changeRelativeUnit","sourcePath":"components/forms/relative-time.js"},{"name":"chord","sourcePath":"components/charts/chart-geometry.js"},{"name":"chordRibbon","sourcePath":"components/charts/chart-geometry.js"},{"name":"chromeTone","sourcePath":"components/navigation/chrome-tones.js"},{"name":"closeToBaseline","sourcePath":"components/charts/chart-geometry.js"},{"name":"colName","sourcePath":"components/data/Spreadsheet.jsx"},{"name":"cssVar","sourcePath":"tokens/tokens.js"},{"name":"cuboidFaces","sourcePath":"components/charts/chart-3d.js"},{"name":"curvePath","sourcePath":"components/charts/chart-geometry.js"},{"name":"dark","sourcePath":"tokens/tokens.js"},{"name":"dragRotate","sourcePath":"components/charts/chart-3d.js"},{"name":"extent","sourcePath":"components/charts/chart-geometry.js"},{"name":"faceDepth","sourcePath":"components/charts/chart-3d.js"},{"name":"facePath","sourcePath":"components/charts/chart-3d.js"},{"name":"fmtNum","sourcePath":"components/charts/chart-geometry.js"},{"name":"heatColor","sourcePath":"components/charts/chart-3d.js"},{"name":"heatStep","sourcePath":"components/charts/chart-geometry.js"},{"name":"inputBase","sourcePath":"components/forms/input-base.js"},{"name":"light","sourcePath":"tokens/tokens.js"},{"name":"lightOf","sourcePath":"components/charts/chart-3d.js"},{"name":"linePath","sourcePath":"components/charts/chart-geometry.js"},{"name":"loadLucide","sourcePath":"components/icons/lucide-loader.js"},{"name":"lucideBody","sourcePath":"components/icons/lucide-loader.js"},{"name":"lucideReady","sourcePath":"components/icons/lucide-loader.js"},{"name":"makeProj","sourcePath":"components/charts/chart-3d.js"},{"name":"niceTicks","sourcePath":"components/charts/chart-geometry.js"},{"name":"normalizeRelativeTime","sourcePath":"components/forms/relative-time.js"},{"name":"onLucideReady","sourcePath":"components/icons/lucide-loader.js"},{"name":"polar","sourcePath":"components/charts/chart-geometry.js"},{"name":"portSkin","sourcePath":"components/pipeline/port-skin.js"},{"name":"px","sourcePath":"components/px.js"},{"name":"quantize","sourcePath":"components/charts/chart-geometry.js"},{"name":"relativeTimePosition","sourcePath":"components/forms/relative-time.js"},{"name":"relativeTimeText","sourcePath":"components/forms/relative-time.js"},{"name":"relativeUnitLabel","sourcePath":"components/forms/relative-time.js"},{"name":"resolveRelativeTime","sourcePath":"components/forms/relative-time.js"},{"name":"rotate3","sourcePath":"components/charts/chart-3d.js"},{"name":"sankey","sourcePath":"components/charts/chart-geometry.js"},{"name":"scaleLin","sourcePath":"components/charts/chart-geometry.js"},{"name":"seriesColor","sourcePath":"components/charts/chart-geometry.js"},{"name":"setLucideSource","sourcePath":"components/icons/lucide-loader.js"},{"name":"shade","sourcePath":"components/charts/chart-3d.js"},{"name":"shapePath","sourcePath":"components/charts/chart-geometry.js"},{"name":"stack","sourcePath":"components/charts/chart-geometry.js"},{"name":"stepPath","sourcePath":"components/charts/chart-geometry.js"},{"name":"summarize","sourcePath":"components/charts/BoxPlot.jsx"},{"name":"thinLabels","sourcePath":"components/charts/ChartKit.jsx"},{"name":"tokenNames","sourcePath":"tokens/tokens.js"},{"name":"treemap","sourcePath":"components/charts/chart-geometry.js"},{"name":"waterfall","sourcePath":"components/charts/chart-geometry.js"},{"name":"wrapStyle","sourcePath":"components/charts/ChartKit.jsx"}]} */
|
|
1
|
+
/* @ds-bundle: {"format":4,"namespace":"KeybricksDesignSystem_71231a","components":[{"name":"ActionChip","sourcePath":"components/buttons/ActionChip.jsx"},{"name":"Button","sourcePath":"components/buttons/Button.jsx"},{"name":"ButtonGroup","sourcePath":"components/buttons/Button.jsx"},{"name":"IconButton","sourcePath":"components/buttons/IconButton.jsx"},{"name":"Bar3D","sourcePath":"components/charts/Bar3D.jsx"},{"name":"BarChart","sourcePath":"components/charts/BarChart.jsx"},{"name":"BarList","sourcePath":"components/charts/BarList.jsx"},{"name":"BoxPlot","sourcePath":"components/charts/BoxPlot.jsx"},{"name":"BulletChart","sourcePath":"components/charts/BulletChart.jsx"},{"name":"CandlestickChart","sourcePath":"components/charts/CandlestickChart.jsx"},{"name":"ChartLegend","sourcePath":"components/charts/ChartKit.jsx"},{"name":"ChartTooltip","sourcePath":"components/charts/ChartKit.jsx"},{"name":"PlotGrid","sourcePath":"components/charts/ChartKit.jsx"},{"name":"XLabels","sourcePath":"components/charts/ChartKit.jsx"},{"name":"ChartKit","sourcePath":"components/charts/ChartKit.jsx"},{"name":"ChordChart","sourcePath":"components/charts/ChordChart.jsx"},{"name":"DonutChart","sourcePath":"components/charts/DonutChart.jsx"},{"name":"FunnelChart","sourcePath":"components/charts/FunnelChart.jsx"},{"name":"GanttChart","sourcePath":"components/charts/GanttChart.jsx"},{"name":"GaugeChart","sourcePath":"components/charts/GaugeChart.jsx"},{"name":"HeatmapChart","sourcePath":"components/charts/HeatmapChart.jsx"},{"name":"Histogram","sourcePath":"components/charts/Histogram.jsx"},{"name":"LineChart","sourcePath":"components/charts/LineChart.jsx"},{"name":"ParetoChart","sourcePath":"components/charts/ParetoChart.jsx"},{"name":"Pie3D","sourcePath":"components/charts/Pie3D.jsx"},{"name":"RadarChart","sourcePath":"components/charts/RadarChart.jsx"},{"name":"Ribbon3D","sourcePath":"components/charts/Ribbon3D.jsx"},{"name":"SankeyChart","sourcePath":"components/charts/SankeyChart.jsx"},{"name":"Scatter3D","sourcePath":"components/charts/Scatter3D.jsx"},{"name":"ScatterChart","sourcePath":"components/charts/ScatterChart.jsx"},{"name":"Sparkline","sourcePath":"components/charts/Sparkline.jsx"},{"name":"SunburstChart","sourcePath":"components/charts/SunburstChart.jsx"},{"name":"Surface3D","sourcePath":"components/charts/Surface3D.jsx"},{"name":"TreemapChart","sourcePath":"components/charts/TreemapChart.jsx"},{"name":"WaterfallChart","sourcePath":"components/charts/WaterfallChart.jsx"},{"name":"WorldMap","sourcePath":"components/charts/WorldMap.jsx"},{"name":"SERIES","sourcePath":"components/charts/chart-geometry.js"},{"name":"CodeBlock","sourcePath":"components/data/CodeBlock.jsx"},{"name":"DiffValue","sourcePath":"components/data/DiffValue.jsx"},{"name":"FilterBar","sourcePath":"components/data/FilterBar.jsx"},{"name":"KeyValue","sourcePath":"components/data/KeyValue.jsx"},{"name":"KeyValueList","sourcePath":"components/data/KeyValue.jsx"},{"name":"ListRow","sourcePath":"components/data/ListRow.jsx"},{"name":"Pagination","sourcePath":"components/data/Pagination.jsx"},{"name":"SmartTable","sourcePath":"components/data/SmartTable.jsx"},{"name":"Spreadsheet","sourcePath":"components/data/Spreadsheet.jsx"},{"name":"Table","sourcePath":"components/data/Table.jsx"},{"name":"Avatar","sourcePath":"components/display/Avatar.jsx"},{"name":"AvatarGroup","sourcePath":"components/display/Avatar.jsx"},{"name":"StatusBadge","sourcePath":"components/display/Badge.jsx"},{"name":"Badge","sourcePath":"components/display/Badge.jsx"},{"name":"IconTile","sourcePath":"components/display/Badge.jsx"},{"name":"Card","sourcePath":"components/display/Card.jsx"},{"name":"StatCard","sourcePath":"components/display/Card.jsx"},{"name":"Divider","sourcePath":"components/display/Divider.jsx"},{"name":"Kbd","sourcePath":"components/display/Kbd.jsx"},{"name":"ProgressBar","sourcePath":"components/display/ProgressBar.jsx"},{"name":"Donut","sourcePath":"components/display/ProgressBar.jsx"},{"name":"AreaChart","sourcePath":"components/display/ProgressBar.jsx"},{"name":"MiniBars","sourcePath":"components/display/ProgressBar.jsx"},{"name":"Tag","sourcePath":"components/display/Tag.jsx"},{"name":"Accordion","sourcePath":"components/feedback/Accordion.jsx"},{"name":"ActivityItem","sourcePath":"components/feedback/ActivityItem.jsx"},{"name":"DotActivity","sourcePath":"components/feedback/ActivityItem.jsx"},{"name":"LogViewer","sourcePath":"components/feedback/ActivityItem.jsx"},{"name":"Alert","sourcePath":"components/feedback/Alert.jsx"},{"name":"EmptyState","sourcePath":"components/feedback/Alert.jsx"},{"name":"Skeleton","sourcePath":"components/feedback/Alert.jsx"},{"name":"Spinner","sourcePath":"components/feedback/Alert.jsx"},{"name":"Banner","sourcePath":"components/feedback/Banner.jsx"},{"name":"ContextMenu","sourcePath":"components/feedback/ContextMenu.jsx"},{"name":"Drawer","sourcePath":"components/feedback/Drawer.jsx"},{"name":"Menu","sourcePath":"components/feedback/Menu.jsx"},{"name":"Tooltip","sourcePath":"components/feedback/Modal.jsx"},{"name":"Modal","sourcePath":"components/feedback/Modal.jsx"},{"name":"Toast","sourcePath":"components/feedback/Modal.jsx"},{"name":"ToastStack","sourcePath":"components/feedback/Modal.jsx"},{"name":"Stepper","sourcePath":"components/feedback/Stepper.jsx"},{"name":"Timeline","sourcePath":"components/feedback/Timeline.jsx"},{"name":"MessageBox","sourcePath":"components/feedback/message-box.js"},{"name":"Message","sourcePath":"components/feedback/message.js"},{"name":"Checkbox","sourcePath":"components/forms/Checkbox.jsx"},{"name":"Combobox","sourcePath":"components/forms/Combobox.jsx"},{"name":"DatePicker","sourcePath":"components/forms/DatePicker.jsx"},{"name":"Dropzone","sourcePath":"components/forms/Dropzone.jsx"},{"name":"Field","sourcePath":"components/forms/Field.jsx"},{"name":"GLOBAL_SEARCH_LABELS","sourcePath":"components/forms/global-search.js"},{"name":"GlobalSearch","sourcePath":"components/forms/GlobalSearch.jsx"},{"name":"Input","sourcePath":"components/forms/Input.jsx"},{"name":"Textarea","sourcePath":"components/forms/Input.jsx"},{"name":"MultiSelect","sourcePath":"components/forms/MultiSelect.jsx"},{"name":"NumberStepper","sourcePath":"components/forms/NumberStepper.jsx"},{"name":"Radio","sourcePath":"components/forms/Radio.jsx"},{"name":"RadioGroup","sourcePath":"components/forms/Radio.jsx"},{"name":"RelativeTimePicker","sourcePath":"components/forms/RelativeTimePicker.jsx"},{"name":"SearchInput","sourcePath":"components/forms/SearchInput.jsx"},{"name":"Select","sourcePath":"components/forms/Select.jsx"},{"name":"Slider","sourcePath":"components/forms/Slider.jsx"},{"name":"Switch","sourcePath":"components/forms/Switch.jsx"},{"name":"GS_KINDS","sourcePath":"components/forms/global-search.js"},{"name":"GS_ICONS","sourcePath":"components/forms/global-search.js"},{"name":"RELATIVE_TIME_UNITS","sourcePath":"components/forms/relative-time.js"},{"name":"RELATIVE_TIME_LABELS","sourcePath":"components/forms/relative-time.js"},{"name":"ICON_PATHS","sourcePath":"components/icons/Icon.jsx"},{"name":"Icon","sourcePath":"components/icons/Icon.jsx"},{"name":"LUCIDE_VERSION","sourcePath":"components/icons/lucide-loader.js"},{"name":"Lucide","sourcePath":"components/icons/Lucide.jsx"},{"name":"Unicon","sourcePath":"components/icons/Unicon.jsx"},{"name":"FEATHER_PATHS","sourcePath":"components/icons/feather-paths.js"},{"name":"VUE_ICON_PATHS","sourcePath":"components/icons/icon-paths.js"},{"name":"DataTable","sourcePath":"components/index.js"},{"name":"Breadcrumb","sourcePath":"components/navigation/Breadcrumb.jsx"},{"name":"ThemeToggle","sourcePath":"components/navigation/Breadcrumb.jsx"},{"name":"DocTree","sourcePath":"components/navigation/DocTree.jsx"},{"name":"SidePanel","sourcePath":"components/navigation/SidePanel.jsx"},{"name":"KEYBRICKS_MGMT","sourcePath":"components/navigation/nav-model.js"},{"name":"KEYBRICKS_NAV","sourcePath":"components/navigation/nav-model.js"},{"name":"KEYBRICKS_NAV_FOOTER","sourcePath":"components/navigation/nav-model.js"},{"name":"SIDEBAR_COLORS","sourcePath":"components/navigation/chrome-tones.js"},{"name":"Sidebar","sourcePath":"components/navigation/Sidebar.jsx"},{"name":"PageHeading","sourcePath":"components/navigation/TopBar.jsx"},{"name":"PageToolbar","sourcePath":"components/navigation/TopBar.jsx"},{"name":"THEME_OPTIONS","sourcePath":"components/navigation/TopBar.jsx"},{"name":"TopBar","sourcePath":"components/navigation/TopBar.jsx"},{"name":"UserMenu","sourcePath":"components/navigation/TopBar.jsx"},{"name":"Tree","sourcePath":"components/navigation/Tree.jsx"},{"name":"ConfigPanel","sourcePath":"components/pipeline/ConfigPanel.jsx"},{"name":"DataPreview","sourcePath":"components/pipeline/DataPreview.jsx"},{"name":"NodeCard","sourcePath":"components/pipeline/NodeCard.jsx"},{"name":"Port","sourcePath":"components/pipeline/NodeCard.jsx"},{"name":"PortLabel","sourcePath":"components/pipeline/NodeCard.jsx"},{"name":"PIPELINE_CATALOG","sourcePath":"components/pipeline/pipeline-catalog.js"},{"name":"PaletteItem","sourcePath":"components/pipeline/PalettePanel.jsx"},{"name":"PaletteListItem","sourcePath":"components/pipeline/PalettePanel.jsx"},{"name":"PalettePanel","sourcePath":"components/pipeline/PalettePanel.jsx"},{"name":"PipelineCanvas","sourcePath":"components/pipeline/PipelineCanvas.jsx"},{"name":"ZoomControls","sourcePath":"components/pipeline/ZoomControls.jsx"},{"name":"SegmentedControl","sourcePath":"components/tabs/SegmentedControl.jsx"},{"name":"CountBadge","sourcePath":"components/tabs/Tabs.jsx"},{"name":"PanelTabs","sourcePath":"components/tabs/Tabs.jsx"},{"name":"PillTabs","sourcePath":"components/tabs/Tabs.jsx"},{"name":"Tabs","sourcePath":"components/tabs/Tabs.jsx"},{"name":"ViewToggle","sourcePath":"components/tabs/ViewToggle.jsx"}],"sourceHashes":{"changelog.js":"1464b1a52501","components/_shared/card-kit.js":"d1a34446784f","components/_shared/frame-theme.js":"bf16c8945df0","components/_shared/svg-download.js":"9d62db55383f","components/_shared/view-source.js":"fab1363c9ec6","components/buttons/ActionChip.jsx":"14bc07f40ce8","components/buttons/Button.jsx":"8f6d049d411e","components/buttons/IconButton.jsx":"7dc6876baab5","components/buttons/ai-button.js":"b9c77432191b","components/charts/Bar3D.jsx":"831825885981","components/charts/BarChart.jsx":"233a0bc11a9b","components/charts/BarList.jsx":"125a1dbb53ed","components/charts/BoxPlot.jsx":"8248a9768508","components/charts/BulletChart.jsx":"f72c2a568232","components/charts/CandlestickChart.jsx":"06c056166032","components/charts/ChartKit.jsx":"2f186e247fd2","components/charts/ChordChart.jsx":"f637257e4117","components/charts/DonutChart.jsx":"3b941dbb9b59","components/charts/FunnelChart.jsx":"4e0905360b64","components/charts/GanttChart.jsx":"385f02db3353","components/charts/GaugeChart.jsx":"675e34482ee7","components/charts/HeatmapChart.jsx":"563ed883a71b","components/charts/Histogram.jsx":"2cafc5676c9c","components/charts/LineChart.jsx":"4b650646e6d5","components/charts/ParetoChart.jsx":"0f7462fd7b7d","components/charts/Pie3D.jsx":"a712524cd12c","components/charts/RadarChart.jsx":"2c5d2186a949","components/charts/Ribbon3D.jsx":"af1793d05d39","components/charts/SankeyChart.jsx":"954d95f4d065","components/charts/Scatter3D.jsx":"ef50d4381338","components/charts/ScatterChart.jsx":"77c05131ec98","components/charts/Sparkline.jsx":"9d8f3fa12642","components/charts/SunburstChart.jsx":"125f214d8795","components/charts/Surface3D.jsx":"aee8e4b7ee78","components/charts/TreemapChart.jsx":"dda7f388e540","components/charts/WaterfallChart.jsx":"5a330bd1827c","components/charts/WorldMap.jsx":"606387955701","components/charts/chart-3d.js":"3d737da91401","components/charts/chart-geometry.js":"a12030d8657d","components/data/CodeBlock.jsx":"6e690f47fc42","components/data/DiffValue.jsx":"c935ef5dd50b","components/data/FilterBar.jsx":"39f18062ca6f","components/data/KeyValue.jsx":"9bdc389e0d7e","components/data/ListRow.jsx":"e578944ee86a","components/data/Pagination.jsx":"c3bbaae7dc5a","components/data/SmartTable.jsx":"3c8becbc7196","components/data/Spreadsheet.jsx":"a77fd88f3569","components/data/Table.jsx":"e025e97ecf21","components/display/Avatar.jsx":"977b19df247c","components/display/Badge.jsx":"e88da52fcfc4","components/display/Card.jsx":"8a7b8364a215","components/display/Divider.jsx":"bb429e2d0956","components/display/Kbd.jsx":"3c378009453d","components/display/ProgressBar.jsx":"fdde3c872e07","components/display/Tag.jsx":"9273edfc3e38","components/feedback/Accordion.jsx":"73c086d09ba4","components/feedback/ActivityItem.jsx":"0adc1a58c612","components/feedback/Alert.jsx":"f6de26206dae","components/feedback/Banner.jsx":"610a45f96ecd","components/feedback/ContextMenu.jsx":"dfdde5683263","components/feedback/Drawer.jsx":"f19acf9e3a00","components/feedback/Menu.jsx":"6e92100d3d2b","components/feedback/Modal.jsx":"7c39e71ebcac","components/feedback/Stepper.jsx":"a0cb5b659998","components/feedback/Timeline.jsx":"2b8c0f37503e","components/feedback/_internal/service-utils.js":"6efa74b69776","components/feedback/message-box.js":"e79a70456849","components/feedback/message.js":"f81767053319","components/forms/Checkbox.jsx":"db9c8ff69653","components/forms/Combobox.jsx":"8ec375433182","components/forms/DatePicker.jsx":"e7366c603a9f","components/forms/Dropzone.jsx":"5432a672a429","components/forms/Field.jsx":"8e4649e1a18b","components/forms/GlobalSearch.jsx":"432c5899649a","components/forms/Input.jsx":"95922d854a24","components/forms/MultiSelect.jsx":"14636d36331b","components/forms/NumberStepper.jsx":"6e0c940000fe","components/forms/Radio.jsx":"96e36a9b1c79","components/forms/RelativeTimePicker.jsx":"23755d41a8c1","components/forms/SearchInput.jsx":"40dae28d378f","components/forms/Select.jsx":"870c20ebcd67","components/forms/Slider.jsx":"ebd21a287cc3","components/forms/Switch.jsx":"e1303512a946","components/forms/global-search.js":"10bbf84803dc","components/forms/input-base.js":"988c002d8357","components/forms/relative-time.js":"64155d3bcdcf","components/icons/Icon.jsx":"26135ed6632c","components/icons/Lucide.jsx":"42c8091d53f5","components/icons/Unicon.jsx":"03683a8eb3d3","components/icons/feather-paths.js":"f8ca847bbdf3","components/icons/icon-paths.js":"0a50d04574ee","components/icons/lucide-loader.js":"b2fe23ee92fc","components/index.js":"9a4e6fbbb25c","components/navigation/Breadcrumb.jsx":"26b271b8d1dd","components/navigation/DocTree.jsx":"02a7d753e159","components/navigation/SidePanel.jsx":"4691ef93e84e","components/navigation/Sidebar.jsx":"6ce469c00f26","components/navigation/TopBar.jsx":"0b9d74133402","components/navigation/Tree.jsx":"72ac15ee39e6","components/navigation/chrome-tones.js":"073b9df6aef5","components/navigation/nav-model.js":"e091dd62900c","components/navigation/theme-store.js":"c05c61fb0bd2","components/pipeline/ConfigPanel.jsx":"8cf8677f4472","components/pipeline/DataPreview.jsx":"7aaf081fcd16","components/pipeline/NodeCard.jsx":"357042c92033","components/pipeline/PalettePanel.jsx":"1d28f2d3abac","components/pipeline/PipelineCanvas.jsx":"09eb8b7d7f61","components/pipeline/ZoomControls.jsx":"7bd9fa5c4c9b","components/pipeline/pipeline-catalog.js":"9a3250315e88","components/pipeline/port-skin.js":"9bdd304628a6","components/px.js":"4ab7eb225e9d","components/tabs/SegmentedControl.jsx":"ae08c2ef8a1e","components/tabs/Tabs.jsx":"d92fbada1ef2","components/tabs/ViewToggle.jsx":"3a77b9900151","covers.js":"5207b155f561","site-nav.js":"b1085ddfd062","tokens/theme.js":"1848ef09eb46","tokens/tokens.js":"049947750936"},"inlinedExternals":[],"unexposedExports":[{"name":"aiSpinDelay","sourcePath":"components/buttons/ai-button.js"},{"name":"aiStyles","sourcePath":"components/buttons/ai-button.js"},{"name":"applyStoredTheme","sourcePath":"components/navigation/theme-store.js"},{"name":"arcPath","sourcePath":"components/charts/chart-geometry.js"},{"name":"areaPath","sourcePath":"components/charts/chart-geometry.js"},{"name":"changeRelativeAmount","sourcePath":"components/forms/relative-time.js"},{"name":"changeRelativeUnit","sourcePath":"components/forms/relative-time.js"},{"name":"chord","sourcePath":"components/charts/chart-geometry.js"},{"name":"chordRibbon","sourcePath":"components/charts/chart-geometry.js"},{"name":"chromeTone","sourcePath":"components/navigation/chrome-tones.js"},{"name":"closeToBaseline","sourcePath":"components/charts/chart-geometry.js"},{"name":"colName","sourcePath":"components/data/Spreadsheet.jsx"},{"name":"contentNode","sourcePath":"components/feedback/_internal/service-utils.js"},{"name":"cssVar","sourcePath":"tokens/tokens.js"},{"name":"cuboidFaces","sourcePath":"components/charts/chart-3d.js"},{"name":"curvePath","sourcePath":"components/charts/chart-geometry.js"},{"name":"dark","sourcePath":"tokens/tokens.js"},{"name":"dragRotate","sourcePath":"components/charts/chart-3d.js"},{"name":"extent","sourcePath":"components/charts/chart-geometry.js"},{"name":"faceDepth","sourcePath":"components/charts/chart-3d.js"},{"name":"facePath","sourcePath":"components/charts/chart-3d.js"},{"name":"fmtNum","sourcePath":"components/charts/chart-geometry.js"},{"name":"gsAiTile","sourcePath":"components/forms/global-search.js"},{"name":"gsFill","sourcePath":"components/forms/global-search.js"},{"name":"gsFilter","sourcePath":"components/forms/global-search.js"},{"name":"gsIsMac","sourcePath":"components/forms/global-search.js"},{"name":"gsLabels","sourcePath":"components/forms/global-search.js"},{"name":"gsMod","sourcePath":"components/forms/global-search.js"},{"name":"gsPos","sourcePath":"components/forms/global-search.js"},{"name":"gsReveal","sourcePath":"components/forms/global-search.js"},{"name":"gsRows","sourcePath":"components/forms/global-search.js"},{"name":"gsSplit","sourcePath":"components/forms/global-search.js"},{"name":"gsStyles","sourcePath":"components/forms/global-search.js"},{"name":"heatColor","sourcePath":"components/charts/chart-3d.js"},{"name":"heatStep","sourcePath":"components/charts/chart-geometry.js"},{"name":"iconGradientDefs","sourcePath":"components/icons/Icon.jsx"},{"name":"inputBase","sourcePath":"components/forms/input-base.js"},{"name":"light","sourcePath":"tokens/tokens.js"},{"name":"lightOf","sourcePath":"components/charts/chart-3d.js"},{"name":"linePath","sourcePath":"components/charts/chart-geometry.js"},{"name":"loadLucide","sourcePath":"components/icons/lucide-loader.js"},{"name":"lockBody","sourcePath":"components/feedback/_internal/service-utils.js"},{"name":"lucideBody","sourcePath":"components/icons/lucide-loader.js"},{"name":"lucideReady","sourcePath":"components/icons/lucide-loader.js"},{"name":"makeProj","sourcePath":"components/charts/chart-3d.js"},{"name":"mountService","sourcePath":"components/feedback/_internal/service-utils.js"},{"name":"niceTicks","sourcePath":"components/charts/chart-geometry.js"},{"name":"normalizeRelativeTime","sourcePath":"components/forms/relative-time.js"},{"name":"onLucideReady","sourcePath":"components/icons/lucide-loader.js"},{"name":"polar","sourcePath":"components/charts/chart-geometry.js"},{"name":"portSkin","sourcePath":"components/pipeline/port-skin.js"},{"name":"px","sourcePath":"components/px.js"},{"name":"quantize","sourcePath":"components/charts/chart-geometry.js"},{"name":"rampAiSpin","sourcePath":"components/buttons/ai-button.js"},{"name":"relativeTimePosition","sourcePath":"components/forms/relative-time.js"},{"name":"relativeTimeText","sourcePath":"components/forms/relative-time.js"},{"name":"relativeUnitLabel","sourcePath":"components/forms/relative-time.js"},{"name":"resolveRelativeTime","sourcePath":"components/forms/relative-time.js"},{"name":"resolveTarget","sourcePath":"components/feedback/_internal/service-utils.js"},{"name":"rotate3","sourcePath":"components/charts/chart-3d.js"},{"name":"sankey","sourcePath":"components/charts/chart-geometry.js"},{"name":"scaleLin","sourcePath":"components/charts/chart-geometry.js"},{"name":"seriesColor","sourcePath":"components/charts/chart-geometry.js"},{"name":"setLucideSource","sourcePath":"components/icons/lucide-loader.js"},{"name":"shade","sourcePath":"components/charts/chart-3d.js"},{"name":"shapePath","sourcePath":"components/charts/chart-geometry.js"},{"name":"stack","sourcePath":"components/charts/chart-geometry.js"},{"name":"stepPath","sourcePath":"components/charts/chart-geometry.js"},{"name":"summarize","sourcePath":"components/charts/BoxPlot.jsx"},{"name":"thinLabels","sourcePath":"components/charts/ChartKit.jsx"},{"name":"tokenNames","sourcePath":"tokens/tokens.js"},{"name":"treemap","sourcePath":"components/charts/chart-geometry.js"},{"name":"waterfall","sourcePath":"components/charts/chart-geometry.js"},{"name":"wrapStyle","sourcePath":"components/charts/ChartKit.jsx"}]} */
|
|
2
2
|
|
|
3
3
|
(() => {
|
|
4
4
|
|
|
@@ -15,6 +15,47 @@ try { (() => {
|
|
|
15
15
|
Each item: tag (new | improved | fixed | breaking | removed) and the text as [en, zh, ja].
|
|
16
16
|
INTEGRATION.md keeps the full migration notes; this list is the short, reader-facing summary. */
|
|
17
17
|
window.KB_CHANGELOG = [{
|
|
18
|
+
v: "2.7.0",
|
|
19
|
+
date: "2026-11-02",
|
|
20
|
+
items: [{
|
|
21
|
+
tag: "new",
|
|
22
|
+
t: ["<b>AI button</b> (<code>variant=\"ai\"</code>) for Prophet AI entry points: animated gradient ring, tint and glow on hover.", "<b>AI 按钮</b>(<code>variant=\"ai\"</code>),专用于方知入口:渐变描边缓慢流动,悬停时出现渐变底色和光晕。", "<b>AI ボタン</b>(<code>variant=\"ai\"</code>)を追加。Prophet AI の入口専用:グラデーションの枠が流れ、ホバーで色味と光彩が出る。"]
|
|
23
|
+
}, {
|
|
24
|
+
tag: "new",
|
|
25
|
+
t: ["<b>Global Search</b> in the top bar: ⌘K / Ctrl K, scopes, grouped results, Deep Search, and one step to hand a question to Prophet AI.", "顶栏新增<b>全局搜索</b>:⌘K / Ctrl K 唤起,支持范围切换、分组结果、深度搜索,并可一步把问题交给方知。", "トップバーに<b>グローバル検索</b>を追加:⌘K / Ctrl K で起動、スコープ切替、グループ化された結果、ディープサーチ、質問を Prophet AI へ引き継ぎ。"]
|
|
26
|
+
}, {
|
|
27
|
+
tag: "improved",
|
|
28
|
+
t: ["Top bar: the black “AI Assistant” pill is replaced by Global Search; existing props keep working.", "顶栏:黑色“AI Assistant”按钮由全局搜索取代,原有属性仍可使用。", "トップバー:黒い「AI Assistant」ボタンをグローバル検索に置き換え。既存の props はそのまま使える。"]
|
|
29
|
+
}, {
|
|
30
|
+
tag: "improved",
|
|
31
|
+
t: ["Keyboard shortcuts show ⌘ ⌥ ⇧ ↵ on Mac and Ctrl Alt Shift Enter on Windows automatically.", "快捷键提示自动区分系统:Mac 显示 ⌘ ⌥ ⇧ ↵,Windows 显示 Ctrl Alt Shift Enter。", "ショートカット表示を OS に合わせて自動切替:Mac は ⌘ ⌥ ⇧ ↵、Windows は Ctrl Alt Shift Enter。"]
|
|
32
|
+
}, {
|
|
33
|
+
tag: "improved",
|
|
34
|
+
t: ["Toasts are tinted by tone, so they stand out on any page.", "Toast 提示按类型着色,在任何页面上都更醒目。", "トーストを種類ごとに色付けし、どの画面でも目立つように。"]
|
|
35
|
+
}, {
|
|
36
|
+
tag: "improved",
|
|
37
|
+
t: ["React Button and Toast get the props Vue gained in 2.6.0 (trailing icon, native type, custom icon, close label).", "React 的 Button 和 Toast 补齐 2.6.0 中 Vue 新增的能力(尾部图标、原生按钮类型、自定义图标、关闭按钮文案)。", "React の Button と Toast に 2.6.0 で Vue に追加された機能(末尾アイコン、ボタン種別、カスタムアイコン、閉じるボタンのラベル)を追加。"]
|
|
38
|
+
}, {
|
|
39
|
+
tag: "new",
|
|
40
|
+
t: ["New <code>prophet-sparkle</code> icon; the AI sparkle icons are redrawn.", "新增 <code>prophet-sparkle</code> 图标,AI 星星图标重新绘制。", "<code>prophet-sparkle</code> アイコンを追加し、AI のきらめきアイコンを描き直し。"]
|
|
41
|
+
}, {
|
|
42
|
+
tag: "fixed",
|
|
43
|
+
t: ["Example cards are sized to their content, so the page no longer jumps while loading.", "示例卡片高度贴合内容,页面加载时不再跳动。", "例のカードを内容の高さに合わせ、読み込み中にページが跳ばないように。"]
|
|
44
|
+
}]
|
|
45
|
+
}, {
|
|
46
|
+
v: "2.6.0",
|
|
47
|
+
date: "2026-11-02",
|
|
48
|
+
items: [{
|
|
49
|
+
tag: "improved",
|
|
50
|
+
t: ["Vue Button now forwards native click events and supports component / VNode icons, icon / loading / trailing slots, trailing icons, native button types and aria-busy.", "Vue Button 补充原生点击事件、组件 / VNode 图标、icon / loading / trailing 插槽、独立尾部图标、原生按钮类型及 aria-busy。", "Vue Button がネイティブ click イベント、コンポーネント / VNode アイコン、icon / loading / trailing スロット、末尾アイコン、ボタン種別と aria-busy に対応。"]
|
|
51
|
+
}, {
|
|
52
|
+
tag: "new",
|
|
53
|
+
t: ["Vue Message service: timed and grouped Toast notifications, stacking, close handles, VNode content and app context.", "Vue 新增 Message 服务:支持自动关闭、消息分组与堆叠、关闭句柄、VNode 内容及应用上下文。", "Vue Message サービスを追加:自動終了、グループ化、スタック、終了ハンドル、VNode とアプリコンテキストに対応。"]
|
|
54
|
+
}, {
|
|
55
|
+
tag: "new",
|
|
56
|
+
t: ["Vue MessageBox service: alert / confirm / prompt, queued dialogs, validation, beforeClose, focus management and configurable labels. See the migration guide for compatibility limits.", "Vue 新增 MessageBox 服务:支持 alert / confirm / prompt、弹窗队列、输入校验、beforeClose、焦点管理及可配置文案;兼容边界见迁移说明。", "Vue MessageBox サービスを追加:alert / confirm / prompt、キュー、入力検証、beforeClose、フォーカス管理とラベル設定。互換性の制限は移行ガイドを参照。"]
|
|
57
|
+
}]
|
|
58
|
+
}, {
|
|
18
59
|
v: "2.5.1",
|
|
19
60
|
date: "2026-10-30",
|
|
20
61
|
items: [{
|
|
@@ -609,6 +650,154 @@ function ActionChip({
|
|
|
609
650
|
Object.assign(__ds_scope, { ActionChip });
|
|
610
651
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/buttons/ActionChip.jsx", error: String((e && e.message) || e) }); }
|
|
611
652
|
|
|
653
|
+
// components/buttons/ai-button.js
|
|
654
|
+
try { (() => {
|
|
655
|
+
/* Button variant="ai" — the Prophet AI (方知) entry treatment, shared by Button.jsx and Button.vue.
|
|
656
|
+
Same outer box as every Button at the tier (height, radius, padding); the 1px border is replaced by a 1px ring:
|
|
657
|
+
at rest a gradient comet travels round a neutral track; on hover the full ring, an 8% gradient tint, a soft glow and a
|
|
658
|
+
gradient icon fade in and the ring speeds up. Tokens: tokens/ai.css. One CSS animation (kb-ai-spin) drives the angle;
|
|
659
|
+
hover speed is ramped with Animation.playbackRate, so the angle never jumps. */
|
|
660
|
+
/* The animated angle needs a registered <angle> property and a keyframe on it — injected once, so the token files stay plain. */
|
|
661
|
+
if (typeof document !== "undefined" && !document.querySelector("style[data-kb-ai]")) {
|
|
662
|
+
const el = document.createElement("style");
|
|
663
|
+
el.setAttribute("data-kb-ai", "");
|
|
664
|
+
el.textContent = "@property --kb-ai-angle{syntax:'<angle>';inherits:true;initial-value:0deg}@keyframes kb-ai-spin{to{--kb-ai-angle:360deg}}";
|
|
665
|
+
document.head.appendChild(el);
|
|
666
|
+
}
|
|
667
|
+
const FADE = "opacity 300ms var(--ease-out)";
|
|
668
|
+
const FULL = "conic-gradient(from var(--kb-ai-angle), var(--ai-gradient-stops))";
|
|
669
|
+
const COMET = "conic-gradient(from var(--kb-ai-angle), var(--ai-ring-rest-track) 0 50%, var(--ai-gradient-start) 78%, var(--ai-gradient-end) 100%)";
|
|
670
|
+
const layer = {
|
|
671
|
+
position: "absolute",
|
|
672
|
+
inset: "0",
|
|
673
|
+
borderRadius: "inherit",
|
|
674
|
+
pointerEvents: "none",
|
|
675
|
+
transition: FADE
|
|
676
|
+
};
|
|
677
|
+
|
|
678
|
+
/** A random phase per instance, so neighbouring rings never move in lockstep. */
|
|
679
|
+
const aiSpinDelay = () => "-" + (Math.random() * 5).toFixed(2) + "s";
|
|
680
|
+
|
|
681
|
+
/** on = hovered (and not busy). Lengths are strings so the same objects work in React and Vue. */
|
|
682
|
+
function aiStyles({
|
|
683
|
+
on,
|
|
684
|
+
press,
|
|
685
|
+
busy,
|
|
686
|
+
focused,
|
|
687
|
+
medium,
|
|
688
|
+
fullWidth,
|
|
689
|
+
iconOnly,
|
|
690
|
+
delay,
|
|
691
|
+
style
|
|
692
|
+
}) {
|
|
693
|
+
const tint = press ? "var(--ai-tint-press)" : "var(--ai-tint)";
|
|
694
|
+
return {
|
|
695
|
+
outer: {
|
|
696
|
+
position: "relative",
|
|
697
|
+
isolation: "isolate",
|
|
698
|
+
display: fullWidth ? "flex" : "inline-flex",
|
|
699
|
+
alignItems: "stretch",
|
|
700
|
+
width: fullWidth ? "100%" : iconOnly ? "var(--control-h)" : undefined,
|
|
701
|
+
height: "var(--control-h)",
|
|
702
|
+
padding: "var(--ai-ring-width)",
|
|
703
|
+
border: "none",
|
|
704
|
+
borderRadius: "var(--radius-md)",
|
|
705
|
+
boxSizing: "border-box",
|
|
706
|
+
background: COMET,
|
|
707
|
+
animation: "kb-ai-spin var(--ai-spin-rest) linear " + delay + " infinite",
|
|
708
|
+
cursor: busy ? "default" : "pointer",
|
|
709
|
+
opacity: busy ? .55 : undefined,
|
|
710
|
+
boxShadow: focused && !busy ? "var(--ring-focus)" : undefined,
|
|
711
|
+
fontFamily: "var(--font-sans)",
|
|
712
|
+
fontWeight: medium ? "var(--weight-medium)" : "var(--weight-regular)",
|
|
713
|
+
fontSize: "var(--control-text)",
|
|
714
|
+
lineHeight: "var(--control-leading)",
|
|
715
|
+
letterSpacing: "var(--control-tracking)",
|
|
716
|
+
color: "var(--text-body)",
|
|
717
|
+
whiteSpace: "nowrap",
|
|
718
|
+
verticalAlign: "middle",
|
|
719
|
+
...style
|
|
720
|
+
},
|
|
721
|
+
glow: {
|
|
722
|
+
...layer,
|
|
723
|
+
zIndex: "-1",
|
|
724
|
+
background: FULL,
|
|
725
|
+
filter: "blur(var(--ai-glow-blur))",
|
|
726
|
+
opacity: on ? "var(--ai-glow-opacity)" : "0"
|
|
727
|
+
},
|
|
728
|
+
ring: {
|
|
729
|
+
...layer,
|
|
730
|
+
background: FULL,
|
|
731
|
+
opacity: on ? "1" : "0"
|
|
732
|
+
},
|
|
733
|
+
surface: {
|
|
734
|
+
position: "relative",
|
|
735
|
+
flex: "1 1 auto",
|
|
736
|
+
display: "flex",
|
|
737
|
+
alignItems: "center",
|
|
738
|
+
justifyContent: "center",
|
|
739
|
+
gap: iconOnly ? "0" : "6px",
|
|
740
|
+
padding: iconOnly ? "0" : "0 calc(var(--control-px) - var(--ai-ring-width))",
|
|
741
|
+
borderRadius: "calc(var(--radius-md) - var(--ai-ring-width))",
|
|
742
|
+
background: "var(--bg-surface)",
|
|
743
|
+
overflow: "hidden"
|
|
744
|
+
},
|
|
745
|
+
tint: {
|
|
746
|
+
...layer,
|
|
747
|
+
background: "linear-gradient(90deg, color-mix(in srgb, var(--ai-gradient-start) " + tint + ", transparent), color-mix(in srgb, var(--ai-gradient-end) " + tint + ", transparent))",
|
|
748
|
+
opacity: on || press ? "1" : "0"
|
|
749
|
+
},
|
|
750
|
+
iconBox: {
|
|
751
|
+
position: "relative",
|
|
752
|
+
display: "inline-flex",
|
|
753
|
+
flexShrink: "0"
|
|
754
|
+
},
|
|
755
|
+
iconRest: {
|
|
756
|
+
transition: FADE,
|
|
757
|
+
opacity: on ? "0" : "1"
|
|
758
|
+
},
|
|
759
|
+
iconGrad: {
|
|
760
|
+
position: "absolute",
|
|
761
|
+
inset: "0",
|
|
762
|
+
transition: FADE,
|
|
763
|
+
opacity: on ? "1" : "0"
|
|
764
|
+
},
|
|
765
|
+
label: {
|
|
766
|
+
position: "relative"
|
|
767
|
+
}
|
|
768
|
+
};
|
|
769
|
+
}
|
|
770
|
+
const secs = (v, d) => {
|
|
771
|
+
v = (v || "").trim();
|
|
772
|
+
const n = parseFloat(v);
|
|
773
|
+
return isNaN(n) ? d : /ms$/.test(v) ? n / 1000 : n;
|
|
774
|
+
};
|
|
775
|
+
/** Ease the ring's speed toward rest (fast=false) or hover (fast=true). Returns a cancel function. */
|
|
776
|
+
function rampAiSpin(el, fast) {
|
|
777
|
+
if (!el || !el.getAnimations || typeof matchMedia === "function" && matchMedia("(prefers-reduced-motion: reduce)").matches) return () => {};
|
|
778
|
+
const anim = el.getAnimations().find(a => a.animationName === "kb-ai-spin");
|
|
779
|
+
if (!anim) return () => {};
|
|
780
|
+
const cs = getComputedStyle(el);
|
|
781
|
+
const target = fast ? secs(cs.getPropertyValue("--ai-spin-rest"), 5) / secs(cs.getPropertyValue("--ai-spin-hover"), 1.2) : 1;
|
|
782
|
+
let raf = 0,
|
|
783
|
+
last = performance.now();
|
|
784
|
+
const step = t => {
|
|
785
|
+
const dt = Math.min(0.05, (t - last) / 1000);
|
|
786
|
+
last = t;
|
|
787
|
+
const r = anim.playbackRate + (target - anim.playbackRate) * Math.min(1, dt * 5);
|
|
788
|
+
if (Math.abs(target - r) < 0.01) {
|
|
789
|
+
anim.playbackRate = target;
|
|
790
|
+
return;
|
|
791
|
+
}
|
|
792
|
+
anim.playbackRate = r;
|
|
793
|
+
raf = requestAnimationFrame(step);
|
|
794
|
+
};
|
|
795
|
+
raf = requestAnimationFrame(step);
|
|
796
|
+
return () => cancelAnimationFrame(raf);
|
|
797
|
+
}
|
|
798
|
+
Object.assign(__ds_scope, { aiSpinDelay, aiStyles, rampAiSpin });
|
|
799
|
+
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/buttons/ai-button.js", error: String((e && e.message) || e) }); }
|
|
800
|
+
|
|
612
801
|
// components/charts/chart-3d.js
|
|
613
802
|
try { (() => {
|
|
614
803
|
// Shared 3D chart math: yaw/pitch rotation, orthographic projection, depth sorting,
|
|
@@ -5979,11 +6168,30 @@ Object.assign(__ds_scope, { Divider });
|
|
|
5979
6168
|
|
|
5980
6169
|
// components/display/Kbd.jsx
|
|
5981
6170
|
try { (() => {
|
|
5982
|
-
|
|
6171
|
+
const KBD_MAP = {
|
|
6172
|
+
mod: ["⌘", "Ctrl"],
|
|
6173
|
+
cmd: ["⌘", "Ctrl"],
|
|
6174
|
+
ctrl: ["⌃", "Ctrl"],
|
|
6175
|
+
alt: ["⌥", "Alt"],
|
|
6176
|
+
opt: ["⌥", "Alt"],
|
|
6177
|
+
shift: ["⇧", "Shift"],
|
|
6178
|
+
enter: ["⏎", "Enter"],
|
|
6179
|
+
backspace: ["⌫", "Backspace"],
|
|
6180
|
+
esc: ["Esc", "Esc"]
|
|
6181
|
+
};
|
|
6182
|
+
const isMacPlatform = () => typeof navigator !== "undefined" && /mac|iphone|ipad|ipod/i.test(navigator.userAgentData && navigator.userAgentData.platform || navigator.platform || navigator.userAgent || "");
|
|
6183
|
+
const resolveKbd = (k, mac) => {
|
|
6184
|
+
const m = KBD_MAP[String(k).toLowerCase()];
|
|
6185
|
+
return m ? m[mac ? 0 : 1] : k;
|
|
6186
|
+
};
|
|
6187
|
+
|
|
6188
|
+
/** Keyboard shortcut hint. Use semantic keys so it adapts per OS: <Kbd keys={["mod","K"]}/> → ⌘ K on macOS, Ctrl K on Windows/Linux. Literal labels ("⌘", "F5") pass through unchanged. platform: "auto" (default) | "mac" | "win". */
|
|
5983
6189
|
function Kbd({
|
|
5984
6190
|
keys = [],
|
|
6191
|
+
platform = "auto",
|
|
5985
6192
|
style
|
|
5986
6193
|
}) {
|
|
6194
|
+
const mac = platform === "auto" ? isMacPlatform() : platform === "mac";
|
|
5987
6195
|
return /*#__PURE__*/React.createElement("span", {
|
|
5988
6196
|
style: {
|
|
5989
6197
|
display: "inline-flex",
|
|
@@ -6008,7 +6216,7 @@ function Kbd({
|
|
|
6008
6216
|
fontSize: "var(--text-xs)",
|
|
6009
6217
|
color: "var(--text-secondary)"
|
|
6010
6218
|
}
|
|
6011
|
-
}, k)));
|
|
6219
|
+
}, resolveKbd(k, mac))));
|
|
6012
6220
|
}
|
|
6013
6221
|
Object.assign(__ds_scope, { Kbd });
|
|
6014
6222
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/display/Kbd.jsx", error: String((e && e.message) || e) }); }
|
|
@@ -6214,6 +6422,270 @@ function MiniBars({
|
|
|
6214
6422
|
Object.assign(__ds_scope, { ProgressBar, Donut, AreaChart, MiniBars });
|
|
6215
6423
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/display/ProgressBar.jsx", error: String((e && e.message) || e) }); }
|
|
6216
6424
|
|
|
6425
|
+
// components/feedback/_internal/service-utils.js
|
|
6426
|
+
try { (() => {
|
|
6427
|
+
// 默认按文本渲染,只有调用方显式开启时才渲染可信 HTML。
|
|
6428
|
+
function contentNode(message, html = false) {
|
|
6429
|
+
const value = typeof message === 'function' ? message() : message;
|
|
6430
|
+
if (isVNode(value) || Array.isArray(value)) return value;
|
|
6431
|
+
return html ? h('span', {
|
|
6432
|
+
innerHTML: String(value ?? '')
|
|
6433
|
+
}) : String(value ?? '');
|
|
6434
|
+
}
|
|
6435
|
+
function resolveTarget(options = {}) {
|
|
6436
|
+
const target = typeof options.appendTo === 'string' ? document.querySelector(options.appendTo) : options.appendTo || document.body;
|
|
6437
|
+
if (!target) throw new Error('Keybricks: appendTo 未找到挂载目标');
|
|
6438
|
+
return target;
|
|
6439
|
+
}
|
|
6440
|
+
function mountService(component, props, options = {}, appContext) {
|
|
6441
|
+
const target = resolveTarget(options);
|
|
6442
|
+
const container = document.createElement('div');
|
|
6443
|
+
const vnode = h(component, props);
|
|
6444
|
+
vnode.appContext = appContext || null;
|
|
6445
|
+
target.appendChild(container);
|
|
6446
|
+
try {
|
|
6447
|
+
render(vnode, container);
|
|
6448
|
+
} catch (error) {
|
|
6449
|
+
render(null, container);
|
|
6450
|
+
container.remove();
|
|
6451
|
+
throw error;
|
|
6452
|
+
}
|
|
6453
|
+
return () => {
|
|
6454
|
+
render(null, container);
|
|
6455
|
+
container.remove();
|
|
6456
|
+
};
|
|
6457
|
+
}
|
|
6458
|
+
let locks = 0;
|
|
6459
|
+
let previousOverflow;
|
|
6460
|
+
function lockBody() {
|
|
6461
|
+
if (locks++ === 0) {
|
|
6462
|
+
previousOverflow = document.body.style.overflow;
|
|
6463
|
+
document.body.style.overflow = 'hidden';
|
|
6464
|
+
}
|
|
6465
|
+
return () => {
|
|
6466
|
+
if (--locks === 0) document.body.style.overflow = previousOverflow;
|
|
6467
|
+
};
|
|
6468
|
+
}
|
|
6469
|
+
Object.assign(__ds_scope, { contentNode, resolveTarget, mountService, lockBody });
|
|
6470
|
+
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/_internal/service-utils.js", error: String((e && e.message) || e) }); }
|
|
6471
|
+
|
|
6472
|
+
__ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls$jzzomx = __ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls !== undefined ? __ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls : __ds_scope.MessageBoxView;
|
|
6473
|
+
|
|
6474
|
+
// components/feedback/message-box.js
|
|
6475
|
+
try { (() => {
|
|
6476
|
+
const queue = [];
|
|
6477
|
+
let active;
|
|
6478
|
+
let seed = 0;
|
|
6479
|
+
function next() {
|
|
6480
|
+
if (active || !queue.length) return;
|
|
6481
|
+
const entry = active = queue.shift();
|
|
6482
|
+
try {
|
|
6483
|
+
entry.dispose = __ds_scope.mountService(__ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls$jzzomx, {
|
|
6484
|
+
options: entry.state,
|
|
6485
|
+
onAction: action => requestAction(entry, action)
|
|
6486
|
+
}, entry.state, entry.context);
|
|
6487
|
+
} catch (error) {
|
|
6488
|
+
active = undefined;
|
|
6489
|
+
entry.reject(error);
|
|
6490
|
+
next();
|
|
6491
|
+
}
|
|
6492
|
+
}
|
|
6493
|
+
function finish(entry, action) {
|
|
6494
|
+
if (active !== entry || entry.closed) return;
|
|
6495
|
+
entry.closed = true;
|
|
6496
|
+
entry.dispose?.();
|
|
6497
|
+
active = undefined;
|
|
6498
|
+
const result = entry.state.showInput ? {
|
|
6499
|
+
value: entry.state.inputValue,
|
|
6500
|
+
action
|
|
6501
|
+
} : action;
|
|
6502
|
+
try {
|
|
6503
|
+
if (entry.state.callback) entry.state.callback(result, entry.state);else if (action === 'confirm') entry.resolve(result);else entry.reject(action === 'close' && !entry.state.distinguishCancelAndClose ? 'cancel' : action);
|
|
6504
|
+
} finally {
|
|
6505
|
+
next();
|
|
6506
|
+
}
|
|
6507
|
+
}
|
|
6508
|
+
function requestAction(entry, action) {
|
|
6509
|
+
if (entry.closed || active !== entry) return;
|
|
6510
|
+
entry.state.action = action;
|
|
6511
|
+
const done = () => finish(entry, action);
|
|
6512
|
+
if (entry.state.beforeClose) entry.state.beforeClose(action, entry.state, done);else done();
|
|
6513
|
+
}
|
|
6514
|
+
|
|
6515
|
+
/** Vue 弹窗服务;队列内同一时刻只显示一个确认框。 */
|
|
6516
|
+
function MessageBox(value = {}, appContext) {
|
|
6517
|
+
if (typeof document === 'undefined') return Promise.reject(new Error('Keybricks MessageBox 需要浏览器环境'));
|
|
6518
|
+
const options = typeof value === 'string' || typeof value === 'function' || isVNode(value) ? {
|
|
6519
|
+
message: value
|
|
6520
|
+
} : value;
|
|
6521
|
+
const state = reactive({
|
|
6522
|
+
id: `kb-message-box-${++seed}`,
|
|
6523
|
+
title: '',
|
|
6524
|
+
message: '',
|
|
6525
|
+
type: '',
|
|
6526
|
+
showClose: true,
|
|
6527
|
+
showConfirmButton: true,
|
|
6528
|
+
showCancelButton: false,
|
|
6529
|
+
closeOnClickModal: true,
|
|
6530
|
+
closeOnPressEscape: true,
|
|
6531
|
+
lockScroll: true,
|
|
6532
|
+
autofocus: true,
|
|
6533
|
+
inputValue: '',
|
|
6534
|
+
inputType: 'text',
|
|
6535
|
+
inputErrorMessage: '',
|
|
6536
|
+
confirmButtonLoading: false,
|
|
6537
|
+
cancelButtonLoading: false,
|
|
6538
|
+
confirmButtonDisabled: false,
|
|
6539
|
+
cancelButtonDisabled: false,
|
|
6540
|
+
...MessageBox.defaults,
|
|
6541
|
+
...options
|
|
6542
|
+
});
|
|
6543
|
+
return new Promise((resolve, reject) => {
|
|
6544
|
+
queue.push({
|
|
6545
|
+
state,
|
|
6546
|
+
resolve,
|
|
6547
|
+
reject,
|
|
6548
|
+
context: appContext || getCurrentInstance()?.appContext
|
|
6549
|
+
});
|
|
6550
|
+
next();
|
|
6551
|
+
});
|
|
6552
|
+
}
|
|
6553
|
+
for (const kind of ['alert', 'confirm', 'prompt']) {
|
|
6554
|
+
MessageBox[kind] = (message, title, options, appContext) => {
|
|
6555
|
+
if (title && typeof title === 'object' && !isVNode(title)) {
|
|
6556
|
+
appContext = options;
|
|
6557
|
+
options = title;
|
|
6558
|
+
title = undefined;
|
|
6559
|
+
}
|
|
6560
|
+
return MessageBox({
|
|
6561
|
+
boxType: kind,
|
|
6562
|
+
showCancelButton: kind !== 'alert',
|
|
6563
|
+
showInput: kind === 'prompt',
|
|
6564
|
+
closeOnClickModal: kind !== 'alert',
|
|
6565
|
+
closeOnPressEscape: kind !== 'alert',
|
|
6566
|
+
...options,
|
|
6567
|
+
message,
|
|
6568
|
+
...(title === undefined ? {} : {
|
|
6569
|
+
title
|
|
6570
|
+
})
|
|
6571
|
+
}, appContext);
|
|
6572
|
+
};
|
|
6573
|
+
}
|
|
6574
|
+
|
|
6575
|
+
// 与 ElMessageBox.close 一致:清空所有弹窗,不触发用户操作回调或结算 Promise。
|
|
6576
|
+
MessageBox.close = () => {
|
|
6577
|
+
queue.length = 0;
|
|
6578
|
+
if (active) {
|
|
6579
|
+
const entry = active;
|
|
6580
|
+
active = undefined;
|
|
6581
|
+
entry.closed = true;
|
|
6582
|
+
entry.dispose?.();
|
|
6583
|
+
}
|
|
6584
|
+
};
|
|
6585
|
+
MessageBox.defaults = {};
|
|
6586
|
+
Object.assign(__ds_scope, { MessageBox, __ds_default_components_feedback_message_box_wroo95: MessageBox });
|
|
6587
|
+
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/message-box.js", error: String((e && e.message) || e) }); }
|
|
6588
|
+
|
|
6589
|
+
__ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev$1qk09ay = __ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev !== undefined ? __ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev : __ds_scope.MessageView;
|
|
6590
|
+
|
|
6591
|
+
// components/feedback/message.js
|
|
6592
|
+
try { (() => {
|
|
6593
|
+
const instances = [];
|
|
6594
|
+
let seed = 0;
|
|
6595
|
+
const normalize = value => typeof value === 'string' || typeof value === 'function' || isVNode(value) ? {
|
|
6596
|
+
message: value
|
|
6597
|
+
} : {
|
|
6598
|
+
...value
|
|
6599
|
+
};
|
|
6600
|
+
|
|
6601
|
+
/** Vue 消息服务;样式由 Toast 提供,业务错误脱敏仍由应用处理。 */
|
|
6602
|
+
function Message(value = {}, appContext) {
|
|
6603
|
+
if (typeof document === 'undefined') return {
|
|
6604
|
+
close() {}
|
|
6605
|
+
};
|
|
6606
|
+
const options = {
|
|
6607
|
+
type: 'info',
|
|
6608
|
+
duration: 3000,
|
|
6609
|
+
offset: 16,
|
|
6610
|
+
...Message.defaults,
|
|
6611
|
+
...normalize(value)
|
|
6612
|
+
};
|
|
6613
|
+
const target = __ds_scope.resolveTarget(options);
|
|
6614
|
+
if (options.grouping) {
|
|
6615
|
+
const existing = instances.find(item => item.target === target && item.options.message === options.message);
|
|
6616
|
+
if (existing) {
|
|
6617
|
+
existing.options.repeatNum++;
|
|
6618
|
+
existing.options.type = options.type;
|
|
6619
|
+
existing.options.restart++;
|
|
6620
|
+
return existing.handle;
|
|
6621
|
+
}
|
|
6622
|
+
}
|
|
6623
|
+
const state = reactive({
|
|
6624
|
+
...options,
|
|
6625
|
+
id: `kb-message-${++seed}`,
|
|
6626
|
+
repeatNum: 1,
|
|
6627
|
+
restart: 0,
|
|
6628
|
+
height: 0,
|
|
6629
|
+
top: options.offset
|
|
6630
|
+
});
|
|
6631
|
+
let dispose;
|
|
6632
|
+
let closed = false;
|
|
6633
|
+
const handle = {
|
|
6634
|
+
close() {
|
|
6635
|
+
if (closed) return;
|
|
6636
|
+
closed = true;
|
|
6637
|
+
instances.splice(instances.indexOf(entry), 1);
|
|
6638
|
+
dispose?.();
|
|
6639
|
+
reflow();
|
|
6640
|
+
options.onClose?.(handle);
|
|
6641
|
+
}
|
|
6642
|
+
};
|
|
6643
|
+
const entry = {
|
|
6644
|
+
options: state,
|
|
6645
|
+
handle,
|
|
6646
|
+
target
|
|
6647
|
+
};
|
|
6648
|
+
function reflow() {
|
|
6649
|
+
const tops = new Map();
|
|
6650
|
+
for (const item of instances) {
|
|
6651
|
+
const target = item.target;
|
|
6652
|
+
item.options.top = Math.max(Number(item.options.offset) || 0, tops.get(target) || 0);
|
|
6653
|
+
tops.set(target, item.options.top + item.options.height + 16);
|
|
6654
|
+
}
|
|
6655
|
+
}
|
|
6656
|
+
instances.push(entry);
|
|
6657
|
+
try {
|
|
6658
|
+
dispose = __ds_scope.mountService(__ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev$1qk09ay, {
|
|
6659
|
+
options: state,
|
|
6660
|
+
onClose: handle.close,
|
|
6661
|
+
onHeight: height => {
|
|
6662
|
+
state.height = height;
|
|
6663
|
+
reflow();
|
|
6664
|
+
}
|
|
6665
|
+
}, options, appContext || getCurrentInstance()?.appContext);
|
|
6666
|
+
} catch (error) {
|
|
6667
|
+
instances.splice(instances.indexOf(entry), 1);
|
|
6668
|
+
reflow();
|
|
6669
|
+
throw error;
|
|
6670
|
+
}
|
|
6671
|
+
reflow();
|
|
6672
|
+
return handle;
|
|
6673
|
+
}
|
|
6674
|
+
for (const type of ['success', 'info', 'warning', 'error']) {
|
|
6675
|
+
Message[type] = (value, appContext) => Message({
|
|
6676
|
+
...normalize(value),
|
|
6677
|
+
type
|
|
6678
|
+
}, appContext);
|
|
6679
|
+
}
|
|
6680
|
+
Message.closeAll = type => {
|
|
6681
|
+
for (const entry of [...instances]) {
|
|
6682
|
+
if (!type || entry.options.type === type) entry.handle.close();
|
|
6683
|
+
}
|
|
6684
|
+
};
|
|
6685
|
+
Message.defaults = {};
|
|
6686
|
+
Object.assign(__ds_scope, { Message, __ds_default_components_feedback_message_gqn72r: Message });
|
|
6687
|
+
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/feedback/message.js", error: String((e && e.message) || e) }); }
|
|
6688
|
+
|
|
6217
6689
|
// components/forms/Field.jsx
|
|
6218
6690
|
try { (() => {
|
|
6219
6691
|
/** Form field wrapper: label (tier control text, weight 500; red + * when required) above the control, optional hint/error below. `size` sets the tier for the whole field; `inline` puts the label beside the control for filter bars. */
|
|
@@ -6393,6 +6865,651 @@ function Slider({
|
|
|
6393
6865
|
Object.assign(__ds_scope, { Slider });
|
|
6394
6866
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/Slider.jsx", error: String((e && e.message) || e) }); }
|
|
6395
6867
|
|
|
6868
|
+
// components/forms/global-search.js
|
|
6869
|
+
try { (() => {
|
|
6870
|
+
/* GlobalSearch — shared by GlobalSearch.jsx and GlobalSearch.vue: copy, matching, grouping, row model and styles.
|
|
6871
|
+
Lengths are strings so the same style objects work in React and Vue. */
|
|
6872
|
+
// registers --kb-ai-angle + kb-ai-spin for the Prophet AI tile
|
|
6873
|
+
|
|
6874
|
+
const GLOBAL_SEARCH_LABELS = {
|
|
6875
|
+
en: {
|
|
6876
|
+
field: "Search features, documents, or ask Prophet AI",
|
|
6877
|
+
input: "Search features, documents, data, or ask a question",
|
|
6878
|
+
ask: "Ask Prophet AI",
|
|
6879
|
+
clear: "Clear",
|
|
6880
|
+
scopes: ["All", "Features", "Documents", "Data", "Actions"],
|
|
6881
|
+
groups: {
|
|
6882
|
+
feature: "Features",
|
|
6883
|
+
document: "Documents",
|
|
6884
|
+
member: "Dimension Members",
|
|
6885
|
+
action: "Actions"
|
|
6886
|
+
},
|
|
6887
|
+
recentSearches: "Recent Searches",
|
|
6888
|
+
recent: "Recent",
|
|
6889
|
+
prompts: "Try Asking Prophet AI",
|
|
6890
|
+
viewAll: "View all {n}",
|
|
6891
|
+
results: "{n} results",
|
|
6892
|
+
searching: "Searching…",
|
|
6893
|
+
noResults: "No matches. Ask Prophet AI or try Deep Search.",
|
|
6894
|
+
askRow: "Ask Prophet AI: “{q}”",
|
|
6895
|
+
askSub: "Answers from documents, models and data you can access",
|
|
6896
|
+
deepRow: "Deep Search “{q}”",
|
|
6897
|
+
deepSub: "Multi-step search across document text, model data and logs you can access · about 1 min",
|
|
6898
|
+
deepTitle: "Deep Search: {q}",
|
|
6899
|
+
running: "Running · about 1 min",
|
|
6900
|
+
doneStatus: "Done · {t} · {n} citations",
|
|
6901
|
+
stepsDone: "Completed {n} steps",
|
|
6902
|
+
stepOf: "Step {i} of {n}",
|
|
6903
|
+
conclusion: "Conclusion",
|
|
6904
|
+
openReport: "Open Full Report",
|
|
6905
|
+
followUp: "Ask Follow-up",
|
|
6906
|
+
select: "Select",
|
|
6907
|
+
close: "Close / Back",
|
|
6908
|
+
privacy: "Reads only content you can access"
|
|
6909
|
+
},
|
|
6910
|
+
zh: {
|
|
6911
|
+
field: "搜索功能、文档,或问方知",
|
|
6912
|
+
input: "搜索功能、文档、数据,或直接提问",
|
|
6913
|
+
ask: "问方知",
|
|
6914
|
+
clear: "清除",
|
|
6915
|
+
scopes: ["全部", "功能", "文档", "数据", "操作"],
|
|
6916
|
+
groups: {
|
|
6917
|
+
feature: "功能",
|
|
6918
|
+
document: "文档",
|
|
6919
|
+
member: "维度成员",
|
|
6920
|
+
action: "操作"
|
|
6921
|
+
},
|
|
6922
|
+
recentSearches: "最近搜索",
|
|
6923
|
+
recent: "最近访问",
|
|
6924
|
+
prompts: "试试问方知",
|
|
6925
|
+
viewAll: "查看全部 {n}",
|
|
6926
|
+
results: "{n} 个结果",
|
|
6927
|
+
searching: "正在搜索…",
|
|
6928
|
+
noResults: "没有匹配的结果,可以问方知或使用深度搜索。",
|
|
6929
|
+
askRow: "问方知:“{q}”",
|
|
6930
|
+
askSub: "基于你有权限的文档、模型和数据作答",
|
|
6931
|
+
deepRow: "深度搜索“{q}”",
|
|
6932
|
+
deepSub: "在你有权限的文档正文、模型数据和日志中多步检索 · 约 1 分钟",
|
|
6933
|
+
deepTitle: "深度搜索:{q}",
|
|
6934
|
+
running: "进行中 · 约 1 分钟",
|
|
6935
|
+
doneStatus: "已完成 · {t} · {n} 条引用",
|
|
6936
|
+
stepsDone: "已完成 {n} 个步骤",
|
|
6937
|
+
stepOf: "第 {i} / {n} 步",
|
|
6938
|
+
conclusion: "结论",
|
|
6939
|
+
openReport: "打开完整报告",
|
|
6940
|
+
followUp: "就此追问",
|
|
6941
|
+
select: "选择",
|
|
6942
|
+
close: "关闭 / 返回",
|
|
6943
|
+
privacy: "仅读取你有权限的内容"
|
|
6944
|
+
}
|
|
6945
|
+
};
|
|
6946
|
+
const GS_KINDS = ["feature", "document", "member", "action"];
|
|
6947
|
+
const LIMITS = {
|
|
6948
|
+
feature: 4,
|
|
6949
|
+
document: 5,
|
|
6950
|
+
member: 3,
|
|
6951
|
+
action: 2
|
|
6952
|
+
};
|
|
6953
|
+
const GS_ICONS = {
|
|
6954
|
+
feature: "layout-grid",
|
|
6955
|
+
document: "file-text",
|
|
6956
|
+
member: "database",
|
|
6957
|
+
action: "zap"
|
|
6958
|
+
};
|
|
6959
|
+
const gsLabels = labels => ({
|
|
6960
|
+
...GLOBAL_SEARCH_LABELS.en,
|
|
6961
|
+
...labels,
|
|
6962
|
+
groups: {
|
|
6963
|
+
...GLOBAL_SEARCH_LABELS.en.groups,
|
|
6964
|
+
...(labels && labels.groups)
|
|
6965
|
+
}
|
|
6966
|
+
});
|
|
6967
|
+
const gsFill = (s, vars) => String(s).replace(/\{(\w+)\}/g, (_, k) => vars[k] != null ? vars[k] : "");
|
|
6968
|
+
const gsIsMac = () => typeof navigator !== "undefined" && /mac|iphone|ipad|ipod/i.test(navigator.userAgentData && navigator.userAgentData.platform || navigator.platform || navigator.userAgent || "");
|
|
6969
|
+
/** The OS's command modifier: ⌘ on macOS, Ctrl elsewhere. */
|
|
6970
|
+
const gsMod = (e, mac) => (mac ? e.metaKey : e.ctrlKey) && !e.altKey;
|
|
6971
|
+
|
|
6972
|
+
/** Case-insensitive substring on the title, falling back to keywords (path, kind, owner …). */
|
|
6973
|
+
function gsFilter(items, term) {
|
|
6974
|
+
const n = term.trim().toLowerCase();
|
|
6975
|
+
if (!n) return [];
|
|
6976
|
+
return items.filter(it => String(it.title).toLowerCase().includes(n) || (it.keywords || []).some(k => String(k).toLowerCase().includes(n)));
|
|
6977
|
+
}
|
|
6978
|
+
/** [before, match, after] for highlighting the matched substring of a title. */
|
|
6979
|
+
function gsSplit(title, term) {
|
|
6980
|
+
const t = String(title),
|
|
6981
|
+
n = (term || "").trim().toLowerCase(),
|
|
6982
|
+
i = n ? t.toLowerCase().indexOf(n) : -1;
|
|
6983
|
+
return i < 0 ? [t, "", ""] : [t.slice(0, i), t.slice(i, i + n.length), t.slice(i + n.length)];
|
|
6984
|
+
}
|
|
6985
|
+
|
|
6986
|
+
/** Every selectable row in visual order (↑↓ walks this list), with group headers attached to the first row of each group. */
|
|
6987
|
+
function gsRows({
|
|
6988
|
+
term,
|
|
6989
|
+
found,
|
|
6990
|
+
loading,
|
|
6991
|
+
scope,
|
|
6992
|
+
recent,
|
|
6993
|
+
prompts,
|
|
6994
|
+
deep,
|
|
6995
|
+
hasDeep,
|
|
6996
|
+
L
|
|
6997
|
+
}) {
|
|
6998
|
+
const rows = [];
|
|
6999
|
+
let total = 0;
|
|
7000
|
+
if (deep) return {
|
|
7001
|
+
rows,
|
|
7002
|
+
total
|
|
7003
|
+
};
|
|
7004
|
+
if (!term) {
|
|
7005
|
+
recent.forEach((item, j) => rows.push({
|
|
7006
|
+
kind: "recent",
|
|
7007
|
+
item,
|
|
7008
|
+
head: j === 0 ? {
|
|
7009
|
+
label: L.recent
|
|
7010
|
+
} : null
|
|
7011
|
+
}));
|
|
7012
|
+
prompts.forEach((text, j) => rows.push({
|
|
7013
|
+
kind: "prompt",
|
|
7014
|
+
text,
|
|
7015
|
+
head: j === 0 ? {
|
|
7016
|
+
label: L.prompts
|
|
7017
|
+
} : null
|
|
7018
|
+
}));
|
|
7019
|
+
} else {
|
|
7020
|
+
if (found && !loading) {
|
|
7021
|
+
const kinds = scope ? [GS_KINDS[scope - 1]] : GS_KINDS;
|
|
7022
|
+
kinds.forEach(k => {
|
|
7023
|
+
const all = found.filter(it => (it.kind || "feature") === k);
|
|
7024
|
+
total += all.length;
|
|
7025
|
+
const shown = scope ? all : all.slice(0, LIMITS[k]);
|
|
7026
|
+
shown.forEach((item, j) => rows.push({
|
|
7027
|
+
kind: "result",
|
|
7028
|
+
item,
|
|
7029
|
+
head: j === 0 ? {
|
|
7030
|
+
label: L.groups[k],
|
|
7031
|
+
more: !scope && all.length > shown.length ? {
|
|
7032
|
+
n: all.length,
|
|
7033
|
+
scope: GS_KINDS.indexOf(k) + 1
|
|
7034
|
+
} : null
|
|
7035
|
+
} : null
|
|
7036
|
+
}));
|
|
7037
|
+
});
|
|
7038
|
+
}
|
|
7039
|
+
rows.push({
|
|
7040
|
+
kind: "ask"
|
|
7041
|
+
});
|
|
7042
|
+
if (hasDeep) rows.push({
|
|
7043
|
+
kind: "deep"
|
|
7044
|
+
});
|
|
7045
|
+
}
|
|
7046
|
+
rows.forEach((r, i) => {
|
|
7047
|
+
r.i = i;
|
|
7048
|
+
});
|
|
7049
|
+
return {
|
|
7050
|
+
rows,
|
|
7051
|
+
total
|
|
7052
|
+
};
|
|
7053
|
+
}
|
|
7054
|
+
|
|
7055
|
+
/** Where the open card goes: 8px left of the collapsed field, 8px from the top, over the TopBar. */
|
|
7056
|
+
function gsPos(el) {
|
|
7057
|
+
const vw = window.innerWidth,
|
|
7058
|
+
vh = window.innerHeight,
|
|
7059
|
+
r = el ? el.getBoundingClientRect() : {
|
|
7060
|
+
left: 16
|
|
7061
|
+
};
|
|
7062
|
+
const width = Math.min(720, vw - 16);
|
|
7063
|
+
return {
|
|
7064
|
+
left: Math.max(8, Math.min(r.left - 8, vw - width - 8)),
|
|
7065
|
+
width,
|
|
7066
|
+
maxH: vh - 16
|
|
7067
|
+
};
|
|
7068
|
+
}
|
|
7069
|
+
/** Keep the selected row visible inside the scrolling body (no scrollIntoView). */
|
|
7070
|
+
function gsReveal(body, i) {
|
|
7071
|
+
if (!body) return;
|
|
7072
|
+
const el = body.querySelector('[data-gs-row="' + i + '"]');
|
|
7073
|
+
if (!el) return;
|
|
7074
|
+
const top = el.offsetTop - body.offsetTop,
|
|
7075
|
+
bottom = top + el.offsetHeight;
|
|
7076
|
+
if (top < body.scrollTop) body.scrollTop = top - 6;else if (bottom > body.scrollTop + body.clientHeight) body.scrollTop = bottom - body.clientHeight + 6;
|
|
7077
|
+
}
|
|
7078
|
+
const T = s => ({
|
|
7079
|
+
fontFamily: "var(--font-sans)",
|
|
7080
|
+
fontSize: "var(--text-" + s + ")",
|
|
7081
|
+
lineHeight: "var(--leading-" + s + ")",
|
|
7082
|
+
letterSpacing: "var(--tracking-" + s + ")"
|
|
7083
|
+
});
|
|
7084
|
+
const ONE = {
|
|
7085
|
+
whiteSpace: "nowrap",
|
|
7086
|
+
overflow: "hidden",
|
|
7087
|
+
textOverflow: "ellipsis"
|
|
7088
|
+
};
|
|
7089
|
+
const FADE = "opacity 300ms var(--ease-out)";
|
|
7090
|
+
const tileBase = {
|
|
7091
|
+
width: "32px",
|
|
7092
|
+
height: "32px",
|
|
7093
|
+
flexShrink: "0",
|
|
7094
|
+
display: "flex",
|
|
7095
|
+
alignItems: "center",
|
|
7096
|
+
justifyContent: "center",
|
|
7097
|
+
borderRadius: "var(--radius-md)",
|
|
7098
|
+
border: "1px solid var(--border-card)",
|
|
7099
|
+
background: "var(--bg-surface)",
|
|
7100
|
+
color: "var(--text-secondary)",
|
|
7101
|
+
boxSizing: "border-box"
|
|
7102
|
+
};
|
|
7103
|
+
const gsStyles = {
|
|
7104
|
+
/* Collapsed field: SearchInput's box (surface fill, --border-control hairline, r8). GlobalSearch exception: the placeholder is
|
|
7105
|
+
--text-secondary (≥4.5:1, it is the platform's main entry prompt) and hover also fills --bg-inset; border darkens via [data-field]. */
|
|
7106
|
+
field: hover => ({
|
|
7107
|
+
display: "inline-flex",
|
|
7108
|
+
alignItems: "center",
|
|
7109
|
+
gap: "8px",
|
|
7110
|
+
minWidth: "400px",
|
|
7111
|
+
width: "max-content",
|
|
7112
|
+
maxWidth: "100%",
|
|
7113
|
+
height: "32px",
|
|
7114
|
+
padding: "0 6px 0 10px",
|
|
7115
|
+
boxSizing: "border-box",
|
|
7116
|
+
borderRadius: "var(--radius-md)",
|
|
7117
|
+
background: hover ? "var(--bg-inset)" : "var(--bg-surface)",
|
|
7118
|
+
border: "1px solid var(--field-border, var(--border-control))",
|
|
7119
|
+
cursor: "pointer",
|
|
7120
|
+
transition: "var(--t-hover)",
|
|
7121
|
+
...T("base"),
|
|
7122
|
+
color: "var(--text-secondary)",
|
|
7123
|
+
textAlign: "left",
|
|
7124
|
+
flexShrink: "1"
|
|
7125
|
+
}),
|
|
7126
|
+
fieldIcon: {
|
|
7127
|
+
display: "inline-flex",
|
|
7128
|
+
color: "var(--text-muted)",
|
|
7129
|
+
flexShrink: "0"
|
|
7130
|
+
},
|
|
7131
|
+
fieldLabel: {
|
|
7132
|
+
flex: "1 0 auto",
|
|
7133
|
+
paddingRight: "8px",
|
|
7134
|
+
whiteSpace: "nowrap"
|
|
7135
|
+
},
|
|
7136
|
+
scrim: {
|
|
7137
|
+
position: "fixed",
|
|
7138
|
+
inset: "0",
|
|
7139
|
+
background: "var(--bg-scrim)",
|
|
7140
|
+
zIndex: "var(--z-modal)",
|
|
7141
|
+
animation: "kb-fade-in var(--dur) var(--ease-out)"
|
|
7142
|
+
},
|
|
7143
|
+
card: {
|
|
7144
|
+
display: "flex",
|
|
7145
|
+
flexDirection: "column",
|
|
7146
|
+
width: "720px",
|
|
7147
|
+
maxWidth: "100%",
|
|
7148
|
+
background: "var(--bg-raised)",
|
|
7149
|
+
border: "1px solid var(--border-card)",
|
|
7150
|
+
borderRadius: "var(--radius-lg)",
|
|
7151
|
+
boxShadow: "var(--shadow-modal)",
|
|
7152
|
+
overflow: "hidden",
|
|
7153
|
+
boxSizing: "border-box",
|
|
7154
|
+
color: "var(--text-body)",
|
|
7155
|
+
textAlign: "left"
|
|
7156
|
+
},
|
|
7157
|
+
cardFixed: p => ({
|
|
7158
|
+
position: "fixed",
|
|
7159
|
+
top: "8px",
|
|
7160
|
+
left: p.left + "px",
|
|
7161
|
+
width: p.width + "px",
|
|
7162
|
+
maxHeight: p.maxH + "px",
|
|
7163
|
+
zIndex: "var(--z-modal)",
|
|
7164
|
+
animation: "kb-rise var(--dur-slow) var(--ease-out)"
|
|
7165
|
+
}),
|
|
7166
|
+
inputRow: {
|
|
7167
|
+
display: "flex",
|
|
7168
|
+
alignItems: "center",
|
|
7169
|
+
gap: "10px",
|
|
7170
|
+
height: "56px",
|
|
7171
|
+
padding: "0 16px",
|
|
7172
|
+
borderBottom: "1px solid var(--border-subtle)",
|
|
7173
|
+
flexShrink: "0",
|
|
7174
|
+
boxSizing: "border-box"
|
|
7175
|
+
},
|
|
7176
|
+
lead: {
|
|
7177
|
+
display: "inline-flex",
|
|
7178
|
+
width: "16px",
|
|
7179
|
+
height: "16px",
|
|
7180
|
+
alignItems: "center",
|
|
7181
|
+
justifyContent: "center",
|
|
7182
|
+
color: "var(--text-secondary)",
|
|
7183
|
+
flexShrink: "0"
|
|
7184
|
+
},
|
|
7185
|
+
input: {
|
|
7186
|
+
flex: "1 1 auto",
|
|
7187
|
+
minWidth: "0",
|
|
7188
|
+
border: "none",
|
|
7189
|
+
outline: "none",
|
|
7190
|
+
background: "transparent",
|
|
7191
|
+
padding: "0",
|
|
7192
|
+
...T("md"),
|
|
7193
|
+
color: "var(--text-heading)"
|
|
7194
|
+
},
|
|
7195
|
+
trail: {
|
|
7196
|
+
display: "flex",
|
|
7197
|
+
alignItems: "center",
|
|
7198
|
+
gap: "8px",
|
|
7199
|
+
flexShrink: "0"
|
|
7200
|
+
},
|
|
7201
|
+
scope: {
|
|
7202
|
+
display: "flex",
|
|
7203
|
+
alignItems: "center",
|
|
7204
|
+
justifyContent: "space-between",
|
|
7205
|
+
gap: "12px",
|
|
7206
|
+
padding: "10px 16px",
|
|
7207
|
+
borderBottom: "1px solid var(--border-subtle)",
|
|
7208
|
+
flexShrink: "0"
|
|
7209
|
+
},
|
|
7210
|
+
count: {
|
|
7211
|
+
...T("xs"),
|
|
7212
|
+
color: "var(--text-muted)",
|
|
7213
|
+
whiteSpace: "nowrap"
|
|
7214
|
+
},
|
|
7215
|
+
body: {
|
|
7216
|
+
flex: "1 1 auto",
|
|
7217
|
+
minHeight: "0",
|
|
7218
|
+
overflowY: "auto",
|
|
7219
|
+
padding: "6px",
|
|
7220
|
+
position: "relative"
|
|
7221
|
+
},
|
|
7222
|
+
head: {
|
|
7223
|
+
display: "flex",
|
|
7224
|
+
alignItems: "center",
|
|
7225
|
+
justifyContent: "space-between",
|
|
7226
|
+
gap: "8px",
|
|
7227
|
+
padding: "8px 10px 4px",
|
|
7228
|
+
...T("xs"),
|
|
7229
|
+
fontWeight: "var(--weight-medium)",
|
|
7230
|
+
color: "var(--text-muted)"
|
|
7231
|
+
},
|
|
7232
|
+
more: {
|
|
7233
|
+
border: "none",
|
|
7234
|
+
background: "transparent",
|
|
7235
|
+
padding: "0",
|
|
7236
|
+
cursor: "pointer",
|
|
7237
|
+
...T("xs"),
|
|
7238
|
+
color: "var(--link)"
|
|
7239
|
+
},
|
|
7240
|
+
row: on => ({
|
|
7241
|
+
display: "flex",
|
|
7242
|
+
alignItems: "center",
|
|
7243
|
+
gap: "10px",
|
|
7244
|
+
minHeight: "44px",
|
|
7245
|
+
padding: "6px 10px",
|
|
7246
|
+
boxSizing: "border-box",
|
|
7247
|
+
borderRadius: "var(--radius-md)",
|
|
7248
|
+
background: on ? "var(--bg-hover)" : "transparent",
|
|
7249
|
+
cursor: "pointer"
|
|
7250
|
+
}),
|
|
7251
|
+
tile: tone => ({
|
|
7252
|
+
...tileBase,
|
|
7253
|
+
...(tone ? {
|
|
7254
|
+
background: "var(--cat-" + tone + "-bg)",
|
|
7255
|
+
color: "var(--cat-" + tone + ")"
|
|
7256
|
+
} : null)
|
|
7257
|
+
}),
|
|
7258
|
+
text: {
|
|
7259
|
+
display: "flex",
|
|
7260
|
+
flexDirection: "column",
|
|
7261
|
+
minWidth: "0",
|
|
7262
|
+
flex: "1 1 auto"
|
|
7263
|
+
},
|
|
7264
|
+
title: {
|
|
7265
|
+
...T("base"),
|
|
7266
|
+
...ONE,
|
|
7267
|
+
color: "var(--text-heading)"
|
|
7268
|
+
},
|
|
7269
|
+
mark: {
|
|
7270
|
+
color: "var(--action-primary)",
|
|
7271
|
+
fontWeight: "var(--weight-medium)"
|
|
7272
|
+
},
|
|
7273
|
+
sub: {
|
|
7274
|
+
...T("xs"),
|
|
7275
|
+
...ONE,
|
|
7276
|
+
color: "var(--text-secondary)"
|
|
7277
|
+
},
|
|
7278
|
+
meta: {
|
|
7279
|
+
...T("xs"),
|
|
7280
|
+
color: "var(--text-muted)",
|
|
7281
|
+
whiteSpace: "nowrap",
|
|
7282
|
+
flexShrink: "0"
|
|
7283
|
+
},
|
|
7284
|
+
chips: {
|
|
7285
|
+
display: "flex",
|
|
7286
|
+
flexWrap: "wrap",
|
|
7287
|
+
gap: "8px",
|
|
7288
|
+
padding: "4px 10px 8px"
|
|
7289
|
+
},
|
|
7290
|
+
chip: {
|
|
7291
|
+
display: "inline-flex",
|
|
7292
|
+
alignItems: "center",
|
|
7293
|
+
gap: "6px",
|
|
7294
|
+
height: "28px",
|
|
7295
|
+
padding: "0 10px",
|
|
7296
|
+
borderRadius: "var(--radius-md)",
|
|
7297
|
+
border: "1px solid var(--border-control)",
|
|
7298
|
+
background: "var(--bg-surface)",
|
|
7299
|
+
cursor: "pointer",
|
|
7300
|
+
...T("xs"),
|
|
7301
|
+
color: "var(--text-body)",
|
|
7302
|
+
boxSizing: "border-box"
|
|
7303
|
+
},
|
|
7304
|
+
chipIcon: {
|
|
7305
|
+
display: "inline-flex",
|
|
7306
|
+
color: "var(--text-muted)"
|
|
7307
|
+
},
|
|
7308
|
+
empty: {
|
|
7309
|
+
padding: "12px 10px",
|
|
7310
|
+
...T("base"),
|
|
7311
|
+
color: "var(--text-secondary)"
|
|
7312
|
+
},
|
|
7313
|
+
skelRow: {
|
|
7314
|
+
display: "flex",
|
|
7315
|
+
alignItems: "center",
|
|
7316
|
+
gap: "10px",
|
|
7317
|
+
minHeight: "44px",
|
|
7318
|
+
padding: "6px 10px",
|
|
7319
|
+
boxSizing: "border-box"
|
|
7320
|
+
},
|
|
7321
|
+
skelText: {
|
|
7322
|
+
display: "flex",
|
|
7323
|
+
flexDirection: "column",
|
|
7324
|
+
gap: "6px",
|
|
7325
|
+
flex: "1 1 auto"
|
|
7326
|
+
},
|
|
7327
|
+
pinned: {
|
|
7328
|
+
borderTop: "1px solid var(--border-subtle)",
|
|
7329
|
+
padding: "6px",
|
|
7330
|
+
flexShrink: "0"
|
|
7331
|
+
},
|
|
7332
|
+
footer: {
|
|
7333
|
+
display: "flex",
|
|
7334
|
+
alignItems: "center",
|
|
7335
|
+
justifyContent: "space-between",
|
|
7336
|
+
gap: "16px",
|
|
7337
|
+
height: "36px",
|
|
7338
|
+
padding: "0 16px",
|
|
7339
|
+
borderTop: "1px solid var(--border-subtle)",
|
|
7340
|
+
background: "var(--bg-surface)",
|
|
7341
|
+
flexShrink: "0",
|
|
7342
|
+
boxSizing: "border-box",
|
|
7343
|
+
...T("xs"),
|
|
7344
|
+
color: "var(--text-secondary)",
|
|
7345
|
+
whiteSpace: "nowrap"
|
|
7346
|
+
},
|
|
7347
|
+
hints: {
|
|
7348
|
+
display: "flex",
|
|
7349
|
+
alignItems: "center",
|
|
7350
|
+
gap: "16px"
|
|
7351
|
+
},
|
|
7352
|
+
hint: {
|
|
7353
|
+
display: "inline-flex",
|
|
7354
|
+
alignItems: "center",
|
|
7355
|
+
gap: "6px"
|
|
7356
|
+
},
|
|
7357
|
+
deep: {
|
|
7358
|
+
display: "flex",
|
|
7359
|
+
flexDirection: "column",
|
|
7360
|
+
gap: "12px",
|
|
7361
|
+
padding: "12px 16px"
|
|
7362
|
+
},
|
|
7363
|
+
deepHead: {
|
|
7364
|
+
display: "flex",
|
|
7365
|
+
alignItems: "center",
|
|
7366
|
+
gap: "10px"
|
|
7367
|
+
},
|
|
7368
|
+
deepTitle: {
|
|
7369
|
+
...T("base"),
|
|
7370
|
+
...ONE,
|
|
7371
|
+
fontWeight: "var(--weight-medium)",
|
|
7372
|
+
color: "var(--text-heading)"
|
|
7373
|
+
},
|
|
7374
|
+
steps: {
|
|
7375
|
+
display: "flex",
|
|
7376
|
+
flexDirection: "column",
|
|
7377
|
+
gap: "2px"
|
|
7378
|
+
},
|
|
7379
|
+
toggle: {
|
|
7380
|
+
display: "flex",
|
|
7381
|
+
alignItems: "center",
|
|
7382
|
+
gap: "8px",
|
|
7383
|
+
width: "100%",
|
|
7384
|
+
minHeight: "28px",
|
|
7385
|
+
padding: "0 6px",
|
|
7386
|
+
borderRadius: "var(--radius-md)",
|
|
7387
|
+
border: "none",
|
|
7388
|
+
background: "var(--wash, transparent)",
|
|
7389
|
+
cursor: "pointer",
|
|
7390
|
+
...T("xs"),
|
|
7391
|
+
color: "var(--text-body)",
|
|
7392
|
+
textAlign: "left",
|
|
7393
|
+
boxSizing: "border-box"
|
|
7394
|
+
},
|
|
7395
|
+
stepLine: {
|
|
7396
|
+
display: "flex",
|
|
7397
|
+
alignItems: "center",
|
|
7398
|
+
gap: "8px",
|
|
7399
|
+
minHeight: "24px",
|
|
7400
|
+
padding: "0 6px",
|
|
7401
|
+
...T("xs")
|
|
7402
|
+
},
|
|
7403
|
+
stepIcon: {
|
|
7404
|
+
width: "14px",
|
|
7405
|
+
height: "14px",
|
|
7406
|
+
display: "inline-flex",
|
|
7407
|
+
alignItems: "center",
|
|
7408
|
+
justifyContent: "center",
|
|
7409
|
+
flexShrink: "0"
|
|
7410
|
+
},
|
|
7411
|
+
pending: {
|
|
7412
|
+
width: "8px",
|
|
7413
|
+
height: "8px",
|
|
7414
|
+
borderRadius: "var(--radius-full)",
|
|
7415
|
+
border: "1.5px solid var(--border-strong)",
|
|
7416
|
+
boxSizing: "border-box"
|
|
7417
|
+
},
|
|
7418
|
+
muted: {
|
|
7419
|
+
color: "var(--text-muted)"
|
|
7420
|
+
},
|
|
7421
|
+
grow: {
|
|
7422
|
+
flex: "1 1 auto"
|
|
7423
|
+
},
|
|
7424
|
+
conclusion: {
|
|
7425
|
+
display: "flex",
|
|
7426
|
+
flexDirection: "column",
|
|
7427
|
+
gap: "6px",
|
|
7428
|
+
padding: "12px 14px",
|
|
7429
|
+
borderRadius: "var(--radius-lg)",
|
|
7430
|
+
background: "var(--bg-inset)",
|
|
7431
|
+
border: "1px solid var(--border-card)"
|
|
7432
|
+
},
|
|
7433
|
+
concLabel: {
|
|
7434
|
+
...T("xs"),
|
|
7435
|
+
fontWeight: "var(--weight-medium)",
|
|
7436
|
+
color: "var(--text-secondary)"
|
|
7437
|
+
},
|
|
7438
|
+
concText: {
|
|
7439
|
+
display: "flex",
|
|
7440
|
+
flexDirection: "column",
|
|
7441
|
+
gap: "4px",
|
|
7442
|
+
...T("base"),
|
|
7443
|
+
color: "var(--text-body)",
|
|
7444
|
+
textWrap: "pretty"
|
|
7445
|
+
},
|
|
7446
|
+
sources: {
|
|
7447
|
+
display: "flex",
|
|
7448
|
+
flexWrap: "wrap",
|
|
7449
|
+
gap: "6px"
|
|
7450
|
+
},
|
|
7451
|
+
source: {
|
|
7452
|
+
display: "inline-flex",
|
|
7453
|
+
alignItems: "center",
|
|
7454
|
+
gap: "4px",
|
|
7455
|
+
height: "24px",
|
|
7456
|
+
padding: "0 8px",
|
|
7457
|
+
borderRadius: "var(--radius-sm)",
|
|
7458
|
+
border: "1px solid var(--border-control)",
|
|
7459
|
+
background: "var(--bg-surface)",
|
|
7460
|
+
...T("xs"),
|
|
7461
|
+
color: "var(--text-body)",
|
|
7462
|
+
boxSizing: "border-box",
|
|
7463
|
+
whiteSpace: "nowrap"
|
|
7464
|
+
},
|
|
7465
|
+
actions: {
|
|
7466
|
+
display: "flex",
|
|
7467
|
+
gap: "8px",
|
|
7468
|
+
marginTop: "6px"
|
|
7469
|
+
}
|
|
7470
|
+
};
|
|
7471
|
+
|
|
7472
|
+
/** The 32px Prophet AI tile: hairline tile at rest; selected, it takes the AI hover language (tint, gradient ring at hover speed, gradient glyph), never a glow. */
|
|
7473
|
+
function gsAiTile(on) {
|
|
7474
|
+
return {
|
|
7475
|
+
outer: {
|
|
7476
|
+
width: "32px",
|
|
7477
|
+
height: "32px",
|
|
7478
|
+
flexShrink: "0",
|
|
7479
|
+
display: "flex",
|
|
7480
|
+
padding: "1px",
|
|
7481
|
+
boxSizing: "border-box",
|
|
7482
|
+
borderRadius: "var(--radius-md)",
|
|
7483
|
+
background: on ? "conic-gradient(from var(--kb-ai-angle), var(--ai-gradient-stops))" : "var(--border-card)",
|
|
7484
|
+
animation: on ? "kb-ai-spin var(--ai-spin-hover) linear infinite" : "none"
|
|
7485
|
+
},
|
|
7486
|
+
inner: {
|
|
7487
|
+
position: "relative",
|
|
7488
|
+
flex: "1 1 auto",
|
|
7489
|
+
display: "flex",
|
|
7490
|
+
alignItems: "center",
|
|
7491
|
+
justifyContent: "center",
|
|
7492
|
+
borderRadius: "calc(var(--radius-md) - 1px)",
|
|
7493
|
+
background: "var(--bg-surface)",
|
|
7494
|
+
overflow: "hidden",
|
|
7495
|
+
color: "var(--text-secondary)"
|
|
7496
|
+
},
|
|
7497
|
+
tint: {
|
|
7498
|
+
position: "absolute",
|
|
7499
|
+
inset: "0",
|
|
7500
|
+
pointerEvents: "none",
|
|
7501
|
+
background: "linear-gradient(90deg, color-mix(in srgb, var(--ai-gradient-start) var(--ai-tint), transparent), color-mix(in srgb, var(--ai-gradient-end) var(--ai-tint), transparent))",
|
|
7502
|
+
opacity: on ? "1" : "0",
|
|
7503
|
+
transition: FADE
|
|
7504
|
+
},
|
|
7505
|
+
icon: {
|
|
7506
|
+
position: "relative"
|
|
7507
|
+
}
|
|
7508
|
+
};
|
|
7509
|
+
}
|
|
7510
|
+
Object.assign(__ds_scope, { GLOBAL_SEARCH_LABELS, GS_KINDS, GS_ICONS, gsLabels, gsFill, gsIsMac, gsMod, gsFilter, gsSplit, gsRows, gsPos, gsReveal, gsStyles, gsAiTile });
|
|
7511
|
+
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/global-search.js", error: String((e && e.message) || e) }); }
|
|
7512
|
+
|
|
6396
7513
|
// components/forms/input-base.js
|
|
6397
7514
|
try { (() => {
|
|
6398
7515
|
// Shared base style for text-like controls (Input, Textarea, Combobox, DatePicker).
|
|
@@ -7088,8 +8205,8 @@ const ICON_PATHS = {
|
|
|
7088
8205
|
"time-future": '<path d="M20 6A10 10 0 1 0 22 12"/><path d="M12 7v5h5"/><path d="M21 2v5h-5"/>',
|
|
7089
8206
|
"time-restatement": '<path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/><path d="M3 3v5h5"/><path d="M12 7v5l4 2"/>',
|
|
7090
8207
|
// AI glyphs (2.3.0) — traced from the two reference glyphs, redrawn to core rules (stroke 2, no fill, integer endpoints, >=4 between separate elements)
|
|
7091
|
-
ai: '<path d="M9
|
|
7092
|
-
"ai-sparkles": '<path d="M9
|
|
8208
|
+
ai: '<path d="M9 3H7a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-2"/><path d="M16 2c.72 3.6 2.4 5.28 6 6c-3.6.72-5.28 2.4-6 6c-.72-3.6-2.4-5.28-6-6c3.6-.72 5.28-2.4 6-6Z"/><path d="M9 12c.6 1.5 1.5 2.4 3 3c-1.5.6-2.4 1.5-3 3c-.6-1.5-1.5-2.4-3-3c1.5-.6 2.4-1.5 3-3Z"/>',
|
|
8209
|
+
"ai-sparkles": '<path d="M9 2c.84 4.2 2.8 6.16 7 7c-4.2.84-6.16 2.8-7 7c-.84-4.2-2.8-6.16-7-7c4.2-.84 6.16-2.8 7-7Z"/><path d="M17 13c.8 2 2 3.2 4 4c-2 .8-3.2 2-4 4c-.8-2-2-3.2-4-4c2-.8 3.2-2 4-4Z"/>',
|
|
7093
8210
|
// Keybricks business glyphs (2.4.6) — dimensions, modules, rules-*, task-*; drawn to core rules or taken from Lucide
|
|
7094
8211
|
"dimension-account": '<path d="M12 7v14"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/><path d="M5 8h3"/><path d="M5 11h3"/><path d="M5 14h3"/><path d="M17 6.5v1"/><path d="M17 12.5v1"/><path d="M18.5 7.5h-2a1.25 1.25 0 0 0 0 2.5h1a1.25 1.25 0 0 1 0 2.5h-2"/>',
|
|
7095
8212
|
"dimension-audit": '<path d="M11.1 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.589 3.588A2.4 2.4 0 0 1 20 8v3.25"/><path d="M14 2v5a1 1 0 0 0 1 1h5"/><path d="m21 22-2.88-2.88"/><circle cx="16" cy="17" r="3"/>',
|
|
@@ -7166,24 +8283,32 @@ const ICON_PATHS = {
|
|
|
7166
8283
|
"task-etl": '<rect width="8" height="4" x="8" y="2" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><ellipse cx="12" cy="10.5" rx="3.5" ry="1.5"/><path d="M8.5 10.5v6c0 .83 1.57 1.5 3.5 1.5s3.5-.67 3.5-1.5v-6"/><path d="M8.5 13.5c0 .83 1.57 1.5 3.5 1.5s3.5-.67 3.5-1.5"/>',
|
|
7167
8284
|
"task-shared": '<rect width="8" height="4" x="8" y="2" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><g transform="translate(-.5 4)"><circle cx="15.3" cy="6.8" r=".75"/><circle cx="9.7" cy="10" r=".75"/><circle cx="15.3" cy="13.2" r=".75"/><path d="m11.35 9.06 2.3-1.32"/><path d="m11.35 10.94 2.3 1.32"/></g>',
|
|
7168
8285
|
"task-intercompany": '<rect width="8" height="4" x="8" y="2" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><g transform="translate(-.5 4)"><path d="M8.5 14V6.5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1V14"/><path d="M13.5 9.5H16a1 1 0 0 1 1 1V14"/><path d="M7.5 14h10"/><path d="M11 8.5h.01"/><path d="M11 11h.01"/></g>',
|
|
7169
|
-
ownership: '<path d="M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17"/><path d="m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"/><path d="m2 16 6 6"/><circle cx="9" cy="5" r="3"/><path d="M12 5h9"/><path d="M18 5v2.5"/><path d="M21 5v2"/>'
|
|
8286
|
+
ownership: '<path d="M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17"/><path d="m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"/><path d="m2 16 6 6"/><circle cx="9" cy="5" r="3"/><path d="M12 5h9"/><path d="M18 5v2.5"/><path d="M21 5v2"/>',
|
|
8287
|
+
prophet: '<path d="M5.66 13.5A7.5 7.5 0 1 1 18.34 13.5"/><path d="M8.5 10a3.5 3.5 0 0 1 7 0v1.5c0 3.2-1.5 5.6-3.5 7.5c-2-1.9-3.5-4.3-3.5-7.5Z"/><path d="M8.71 13.5c1.05.95 2.15 1.4 3.29 1.4s2.24-.45 3.29-1.4"/><path d="M3.5 22a5.5 5.5 0 0 1 4-5.3"/><path d="M20.5 22a5.5 5.5 0 0 0-4-5.3"/>',
|
|
8288
|
+
"prophet-sparkle": '<path d="M5.66 13.5A7.5 7.5 0 0 1 13.24 2.1"/><path d="M19 2c.36 1.8 1.2 2.64 3 3c-1.8.36-2.64 1.2-3 3c-.36-1.8-1.2-2.64-3-3c1.8-.36 2.64-1.2 3-3Z"/><path d="M8.5 10a3.5 3.5 0 0 1 7 0v1.5c0 3.2-1.5 5.6-3.5 7.5c-2-1.9-3.5-4.3-3.5-7.5Z"/><path d="M8.71 13.5c1.05.95 2.15 1.4 3.29 1.4s2.24-.45 3.29-1.4"/><path d="M3.5 22a5.5 5.5 0 0 1 4-5.3"/><path d="M20.5 22a5.5 5.5 0 0 0-4-5.3"/>'
|
|
7170
8289
|
};
|
|
7171
|
-
/**
|
|
8290
|
+
/** Stroke gradient for the AI glyph treatment — bottom-left start to top-right end, in glyph space so every path shares it. */
|
|
8291
|
+
const iconGradientDefs = (id, from = "var(--ai-gradient-start)", to = "var(--ai-gradient-end)") => '<defs><linearGradient id="' + id + '" gradientUnits="userSpaceOnUse" x1="2" y1="22" x2="22" y2="2"><stop offset="0" style="stop-color:' + from + '"/><stop offset="1" style="stop-color:' + to + '"/></linearGradient></defs>';
|
|
8292
|
+
|
|
8293
|
+
/** Lucide-style stroke icon. name: key of ICON_PATHS (core set) or any Feather icon name (feather-paths.js fallback); size in px; strokeWidth defaults to 2 (24-grid). gradient: true strokes it with the AI gradient (Prophet AI entry points only), or pass [from, to]. Browse both sets with keywords in the Icon Gallery card. */
|
|
7172
8294
|
function Icon({
|
|
7173
8295
|
name,
|
|
7174
8296
|
size = 16,
|
|
7175
8297
|
strokeWidth = 2,
|
|
7176
8298
|
color,
|
|
8299
|
+
gradient,
|
|
7177
8300
|
style,
|
|
7178
8301
|
className
|
|
7179
8302
|
}) {
|
|
7180
|
-
const
|
|
8303
|
+
const gid = "kb-ig" + React.useId().replace(/[^a-zA-Z0-9]/g, "");
|
|
8304
|
+
let body = ICON_PATHS[name] || __ds_scope.FEATHER_PATHS[name] || "";
|
|
8305
|
+
if (gradient) body = (Array.isArray(gradient) ? iconGradientDefs(gid, gradient[0], gradient[1]) : iconGradientDefs(gid)) + body;
|
|
7181
8306
|
return /*#__PURE__*/React.createElement("svg", {
|
|
7182
8307
|
width: size,
|
|
7183
8308
|
height: size,
|
|
7184
8309
|
viewBox: "0 0 24 24",
|
|
7185
8310
|
fill: "none",
|
|
7186
|
-
stroke: "currentColor",
|
|
8311
|
+
stroke: gradient ? "url(#" + gid + ")" : "currentColor",
|
|
7187
8312
|
strokeWidth: strokeWidth,
|
|
7188
8313
|
strokeLinecap: "round",
|
|
7189
8314
|
strokeLinejoin: "round",
|
|
@@ -7199,7 +8324,7 @@ function Icon({
|
|
|
7199
8324
|
}
|
|
7200
8325
|
});
|
|
7201
8326
|
}
|
|
7202
|
-
Object.assign(__ds_scope, { ICON_PATHS, Icon });
|
|
8327
|
+
Object.assign(__ds_scope, { ICON_PATHS, iconGradientDefs, Icon });
|
|
7203
8328
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/icons/Icon.jsx", error: String((e && e.message) || e) }); }
|
|
7204
8329
|
|
|
7205
8330
|
// components/buttons/Button.jsx
|
|
@@ -7297,26 +8422,135 @@ function Spinner({
|
|
|
7297
8422
|
}) {
|
|
7298
8423
|
return /*#__PURE__*/React.createElement("span", {
|
|
7299
8424
|
style: {
|
|
7300
|
-
display: "inline-block",
|
|
7301
|
-
width: size,
|
|
7302
|
-
height: size,
|
|
7303
|
-
...(size ? null : tierIcon),
|
|
7304
|
-
borderRadius: "var(--radius-full)",
|
|
7305
|
-
border: "2px solid currentColor",
|
|
7306
|
-
borderTopColor: "transparent",
|
|
7307
|
-
opacity: .9,
|
|
7308
|
-
color,
|
|
7309
|
-
animation: "kb-spin .7s linear infinite",
|
|
7310
|
-
flexShrink: 0
|
|
8425
|
+
display: "inline-block",
|
|
8426
|
+
width: size,
|
|
8427
|
+
height: size,
|
|
8428
|
+
...(size ? null : tierIcon),
|
|
8429
|
+
borderRadius: "var(--radius-full)",
|
|
8430
|
+
border: "2px solid currentColor",
|
|
8431
|
+
borderTopColor: "transparent",
|
|
8432
|
+
opacity: .9,
|
|
8433
|
+
color,
|
|
8434
|
+
animation: "kb-spin .7s linear infinite",
|
|
8435
|
+
flexShrink: 0
|
|
8436
|
+
}
|
|
8437
|
+
});
|
|
8438
|
+
}
|
|
8439
|
+
|
|
8440
|
+
/** variant="ai" — Prophet AI (方知) entry points only. Same box as any Button at the tier; see ai-button.js. */
|
|
8441
|
+
function AiButton({
|
|
8442
|
+
size,
|
|
8443
|
+
icon,
|
|
8444
|
+
trailing,
|
|
8445
|
+
nativeType,
|
|
8446
|
+
iconSize,
|
|
8447
|
+
medium,
|
|
8448
|
+
fullWidth,
|
|
8449
|
+
iconOnly,
|
|
8450
|
+
label,
|
|
8451
|
+
busy,
|
|
8452
|
+
loading,
|
|
8453
|
+
hovered,
|
|
8454
|
+
isPressed,
|
|
8455
|
+
isFocused,
|
|
8456
|
+
setHover,
|
|
8457
|
+
setPress,
|
|
8458
|
+
setFocus,
|
|
8459
|
+
children,
|
|
8460
|
+
style,
|
|
8461
|
+
onClick,
|
|
8462
|
+
rest
|
|
8463
|
+
}) {
|
|
8464
|
+
if (typeof icon !== "string" || !icon) icon = "prophet-sparkle";
|
|
8465
|
+
const ref = React.useRef(null);
|
|
8466
|
+
const delay = React.useRef(__ds_scope.aiSpinDelay()).current;
|
|
8467
|
+
const on = !busy && hovered;
|
|
8468
|
+
React.useEffect(() => __ds_scope.rampAiSpin(ref.current, on), [on]);
|
|
8469
|
+
const a = __ds_scope.aiStyles({
|
|
8470
|
+
on,
|
|
8471
|
+
press: !busy && isPressed,
|
|
8472
|
+
busy,
|
|
8473
|
+
focused: isFocused,
|
|
8474
|
+
medium,
|
|
8475
|
+
fullWidth,
|
|
8476
|
+
iconOnly,
|
|
8477
|
+
delay,
|
|
8478
|
+
style
|
|
8479
|
+
});
|
|
8480
|
+
const sz = iconSize || 16,
|
|
8481
|
+
tier = iconSize ? null : tierIcon;
|
|
8482
|
+
return /*#__PURE__*/React.createElement("button", _extends({
|
|
8483
|
+
ref: ref,
|
|
8484
|
+
type: nativeType,
|
|
8485
|
+
"data-press": "own",
|
|
8486
|
+
"data-size": size,
|
|
8487
|
+
style: a.outer,
|
|
8488
|
+
disabled: busy,
|
|
8489
|
+
"aria-busy": loading || undefined,
|
|
8490
|
+
"aria-label": iconOnly ? label : undefined,
|
|
8491
|
+
onClick: onClick,
|
|
8492
|
+
onMouseEnter: () => setHover(true),
|
|
8493
|
+
onMouseLeave: () => {
|
|
8494
|
+
setHover(false);
|
|
8495
|
+
setPress(false);
|
|
8496
|
+
},
|
|
8497
|
+
onMouseDown: () => setPress(true),
|
|
8498
|
+
onMouseUp: () => setPress(false),
|
|
8499
|
+
onKeyDown: e => {
|
|
8500
|
+
if (e.key === " " || e.key === "Enter") setPress(true);
|
|
8501
|
+
},
|
|
8502
|
+
onKeyUp: () => setPress(false),
|
|
8503
|
+
onFocus: e => {
|
|
8504
|
+
try {
|
|
8505
|
+
setFocus(e.target.matches(":focus-visible"));
|
|
8506
|
+
} catch (err) {
|
|
8507
|
+
setFocus(true);
|
|
8508
|
+
}
|
|
8509
|
+
},
|
|
8510
|
+
onBlur: () => setFocus(false)
|
|
8511
|
+
}, rest), /*#__PURE__*/React.createElement("span", {
|
|
8512
|
+
"aria-hidden": "true",
|
|
8513
|
+
style: a.glow
|
|
8514
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
8515
|
+
"aria-hidden": "true",
|
|
8516
|
+
style: a.ring
|
|
8517
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
8518
|
+
style: a.surface
|
|
8519
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
8520
|
+
"aria-hidden": "true",
|
|
8521
|
+
style: a.tint
|
|
8522
|
+
}), loading ? /*#__PURE__*/React.createElement("span", {
|
|
8523
|
+
style: a.iconBox
|
|
8524
|
+
}, /*#__PURE__*/React.createElement(Spinner, {
|
|
8525
|
+
size: iconSize
|
|
8526
|
+
})) : icon ? /*#__PURE__*/React.createElement("span", {
|
|
8527
|
+
style: a.iconBox
|
|
8528
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
8529
|
+
name: icon,
|
|
8530
|
+
size: sz,
|
|
8531
|
+
style: {
|
|
8532
|
+
...tier,
|
|
8533
|
+
...a.iconRest
|
|
7311
8534
|
}
|
|
7312
|
-
})
|
|
8535
|
+
}), /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
8536
|
+
name: icon,
|
|
8537
|
+
size: sz,
|
|
8538
|
+
gradient: true,
|
|
8539
|
+
style: {
|
|
8540
|
+
...tier,
|
|
8541
|
+
...a.iconGrad
|
|
8542
|
+
}
|
|
8543
|
+
})) : null, iconOnly ? null : /*#__PURE__*/React.createElement("span", {
|
|
8544
|
+
style: a.label
|
|
8545
|
+
}, children), trailing));
|
|
7313
8546
|
}
|
|
7314
8547
|
|
|
7315
|
-
/** Keybricks button. variant: primary | dark | outline | ghost | primary-soft | danger | danger-soft | text; size: sm 28 | md 32 | lg 40 — omit it to inherit the region's tier (the default). Interaction states: hover (one step darker) · press (two steps, set via mouse-down) · keyboard focus ring · loading · disabled. */
|
|
8548
|
+
/** Keybricks button. variant: primary | dark | outline | ghost | primary-soft | danger | danger-soft | text | ai; size: sm 28 | md 32 | lg 40 — omit it to inherit the region's tier (the default). Interaction states: hover (one step darker) · press (two steps, set via mouse-down) · keyboard focus ring · loading · disabled. */
|
|
7316
8549
|
function Button({
|
|
7317
8550
|
variant = "primary",
|
|
7318
8551
|
size,
|
|
7319
8552
|
icon,
|
|
8553
|
+
trailingIcon,
|
|
7320
8554
|
iconSize,
|
|
7321
8555
|
iconPosition = "left",
|
|
7322
8556
|
medium,
|
|
@@ -7325,6 +8559,9 @@ function Button({
|
|
|
7325
8559
|
fullWidth,
|
|
7326
8560
|
iconOnly,
|
|
7327
8561
|
label,
|
|
8562
|
+
text,
|
|
8563
|
+
nativeType = "button",
|
|
8564
|
+
hovered,
|
|
7328
8565
|
pressed,
|
|
7329
8566
|
focused,
|
|
7330
8567
|
children,
|
|
@@ -7338,6 +8575,35 @@ function Button({
|
|
|
7338
8575
|
const busy = disabled || loading;
|
|
7339
8576
|
const isPressed = press || pressed;
|
|
7340
8577
|
const isFocused = focus || focused;
|
|
8578
|
+
const glyph = g => typeof g === "string" ? /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
8579
|
+
name: g,
|
|
8580
|
+
size: iconSize || 16,
|
|
8581
|
+
style: iconSize ? null : tierIcon
|
|
8582
|
+
}) : g || null;
|
|
8583
|
+
const tail = trailingIcon ? glyph(trailingIcon) : null;
|
|
8584
|
+
const label_ = children ?? text;
|
|
8585
|
+
if (variant === "ai") return /*#__PURE__*/React.createElement(AiButton, {
|
|
8586
|
+
size: size,
|
|
8587
|
+
icon: icon,
|
|
8588
|
+
trailing: tail,
|
|
8589
|
+
nativeType: nativeType,
|
|
8590
|
+
iconSize: iconSize,
|
|
8591
|
+
medium: medium,
|
|
8592
|
+
fullWidth: fullWidth,
|
|
8593
|
+
iconOnly: iconOnly,
|
|
8594
|
+
label: label,
|
|
8595
|
+
busy: busy,
|
|
8596
|
+
loading: loading,
|
|
8597
|
+
hovered: hover || hovered,
|
|
8598
|
+
isPressed: isPressed,
|
|
8599
|
+
isFocused: isFocused,
|
|
8600
|
+
setHover: setHover,
|
|
8601
|
+
setPress: setPress,
|
|
8602
|
+
setFocus: setFocus,
|
|
8603
|
+
style: style,
|
|
8604
|
+
onClick: onClick,
|
|
8605
|
+
rest: rest
|
|
8606
|
+
}, label_);
|
|
7341
8607
|
const s = {
|
|
7342
8608
|
...btnBase,
|
|
7343
8609
|
...variants[variant],
|
|
@@ -7367,31 +8633,23 @@ function Button({
|
|
|
7367
8633
|
if (isPressed) s.opacity = .7;
|
|
7368
8634
|
} else if (isPressed) {
|
|
7369
8635
|
s.background = presses[variant];
|
|
7370
|
-
} else if (hover) {
|
|
8636
|
+
} else if (hover || hovered) {
|
|
7371
8637
|
s.background = hovers[variant];
|
|
7372
8638
|
}
|
|
7373
8639
|
if (isFocused) s.boxShadow = "var(--ring-focus)";
|
|
7374
8640
|
}
|
|
7375
|
-
const iconStyle = iconSize ? null : tierIcon;
|
|
7376
8641
|
const leading = loading ? /*#__PURE__*/React.createElement(Spinner, {
|
|
7377
8642
|
size: iconSize,
|
|
7378
8643
|
color: s.color
|
|
7379
|
-
}) : icon && iconPosition === "left" ?
|
|
7380
|
-
|
|
7381
|
-
size: iconSize || 16,
|
|
7382
|
-
style: iconStyle
|
|
7383
|
-
}) : null;
|
|
7384
|
-
const trailing = !loading && icon && iconPosition === "right" ? /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
7385
|
-
name: icon,
|
|
7386
|
-
size: iconSize || 16,
|
|
7387
|
-
style: iconStyle
|
|
7388
|
-
}) : null;
|
|
8644
|
+
}) : icon && iconPosition === "left" ? glyph(icon) : null;
|
|
8645
|
+
const trailing = !loading && icon && iconPosition === "right" ? glyph(icon) : null;
|
|
7389
8646
|
return /*#__PURE__*/React.createElement("button", _extends({
|
|
7390
|
-
type:
|
|
8647
|
+
type: nativeType,
|
|
7391
8648
|
"data-press": "own",
|
|
7392
8649
|
"data-size": size,
|
|
7393
8650
|
style: s,
|
|
7394
8651
|
disabled: busy,
|
|
8652
|
+
"aria-busy": loading || undefined,
|
|
7395
8653
|
"aria-label": iconOnly ? label : undefined,
|
|
7396
8654
|
onClick: onClick,
|
|
7397
8655
|
onMouseEnter: () => setHover(true),
|
|
@@ -7413,7 +8671,7 @@ function Button({
|
|
|
7413
8671
|
}
|
|
7414
8672
|
},
|
|
7415
8673
|
onBlur: () => setFocus(false)
|
|
7416
|
-
}, rest), leading, iconOnly ? null :
|
|
8674
|
+
}, rest), leading, iconOnly ? null : label_, trailing, tail);
|
|
7417
8675
|
}
|
|
7418
8676
|
|
|
7419
8677
|
/** Attached row of Buttons sharing one outline (segmented action group). Children should be <Button variant="outline"> or similar. */
|
|
@@ -9219,31 +10477,42 @@ function Modal({
|
|
|
9219
10477
|
const toastTones = {
|
|
9220
10478
|
success: {
|
|
9221
10479
|
icon: "circle-check",
|
|
9222
|
-
|
|
10480
|
+
bg: "var(--success-bg)",
|
|
10481
|
+
border: "var(--success)",
|
|
10482
|
+
fg: "var(--success-text)"
|
|
9223
10483
|
},
|
|
9224
10484
|
danger: {
|
|
9225
10485
|
icon: "triangle-alert",
|
|
9226
|
-
|
|
10486
|
+
bg: "var(--danger-bg)",
|
|
10487
|
+
border: "var(--danger)",
|
|
10488
|
+
fg: "var(--danger-text)"
|
|
9227
10489
|
},
|
|
9228
10490
|
warning: {
|
|
9229
10491
|
icon: "triangle-alert",
|
|
9230
|
-
|
|
10492
|
+
bg: "var(--warning-bg)",
|
|
10493
|
+
border: "var(--warning)",
|
|
10494
|
+
fg: "var(--warning-text)"
|
|
9231
10495
|
},
|
|
9232
10496
|
info: {
|
|
9233
10497
|
icon: "info",
|
|
9234
|
-
|
|
10498
|
+
bg: "var(--info-bg)",
|
|
10499
|
+
border: "var(--focus-border)",
|
|
10500
|
+
fg: "var(--info-fg)"
|
|
9235
10501
|
}
|
|
9236
10502
|
};
|
|
9237
10503
|
|
|
9238
|
-
/** Single toast row. */
|
|
10504
|
+
/** Single toast row — tinted: tone wash over --bg-raised, solid tone border, tone-coloured icon, title and dismiss. */
|
|
9239
10505
|
function Toast({
|
|
9240
10506
|
tone = "success",
|
|
9241
10507
|
title,
|
|
9242
10508
|
meta,
|
|
10509
|
+
icon,
|
|
10510
|
+
closeLabel = "Dismiss",
|
|
9243
10511
|
onClose,
|
|
10512
|
+
children,
|
|
9244
10513
|
style
|
|
9245
10514
|
}) {
|
|
9246
|
-
const t = toastTones[tone];
|
|
10515
|
+
const t = toastTones[tone] || toastTones.info;
|
|
9247
10516
|
return /*#__PURE__*/React.createElement("div", {
|
|
9248
10517
|
style: {
|
|
9249
10518
|
display: "flex",
|
|
@@ -9251,8 +10520,9 @@ function Toast({
|
|
|
9251
10520
|
gap: 10,
|
|
9252
10521
|
minWidth: 280,
|
|
9253
10522
|
maxWidth: 380,
|
|
9254
|
-
|
|
9255
|
-
|
|
10523
|
+
backgroundColor: "var(--bg-raised)",
|
|
10524
|
+
backgroundImage: `linear-gradient(${t.bg}, ${t.bg})`,
|
|
10525
|
+
border: `1px solid ${t.border}`,
|
|
9256
10526
|
borderRadius: "var(--radius-lg)",
|
|
9257
10527
|
boxShadow: "var(--shadow-menu)",
|
|
9258
10528
|
padding: "12px 12px 12px 14px",
|
|
@@ -9261,13 +10531,13 @@ function Toast({
|
|
|
9261
10531
|
}
|
|
9262
10532
|
}, /*#__PURE__*/React.createElement("span", {
|
|
9263
10533
|
style: {
|
|
9264
|
-
color: t.
|
|
10534
|
+
color: t.fg,
|
|
9265
10535
|
display: "inline-flex",
|
|
9266
10536
|
alignItems: "center",
|
|
9267
10537
|
flexShrink: 0,
|
|
9268
10538
|
height: "var(--leading-base)"
|
|
9269
10539
|
}
|
|
9270
|
-
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
10540
|
+
}, icon || /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
9271
10541
|
name: t.icon,
|
|
9272
10542
|
size: 16
|
|
9273
10543
|
})), /*#__PURE__*/React.createElement("div", {
|
|
@@ -9284,23 +10554,25 @@ function Toast({
|
|
|
9284
10554
|
fontSize: "var(--text-base)",
|
|
9285
10555
|
lineHeight: "var(--leading-base)",
|
|
9286
10556
|
letterSpacing: "var(--tracking-base)",
|
|
9287
|
-
color:
|
|
10557
|
+
color: t.fg,
|
|
10558
|
+
overflowWrap: "anywhere"
|
|
9288
10559
|
}
|
|
9289
|
-
}, title), meta ? /*#__PURE__*/React.createElement("span", {
|
|
10560
|
+
}, children ?? title), meta ? /*#__PURE__*/React.createElement("span", {
|
|
9290
10561
|
style: {
|
|
9291
10562
|
fontFamily: "var(--font-sans)",
|
|
9292
10563
|
fontSize: "var(--text-xs)",
|
|
9293
10564
|
lineHeight: "var(--leading-xs)",
|
|
9294
|
-
color: "var(--text-
|
|
10565
|
+
color: "var(--text-body)"
|
|
9295
10566
|
}
|
|
9296
10567
|
}, meta) : null), onClose ? /*#__PURE__*/React.createElement(__ds_scope.IconButton, {
|
|
9297
10568
|
icon: "x",
|
|
9298
10569
|
size: "sm",
|
|
9299
10570
|
muted: true,
|
|
9300
10571
|
onClick: onClose,
|
|
9301
|
-
label:
|
|
10572
|
+
label: closeLabel,
|
|
9302
10573
|
style: {
|
|
9303
|
-
margin: "-2px 0"
|
|
10574
|
+
margin: "-2px 0",
|
|
10575
|
+
color: t.fg
|
|
9304
10576
|
}
|
|
9305
10577
|
}) : null);
|
|
9306
10578
|
}
|
|
@@ -13393,8 +14665,8 @@ const VUE_ICON_PATHS = {
|
|
|
13393
14665
|
"time-future": '<path d="M20 6A10 10 0 1 0 22 12"/><path d="M12 7v5h5"/><path d="M21 2v5h-5"/>',
|
|
13394
14666
|
"time-restatement": '<path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8"/><path d="M3 3v5h5"/><path d="M12 7v5l4 2"/>',
|
|
13395
14667
|
// AI glyphs (2.3.0) — traced from the two reference glyphs, redrawn to core rules (stroke 2, no fill, integer endpoints, >=4 between separate elements)
|
|
13396
|
-
ai: '<path d="M9
|
|
13397
|
-
"ai-sparkles": '<path d="M9
|
|
14668
|
+
ai: '<path d="M9 3H7a4 4 0 0 0-4 4v10a4 4 0 0 0 4 4h10a4 4 0 0 0 4-4v-2"/><path d="M16 2c.72 3.6 2.4 5.28 6 6c-3.6.72-5.28 2.4-6 6c-.72-3.6-2.4-5.28-6-6c3.6-.72 5.28-2.4 6-6Z"/><path d="M9 12c.6 1.5 1.5 2.4 3 3c-1.5.6-2.4 1.5-3 3c-.6-1.5-1.5-2.4-3-3c1.5-.6 2.4-1.5 3-3Z"/>',
|
|
14669
|
+
"ai-sparkles": '<path d="M9 2c.84 4.2 2.8 6.16 7 7c-4.2.84-6.16 2.8-7 7c-.84-4.2-2.8-6.16-7-7c4.2-.84 6.16-2.8 7-7Z"/><path d="M17 13c.8 2 2 3.2 4 4c-2 .8-3.2 2-4 4c-.8-2-2-3.2-4-4c2-.8 3.2-2 4-4Z"/>',
|
|
13398
14670
|
// Keybricks business glyphs (2.4.6) — dimensions, modules, rules-*, task-*; drawn to core rules or taken from Lucide
|
|
13399
14671
|
"dimension-account": '<path d="M12 7v14"/><path d="M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z"/><path d="M5 8h3"/><path d="M5 11h3"/><path d="M5 14h3"/><path d="M17 6.5v1"/><path d="M17 12.5v1"/><path d="M18.5 7.5h-2a1.25 1.25 0 0 0 0 2.5h1a1.25 1.25 0 0 1 0 2.5h-2"/>',
|
|
13400
14672
|
"dimension-audit": '<path d="M11.1 22H6a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.706.706l3.589 3.588A2.4 2.4 0 0 1 20 8v3.25"/><path d="M14 2v5a1 1 0 0 0 1 1h5"/><path d="m21 22-2.88-2.88"/><circle cx="16" cy="17" r="3"/>',
|
|
@@ -13471,7 +14743,9 @@ const VUE_ICON_PATHS = {
|
|
|
13471
14743
|
"task-etl": '<rect width="8" height="4" x="8" y="2" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><ellipse cx="12" cy="10.5" rx="3.5" ry="1.5"/><path d="M8.5 10.5v6c0 .83 1.57 1.5 3.5 1.5s3.5-.67 3.5-1.5v-6"/><path d="M8.5 13.5c0 .83 1.57 1.5 3.5 1.5s3.5-.67 3.5-1.5"/>',
|
|
13472
14744
|
"task-shared": '<rect width="8" height="4" x="8" y="2" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><g transform="translate(-.5 4)"><circle cx="15.3" cy="6.8" r=".75"/><circle cx="9.7" cy="10" r=".75"/><circle cx="15.3" cy="13.2" r=".75"/><path d="m11.35 9.06 2.3-1.32"/><path d="m11.35 10.94 2.3 1.32"/></g>',
|
|
13473
14745
|
"task-intercompany": '<rect width="8" height="4" x="8" y="2" rx="1"/><path d="M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"/><g transform="translate(-.5 4)"><path d="M8.5 14V6.5a1 1 0 0 1 1-1h3a1 1 0 0 1 1 1V14"/><path d="M13.5 9.5H16a1 1 0 0 1 1 1V14"/><path d="M7.5 14h10"/><path d="M11 8.5h.01"/><path d="M11 11h.01"/></g>',
|
|
13474
|
-
ownership: '<path d="M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17"/><path d="m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"/><path d="m2 16 6 6"/><circle cx="9" cy="5" r="3"/><path d="M12 5h9"/><path d="M18 5v2.5"/><path d="M21 5v2"/>'
|
|
14746
|
+
ownership: '<path d="M11 15h2a2 2 0 1 0 0-4h-3c-.6 0-1.1.2-1.4.6L3 17"/><path d="m7 21 1.6-1.4c.3-.4.8-.6 1.4-.6h4c1.1 0 2.1-.4 2.8-1.2l4.6-4.4a2 2 0 0 0-2.75-2.91l-4.2 3.9"/><path d="m2 16 6 6"/><circle cx="9" cy="5" r="3"/><path d="M12 5h9"/><path d="M18 5v2.5"/><path d="M21 5v2"/>',
|
|
14747
|
+
prophet: '<path d="M5.66 13.5A7.5 7.5 0 1 1 18.34 13.5"/><path d="M8.5 10a3.5 3.5 0 0 1 7 0v1.5c0 3.2-1.5 5.6-3.5 7.5c-2-1.9-3.5-4.3-3.5-7.5Z"/><path d="M8.71 13.5c1.05.95 2.15 1.4 3.29 1.4s2.24-.45 3.29-1.4"/><path d="M3.5 22a5.5 5.5 0 0 1 4-5.3"/><path d="M20.5 22a5.5 5.5 0 0 0-4-5.3"/>',
|
|
14748
|
+
"prophet-sparkle": '<path d="M5.66 13.5A7.5 7.5 0 0 1 13.24 2.1"/><path d="M19 2c.36 1.8 1.2 2.64 3 3c-1.8.36-2.64 1.2-3 3c-.36-1.8-1.2-2.64-3-3c1.8-.36 2.64-1.2 3-3Z"/><path d="M8.5 10a3.5 3.5 0 0 1 7 0v1.5c0 3.2-1.5 5.6-3.5 7.5c-2-1.9-3.5-4.3-3.5-7.5Z"/><path d="M8.71 13.5c1.05.95 2.15 1.4 3.29 1.4s2.24-.45 3.29-1.4"/><path d="M3.5 22a5.5 5.5 0 0 1 4-5.3"/><path d="M20.5 22a5.5 5.5 0 0 0-4-5.3"/>'
|
|
13475
14749
|
};
|
|
13476
14750
|
Object.assign(__ds_scope, { VUE_ICON_PATHS });
|
|
13477
14751
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/icons/icon-paths.js", error: String((e && e.message) || e) }); }
|
|
@@ -16358,8 +17632,584 @@ function SegmentedControl({
|
|
|
16358
17632
|
Object.assign(__ds_scope, { SegmentedControl });
|
|
16359
17633
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/tabs/SegmentedControl.jsx", error: String((e && e.message) || e) }); }
|
|
16360
17634
|
|
|
17635
|
+
// components/forms/GlobalSearch.jsx
|
|
17636
|
+
try { (() => {
|
|
17637
|
+
/** Default copy: .en (default) and .zh (drafted; Prophet AI = 方知). Pass one, or your own, as labels. */
|
|
17638
|
+
|
|
17639
|
+
function AiTile({
|
|
17640
|
+
on
|
|
17641
|
+
}) {
|
|
17642
|
+
const t = __ds_scope.gsAiTile(on);
|
|
17643
|
+
return /*#__PURE__*/React.createElement("span", {
|
|
17644
|
+
style: t.outer
|
|
17645
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
17646
|
+
style: t.inner
|
|
17647
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
17648
|
+
style: t.tint
|
|
17649
|
+
}), /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
17650
|
+
name: "prophet-sparkle",
|
|
17651
|
+
size: 16,
|
|
17652
|
+
gradient: on,
|
|
17653
|
+
style: t.icon
|
|
17654
|
+
})));
|
|
17655
|
+
}
|
|
17656
|
+
|
|
17657
|
+
/** Global Search (TopBar instance of Search). Collapsed: a quiet field with a ⌘K / Ctrl K hint. Open (click, ⌘K / Ctrl K): a 720px card over the
|
|
17658
|
+
* top bar with a scrim — input row, scope bar, grouped results, pinned Ask Prophet AI / Deep Search rows, keyboard footer.
|
|
17659
|
+
* It never shows AI answers: every AI entry closes the card and calls onAsk(question) so the Prophet AI panel can open.
|
|
17660
|
+
* items: local data matched by title / keywords; or onQuery(term) → items | Promise<items> (debounced 300ms).
|
|
17661
|
+
* onDeepSearch(term, update) runs Deep Search: push { status, steps, elapsed, conclusion, sources, onOpenReport } through update; return a cancel fn. */
|
|
17662
|
+
function GlobalSearch({
|
|
17663
|
+
placeholder,
|
|
17664
|
+
inputPlaceholder,
|
|
17665
|
+
items = [],
|
|
17666
|
+
onQuery,
|
|
17667
|
+
recentSearches = [],
|
|
17668
|
+
recent = [],
|
|
17669
|
+
prompts = [],
|
|
17670
|
+
onSelect,
|
|
17671
|
+
onAsk,
|
|
17672
|
+
onDeepSearch,
|
|
17673
|
+
onInput,
|
|
17674
|
+
labels,
|
|
17675
|
+
inline,
|
|
17676
|
+
defaultOpen,
|
|
17677
|
+
defaultQuery = "",
|
|
17678
|
+
defaultDeep,
|
|
17679
|
+
style
|
|
17680
|
+
}) {
|
|
17681
|
+
const L = __ds_scope.gsLabels(labels);
|
|
17682
|
+
const [open, setOpen] = React.useState(!!(inline || defaultOpen));
|
|
17683
|
+
const [q, setQ] = React.useState(defaultQuery);
|
|
17684
|
+
const [scope, setScope] = React.useState(0);
|
|
17685
|
+
const [found, setFound] = React.useState(null);
|
|
17686
|
+
const [loading, setLoading] = React.useState(false);
|
|
17687
|
+
const [sel, setSel] = React.useState(0);
|
|
17688
|
+
const [deep, setDeep] = React.useState(defaultDeep ? {
|
|
17689
|
+
query: defaultQuery,
|
|
17690
|
+
...defaultDeep
|
|
17691
|
+
} : null);
|
|
17692
|
+
const [stepsOpen, setStepsOpen] = React.useState(false);
|
|
17693
|
+
const [hover, setHover] = React.useState(false);
|
|
17694
|
+
const [pos, setPos] = React.useState({
|
|
17695
|
+
left: 8,
|
|
17696
|
+
width: 720,
|
|
17697
|
+
maxH: 640
|
|
17698
|
+
});
|
|
17699
|
+
const fieldRef = React.useRef(null),
|
|
17700
|
+
inputRef = React.useRef(null),
|
|
17701
|
+
bodyRef = React.useRef(null);
|
|
17702
|
+
const cancelDeep = React.useRef(null),
|
|
17703
|
+
now = React.useRef(!!defaultQuery);
|
|
17704
|
+
const mac = React.useMemo(__ds_scope.gsIsMac, []);
|
|
17705
|
+
const term = q.trim();
|
|
17706
|
+
const stopDeep = () => {
|
|
17707
|
+
if (cancelDeep.current) cancelDeep.current();
|
|
17708
|
+
cancelDeep.current = null;
|
|
17709
|
+
};
|
|
17710
|
+
const openCard = () => {
|
|
17711
|
+
if (inline) return;
|
|
17712
|
+
setPos(__ds_scope.gsPos(fieldRef.current));
|
|
17713
|
+
setOpen(true);
|
|
17714
|
+
};
|
|
17715
|
+
const close = () => {
|
|
17716
|
+
if (inline) return;
|
|
17717
|
+
stopDeep();
|
|
17718
|
+
setDeep(null);
|
|
17719
|
+
setOpen(false);
|
|
17720
|
+
if (fieldRef.current) fieldRef.current.focus();
|
|
17721
|
+
};
|
|
17722
|
+
const ask = text => {
|
|
17723
|
+
close();
|
|
17724
|
+
if (onAsk) onAsk(text || "");
|
|
17725
|
+
};
|
|
17726
|
+
const startDeep = () => {
|
|
17727
|
+
stopDeep();
|
|
17728
|
+
setStepsOpen(false);
|
|
17729
|
+
setDeep({
|
|
17730
|
+
query: term,
|
|
17731
|
+
status: "running",
|
|
17732
|
+
steps: []
|
|
17733
|
+
});
|
|
17734
|
+
const c = onDeepSearch && onDeepSearch(term, s => setDeep(d => d ? {
|
|
17735
|
+
...d,
|
|
17736
|
+
...s
|
|
17737
|
+
} : d));
|
|
17738
|
+
cancelDeep.current = typeof c === "function" ? c : null;
|
|
17739
|
+
};
|
|
17740
|
+
const exitDeep = () => {
|
|
17741
|
+
stopDeep();
|
|
17742
|
+
setDeep(null);
|
|
17743
|
+
};
|
|
17744
|
+
React.useEffect(() => {
|
|
17745
|
+
if (defaultOpen && !inline) setPos(__ds_scope.gsPos(fieldRef.current));
|
|
17746
|
+
if (inline) return;
|
|
17747
|
+
const h = e => {
|
|
17748
|
+
if (__ds_scope.gsMod(e, mac) && e.key && e.key.toLowerCase() === "k") {
|
|
17749
|
+
e.preventDefault();
|
|
17750
|
+
setPos(__ds_scope.gsPos(fieldRef.current));
|
|
17751
|
+
setOpen(true);
|
|
17752
|
+
}
|
|
17753
|
+
};
|
|
17754
|
+
document.addEventListener("keydown", h);
|
|
17755
|
+
return () => {
|
|
17756
|
+
document.removeEventListener("keydown", h);
|
|
17757
|
+
stopDeep();
|
|
17758
|
+
};
|
|
17759
|
+
}, [inline, mac]);
|
|
17760
|
+
React.useEffect(() => {
|
|
17761
|
+
if (open && !inline && inputRef.current) inputRef.current.focus();
|
|
17762
|
+
}, [open]);
|
|
17763
|
+
React.useEffect(() => {
|
|
17764
|
+
if (!term) {
|
|
17765
|
+
setFound(null);
|
|
17766
|
+
setLoading(false);
|
|
17767
|
+
return;
|
|
17768
|
+
}
|
|
17769
|
+
let live = true;
|
|
17770
|
+
const run = () => {
|
|
17771
|
+
setLoading(true);
|
|
17772
|
+
Promise.resolve(onQuery ? onQuery(term) : __ds_scope.gsFilter(items, term)).then(r => {
|
|
17773
|
+
if (live) {
|
|
17774
|
+
setFound(r || []);
|
|
17775
|
+
setLoading(false);
|
|
17776
|
+
}
|
|
17777
|
+
}, () => {
|
|
17778
|
+
if (live) {
|
|
17779
|
+
setFound([]);
|
|
17780
|
+
setLoading(false);
|
|
17781
|
+
}
|
|
17782
|
+
});
|
|
17783
|
+
};
|
|
17784
|
+
let t = null;
|
|
17785
|
+
if (now.current) {
|
|
17786
|
+
now.current = false;
|
|
17787
|
+
run();
|
|
17788
|
+
} else t = setTimeout(run, 300);
|
|
17789
|
+
return () => {
|
|
17790
|
+
live = false;
|
|
17791
|
+
if (t) clearTimeout(t);
|
|
17792
|
+
};
|
|
17793
|
+
}, [term]);
|
|
17794
|
+
React.useEffect(() => {
|
|
17795
|
+
setSel(0);
|
|
17796
|
+
}, [found, scope]);
|
|
17797
|
+
const {
|
|
17798
|
+
rows,
|
|
17799
|
+
total
|
|
17800
|
+
} = __ds_scope.gsRows({
|
|
17801
|
+
term,
|
|
17802
|
+
found,
|
|
17803
|
+
loading,
|
|
17804
|
+
scope,
|
|
17805
|
+
recent,
|
|
17806
|
+
prompts,
|
|
17807
|
+
deep,
|
|
17808
|
+
hasDeep: !!onDeepSearch,
|
|
17809
|
+
L
|
|
17810
|
+
});
|
|
17811
|
+
const cur = Math.max(0, Math.min(sel, rows.length - 1));
|
|
17812
|
+
React.useEffect(() => {
|
|
17813
|
+
__ds_scope.gsReveal(bodyRef.current, cur);
|
|
17814
|
+
}, [cur]);
|
|
17815
|
+
const activate = r => {
|
|
17816
|
+
if (!r) return;
|
|
17817
|
+
if (r.kind === "result" || r.kind === "recent") {
|
|
17818
|
+
close();
|
|
17819
|
+
if (onSelect) onSelect(r.item);
|
|
17820
|
+
if (r.item.onSelect) r.item.onSelect();
|
|
17821
|
+
} else if (r.kind === "prompt") ask(r.text);else if (r.kind === "ask") ask(term);else if (r.kind === "deep") startDeep();
|
|
17822
|
+
};
|
|
17823
|
+
const change = v => {
|
|
17824
|
+
if (deep) exitDeep();
|
|
17825
|
+
setQ(v);
|
|
17826
|
+
setSel(0);
|
|
17827
|
+
if (onInput) onInput(v);
|
|
17828
|
+
};
|
|
17829
|
+
const pickChip = v => {
|
|
17830
|
+
now.current = true;
|
|
17831
|
+
change(v);
|
|
17832
|
+
};
|
|
17833
|
+
const key = e => {
|
|
17834
|
+
if (e.nativeEvent && e.nativeEvent.isComposing) return;
|
|
17835
|
+
const n = rows.length;
|
|
17836
|
+
if (e.key === "ArrowDown" || e.key === "ArrowUp") {
|
|
17837
|
+
if (!n) return;
|
|
17838
|
+
e.preventDefault();
|
|
17839
|
+
setSel((cur + (e.key === "ArrowDown" ? 1 : -1) + n) % n);
|
|
17840
|
+
} else if (e.key === "Enter") {
|
|
17841
|
+
e.preventDefault();
|
|
17842
|
+
if (__ds_scope.gsMod(e, mac)) ask(term);else activate(rows[cur]);
|
|
17843
|
+
} else if (e.key === "Escape") {
|
|
17844
|
+
e.preventDefault();
|
|
17845
|
+
if (deep) exitDeep();else close();
|
|
17846
|
+
}
|
|
17847
|
+
};
|
|
17848
|
+
const rowProps = r => ({
|
|
17849
|
+
key: r.i,
|
|
17850
|
+
"data-gs-row": r.i,
|
|
17851
|
+
role: "option",
|
|
17852
|
+
"aria-selected": r.i === cur,
|
|
17853
|
+
style: __ds_scope.gsStyles.row(r.i === cur),
|
|
17854
|
+
onMouseEnter: () => setSel(r.i),
|
|
17855
|
+
onMouseDown: e => e.preventDefault(),
|
|
17856
|
+
onClick: () => activate(r)
|
|
17857
|
+
});
|
|
17858
|
+
const head = r => r.head ? /*#__PURE__*/React.createElement("div", {
|
|
17859
|
+
key: "h" + r.i,
|
|
17860
|
+
style: __ds_scope.gsStyles.head
|
|
17861
|
+
}, /*#__PURE__*/React.createElement("span", null, r.head.label), r.head.more ? /*#__PURE__*/React.createElement("button", {
|
|
17862
|
+
type: "button",
|
|
17863
|
+
style: __ds_scope.gsStyles.more,
|
|
17864
|
+
onMouseDown: e => e.preventDefault(),
|
|
17865
|
+
onClick: () => setScope(r.head.more.scope)
|
|
17866
|
+
}, __ds_scope.gsFill(L.viewAll, {
|
|
17867
|
+
n: r.head.more.n
|
|
17868
|
+
})) : null) : null;
|
|
17869
|
+
const enter = r => r.i === cur ? /*#__PURE__*/React.createElement(__ds_scope.Kbd, {
|
|
17870
|
+
keys: ["enter"]
|
|
17871
|
+
}) : null;
|
|
17872
|
+
const itemRow = (r, mark) => {
|
|
17873
|
+
const it = r.item,
|
|
17874
|
+
k = it.kind || "feature",
|
|
17875
|
+
parts = mark ? __ds_scope.gsSplit(it.title, term) : [it.title, "", ""];
|
|
17876
|
+
return /*#__PURE__*/React.createElement(React.Fragment, {
|
|
17877
|
+
key: r.i
|
|
17878
|
+
}, head(r), /*#__PURE__*/React.createElement("div", rowProps(r), /*#__PURE__*/React.createElement("span", {
|
|
17879
|
+
style: __ds_scope.gsStyles.tile(k === "document" ? it.tone : null)
|
|
17880
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
17881
|
+
name: it.icon || __ds_scope.GS_ICONS[k],
|
|
17882
|
+
size: 16
|
|
17883
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
17884
|
+
style: __ds_scope.gsStyles.text
|
|
17885
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
17886
|
+
style: __ds_scope.gsStyles.title
|
|
17887
|
+
}, parts[0], parts[1] ? /*#__PURE__*/React.createElement("span", {
|
|
17888
|
+
style: __ds_scope.gsStyles.mark
|
|
17889
|
+
}, parts[1]) : null, parts[2]), it.sub ? /*#__PURE__*/React.createElement("span", {
|
|
17890
|
+
style: __ds_scope.gsStyles.sub
|
|
17891
|
+
}, it.sub) : null), it.meta ? /*#__PURE__*/React.createElement("span", {
|
|
17892
|
+
style: __ds_scope.gsStyles.meta
|
|
17893
|
+
}, it.meta) : null, enter(r)));
|
|
17894
|
+
};
|
|
17895
|
+
let body;
|
|
17896
|
+
if (deep) {
|
|
17897
|
+
const steps = deep.steps || [],
|
|
17898
|
+
n = steps.length,
|
|
17899
|
+
ri = steps.findIndex(s => s.state === "running"),
|
|
17900
|
+
run = steps[ri];
|
|
17901
|
+
body = /*#__PURE__*/React.createElement("div", {
|
|
17902
|
+
style: {
|
|
17903
|
+
...__ds_scope.gsStyles.body,
|
|
17904
|
+
padding: 0
|
|
17905
|
+
}
|
|
17906
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
17907
|
+
style: __ds_scope.gsStyles.deep
|
|
17908
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
17909
|
+
style: __ds_scope.gsStyles.deepHead
|
|
17910
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
17911
|
+
style: __ds_scope.gsStyles.tile()
|
|
17912
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
17913
|
+
name: "text-search",
|
|
17914
|
+
size: 16
|
|
17915
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
17916
|
+
style: __ds_scope.gsStyles.text
|
|
17917
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
17918
|
+
style: __ds_scope.gsStyles.deepTitle
|
|
17919
|
+
}, __ds_scope.gsFill(L.deepTitle, {
|
|
17920
|
+
q: deep.query
|
|
17921
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
17922
|
+
style: __ds_scope.gsStyles.sub
|
|
17923
|
+
}, deep.status === "done" ? __ds_scope.gsFill(L.doneStatus, {
|
|
17924
|
+
t: deep.elapsed || "",
|
|
17925
|
+
n: (deep.sources || []).length
|
|
17926
|
+
}) : L.running))), n ? /*#__PURE__*/React.createElement("div", {
|
|
17927
|
+
style: __ds_scope.gsStyles.steps
|
|
17928
|
+
}, /*#__PURE__*/React.createElement("button", {
|
|
17929
|
+
type: "button",
|
|
17930
|
+
"data-wash": "",
|
|
17931
|
+
"aria-expanded": stepsOpen,
|
|
17932
|
+
style: __ds_scope.gsStyles.toggle,
|
|
17933
|
+
onClick: () => setStepsOpen(!stepsOpen)
|
|
17934
|
+
}, deep.status === "done" || !run ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
17935
|
+
style: {
|
|
17936
|
+
...__ds_scope.gsStyles.stepIcon,
|
|
17937
|
+
color: "var(--success)"
|
|
17938
|
+
}
|
|
17939
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
17940
|
+
name: "circle-check",
|
|
17941
|
+
size: 14
|
|
17942
|
+
})), /*#__PURE__*/React.createElement("span", null, __ds_scope.gsFill(L.stepsDone, {
|
|
17943
|
+
n
|
|
17944
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
17945
|
+
style: __ds_scope.gsStyles.muted
|
|
17946
|
+
}, deep.elapsed)) : /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
17947
|
+
style: __ds_scope.gsStyles.stepIcon
|
|
17948
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Spinner, {
|
|
17949
|
+
size: 12,
|
|
17950
|
+
color: "var(--text-secondary)"
|
|
17951
|
+
})), /*#__PURE__*/React.createElement("span", null, run.label, "\u2026"), /*#__PURE__*/React.createElement("span", {
|
|
17952
|
+
style: __ds_scope.gsStyles.muted
|
|
17953
|
+
}, __ds_scope.gsFill(L.stepOf, {
|
|
17954
|
+
i: ri + 1,
|
|
17955
|
+
n
|
|
17956
|
+
}))), /*#__PURE__*/React.createElement("span", {
|
|
17957
|
+
style: __ds_scope.gsStyles.grow
|
|
17958
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
17959
|
+
style: {
|
|
17960
|
+
...__ds_scope.gsStyles.stepIcon,
|
|
17961
|
+
color: "var(--text-muted)",
|
|
17962
|
+
transform: stepsOpen ? "rotate(180deg)" : "none"
|
|
17963
|
+
}
|
|
17964
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
17965
|
+
name: "chevron-down",
|
|
17966
|
+
size: 14
|
|
17967
|
+
}))), stepsOpen ? steps.map((s, i) => /*#__PURE__*/React.createElement("div", {
|
|
17968
|
+
key: i,
|
|
17969
|
+
style: __ds_scope.gsStyles.stepLine
|
|
17970
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
17971
|
+
style: {
|
|
17972
|
+
...__ds_scope.gsStyles.stepIcon,
|
|
17973
|
+
color: "var(--success)"
|
|
17974
|
+
}
|
|
17975
|
+
}, s.state === "done" ? /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
17976
|
+
name: "circle-check",
|
|
17977
|
+
size: 14
|
|
17978
|
+
}) : s.state === "running" ? /*#__PURE__*/React.createElement(__ds_scope.Spinner, {
|
|
17979
|
+
size: 12,
|
|
17980
|
+
color: "var(--text-secondary)"
|
|
17981
|
+
}) : /*#__PURE__*/React.createElement("span", {
|
|
17982
|
+
style: __ds_scope.gsStyles.pending
|
|
17983
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
17984
|
+
style: {
|
|
17985
|
+
color: s.state === "pending" ? "var(--text-muted)" : "var(--text-body)"
|
|
17986
|
+
}
|
|
17987
|
+
}, s.label), s.meta ? /*#__PURE__*/React.createElement("span", {
|
|
17988
|
+
style: __ds_scope.gsStyles.muted
|
|
17989
|
+
}, s.meta) : null)) : null) : null, deep.conclusion ? /*#__PURE__*/React.createElement("div", {
|
|
17990
|
+
style: __ds_scope.gsStyles.conclusion
|
|
17991
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
17992
|
+
style: __ds_scope.gsStyles.concLabel
|
|
17993
|
+
}, L.conclusion), /*#__PURE__*/React.createElement("div", {
|
|
17994
|
+
style: __ds_scope.gsStyles.concText
|
|
17995
|
+
}, [].concat(deep.conclusion).map((p, i) => /*#__PURE__*/React.createElement("span", {
|
|
17996
|
+
key: i
|
|
17997
|
+
}, p))), deep.sources && deep.sources.length ? /*#__PURE__*/React.createElement("div", {
|
|
17998
|
+
style: __ds_scope.gsStyles.sources
|
|
17999
|
+
}, deep.sources.map((s, i) => /*#__PURE__*/React.createElement("span", {
|
|
18000
|
+
key: i,
|
|
18001
|
+
style: __ds_scope.gsStyles.source
|
|
18002
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
18003
|
+
name: "file-text",
|
|
18004
|
+
size: 12
|
|
18005
|
+
}), s))) : null, /*#__PURE__*/React.createElement("div", {
|
|
18006
|
+
"data-size": "sm",
|
|
18007
|
+
style: __ds_scope.gsStyles.actions
|
|
18008
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Button, {
|
|
18009
|
+
variant: "primary-soft",
|
|
18010
|
+
icon: "file-text",
|
|
18011
|
+
onClick: deep.onOpenReport
|
|
18012
|
+
}, L.openReport), /*#__PURE__*/React.createElement(__ds_scope.Button, {
|
|
18013
|
+
variant: "ghost",
|
|
18014
|
+
icon: "prophet-sparkle",
|
|
18015
|
+
onClick: () => ask(deep.query)
|
|
18016
|
+
}, L.followUp))) : null));
|
|
18017
|
+
} else if (!term) {
|
|
18018
|
+
body = /*#__PURE__*/React.createElement("div", {
|
|
18019
|
+
ref: bodyRef,
|
|
18020
|
+
role: "listbox",
|
|
18021
|
+
style: __ds_scope.gsStyles.body
|
|
18022
|
+
}, recentSearches.length ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
18023
|
+
style: __ds_scope.gsStyles.head
|
|
18024
|
+
}, /*#__PURE__*/React.createElement("span", null, L.recentSearches)), /*#__PURE__*/React.createElement("div", {
|
|
18025
|
+
style: __ds_scope.gsStyles.chips
|
|
18026
|
+
}, recentSearches.map(s => /*#__PURE__*/React.createElement("button", {
|
|
18027
|
+
key: s,
|
|
18028
|
+
type: "button",
|
|
18029
|
+
style: __ds_scope.gsStyles.chip,
|
|
18030
|
+
onMouseDown: e => e.preventDefault(),
|
|
18031
|
+
onClick: () => pickChip(s)
|
|
18032
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18033
|
+
style: __ds_scope.gsStyles.chipIcon
|
|
18034
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
18035
|
+
name: "history",
|
|
18036
|
+
size: 12
|
|
18037
|
+
})), s)))) : null, rows.map(r => r.kind === "recent" ? itemRow(r, false) : /*#__PURE__*/React.createElement(React.Fragment, {
|
|
18038
|
+
key: r.i
|
|
18039
|
+
}, head(r), /*#__PURE__*/React.createElement("div", rowProps(r), /*#__PURE__*/React.createElement(AiTile, {
|
|
18040
|
+
on: r.i === cur
|
|
18041
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
18042
|
+
style: __ds_scope.gsStyles.text
|
|
18043
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18044
|
+
style: __ds_scope.gsStyles.title
|
|
18045
|
+
}, r.text)), enter(r)))));
|
|
18046
|
+
} else {
|
|
18047
|
+
const res = rows.filter(r => r.kind === "result");
|
|
18048
|
+
body = /*#__PURE__*/React.createElement("div", {
|
|
18049
|
+
ref: bodyRef,
|
|
18050
|
+
role: "listbox",
|
|
18051
|
+
style: __ds_scope.gsStyles.body
|
|
18052
|
+
}, loading ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
18053
|
+
style: __ds_scope.gsStyles.head
|
|
18054
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Skeleton, {
|
|
18055
|
+
width: 64,
|
|
18056
|
+
height: 10
|
|
18057
|
+
})), [0, 1, 2, 3].map(i => /*#__PURE__*/React.createElement("div", {
|
|
18058
|
+
key: i,
|
|
18059
|
+
style: __ds_scope.gsStyles.skelRow
|
|
18060
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Skeleton, {
|
|
18061
|
+
width: 32,
|
|
18062
|
+
height: 32,
|
|
18063
|
+
radius: "var(--radius-md)"
|
|
18064
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
18065
|
+
style: __ds_scope.gsStyles.skelText
|
|
18066
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Skeleton, {
|
|
18067
|
+
width: "46%",
|
|
18068
|
+
height: 12
|
|
18069
|
+
}), /*#__PURE__*/React.createElement(__ds_scope.Skeleton, {
|
|
18070
|
+
width: "28%",
|
|
18071
|
+
height: 10
|
|
18072
|
+
}))))) : found && !res.length ? /*#__PURE__*/React.createElement("div", {
|
|
18073
|
+
style: __ds_scope.gsStyles.empty
|
|
18074
|
+
}, L.noResults) : res.map(r => itemRow(r, true)));
|
|
18075
|
+
}
|
|
18076
|
+
const pinned = !deep && term ? /*#__PURE__*/React.createElement("div", {
|
|
18077
|
+
style: __ds_scope.gsStyles.pinned
|
|
18078
|
+
}, rows.filter(r => r.kind === "ask" || r.kind === "deep").map(r => r.kind === "ask" ? /*#__PURE__*/React.createElement("div", rowProps(r), /*#__PURE__*/React.createElement(AiTile, {
|
|
18079
|
+
on: r.i === cur
|
|
18080
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
18081
|
+
style: __ds_scope.gsStyles.text
|
|
18082
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18083
|
+
style: __ds_scope.gsStyles.title
|
|
18084
|
+
}, __ds_scope.gsFill(L.askRow, {
|
|
18085
|
+
q: term
|
|
18086
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
18087
|
+
style: __ds_scope.gsStyles.sub
|
|
18088
|
+
}, L.askSub)), /*#__PURE__*/React.createElement(__ds_scope.Kbd, {
|
|
18089
|
+
keys: ["mod", "enter"]
|
|
18090
|
+
})) : /*#__PURE__*/React.createElement("div", rowProps(r), /*#__PURE__*/React.createElement("span", {
|
|
18091
|
+
style: __ds_scope.gsStyles.tile()
|
|
18092
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
18093
|
+
name: "text-search",
|
|
18094
|
+
size: 16
|
|
18095
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
18096
|
+
style: __ds_scope.gsStyles.text
|
|
18097
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18098
|
+
style: __ds_scope.gsStyles.title
|
|
18099
|
+
}, __ds_scope.gsFill(L.deepRow, {
|
|
18100
|
+
q: term
|
|
18101
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
18102
|
+
style: __ds_scope.gsStyles.sub
|
|
18103
|
+
}, L.deepSub)), enter(r)))) : null;
|
|
18104
|
+
const card = /*#__PURE__*/React.createElement("div", {
|
|
18105
|
+
role: "dialog",
|
|
18106
|
+
"aria-modal": inline ? undefined : "true",
|
|
18107
|
+
"aria-label": L.input,
|
|
18108
|
+
"data-size": "md",
|
|
18109
|
+
onKeyDown: key,
|
|
18110
|
+
style: {
|
|
18111
|
+
...__ds_scope.gsStyles.card,
|
|
18112
|
+
...(inline ? null : __ds_scope.gsStyles.cardFixed(pos)),
|
|
18113
|
+
...(inline ? style : null)
|
|
18114
|
+
}
|
|
18115
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
18116
|
+
style: __ds_scope.gsStyles.inputRow
|
|
18117
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18118
|
+
style: __ds_scope.gsStyles.lead
|
|
18119
|
+
}, loading ? /*#__PURE__*/React.createElement(__ds_scope.Spinner, {
|
|
18120
|
+
size: 14,
|
|
18121
|
+
color: "var(--text-secondary)"
|
|
18122
|
+
}) : /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
18123
|
+
name: deep ? "text-search" : "search",
|
|
18124
|
+
size: 16
|
|
18125
|
+
})), /*#__PURE__*/React.createElement("input", {
|
|
18126
|
+
ref: inputRef,
|
|
18127
|
+
value: q,
|
|
18128
|
+
onChange: e => change(e.target.value),
|
|
18129
|
+
placeholder: inputPlaceholder || L.input,
|
|
18130
|
+
"aria-label": inputPlaceholder || L.input,
|
|
18131
|
+
style: __ds_scope.gsStyles.input
|
|
18132
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
18133
|
+
style: __ds_scope.gsStyles.trail
|
|
18134
|
+
}, q ? /*#__PURE__*/React.createElement(__ds_scope.IconButton, {
|
|
18135
|
+
icon: "x",
|
|
18136
|
+
muted: true,
|
|
18137
|
+
label: L.clear,
|
|
18138
|
+
title: L.clear,
|
|
18139
|
+
onClick: () => {
|
|
18140
|
+
change("");
|
|
18141
|
+
if (inputRef.current) inputRef.current.focus();
|
|
18142
|
+
}
|
|
18143
|
+
}) : null, /*#__PURE__*/React.createElement(__ds_scope.Button, {
|
|
18144
|
+
variant: "ai",
|
|
18145
|
+
onClick: () => ask(term)
|
|
18146
|
+
}, L.ask))), term && !deep ? /*#__PURE__*/React.createElement("div", {
|
|
18147
|
+
style: __ds_scope.gsStyles.scope
|
|
18148
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.SegmentedControl, {
|
|
18149
|
+
size: "sm",
|
|
18150
|
+
options: L.scopes,
|
|
18151
|
+
value: L.scopes[scope],
|
|
18152
|
+
onChange: v => setScope(Math.max(0, L.scopes.indexOf(v)))
|
|
18153
|
+
}), /*#__PURE__*/React.createElement("span", {
|
|
18154
|
+
style: __ds_scope.gsStyles.count
|
|
18155
|
+
}, loading ? L.searching : found ? __ds_scope.gsFill(L.results, {
|
|
18156
|
+
n: total
|
|
18157
|
+
}) : "")) : null, body, pinned, /*#__PURE__*/React.createElement("div", {
|
|
18158
|
+
style: __ds_scope.gsStyles.footer
|
|
18159
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18160
|
+
style: __ds_scope.gsStyles.hints
|
|
18161
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18162
|
+
style: __ds_scope.gsStyles.hint
|
|
18163
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Kbd, {
|
|
18164
|
+
keys: ["↑", "↓"]
|
|
18165
|
+
}), L.select), /*#__PURE__*/React.createElement("span", {
|
|
18166
|
+
style: __ds_scope.gsStyles.hint
|
|
18167
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Kbd, {
|
|
18168
|
+
keys: ["mod", "enter"]
|
|
18169
|
+
}), L.ask), /*#__PURE__*/React.createElement("span", {
|
|
18170
|
+
style: __ds_scope.gsStyles.hint
|
|
18171
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Kbd, {
|
|
18172
|
+
keys: ["esc"]
|
|
18173
|
+
}), L.close)), /*#__PURE__*/React.createElement("span", {
|
|
18174
|
+
style: __ds_scope.gsStyles.hint
|
|
18175
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
18176
|
+
name: "lock",
|
|
18177
|
+
size: 12
|
|
18178
|
+
}), L.privacy)));
|
|
18179
|
+
if (inline) return card;
|
|
18180
|
+
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("button", {
|
|
18181
|
+
ref: fieldRef,
|
|
18182
|
+
type: "button",
|
|
18183
|
+
"data-field": "",
|
|
18184
|
+
"aria-haspopup": "dialog",
|
|
18185
|
+
"aria-expanded": open,
|
|
18186
|
+
onClick: openCard,
|
|
18187
|
+
onMouseEnter: () => setHover(true),
|
|
18188
|
+
onMouseLeave: () => setHover(false),
|
|
18189
|
+
style: {
|
|
18190
|
+
...__ds_scope.gsStyles.field(hover),
|
|
18191
|
+
...style
|
|
18192
|
+
}
|
|
18193
|
+
}, /*#__PURE__*/React.createElement("span", {
|
|
18194
|
+
style: __ds_scope.gsStyles.fieldIcon
|
|
18195
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.Icon, {
|
|
18196
|
+
name: "search",
|
|
18197
|
+
size: 16
|
|
18198
|
+
})), /*#__PURE__*/React.createElement("span", {
|
|
18199
|
+
style: __ds_scope.gsStyles.fieldLabel
|
|
18200
|
+
}, placeholder || L.field), /*#__PURE__*/React.createElement(__ds_scope.Kbd, {
|
|
18201
|
+
keys: ["mod", "K"]
|
|
18202
|
+
})), open ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
18203
|
+
style: __ds_scope.gsStyles.scrim,
|
|
18204
|
+
onMouseDown: close
|
|
18205
|
+
}), card) : null);
|
|
18206
|
+
}
|
|
18207
|
+
Object.assign(__ds_scope, { GLOBAL_SEARCH_LABELS: __ds_scope.GLOBAL_SEARCH_LABELS, GlobalSearch });
|
|
18208
|
+
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/forms/GlobalSearch.jsx", error: String((e && e.message) || e) }); }
|
|
18209
|
+
|
|
16361
18210
|
// components/navigation/TopBar.jsx
|
|
16362
18211
|
try { (() => {
|
|
18212
|
+
function _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }
|
|
16363
18213
|
const TXT = {
|
|
16364
18214
|
fontFamily: "var(--font-sans)",
|
|
16365
18215
|
fontSize: "var(--text-base)",
|
|
@@ -16497,13 +18347,14 @@ function UserMenu({
|
|
|
16497
18347
|
}) : null);
|
|
16498
18348
|
}
|
|
16499
18349
|
|
|
16500
|
-
/** 56px top bar:
|
|
16501
|
-
* The user trigger opens a UserMenu below it (closes on outside click). actions replaces the right-hand group entirely. */
|
|
18350
|
+
/** 56px top bar: GlobalSearch on the left (⌘K / Ctrl K, Prophet AI hand-off via onAi); notifications, help and the user trigger on the right.
|
|
18351
|
+
* The user trigger opens a UserMenu below it (closes on outside click). actions replaces the right-hand group entirely. search passes props to GlobalSearch. */
|
|
16502
18352
|
function TopBar({
|
|
16503
|
-
placeholder
|
|
18353
|
+
placeholder,
|
|
16504
18354
|
onSearch,
|
|
18355
|
+
search,
|
|
16505
18356
|
actions,
|
|
16506
|
-
aiLabel
|
|
18357
|
+
aiLabel,
|
|
16507
18358
|
onAi,
|
|
16508
18359
|
onNotifications,
|
|
16509
18360
|
onHelp,
|
|
@@ -16547,15 +18398,16 @@ function TopBar({
|
|
|
16547
18398
|
position: "relative",
|
|
16548
18399
|
...style
|
|
16549
18400
|
}
|
|
16550
|
-
}, /*#__PURE__*/React.createElement(__ds_scope.
|
|
16551
|
-
bare: true,
|
|
18401
|
+
}, /*#__PURE__*/React.createElement(__ds_scope.GlobalSearch, _extends({
|
|
16552
18402
|
placeholder: placeholder,
|
|
16553
|
-
|
|
16554
|
-
|
|
16555
|
-
|
|
16556
|
-
|
|
16557
|
-
|
|
16558
|
-
|
|
18403
|
+
onInput: onSearch,
|
|
18404
|
+
onAsk: onAi
|
|
18405
|
+
}, search, {
|
|
18406
|
+
labels: aiLabel ? {
|
|
18407
|
+
...(search && search.labels),
|
|
18408
|
+
ask: aiLabel
|
|
18409
|
+
} : search && search.labels
|
|
18410
|
+
})), /*#__PURE__*/React.createElement("div", {
|
|
16559
18411
|
ref: ref,
|
|
16560
18412
|
style: {
|
|
16561
18413
|
display: "flex",
|
|
@@ -16563,11 +18415,7 @@ function TopBar({
|
|
|
16563
18415
|
gap: 8,
|
|
16564
18416
|
flexShrink: 0
|
|
16565
18417
|
}
|
|
16566
|
-
}, actions || /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(__ds_scope.
|
|
16567
|
-
variant: "dark",
|
|
16568
|
-
icon: "ai",
|
|
16569
|
-
onClick: onAi
|
|
16570
|
-
}, aiLabel), /*#__PURE__*/React.createElement(__ds_scope.IconButton, {
|
|
18418
|
+
}, actions || /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(__ds_scope.IconButton, {
|
|
16571
18419
|
icon: "bell",
|
|
16572
18420
|
label: notificationsLabel,
|
|
16573
18421
|
title: notificationsLabel,
|
|
@@ -16988,7 +18836,7 @@ Object.assign(__ds_scope, { PaletteItem, PaletteListItem, PIPELINE_CATALOG: __ds
|
|
|
16988
18836
|
// components/index.js
|
|
16989
18837
|
try { (() => {
|
|
16990
18838
|
|
|
16991
|
-
Object.assign(__ds_scope, { ActionChip: __ds_scope.ActionChip, Button: __ds_scope.Button, ButtonGroup: __ds_scope.ButtonGroup, IconButton: __ds_scope.IconButton, Bar3D: __ds_scope.Bar3D, BarChart: __ds_scope.BarChart, BarList: __ds_scope.BarList, BoxPlot: __ds_scope.BoxPlot, BulletChart: __ds_scope.BulletChart, CandlestickChart: __ds_scope.CandlestickChart, ChartKit: __ds_scope.ChartKit, ChartLegend: __ds_scope.ChartLegend, ChartTooltip: __ds_scope.ChartTooltip, PlotGrid: __ds_scope.PlotGrid, XLabels: __ds_scope.XLabels, ChordChart: __ds_scope.ChordChart, DonutChart: __ds_scope.DonutChart, FunnelChart: __ds_scope.FunnelChart, GanttChart: __ds_scope.GanttChart, GaugeChart: __ds_scope.GaugeChart, HeatmapChart: __ds_scope.HeatmapChart, Histogram: __ds_scope.Histogram, LineChart: __ds_scope.LineChart, ParetoChart: __ds_scope.ParetoChart, Pie3D: __ds_scope.Pie3D, RadarChart: __ds_scope.RadarChart, Ribbon3D: __ds_scope.Ribbon3D, SankeyChart: __ds_scope.SankeyChart, Scatter3D: __ds_scope.Scatter3D, ScatterChart: __ds_scope.ScatterChart, Sparkline: __ds_scope.Sparkline, SunburstChart: __ds_scope.SunburstChart, Surface3D: __ds_scope.Surface3D, TreemapChart: __ds_scope.TreemapChart, WaterfallChart: __ds_scope.WaterfallChart, WorldMap: __ds_scope.WorldMap, CodeBlock: __ds_scope.CodeBlock, DiffValue: __ds_scope.DiffValue, FilterBar: __ds_scope.FilterBar, KeyValue: __ds_scope.KeyValue, KeyValueList: __ds_scope.KeyValueList, ListRow: __ds_scope.ListRow, Pagination: __ds_scope.Pagination, SmartTable: __ds_scope.SmartTable, Spreadsheet: __ds_scope.Spreadsheet, Table: __ds_scope.Table, DataTable: __ds_scope.Table, Avatar: __ds_scope.Avatar, AvatarGroup: __ds_scope.AvatarGroup, Badge: __ds_scope.Badge, IconTile: __ds_scope.IconTile, StatusBadge: __ds_scope.StatusBadge, Card: __ds_scope.Card, StatCard: __ds_scope.StatCard, Divider: __ds_scope.Divider, Kbd: __ds_scope.Kbd, AreaChart: __ds_scope.AreaChart, Donut: __ds_scope.Donut, MiniBars: __ds_scope.MiniBars, ProgressBar: __ds_scope.ProgressBar, Tag: __ds_scope.Tag, Accordion: __ds_scope.Accordion, ActivityItem: __ds_scope.ActivityItem, DotActivity: __ds_scope.DotActivity, LogViewer: __ds_scope.LogViewer, Alert: __ds_scope.Alert, EmptyState: __ds_scope.EmptyState, Skeleton: __ds_scope.Skeleton, Spinner: __ds_scope.Spinner, Banner: __ds_scope.Banner, ContextMenu: __ds_scope.ContextMenu, Drawer: __ds_scope.Drawer, Menu: __ds_scope.Menu, Modal: __ds_scope.Modal, Toast: __ds_scope.Toast, ToastStack: __ds_scope.ToastStack, Tooltip: __ds_scope.Tooltip, Stepper: __ds_scope.Stepper, Timeline: __ds_scope.Timeline, Checkbox: __ds_scope.Checkbox, Combobox: __ds_scope.Combobox, DatePicker: __ds_scope.DatePicker, Dropzone: __ds_scope.Dropzone, Field: __ds_scope.Field, Input: __ds_scope.Input, Textarea: __ds_scope.Textarea, MultiSelect: __ds_scope.MultiSelect, NumberStepper: __ds_scope.NumberStepper, Radio: __ds_scope.Radio, RadioGroup: __ds_scope.RadioGroup, RelativeTimePicker: __ds_scope.RelativeTimePicker, SearchInput: __ds_scope.SearchInput, Select: __ds_scope.Select, Slider: __ds_scope.Slider, Switch: __ds_scope.Switch, ICON_PATHS: __ds_scope.ICON_PATHS, Icon: __ds_scope.Icon, LUCIDE_VERSION: __ds_scope.LUCIDE_VERSION, Lucide: __ds_scope.Lucide, loadLucide: __ds_scope.loadLucide, setLucideSource: __ds_scope.setLucideSource, Unicon: __ds_scope.Unicon, Breadcrumb: __ds_scope.Breadcrumb, ThemeToggle: __ds_scope.ThemeToggle, applyStoredTheme: __ds_scope.applyStoredTheme, DocTree: __ds_scope.DocTree, SidePanel: __ds_scope.SidePanel, KEYBRICKS_MGMT: __ds_scope.KEYBRICKS_MGMT, KEYBRICKS_NAV: __ds_scope.KEYBRICKS_NAV, KEYBRICKS_NAV_FOOTER: __ds_scope.KEYBRICKS_NAV_FOOTER, SIDEBAR_COLORS: __ds_scope.SIDEBAR_COLORS, Sidebar: __ds_scope.Sidebar, PageHeading: __ds_scope.PageHeading, PageToolbar: __ds_scope.PageToolbar, THEME_OPTIONS: __ds_scope.THEME_OPTIONS, TopBar: __ds_scope.TopBar, UserMenu: __ds_scope.UserMenu, Tree: __ds_scope.Tree, ConfigPanel: __ds_scope.ConfigPanel, DataPreview: __ds_scope.DataPreview, NodeCard: __ds_scope.NodeCard, Port: __ds_scope.Port, PortLabel: __ds_scope.PortLabel, PIPELINE_CATALOG: __ds_scope.PIPELINE_CATALOG, PaletteItem: __ds_scope.PaletteItem, PaletteListItem: __ds_scope.PaletteListItem, PalettePanel: __ds_scope.PalettePanel, PipelineCanvas: __ds_scope.PipelineCanvas, ZoomControls: __ds_scope.ZoomControls, SegmentedControl: __ds_scope.SegmentedControl, CountBadge: __ds_scope.CountBadge, PanelTabs: __ds_scope.PanelTabs, PillTabs: __ds_scope.PillTabs, Tabs: __ds_scope.Tabs, ViewToggle: __ds_scope.ViewToggle });
|
|
18839
|
+
Object.assign(__ds_scope, { ActionChip: __ds_scope.ActionChip, Button: __ds_scope.Button, ButtonGroup: __ds_scope.ButtonGroup, IconButton: __ds_scope.IconButton, Bar3D: __ds_scope.Bar3D, BarChart: __ds_scope.BarChart, BarList: __ds_scope.BarList, BoxPlot: __ds_scope.BoxPlot, BulletChart: __ds_scope.BulletChart, CandlestickChart: __ds_scope.CandlestickChart, ChartKit: __ds_scope.ChartKit, ChartLegend: __ds_scope.ChartLegend, ChartTooltip: __ds_scope.ChartTooltip, PlotGrid: __ds_scope.PlotGrid, XLabels: __ds_scope.XLabels, ChordChart: __ds_scope.ChordChart, DonutChart: __ds_scope.DonutChart, FunnelChart: __ds_scope.FunnelChart, GanttChart: __ds_scope.GanttChart, GaugeChart: __ds_scope.GaugeChart, HeatmapChart: __ds_scope.HeatmapChart, Histogram: __ds_scope.Histogram, LineChart: __ds_scope.LineChart, ParetoChart: __ds_scope.ParetoChart, Pie3D: __ds_scope.Pie3D, RadarChart: __ds_scope.RadarChart, Ribbon3D: __ds_scope.Ribbon3D, SankeyChart: __ds_scope.SankeyChart, Scatter3D: __ds_scope.Scatter3D, ScatterChart: __ds_scope.ScatterChart, Sparkline: __ds_scope.Sparkline, SunburstChart: __ds_scope.SunburstChart, Surface3D: __ds_scope.Surface3D, TreemapChart: __ds_scope.TreemapChart, WaterfallChart: __ds_scope.WaterfallChart, WorldMap: __ds_scope.WorldMap, CodeBlock: __ds_scope.CodeBlock, DiffValue: __ds_scope.DiffValue, FilterBar: __ds_scope.FilterBar, KeyValue: __ds_scope.KeyValue, KeyValueList: __ds_scope.KeyValueList, ListRow: __ds_scope.ListRow, Pagination: __ds_scope.Pagination, SmartTable: __ds_scope.SmartTable, Spreadsheet: __ds_scope.Spreadsheet, Table: __ds_scope.Table, DataTable: __ds_scope.Table, Avatar: __ds_scope.Avatar, AvatarGroup: __ds_scope.AvatarGroup, Badge: __ds_scope.Badge, IconTile: __ds_scope.IconTile, StatusBadge: __ds_scope.StatusBadge, Card: __ds_scope.Card, StatCard: __ds_scope.StatCard, Divider: __ds_scope.Divider, Kbd: __ds_scope.Kbd, AreaChart: __ds_scope.AreaChart, Donut: __ds_scope.Donut, MiniBars: __ds_scope.MiniBars, ProgressBar: __ds_scope.ProgressBar, Tag: __ds_scope.Tag, Accordion: __ds_scope.Accordion, ActivityItem: __ds_scope.ActivityItem, DotActivity: __ds_scope.DotActivity, LogViewer: __ds_scope.LogViewer, Alert: __ds_scope.Alert, EmptyState: __ds_scope.EmptyState, Skeleton: __ds_scope.Skeleton, Spinner: __ds_scope.Spinner, Banner: __ds_scope.Banner, ContextMenu: __ds_scope.ContextMenu, Drawer: __ds_scope.Drawer, Menu: __ds_scope.Menu, Modal: __ds_scope.Modal, Toast: __ds_scope.Toast, ToastStack: __ds_scope.ToastStack, Tooltip: __ds_scope.Tooltip, Stepper: __ds_scope.Stepper, Timeline: __ds_scope.Timeline, Checkbox: __ds_scope.Checkbox, Combobox: __ds_scope.Combobox, DatePicker: __ds_scope.DatePicker, Dropzone: __ds_scope.Dropzone, Field: __ds_scope.Field, GLOBAL_SEARCH_LABELS: __ds_scope.GLOBAL_SEARCH_LABELS, GlobalSearch: __ds_scope.GlobalSearch, Input: __ds_scope.Input, Textarea: __ds_scope.Textarea, MultiSelect: __ds_scope.MultiSelect, NumberStepper: __ds_scope.NumberStepper, Radio: __ds_scope.Radio, RadioGroup: __ds_scope.RadioGroup, RelativeTimePicker: __ds_scope.RelativeTimePicker, SearchInput: __ds_scope.SearchInput, Select: __ds_scope.Select, Slider: __ds_scope.Slider, Switch: __ds_scope.Switch, ICON_PATHS: __ds_scope.ICON_PATHS, Icon: __ds_scope.Icon, LUCIDE_VERSION: __ds_scope.LUCIDE_VERSION, Lucide: __ds_scope.Lucide, loadLucide: __ds_scope.loadLucide, setLucideSource: __ds_scope.setLucideSource, Unicon: __ds_scope.Unicon, Breadcrumb: __ds_scope.Breadcrumb, ThemeToggle: __ds_scope.ThemeToggle, applyStoredTheme: __ds_scope.applyStoredTheme, DocTree: __ds_scope.DocTree, SidePanel: __ds_scope.SidePanel, KEYBRICKS_MGMT: __ds_scope.KEYBRICKS_MGMT, KEYBRICKS_NAV: __ds_scope.KEYBRICKS_NAV, KEYBRICKS_NAV_FOOTER: __ds_scope.KEYBRICKS_NAV_FOOTER, SIDEBAR_COLORS: __ds_scope.SIDEBAR_COLORS, Sidebar: __ds_scope.Sidebar, PageHeading: __ds_scope.PageHeading, PageToolbar: __ds_scope.PageToolbar, THEME_OPTIONS: __ds_scope.THEME_OPTIONS, TopBar: __ds_scope.TopBar, UserMenu: __ds_scope.UserMenu, Tree: __ds_scope.Tree, ConfigPanel: __ds_scope.ConfigPanel, DataPreview: __ds_scope.DataPreview, NodeCard: __ds_scope.NodeCard, Port: __ds_scope.Port, PortLabel: __ds_scope.PortLabel, PIPELINE_CATALOG: __ds_scope.PIPELINE_CATALOG, PaletteItem: __ds_scope.PaletteItem, PaletteListItem: __ds_scope.PaletteListItem, PalettePanel: __ds_scope.PalettePanel, PipelineCanvas: __ds_scope.PipelineCanvas, ZoomControls: __ds_scope.ZoomControls, SegmentedControl: __ds_scope.SegmentedControl, CountBadge: __ds_scope.CountBadge, PanelTabs: __ds_scope.PanelTabs, PillTabs: __ds_scope.PillTabs, Tabs: __ds_scope.Tabs, ViewToggle: __ds_scope.ViewToggle });
|
|
16992
18840
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "components/index.js", error: String((e && e.message) || e) }); }
|
|
16993
18841
|
|
|
16994
18842
|
// covers.js
|
|
@@ -17100,13 +18948,31 @@ window.KB_COVERS = function () {
|
|
|
17100
18948
|
borderBottom: "1px solid var(--border-card)",
|
|
17101
18949
|
display: "flex",
|
|
17102
18950
|
alignItems: "center",
|
|
17103
|
-
justifyContent: "flex-end",
|
|
17104
18951
|
padding: "0 16px"
|
|
17105
18952
|
}
|
|
17106
|
-
}, h(
|
|
17107
|
-
|
|
17108
|
-
|
|
17109
|
-
|
|
18953
|
+
}, h("div", {
|
|
18954
|
+
style: {
|
|
18955
|
+
display: "flex",
|
|
18956
|
+
alignItems: "center",
|
|
18957
|
+
gap: 8,
|
|
18958
|
+
height: 32,
|
|
18959
|
+
padding: "0 6px 0 10px",
|
|
18960
|
+
borderRadius: "var(--radius-md)",
|
|
18961
|
+
background: "var(--bg-inset)",
|
|
18962
|
+
color: "var(--text-muted)",
|
|
18963
|
+
fontFamily: "var(--font-sans)",
|
|
18964
|
+
fontSize: "var(--text-base)"
|
|
18965
|
+
}
|
|
18966
|
+
}, h(K.Icon, {
|
|
18967
|
+
name: "search",
|
|
18968
|
+
size: 16
|
|
18969
|
+
}), h("span", {
|
|
18970
|
+
style: {
|
|
18971
|
+
paddingRight: 24
|
|
18972
|
+
}
|
|
18973
|
+
}, "Search"), h(K.Kbd, {
|
|
18974
|
+
keys: ["mod", "K"]
|
|
18975
|
+
})))))],
|
|
17110
18976
|
"banner": [.7, (h, K) => h("div", {
|
|
17111
18977
|
style: {
|
|
17112
18978
|
width: 340
|
|
@@ -17124,6 +18990,9 @@ window.KB_COVERS = function () {
|
|
|
17124
18990
|
}, "Save"), h(K.Button, {
|
|
17125
18991
|
variant: "outline"
|
|
17126
18992
|
}, "Cancel")])],
|
|
18993
|
+
"button-5-ai": [1, (h, K) => h(K.Button, {
|
|
18994
|
+
variant: "ai"
|
|
18995
|
+
}, "Ask Prophet AI")],
|
|
17127
18996
|
"button-4-group": [1, (h, K) => h(K.ButtonGroup, null, h(K.Button, {
|
|
17128
18997
|
variant: "outline"
|
|
17129
18998
|
}, "Day"), h(K.Button, {
|
|
@@ -17304,7 +19173,7 @@ window.KB_COVERS = function () {
|
|
|
17304
19173
|
}]
|
|
17305
19174
|
}))],
|
|
17306
19175
|
"kbd": [1.3, (h, K) => h(K.Kbd, {
|
|
17307
|
-
keys: ["
|
|
19176
|
+
keys: ["mod", "K"]
|
|
17308
19177
|
})],
|
|
17309
19178
|
"listrow": [.8, (h, K) => h("div", {
|
|
17310
19179
|
style: {
|
|
@@ -17410,6 +19279,11 @@ window.KB_COVERS = function () {
|
|
|
17410
19279
|
}, h(K.SearchInput, {
|
|
17411
19280
|
placeholder: "Search pipelines"
|
|
17412
19281
|
}))],
|
|
19282
|
+
"search-global": [.42, (h, K) => h(K.GlobalSearch, {
|
|
19283
|
+
inline: true,
|
|
19284
|
+
prompts: ["Which entity had the largest YoY revenue change in Q3?", "Explain how the FX model translates currencies"],
|
|
19285
|
+
recentSearches: ["revenue bridge", "FX rates"]
|
|
19286
|
+
})],
|
|
17413
19287
|
"segmented-control": [1, (h, K) => h(K.SegmentedControl, {
|
|
17414
19288
|
options: ["Grid", "List", "Board"],
|
|
17415
19289
|
value: "Grid"
|
|
@@ -18085,7 +19959,7 @@ window.KB_CARDS = [{
|
|
|
18085
19959
|
"path": "components/_cards/accordion.card.html",
|
|
18086
19960
|
"group": "Components",
|
|
18087
19961
|
"name": "Accordion",
|
|
18088
|
-
"viewport": "
|
|
19962
|
+
"viewport": "700x332",
|
|
18089
19963
|
"subtitle": "Generic collapsible section — settings/FAQ style",
|
|
18090
19964
|
"zh": "手风琴折叠",
|
|
18091
19965
|
"ja": "アコーディオン",
|
|
@@ -18095,7 +19969,7 @@ window.KB_CARDS = [{
|
|
|
18095
19969
|
"path": "components/_cards/action-chip.card.html",
|
|
18096
19970
|
"group": "Components",
|
|
18097
19971
|
"name": "Action Chip",
|
|
18098
|
-
"viewport": "
|
|
19972
|
+
"viewport": "700x462",
|
|
18099
19973
|
"subtitle": "Tinted bulk-action chips · five tones · size tiers, Latin and CJK",
|
|
18100
19974
|
"zh": "操作胶囊",
|
|
18101
19975
|
"ja": "アクションチップ",
|
|
@@ -18105,7 +19979,7 @@ window.KB_CARDS = [{
|
|
|
18105
19979
|
"path": "components/_cards/activity.card.html",
|
|
18106
19980
|
"group": "Components",
|
|
18107
19981
|
"name": "Activity",
|
|
18108
|
-
"viewport": "
|
|
19982
|
+
"viewport": "700x368",
|
|
18109
19983
|
"subtitle": "ActivityItem rows · DotActivity feed",
|
|
18110
19984
|
"zh": "动态记录",
|
|
18111
19985
|
"ja": "アクティビティ",
|
|
@@ -18115,7 +19989,7 @@ window.KB_CARDS = [{
|
|
|
18115
19989
|
"path": "components/_cards/alert.card.html",
|
|
18116
19990
|
"group": "Components",
|
|
18117
19991
|
"name": "Alert",
|
|
18118
|
-
"viewport": "
|
|
19992
|
+
"viewport": "700x496",
|
|
18119
19993
|
"subtitle": "In-card message — 4 tones, with and without body",
|
|
18120
19994
|
"zh": "提醒条",
|
|
18121
19995
|
"ja": "アラート",
|
|
@@ -18125,7 +19999,7 @@ window.KB_CARDS = [{
|
|
|
18125
19999
|
"path": "components/_cards/app-chrome.card.html",
|
|
18126
20000
|
"group": "Components",
|
|
18127
20001
|
"name": "App Chrome",
|
|
18128
|
-
"viewport": "
|
|
20002
|
+
"viewport": "700x1566",
|
|
18129
20003
|
"subtitle": "Sidebar tones · SidePanel · TopBar · UserMenu · PageToolbar",
|
|
18130
20004
|
"zh": "应用外壳",
|
|
18131
20005
|
"ja": "アプリの外枠",
|
|
@@ -18135,7 +20009,7 @@ window.KB_CARDS = [{
|
|
|
18135
20009
|
"path": "components/_cards/banner.card.html",
|
|
18136
20010
|
"group": "Components",
|
|
18137
20011
|
"name": "Banner",
|
|
18138
|
-
"viewport": "
|
|
20012
|
+
"viewport": "700x486",
|
|
18139
20013
|
"subtitle": "Page-level notification — 4 tones · action link · dismissible",
|
|
18140
20014
|
"zh": "横幅通知",
|
|
18141
20015
|
"ja": "バナー",
|
|
@@ -18145,7 +20019,7 @@ window.KB_CARDS = [{
|
|
|
18145
20019
|
"path": "components/_cards/breadcrumb.card.html",
|
|
18146
20020
|
"group": "Components",
|
|
18147
20021
|
"name": "Breadcrumb",
|
|
18148
|
-
"viewport": "
|
|
20022
|
+
"viewport": "700x738",
|
|
18149
20023
|
"subtitle": "Path trail — hover darkens · long trails collapse to an ellipsis dropdown",
|
|
18150
20024
|
"zh": "面包屑导航",
|
|
18151
20025
|
"ja": "パンくずリスト",
|
|
@@ -18155,7 +20029,7 @@ window.KB_CARDS = [{
|
|
|
18155
20029
|
"path": "components/_cards/button-1-base.card.html",
|
|
18156
20030
|
"group": "Components",
|
|
18157
20031
|
"name": "Button",
|
|
18158
|
-
"viewport": "
|
|
20032
|
+
"viewport": "700x1059",
|
|
18159
20033
|
"subtitle": "Solid · soft/outline · ghost · text-only · disabled · loading",
|
|
18160
20034
|
"zh": "按钮",
|
|
18161
20035
|
"ja": "ボタン",
|
|
@@ -18165,7 +20039,7 @@ window.KB_CARDS = [{
|
|
|
18165
20039
|
"path": "components/_cards/button-4-group.card.html",
|
|
18166
20040
|
"group": "Components",
|
|
18167
20041
|
"name": "Button Group",
|
|
18168
|
-
"viewport": "
|
|
20042
|
+
"viewport": "700x582",
|
|
18169
20043
|
"subtitle": "Segmented group · split button · shortcut hint · badge",
|
|
18170
20044
|
"zh": "按钮组",
|
|
18171
20045
|
"ja": "ボタングループ",
|
|
@@ -18175,7 +20049,7 @@ window.KB_CARDS = [{
|
|
|
18175
20049
|
"path": "components/_cards/button-2-states.card.html",
|
|
18176
20050
|
"group": "Components",
|
|
18177
20051
|
"name": "Button Interaction States",
|
|
18178
|
-
"viewport": "
|
|
20052
|
+
"viewport": "1120x965",
|
|
18179
20053
|
"subtitle": "Rest · hover · press · focus · loading · disabled — every variant, live and forced",
|
|
18180
20054
|
"zh": "按钮交互状态",
|
|
18181
20055
|
"ja": "ボタンのインタラクション状態",
|
|
@@ -18185,17 +20059,27 @@ window.KB_CARDS = [{
|
|
|
18185
20059
|
"path": "components/_cards/button-3-sizes-icons.card.html",
|
|
18186
20060
|
"group": "Components",
|
|
18187
20061
|
"name": "Button Sizes & Icons",
|
|
18188
|
-
"viewport": "
|
|
20062
|
+
"viewport": "700x908",
|
|
18189
20063
|
"subtitle": "sm 28 · md 32 · lg 40, Latin and CJK · icon placement · full width",
|
|
18190
20064
|
"zh": "按钮尺寸与图标",
|
|
18191
20065
|
"ja": "ボタンのサイズとアイコン",
|
|
18192
20066
|
"subtitleZh": "sm 28 · md 32 · lg 40,西文与 CJK · 图标位置 · 全宽",
|
|
18193
20067
|
"subtitleJa": "sm 28 · md 32 · lg 40、欧文と CJK · アイコン位置 · 全幅"
|
|
20068
|
+
}, {
|
|
20069
|
+
"path": "components/_cards/button-5-ai.card.html",
|
|
20070
|
+
"group": "Components",
|
|
20071
|
+
"name": "Button · AI",
|
|
20072
|
+
"viewport": "700x937",
|
|
20073
|
+
"subtitle": "variant=\"ai\" — Prophet AI entry points only · travelling gradient ring · hover speeds up",
|
|
20074
|
+
"zh": "AI 按钮",
|
|
20075
|
+
"ja": "AI ボタン",
|
|
20076
|
+
"subtitleZh": "variant=\"ai\" — 仅用于方知入口 · 流动的渐变描边 · 悬停时加速",
|
|
20077
|
+
"subtitleJa": "variant=\"ai\" — Prophet AI の入口専用 · 流れるグラデーションの枠線 · ホバーで加速"
|
|
18194
20078
|
}, {
|
|
18195
20079
|
"path": "components/_cards/canvas-zoom-controls.card.html",
|
|
18196
20080
|
"group": "Components",
|
|
18197
20081
|
"name": "Canvas Zoom Controls",
|
|
18198
|
-
"viewport": "
|
|
20082
|
+
"viewport": "700x110",
|
|
18199
20083
|
"subtitle": "Pipeline canvas − / % / + / fit-to-view",
|
|
18200
20084
|
"zh": "画布缩放控件",
|
|
18201
20085
|
"ja": "キャンバスズームコントロール",
|
|
@@ -18205,7 +20089,7 @@ window.KB_CARDS = [{
|
|
|
18205
20089
|
"path": "components/_cards/cards-indicators.card.html",
|
|
18206
20090
|
"group": "Components",
|
|
18207
20091
|
"name": "Cards & Indicators",
|
|
18208
|
-
"viewport": "
|
|
20092
|
+
"viewport": "700x528",
|
|
18209
20093
|
"subtitle": "Work in progress · Card · StatCard · Badge · IconTile · charts",
|
|
18210
20094
|
"zh": "卡片与指示器",
|
|
18211
20095
|
"ja": "カードとインジケーター",
|
|
@@ -18215,7 +20099,7 @@ window.KB_CARDS = [{
|
|
|
18215
20099
|
"path": "components/_cards/checkbox.card.html",
|
|
18216
20100
|
"group": "Components",
|
|
18217
20101
|
"name": "Checkbox",
|
|
18218
|
-
"viewport": "
|
|
20102
|
+
"viewport": "700x606",
|
|
18219
20103
|
"subtitle": "Checked · unchecked · indeterminate · disabled · sizes",
|
|
18220
20104
|
"zh": "复选框",
|
|
18221
20105
|
"ja": "チェックボックス",
|
|
@@ -18225,7 +20109,7 @@ window.KB_CARDS = [{
|
|
|
18225
20109
|
"path": "components/_cards/codeblock.card.html",
|
|
18226
20110
|
"group": "Components",
|
|
18227
20111
|
"name": "Code Block",
|
|
18228
|
-
"viewport": "
|
|
20112
|
+
"viewport": "700x286",
|
|
18229
20113
|
"subtitle": "SQL Preview / JSON export — mono with copy button",
|
|
18230
20114
|
"zh": "代码块",
|
|
18231
20115
|
"ja": "コードブロック",
|
|
@@ -18235,7 +20119,7 @@ window.KB_CARDS = [{
|
|
|
18235
20119
|
"path": "components/_cards/combobox.card.html",
|
|
18236
20120
|
"group": "Components",
|
|
18237
20121
|
"name": "Combobox",
|
|
18238
|
-
"viewport": "
|
|
20122
|
+
"viewport": "700x558",
|
|
18239
20123
|
"subtitle": "Typeahead single-select — type to filter · keyboard nav · no-results",
|
|
18240
20124
|
"zh": "输入筛选下拉",
|
|
18241
20125
|
"ja": "コンボボックス",
|
|
@@ -18245,7 +20129,7 @@ window.KB_CARDS = [{
|
|
|
18245
20129
|
"path": "components/_cards/context-menu.card.html",
|
|
18246
20130
|
"group": "Components",
|
|
18247
20131
|
"name": "Context Menu",
|
|
18248
|
-
"viewport": "
|
|
20132
|
+
"viewport": "700x1310",
|
|
18249
20133
|
"subtitle": "Icons · plain text · danger item · long list",
|
|
18250
20134
|
"zh": "右键菜单",
|
|
18251
20135
|
"ja": "右クリックメニュー",
|
|
@@ -18255,7 +20139,7 @@ window.KB_CARDS = [{
|
|
|
18255
20139
|
"path": "components/_cards/date-picker.card.html",
|
|
18256
20140
|
"group": "Components",
|
|
18257
20141
|
"name": "Date Picker",
|
|
18258
|
-
"viewport": "
|
|
20142
|
+
"viewport": "700x649",
|
|
18259
20143
|
"subtitle": "Input + month-grid popover — today outlined · selected filled",
|
|
18260
20144
|
"zh": "日期选择器",
|
|
18261
20145
|
"ja": "日付ピッカー",
|
|
@@ -18265,7 +20149,7 @@ window.KB_CARDS = [{
|
|
|
18265
20149
|
"path": "components/_cards/diffvalue.card.html",
|
|
18266
20150
|
"group": "Components",
|
|
18267
20151
|
"name": "Diff Value",
|
|
18268
|
-
"viewport": "
|
|
20152
|
+
"viewport": "700x387",
|
|
18269
20153
|
"subtitle": "Before → after change display (config migration)",
|
|
18270
20154
|
"zh": "差异值",
|
|
18271
20155
|
"ja": "差分値",
|
|
@@ -18275,7 +20159,7 @@ window.KB_CARDS = [{
|
|
|
18275
20159
|
"path": "components/_cards/divider.card.html",
|
|
18276
20160
|
"group": "Components",
|
|
18277
20161
|
"name": "Divider",
|
|
18278
|
-
"viewport": "
|
|
20162
|
+
"viewport": "700x338",
|
|
18279
20163
|
"subtitle": "Plain · labeled · vertical",
|
|
18280
20164
|
"zh": "分隔线",
|
|
18281
20165
|
"ja": "区切り線",
|
|
@@ -18285,7 +20169,7 @@ window.KB_CARDS = [{
|
|
|
18285
20169
|
"path": "components/_cards/drawer.card.html",
|
|
18286
20170
|
"group": "Components",
|
|
18287
20171
|
"name": "Drawer",
|
|
18288
|
-
"viewport": "
|
|
20172
|
+
"viewport": "700x558",
|
|
18289
20173
|
"subtitle": "Slide-out detail panel — header · scrollable body · footer actions",
|
|
18290
20174
|
"zh": "抽屉面板",
|
|
18291
20175
|
"ja": "ドロワー",
|
|
@@ -18295,7 +20179,7 @@ window.KB_CARDS = [{
|
|
|
18295
20179
|
"path": "components/_cards/dropdown-menu.card.html",
|
|
18296
20180
|
"group": "Components",
|
|
18297
20181
|
"name": "Dropdown Menu",
|
|
18298
|
-
"viewport": "
|
|
20182
|
+
"viewport": "700x1152",
|
|
18299
20183
|
"subtitle": "Button · icon-only · ghost text · avatar triggers — icon items & plain-text items",
|
|
18300
20184
|
"zh": "下拉菜单",
|
|
18301
20185
|
"ja": "ドロップダウンメニュー",
|
|
@@ -18305,7 +20189,7 @@ window.KB_CARDS = [{
|
|
|
18305
20189
|
"path": "components/_cards/dropzone.card.html",
|
|
18306
20190
|
"group": "Components",
|
|
18307
20191
|
"name": "Dropzone",
|
|
18308
|
-
"viewport": "
|
|
20192
|
+
"viewport": "924x718",
|
|
18309
20193
|
"subtitle": "Empty · drag-over · uploaded · error · disabled",
|
|
18310
20194
|
"zh": "拖放上传区",
|
|
18311
20195
|
"ja": "ドロップゾーン",
|
|
@@ -18315,7 +20199,7 @@ window.KB_CARDS = [{
|
|
|
18315
20199
|
"path": "components/_cards/empty-state.card.html",
|
|
18316
20200
|
"group": "Components",
|
|
18317
20201
|
"name": "Empty State",
|
|
18318
|
-
"viewport": "
|
|
20202
|
+
"viewport": "924x644",
|
|
18319
20203
|
"subtitle": "First-run · no results · error — with and without action",
|
|
18320
20204
|
"zh": "空状态",
|
|
18321
20205
|
"ja": "空状態",
|
|
@@ -18325,7 +20209,7 @@ window.KB_CARDS = [{
|
|
|
18325
20209
|
"path": "components/_cards/filter-bar.card.html",
|
|
18326
20210
|
"group": "Components",
|
|
18327
20211
|
"name": "Filter Bar (List Report)",
|
|
18328
|
-
"viewport": "
|
|
20212
|
+
"viewport": "1000x566",
|
|
18329
20213
|
"subtitle": "Fiori-style filter bar composed with a table — Adapt Filters · Go",
|
|
18330
20214
|
"zh": "筛选栏(列表报表)",
|
|
18331
20215
|
"ja": "フィルターバー(リストレポート)",
|
|
@@ -18335,7 +20219,7 @@ window.KB_CARDS = [{
|
|
|
18335
20219
|
"path": "components/_cards/icon-button.card.html",
|
|
18336
20220
|
"group": "Components",
|
|
18337
20221
|
"name": "Icon Button",
|
|
18338
|
-
"viewport": "
|
|
20222
|
+
"viewport": "700x498",
|
|
18339
20223
|
"subtitle": "Square ghost icon button · sm 28 · md 32 · lg 40 · active / muted / danger / loading / disabled",
|
|
18340
20224
|
"zh": "图标按钮",
|
|
18341
20225
|
"ja": "アイコンボタン",
|
|
@@ -18345,7 +20229,7 @@ window.KB_CARDS = [{
|
|
|
18345
20229
|
"path": "components/_cards/input.card.html",
|
|
18346
20230
|
"group": "Components",
|
|
18347
20231
|
"name": "Input",
|
|
18348
|
-
"viewport": "
|
|
20232
|
+
"viewport": "700x797",
|
|
18349
20233
|
"subtitle": "Default · filled · required · readOnly · disabled · error · hint · focus",
|
|
18350
20234
|
"zh": "输入框",
|
|
18351
20235
|
"ja": "入力欄",
|
|
@@ -18355,7 +20239,7 @@ window.KB_CARDS = [{
|
|
|
18355
20239
|
"path": "components/_cards/keyvalue.card.html",
|
|
18356
20240
|
"group": "Components",
|
|
18357
20241
|
"name": "Key/Value Rows",
|
|
18358
|
-
"viewport": "
|
|
20242
|
+
"viewport": "700x261",
|
|
18359
20243
|
"subtitle": "Config summary and confirmation-step rows",
|
|
18360
20244
|
"zh": "键值行",
|
|
18361
20245
|
"ja": "キー/バリュー行",
|
|
@@ -18365,7 +20249,7 @@ window.KB_CARDS = [{
|
|
|
18365
20249
|
"path": "components/_cards/kbd.card.html",
|
|
18366
20250
|
"group": "Components",
|
|
18367
20251
|
"name": "Keyboard Shortcuts",
|
|
18368
|
-
"viewport": "
|
|
20252
|
+
"viewport": "700x267",
|
|
18369
20253
|
"subtitle": "Kbd — keycap hints for a power-user tool",
|
|
18370
20254
|
"zh": "键盘快捷键",
|
|
18371
20255
|
"ja": "キーボードショートカット",
|
|
@@ -18375,7 +20259,7 @@ window.KB_CARDS = [{
|
|
|
18375
20259
|
"path": "components/_cards/listrow.card.html",
|
|
18376
20260
|
"group": "Components",
|
|
18377
20261
|
"name": "List Row",
|
|
18378
|
-
"viewport": "
|
|
20262
|
+
"viewport": "700x433",
|
|
18379
20263
|
"subtitle": "Expandable workflow rows — collapsed, expanded, with trailing count",
|
|
18380
20264
|
"zh": "列表行",
|
|
18381
20265
|
"ja": "リスト行",
|
|
@@ -18385,7 +20269,7 @@ window.KB_CARDS = [{
|
|
|
18385
20269
|
"path": "components/_cards/loading.card.html",
|
|
18386
20270
|
"group": "Components",
|
|
18387
20271
|
"name": "Loading",
|
|
18388
|
-
"viewport": "
|
|
20272
|
+
"viewport": "700x459",
|
|
18389
20273
|
"subtitle": "Spinner sizes · Skeleton text, blocks and table rows",
|
|
18390
20274
|
"zh": "加载状态",
|
|
18391
20275
|
"ja": "読み込み状態",
|
|
@@ -18395,7 +20279,7 @@ window.KB_CARDS = [{
|
|
|
18395
20279
|
"path": "components/_cards/log-viewer.card.html",
|
|
18396
20280
|
"group": "Components",
|
|
18397
20281
|
"name": "Log Viewer",
|
|
18398
|
-
"viewport": "
|
|
20282
|
+
"viewport": "700x436",
|
|
18399
20283
|
"subtitle": "Mono run log — info · warn · error lines",
|
|
18400
20284
|
"zh": "日志查看器",
|
|
18401
20285
|
"ja": "ログビューア",
|
|
@@ -18415,7 +20299,7 @@ window.KB_CARDS = [{
|
|
|
18415
20299
|
"path": "components/_cards/multi-select.card.html",
|
|
18416
20300
|
"group": "Components",
|
|
18417
20301
|
"name": "Multi Select",
|
|
18418
|
-
"viewport": "
|
|
20302
|
+
"viewport": "700x530",
|
|
18419
20303
|
"subtitle": "Checkbox dropdown — removable tags · +n overflow · clear all",
|
|
18420
20304
|
"zh": "多选下拉",
|
|
18421
20305
|
"ja": "マルチセレクト",
|
|
@@ -18425,7 +20309,7 @@ window.KB_CARDS = [{
|
|
|
18425
20309
|
"path": "components/_cards/number-stepper.card.html",
|
|
18426
20310
|
"group": "Components",
|
|
18427
20311
|
"name": "Number Stepper",
|
|
18428
|
-
"viewport": "
|
|
20312
|
+
"viewport": "700x344",
|
|
18429
20313
|
"subtitle": "Default · at min · at max · disabled",
|
|
18430
20314
|
"zh": "数字步进器",
|
|
18431
20315
|
"ja": "数値ステッパー",
|
|
@@ -18435,7 +20319,7 @@ window.KB_CARDS = [{
|
|
|
18435
20319
|
"path": "components/_cards/pagination.card.html",
|
|
18436
20320
|
"group": "Components",
|
|
18437
20321
|
"name": "Pagination",
|
|
18438
|
-
"viewport": "
|
|
20322
|
+
"viewport": "700x758",
|
|
18439
20323
|
"subtitle": "Row-range label · small set · first/last page states",
|
|
18440
20324
|
"zh": "分页",
|
|
18441
20325
|
"ja": "ページネーション",
|
|
@@ -18445,7 +20329,7 @@ window.KB_CARDS = [{
|
|
|
18445
20329
|
"path": "components/_cards/people.card.html",
|
|
18446
20330
|
"group": "Components",
|
|
18447
20331
|
"name": "People",
|
|
18448
|
-
"viewport": "
|
|
20332
|
+
"viewport": "700x326",
|
|
18449
20333
|
"subtitle": "Avatar · AvatarGroup — initials, sizes, real images",
|
|
18450
20334
|
"zh": "人物",
|
|
18451
20335
|
"ja": "ユーザー",
|
|
@@ -18455,7 +20339,7 @@ window.KB_CARDS = [{
|
|
|
18455
20339
|
"path": "components/_cards/pipeline-node.card.html",
|
|
18456
20340
|
"group": "Components",
|
|
18457
20341
|
"name": "Pipeline Node Card",
|
|
18458
|
-
"viewport": "
|
|
20342
|
+
"viewport": "700x1781",
|
|
18459
20343
|
"subtitle": "220×90 node — category hues · status badges · ports with hover, drag-to-connect and drop states",
|
|
18460
20344
|
"zh": "流程节点卡",
|
|
18461
20345
|
"ja": "パイプラインノードカード",
|
|
@@ -18465,7 +20349,7 @@ window.KB_CARDS = [{
|
|
|
18465
20349
|
"path": "components/_cards/pipeline-palette.card.html",
|
|
18466
20350
|
"group": "Components",
|
|
18467
20351
|
"name": "Pipeline Palette",
|
|
18468
|
-
"viewport": "
|
|
20352
|
+
"viewport": "700x771",
|
|
18469
20353
|
"subtitle": "240px component drawer — grid/list toggle · collapsible hued categories",
|
|
18470
20354
|
"zh": "组件面板",
|
|
18471
20355
|
"ja": "コンポーネントパレット",
|
|
@@ -18477,7 +20361,7 @@ window.KB_CARDS = [{
|
|
|
18477
20361
|
"name": "Radio Button",
|
|
18478
20362
|
"zh": "单选按钮",
|
|
18479
20363
|
"ja": "ラジオボタン",
|
|
18480
|
-
"viewport": "
|
|
20364
|
+
"viewport": "700x1741",
|
|
18481
20365
|
"subtitle": "Single choice from a small set — md/sm · description · disabled · row · card variant · arrow-key navigation",
|
|
18482
20366
|
"subtitleZh": "小集合中的单选 — md/sm · 描述文字 · 禁用 · 横排 · 卡片式 · 方向键切换",
|
|
18483
20367
|
"subtitleJa": "少数の選択肢から1つ — md/sm · 説明文 · 無効 · 横並び · カード型 · 矢印キー操作"
|
|
@@ -18485,19 +20369,29 @@ window.KB_CARDS = [{
|
|
|
18485
20369
|
"path": "components/_cards/search.card.html",
|
|
18486
20370
|
"group": "Components",
|
|
18487
20371
|
"name": "Search Input",
|
|
18488
|
-
"viewport": "
|
|
20372
|
+
"viewport": "700x756",
|
|
18489
20373
|
"subtitle": "Bordered · bare top-bar · with value/clear · disabled",
|
|
18490
20374
|
"zh": "搜索框",
|
|
18491
20375
|
"ja": "検索欄",
|
|
18492
20376
|
"subtitleZh": "带边框 · 顶栏无边框 · 带内容/清除 · 禁用",
|
|
18493
20377
|
"subtitleJa": "ボーダー付き · トップバー用(枠なし)· 入力値/クリア付き · 無効"
|
|
20378
|
+
}, {
|
|
20379
|
+
"path": "components/_cards/search-global.card.html",
|
|
20380
|
+
"group": "Components",
|
|
20381
|
+
"name": "Search · Global",
|
|
20382
|
+
"viewport": "1000x3634",
|
|
20383
|
+
"subtitle": "GlobalSearch — TopBar search with ⌘K / Ctrl K · scopes · grouped results · Prophet AI hand-off · Deep Search",
|
|
20384
|
+
"zh": "搜索 · 全局",
|
|
20385
|
+
"ja": "検索 · グローバル",
|
|
20386
|
+
"subtitleZh": "GlobalSearch — 顶栏搜索,⌘K / Ctrl K 唤起 · 范围切换 · 分组结果 · 转交方知 · 深度搜索",
|
|
20387
|
+
"subtitleJa": "GlobalSearch — トップバー検索、⌘K / Ctrl K で起動 · スコープ切替 · グループ化された結果 · Prophet AI への引き継ぎ · ディープサーチ"
|
|
18494
20388
|
}, {
|
|
18495
20389
|
"path": "components/_cards/segmented-control.card.html",
|
|
18496
20390
|
"group": "Components",
|
|
18497
20391
|
"name": "Segmented Control",
|
|
18498
20392
|
"zh": "分段控件",
|
|
18499
20393
|
"ja": "セグメントコントロール",
|
|
18500
|
-
"viewport": "
|
|
20394
|
+
"viewport": "700x1864",
|
|
18501
20395
|
"subtitle": "Mutually exclusive views in one inset track — md/sm · counts · icons · icon-only · disabled option · full width · ViewToggle",
|
|
18502
20396
|
"subtitleZh": "同一轨道内的互斥视图切换 — md/sm · 计数 · 图标 · 纯图标 · 禁用项 · 撑满宽度 · ViewToggle",
|
|
18503
20397
|
"subtitleJa": "1つのトラック内で排他的にビューを切替 — md/sm · カウント · アイコン · アイコンのみ · 無効項目 · 全幅 · ViewToggle"
|
|
@@ -18505,7 +20399,7 @@ window.KB_CARDS = [{
|
|
|
18505
20399
|
"path": "components/_cards/select.card.html",
|
|
18506
20400
|
"group": "Components",
|
|
18507
20401
|
"name": "Select",
|
|
18508
|
-
"viewport": "
|
|
20402
|
+
"viewport": "700x513",
|
|
18509
20403
|
"subtitle": "md / sm · placeholder · disabled · error",
|
|
18510
20404
|
"zh": "下拉选择",
|
|
18511
20405
|
"ja": "セレクト",
|
|
@@ -18515,7 +20409,7 @@ window.KB_CARDS = [{
|
|
|
18515
20409
|
"path": "components/_cards/relative-time-picker.card.html",
|
|
18516
20410
|
"group": "Components",
|
|
18517
20411
|
"name": "Relative Time Picker",
|
|
18518
|
-
"viewport": "
|
|
20412
|
+
"viewport": "700x871",
|
|
18519
20413
|
"subtitle": "Filter by how long ago · md / sm / lg · unlimited · disabled · localised labels",
|
|
18520
20414
|
"zh": "相对时间选择器",
|
|
18521
20415
|
"ja": "相対時間ピッカー",
|
|
@@ -18525,7 +20419,7 @@ window.KB_CARDS = [{
|
|
|
18525
20419
|
"path": "components/_cards/slider.card.html",
|
|
18526
20420
|
"group": "Components",
|
|
18527
20421
|
"name": "Slider",
|
|
18528
|
-
"viewport": "
|
|
20422
|
+
"viewport": "700x267",
|
|
18529
20423
|
"subtitle": "Filled track · ring knob · value bubble · min/max labels",
|
|
18530
20424
|
"zh": "滑杆",
|
|
18531
20425
|
"ja": "スライダー",
|
|
@@ -18535,7 +20429,7 @@ window.KB_CARDS = [{
|
|
|
18535
20429
|
"path": "components/_cards/smart-table.card.html",
|
|
18536
20430
|
"group": "Components",
|
|
18537
20431
|
"name": "Smart Table (Database Grid)",
|
|
18538
|
-
"viewport": "
|
|
20432
|
+
"viewport": "700x1454",
|
|
18539
20433
|
"subtitle": "Frozen header and row numbers · default and compact density · typed fields · hue pills · aggregates · + New",
|
|
18540
20434
|
"zh": "智能表格(数据网格)",
|
|
18541
20435
|
"ja": "スマートテーブル(データベースグリッド)",
|
|
@@ -18545,7 +20439,7 @@ window.KB_CARDS = [{
|
|
|
18545
20439
|
"path": "components/_cards/spreadsheet.card.html",
|
|
18546
20440
|
"group": "Components",
|
|
18547
20441
|
"name": "Spreadsheet",
|
|
18548
|
-
"viewport": "
|
|
20442
|
+
"viewport": "924x590",
|
|
18549
20443
|
"subtitle": "Formula bar · frozen headers · range selection · =SUM() · sheet tabs · status bar",
|
|
18550
20444
|
"zh": "电子表格",
|
|
18551
20445
|
"ja": "スプレッドシート",
|
|
@@ -18555,7 +20449,7 @@ window.KB_CARDS = [{
|
|
|
18555
20449
|
"path": "components/_cards/stepper.card.html",
|
|
18556
20450
|
"group": "Components",
|
|
18557
20451
|
"name": "Stepper",
|
|
18558
|
-
"viewport": "
|
|
20452
|
+
"viewport": "700x618",
|
|
18559
20453
|
"subtitle": "Multi-step flow header — done · current · upcoming",
|
|
18560
20454
|
"zh": "步骤条",
|
|
18561
20455
|
"ja": "ステッパー",
|
|
@@ -18565,7 +20459,7 @@ window.KB_CARDS = [{
|
|
|
18565
20459
|
"path": "components/_cards/table.card.html",
|
|
18566
20460
|
"group": "Components",
|
|
18567
20461
|
"name": "Table",
|
|
18568
|
-
"viewport": "
|
|
20462
|
+
"viewport": "700x11184",
|
|
18569
20463
|
"subtitle": "Anatomy · densities · column types · two-line name · sorting · selection · frames · column resize · states · composition",
|
|
18570
20464
|
"zh": "表格",
|
|
18571
20465
|
"ja": "テーブル",
|
|
@@ -18575,7 +20469,7 @@ window.KB_CARDS = [{
|
|
|
18575
20469
|
"path": "components/_cards/tabs.card.html",
|
|
18576
20470
|
"group": "Components",
|
|
18577
20471
|
"name": "Tabs",
|
|
18578
|
-
"viewport": "
|
|
20472
|
+
"viewport": "700x1118",
|
|
18579
20473
|
"subtitle": "Underline tabs · panel tabs · pill filter tabs · counts",
|
|
18580
20474
|
"zh": "标签页",
|
|
18581
20475
|
"ja": "タブ",
|
|
@@ -18585,7 +20479,7 @@ window.KB_CARDS = [{
|
|
|
18585
20479
|
"path": "components/_cards/tag.card.html",
|
|
18586
20480
|
"group": "Components",
|
|
18587
20481
|
"name": "Tag",
|
|
18588
|
-
"viewport": "
|
|
20482
|
+
"viewport": "700x438",
|
|
18589
20483
|
"subtitle": "Removable filter tags — distinct from Badge/ActionChip",
|
|
18590
20484
|
"zh": "标签",
|
|
18591
20485
|
"ja": "タグ",
|
|
@@ -18595,7 +20489,7 @@ window.KB_CARDS = [{
|
|
|
18595
20489
|
"path": "components/_cards/textarea.card.html",
|
|
18596
20490
|
"group": "Components",
|
|
18597
20491
|
"name": "Textarea",
|
|
18598
|
-
"viewport": "
|
|
20492
|
+
"viewport": "924x674",
|
|
18599
20493
|
"subtitle": "Default · character count · over the limit · disabled",
|
|
18600
20494
|
"zh": "文本域",
|
|
18601
20495
|
"ja": "テキストエリア",
|
|
@@ -18605,7 +20499,7 @@ window.KB_CARDS = [{
|
|
|
18605
20499
|
"path": "components/_cards/timeline.card.html",
|
|
18606
20500
|
"group": "Components",
|
|
18607
20501
|
"name": "Timeline",
|
|
18608
|
-
"viewport": "
|
|
20502
|
+
"viewport": "700x373",
|
|
18609
20503
|
"subtitle": "Vertical activity timeline — toned icon nodes on a hairline spine",
|
|
18610
20504
|
"zh": "时间线",
|
|
18611
20505
|
"ja": "タイムライン",
|
|
@@ -18615,7 +20509,7 @@ window.KB_CARDS = [{
|
|
|
18615
20509
|
"path": "components/_cards/toast.card.html",
|
|
18616
20510
|
"group": "Components",
|
|
18617
20511
|
"name": "Toast",
|
|
18618
|
-
"viewport": "
|
|
20512
|
+
"viewport": "700x744",
|
|
18619
20513
|
"subtitle": "Tones · with/without meta · live ToastStack demo",
|
|
18620
20514
|
"zh": "轻提示",
|
|
18621
20515
|
"ja": "トースト通知",
|
|
@@ -18625,7 +20519,7 @@ window.KB_CARDS = [{
|
|
|
18625
20519
|
"path": "components/_cards/toggles.card.html",
|
|
18626
20520
|
"group": "Components",
|
|
18627
20521
|
"name": "Toggle Switch",
|
|
18628
|
-
"viewport": "
|
|
20522
|
+
"viewport": "700x2771",
|
|
18629
20523
|
"subtitle": "Binary settings pill — sizes · semantic red→green · glyph knobs · inline text · captions · async loading",
|
|
18630
20524
|
"zh": "开关",
|
|
18631
20525
|
"ja": "スイッチ",
|
|
@@ -18635,7 +20529,7 @@ window.KB_CARDS = [{
|
|
|
18635
20529
|
"path": "components/_cards/tooltip.card.html",
|
|
18636
20530
|
"group": "Components",
|
|
18637
20531
|
"name": "Tooltip",
|
|
18638
|
-
"viewport": "
|
|
20532
|
+
"viewport": "700x499",
|
|
18639
20533
|
"subtitle": "Placements — top · bottom · left · right, on icon and text triggers",
|
|
18640
20534
|
"zh": "文字提示",
|
|
18641
20535
|
"ja": "ツールチップ",
|
|
@@ -18645,7 +20539,7 @@ window.KB_CARDS = [{
|
|
|
18645
20539
|
"path": "components/_cards/tree.card.html",
|
|
18646
20540
|
"group": "Components",
|
|
18647
20541
|
"name": "Tree",
|
|
18648
|
-
"viewport": "
|
|
20542
|
+
"viewport": "700x3171",
|
|
18649
20543
|
"subtitle": "Cascading checkboxes · disabled nodes · lines · async load · search · drag · reorder · keyboard",
|
|
18650
20544
|
"zh": "树形视图",
|
|
18651
20545
|
"ja": "ツリービュー",
|
|
@@ -18655,7 +20549,7 @@ window.KB_CARDS = [{
|
|
|
18655
20549
|
"path": "components/_cards/icons-0-usage.card.html",
|
|
18656
20550
|
"group": "Icons",
|
|
18657
20551
|
"name": "Icon Usage",
|
|
18658
|
-
"viewport": "
|
|
20552
|
+
"viewport": "700x2221",
|
|
18659
20553
|
"subtitle": "Monochrome glyphs · category tiles · document hues · status · marks · icons inside components — when an icon gets colour",
|
|
18660
20554
|
"zh": "图标用法",
|
|
18661
20555
|
"ja": "アイコンの使い方",
|
|
@@ -18665,7 +20559,7 @@ window.KB_CARDS = [{
|
|
|
18665
20559
|
"path": "components/_cards/icons-1-core.card.html",
|
|
18666
20560
|
"group": "Icons",
|
|
18667
20561
|
"name": "Core Set",
|
|
18668
|
-
"viewport": "
|
|
20562
|
+
"viewport": "700x1764",
|
|
18669
20563
|
"subtitle": "The 157 stroke glyphs the product itself uses — keyword search · click to download the SVG",
|
|
18670
20564
|
"zh": "核心图标集",
|
|
18671
20565
|
"ja": "コアセット",
|
|
@@ -18675,7 +20569,7 @@ window.KB_CARDS = [{
|
|
|
18675
20569
|
"path": "components/_cards/icons-2-feather.card.html",
|
|
18676
20570
|
"group": "Icons",
|
|
18677
20571
|
"name": "Feather Library",
|
|
18678
|
-
"viewport": "
|
|
20572
|
+
"viewport": "700x4551",
|
|
18679
20573
|
"subtitle": "404 stroke icons (core + all of Feather) · keyword search · click to download the SVG",
|
|
18680
20574
|
"zh": "Feather 图标库",
|
|
18681
20575
|
"ja": "Featherライブラリ",
|
|
@@ -18685,7 +20579,7 @@ window.KB_CARDS = [{
|
|
|
18685
20579
|
"path": "components/_cards/icons-2b-lucide.card.html",
|
|
18686
20580
|
"group": "Icons",
|
|
18687
20581
|
"name": "Lucide Library",
|
|
18688
|
-
"viewport": "
|
|
20582
|
+
"viewport": "700x1396",
|
|
18689
20583
|
"subtitle": "Full Lucide set (1,700+ stroke glyphs, core style) via pinned CDN · keyword search · click to download the SVG",
|
|
18690
20584
|
"zh": "Lucide 图标库",
|
|
18691
20585
|
"ja": "Lucideライブラリ",
|
|
@@ -18695,7 +20589,7 @@ window.KB_CARDS = [{
|
|
|
18695
20589
|
"path": "components/_cards/icons-3-unicons.card.html",
|
|
18696
20590
|
"group": "Icons",
|
|
18697
20591
|
"name": "Unicons Library",
|
|
18698
|
-
"viewport": "
|
|
20592
|
+
"viewport": "700x1348",
|
|
18699
20593
|
"subtitle": "1,206 Unicons line glyphs via CDN webfont · keyword search · click to download the SVG",
|
|
18700
20594
|
"zh": "Unicons 图标库",
|
|
18701
20595
|
"ja": "Uniconsライブラリ",
|
|
@@ -18705,7 +20599,7 @@ window.KB_CARDS = [{
|
|
|
18705
20599
|
"path": "components/_cards/icons-4-datasource.card.html",
|
|
18706
20600
|
"group": "Icons",
|
|
18707
20601
|
"name": "Data Source Logos",
|
|
18708
|
-
"viewport": "
|
|
20602
|
+
"viewport": "700x636",
|
|
18709
20603
|
"subtitle": "17 data-source logo images in assets/logos/datasource/",
|
|
18710
20604
|
"zh": "数据源图标",
|
|
18711
20605
|
"ja": "データソースロゴ",
|
|
@@ -18715,7 +20609,7 @@ window.KB_CARDS = [{
|
|
|
18715
20609
|
"path": "guidelines/brand-logo.html",
|
|
18716
20610
|
"group": "Brand",
|
|
18717
20611
|
"name": "Logo & Wordmark",
|
|
18718
|
-
"viewport": "
|
|
20612
|
+
"viewport": "700x162",
|
|
18719
20613
|
"subtitle": "Blue cube bitmap + Inter 600 wordmark, −0.609px tracking",
|
|
18720
20614
|
"zh": "标志与字标",
|
|
18721
20615
|
"ja": "ロゴとワードマーク",
|
|
@@ -18745,7 +20639,7 @@ window.KB_CARDS = [{
|
|
|
18745
20639
|
"path": "guidelines/colors-schemes.html",
|
|
18746
20640
|
"group": "Colors",
|
|
18747
20641
|
"name": "Schemes",
|
|
18748
|
-
"viewport": "
|
|
20642
|
+
"viewport": "700x783",
|
|
18749
20643
|
"subtitle": "Sets that work together — surface, text, border, accent",
|
|
18750
20644
|
"zh": "配色方案",
|
|
18751
20645
|
"ja": "配色スキーム",
|
|
@@ -18755,7 +20649,7 @@ window.KB_CARDS = [{
|
|
|
18755
20649
|
"path": "guidelines/colors-transparency.html",
|
|
18756
20650
|
"group": "Colors",
|
|
18757
20651
|
"name": "Transparency",
|
|
18758
|
-
"viewport": "
|
|
20652
|
+
"viewport": "700x478",
|
|
18759
20653
|
"subtitle": "Alpha scale — the number is the opacity",
|
|
18760
20654
|
"zh": "透明度",
|
|
18761
20655
|
"ja": "透明度",
|
|
@@ -18765,7 +20659,7 @@ window.KB_CARDS = [{
|
|
|
18765
20659
|
"path": "guidelines/foundations-borders.html",
|
|
18766
20660
|
"group": "Foundations",
|
|
18767
20661
|
"name": "Borders & Shadows",
|
|
18768
|
-
"viewport": "
|
|
20662
|
+
"viewport": "700x176",
|
|
18769
20663
|
"subtitle": "Hairlines carry the UI; shadows only on canvas nodes",
|
|
18770
20664
|
"zh": "边框与阴影",
|
|
18771
20665
|
"ja": "ボーダーとシャドウ",
|
|
@@ -18775,7 +20669,7 @@ window.KB_CARDS = [{
|
|
|
18775
20669
|
"path": "guidelines/foundations-chrome.html",
|
|
18776
20670
|
"group": "Foundations",
|
|
18777
20671
|
"name": "App Chrome Dimensions",
|
|
18778
|
-
"viewport": "
|
|
20672
|
+
"viewport": "700x164",
|
|
18779
20673
|
"subtitle": "Fixed panel widths & bar heights",
|
|
18780
20674
|
"zh": "应用外壳尺寸",
|
|
18781
20675
|
"ja": "アプリ外枠のサイズ",
|
|
@@ -18785,7 +20679,7 @@ window.KB_CARDS = [{
|
|
|
18785
20679
|
"path": "guidelines/foundations-motion.html",
|
|
18786
20680
|
"group": "Foundations",
|
|
18787
20681
|
"name": "Motion",
|
|
18788
|
-
"viewport": "
|
|
20682
|
+
"viewport": "700x152",
|
|
18789
20683
|
"subtitle": "120/160/240ms · ease-out — hover, rise, pulse, spin",
|
|
18790
20684
|
"zh": "动效",
|
|
18791
20685
|
"ja": "モーション",
|
|
@@ -18805,7 +20699,7 @@ window.KB_CARDS = [{
|
|
|
18805
20699
|
"path": "guidelines/foundations-size-tiers.html",
|
|
18806
20700
|
"group": "Foundations",
|
|
18807
20701
|
"name": "Size Tiers",
|
|
18808
|
-
"viewport": "
|
|
20702
|
+
"viewport": "700x1335",
|
|
18809
20703
|
"subtitle": "sm 28 · md 32 · lg 40 — one tier per region, never mixed in a row; CJK one step larger at sm",
|
|
18810
20704
|
"zh": "尺寸层级",
|
|
18811
20705
|
"ja": "サイズ階層",
|
|
@@ -18815,7 +20709,7 @@ window.KB_CARDS = [{
|
|
|
18815
20709
|
"path": "guidelines/foundations-spacing.html",
|
|
18816
20710
|
"group": "Foundations",
|
|
18817
20711
|
"name": "Spacing",
|
|
18818
|
-
"viewport": "
|
|
20712
|
+
"viewport": "700x138",
|
|
18819
20713
|
"subtitle": "4px family · page 24×32 · card 21 · section gap 24 · gaps 8 inside a group, 12/16/24 between groups",
|
|
18820
20714
|
"zh": "间距",
|
|
18821
20715
|
"ja": "余白",
|
|
@@ -18825,7 +20719,7 @@ window.KB_CARDS = [{
|
|
|
18825
20719
|
"path": "guidelines/interaction-states.html",
|
|
18826
20720
|
"group": "Foundations",
|
|
18827
20721
|
"name": "Interaction States",
|
|
18828
|
-
"viewport": "
|
|
20722
|
+
"viewport": "700x552",
|
|
18829
20723
|
"subtitle": "The five states every control carries — and where each one is defined",
|
|
18830
20724
|
"zh": "交互状态",
|
|
18831
20725
|
"ja": "インタラクション状態",
|
|
@@ -18835,7 +20729,7 @@ window.KB_CARDS = [{
|
|
|
18835
20729
|
"path": "guidelines/type-extended.html",
|
|
18836
20730
|
"group": "Type",
|
|
18837
20731
|
"name": "Display Scale",
|
|
18838
|
-
"viewport": "
|
|
20732
|
+
"viewport": "700x388",
|
|
18839
20733
|
"subtitle": "Display sizes 24–60 — tracking follows the same size→tracking curve",
|
|
18840
20734
|
"zh": "展示级字号",
|
|
18841
20735
|
"ja": "ディスプレイスケール",
|
|
@@ -18845,7 +20739,7 @@ window.KB_CARDS = [{
|
|
|
18845
20739
|
"path": "guidelines/type-mono.html",
|
|
18846
20740
|
"group": "Type",
|
|
18847
20741
|
"name": "Mono / Code Only",
|
|
18848
|
-
"viewport": "
|
|
20742
|
+
"viewport": "700x187",
|
|
18849
20743
|
"subtitle": "Menlo for code blocks, logs, inline code and config-code chips — IDs and amounts stay in Inter with tabular figures",
|
|
18850
20744
|
"zh": "等宽字体 / 仅用于代码",
|
|
18851
20745
|
"ja": "等幅フォント/コード専用",
|
|
@@ -18855,7 +20749,7 @@ window.KB_CARDS = [{
|
|
|
18855
20749
|
"path": "guidelines/type-scale.html",
|
|
18856
20750
|
"group": "Type",
|
|
18857
20751
|
"name": "Type Scale",
|
|
18858
|
-
"viewport": "
|
|
20752
|
+
"viewport": "700x408",
|
|
18859
20753
|
"subtitle": "Inter — the 14px scale: 12 captions · 14 body and controls · 16 section titles · 20 page titles; CJK one step larger below 14",
|
|
18860
20754
|
"zh": "字号阶梯",
|
|
18861
20755
|
"ja": "フォントサイズ体系",
|
|
@@ -18865,7 +20759,7 @@ window.KB_CARDS = [{
|
|
|
18865
20759
|
"path": "guidelines/type-weights.html",
|
|
18866
20760
|
"group": "Type",
|
|
18867
20761
|
"name": "Inter Weights",
|
|
18868
|
-
"viewport": "
|
|
20762
|
+
"viewport": "700x264",
|
|
18869
20763
|
"subtitle": "300 numerals · 400 body · 500 UI-medium · 600 titles — 500 becomes 600 in Chinese, Japanese and Korean",
|
|
18870
20764
|
"zh": "Inter 字重",
|
|
18871
20765
|
"ja": "Inter のウェイト",
|
|
@@ -18875,7 +20769,7 @@ window.KB_CARDS = [{
|
|
|
18875
20769
|
"path": "components/_cards/charts-1-sparkline.card.html",
|
|
18876
20770
|
"group": "Charts",
|
|
18877
20771
|
"name": "Sparkline",
|
|
18878
|
-
"viewport": "
|
|
20772
|
+
"viewport": "700x945",
|
|
18879
20773
|
"subtitle": "Micro trends for stat tiles, table cells, list rows — line · area · bars · curve",
|
|
18880
20774
|
"zh": "迷你趋势图",
|
|
18881
20775
|
"ja": "スパークライン",
|
|
@@ -18885,7 +20779,7 @@ window.KB_CARDS = [{
|
|
|
18885
20779
|
"path": "components/_cards/charts-2-line.card.html",
|
|
18886
20780
|
"group": "Charts",
|
|
18887
20781
|
"name": "Line & Area",
|
|
18888
|
-
"viewport": "
|
|
20782
|
+
"viewport": "700x1538",
|
|
18889
20783
|
"subtitle": "Trends over time — straight, smooth or stepped · stacked area · hover + legend mute",
|
|
18890
20784
|
"zh": "折线与面积图",
|
|
18891
20785
|
"ja": "ライン & エリア",
|
|
@@ -18895,7 +20789,7 @@ window.KB_CARDS = [{
|
|
|
18895
20789
|
"path": "components/_cards/charts-3-bar.card.html",
|
|
18896
20790
|
"group": "Charts",
|
|
18897
20791
|
"name": "Bar Chart",
|
|
18898
|
-
"viewport": "
|
|
20792
|
+
"viewport": "700x2203",
|
|
18899
20793
|
"subtitle": "Vertical & horizontal — grouped · stacked · 100% stacked · diverging · combo line",
|
|
18900
20794
|
"zh": "柱状图",
|
|
18901
20795
|
"ja": "バーチャート",
|
|
@@ -18905,7 +20799,7 @@ window.KB_CARDS = [{
|
|
|
18905
20799
|
"path": "components/_cards/charts-4-barlist.card.html",
|
|
18906
20800
|
"group": "Charts",
|
|
18907
20801
|
"name": "Bar List",
|
|
18908
|
-
"viewport": "
|
|
20802
|
+
"viewport": "700x545",
|
|
18909
20803
|
"subtitle": "Horizontal labeled bars — top-N rankings, budget consumption",
|
|
18910
20804
|
"zh": "横向条形列表",
|
|
18911
20805
|
"ja": "バーリスト",
|
|
@@ -18915,7 +20809,7 @@ window.KB_CARDS = [{
|
|
|
18915
20809
|
"path": "components/_cards/charts-5-donut.card.html",
|
|
18916
20810
|
"group": "Charts",
|
|
18917
20811
|
"name": "Donut & Pie",
|
|
18918
|
-
"viewport": "
|
|
20812
|
+
"viewport": "700x583",
|
|
18919
20813
|
"subtitle": "Composition with a KPI center — hover lifts a segment",
|
|
18920
20814
|
"zh": "环形与饼图",
|
|
18921
20815
|
"ja": "ドーナツ & パイ",
|
|
@@ -18925,7 +20819,7 @@ window.KB_CARDS = [{
|
|
|
18925
20819
|
"path": "components/_cards/charts-6-scatter.card.html",
|
|
18926
20820
|
"group": "Charts",
|
|
18927
20821
|
"name": "Scatter & Bubble",
|
|
18928
|
-
"viewport": "
|
|
20822
|
+
"viewport": "700x496",
|
|
18929
20823
|
"subtitle": "x/y correlation, bubble = third dimension — nearest-point tooltip",
|
|
18930
20824
|
"zh": "散点气泡图",
|
|
18931
20825
|
"ja": "散布図 & バブル",
|
|
@@ -18935,7 +20829,7 @@ window.KB_CARDS = [{
|
|
|
18935
20829
|
"path": "components/_cards/charts-7-heatmap.card.html",
|
|
18936
20830
|
"group": "Charts",
|
|
18937
20831
|
"name": "Heatmap",
|
|
18938
|
-
"viewport": "
|
|
20832
|
+
"viewport": "700x537",
|
|
18939
20833
|
"subtitle": "Matrix density — sequential blue ramp · diverging red/green variance",
|
|
18940
20834
|
"zh": "热力图",
|
|
18941
20835
|
"ja": "ヒートマップ",
|
|
@@ -18945,7 +20839,7 @@ window.KB_CARDS = [{
|
|
|
18945
20839
|
"path": "components/_cards/charts-8-waterfall.card.html",
|
|
18946
20840
|
"group": "Charts",
|
|
18947
20841
|
"name": "Waterfall",
|
|
18948
|
-
"viewport": "
|
|
20842
|
+
"viewport": "700x483",
|
|
18949
20843
|
"subtitle": "Finance bridge — signed deltas, re-baselining totals, running-sum connectors",
|
|
18950
20844
|
"zh": "瀑布图",
|
|
18951
20845
|
"ja": "ウォーターフォール",
|
|
@@ -18955,7 +20849,7 @@ window.KB_CARDS = [{
|
|
|
18955
20849
|
"path": "components/_cards/charts-9-bullet.card.html",
|
|
18956
20850
|
"group": "Charts",
|
|
18957
20851
|
"name": "Bullet",
|
|
18958
|
-
"viewport": "
|
|
20852
|
+
"viewport": "700x500",
|
|
18959
20853
|
"subtitle": "Actual vs. target rows with a target tick — misses in red",
|
|
18960
20854
|
"zh": "子弹图",
|
|
18961
20855
|
"ja": "ブレットチャート",
|
|
@@ -18965,7 +20859,7 @@ window.KB_CARDS = [{
|
|
|
18965
20859
|
"path": "components/_cards/charts-10-gauge.card.html",
|
|
18966
20860
|
"group": "Charts",
|
|
18967
20861
|
"name": "Gauge",
|
|
18968
|
-
"viewport": "
|
|
20862
|
+
"viewport": "700x320",
|
|
18969
20863
|
"subtitle": "Semi-circular KPI — flat arc, threshold bands, no needle",
|
|
18970
20864
|
"zh": "仪表盘",
|
|
18971
20865
|
"ja": "ゲージ",
|
|
@@ -18975,7 +20869,7 @@ window.KB_CARDS = [{
|
|
|
18975
20869
|
"path": "components/_cards/charts-11-funnel.card.html",
|
|
18976
20870
|
"group": "Charts",
|
|
18977
20871
|
"name": "Funnel",
|
|
18978
|
-
"viewport": "
|
|
20872
|
+
"viewport": "700x631",
|
|
18979
20873
|
"subtitle": "Stage counts with step-to-step conversion — sub-50% steps flagged",
|
|
18980
20874
|
"zh": "漏斗图",
|
|
18981
20875
|
"ja": "ファネル",
|
|
@@ -18985,7 +20879,7 @@ window.KB_CARDS = [{
|
|
|
18985
20879
|
"path": "components/_cards/charts-12-treemap.card.html",
|
|
18986
20880
|
"group": "Charts",
|
|
18987
20881
|
"name": "Treemap",
|
|
18988
|
-
"viewport": "
|
|
20882
|
+
"viewport": "700x463",
|
|
18989
20883
|
"subtitle": "Squarified composition — readable at 15+ items, hover for share",
|
|
18990
20884
|
"zh": "矩形树图",
|
|
18991
20885
|
"ja": "ツリーマップ",
|
|
@@ -18995,7 +20889,7 @@ window.KB_CARDS = [{
|
|
|
18995
20889
|
"path": "components/_cards/charts-14-radar.card.html",
|
|
18996
20890
|
"group": "Charts",
|
|
18997
20891
|
"name": "Radar",
|
|
18998
|
-
"viewport": "
|
|
20892
|
+
"viewport": "700x514",
|
|
18999
20893
|
"subtitle": "Spider chart — a few entities across the same 3–10 measures",
|
|
19000
20894
|
"zh": "雷达图",
|
|
19001
20895
|
"ja": "レーダーチャート",
|
|
@@ -19005,7 +20899,7 @@ window.KB_CARDS = [{
|
|
|
19005
20899
|
"path": "components/_cards/charts-15-distribution.card.html",
|
|
19006
20900
|
"group": "Charts",
|
|
19007
20901
|
"name": "Histogram & Box Plot",
|
|
19008
|
-
"viewport": "
|
|
20902
|
+
"viewport": "700x809",
|
|
19009
20903
|
"subtitle": "Distribution of one measure · spread and outliers per group",
|
|
19010
20904
|
"zh": "直方图与箱线图",
|
|
19011
20905
|
"ja": "ヒストグラム & 箱ひげ図",
|
|
@@ -19015,7 +20909,7 @@ window.KB_CARDS = [{
|
|
|
19015
20909
|
"path": "components/_cards/charts-16-pareto.card.html",
|
|
19016
20910
|
"group": "Charts",
|
|
19017
20911
|
"name": "Pareto",
|
|
19018
|
-
"viewport": "
|
|
20912
|
+
"viewport": "700x473",
|
|
19019
20913
|
"subtitle": "Sorted bars + cumulative % line — the vital few vs. the trivial many",
|
|
19020
20914
|
"zh": "帕累托图",
|
|
19021
20915
|
"ja": "パレート図",
|
|
@@ -19025,7 +20919,7 @@ window.KB_CARDS = [{
|
|
|
19025
20919
|
"path": "components/_cards/charts-17-candlestick.card.html",
|
|
19026
20920
|
"group": "Charts",
|
|
19027
20921
|
"name": "Candlestick",
|
|
19028
|
-
"viewport": "
|
|
20922
|
+
"viewport": "700x789",
|
|
19029
20923
|
"subtitle": "OHLC K-line — volume band, moving average, hollow-body convention",
|
|
19030
20924
|
"zh": "K 线图",
|
|
19031
20925
|
"ja": "ローソク足",
|
|
@@ -19035,7 +20929,7 @@ window.KB_CARDS = [{
|
|
|
19035
20929
|
"path": "components/_cards/charts-18-sankey.card.html",
|
|
19036
20930
|
"group": "Charts",
|
|
19037
20931
|
"name": "Sankey",
|
|
19038
|
-
"viewport": "
|
|
20932
|
+
"viewport": "700x561",
|
|
19039
20933
|
"subtitle": "Flow diagram — columns derived from the graph, never positioned by hand",
|
|
19040
20934
|
"zh": "桑基图",
|
|
19041
20935
|
"ja": "サンキー図",
|
|
@@ -19045,7 +20939,7 @@ window.KB_CARDS = [{
|
|
|
19045
20939
|
"path": "components/_cards/charts-19-chord.card.html",
|
|
19046
20940
|
"group": "Charts",
|
|
19047
20941
|
"name": "Chord",
|
|
19048
|
-
"viewport": "
|
|
20942
|
+
"viewport": "700x924",
|
|
19049
20943
|
"subtitle": "Circular Sankey — many-to-many, cyclical flows on one ring",
|
|
19050
20944
|
"zh": "和弦图",
|
|
19051
20945
|
"ja": "コード図",
|
|
@@ -19055,7 +20949,7 @@ window.KB_CARDS = [{
|
|
|
19055
20949
|
"path": "components/_cards/charts-20-sunburst.card.html",
|
|
19056
20950
|
"group": "Charts",
|
|
19057
20951
|
"name": "Sunburst",
|
|
19058
|
-
"viewport": "
|
|
20952
|
+
"viewport": "700x551",
|
|
19059
20953
|
"subtitle": "Hierarchy as concentric rings — click a ring to zoom, center to go back",
|
|
19060
20954
|
"zh": "旭日图",
|
|
19061
20955
|
"ja": "サンバースト",
|
|
@@ -19065,7 +20959,7 @@ window.KB_CARDS = [{
|
|
|
19065
20959
|
"path": "components/_cards/charts-21-worldmap.card.html",
|
|
19066
20960
|
"group": "Charts",
|
|
19067
20961
|
"name": "World Map",
|
|
19068
|
-
"viewport": "
|
|
20962
|
+
"viewport": "700x924",
|
|
19069
20963
|
"subtitle": "Choropleth on real Natural Earth geometry — hover, select, diverging scale",
|
|
19070
20964
|
"zh": "世界地图",
|
|
19071
20965
|
"ja": "世界地図",
|
|
@@ -19075,7 +20969,7 @@ window.KB_CARDS = [{
|
|
|
19075
20969
|
"path": "components/_cards/charts-22-gantt.card.html",
|
|
19076
20970
|
"group": "Charts",
|
|
19077
20971
|
"name": "Gantt",
|
|
19078
|
-
"viewport": "
|
|
20972
|
+
"viewport": "700x648",
|
|
19079
20973
|
"subtitle": "Timeline of tasks — weekend tinting, progress fill, today marker, milestones",
|
|
19080
20974
|
"zh": "甘特图",
|
|
19081
20975
|
"ja": "ガントチャート",
|
|
@@ -19085,7 +20979,7 @@ window.KB_CARDS = [{
|
|
|
19085
20979
|
"path": "components/_cards/charts-23-bar3d.card.html",
|
|
19086
20980
|
"group": "Charts",
|
|
19087
20981
|
"name": "3D Bars",
|
|
19088
|
-
"viewport": "
|
|
20982
|
+
"viewport": "700x802",
|
|
19089
20983
|
"subtitle": "Cuboid bars, grouped depth rows or stacked — drag to orbit, hover to read",
|
|
19090
20984
|
"zh": "立体柱状图",
|
|
19091
20985
|
"ja": "3Dバー",
|
|
@@ -19095,7 +20989,7 @@ window.KB_CARDS = [{
|
|
|
19095
20989
|
"path": "components/_cards/charts-24-pie3d.card.html",
|
|
19096
20990
|
"group": "Charts",
|
|
19097
20991
|
"name": "3D Pie & Donut",
|
|
19098
|
-
"viewport": "
|
|
20992
|
+
"viewport": "700x1336",
|
|
19099
20993
|
"subtitle": "Extruded and stepped-stairs slices — drag spins in place, hover lifts a slice",
|
|
19100
20994
|
"zh": "立体饼图与环形",
|
|
19101
20995
|
"ja": "3Dパイ & ドーナツ",
|
|
@@ -19105,7 +20999,7 @@ window.KB_CARDS = [{
|
|
|
19105
20999
|
"path": "components/_cards/charts-25-surface3d.card.html",
|
|
19106
21000
|
"group": "Charts",
|
|
19107
21001
|
"name": "3D Surface",
|
|
19108
|
-
"viewport": "
|
|
21002
|
+
"viewport": "700x493",
|
|
19109
21003
|
"subtitle": "z = f(x,y) heat-shaded grid — drag to orbit, hover reads a cell",
|
|
19110
21004
|
"zh": "立体曲面图",
|
|
19111
21005
|
"ja": "3Dサーフェス",
|
|
@@ -19115,7 +21009,7 @@ window.KB_CARDS = [{
|
|
|
19115
21009
|
"path": "components/_cards/charts-26-scatter3d.card.html",
|
|
19116
21010
|
"group": "Charts",
|
|
19117
21011
|
"name": "3D Scatter",
|
|
19118
|
-
"viewport": "
|
|
21012
|
+
"viewport": "700x534",
|
|
19119
21013
|
"subtitle": "Points in an orientation cube — drag to orbit, hover pins x·y·z",
|
|
19120
21014
|
"zh": "立体散点图",
|
|
19121
21015
|
"ja": "3D散布図",
|
|
@@ -19125,7 +21019,7 @@ window.KB_CARDS = [{
|
|
|
19125
21019
|
"path": "components/_cards/charts-27-ribbon3d.card.html",
|
|
19126
21020
|
"group": "Charts",
|
|
19127
21021
|
"name": "3D Ribbon",
|
|
19128
|
-
"viewport": "
|
|
21022
|
+
"viewport": "700x524",
|
|
19129
21023
|
"subtitle": "Series as extruded depth bands — the classic 3D area · drag to orbit",
|
|
19130
21024
|
"zh": "立体层带图",
|
|
19131
21025
|
"ja": "3Dリボン",
|
|
@@ -19135,7 +21029,7 @@ window.KB_CARDS = [{
|
|
|
19135
21029
|
"path": "components/_cards/charts-99-fullpage.card.html",
|
|
19136
21030
|
"group": "Charts",
|
|
19137
21031
|
"name": "Full-Page Analytics",
|
|
19138
|
-
"viewport": "
|
|
21032
|
+
"viewport": "1512x2200",
|
|
19139
21033
|
"subtitle": "Reference layout only — every chart type composed into one screen",
|
|
19140
21034
|
"zh": "全屏分析页",
|
|
19141
21035
|
"ja": "フルページ分析",
|
|
@@ -19179,6 +21073,17 @@ const cssVar = {
|
|
|
19179
21073
|
actionPrimary: "var(--action-primary)",
|
|
19180
21074
|
actionPrimaryActive: "var(--action-primary-active)",
|
|
19181
21075
|
actionPrimaryHover: "var(--action-primary-hover)",
|
|
21076
|
+
aiGlowBlur: "var(--ai-glow-blur)",
|
|
21077
|
+
aiGlowOpacity: "var(--ai-glow-opacity)",
|
|
21078
|
+
aiGradientEnd: "var(--ai-gradient-end)",
|
|
21079
|
+
aiGradientStart: "var(--ai-gradient-start)",
|
|
21080
|
+
aiGradientStops: "var(--ai-gradient-stops)",
|
|
21081
|
+
aiRingRestTrack: "var(--ai-ring-rest-track)",
|
|
21082
|
+
aiRingWidth: "var(--ai-ring-width)",
|
|
21083
|
+
aiSpinHover: "var(--ai-spin-hover)",
|
|
21084
|
+
aiSpinRest: "var(--ai-spin-rest)",
|
|
21085
|
+
aiTint: "var(--ai-tint)",
|
|
21086
|
+
aiTintPress: "var(--ai-tint-press)",
|
|
19182
21087
|
amber100: "var(--amber-100)",
|
|
19183
21088
|
amber200: "var(--amber-200)",
|
|
19184
21089
|
amber300: "var(--amber-300)",
|
|
@@ -19449,10 +21354,13 @@ const cssVar = {
|
|
|
19449
21354
|
series7: "var(--series-7)",
|
|
19450
21355
|
series8: "var(--series-8)",
|
|
19451
21356
|
series9: "var(--series-9)",
|
|
21357
|
+
shadowDrawer: "var(--shadow-drawer)",
|
|
19452
21358
|
shadowMenu: "var(--shadow-menu)",
|
|
19453
21359
|
shadowModal: "var(--shadow-modal)",
|
|
19454
21360
|
shadowNode: "var(--shadow-node)",
|
|
21361
|
+
shadowRaised: "var(--shadow-raised)",
|
|
19455
21362
|
shadowSelected: "var(--shadow-selected)",
|
|
21363
|
+
shadowThumb: "var(--shadow-thumb)",
|
|
19456
21364
|
sidebarW: "var(--sidebar-w)",
|
|
19457
21365
|
skeleton: "var(--skeleton)",
|
|
19458
21366
|
softActive: "var(--soft-active)",
|
|
@@ -19545,6 +21453,17 @@ const light = {
|
|
|
19545
21453
|
actionPrimary: "#155dfc",
|
|
19546
21454
|
actionPrimaryActive: "#1039c4",
|
|
19547
21455
|
actionPrimaryHover: "#1447e6",
|
|
21456
|
+
aiGlowBlur: "6px",
|
|
21457
|
+
aiGlowOpacity: ".4",
|
|
21458
|
+
aiGradientEnd: "#e355b2",
|
|
21459
|
+
aiGradientStart: "#2b7fff",
|
|
21460
|
+
aiGradientStops: "#2b7fff,#e355b2,#2b7fff",
|
|
21461
|
+
aiRingRestTrack: "#e5e5e5",
|
|
21462
|
+
aiRingWidth: "1px",
|
|
21463
|
+
aiSpinHover: "1.2s",
|
|
21464
|
+
aiSpinRest: "5s",
|
|
21465
|
+
aiTint: "8%",
|
|
21466
|
+
aiTintPress: "14%",
|
|
19548
21467
|
amber100: "#ffefd3",
|
|
19549
21468
|
amber200: "#ffe5b7",
|
|
19550
21469
|
amber300: "#ffd280",
|
|
@@ -19815,10 +21734,13 @@ const light = {
|
|
|
19815
21734
|
series7: "#7a8d30",
|
|
19816
21735
|
series8: "#2f99c0",
|
|
19817
21736
|
series9: "#737373",
|
|
21737
|
+
shadowDrawer: "-8px 0 24px rgba(0,0,0,.12)",
|
|
19818
21738
|
shadowMenu: "0 4px 12px rgba(0,0,0,.1),0 1px 3px rgba(0,0,0,.08)",
|
|
19819
21739
|
shadowModal: "0 24px 64px rgba(0,0,0,.18),0 2px 8px rgba(0,0,0,.08)",
|
|
19820
21740
|
shadowNode: "0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)",
|
|
21741
|
+
shadowRaised: "0 1px 2px rgba(0,0,0,.08)",
|
|
19821
21742
|
shadowSelected: "0 0 0 2px #dbeafe,0 1px 3px 0 rgba(0,0,0,.1),0 1px 2px -1px rgba(0,0,0,.1)",
|
|
21743
|
+
shadowThumb: "0 1px 2px rgba(0,0,0,.15)",
|
|
19822
21744
|
sidebarW: "240px",
|
|
19823
21745
|
skeleton: "#e5e5e5",
|
|
19824
21746
|
softActive: "#bedbff",
|
|
@@ -19829,8 +21751,8 @@ const light = {
|
|
|
19829
21751
|
successBg: "#ecfdf5",
|
|
19830
21752
|
successStrong: "#009966",
|
|
19831
21753
|
successText: "#007a55",
|
|
19832
|
-
switchH: "
|
|
19833
|
-
switchW: "
|
|
21754
|
+
switchH: "18px",
|
|
21755
|
+
switchW: "32px",
|
|
19834
21756
|
tHover: "background 120ms cubic-bezier(.2,.8,.3,1),border-color 120ms cubic-bezier(.2,.8,.3,1),color 120ms cubic-bezier(.2,.8,.3,1)",
|
|
19835
21757
|
tTheme: "background-color 160ms cubic-bezier(.2,.8,.3,1),color 160ms cubic-bezier(.2,.8,.3,1),border-color 160ms cubic-bezier(.2,.8,.3,1)",
|
|
19836
21758
|
tagH: "24px",
|
|
@@ -19911,6 +21833,17 @@ const dark = {
|
|
|
19911
21833
|
actionPrimary: "#1f6feb",
|
|
19912
21834
|
actionPrimaryActive: "#1a5ec9",
|
|
19913
21835
|
actionPrimaryHover: "#2b7fff",
|
|
21836
|
+
aiGlowBlur: "6px",
|
|
21837
|
+
aiGlowOpacity: ".3",
|
|
21838
|
+
aiGradientEnd: "#e355b2",
|
|
21839
|
+
aiGradientStart: "#2b7fff",
|
|
21840
|
+
aiGradientStops: "#2b7fff,#e355b2,#2b7fff",
|
|
21841
|
+
aiRingRestTrack: "#333333",
|
|
21842
|
+
aiRingWidth: "1px",
|
|
21843
|
+
aiSpinHover: "1.2s",
|
|
21844
|
+
aiSpinRest: "5s",
|
|
21845
|
+
aiTint: "8%",
|
|
21846
|
+
aiTintPress: "14%",
|
|
19914
21847
|
amber100: "#ffefd3",
|
|
19915
21848
|
amber200: "#ffe5b7",
|
|
19916
21849
|
amber300: "#ffd280",
|
|
@@ -20181,10 +22114,13 @@ const dark = {
|
|
|
20181
22114
|
series7: "#9bb054",
|
|
20182
22115
|
series8: "#54b8e1",
|
|
20183
22116
|
series9: "#8f8f8f",
|
|
22117
|
+
shadowDrawer: "-8px 0 24px rgba(0,0,0,.5)",
|
|
20184
22118
|
shadowMenu: "0 4px 16px rgba(0,0,0,.55),0 1px 3px rgba(0,0,0,.4)",
|
|
20185
22119
|
shadowModal: "0 24px 64px rgba(0,0,0,.7),0 2px 8px rgba(0,0,0,.5)",
|
|
20186
22120
|
shadowNode: "0 1px 3px 0 rgba(0,0,0,.6),0 1px 2px -1px rgba(0,0,0,.5)",
|
|
22121
|
+
shadowRaised: "0 1px 2px rgba(0,0,0,.4)",
|
|
20187
22122
|
shadowSelected: "0 0 0 2px rgba(43,127,255,.32),0 1px 3px 0 rgba(0,0,0,.6)",
|
|
22123
|
+
shadowThumb: "0 1px 2px rgba(0,0,0,.5)",
|
|
20188
22124
|
sidebarW: "240px",
|
|
20189
22125
|
skeleton: "#242424",
|
|
20190
22126
|
softActive: "rgba(43,127,255,.32)",
|
|
@@ -20195,8 +22131,8 @@ const dark = {
|
|
|
20195
22131
|
successBg: "rgba(0,188,125,.14)",
|
|
20196
22132
|
successStrong: "#22c58f",
|
|
20197
22133
|
successText: "#4ade9f",
|
|
20198
|
-
switchH: "
|
|
20199
|
-
switchW: "
|
|
22134
|
+
switchH: "18px",
|
|
22135
|
+
switchW: "32px",
|
|
20200
22136
|
tHover: "background 120ms cubic-bezier(.2,.8,.3,1),border-color 120ms cubic-bezier(.2,.8,.3,1),color 120ms cubic-bezier(.2,.8,.3,1)",
|
|
20201
22137
|
tTheme: "background-color 160ms cubic-bezier(.2,.8,.3,1),color 160ms cubic-bezier(.2,.8,.3,1),border-color 160ms cubic-bezier(.2,.8,.3,1)",
|
|
20202
22138
|
tagH: "24px",
|
|
@@ -20269,7 +22205,7 @@ const dark = {
|
|
|
20269
22205
|
zToast: "80",
|
|
20270
22206
|
zTooltip: "100"
|
|
20271
22207
|
};
|
|
20272
|
-
const tokenNames = ["--action-dark", "--action-dark-active", "--action-dark-fg", "--action-dark-hover", "--action-primary", "--action-primary-active", "--action-primary-hover", "--amber-100", "--amber-200", "--amber-300", "--amber-400", "--amber-50", "--amber-500", "--amber-600", "--amber-700", "--amber-800", "--amber-900", "--amber-950", "--bar-card-h", "--bar-h", "--bg-active", "--bg-app", "--bg-hover", "--bg-inset", "--bg-press", "--bg-raised", "--bg-scrim", "--bg-surface", "--bg-table-header", "--blue-100", "--blue-200", "--blue-300", "--blue-400", "--blue-50", "--blue-500", "--blue-600", "--blue-700", "--blue-800", "--blue-900", "--blue-950", "--border-card", "--border-control", "--border-split", "--border-strong", "--border-subtle", "--brand-alpha-12", "--brand-alpha-16", "--brand-alpha-24", "--brand-alpha-32", "--brand-alpha-8", "--card-pad", "--card-pad-sm", "--cat-join", "--cat-join-bg", "--cat-merge", "--cat-merge-bg", "--cat-output", "--cat-output-bg", "--cat-source", "--cat-source-bg", "--cat-transform", "--cat-transform-bg", "--cell-px", "--chart-area-alpha", "--chart-axis", "--chart-blue", "--chart-grid", "--chart-guide", "--chart-heat-1", "--chart-heat-2", "--chart-heat-3", "--chart-heat-4", "--chart-heat-5", "--chart-heat-ink", "--chart-label", "--chart-neg", "--chart-pos", "--chart-total", "--chart-track", "--check-size", "--checkbox-border", "--control-gap", "--control-h", "--control-icon", "--control-leading", "--control-px", "--control-text", "--control-tracking", "--count-h", "--cyan-100", "--cyan-200", "--cyan-300", "--cyan-400", "--cyan-50", "--cyan-500", "--cyan-600", "--cyan-700", "--cyan-800", "--cyan-900", "--cyan-950", "--danger", "--danger-active", "--danger-bg", "--danger-soft-active", "--danger-soft-hover", "--danger-text", "--dot-neutral", "--drawer-h", "--dropzone-border", "--dropzone-border-hover", "--dur", "--dur-fast", "--dur-instant", "--dur-slow", "--dur-slower", "--ease-in", "--ease-in-out", "--ease-out", "--edge", "--edge-pad", "--emerald-100", "--emerald-200", "--emerald-300", "--emerald-400", "--emerald-50", "--emerald-500", "--emerald-600", "--emerald-700", "--emerald-800", "--emerald-900", "--emerald-950", "--focus-border", "--focus-ring", "--font-mono", "--font-sans", "--group-gap", "--h-button", "--h-button-sm", "--h-input", "--h-nav-item", "--h-subnav-item", "--h-tree-item", "--hue-amber-bg", "--hue-amber-fg", "--hue-blue-bg", "--hue-blue-fg", "--hue-cyan-bg", "--hue-cyan-fg", "--hue-gray-bg", "--hue-gray-fg", "--hue-green-bg", "--hue-green-fg", "--hue-orange-bg", "--hue-orange-fg", "--hue-pink-bg", "--hue-pink-fg", "--hue-purple-bg", "--hue-purple-fg", "--hue-red-bg", "--hue-red-fg", "--hue-teal-bg", "--hue-teal-fg", "--info-bg", "--info-fg", "--leading-2xl", "--leading-2xs", "--leading-3xl", "--leading-4xl", "--leading-base", "--leading-code", "--leading-display", "--leading-lg", "--leading-md", "--leading-num", "--leading-sm", "--leading-xl", "--leading-xs", "--link", "--link-hover", "--neutral-0", "--neutral-100", "--neutral-200", "--neutral-300", "--neutral-400", "--neutral-50", "--neutral-500", "--neutral-600", "--neutral-700", "--neutral-800", "--neutral-900", "--neutral-950", "--neutral-alpha-12", "--neutral-alpha-16", "--neutral-alpha-2", "--neutral-alpha-24", "--neutral-alpha-32", "--neutral-alpha-4", "--neutral-alpha-48", "--neutral-alpha-64", "--neutral-alpha-8", "--neutral-alpha-80", "--on-accent", "--orange-100", "--orange-200", "--orange-300", "--orange-400", "--orange-50", "--orange-500", "--orange-600", "--orange-700", "--orange-800", "--orange-900", "--orange-950", "--overlay-drag", "--overlay-hover", "--overlay-press", "--overlay-selected", "--page-pad-x", "--page-pad-y", "--panel-w", "--pink-100", "--pink-200", "--pink-300", "--pink-400", "--pink-50", "--pink-500", "--pink-600", "--pink-700", "--pink-800", "--pink-900", "--pink-950", "--port-border", "--press-filter", "--press-filter-strong", "--purple-100", "--purple-200", "--purple-300", "--purple-400", "--purple-50", "--purple-500", "--purple-600", "--purple-700", "--purple-800", "--purple-900", "--purple-950", "--radius-full", "--radius-lg", "--radius-md", "--radius-node", "--radius-sm", "--radius-tile", "--rail-w", "--red-100", "--red-200", "--red-300", "--red-400", "--red-50", "--red-500", "--red-600", "--red-700", "--red-800", "--red-900", "--red-950", "--ring-focus", "--ring-surface", "--section-gap", "--selected-border", "--series-1", "--series-10", "--series-2", "--series-3", "--series-4", "--series-5", "--series-6", "--series-7", "--series-8", "--series-9", "--shadow-menu", "--shadow-modal", "--shadow-node", "--shadow-selected", "--sidebar-w", "--skeleton", "--soft-active", "--soft-bg", "--soft-border", "--soft-hover", "--success", "--success-bg", "--success-strong", "--success-text", "--switch-h", "--switch-w", "--t-hover", "--t-theme", "--tag-h", "--teal-100", "--teal-200", "--teal-300", "--teal-400", "--teal-50", "--teal-500", "--teal-600", "--teal-700", "--teal-800", "--teal-900", "--teal-950", "--text-2xl", "--text-2xs", "--text-2xs-mono", "--text-3xl", "--text-4xl", "--text-base", "--text-body", "--text-code", "--text-display", "--text-glyph-min", "--text-heading", "--text-inverse", "--text-lg", "--text-md", "--text-muted", "--text-num", "--text-primary", "--text-secondary", "--text-sm", "--text-strong", "--text-xl", "--text-xs", "--title-cell-gap", "--title-cell-icon", "--title-cell-py", "--title-cell-tile", "--title-cell-tile-gap", "--title-cell-tile-r", "--tooltip-bg", "--tooltip-fg", "--topbar-h", "--track", "--tracking-2xl", "--tracking-2xs", "--tracking-3xl", "--tracking-4xl", "--tracking-base", "--tracking-display", "--tracking-lg", "--tracking-md", "--tracking-num", "--tracking-sm", "--tracking-xl", "--tracking-xs", "--warning", "--warning-bg", "--warning-text", "--weight-light", "--weight-medium", "--weight-regular", "--weight-semibold", "--z-drawer", "--z-menu", "--z-modal", "--z-sticky", "--z-toast", "--z-tooltip"];
|
|
22208
|
+
const tokenNames = ["--action-dark", "--action-dark-active", "--action-dark-fg", "--action-dark-hover", "--action-primary", "--action-primary-active", "--action-primary-hover", "--ai-glow-blur", "--ai-glow-opacity", "--ai-gradient-end", "--ai-gradient-start", "--ai-gradient-stops", "--ai-ring-rest-track", "--ai-ring-width", "--ai-spin-hover", "--ai-spin-rest", "--ai-tint", "--ai-tint-press", "--amber-100", "--amber-200", "--amber-300", "--amber-400", "--amber-50", "--amber-500", "--amber-600", "--amber-700", "--amber-800", "--amber-900", "--amber-950", "--bar-card-h", "--bar-h", "--bg-active", "--bg-app", "--bg-hover", "--bg-inset", "--bg-press", "--bg-raised", "--bg-scrim", "--bg-surface", "--bg-table-header", "--blue-100", "--blue-200", "--blue-300", "--blue-400", "--blue-50", "--blue-500", "--blue-600", "--blue-700", "--blue-800", "--blue-900", "--blue-950", "--border-card", "--border-control", "--border-split", "--border-strong", "--border-subtle", "--brand-alpha-12", "--brand-alpha-16", "--brand-alpha-24", "--brand-alpha-32", "--brand-alpha-8", "--card-pad", "--card-pad-sm", "--cat-join", "--cat-join-bg", "--cat-merge", "--cat-merge-bg", "--cat-output", "--cat-output-bg", "--cat-source", "--cat-source-bg", "--cat-transform", "--cat-transform-bg", "--cell-px", "--chart-area-alpha", "--chart-axis", "--chart-blue", "--chart-grid", "--chart-guide", "--chart-heat-1", "--chart-heat-2", "--chart-heat-3", "--chart-heat-4", "--chart-heat-5", "--chart-heat-ink", "--chart-label", "--chart-neg", "--chart-pos", "--chart-total", "--chart-track", "--check-size", "--checkbox-border", "--control-gap", "--control-h", "--control-icon", "--control-leading", "--control-px", "--control-text", "--control-tracking", "--count-h", "--cyan-100", "--cyan-200", "--cyan-300", "--cyan-400", "--cyan-50", "--cyan-500", "--cyan-600", "--cyan-700", "--cyan-800", "--cyan-900", "--cyan-950", "--danger", "--danger-active", "--danger-bg", "--danger-soft-active", "--danger-soft-hover", "--danger-text", "--dot-neutral", "--drawer-h", "--dropzone-border", "--dropzone-border-hover", "--dur", "--dur-fast", "--dur-instant", "--dur-slow", "--dur-slower", "--ease-in", "--ease-in-out", "--ease-out", "--edge", "--edge-pad", "--emerald-100", "--emerald-200", "--emerald-300", "--emerald-400", "--emerald-50", "--emerald-500", "--emerald-600", "--emerald-700", "--emerald-800", "--emerald-900", "--emerald-950", "--focus-border", "--focus-ring", "--font-mono", "--font-sans", "--group-gap", "--h-button", "--h-button-sm", "--h-input", "--h-nav-item", "--h-subnav-item", "--h-tree-item", "--hue-amber-bg", "--hue-amber-fg", "--hue-blue-bg", "--hue-blue-fg", "--hue-cyan-bg", "--hue-cyan-fg", "--hue-gray-bg", "--hue-gray-fg", "--hue-green-bg", "--hue-green-fg", "--hue-orange-bg", "--hue-orange-fg", "--hue-pink-bg", "--hue-pink-fg", "--hue-purple-bg", "--hue-purple-fg", "--hue-red-bg", "--hue-red-fg", "--hue-teal-bg", "--hue-teal-fg", "--info-bg", "--info-fg", "--leading-2xl", "--leading-2xs", "--leading-3xl", "--leading-4xl", "--leading-base", "--leading-code", "--leading-display", "--leading-lg", "--leading-md", "--leading-num", "--leading-sm", "--leading-xl", "--leading-xs", "--link", "--link-hover", "--neutral-0", "--neutral-100", "--neutral-200", "--neutral-300", "--neutral-400", "--neutral-50", "--neutral-500", "--neutral-600", "--neutral-700", "--neutral-800", "--neutral-900", "--neutral-950", "--neutral-alpha-12", "--neutral-alpha-16", "--neutral-alpha-2", "--neutral-alpha-24", "--neutral-alpha-32", "--neutral-alpha-4", "--neutral-alpha-48", "--neutral-alpha-64", "--neutral-alpha-8", "--neutral-alpha-80", "--on-accent", "--orange-100", "--orange-200", "--orange-300", "--orange-400", "--orange-50", "--orange-500", "--orange-600", "--orange-700", "--orange-800", "--orange-900", "--orange-950", "--overlay-drag", "--overlay-hover", "--overlay-press", "--overlay-selected", "--page-pad-x", "--page-pad-y", "--panel-w", "--pink-100", "--pink-200", "--pink-300", "--pink-400", "--pink-50", "--pink-500", "--pink-600", "--pink-700", "--pink-800", "--pink-900", "--pink-950", "--port-border", "--press-filter", "--press-filter-strong", "--purple-100", "--purple-200", "--purple-300", "--purple-400", "--purple-50", "--purple-500", "--purple-600", "--purple-700", "--purple-800", "--purple-900", "--purple-950", "--radius-full", "--radius-lg", "--radius-md", "--radius-node", "--radius-sm", "--radius-tile", "--rail-w", "--red-100", "--red-200", "--red-300", "--red-400", "--red-50", "--red-500", "--red-600", "--red-700", "--red-800", "--red-900", "--red-950", "--ring-focus", "--ring-surface", "--section-gap", "--selected-border", "--series-1", "--series-10", "--series-2", "--series-3", "--series-4", "--series-5", "--series-6", "--series-7", "--series-8", "--series-9", "--shadow-drawer", "--shadow-menu", "--shadow-modal", "--shadow-node", "--shadow-raised", "--shadow-selected", "--shadow-thumb", "--sidebar-w", "--skeleton", "--soft-active", "--soft-bg", "--soft-border", "--soft-hover", "--success", "--success-bg", "--success-strong", "--success-text", "--switch-h", "--switch-w", "--t-hover", "--t-theme", "--tag-h", "--teal-100", "--teal-200", "--teal-300", "--teal-400", "--teal-50", "--teal-500", "--teal-600", "--teal-700", "--teal-800", "--teal-900", "--teal-950", "--text-2xl", "--text-2xs", "--text-2xs-mono", "--text-3xl", "--text-4xl", "--text-base", "--text-body", "--text-code", "--text-display", "--text-glyph-min", "--text-heading", "--text-inverse", "--text-lg", "--text-md", "--text-muted", "--text-num", "--text-primary", "--text-secondary", "--text-sm", "--text-strong", "--text-xl", "--text-xs", "--title-cell-gap", "--title-cell-icon", "--title-cell-py", "--title-cell-tile", "--title-cell-tile-gap", "--title-cell-tile-r", "--tooltip-bg", "--tooltip-fg", "--topbar-h", "--track", "--tracking-2xl", "--tracking-2xs", "--tracking-3xl", "--tracking-4xl", "--tracking-base", "--tracking-display", "--tracking-lg", "--tracking-md", "--tracking-num", "--tracking-sm", "--tracking-xl", "--tracking-xs", "--warning", "--warning-bg", "--warning-text", "--weight-light", "--weight-medium", "--weight-regular", "--weight-semibold", "--z-drawer", "--z-menu", "--z-modal", "--z-sticky", "--z-toast", "--z-tooltip"];
|
|
20273
22209
|
let __ds_default_tokens_tokens_padim4;
|
|
20274
22210
|
try {
|
|
20275
22211
|
__ds_default_tokens_tokens_padim4 = {
|
|
@@ -20282,6 +22218,9 @@ try {
|
|
|
20282
22218
|
Object.assign(__ds_scope, { cssVar, light, dark, tokenNames, __ds_default_tokens_tokens_padim4 });
|
|
20283
22219
|
})(); } catch (e) { __ds_ns.__errors.push({ path: "tokens/tokens.js", error: String((e && e.message) || e) }); }
|
|
20284
22220
|
|
|
22221
|
+
if (__ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls$jzzomx === undefined) __ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls$jzzomx = __ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls !== undefined ? __ds_scope.__ds_default_components_feedback__internal_MessageBoxView_vue_1c0bdls : __ds_scope.MessageBoxView;
|
|
22222
|
+
if (__ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev$1qk09ay === undefined) __ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev$1qk09ay = __ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev !== undefined ? __ds_scope.__ds_default_components_feedback__internal_MessageView_vue_19lfgev : __ds_scope.MessageView;
|
|
22223
|
+
|
|
20285
22224
|
__ds_ns.ActionChip = __ds_scope.ActionChip;
|
|
20286
22225
|
|
|
20287
22226
|
__ds_ns.Button = __ds_scope.Button;
|
|
@@ -20440,6 +22379,10 @@ __ds_ns.Stepper = __ds_scope.Stepper;
|
|
|
20440
22379
|
|
|
20441
22380
|
__ds_ns.Timeline = __ds_scope.Timeline;
|
|
20442
22381
|
|
|
22382
|
+
__ds_ns.MessageBox = __ds_scope.MessageBox;
|
|
22383
|
+
|
|
22384
|
+
__ds_ns.Message = __ds_scope.Message;
|
|
22385
|
+
|
|
20443
22386
|
__ds_ns.Checkbox = __ds_scope.Checkbox;
|
|
20444
22387
|
|
|
20445
22388
|
__ds_ns.Combobox = __ds_scope.Combobox;
|
|
@@ -20450,6 +22393,10 @@ __ds_ns.Dropzone = __ds_scope.Dropzone;
|
|
|
20450
22393
|
|
|
20451
22394
|
__ds_ns.Field = __ds_scope.Field;
|
|
20452
22395
|
|
|
22396
|
+
__ds_ns.GLOBAL_SEARCH_LABELS = __ds_scope.GLOBAL_SEARCH_LABELS;
|
|
22397
|
+
|
|
22398
|
+
__ds_ns.GlobalSearch = __ds_scope.GlobalSearch;
|
|
22399
|
+
|
|
20453
22400
|
__ds_ns.Input = __ds_scope.Input;
|
|
20454
22401
|
|
|
20455
22402
|
__ds_ns.Textarea = __ds_scope.Textarea;
|
|
@@ -20472,6 +22419,10 @@ __ds_ns.Slider = __ds_scope.Slider;
|
|
|
20472
22419
|
|
|
20473
22420
|
__ds_ns.Switch = __ds_scope.Switch;
|
|
20474
22421
|
|
|
22422
|
+
__ds_ns.GS_KINDS = __ds_scope.GS_KINDS;
|
|
22423
|
+
|
|
22424
|
+
__ds_ns.GS_ICONS = __ds_scope.GS_ICONS;
|
|
22425
|
+
|
|
20475
22426
|
__ds_ns.RELATIVE_TIME_UNITS = __ds_scope.RELATIVE_TIME_UNITS;
|
|
20476
22427
|
|
|
20477
22428
|
__ds_ns.RELATIVE_TIME_LABELS = __ds_scope.RELATIVE_TIME_LABELS;
|