@orbit-work/ui 0.1.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/README.md +110 -0
- package/dist/about-window.cjs +1 -0
- package/dist/about-window.d.cts +12 -0
- package/dist/about-window.d.ts +12 -0
- package/dist/about-window.js +1 -0
- package/dist/appearance-D5uQ53j3.d.cts +210 -0
- package/dist/appearance-D5uQ53j3.d.ts +210 -0
- package/dist/appearance.cjs +1 -0
- package/dist/appearance.d.cts +1 -0
- package/dist/appearance.d.ts +1 -0
- package/dist/appearance.js +1 -0
- package/dist/browser-annotation-popup.cjs +1 -0
- package/dist/browser-annotation-popup.d.cts +48 -0
- package/dist/browser-annotation-popup.d.ts +48 -0
- package/dist/browser-annotation-popup.js +1 -0
- package/dist/chunk-3KT7IU4X.js +13 -0
- package/dist/chunk-5VLBKOG7.cjs +194 -0
- package/dist/chunk-7YJY64LZ.js +82 -0
- package/dist/chunk-EF2BSN3K.cjs +13 -0
- package/dist/chunk-GMMYDILD.cjs +82 -0
- package/dist/chunk-VG7FQQ7K.js +194 -0
- package/dist/fonts/JetBrainsMono-Medium.ttf +0 -0
- package/dist/fonts/JetBrainsMono-Regular.ttf +0 -0
- package/dist/fonts/SpaceGrotesk-500-latin-ext.woff2 +0 -0
- package/dist/fonts/SpaceGrotesk-500-latin.woff2 +0 -0
- package/dist/fonts/SpaceGrotesk-700-latin-ext.woff2 +0 -0
- package/dist/fonts/SpaceGrotesk-700-latin.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-400.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-500.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400-italic.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-400.woff2 +0 -0
- package/dist/fonts/ibm-plex-mono-latin-ext-500.woff2 +0 -0
- package/dist/index.cjs +32 -0
- package/dist/index.css +1 -0
- package/dist/index.d.cts +10345 -0
- package/dist/index.d.ts +10345 -0
- package/dist/index.js +32 -0
- package/dist/orbitwork.css +22134 -0
- package/package.json +119 -0
- package/src/components/Layout/AppLayout/AppLayout.stories.tsx +246 -0
- package/src/components/Layout/AppLayout/AppLayoutSource.test.mjs +37 -0
- package/src/components/Layout/AppLayout/index.tsx +122 -0
- package/src/components/Layout/Sidebar/index.tsx +13 -0
- package/src/components/Layout/SidebarShell/SidebarShell.stories.tsx +676 -0
- package/src/components/Layout/SidebarShell/SidebarShellSource.test.mjs +161 -0
- package/src/components/Layout/SidebarShell/index.tsx +326 -0
- package/src/components/Layout/index.ts +10 -0
- package/src/components/composite/ActionBar/ActionBar.stories.tsx +26 -0
- package/src/components/composite/ActionBar/index.tsx +31 -0
- package/src/components/composite/ActionStatus/ActionStatus.stories.tsx +60 -0
- package/src/components/composite/ActionStatus/index.tsx +21 -0
- package/src/components/composite/AskQuestionCardView/AskQuestionCardView.stories.tsx +175 -0
- package/src/components/composite/AskQuestionCardView/AskQuestionCardViewSource.test.mjs +92 -0
- package/src/components/composite/AskQuestionCardView/index.tsx +119 -0
- package/src/components/composite/AssistantChannelCard/AssistantChannelCard.stories.tsx +265 -0
- package/src/components/composite/AssistantChannelCard/AssistantChannelCardSource.test.mjs +45 -0
- package/src/components/composite/AssistantChannelCard/index.tsx +102 -0
- package/src/components/composite/AssistantToggleRow/AssistantToggleRow.stories.tsx +197 -0
- package/src/components/composite/AssistantToggleRow/index.tsx +35 -0
- package/src/components/composite/AttachmentCard/AttachmentCard.stories.tsx +125 -0
- package/src/components/composite/AttachmentCard/index.tsx +80 -0
- package/src/components/composite/BackButton/BackButton.stories.tsx +93 -0
- package/src/components/composite/BackButton/BackButtonSource.test.mjs +29 -0
- package/src/components/composite/BackButton/index.tsx +48 -0
- package/src/components/composite/Banner/Banner.stories.tsx +180 -0
- package/src/components/composite/Banner/BannerSource.test.mjs +67 -0
- package/src/components/composite/Banner/index.tsx +125 -0
- package/src/components/composite/BeaconIcons/BeaconIcons.stories.tsx +153 -0
- package/src/components/composite/BeaconIcons/index.tsx +265 -0
- package/src/components/composite/BeaconSpinner/BeaconSpinner.stories.tsx +144 -0
- package/src/components/composite/BeaconSpinner/index.tsx +185 -0
- package/src/components/composite/CatalogStates/CatalogEmptyState.stories.tsx +108 -0
- package/src/components/composite/CatalogStates/CatalogStates.stories.tsx +53 -0
- package/src/components/composite/CatalogStates/CatalogStatesSource.test.mjs +149 -0
- package/src/components/composite/CatalogStates/index.tsx +113 -0
- package/src/components/composite/Charts/Charts.stories.tsx +174 -0
- package/src/components/composite/Charts/ChartsSource.test.mjs +111 -0
- package/src/components/composite/Charts/index.tsx +385 -0
- package/src/components/composite/CodeBlock/CodeBlock.stories.tsx +308 -0
- package/src/components/composite/CodeBlock/CodeFaceSource.test.mjs +89 -0
- package/src/components/composite/CodeBlock/index.tsx +300 -0
- package/src/components/composite/CodeDiff/CodeDiff.stories.tsx +169 -0
- package/src/components/composite/CodeDiff/index.tsx +373 -0
- package/src/components/composite/CodePreview/CodePreview.stories.tsx +127 -0
- package/src/components/composite/CodePreview/CodePreviewSource.test.mjs +43 -0
- package/src/components/composite/CodePreview/index.tsx +98 -0
- package/src/components/composite/CommandPalette/CommandPalette.stories.tsx +89 -0
- package/src/components/composite/CommandPalette/CommandPaletteSource.test.mjs +61 -0
- package/src/components/composite/CommandPalette/index.tsx +310 -0
- package/src/components/composite/ContentRecommendation/ContentRecommendation.stories.tsx +300 -0
- package/src/components/composite/ContentRecommendation/ContentRecommendationSource.test.mjs +48 -0
- package/src/components/composite/ContentRecommendation/index.tsx +116 -0
- package/src/components/composite/ContextChip/ContextChip.stories.tsx +123 -0
- package/src/components/composite/ContextChip/ContextChipSource.test.mjs +24 -0
- package/src/components/composite/ContextChip/index.tsx +25 -0
- package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorSizeSource.test.mjs +15 -0
- package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorView.stories.tsx +110 -0
- package/src/components/composite/ContextUsageIndicatorView/ContextUsageLoadingSource.test.mjs +23 -0
- package/src/components/composite/ContextUsageIndicatorView/index.tsx +139 -0
- package/src/components/composite/Controls/Controls.stories.tsx +227 -0
- package/src/components/composite/Controls/index.tsx +15 -0
- package/src/components/composite/CreateProjectDialog/CreateProjectDialog.stories.tsx +56 -0
- package/src/components/composite/CreateProjectDialog/index.tsx +70 -0
- package/src/components/composite/DataManagementSectionView/DataManagementSectionView.stories.tsx +123 -0
- package/src/components/composite/DataManagementSectionView/DataManagementSectionViewSource.test.mjs +45 -0
- package/src/components/composite/DataManagementSectionView/index.tsx +110 -0
- package/src/components/composite/DataTable/DataTable.stories.tsx +159 -0
- package/src/components/composite/DataTable/DataTableSource.test.mjs +96 -0
- package/src/components/composite/DataTable/index.tsx +373 -0
- package/src/components/composite/DetailChrome/DetailChrome.stories.tsx +61 -0
- package/src/components/composite/DetailChrome/DetailChromeSource.test.mjs +31 -0
- package/src/components/composite/DetailChrome/index.tsx +94 -0
- package/src/components/composite/DetailPanel/DetailPanel.stories.tsx +185 -0
- package/src/components/composite/DetailPanel/DetailPanelSource.test.mjs +49 -0
- package/src/components/composite/DetailPanel/index.tsx +120 -0
- package/src/components/composite/DetailScaffold/DetailScaffold.stories.tsx +203 -0
- package/src/components/composite/DetailScaffold/DetailScaffoldSource.test.mjs +38 -0
- package/src/components/composite/DetailScaffold/index.tsx +114 -0
- package/src/components/composite/Dialog/Dialog.stories.tsx +343 -0
- package/src/components/composite/Dialog/DialogSource.test.mjs +130 -0
- package/src/components/composite/Dialog/index.tsx +333 -0
- package/src/components/composite/DropZone/DropZone.stories.tsx +105 -0
- package/src/components/composite/DropZone/DropZoneSource.test.mjs +68 -0
- package/src/components/composite/DropZone/index.tsx +196 -0
- package/src/components/composite/FSelect/FSelect.stories.tsx +64 -0
- package/src/components/composite/FSelect/index.tsx +29 -0
- package/src/components/composite/FeedbackContextMenuView/FeedbackContextMenuView.stories.tsx +106 -0
- package/src/components/composite/FeedbackContextMenuView/index.tsx +51 -0
- package/src/components/composite/FeedbackDialogView/FeedbackDialogView.stories.tsx +291 -0
- package/src/components/composite/FeedbackDialogView/index.tsx +95 -0
- package/src/components/composite/FileReferenceCard/FileReferenceCard.stories.tsx +364 -0
- package/src/components/composite/FileReferenceCard/FileReferenceCardSource.test.mjs +48 -0
- package/src/components/composite/FileReferenceCard/index.tsx +122 -0
- package/src/components/composite/FilterBar/FilterBar.stories.tsx +167 -0
- package/src/components/composite/FilterBar/FilterBarSource.test.mjs +75 -0
- package/src/components/composite/FilterBar/index.tsx +206 -0
- package/src/components/composite/FormField/FormField.stories.tsx +158 -0
- package/src/components/composite/FormField/FormFieldSource.test.mjs +56 -0
- package/src/components/composite/FormField/index.tsx +219 -0
- package/src/components/composite/HomeBackdrop/HomeBackdrop.stories.tsx +54 -0
- package/src/components/composite/HomeBackdrop/HomeBackdropSource.test.mjs +50 -0
- package/src/components/composite/HomeBackdrop/index.tsx +53 -0
- package/src/components/composite/Icons/Icons.stories.tsx +153 -0
- package/src/components/composite/Icons/IconsSource.test.mjs +23 -0
- package/src/components/composite/Icons/index.tsx +1347 -0
- package/src/components/composite/ImageCard/ImageCard.stories.tsx +54 -0
- package/src/components/composite/ImageCard/index.tsx +33 -0
- package/src/components/composite/ImagePreview/ImagePreview.stories.tsx +172 -0
- package/src/components/composite/ImagePreview/ImagePreviewSource.test.mjs +95 -0
- package/src/components/composite/ImagePreview/index.tsx +339 -0
- package/src/components/composite/ListRow/ListRow.stories.tsx +257 -0
- package/src/components/composite/ListRow/ListRowSource.test.mjs +101 -0
- package/src/components/composite/ListRow/index.tsx +309 -0
- package/src/components/composite/Markdown/Markdown.stories.tsx +192 -0
- package/src/components/composite/Markdown/MarkdownSource.test.mjs +126 -0
- package/src/components/composite/Markdown/MarkdownStyleSource.test.mjs +152 -0
- package/src/components/composite/Markdown/index.tsx +702 -0
- package/src/components/composite/MarkdownPreview/MarkdownPreview.stories.tsx +174 -0
- package/src/components/composite/MarkdownPreview/MarkdownPreviewTabsSource.test.mjs +31 -0
- package/src/components/composite/MarkdownPreview/MarkdownRenderedStyleSource.test.mjs +84 -0
- package/src/components/composite/MarkdownPreview/index.tsx +140 -0
- package/src/components/composite/MarkdownPreviewModalView/MarkdownPreviewModalView.stories.tsx +104 -0
- package/src/components/composite/MarkdownPreviewModalView/index.tsx +85 -0
- package/src/components/composite/MessageFeedbackDialog/MessageFeedbackDialog.stories.tsx +66 -0
- package/src/components/composite/MessageFeedbackDialog/index.tsx +115 -0
- package/src/components/composite/ModelCatalogErrorState/ModelCatalogErrorState.stories.tsx +101 -0
- package/src/components/composite/ModelCatalogErrorState/ModelCatalogRetrySource.test.mjs +86 -0
- package/src/components/composite/ModelCatalogErrorState/index.tsx +59 -0
- package/src/components/composite/ModelModalityFlow/ModelModalityFlow.stories.tsx +224 -0
- package/src/components/composite/ModelModalityFlow/ModelModalityFlowSource.test.mjs +56 -0
- package/src/components/composite/ModelModalityFlow/index.tsx +113 -0
- package/src/components/composite/ModelPickerList/ModelPickerList.stories.tsx +313 -0
- package/src/components/composite/ModelPickerList/index.tsx +142 -0
- package/src/components/composite/ModelSelect/ModelSelect.stories.tsx +90 -0
- package/src/components/composite/ModelSelect/index.tsx +148 -0
- package/src/components/composite/ModelsSettingsSectionView/ModelsSettingsSectionView.stories.tsx +170 -0
- package/src/components/composite/ModelsSettingsSectionView/index.tsx +139 -0
- package/src/components/composite/NativeControls/NativeControls.stories.tsx +386 -0
- package/src/components/composite/NativeControls/NativeControlsStyleSource.test.mjs +63 -0
- package/src/components/composite/NativeControls/index.tsx +97 -0
- package/src/components/composite/NavMenu/NavMenu.stories.tsx +383 -0
- package/src/components/composite/NavMenu/NavMenuSource.test.mjs +56 -0
- package/src/components/composite/NavMenu/index.tsx +142 -0
- package/src/components/composite/NoPlanPanelView/NoPlanPanelView.stories.tsx +344 -0
- package/src/components/composite/NoPlanPanelView/NoPlanPanelViewSource.test.mjs +34 -0
- package/src/components/composite/NoPlanPanelView/index.tsx +97 -0
- package/src/components/composite/OpenWithButton/OpenWithButton.stories.tsx +78 -0
- package/src/components/composite/OpenWithButton/index.tsx +46 -0
- package/src/components/composite/OrbitworkLogo/OrbitworkLogo.stories.tsx +192 -0
- package/src/components/composite/OrbitworkLogo/index.tsx +207 -0
- package/src/components/composite/OrbitworkModal/OrbitworkModal.stories.tsx +58 -0
- package/src/components/composite/OrbitworkModal/index.tsx +31 -0
- package/src/components/composite/PageHead/PageHead.stories.tsx +235 -0
- package/src/components/composite/PageHead/PageHeadSource.test.mjs +76 -0
- package/src/components/composite/PageHead/index.tsx +128 -0
- package/src/components/composite/PlanFeatureIcon/PlanFeatureIcon.stories.tsx +205 -0
- package/src/components/composite/PlanFeatureIcon/PlanFeatureIconSource.test.mjs +38 -0
- package/src/components/composite/PlanFeatureIcon/index.tsx +48 -0
- package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionView.stories.tsx +231 -0
- package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionViewSource.test.mjs +85 -0
- package/src/components/composite/PlanSettingsSectionView/index.tsx +264 -0
- package/src/components/composite/Popover/Popover.stories.tsx +175 -0
- package/src/components/composite/Popover/PopoverSource.test.mjs +59 -0
- package/src/components/composite/Popover/index.tsx +176 -0
- package/src/components/composite/PptxRenderer/ElementDispatcher/index.tsx +70 -0
- package/src/components/composite/PptxRenderer/PptxChromeStyleSource.test.mjs +36 -0
- package/src/components/composite/PptxRenderer/PptxRenderer.stories.tsx +128 -0
- package/src/components/composite/PptxRenderer/PptxSlide/index.tsx +48 -0
- package/src/components/composite/PptxRenderer/constants.ts +2 -0
- package/src/components/composite/PptxRenderer/elements/AudioElement/index.tsx +48 -0
- package/src/components/composite/PptxRenderer/elements/ChartElement/index.tsx +172 -0
- package/src/components/composite/PptxRenderer/elements/DiagramElement/index.tsx +46 -0
- package/src/components/composite/PptxRenderer/elements/GroupElement/index.tsx +28 -0
- package/src/components/composite/PptxRenderer/elements/ImageElement/index.tsx +61 -0
- package/src/components/composite/PptxRenderer/elements/MathElement/index.tsx +57 -0
- package/src/components/composite/PptxRenderer/elements/ShapeElement/index.tsx +327 -0
- package/src/components/composite/PptxRenderer/elements/TableElement/index.tsx +90 -0
- package/src/components/composite/PptxRenderer/elements/TextElement/index.tsx +57 -0
- package/src/components/composite/PptxRenderer/elements/VideoElement/index.tsx +43 -0
- package/src/components/composite/PptxRenderer/index.ts +24 -0
- package/src/components/composite/PptxRenderer/types.ts +326 -0
- package/src/components/composite/PptxRenderer/utils.ts +129 -0
- package/src/components/composite/ProjectSelect/ProjectSelect.stories.tsx +112 -0
- package/src/components/composite/ProjectSelect/ProjectSelectSource.test.mjs +34 -0
- package/src/components/composite/ProjectSelect/index.tsx +155 -0
- package/src/components/composite/RadioCard/RadioCard.stories.tsx +130 -0
- package/src/components/composite/RadioCard/RadioCardSource.test.mjs +42 -0
- package/src/components/composite/RadioCard/index.tsx +171 -0
- package/src/components/composite/RowOverflowMenu/RowOverflowMenu.stories.tsx +113 -0
- package/src/components/composite/RowOverflowMenu/RowOverflowMenuSource.test.mjs +59 -0
- package/src/components/composite/RowOverflowMenu/index.tsx +101 -0
- package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPrompt.stories.tsx +159 -0
- package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPromptSource.test.mjs +71 -0
- package/src/components/composite/SandboxPermissionPrompt/index.tsx +157 -0
- package/src/components/composite/SearchInput/SearchInput.stories.tsx +127 -0
- package/src/components/composite/SearchInput/index.tsx +91 -0
- package/src/components/composite/SearchResult/SearchResult.stories.tsx +305 -0
- package/src/components/composite/SearchResult/SearchResultSource.test.mjs +45 -0
- package/src/components/composite/SearchResult/index.tsx +148 -0
- package/src/components/composite/Section/Section.stories.tsx +148 -0
- package/src/components/composite/Section/SectionSource.test.mjs +59 -0
- package/src/components/composite/Section/index.tsx +105 -0
- package/src/components/composite/SelectionBulkBar/SelectionBulkBar.stories.tsx +111 -0
- package/src/components/composite/SelectionBulkBar/SelectionBulkBarSource.test.mjs +44 -0
- package/src/components/composite/SelectionBulkBar/index.tsx +99 -0
- package/src/components/composite/ShareStrip/ShareStrip.stories.tsx +123 -0
- package/src/components/composite/ShareStrip/index.tsx +83 -0
- package/src/components/composite/ShortcutSheet/ShortcutSheet.stories.tsx +90 -0
- package/src/components/composite/ShortcutSheet/ShortcutSheetSource.test.mjs +49 -0
- package/src/components/composite/ShortcutSheet/index.tsx +163 -0
- package/src/components/composite/SitesArtifactCardView/SitesArtifactCardView.stories.tsx +328 -0
- package/src/components/composite/SitesArtifactCardView/SitesArtifactCardViewSource.test.mjs +45 -0
- package/src/components/composite/SitesArtifactCardView/index.tsx +100 -0
- package/src/components/composite/Skeleton/Skeleton.stories.tsx +188 -0
- package/src/components/composite/Skeleton/SkeletonSource.test.mjs +25 -0
- package/src/components/composite/Skeleton/index.tsx +152 -0
- package/src/components/composite/Splash/Splash.stories.tsx +150 -0
- package/src/components/composite/Splash/index.tsx +229 -0
- package/src/components/composite/StatusTag/StatusTag.stories.tsx +66 -0
- package/src/components/composite/StatusTag/StatusTagSource.test.mjs +64 -0
- package/src/components/composite/StatusTag/index.tsx +78 -0
- package/src/components/composite/StepList/StepList.stories.tsx +352 -0
- package/src/components/composite/StepList/index.tsx +23 -0
- package/src/components/composite/Tag/Tag.stories.tsx +279 -0
- package/src/components/composite/Tag/TagSource.test.mjs +67 -0
- package/src/components/composite/Tag/index.tsx +229 -0
- package/src/components/composite/TimePicker/TimePicker.stories.tsx +91 -0
- package/src/components/composite/TimePicker/TimePickerSource.test.mjs +98 -0
- package/src/components/composite/TimePicker/index.tsx +208 -0
- package/src/components/composite/TitleBar/TitleBar.stories.tsx +329 -0
- package/src/components/composite/TitleBar/TitleBarSource.test.mjs +140 -0
- package/src/components/composite/TitleBar/index.tsx +350 -0
- package/src/components/composite/Toast/Toast.stories.tsx +304 -0
- package/src/components/composite/Toast/ToastSource.test.mjs +63 -0
- package/src/components/composite/Toast/index.tsx +135 -0
- package/src/components/composite/Tooltip/Tooltip.stories.tsx +304 -0
- package/src/components/composite/Tooltip/TooltipSource.test.mjs +34 -0
- package/src/components/composite/Tooltip/index.tsx +204 -0
- package/src/components/composite/TranscriptDividers/TranscriptDividers.stories.tsx +160 -0
- package/src/components/composite/TranscriptDividers/TranscriptDividersSource.test.mjs +90 -0
- package/src/components/composite/TranscriptDividers/index.tsx +352 -0
- package/src/components/composite/WCardShell/WCardShell.stories.tsx +228 -0
- package/src/components/composite/WCardShell/index.tsx +101 -0
- package/src/components/composite/index.ts +81 -0
- package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarView.stories.tsx +128 -0
- package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarViewSource.test.mjs +69 -0
- package/src/components/domain/artifacts/ArtifactPreviewSidebarView/index.tsx +212 -0
- package/src/components/domain/artifacts/index.ts +1 -0
- package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupView.stories.tsx +211 -0
- package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupViewSource.test.mjs +82 -0
- package/src/components/domain/browser/BrowserAnnotationPopupView/index.tsx +235 -0
- package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarView.stories.tsx +260 -0
- package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarViewSource.test.mjs +12 -0
- package/src/components/domain/browser/BrowserDeviceToolbarView/index.tsx +154 -0
- package/src/components/domain/browser/BrowserFindBarView/BrowserFindBarView.stories.tsx +52 -0
- package/src/components/domain/browser/BrowserFindBarView/index.tsx +111 -0
- package/src/components/domain/browser/BrowserImportDialogView/BrowserImportDialogView.stories.tsx +89 -0
- package/src/components/domain/browser/BrowserImportDialogView/index.tsx +155 -0
- package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorView.stories.tsx +197 -0
- package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorViewSource.test.mjs +29 -0
- package/src/components/domain/browser/BrowserLoadErrorView/index.tsx +45 -0
- package/src/components/domain/browser/BrowserMoreMenuView/BrowserMoreMenuView.stories.tsx +66 -0
- package/src/components/domain/browser/BrowserMoreMenuView/index.tsx +268 -0
- package/src/components/domain/browser/BrowserNavBarView/BrowserNavBarView.stories.tsx +149 -0
- package/src/components/domain/browser/BrowserNavBarView/index.tsx +156 -0
- package/src/components/domain/browser/BrowserTabBarView/index.tsx +18 -0
- package/src/components/domain/browser/SubAgentPane/SubAgentPane.stories.tsx +96 -0
- package/src/components/domain/browser/SubAgentPane/SubAgentPaneSource.test.mjs +48 -0
- package/src/components/domain/browser/SubAgentPane/index.tsx +121 -0
- package/src/components/domain/browser/TerminalPane/TerminalPane.stories.tsx +95 -0
- package/src/components/domain/browser/TerminalPane/TerminalPaneSource.test.mjs +52 -0
- package/src/components/domain/browser/TerminalPane/index.tsx +75 -0
- package/src/components/domain/browser/WebPreview/WebPreview.stories.tsx +71 -0
- package/src/components/domain/browser/WebPreview/index.tsx +141 -0
- package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsole.stories.tsx +61 -0
- package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsoleSource.test.mjs +66 -0
- package/src/components/domain/browser/WebPreviewConsole/index.tsx +239 -0
- package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialog.stories.tsx +288 -0
- package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialogSource.test.mjs +62 -0
- package/src/components/domain/browser/WebPreviewDialog/index.tsx +82 -0
- package/src/components/domain/browser/WebPreviewNav/WebPreviewNav.stories.tsx +462 -0
- package/src/components/domain/browser/WebPreviewNav/WebPreviewNavSource.test.mjs +353 -0
- package/src/components/domain/browser/WebPreviewNav/index.tsx +351 -0
- package/src/components/domain/browser/WebPreviewShell/WebPreviewShell.stories.tsx +226 -0
- package/src/components/domain/browser/WebPreviewShell/WebPreviewShellSource.test.mjs +172 -0
- package/src/components/domain/browser/WebPreviewShell/index.tsx +324 -0
- package/src/components/domain/browser/index.ts +45 -0
- package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegment.stories.tsx +107 -0
- package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegmentSource.test.mjs +45 -0
- package/src/components/domain/chat/AgentLoopSegment/index.tsx +29 -0
- package/src/components/domain/chat/AgentTurn/AgentTurn.stories.tsx +162 -0
- package/src/components/domain/chat/AgentTurn/AgentTurnSource.test.mjs +98 -0
- package/src/components/domain/chat/AgentTurn/beaconContext.ts +37 -0
- package/src/components/domain/chat/AgentTurn/index.tsx +226 -0
- package/src/components/domain/chat/ArtifactCard/ArtifactCard.stories.tsx +127 -0
- package/src/components/domain/chat/ArtifactCard/index.tsx +249 -0
- package/src/components/domain/chat/Attachment/Attachment.stories.tsx +235 -0
- package/src/components/domain/chat/Attachment/AttachmentSource.test.mjs +160 -0
- package/src/components/domain/chat/Attachment/index.tsx +857 -0
- package/src/components/domain/chat/AuthorizationCard/AuthorizationCard.stories.tsx +53 -0
- package/src/components/domain/chat/AuthorizationCard/AuthorizationCardSource.test.mjs +80 -0
- package/src/components/domain/chat/AuthorizationCard/index.tsx +89 -0
- package/src/components/domain/chat/ChatBubble/ChatBubble.stories.tsx +32 -0
- package/src/components/domain/chat/ChatBubble/index.tsx +24 -0
- package/src/components/domain/chat/ChatMessage/ChatMessage.stories.tsx +31 -0
- package/src/components/domain/chat/ChatMessage/index.tsx +23 -0
- package/src/components/domain/chat/ChatR2ReviewSource.test.mjs +98 -0
- package/src/components/domain/chat/ChatThinking/ChatThinking.stories.tsx +125 -0
- package/src/components/domain/chat/ChatThinking/index.tsx +55 -0
- package/src/components/domain/chat/Chatbot/Chatbot.stories.tsx +49 -0
- package/src/components/domain/chat/Chatbot/index.tsx +37 -0
- package/src/components/domain/chat/Composer/Composer.stories.tsx +227 -0
- package/src/components/domain/chat/Composer/ComposerSource.test.mjs +175 -0
- package/src/components/domain/chat/Composer/index.tsx +450 -0
- package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.stories.tsx +203 -0
- package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.tsx +110 -0
- package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrumSource.test.mjs +54 -0
- package/src/components/domain/chat/Composer/parts/ComposerAuthorization.stories.tsx +155 -0
- package/src/components/domain/chat/Composer/parts/ComposerAuthorization.tsx +108 -0
- package/src/components/domain/chat/Composer/parts/ComposerMentions.stories.tsx +76 -0
- package/src/components/domain/chat/Composer/parts/ComposerMentions.tsx +83 -0
- package/src/components/domain/chat/Composer/parts/ComposerMentionsSource.test.mjs +85 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenu.stories.tsx +266 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenu.tsx +232 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.stories.tsx +166 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.tsx +87 -0
- package/src/components/domain/chat/Composer/parts/ComposerMenuPopoverSource.test.mjs +56 -0
- package/src/components/domain/chat/Composer/parts/ComposerPopover.stories.tsx +257 -0
- package/src/components/domain/chat/Composer/parts/ComposerPopover.tsx +221 -0
- package/src/components/domain/chat/Composer/parts/ComposerPopoverSource.test.mjs +71 -0
- package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.stories.tsx +260 -0
- package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.tsx +246 -0
- package/src/components/domain/chat/Composer/parts/ComposerProjectPickerSource.test.mjs +46 -0
- package/src/components/domain/chat/Composer/parts/ComposerQueue.stories.tsx +275 -0
- package/src/components/domain/chat/Composer/parts/ComposerQueue.tsx +155 -0
- package/src/components/domain/chat/Composer/parts/ComposerQueueSource.test.mjs +95 -0
- package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.stories.tsx +77 -0
- package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.tsx +70 -0
- package/src/components/domain/chat/Composer/parts/mountChip.ts +21 -0
- package/src/components/domain/chat/ContextUsage/ContextUsage.stories.tsx +62 -0
- package/src/components/domain/chat/ContextUsage/index.tsx +69 -0
- package/src/components/domain/chat/ExecutionSummary/ExecutionSummary.stories.tsx +238 -0
- package/src/components/domain/chat/ExecutionSummary/ExecutionSummarySource.test.mjs +210 -0
- package/src/components/domain/chat/ExecutionSummary/index.tsx +487 -0
- package/src/components/domain/chat/Message/Message.stories.tsx +264 -0
- package/src/components/domain/chat/Message/index.tsx +44 -0
- package/src/components/domain/chat/MessageActions/MessageActions.stories.tsx +132 -0
- package/src/components/domain/chat/MessageActions/MessageActionsSource.test.mjs +79 -0
- package/src/components/domain/chat/MessageActions/index.tsx +186 -0
- package/src/components/domain/chat/PlanCard/PlanCard.stories.tsx +87 -0
- package/src/components/domain/chat/PlanCard/index.tsx +170 -0
- package/src/components/domain/chat/RichContent/RichContent.stories.tsx +102 -0
- package/src/components/domain/chat/RichContent/RichContentSource.test.mjs +82 -0
- package/src/components/domain/chat/RichContent/index.tsx +465 -0
- package/src/components/domain/chat/SubAgentThread/SubAgentThread.stories.tsx +119 -0
- package/src/components/domain/chat/SubAgentThread/index.tsx +104 -0
- package/src/components/domain/chat/Thinking/Thinking.stories.tsx +196 -0
- package/src/components/domain/chat/Thinking/ThinkingInlineSource.test.mjs +154 -0
- package/src/components/domain/chat/Thinking/index.tsx +237 -0
- package/src/components/domain/chat/ToolCallRow/ToolCallRow.stories.tsx +105 -0
- package/src/components/domain/chat/ToolCallRow/ToolCallRowSource.test.mjs +83 -0
- package/src/components/domain/chat/ToolCallRow/index.tsx +113 -0
- package/src/components/domain/chat/Transcript/Transcript.stories.tsx +296 -0
- package/src/components/domain/chat/Transcript/TranscriptSource.test.mjs +189 -0
- package/src/components/domain/chat/Transcript/index.tsx +187 -0
- package/src/components/domain/chat/TranscriptSpine/TranscriptSpine.stories.tsx +124 -0
- package/src/components/domain/chat/TranscriptSpine/index.tsx +245 -0
- package/src/components/domain/chat/UserTurn/UserTurn.stories.tsx +176 -0
- package/src/components/domain/chat/UserTurn/UserTurnSource.test.mjs +150 -0
- package/src/components/domain/chat/UserTurn/index.tsx +194 -0
- package/src/components/domain/chat/index.ts +22 -0
- package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuView.stories.tsx +116 -0
- package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuViewSource.test.mjs +80 -0
- package/src/components/domain/desktop/DesktopAccountMenuView/index.tsx +355 -0
- package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettings.stories.tsx +96 -0
- package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettingsSource.test.mjs +89 -0
- package/src/components/domain/desktop/DesktopAppearanceSettings/index.tsx +155 -0
- package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigView.stories.tsx +275 -0
- package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigViewSource.test.mjs +37 -0
- package/src/components/domain/desktop/DesktopAssistantConfigView/index.tsx +221 -0
- package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogView.stories.tsx +537 -0
- package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogViewSource.test.mjs +339 -0
- package/src/components/domain/desktop/DesktopCatalogView/index.tsx +1074 -0
- package/src/components/domain/desktop/DesktopChatBranchDivider/DesktopChatBranchDivider.stories.tsx +58 -0
- package/src/components/domain/desktop/DesktopChatBranchDivider/index.tsx +33 -0
- package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateView.stories.tsx +75 -0
- package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateViewSource.test.mjs +54 -0
- package/src/components/domain/desktop/DesktopChatEmptyStateView/index.tsx +64 -0
- package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderView.stories.tsx +83 -0
- package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderViewSource.test.mjs +126 -0
- package/src/components/domain/desktop/DesktopChatHeaderView/index.tsx +169 -0
- package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageView.stories.tsx +170 -0
- package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageViewSource.test.mjs +47 -0
- package/src/components/domain/desktop/DesktopChatMessageView/index.tsx +213 -0
- package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnView.stories.tsx +498 -0
- package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnViewSource.test.mjs +187 -0
- package/src/components/domain/desktop/DesktopChatTurnView/index.tsx +490 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposer.stories.tsx +195 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposerModelPickerSource.test.mjs +132 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposerMountChipSource.test.mjs +43 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopComposerResponsiveSource.test.mjs +44 -0
- package/src/components/domain/desktop/DesktopComposer/DesktopMcpFormThemeSource.test.mjs +30 -0
- package/src/components/domain/desktop/DesktopComposer/index.tsx +206 -0
- package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailView.stories.tsx +72 -0
- package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailViewSource.test.mjs +81 -0
- package/src/components/domain/desktop/DesktopConnectorDetailView/index.tsx +301 -0
- package/src/components/domain/desktop/DesktopHomeView/DesktopHomeView.stories.tsx +103 -0
- package/src/components/domain/desktop/DesktopHomeView/DesktopHomeViewSource.test.mjs +51 -0
- package/src/components/domain/desktop/DesktopHomeView/index.tsx +122 -0
- package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/DesktopLibraryAuthorizationDialog.stories.tsx +55 -0
- package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/index.tsx +156 -0
- package/src/components/domain/desktop/DesktopLibraryPageView/DesktopLibraryPageView.stories.tsx +42 -0
- package/src/components/domain/desktop/DesktopLibraryPageView/index.tsx +35 -0
- package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.css +75 -0
- package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.stories.tsx +230 -0
- package/src/components/domain/desktop/DesktopLoginView/DesktopLoginViewSource.test.mjs +149 -0
- package/src/components/domain/desktop/DesktopLoginView/index.tsx +418 -0
- package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourView.stories.tsx +103 -0
- package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourViewSource.test.mjs +57 -0
- package/src/components/domain/desktop/DesktopOnboardingTourView/index.tsx +189 -0
- package/src/components/domain/desktop/DesktopPet/DesktopPet.fixture.ts +243 -0
- package/src/components/domain/desktop/DesktopPet/DesktopPet.stories.tsx +337 -0
- package/src/components/domain/desktop/DesktopPet/DesktopPetSource.test.mjs +191 -0
- package/src/components/domain/desktop/DesktopPet/index.tsx +591 -0
- package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettings.stories.tsx +159 -0
- package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettingsSource.test.mjs +76 -0
- package/src/components/domain/desktop/DesktopPetSettings/index.tsx +140 -0
- package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusView.stories.tsx +166 -0
- package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusViewSource.test.mjs +51 -0
- package/src/components/domain/desktop/DesktopRunStatusView/index.tsx +34 -0
- package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCard.stories.tsx +122 -0
- package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCardSource.test.mjs +42 -0
- package/src/components/domain/desktop/DesktopSelectionCard/index.tsx +75 -0
- package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySection.stories.tsx +225 -0
- package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySectionSource.test.mjs +105 -0
- package/src/components/domain/desktop/DesktopSettingsMemorySection/index.tsx +340 -0
- package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsView.stories.tsx +177 -0
- package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsViewSource.test.mjs +195 -0
- package/src/components/domain/desktop/DesktopSettingsView/index.tsx +176 -0
- package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarView.stories.tsx +77 -0
- package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarViewSource.test.mjs +76 -0
- package/src/components/domain/desktop/DesktopShareSelectionBarView/index.tsx +55 -0
- package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarView.stories.tsx +454 -0
- package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarViewSource.test.mjs +386 -0
- package/src/components/domain/desktop/DesktopSidebarView/index.tsx +1072 -0
- package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesView.stories.tsx +369 -0
- package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesViewSource.test.mjs +123 -0
- package/src/components/domain/desktop/DesktopSiteReleasesView/index.tsx +392 -0
- package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListView.stories.tsx +244 -0
- package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListViewSource.test.mjs +198 -0
- package/src/components/domain/desktop/DesktopSitesListView/index.tsx +417 -0
- package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageView.stories.tsx +230 -0
- package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageViewSource.test.mjs +149 -0
- package/src/components/domain/desktop/DesktopSkillsPageView/index.tsx +235 -0
- package/src/components/domain/desktop/DesktopTaskDetailView/index.tsx +111 -0
- package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallListViewSource.test.mjs +302 -0
- package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallView.stories.tsx +409 -0
- package/src/components/domain/desktop/DesktopToolCallView/index.tsx +388 -0
- package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShell.stories.tsx +418 -0
- package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShellSource.test.mjs +151 -0
- package/src/components/domain/desktop/DesktopWorkbenchShell/index.tsx +167 -0
- package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageView.stories.tsx +135 -0
- package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageViewSource.test.mjs +57 -0
- package/src/components/domain/desktop/DesktopWorkspacePageView/index.tsx +114 -0
- package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceView.stories.tsx +227 -0
- package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceViewSource.test.mjs +175 -0
- package/src/components/domain/desktop/DesktopWorkspaceView/index.tsx +580 -0
- package/src/components/domain/desktop/ResourceManagement/ResourceManagement.stories.tsx +19 -0
- package/src/components/domain/desktop/ResourceManagement/ResourceManagementSource.test.mjs +54 -0
- package/src/components/domain/desktop/ResourceManagement/SharesList.tsx +323 -0
- package/src/components/domain/desktop/ResourceManagement/SnapshotViews.tsx +92 -0
- package/src/components/domain/desktop/ResourceManagement/SnapshotViewsSource.test.mjs +15 -0
- package/src/components/domain/desktop/ResourceManagement/index.tsx +246 -0
- package/src/components/domain/desktop/ShareSettingsDialogView/index.tsx +234 -0
- package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmpty.stories.tsx +100 -0
- package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmptySource.test.mjs +67 -0
- package/src/components/domain/desktop/SidePanelEmpty/index.tsx +113 -0
- package/src/components/domain/desktop/StarterCapsules/StarterCapsules.stories.tsx +65 -0
- package/src/components/domain/desktop/StarterCapsules/StarterCapsulesSource.test.mjs +43 -0
- package/src/components/domain/desktop/StarterCapsules/index.tsx +90 -0
- package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanel.stories.tsx +59 -0
- package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanelSource.test.mjs +51 -0
- package/src/components/domain/desktop/WorkbenchSidePanel/index.tsx +74 -0
- package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirm.stories.tsx +79 -0
- package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirmSource.test.mjs +34 -0
- package/src/components/domain/desktop/WorkspaceMigrateConfirm/index.tsx +92 -0
- package/src/components/domain/desktop/index.ts +64 -0
- package/src/components/domain/files/FileBrowser/FileBrowser.stories.tsx +397 -0
- package/src/components/domain/files/FileBrowser/FileBrowserSource.test.mjs +75 -0
- package/src/components/domain/files/FileBrowser/index.tsx +221 -0
- package/src/components/domain/files/FileIcon/FileIcon.stories.tsx +207 -0
- package/src/components/domain/files/FileIcon/FileIconSource.test.mjs +39 -0
- package/src/components/domain/files/FileIcon/index.tsx +133 -0
- package/src/components/domain/files/FilePreviewContentView/FilePreviewContentView.stories.tsx +242 -0
- package/src/components/domain/files/FilePreviewContentView/FilePreviewContentViewSource.test.mjs +44 -0
- package/src/components/domain/files/FilePreviewContentView/index.tsx +125 -0
- package/src/components/domain/files/FileTree/FileTree.stories.tsx +204 -0
- package/src/components/domain/files/FileTree/FileTreeSource.test.mjs +18 -0
- package/src/components/domain/files/FileTree/index.tsx +106 -0
- package/src/components/domain/files/PreviewDialog/PreviewDialog.stories.tsx +178 -0
- package/src/components/domain/files/PreviewDialog/PreviewDialogSource.test.mjs +92 -0
- package/src/components/domain/files/PreviewDialog/index.tsx +294 -0
- package/src/components/domain/files/index.ts +5 -0
- package/src/components/domain/index.ts +8 -0
- package/src/components/domain/office/CsvPreview/CsvPreview.stories.tsx +264 -0
- package/src/components/domain/office/CsvPreview/CsvPreviewSource.test.mjs +77 -0
- package/src/components/domain/office/CsvPreview/index.tsx +224 -0
- package/src/components/domain/office/OfficePreview/OfficePreview.stories.tsx +265 -0
- package/src/components/domain/office/OfficePreview/OfficePreviewDialog.stories.tsx +71 -0
- package/src/components/domain/office/OfficePreview/OfficePreviewDialog.tsx +43 -0
- package/src/components/domain/office/OfficePreview/OfficePreviewSource.test.mjs +126 -0
- package/src/components/domain/office/OfficePreview/index.tsx +782 -0
- package/src/components/domain/office/PdfPreview/PdfPreview.stories.tsx +280 -0
- package/src/components/domain/office/PdfPreview/PdfPreviewDialog.stories.tsx +61 -0
- package/src/components/domain/office/PdfPreview/PdfPreviewDialog.tsx +61 -0
- package/src/components/domain/office/PdfPreview/PdfPreviewSource.test.mjs +70 -0
- package/src/components/domain/office/PdfPreview/index.tsx +217 -0
- package/src/components/domain/office/index.ts +5 -0
- package/src/components/domain/skills/McpServerListView/McpServerListView.stories.tsx +510 -0
- package/src/components/domain/skills/McpServerListView/McpServerListViewSource.test.mjs +101 -0
- package/src/components/domain/skills/McpServerListView/index.tsx +250 -0
- package/src/components/domain/skills/SkillAvatarView/SkillAvatarView.stories.tsx +121 -0
- package/src/components/domain/skills/SkillAvatarView/SkillAvatarViewSource.test.mjs +67 -0
- package/src/components/domain/skills/SkillAvatarView/index.tsx +112 -0
- package/src/components/domain/skills/SkillCardView/SkillCardView.stories.tsx +374 -0
- package/src/components/domain/skills/SkillCardView/SkillCardViewSource.test.mjs +35 -0
- package/src/components/domain/skills/SkillCardView/index.tsx +88 -0
- package/src/components/domain/skills/SkillDetailPanelView/SkillDetailPanelView.stories.tsx +113 -0
- package/src/components/domain/skills/SkillDetailPanelView/index.tsx +115 -0
- package/src/components/domain/skills/SkillDetailView/SkillDetailView.stories.tsx +274 -0
- package/src/components/domain/skills/SkillDetailView/index.tsx +121 -0
- package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogView.stories.tsx +128 -0
- package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogViewSource.test.mjs +11 -0
- package/src/components/domain/skills/SkillImportDialogView/index.tsx +147 -0
- package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalView.stories.tsx +160 -0
- package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalViewSource.test.mjs +99 -0
- package/src/components/domain/skills/ToolDetailModalView/index.tsx +160 -0
- package/src/components/domain/skills/index.ts +7 -0
- package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardView.stories.tsx +120 -0
- package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardViewSource.test.mjs +40 -0
- package/src/components/domain/tasks/ScheduledTaskCardView/index.tsx +135 -0
- package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialog.stories.tsx +56 -0
- package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialogSource.test.mjs +35 -0
- package/src/components/domain/tasks/ScheduledTaskDeleteDialog/index.tsx +73 -0
- package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailView.stories.tsx +121 -0
- package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailViewSource.test.mjs +115 -0
- package/src/components/domain/tasks/ScheduledTaskDetailView/index.tsx +223 -0
- package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceView.stories.tsx +526 -0
- package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceViewSource.test.mjs +85 -0
- package/src/components/domain/tasks/ScheduledTasksSpaceView/index.tsx +118 -0
- package/src/components/domain/tasks/index.ts +4 -0
- package/src/components/domain/theme/SkinManager.stories.tsx +43 -0
- package/src/components/domain/theme/SkinManagerUI.tsx +382 -0
- package/src/components/domain/theme/ThemeDemo.stories.tsx +12 -0
- package/src/components/domain/theme/ThemeDemo.tsx +224 -0
- package/src/components/index.ts +11 -0
- package/src/components/primitives/Avatar/Avatar.stories.tsx +170 -0
- package/src/components/primitives/Avatar/AvatarSource.test.mjs +37 -0
- package/src/components/primitives/Avatar/index.tsx +180 -0
- package/src/components/primitives/BackTop/BackTop.stories.tsx +122 -0
- package/src/components/primitives/BackTop/BackTopSource.test.mjs +61 -0
- package/src/components/primitives/BackTop/index.tsx +93 -0
- package/src/components/primitives/Badge/Badge.stories.tsx +376 -0
- package/src/components/primitives/Badge/BadgeSource.test.mjs +27 -0
- package/src/components/primitives/Badge/index.tsx +65 -0
- package/src/components/primitives/Button/Button.stories.tsx +287 -0
- package/src/components/primitives/Button/ButtonSource.test.mjs +84 -0
- package/src/components/primitives/Button/index.tsx +216 -0
- package/src/components/primitives/Card/Card.stories.tsx +186 -0
- package/src/components/primitives/Card/CardSource.test.mjs +73 -0
- package/src/components/primitives/Card/index.tsx +137 -0
- package/src/components/primitives/Checkbox/Checkbox.stories.tsx +79 -0
- package/src/components/primitives/Checkbox/CheckboxSource.test.mjs +43 -0
- package/src/components/primitives/Checkbox/index.tsx +87 -0
- package/src/components/primitives/Chip/Chip.stories.tsx +149 -0
- package/src/components/primitives/Chip/ChipSource.test.mjs +73 -0
- package/src/components/primitives/Chip/index.tsx +252 -0
- package/src/components/primitives/Divider/Divider.stories.tsx +68 -0
- package/src/components/primitives/Divider/DividerSource.test.mjs +26 -0
- package/src/components/primitives/Divider/index.tsx +65 -0
- package/src/components/primitives/Dropdown/Dropdown.stories.tsx +38 -0
- package/src/components/primitives/Dropdown/DropdownSource.test.mjs +23 -0
- package/src/components/primitives/Dropdown/index.tsx +29 -0
- package/src/components/primitives/EmptyState/EmptyState.stories.tsx +159 -0
- package/src/components/primitives/EmptyState/EmptyStateSource.test.mjs +169 -0
- package/src/components/primitives/EmptyState/index.tsx +185 -0
- package/src/components/primitives/ErrorCard/ErrorCard.stories.tsx +50 -0
- package/src/components/primitives/ErrorCard/index.tsx +78 -0
- package/src/components/primitives/Field/Field.stories.tsx +208 -0
- package/src/components/primitives/Field/FieldSource.test.mjs +70 -0
- package/src/components/primitives/Field/index.tsx +297 -0
- package/src/components/primitives/InlineMessage/InlineMessage.stories.tsx +137 -0
- package/src/components/primitives/InlineMessage/InlineMessageSource.test.mjs +50 -0
- package/src/components/primitives/InlineMessage/index.tsx +141 -0
- package/src/components/primitives/Input/Input.stories.tsx +30 -0
- package/src/components/primitives/Input/index.tsx +12 -0
- package/src/components/primitives/Keycap/Keycap.stories.tsx +93 -0
- package/src/components/primitives/Keycap/KeycapSource.test.mjs +30 -0
- package/src/components/primitives/Keycap/index.tsx +67 -0
- package/src/components/primitives/Menu/Menu.stories.tsx +416 -0
- package/src/components/primitives/Menu/MenuEmptySource.test.mjs +23 -0
- package/src/components/primitives/Menu/MenuSource.test.mjs +207 -0
- package/src/components/primitives/Menu/index.tsx +922 -0
- package/src/components/primitives/Pagination/Pagination.stories.tsx +77 -0
- package/src/components/primitives/Pagination/PaginationSource.test.mjs +24 -0
- package/src/components/primitives/Pagination/index.tsx +85 -0
- package/src/components/primitives/Pagination/pagination.ts +25 -0
- package/src/components/primitives/Pagination/paginationModel.test.mjs +18 -0
- package/src/components/primitives/ProgressBar/ProgressBar.stories.tsx +103 -0
- package/src/components/primitives/ProgressBar/ProgressBarSource.test.mjs +44 -0
- package/src/components/primitives/ProgressBar/index.tsx +68 -0
- package/src/components/primitives/Radio/Radio.stories.tsx +84 -0
- package/src/components/primitives/Radio/RadioSource.test.mjs +38 -0
- package/src/components/primitives/Radio/index.tsx +161 -0
- package/src/components/primitives/SegmentedControl/SegmentedControl.stories.tsx +110 -0
- package/src/components/primitives/SegmentedControl/SegmentedControlSource.test.mjs +75 -0
- package/src/components/primitives/SegmentedControl/index.tsx +188 -0
- package/src/components/primitives/Select/Select.stories.tsx +158 -0
- package/src/components/primitives/Select/SelectSource.test.mjs +94 -0
- package/src/components/primitives/Select/index.tsx +364 -0
- package/src/components/primitives/Spinner/index.tsx +58 -0
- package/src/components/primitives/Switch/Switch.stories.tsx +64 -0
- package/src/components/primitives/Switch/SwitchSource.test.mjs +38 -0
- package/src/components/primitives/Switch/index.tsx +84 -0
- package/src/components/primitives/Tabs/Tabs.stories.tsx +230 -0
- package/src/components/primitives/Tabs/TabsSource.test.mjs +91 -0
- package/src/components/primitives/Tabs/index.tsx +183 -0
- package/src/components/primitives/index.ts +24 -0
- package/src/examples/ResourceManagementExample.tsx +119 -0
- package/src/examples/SiteWorkbenchExample.tsx +96 -0
- package/src/hooks/index.ts +7 -0
- package/src/hooks/useClickOutside.ts +20 -0
- package/src/hooks/useDragReorder.ts +29 -0
- package/src/hooks/useImeAwareEnter.ts +59 -0
- package/src/hooks/useImeAwareEnterSource.test.mjs +65 -0
- package/src/hooks/useKeyboard.ts +16 -0
- package/src/hooks/usePopover.ts +67 -0
- package/src/hooks/useSelectedOptionLocator.ts +33 -0
- package/src/hooks/useSidebarResize.ts +107 -0
- package/src/hooks/useTenantTheme.ts +53 -0
- package/src/hooks/useUnifiedTheme.ts +85 -0
- package/src/index.ts +6 -0
- package/src/lib/InjectedStyleTokenMirrorSource.test.mjs +67 -0
- package/src/lib/about-window.test.mjs +46 -0
- package/src/lib/about-window.ts +218 -0
- package/src/lib/appearance.test.mjs +283 -0
- package/src/lib/appearance.ts +46 -0
- package/src/lib/browser-annotation-popup.ts +151 -0
- package/src/lib/focusTrap.ts +51 -0
- package/src/lib/index.ts +5 -0
- package/src/lib/shortcut.test.mjs +100 -0
- package/src/lib/shortcut.ts +97 -0
- package/src/lib/twMergeOw.ts +18 -0
- package/src/lib/utils.ts +6 -0
- package/src/screens/Browser.stories.tsx +353 -0
- package/src/screens/Chat.stories.tsx +808 -0
- package/src/screens/Home.stories.tsx +253 -0
- package/src/screens/Login.stories.tsx +134 -0
- package/src/screens/McpManager.stories.tsx +159 -0
- package/src/screens/Onboarding.stories.tsx +155 -0
- package/src/screens/ScheduledTasks.stories.tsx +134 -0
- package/src/screens/ScreenFrameSource.test.mjs +77 -0
- package/src/screens/SettingsAppearance.stories.tsx +117 -0
- package/src/screens/SettingsMemory.stories.tsx +128 -0
- package/src/screens/SettingsModels.stories.tsx +228 -0
- package/src/screens/SettingsSections.stories.tsx +164 -0
- package/src/screens/Share.stories.tsx +202 -0
- package/src/screens/SharePage.stories.tsx +29 -0
- package/src/screens/Sites.stories.tsx +183 -0
- package/src/screens/Skills.stories.tsx +83 -0
- package/src/screens/Workspace.stories.tsx +191 -0
- package/src/screens/_home.tsx +46 -0
- package/src/screens/_screen.tsx +355 -0
- package/src/screens/_settingsNav.ts +27 -0
- package/src/screens/_skillsCatalog.tsx +372 -0
- package/src/theme/SkinDenylistSyncSource.test.mjs +124 -0
- package/src/theme/__tests__/skins.test.mjs +84 -0
- package/src/theme/core/semanticAdapter.ts +116 -0
- package/src/theme/core/skin.ts +605 -0
- package/src/theme/core/skinScoped.ts +289 -0
- package/src/theme/core/tenantTheme.test.mjs +127 -0
- package/src/theme/core/tenantTheme.ts +124 -0
- package/src/theme/core/types.ts +60 -0
- package/src/theme/core/unifiedTheme.ts +157 -0
- package/src/theme/index.ts +33 -0
- package/src/theme/providers/BrandingProvider.tsx +57 -0
- package/src/theme/providers/ThemeProvider.tsx +221 -0
- package/src/theme/skinDs2PropertyGate.test.mjs +109 -0
- package/src/theme/skins/index.ts +107 -0
- package/src/theme/utils/cssSafety.ts +92 -0
- package/src/theme/utils/skinManager.ts +159 -0
- package/src/theme/utils/themeApplier.ts +75 -0
- package/src/tokens/DesktopSurfacesSweep15Source.test.mjs +77 -0
- package/src/tokens/SharedStyleSheetsSource.test.mjs +90 -0
- package/src/tokens/TailwindThemeSupplySource.test.mjs +129 -0
- package/src/tokens/base.ts +199 -0
- package/src/tokens/dark.ts +288 -0
- package/src/tokens/index.ts +4 -0
- package/src/tokens/light.ts +320 -0
- package/src/tokens/tailwind.ts +216 -0
- package/src/types/desktop-pet.ts +100 -0
- package/src/types/file-browser.ts +51 -0
- package/src/types/file-tree.ts +34 -0
- package/src/types/index.ts +3 -0
- package/src/types/xspreadsheet.d.ts +4 -0
- package/src/utils/cn.ts +6 -0
- package/src/utils/glyphColor.ts +32 -0
- package/src/utils/index.ts +4 -0
- package/src/utils/localPathInline.test.mjs +45 -0
- package/src/utils/localPathInline.ts +49 -0
- package/src/utils/markdownFileRefs.test.mjs +88 -0
- package/src/utils/markdownFileRefs.ts +140 -0
- package/src/utils/office-excel.ts +452 -0
- package/src/utils/shiki.ts +156 -0
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react"
|
|
2
|
+
import { CatalogEmptyState } from "./index"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* CatalogEmptyState — 目录/广场容器的空态(G5)。
|
|
6
|
+
* W3 起整块走 primitives/EmptyState:信标 mono 母题 + title/hint 并成的一句 text-2
|
|
7
|
+
* + 可选「清空搜索」(secondary,空态不占行动极)。旧的 `icon` 入参已 @deprecated 不渲染。
|
|
8
|
+
*/
|
|
9
|
+
const meta = {
|
|
10
|
+
title: "Composite/CatalogEmptyState",
|
|
11
|
+
component: CatalogEmptyState,
|
|
12
|
+
parameters: {
|
|
13
|
+
layout: "centered",
|
|
14
|
+
},
|
|
15
|
+
tags: ["autodocs"],
|
|
16
|
+
} satisfies Meta<typeof CatalogEmptyState>
|
|
17
|
+
|
|
18
|
+
export default meta
|
|
19
|
+
|
|
20
|
+
type Story = StoryObj<typeof meta>
|
|
21
|
+
|
|
22
|
+
/** G5 标准形:信标母题 + 一句 text-2。 */
|
|
23
|
+
export const Default: Story = {
|
|
24
|
+
args: {
|
|
25
|
+
title: "这里还没有内容",
|
|
26
|
+
hint: "从右上角新建一个开始。",
|
|
27
|
+
},
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export const NoSearchResult: Story = {
|
|
31
|
+
args: {
|
|
32
|
+
title: "没有找到匹配的内容",
|
|
33
|
+
hint: "换个关键词试试。",
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
/** 「清空搜索」是退路不是主张:secondary 按钮,不占行动极。 */
|
|
38
|
+
export const WithClearSearch: Story = {
|
|
39
|
+
args: {
|
|
40
|
+
title: "没有找到匹配的内容",
|
|
41
|
+
hint: "换个关键词试试,或者清空搜索看全部。",
|
|
42
|
+
onClearSearch: () => console.log("clear search"),
|
|
43
|
+
},
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/** 网格档:`grid` 让空态跨满整行(.plaza__empty 现在只剩 grid-column)。 */
|
|
47
|
+
export const InGrid: Story = {
|
|
48
|
+
args: {
|
|
49
|
+
grid: true,
|
|
50
|
+
title: "还没有技能",
|
|
51
|
+
hint: "去技能市场装一个,或者自己建。",
|
|
52
|
+
},
|
|
53
|
+
decorators: [
|
|
54
|
+
(Story) => (
|
|
55
|
+
<div style={{ display: "grid", gridTemplateColumns: "repeat(3, 180px)", gap: 12, width: 588 }}>
|
|
56
|
+
<Story />
|
|
57
|
+
</div>
|
|
58
|
+
),
|
|
59
|
+
],
|
|
60
|
+
}
|
|
61
|
+
|
|
62
|
+
/** 弃用的 `icon`:传了也不渲染(G5 只有一个母题,不再另配图标筐)。 */
|
|
63
|
+
export const DeprecatedIconIsIgnored: Story = {
|
|
64
|
+
args: {
|
|
65
|
+
icon: "📦",
|
|
66
|
+
title: "这里还没有内容",
|
|
67
|
+
hint: "从右上角新建一个开始。",
|
|
68
|
+
},
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
/**
|
|
72
|
+
* R2 L2-1-4 + L2-3-2:整栏**首次**空态= §6 page 一级——母题 52 + 标题 + 副句 + 一枚钮。
|
|
73
|
+
* `grid` 现在缺省就是这一档;主动作走 `action` 槽,一律 secondary 描边
|
|
74
|
+
* (同屏页头已有同名主钮,空态不占第二个行动极)。
|
|
75
|
+
*/
|
|
76
|
+
export const GridFirstRun: Story = {
|
|
77
|
+
args: {
|
|
78
|
+
grid: true,
|
|
79
|
+
title: "还没有站点",
|
|
80
|
+
hint: "在对话里让专家产出页面,发布成站点后就会出现在这里。",
|
|
81
|
+
action: { label: "新建站点", onClick: () => console.log("create") },
|
|
82
|
+
},
|
|
83
|
+
decorators: [
|
|
84
|
+
(Story) => (
|
|
85
|
+
<div style={{ display: "grid", gridTemplateColumns: "repeat(3, 180px)", gap: 12, width: 588 }}>
|
|
86
|
+
<Story />
|
|
87
|
+
</div>
|
|
88
|
+
),
|
|
89
|
+
],
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
/** 搜索无结果=二级空态:显式 `size="md"`(母题 40 + 一句 +「清空搜索」描边钮)。 */
|
|
93
|
+
export const GridNoSearchResult: Story = {
|
|
94
|
+
args: {
|
|
95
|
+
grid: true,
|
|
96
|
+
size: "md",
|
|
97
|
+
title: "没有找到匹配的站点",
|
|
98
|
+
hint: "换个关键词试试,或清空搜索查看全部。",
|
|
99
|
+
onClearSearch: () => console.log("clear search"),
|
|
100
|
+
},
|
|
101
|
+
decorators: [
|
|
102
|
+
(Story) => (
|
|
103
|
+
<div style={{ display: "grid", gridTemplateColumns: "repeat(3, 180px)", gap: 12, width: 588 }}>
|
|
104
|
+
<Story />
|
|
105
|
+
</div>
|
|
106
|
+
),
|
|
107
|
+
],
|
|
108
|
+
}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react"
|
|
2
|
+
import { CardGridSkeleton } from "./index"
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* CardGridSkeleton 的故事。CatalogEmptyState 另起 CatalogEmptyState.stories.tsx——
|
|
6
|
+
* 一个 CSF 文件只认一个 default export,原来挤在同一文件里的第二个 meta 从未生效,
|
|
7
|
+
* 「空态」故事其实一直渲染的是骨架(W3 修)。
|
|
8
|
+
*/
|
|
9
|
+
const metaSkeleton = {
|
|
10
|
+
title: "Composite/CardGridSkeleton",
|
|
11
|
+
component: CardGridSkeleton,
|
|
12
|
+
parameters: {
|
|
13
|
+
layout: "padded",
|
|
14
|
+
},
|
|
15
|
+
/* 件名叫 CardGridSkeleton:真实宿主是 .plaza__grid 的多列网格(gap 14),
|
|
16
|
+
不加 decorator 时骨架会铺成整宽单列,36 徽标 / 72×28 钮在卡里的占比看不出来。 */
|
|
17
|
+
decorators: [
|
|
18
|
+
(Story) => (
|
|
19
|
+
<div style={{ display: "grid", gridTemplateColumns: "repeat(3, minmax(0, 1fr))", gap: 14 }}>
|
|
20
|
+
<Story />
|
|
21
|
+
</div>
|
|
22
|
+
),
|
|
23
|
+
],
|
|
24
|
+
tags: ["autodocs"],
|
|
25
|
+
} satisfies Meta<typeof CardGridSkeleton>
|
|
26
|
+
|
|
27
|
+
export default metaSkeleton
|
|
28
|
+
|
|
29
|
+
type SkeletonStory = StoryObj<typeof metaSkeleton>
|
|
30
|
+
|
|
31
|
+
export const ThreeItems: SkeletonStory = {
|
|
32
|
+
args: {
|
|
33
|
+
count: 3,
|
|
34
|
+
},
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
export const SixItems: SkeletonStory = {
|
|
38
|
+
args: {
|
|
39
|
+
count: 6,
|
|
40
|
+
},
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
export const NineItems: SkeletonStory = {
|
|
44
|
+
args: {
|
|
45
|
+
count: 9,
|
|
46
|
+
},
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
export const TwelveItems: SkeletonStory = {
|
|
50
|
+
args: {
|
|
51
|
+
count: 12,
|
|
52
|
+
},
|
|
53
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import assert from "node:assert/strict"
|
|
2
|
+
import { readFile } from "node:fs/promises"
|
|
3
|
+
import test from "node:test"
|
|
4
|
+
|
|
5
|
+
const source = await readFile(new URL("./index.tsx", import.meta.url), "utf8")
|
|
6
|
+
const styles = await readFile(new URL("../../../../styles/desktop-surfaces.css", import.meta.url), "utf8")
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* W3 卡骨架收一张:四套卡(.site-card / .skcard / .plan-card / .cronjob-card)
|
|
10
|
+
* 共用同一骨架语法——容器内距 14 · 卡内字段槽 8 · 圆角 --ow-radius-card。
|
|
11
|
+
* 立面(1px 边 + 0 影)已在 W1/W2 收口,本组断言只锁内距/结构/字阶。
|
|
12
|
+
*
|
|
13
|
+
* A4-B2 起 .skcard 翻成竖排两段(原型 1666–1684),内距不再挂在卡壳整块上,
|
|
14
|
+
* 而是拆给上段(15/16/0)与卡脚(14/16)——同族的横向 16 与纵向 14/15 仍在同一表内,
|
|
15
|
+
* 只是承担者从 .skcard 换成 .skcard__top / .skcard__foot。
|
|
16
|
+
*/
|
|
17
|
+
test("四套卡容器统一 14px 内距,圆角落 --ow-radius-card", () => {
|
|
18
|
+
// A4-B5:站点卡改吃原型产物卡的 12/14 档(.skcard 是 15/16 档 —— 两族卡在原型里本就
|
|
19
|
+
// 是两张不同的卡:目录卡左字形右文字,产物卡上封面下文字)。
|
|
20
|
+
assert.match(styles, /\.site-card__body \{[^}]*padding: 12px 14px 0;/)
|
|
21
|
+
assert.match(styles, /\.site-card__footer \{[^}]*padding: 12px 14px;/)
|
|
22
|
+
assert.match(styles, /\.skcard__top \{[^}]*padding: 15px var\(--ow-space-4, 16px\) 0;/)
|
|
23
|
+
assert.match(styles, /\.skcard__foot \{[^}]*padding: 14px var\(--ow-space-4, 16px\);/)
|
|
24
|
+
assert.match(styles, /\.plan-card \{[^}]*padding: 14px;/)
|
|
25
|
+
assert.match(styles, /\.cronjob-card \{[^}]*padding: 14px;/)
|
|
26
|
+
|
|
27
|
+
for (const re of [
|
|
28
|
+
/\.site-card \{[^}]*border-radius: var\(--ow-radius-card\)/,
|
|
29
|
+
/\.skcard \{[^}]*border-radius: var\(--ow-radius-card\)/,
|
|
30
|
+
/\.plan-card \{[^}]*border-radius: var\(--ow-radius-card\)/,
|
|
31
|
+
/\.cronjob-card \{[^}]*border-radius: var\(--ow-radius-card\)/,
|
|
32
|
+
]) {
|
|
33
|
+
assert.match(styles, re)
|
|
34
|
+
}
|
|
35
|
+
// 18/16 与 16/18 两种 V1 内距不得回流
|
|
36
|
+
assert.doesNotMatch(styles, /\.skcard__top \{[^}]*padding: 18px/)
|
|
37
|
+
assert.doesNotMatch(styles, /\.plan-card \{[^}]*padding: 18px/)
|
|
38
|
+
assert.doesNotMatch(styles, /\.cronjob-card \{[^}]*padding: var\(--ow-space-4, 16px\) 18px/)
|
|
39
|
+
// 站点卡原来独走 16 大容器圆角,收回卡档 12
|
|
40
|
+
assert.doesNotMatch(styles, /\.site-card \{[^}]*border-radius: var\(--ow-radius-modal\)/)
|
|
41
|
+
})
|
|
42
|
+
|
|
43
|
+
test("卡内字段槽一律 8,卡内动作钮落 §7 的 28 档", () => {
|
|
44
|
+
// A4-B5:站点卡的名与描述贴到 4 槽(原型 L1933 的产物卡;.skcard 的 body 也是 4)。
|
|
45
|
+
assert.match(styles, /\.site-card__body \{[^}]*gap: var\(--ow-space-1, 4px\);/)
|
|
46
|
+
assert.match(styles, /\.cronjob-card \{[^}]*gap: var\(--ow-space-2, 8px\);/)
|
|
47
|
+
// A4-B2:卡脚整段由 .skcard__foot 钉底(margin-top:auto),元信息带不再自带 8 的上外距。
|
|
48
|
+
assert.match(styles, /\.skcard__foot \{ margin-top: auto;/)
|
|
49
|
+
assert.match(styles, /\.plan-card \.feat \{[^}]*margin: var\(--ow-space-2, 8px\) 0;/)
|
|
50
|
+
// skcard 的「安装」钮落 28;cron 卡的更多钮 W5 起走 RowOverflowMenu 的
|
|
51
|
+
// Button ghost·sm 触发器(同样 28),自绘的 .cjc-act 方钮整族已撤。
|
|
52
|
+
assert.match(styles, /\.skcard \.inst \{[^}]*height: 28px;/)
|
|
53
|
+
assert.doesNotMatch(styles, /\.cjc-act \{/)
|
|
54
|
+
assert.doesNotMatch(styles, /\.skcard \.inst \{[^}]*height: 3[24]px;/)
|
|
55
|
+
// 目录卡 V1 的 min-height 100 撑高已撤;A4-B2 后同排等高由描述的 min-height:3em 保。
|
|
56
|
+
assert.doesNotMatch(styles, /\.skcard \{[^}]*min-height: 100px;/)
|
|
57
|
+
assert.match(styles, /\.skcard \.d \{[^}]*min-height: 3em;/)
|
|
58
|
+
// A4-B5:站点卡的卡脚同样 margin-top:auto 钉底,动作钮走 Button size="sm"(28)
|
|
59
|
+
assert.match(styles, /\.site-card__footer \{ margin-top: auto;/)
|
|
60
|
+
assert.match(styles, /\.site-card__desc \{[^}]*min-height: 3em;/)
|
|
61
|
+
})
|
|
62
|
+
|
|
63
|
+
test("卡字阶三档:标题 fs-ui/600 · 描述 fs-body-sm/1.5 · 卡脚 fs-caption", () => {
|
|
64
|
+
// 目录卡 A4-B2 单独抬一阶:名 14/500、描述 13 text-2(竖排卡里这两截是主角,
|
|
65
|
+
// 与横排列表卡的 13/600 + 12 不同表)。其余三套卡仍按 W3 的密度档。
|
|
66
|
+
assert.match(styles, /\.skcard \.n \{ font: 500 var\(--ow-fs-body\)\/1\.3/)
|
|
67
|
+
// A4-B5:站点卡与目录卡一同抬阶(名 14/500、描述 13 text-2)——两张竖排卡同一档。
|
|
68
|
+
assert.match(styles, /\.site-card__name \{ font: 500 var\(--ow-fs-body\)\/1\.3/)
|
|
69
|
+
assert.match(styles, /\.cjc-name \{[^}]*font: 600 var\(--ow-fs-ui\)\/1\.3/)
|
|
70
|
+
assert.match(styles, /\.plan-card \.ph \.n \{ font: 600 var\(--ow-fs-ui\)\/1/)
|
|
71
|
+
|
|
72
|
+
assert.match(styles, /\.skcard \.d \{ font: 400 var\(--ow-fs-ui\)\/1\.5/)
|
|
73
|
+
assert.match(styles, /\.site-card__desc \{ font: 400 var\(--ow-fs-ui\)\/1\.5/)
|
|
74
|
+
assert.match(styles, /\.cjc-prompt \{ font: 400 var\(--ow-fs-body-sm\)\/1\.5/)
|
|
75
|
+
assert.match(styles, /\.plan-card \.tag \{ font: 400 var\(--ow-fs-body-sm\)\/1\.5/)
|
|
76
|
+
|
|
77
|
+
assert.match(styles, /\.skcard \.ft \{[^}]*font: 400 var\(--ow-fs-caption\)\/1 var\(--ow-font-mono\)/)
|
|
78
|
+
// 卡脚字阶挪到承担读数的那一段(.site-card__meta,mono caption),卡脚本身只排位置
|
|
79
|
+
assert.match(styles, /\.site-card__meta \{[^}]*font: 400 var\(--ow-fs-caption\)\/1 var\(--ow-font-mono\)/)
|
|
80
|
+
assert.match(styles, /\.cjc-foot \{[^}]*font: 400 var\(--ow-fs-caption\)\/1/)
|
|
81
|
+
// cron 卡名原来独走 14 阶(title-sm),已归 UI 密度档
|
|
82
|
+
assert.doesNotMatch(styles, /\.cjc-name \{[^}]*var\(--ow-fs-title-sm\)/)
|
|
83
|
+
})
|
|
84
|
+
|
|
85
|
+
test("§7 形状:纯分类标不占 999——「私有」与套餐标落直角 6", () => {
|
|
86
|
+
assert.match(styles, /\.skcard \.badge-mine \{[^}]*border-radius: var\(--ow-radius-tag\)/)
|
|
87
|
+
assert.doesNotMatch(styles, /\.skcard \.badge-mine \{[^}]*border-radius: var\(--ow-radius-pill\)/)
|
|
88
|
+
// .plan-card .ph .badge 的 999 皮肤零消费方(两个消费方都用 Badge 原语),整条退役
|
|
89
|
+
assert.doesNotMatch(styles, /\.plan-card \.ph \.badge \{/)
|
|
90
|
+
assert.doesNotMatch(styles, /\.plan-card\.current \.ph \.badge \{/)
|
|
91
|
+
// A4-B2:卡上的版本胶囊整件退役——版本号进卡脚 mono 带,名称行不再有第三枚小方块。
|
|
92
|
+
assert.doesNotMatch(styles, /\.skcard \.ver \{/)
|
|
93
|
+
})
|
|
94
|
+
|
|
95
|
+
test("目录卡骨架屏逐件对齐它占位的真元素", () => {
|
|
96
|
+
assert.match(source, /<Skeleton variant="block" width=\{40\} height=\{40\} radius=\{8\} className="gly" \/>/)
|
|
97
|
+
assert.match(source, /<Skeleton variant="block" width=\{72\} height=\{28\} radius=\{8\} className="inst" \/>/)
|
|
98
|
+
assert.match(styles, /\.skcard \.gly \{[^}]*border-radius: var\(--ow-radius-sm\)/)
|
|
99
|
+
// W5:骨架块由 Skeleton 原语渲染,度量只有内联一份;CSS 只负责抹掉 .inst 那圈实边。
|
|
100
|
+
assert.match(styles, /\.skcard--skeleton \.inst \{ border: none; padding: 0; \}/)
|
|
101
|
+
assert.doesNotMatch(styles, /\.skcard--skeleton \.[a-z]+\.skeleton-block/)
|
|
102
|
+
assert.match(styles, /\.skcard--skeleton \.body \{[^}]*gap: var\(--ow-space-2, 8px\);/)
|
|
103
|
+
// 卡壳翻竖排后骨架自己保持横排(原型 1692 的载态卡是一行 40 字形 + 三条线,无卡脚)。
|
|
104
|
+
assert.match(styles, /\.skcard--skeleton \{[^}]*flex-direction: row;[^}]*padding: 15px var\(--ow-space-4, 16px\);/)
|
|
105
|
+
})
|
|
106
|
+
|
|
107
|
+
/**
|
|
108
|
+
* R2 L2-3-1 / L2-3-8:卡底四卡一张表。原型 template 1666(技能卡)/ 1749(定时任务卡)/
|
|
109
|
+
* 1909(站点卡)三处都是 `border:1px solid var(--ow-border); background:var(--ow-surface)`;
|
|
110
|
+
* --ow-bg 按 §5 只属窗口壳/带/侧栏,不做纸面上的卡底。卡内 mono 读数芯片是嵌套井,
|
|
111
|
+
* 走 --ow-surface-2 且不描边(否则卡改 surface 后芯片与卡同色消失)。
|
|
112
|
+
*/
|
|
113
|
+
test("四套卡底统一 --ow-surface,卡内读数芯片走 surface-2 井档", () => {
|
|
114
|
+
for (const re of [
|
|
115
|
+
/\.skcard \{[^}]*background: var\(--ow-surface\)/,
|
|
116
|
+
/\.site-card \{[^}]*background: var\(--ow-surface\)/,
|
|
117
|
+
/\.plan-card \{[^}]*background: var\(--ow-surface\)/,
|
|
118
|
+
/\.cronjob-card \{[^}]*background: var\(--ow-surface\)/,
|
|
119
|
+
]) {
|
|
120
|
+
assert.match(styles, re)
|
|
121
|
+
}
|
|
122
|
+
// --ow-bg 卡底不得回潮
|
|
123
|
+
for (const re of [
|
|
124
|
+
/\.site-card \{[^}]*background: var\(--ow-bg\)/,
|
|
125
|
+
/\.plan-card \{[^}]*background: var\(--ow-bg\)/,
|
|
126
|
+
/\.cronjob-card \{[^}]*background: var\(--ow-bg\)/,
|
|
127
|
+
]) {
|
|
128
|
+
assert.doesNotMatch(styles, re)
|
|
129
|
+
}
|
|
130
|
+
// hover 只递进边色,不改卡底
|
|
131
|
+
assert.match(styles, /\.cronjob-card:hover \{ border-color: var\(--ow-border-strong\); \}/)
|
|
132
|
+
// 读数芯片:surface-2 井、无边
|
|
133
|
+
assert.match(styles, /\.cjc-freq \{[^}]*background: var\(--ow-surface-2\)/)
|
|
134
|
+
assert.doesNotMatch(styles, /\.cjc-freq \{[^}]*border: var\(--ow-border-width-thin/)
|
|
135
|
+
// R2 L2-3-4:分隔点是文字不是线
|
|
136
|
+
assert.match(styles, /\.cjc-sep \{ color: var\(--ow-text-3\); \}/)
|
|
137
|
+
})
|
|
138
|
+
|
|
139
|
+
/**
|
|
140
|
+
* R2 L2-1-4 + L2-3-2(核对补锁):`grid` 只有**首次**空态缺省 page;搜索态以 onClearSearch
|
|
141
|
+
* 判定、缺省仍 md。宿主 SkillsCenter:703/1056 与 ConnectorModal:78 的搜索空态都只传
|
|
142
|
+
* `grid` + `onClearSearch`、不传 size——缺省若写成「grid 一律 page」,它们会被一并推成 52,
|
|
143
|
+
* 与裁决「搜索态保持 md、skills--no-result 不是缺陷」相反。
|
|
144
|
+
*/
|
|
145
|
+
test("grid 首次空态缺省 page,搜索态(onClearSearch)缺省仍 md", () => {
|
|
146
|
+
assert.match(source, /const resolvedSize = size \?\? \(grid && !onClearSearch \? "page" : "md"\)/)
|
|
147
|
+
// 主动作与「清空搜索」互斥:有 action 走 action,否则才看 onClearSearch
|
|
148
|
+
assert.match(source, /const actionNode = action \? \(/)
|
|
149
|
+
})
|
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
import type { ReactNode } from "react"
|
|
2
|
+
import { cn } from "../../../lib/utils"
|
|
3
|
+
import { Button } from "../../primitives"
|
|
4
|
+
import { EmptyState } from "../../primitives/EmptyState"
|
|
5
|
+
import { Skeleton } from "../Skeleton"
|
|
6
|
+
|
|
7
|
+
export function CardGridSkeleton({ count = 6 }: { count?: number }): React.ReactElement {
|
|
8
|
+
return (
|
|
9
|
+
<>
|
|
10
|
+
{Array.from({ length: count }).map((_, index) => (
|
|
11
|
+
<div key={index} className="skcard skcard--skeleton" aria-hidden="true">
|
|
12
|
+
{/* 骨架块逐件对齐它占位的真元素(W3 卡骨架统一):
|
|
13
|
+
首字徽标圆角 8(.gly = --ow-radius-sm,原来给的 12 越表);
|
|
14
|
+
名/描述两行落 13/12 字阶;动作钮 28 档(.inst 随 §7 控件高归 28)。
|
|
15
|
+
A4-B2:徽标 36 → 40,跟着目录卡的字形位一起放大(原型 1668/1692 同一格)。 */}
|
|
16
|
+
<Skeleton variant="block" width={40} height={40} radius={8} className="gly" />
|
|
17
|
+
<div className="body">
|
|
18
|
+
<Skeleton variant="line" width="50%" height={13} />
|
|
19
|
+
<Skeleton variant="line" width="100%" height={12} />
|
|
20
|
+
<Skeleton variant="line" width="60%" height={12} />
|
|
21
|
+
</div>
|
|
22
|
+
<Skeleton variant="block" width={72} height={28} radius={8} className="inst" />
|
|
23
|
+
</div>
|
|
24
|
+
))}
|
|
25
|
+
</>
|
|
26
|
+
)
|
|
27
|
+
}
|
|
28
|
+
|
|
29
|
+
export interface CatalogEmptyStateProps {
|
|
30
|
+
/**
|
|
31
|
+
* @deprecated 目录空态的图形位归 G5 信标 mono 母题(§6:容器空态一套母题,禁另配图标筐)。
|
|
32
|
+
* 传值不再渲染,保留只为旧调用点(apps/desktop 的 SkillsCenter / ConnectorModal)不报错;
|
|
33
|
+
* 下个大版本删除。
|
|
34
|
+
*/
|
|
35
|
+
icon?: ReactNode
|
|
36
|
+
/** 空态标题:名词短句(16/500 --ow-text)。R4 起独立成槽,不再与 hint 拼成一句。 */
|
|
37
|
+
title: string
|
|
38
|
+
/** 副句:说清「做了会怎样 / 下一步怎么办」,14 text-2 独立一行。 */
|
|
39
|
+
hint: string
|
|
40
|
+
/** 网格里用:占满整行(.plaza__empty 只剩 grid-column 跨列,度量全归 EmptyState)。 */
|
|
41
|
+
grid?: boolean
|
|
42
|
+
/**
|
|
43
|
+
* 尺寸档,透传 `EmptyState`。不传时:`grid` 且**不是搜索态**(没给 `onClearSearch`)落
|
|
44
|
+
* **page**(母题 52×32),其余落 md(40)。搜索无结果是二级空态(§6 md 档)——带
|
|
45
|
+
* `onClearSearch` 的调用点不传 `size` 也落 md,宿主 SkillsCenter / ConnectorModal 与
|
|
46
|
+
* `_skillsCatalog` 的搜索空态因此零改动就留在 md(R2 核对:原先「grid 一律 page」把它们
|
|
47
|
+
* 一并推成了 52,与 L2-1-4 裁决「搜索态保持 md」相反)。
|
|
48
|
+
*/
|
|
49
|
+
size?: "page" | "md" | "sm"
|
|
50
|
+
/**
|
|
51
|
+
* 首次空态的主动作(§6 page 一级=母题 + 标题 + 副句 + 一枚 32 高钮)。
|
|
52
|
+
* 一律 **secondary 描边**——同屏页头通常已有同名主钮,空态不占第二个行动极(§4 记账表)。
|
|
53
|
+
*/
|
|
54
|
+
action?: { label: string; onClick: () => void }
|
|
55
|
+
onClearSearch?: () => void
|
|
56
|
+
}
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* CatalogEmptyState — 目录/广场类容器的空态(DS 2.0 W3 · G5 归位)
|
|
60
|
+
*
|
|
61
|
+
* V1 里这里是「52px 圆角筐装 Lucide 图标 + 600 字重标题 + text-3 副行 + 手搓 unstyled 钮」,
|
|
62
|
+
* 与 §6 的容器空态母题各说各话。W3 起整块交给 `primitives/EmptyState`:信标 mono 母题
|
|
63
|
+
* (单色 --ow-empty-mark=text-3,不占极)+ 文字 + 可选按钮。
|
|
64
|
+
*
|
|
65
|
+
* R4(原型对齐轮 · 裁决 6)撤销 W3 的 `joinSentence` 退化:那版把 `title` 与 `hint`
|
|
66
|
+
* 用「。」拼成单段 text-2,比研发 main 的 `__title`/`__hint` 两层还少一层,是相对研发的
|
|
67
|
+
* 一处明确退化。现在两截直传原语的**标题槽与副句槽**(16/500 + 14 text-2),
|
|
68
|
+
* 调用点签名一字未动(apps/desktop 的 SkillsCenter / ConnectorModal 零改动)。
|
|
69
|
+
* 「清空搜索」是退路不是主张,落 secondary(同屏页头已有主钮,不占第二个行动极)。
|
|
70
|
+
* `grid` 仍挂 `.plaza__empty`——该类现在只剩 `grid-column: 1 / -1`,e2e 也按它定位。
|
|
71
|
+
*
|
|
72
|
+
* R2 L2-1-4 + L2-3-2:本件原来不传 `size`,整栏首次空态全落 EmptyState 的缺省 md(40)
|
|
73
|
+
* 母题,与同级的定时任务整页空态(显式 page,52×32)两副面孔;且没有主动作槽,
|
|
74
|
+
* 站点首次空态一枚钮都没有、只能靠副句里的「点右上角新建」当路标。
|
|
75
|
+
* 现在 `grid` 首次空态缺省进 page 档、另开 `action` 槽(secondary)。
|
|
76
|
+
* **搜索无结果仍是二级空态**(§6 md 档:母题 40 + 一句 + 描边钮):以 `onClearSearch`
|
|
77
|
+
* 的有无判搜索态,缺省就落 md,调用点不必显式传 `size="md"`(传了也行)——
|
|
78
|
+
* 原型 1707–1716 的目录搜索空态也是这一档。
|
|
79
|
+
*/
|
|
80
|
+
export function CatalogEmptyState({
|
|
81
|
+
icon: _icon,
|
|
82
|
+
title,
|
|
83
|
+
hint,
|
|
84
|
+
grid,
|
|
85
|
+
size,
|
|
86
|
+
action,
|
|
87
|
+
onClearSearch,
|
|
88
|
+
}: CatalogEmptyStateProps): React.ReactElement {
|
|
89
|
+
// 只给了一截时不留空槽:没有副句就让标题自己当那一句(原型二级空态本就只有一句)。
|
|
90
|
+
const hasHint = Boolean(hint?.trim())
|
|
91
|
+
// 搜索态(有 onClearSearch)是二级空态,缺省 md;只有整栏首次空态才缺省 page。
|
|
92
|
+
const resolvedSize = size ?? (grid && !onClearSearch ? "page" : "md")
|
|
93
|
+
// 主动作与「清空搜索」不会同时出现:有关键词时是搜索态(只给退路),没关键词才是首次空态。
|
|
94
|
+
const actionNode = action ? (
|
|
95
|
+
<Button variant="primary" size="md" onClick={action.onClick}>
|
|
96
|
+
{action.label}
|
|
97
|
+
</Button>
|
|
98
|
+
) : onClearSearch ? (
|
|
99
|
+
<Button variant="primary" size="md" onClick={onClearSearch}>
|
|
100
|
+
清空搜索
|
|
101
|
+
</Button>
|
|
102
|
+
) : undefined
|
|
103
|
+
return (
|
|
104
|
+
<EmptyState
|
|
105
|
+
// page 档自带 mt-14 版心(同 .cron-empty 那张整页空态),不再叠 py-16。
|
|
106
|
+
className={cn(grid ? "plaza__empty" : "connector-empty", resolvedSize !== "page" && "py-16")}
|
|
107
|
+
size={resolvedSize}
|
|
108
|
+
title={hasHint ? title : undefined}
|
|
109
|
+
message={hasHint ? hint : title}
|
|
110
|
+
action={actionNode}
|
|
111
|
+
/>
|
|
112
|
+
)
|
|
113
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import type { Meta, StoryObj } from "@storybook/react"
|
|
2
|
+
import { BarChart, SeriesChart } from "./index"
|
|
3
|
+
|
|
4
|
+
const usage = [
|
|
5
|
+
{ label: "对话", value: 128400 },
|
|
6
|
+
{ label: "代码", value: 96200 },
|
|
7
|
+
{ label: "检索", value: 41800 },
|
|
8
|
+
{ label: "文档", value: 27300 },
|
|
9
|
+
{ label: "其他", value: 9100 },
|
|
10
|
+
]
|
|
11
|
+
|
|
12
|
+
const week = ["周一", "周二", "周三", "周四", "周五", "周六", "周日"]
|
|
13
|
+
|
|
14
|
+
const series = [
|
|
15
|
+
{ name: "运行数", points: [12, 18, 15, 26, 31, 22, 28] },
|
|
16
|
+
{ name: "失败数", points: [1, 3, 2, 4, 2, 1, 3] },
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
const meta = {
|
|
20
|
+
title: "Composite/Charts",
|
|
21
|
+
component: BarChart,
|
|
22
|
+
parameters: { layout: "padded" },
|
|
23
|
+
tags: ["autodocs"],
|
|
24
|
+
} satisfies Meta<typeof BarChart>
|
|
25
|
+
|
|
26
|
+
export default meta
|
|
27
|
+
type Story = StoryObj<typeof meta>
|
|
28
|
+
|
|
29
|
+
const barBase = { data: usage, ariaLabel: "各用途 token 消耗" }
|
|
30
|
+
|
|
31
|
+
export const Bar: Story = {
|
|
32
|
+
name: "Bar · 竖列",
|
|
33
|
+
args: barBase,
|
|
34
|
+
render: (args) => (
|
|
35
|
+
<div style={{ maxWidth: 520 }}>
|
|
36
|
+
<BarChart {...args} showValues />
|
|
37
|
+
</div>
|
|
38
|
+
),
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
export const BarNoGrid: Story = {
|
|
42
|
+
name: "Bar · 无网格",
|
|
43
|
+
args: { ...barBase, gridLines: 0 },
|
|
44
|
+
render: (args) => (
|
|
45
|
+
<div style={{ maxWidth: 520 }}>
|
|
46
|
+
<BarChart {...args} />
|
|
47
|
+
</div>
|
|
48
|
+
),
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
export const BarHorizontal: Story = {
|
|
52
|
+
name: "Bar · 横条(用量条形态,归口 UsageQuota)",
|
|
53
|
+
args: { ...barBase, orientation: "horizontal", showValues: true },
|
|
54
|
+
render: (args) => (
|
|
55
|
+
<div style={{ maxWidth: 420 }}>
|
|
56
|
+
<BarChart {...args} />
|
|
57
|
+
</div>
|
|
58
|
+
),
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* 荧黄旁注:今日列在条顶点一颗 `--ow-data-today`,占「状态极·图表今日」一处(§4)——
|
|
63
|
+
* 条身留在系列色,屏级表写的是「今日点」不是「今日条」,面积也守得住 §4 的 ≤3%。
|
|
64
|
+
* 形差(多一颗点 + 位置)与色同时成立,符合 R1 双编码;默认关闭,需显式传 todayIndex。
|
|
65
|
+
*/
|
|
66
|
+
export const BarToday: Story = {
|
|
67
|
+
name: "Bar · 今日列(状态极)",
|
|
68
|
+
args: { ...barBase, todayIndex: 0, showValues: true },
|
|
69
|
+
render: (args) => (
|
|
70
|
+
<div style={{ maxWidth: 520 }}>
|
|
71
|
+
<BarChart {...args} />
|
|
72
|
+
</div>
|
|
73
|
+
),
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
/** 横条 + 今日:条尾那颗点(`right-0 top-0` 落在 6px 高的槽里)只有这个组合渲得出来。 */
|
|
77
|
+
export const BarHorizontalToday: Story = {
|
|
78
|
+
name: "Bar · 横条 + 今日(条尾点)",
|
|
79
|
+
args: { ...barBase, orientation: "horizontal", todayIndex: 0, showValues: true },
|
|
80
|
+
render: (args) => (
|
|
81
|
+
<div style={{ maxWidth: 420 }}>
|
|
82
|
+
<BarChart {...args} />
|
|
83
|
+
</div>
|
|
84
|
+
),
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
export const BarLoading: Story = {
|
|
88
|
+
name: "Bar · 加载",
|
|
89
|
+
args: { ...barBase, loading: true },
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
export const BarEmpty: Story = {
|
|
93
|
+
name: "Bar · 空态",
|
|
94
|
+
args: { data: [], ariaLabel: "各用途 token 消耗" },
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
export const Series: Story = {
|
|
98
|
+
name: "Series · 折线(归口 UsageSeries)",
|
|
99
|
+
args: barBase,
|
|
100
|
+
render: () => (
|
|
101
|
+
<div style={{ maxWidth: 560 }}>
|
|
102
|
+
<SeriesChart labels={week} series={series} legend ariaLabel="近 7 天运行数与失败数" />
|
|
103
|
+
</div>
|
|
104
|
+
),
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
export const SeriesArea: Story = {
|
|
108
|
+
name: "Series · 面积",
|
|
109
|
+
args: barBase,
|
|
110
|
+
render: () => (
|
|
111
|
+
<div style={{ maxWidth: 560 }}>
|
|
112
|
+
<SeriesChart labels={week} series={series.slice(0, 1)} area legend ariaLabel="近 7 天运行数" />
|
|
113
|
+
</div>
|
|
114
|
+
),
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
/** 荧黄旁注:今日点取 `--ow-data-today`,占「状态极·图表今日」一处(§4)。 */
|
|
118
|
+
export const SeriesToday: Story = {
|
|
119
|
+
name: "Series · 今日点(状态极)",
|
|
120
|
+
args: barBase,
|
|
121
|
+
render: () => (
|
|
122
|
+
<div style={{ maxWidth: 560 }}>
|
|
123
|
+
<SeriesChart labels={week} series={series} todayIndex={6} legend ariaLabel="近 7 天运行数与失败数" />
|
|
124
|
+
</div>
|
|
125
|
+
),
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
export const SeriesSixLines: Story = {
|
|
129
|
+
name: "Series · 六系列(data-1..6 全轮)",
|
|
130
|
+
args: barBase,
|
|
131
|
+
render: () => (
|
|
132
|
+
<div style={{ maxWidth: 560 }}>
|
|
133
|
+
<SeriesChart
|
|
134
|
+
labels={week}
|
|
135
|
+
series={Array.from({ length: 6 }, (_, index) => ({
|
|
136
|
+
name: `系列 ${index + 1}`,
|
|
137
|
+
points: week.map((_, day) => 10 + index * 4 + ((day * (index + 3)) % 9)),
|
|
138
|
+
}))}
|
|
139
|
+
legend
|
|
140
|
+
ariaLabel="六个系列的近 7 天走势"
|
|
141
|
+
/>
|
|
142
|
+
</div>
|
|
143
|
+
),
|
|
144
|
+
}
|
|
145
|
+
|
|
146
|
+
export const SeriesLoading: Story = {
|
|
147
|
+
name: "Series · 加载",
|
|
148
|
+
args: barBase,
|
|
149
|
+
render: () => <SeriesChart labels={week} series={series} loading ariaLabel="近 7 天运行数" />,
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
export const SeriesEmpty: Story = {
|
|
153
|
+
name: "Series · 空态",
|
|
154
|
+
args: barBase,
|
|
155
|
+
render: () => <SeriesChart labels={week} series={[]} ariaLabel="近 7 天运行数" />,
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
/** 双主题对照:同一份 demo 逐字复制,主题由 data-theme 局部驱动。 */
|
|
159
|
+
export const ThemePair: Story = {
|
|
160
|
+
name: "双主题对照",
|
|
161
|
+
args: barBase,
|
|
162
|
+
render: () => (
|
|
163
|
+
<div style={{ display: "grid", gridTemplateColumns: "1fr 1fr", gap: 16 }}>
|
|
164
|
+
<div data-theme="light" style={{ background: "var(--ow-bg)", padding: 16, display: "grid", gap: 20 }}>
|
|
165
|
+
<BarChart data={usage} showValues ariaLabel="各用途 token 消耗" />
|
|
166
|
+
<SeriesChart labels={week} series={series} legend ariaLabel="近 7 天运行数与失败数" />
|
|
167
|
+
</div>
|
|
168
|
+
<div data-theme="dark" style={{ background: "var(--ow-bg)", padding: 16, display: "grid", gap: 20 }}>
|
|
169
|
+
<BarChart data={usage} showValues ariaLabel="各用途 token 消耗" />
|
|
170
|
+
<SeriesChart labels={week} series={series} legend ariaLabel="近 7 天运行数与失败数" />
|
|
171
|
+
</div>
|
|
172
|
+
</div>
|
|
173
|
+
),
|
|
174
|
+
}
|