@orbit-work/ui 0.1.1 → 0.1.2

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.
Files changed (794) hide show
  1. package/README.md +59 -57
  2. package/dist/about-window.cjs +271 -1
  3. package/dist/about-window.cjs.map +1 -0
  4. package/dist/about-window.d.cts +20 -2
  5. package/dist/about-window.d.ts +20 -2
  6. package/dist/about-window.js +271 -1
  7. package/dist/about-window.js.map +1 -0
  8. package/dist/appearance-D7uh_ZTy.d.cts +192 -0
  9. package/dist/appearance-D7uh_ZTy.d.ts +192 -0
  10. package/dist/appearance.cjs +39 -1
  11. package/dist/appearance.cjs.map +1 -0
  12. package/dist/appearance.d.cts +1 -1
  13. package/dist/appearance.d.ts +1 -1
  14. package/dist/appearance.js +39 -1
  15. package/dist/appearance.js.map +1 -0
  16. package/dist/browser-annotation-popup.cjs +9 -1
  17. package/dist/browser-annotation-popup.cjs.map +1 -0
  18. package/dist/browser-annotation-popup.d.cts +6 -6
  19. package/dist/browser-annotation-popup.d.ts +6 -6
  20. package/dist/browser-annotation-popup.js +9 -1
  21. package/dist/browser-annotation-popup.js.map +1 -0
  22. package/dist/chunk-66VEV7G2.js +111 -0
  23. package/dist/chunk-66VEV7G2.js.map +1 -0
  24. package/dist/chunk-KRP43SUA.cjs +1130 -0
  25. package/dist/chunk-KRP43SUA.cjs.map +1 -0
  26. package/dist/chunk-QS55W5Q5.cjs +111 -0
  27. package/dist/chunk-QS55W5Q5.cjs.map +1 -0
  28. package/dist/chunk-S3R5QFO4.js +1130 -0
  29. package/dist/chunk-S3R5QFO4.js.map +1 -0
  30. package/dist/chunk-UT5LC6MR.js +38 -0
  31. package/dist/chunk-UT5LC6MR.js.map +1 -0
  32. package/dist/chunk-ZZTEY4YX.cjs +38 -0
  33. package/dist/chunk-ZZTEY4YX.cjs.map +1 -0
  34. package/dist/core.css +7886 -0
  35. package/dist/file-tree.css +85 -0
  36. package/dist/index-nLo7jMlP.d.cts +166 -0
  37. package/dist/index-nLo7jMlP.d.ts +166 -0
  38. package/dist/index.cjs +39161 -26
  39. package/dist/index.cjs.map +1 -0
  40. package/dist/index.d.cts +3785 -3031
  41. package/dist/index.d.ts +3785 -3031
  42. package/dist/index.js +39161 -26
  43. package/dist/index.js.map +1 -0
  44. package/dist/locale.cjs +15 -0
  45. package/dist/locale.cjs.map +1 -0
  46. package/dist/locale.d.cts +28 -0
  47. package/dist/locale.d.ts +28 -0
  48. package/dist/locale.js +15 -0
  49. package/dist/locale.js.map +1 -0
  50. package/dist/office.css +1146 -0
  51. package/dist/slot-core.cjs +200 -0
  52. package/dist/slot-core.cjs.map +1 -0
  53. package/dist/slot-core.d.cts +146 -0
  54. package/dist/slot-core.d.ts +146 -0
  55. package/dist/slot-core.js +200 -0
  56. package/dist/slot-core.js.map +1 -0
  57. package/dist/slot-react.cjs +153 -0
  58. package/dist/slot-react.cjs.map +1 -0
  59. package/dist/slot-react.d.cts +36 -0
  60. package/dist/slot-react.d.ts +36 -0
  61. package/dist/slot-react.js +153 -0
  62. package/dist/slot-react.js.map +1 -0
  63. package/dist/tailwind.css +137 -0
  64. package/dist/workbench.css +9014 -0
  65. package/package.json +112 -47
  66. package/dist/appearance-D5uQ53j3.d.cts +0 -210
  67. package/dist/appearance-D5uQ53j3.d.ts +0 -210
  68. package/dist/chunk-3KT7IU4X.js +0 -13
  69. package/dist/chunk-5VLBKOG7.cjs +0 -194
  70. package/dist/chunk-7YJY64LZ.js +0 -82
  71. package/dist/chunk-EF2BSN3K.cjs +0 -13
  72. package/dist/chunk-GMMYDILD.cjs +0 -82
  73. package/dist/chunk-VG7FQQ7K.js +0 -194
  74. package/dist/fonts/JetBrainsMono-Medium.ttf +0 -0
  75. package/dist/fonts/JetBrainsMono-Regular.ttf +0 -0
  76. package/dist/fonts/SpaceGrotesk-700-latin-ext.woff2 +0 -0
  77. package/dist/fonts/SpaceGrotesk-700-latin.woff2 +0 -0
  78. package/dist/index.css +0 -1
  79. package/dist/orbitwork.css +0 -22145
  80. package/src/components/Layout/AppLayout/AppLayout.stories.tsx +0 -246
  81. package/src/components/Layout/AppLayout/AppLayoutSource.test.mjs +0 -37
  82. package/src/components/Layout/AppLayout/index.tsx +0 -122
  83. package/src/components/Layout/Sidebar/index.tsx +0 -13
  84. package/src/components/Layout/SidebarShell/SidebarShell.stories.tsx +0 -676
  85. package/src/components/Layout/SidebarShell/SidebarShellSource.test.mjs +0 -161
  86. package/src/components/Layout/SidebarShell/index.tsx +0 -326
  87. package/src/components/Layout/index.ts +0 -10
  88. package/src/components/composite/ActionBar/ActionBar.stories.tsx +0 -26
  89. package/src/components/composite/ActionBar/index.tsx +0 -31
  90. package/src/components/composite/ActionStatus/ActionStatus.stories.tsx +0 -60
  91. package/src/components/composite/ActionStatus/index.tsx +0 -21
  92. package/src/components/composite/AskQuestionCardView/AskQuestionCardView.stories.tsx +0 -175
  93. package/src/components/composite/AskQuestionCardView/AskQuestionCardViewSource.test.mjs +0 -92
  94. package/src/components/composite/AskQuestionCardView/index.tsx +0 -119
  95. package/src/components/composite/AssistantChannelCard/AssistantChannelCard.stories.tsx +0 -265
  96. package/src/components/composite/AssistantChannelCard/AssistantChannelCardSource.test.mjs +0 -45
  97. package/src/components/composite/AssistantChannelCard/index.tsx +0 -102
  98. package/src/components/composite/AssistantToggleRow/AssistantToggleRow.stories.tsx +0 -197
  99. package/src/components/composite/AssistantToggleRow/index.tsx +0 -35
  100. package/src/components/composite/AttachmentCard/AttachmentCard.stories.tsx +0 -125
  101. package/src/components/composite/AttachmentCard/index.tsx +0 -80
  102. package/src/components/composite/BackButton/BackButton.stories.tsx +0 -93
  103. package/src/components/composite/BackButton/BackButtonSource.test.mjs +0 -29
  104. package/src/components/composite/BackButton/index.tsx +0 -48
  105. package/src/components/composite/Banner/Banner.stories.tsx +0 -180
  106. package/src/components/composite/Banner/BannerSource.test.mjs +0 -67
  107. package/src/components/composite/Banner/index.tsx +0 -125
  108. package/src/components/composite/BeaconIcons/BeaconIcons.stories.tsx +0 -153
  109. package/src/components/composite/BeaconIcons/index.tsx +0 -265
  110. package/src/components/composite/BeaconSpinner/BeaconSpinner.stories.tsx +0 -144
  111. package/src/components/composite/BeaconSpinner/index.tsx +0 -185
  112. package/src/components/composite/CatalogStates/CatalogEmptyState.stories.tsx +0 -108
  113. package/src/components/composite/CatalogStates/CatalogStates.stories.tsx +0 -53
  114. package/src/components/composite/CatalogStates/CatalogStatesSource.test.mjs +0 -149
  115. package/src/components/composite/CatalogStates/index.tsx +0 -113
  116. package/src/components/composite/Charts/Charts.stories.tsx +0 -174
  117. package/src/components/composite/Charts/ChartsSource.test.mjs +0 -111
  118. package/src/components/composite/Charts/index.tsx +0 -385
  119. package/src/components/composite/CodeBlock/CodeBlock.stories.tsx +0 -308
  120. package/src/components/composite/CodeBlock/CodeFaceSource.test.mjs +0 -89
  121. package/src/components/composite/CodeBlock/index.tsx +0 -300
  122. package/src/components/composite/CodeDiff/CodeDiff.stories.tsx +0 -169
  123. package/src/components/composite/CodeDiff/index.tsx +0 -373
  124. package/src/components/composite/CodePreview/CodePreview.stories.tsx +0 -127
  125. package/src/components/composite/CodePreview/CodePreviewSource.test.mjs +0 -43
  126. package/src/components/composite/CodePreview/index.tsx +0 -98
  127. package/src/components/composite/CommandPalette/CommandPalette.stories.tsx +0 -89
  128. package/src/components/composite/CommandPalette/CommandPaletteSource.test.mjs +0 -61
  129. package/src/components/composite/CommandPalette/index.tsx +0 -310
  130. package/src/components/composite/ContentRecommendation/ContentRecommendation.stories.tsx +0 -300
  131. package/src/components/composite/ContentRecommendation/ContentRecommendationSource.test.mjs +0 -48
  132. package/src/components/composite/ContentRecommendation/index.tsx +0 -116
  133. package/src/components/composite/ContextChip/ContextChip.stories.tsx +0 -123
  134. package/src/components/composite/ContextChip/ContextChipSource.test.mjs +0 -24
  135. package/src/components/composite/ContextChip/index.tsx +0 -25
  136. package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorSizeSource.test.mjs +0 -15
  137. package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorView.stories.tsx +0 -110
  138. package/src/components/composite/ContextUsageIndicatorView/ContextUsageLoadingSource.test.mjs +0 -23
  139. package/src/components/composite/ContextUsageIndicatorView/index.tsx +0 -139
  140. package/src/components/composite/Controls/Controls.stories.tsx +0 -227
  141. package/src/components/composite/Controls/index.tsx +0 -15
  142. package/src/components/composite/CreateProjectDialog/CreateProjectDialog.stories.tsx +0 -56
  143. package/src/components/composite/CreateProjectDialog/index.tsx +0 -70
  144. package/src/components/composite/DataManagementSectionView/DataManagementSectionView.stories.tsx +0 -123
  145. package/src/components/composite/DataManagementSectionView/DataManagementSectionViewSource.test.mjs +0 -45
  146. package/src/components/composite/DataManagementSectionView/index.tsx +0 -110
  147. package/src/components/composite/DataTable/DataTable.stories.tsx +0 -159
  148. package/src/components/composite/DataTable/DataTableSource.test.mjs +0 -96
  149. package/src/components/composite/DataTable/index.tsx +0 -373
  150. package/src/components/composite/DetailChrome/DetailChrome.stories.tsx +0 -61
  151. package/src/components/composite/DetailChrome/DetailChromeSource.test.mjs +0 -31
  152. package/src/components/composite/DetailChrome/index.tsx +0 -94
  153. package/src/components/composite/DetailPanel/DetailPanel.stories.tsx +0 -185
  154. package/src/components/composite/DetailPanel/DetailPanelSource.test.mjs +0 -49
  155. package/src/components/composite/DetailPanel/index.tsx +0 -120
  156. package/src/components/composite/DetailScaffold/DetailScaffold.stories.tsx +0 -203
  157. package/src/components/composite/DetailScaffold/DetailScaffoldSource.test.mjs +0 -38
  158. package/src/components/composite/DetailScaffold/index.tsx +0 -114
  159. package/src/components/composite/Dialog/Dialog.stories.tsx +0 -343
  160. package/src/components/composite/Dialog/DialogSource.test.mjs +0 -130
  161. package/src/components/composite/Dialog/index.tsx +0 -333
  162. package/src/components/composite/DropZone/DropZone.stories.tsx +0 -105
  163. package/src/components/composite/DropZone/DropZoneSource.test.mjs +0 -68
  164. package/src/components/composite/DropZone/index.tsx +0 -196
  165. package/src/components/composite/FSelect/FSelect.stories.tsx +0 -64
  166. package/src/components/composite/FSelect/index.tsx +0 -29
  167. package/src/components/composite/FeedbackContextMenuView/FeedbackContextMenuView.stories.tsx +0 -106
  168. package/src/components/composite/FeedbackContextMenuView/index.tsx +0 -51
  169. package/src/components/composite/FeedbackDialogView/FeedbackDialogView.stories.tsx +0 -291
  170. package/src/components/composite/FeedbackDialogView/index.tsx +0 -95
  171. package/src/components/composite/FileReferenceCard/FileReferenceCard.stories.tsx +0 -364
  172. package/src/components/composite/FileReferenceCard/FileReferenceCardSource.test.mjs +0 -48
  173. package/src/components/composite/FileReferenceCard/index.tsx +0 -122
  174. package/src/components/composite/FilterBar/FilterBar.stories.tsx +0 -167
  175. package/src/components/composite/FilterBar/FilterBarSource.test.mjs +0 -75
  176. package/src/components/composite/FilterBar/index.tsx +0 -206
  177. package/src/components/composite/FormField/FormField.stories.tsx +0 -158
  178. package/src/components/composite/FormField/FormFieldSource.test.mjs +0 -56
  179. package/src/components/composite/FormField/index.tsx +0 -219
  180. package/src/components/composite/HomeBackdrop/HomeBackdrop.stories.tsx +0 -54
  181. package/src/components/composite/HomeBackdrop/HomeBackdropSource.test.mjs +0 -50
  182. package/src/components/composite/HomeBackdrop/index.tsx +0 -53
  183. package/src/components/composite/Icons/Icons.stories.tsx +0 -153
  184. package/src/components/composite/Icons/IconsSource.test.mjs +0 -23
  185. package/src/components/composite/Icons/index.tsx +0 -1361
  186. package/src/components/composite/ImageCard/ImageCard.stories.tsx +0 -54
  187. package/src/components/composite/ImageCard/index.tsx +0 -33
  188. package/src/components/composite/ImagePreview/ImagePreview.stories.tsx +0 -172
  189. package/src/components/composite/ImagePreview/ImagePreviewSource.test.mjs +0 -95
  190. package/src/components/composite/ImagePreview/index.tsx +0 -339
  191. package/src/components/composite/ListRow/ListRow.stories.tsx +0 -257
  192. package/src/components/composite/ListRow/ListRowSource.test.mjs +0 -101
  193. package/src/components/composite/ListRow/index.tsx +0 -309
  194. package/src/components/composite/Markdown/Markdown.stories.tsx +0 -192
  195. package/src/components/composite/Markdown/MarkdownSource.test.mjs +0 -126
  196. package/src/components/composite/Markdown/MarkdownStyleSource.test.mjs +0 -152
  197. package/src/components/composite/Markdown/index.tsx +0 -702
  198. package/src/components/composite/MarkdownPreview/MarkdownPreview.stories.tsx +0 -174
  199. package/src/components/composite/MarkdownPreview/MarkdownPreviewTabsSource.test.mjs +0 -31
  200. package/src/components/composite/MarkdownPreview/MarkdownRenderedStyleSource.test.mjs +0 -84
  201. package/src/components/composite/MarkdownPreview/index.tsx +0 -140
  202. package/src/components/composite/MarkdownPreviewModalView/MarkdownPreviewModalView.stories.tsx +0 -104
  203. package/src/components/composite/MarkdownPreviewModalView/index.tsx +0 -85
  204. package/src/components/composite/MessageFeedbackDialog/MessageFeedbackDialog.stories.tsx +0 -66
  205. package/src/components/composite/MessageFeedbackDialog/index.tsx +0 -115
  206. package/src/components/composite/ModelCatalogErrorState/ModelCatalogErrorState.stories.tsx +0 -101
  207. package/src/components/composite/ModelCatalogErrorState/ModelCatalogRetrySource.test.mjs +0 -86
  208. package/src/components/composite/ModelCatalogErrorState/index.tsx +0 -59
  209. package/src/components/composite/ModelModalityFlow/ModelModalityFlow.stories.tsx +0 -224
  210. package/src/components/composite/ModelModalityFlow/ModelModalityFlowSource.test.mjs +0 -56
  211. package/src/components/composite/ModelModalityFlow/index.tsx +0 -113
  212. package/src/components/composite/ModelPickerList/ModelPickerList.stories.tsx +0 -313
  213. package/src/components/composite/ModelPickerList/index.tsx +0 -142
  214. package/src/components/composite/ModelSelect/ModelSelect.stories.tsx +0 -90
  215. package/src/components/composite/ModelSelect/index.tsx +0 -148
  216. package/src/components/composite/ModelsSettingsSectionView/ModelsSettingsSectionView.stories.tsx +0 -170
  217. package/src/components/composite/ModelsSettingsSectionView/index.tsx +0 -139
  218. package/src/components/composite/NativeControls/NativeControls.stories.tsx +0 -386
  219. package/src/components/composite/NativeControls/NativeControlsStyleSource.test.mjs +0 -63
  220. package/src/components/composite/NativeControls/index.tsx +0 -97
  221. package/src/components/composite/NavMenu/NavMenu.stories.tsx +0 -383
  222. package/src/components/composite/NavMenu/NavMenuSource.test.mjs +0 -56
  223. package/src/components/composite/NavMenu/index.tsx +0 -142
  224. package/src/components/composite/NoPlanPanelView/NoPlanPanelView.stories.tsx +0 -344
  225. package/src/components/composite/NoPlanPanelView/NoPlanPanelViewSource.test.mjs +0 -34
  226. package/src/components/composite/NoPlanPanelView/index.tsx +0 -97
  227. package/src/components/composite/OpenWithButton/OpenWithButton.stories.tsx +0 -78
  228. package/src/components/composite/OpenWithButton/index.tsx +0 -46
  229. package/src/components/composite/OrbitworkLogo/OrbitworkLogo.stories.tsx +0 -192
  230. package/src/components/composite/OrbitworkLogo/index.tsx +0 -207
  231. package/src/components/composite/OrbitworkModal/OrbitworkModal.stories.tsx +0 -58
  232. package/src/components/composite/OrbitworkModal/index.tsx +0 -31
  233. package/src/components/composite/PageHead/PageHead.stories.tsx +0 -235
  234. package/src/components/composite/PageHead/PageHeadSource.test.mjs +0 -76
  235. package/src/components/composite/PageHead/index.tsx +0 -128
  236. package/src/components/composite/PlanFeatureIcon/PlanFeatureIcon.stories.tsx +0 -205
  237. package/src/components/composite/PlanFeatureIcon/PlanFeatureIconSource.test.mjs +0 -38
  238. package/src/components/composite/PlanFeatureIcon/index.tsx +0 -48
  239. package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionView.stories.tsx +0 -231
  240. package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionViewSource.test.mjs +0 -85
  241. package/src/components/composite/PlanSettingsSectionView/index.tsx +0 -264
  242. package/src/components/composite/Popover/Popover.stories.tsx +0 -175
  243. package/src/components/composite/Popover/PopoverSource.test.mjs +0 -59
  244. package/src/components/composite/Popover/index.tsx +0 -176
  245. package/src/components/composite/PptxRenderer/ElementDispatcher/index.tsx +0 -70
  246. package/src/components/composite/PptxRenderer/PptxChromeStyleSource.test.mjs +0 -36
  247. package/src/components/composite/PptxRenderer/PptxRenderer.stories.tsx +0 -128
  248. package/src/components/composite/PptxRenderer/PptxSlide/index.tsx +0 -48
  249. package/src/components/composite/PptxRenderer/constants.ts +0 -2
  250. package/src/components/composite/PptxRenderer/elements/AudioElement/index.tsx +0 -48
  251. package/src/components/composite/PptxRenderer/elements/ChartElement/index.tsx +0 -172
  252. package/src/components/composite/PptxRenderer/elements/DiagramElement/index.tsx +0 -46
  253. package/src/components/composite/PptxRenderer/elements/GroupElement/index.tsx +0 -28
  254. package/src/components/composite/PptxRenderer/elements/ImageElement/index.tsx +0 -61
  255. package/src/components/composite/PptxRenderer/elements/MathElement/index.tsx +0 -57
  256. package/src/components/composite/PptxRenderer/elements/ShapeElement/index.tsx +0 -327
  257. package/src/components/composite/PptxRenderer/elements/TableElement/index.tsx +0 -90
  258. package/src/components/composite/PptxRenderer/elements/TextElement/index.tsx +0 -57
  259. package/src/components/composite/PptxRenderer/elements/VideoElement/index.tsx +0 -43
  260. package/src/components/composite/PptxRenderer/index.ts +0 -24
  261. package/src/components/composite/PptxRenderer/types.ts +0 -326
  262. package/src/components/composite/PptxRenderer/utils.ts +0 -129
  263. package/src/components/composite/ProjectSelect/ProjectSelect.stories.tsx +0 -112
  264. package/src/components/composite/ProjectSelect/ProjectSelectSource.test.mjs +0 -34
  265. package/src/components/composite/ProjectSelect/index.tsx +0 -155
  266. package/src/components/composite/RadioCard/RadioCard.stories.tsx +0 -130
  267. package/src/components/composite/RadioCard/RadioCardSource.test.mjs +0 -42
  268. package/src/components/composite/RadioCard/index.tsx +0 -171
  269. package/src/components/composite/RowOverflowMenu/RowOverflowMenu.stories.tsx +0 -113
  270. package/src/components/composite/RowOverflowMenu/RowOverflowMenuSource.test.mjs +0 -59
  271. package/src/components/composite/RowOverflowMenu/index.tsx +0 -101
  272. package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPrompt.stories.tsx +0 -159
  273. package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPromptSource.test.mjs +0 -71
  274. package/src/components/composite/SandboxPermissionPrompt/index.tsx +0 -157
  275. package/src/components/composite/SearchInput/SearchInput.stories.tsx +0 -127
  276. package/src/components/composite/SearchInput/index.tsx +0 -91
  277. package/src/components/composite/SearchResult/SearchResult.stories.tsx +0 -305
  278. package/src/components/composite/SearchResult/SearchResultSource.test.mjs +0 -45
  279. package/src/components/composite/SearchResult/index.tsx +0 -148
  280. package/src/components/composite/Section/Section.stories.tsx +0 -148
  281. package/src/components/composite/Section/SectionSource.test.mjs +0 -59
  282. package/src/components/composite/Section/index.tsx +0 -105
  283. package/src/components/composite/SelectionBulkBar/SelectionBulkBar.stories.tsx +0 -111
  284. package/src/components/composite/SelectionBulkBar/SelectionBulkBarSource.test.mjs +0 -44
  285. package/src/components/composite/SelectionBulkBar/index.tsx +0 -99
  286. package/src/components/composite/ShareStrip/ShareStrip.stories.tsx +0 -123
  287. package/src/components/composite/ShareStrip/index.tsx +0 -83
  288. package/src/components/composite/ShortcutSheet/ShortcutSheet.stories.tsx +0 -90
  289. package/src/components/composite/ShortcutSheet/ShortcutSheetSource.test.mjs +0 -49
  290. package/src/components/composite/ShortcutSheet/index.tsx +0 -163
  291. package/src/components/composite/SitesArtifactCardView/SitesArtifactCardView.stories.tsx +0 -328
  292. package/src/components/composite/SitesArtifactCardView/SitesArtifactCardViewSource.test.mjs +0 -45
  293. package/src/components/composite/SitesArtifactCardView/index.tsx +0 -100
  294. package/src/components/composite/Skeleton/Skeleton.stories.tsx +0 -188
  295. package/src/components/composite/Skeleton/SkeletonSource.test.mjs +0 -25
  296. package/src/components/composite/Skeleton/index.tsx +0 -152
  297. package/src/components/composite/Splash/Splash.stories.tsx +0 -150
  298. package/src/components/composite/Splash/index.tsx +0 -229
  299. package/src/components/composite/StatusTag/StatusTag.stories.tsx +0 -66
  300. package/src/components/composite/StatusTag/StatusTagSource.test.mjs +0 -64
  301. package/src/components/composite/StatusTag/index.tsx +0 -78
  302. package/src/components/composite/StepList/StepList.stories.tsx +0 -352
  303. package/src/components/composite/StepList/index.tsx +0 -23
  304. package/src/components/composite/Tag/Tag.stories.tsx +0 -279
  305. package/src/components/composite/Tag/TagSource.test.mjs +0 -67
  306. package/src/components/composite/Tag/index.tsx +0 -229
  307. package/src/components/composite/TimePicker/TimePicker.stories.tsx +0 -91
  308. package/src/components/composite/TimePicker/TimePickerSource.test.mjs +0 -98
  309. package/src/components/composite/TimePicker/index.tsx +0 -208
  310. package/src/components/composite/TitleBar/TitleBar.stories.tsx +0 -329
  311. package/src/components/composite/TitleBar/TitleBarSource.test.mjs +0 -140
  312. package/src/components/composite/TitleBar/index.tsx +0 -350
  313. package/src/components/composite/Toast/Toast.stories.tsx +0 -304
  314. package/src/components/composite/Toast/ToastSource.test.mjs +0 -63
  315. package/src/components/composite/Toast/index.tsx +0 -135
  316. package/src/components/composite/Tooltip/Tooltip.stories.tsx +0 -304
  317. package/src/components/composite/Tooltip/TooltipSource.test.mjs +0 -34
  318. package/src/components/composite/Tooltip/index.tsx +0 -204
  319. package/src/components/composite/TranscriptDividers/TranscriptDividers.stories.tsx +0 -160
  320. package/src/components/composite/TranscriptDividers/TranscriptDividersSource.test.mjs +0 -90
  321. package/src/components/composite/TranscriptDividers/index.tsx +0 -352
  322. package/src/components/composite/WCardShell/WCardShell.stories.tsx +0 -228
  323. package/src/components/composite/WCardShell/index.tsx +0 -101
  324. package/src/components/composite/index.ts +0 -81
  325. package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarView.stories.tsx +0 -128
  326. package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarViewSource.test.mjs +0 -69
  327. package/src/components/domain/artifacts/ArtifactPreviewSidebarView/index.tsx +0 -212
  328. package/src/components/domain/artifacts/index.ts +0 -1
  329. package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupView.stories.tsx +0 -211
  330. package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupViewSource.test.mjs +0 -82
  331. package/src/components/domain/browser/BrowserAnnotationPopupView/index.tsx +0 -235
  332. package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarView.stories.tsx +0 -260
  333. package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarViewSource.test.mjs +0 -12
  334. package/src/components/domain/browser/BrowserDeviceToolbarView/index.tsx +0 -154
  335. package/src/components/domain/browser/BrowserFindBarView/BrowserFindBarView.stories.tsx +0 -52
  336. package/src/components/domain/browser/BrowserFindBarView/index.tsx +0 -111
  337. package/src/components/domain/browser/BrowserImportDialogView/BrowserImportDialogView.stories.tsx +0 -89
  338. package/src/components/domain/browser/BrowserImportDialogView/index.tsx +0 -155
  339. package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorView.stories.tsx +0 -197
  340. package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorViewSource.test.mjs +0 -29
  341. package/src/components/domain/browser/BrowserLoadErrorView/index.tsx +0 -45
  342. package/src/components/domain/browser/BrowserMoreMenuView/BrowserMoreMenuView.stories.tsx +0 -66
  343. package/src/components/domain/browser/BrowserMoreMenuView/index.tsx +0 -268
  344. package/src/components/domain/browser/BrowserNavBarView/BrowserNavBarView.stories.tsx +0 -149
  345. package/src/components/domain/browser/BrowserNavBarView/index.tsx +0 -156
  346. package/src/components/domain/browser/BrowserTabBarView/index.tsx +0 -18
  347. package/src/components/domain/browser/SubAgentPane/SubAgentPane.stories.tsx +0 -96
  348. package/src/components/domain/browser/SubAgentPane/SubAgentPaneSource.test.mjs +0 -48
  349. package/src/components/domain/browser/SubAgentPane/index.tsx +0 -121
  350. package/src/components/domain/browser/TerminalPane/TerminalPane.stories.tsx +0 -95
  351. package/src/components/domain/browser/TerminalPane/TerminalPaneSource.test.mjs +0 -52
  352. package/src/components/domain/browser/TerminalPane/index.tsx +0 -75
  353. package/src/components/domain/browser/WebPreview/WebPreview.stories.tsx +0 -71
  354. package/src/components/domain/browser/WebPreview/index.tsx +0 -141
  355. package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsole.stories.tsx +0 -61
  356. package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsoleSource.test.mjs +0 -66
  357. package/src/components/domain/browser/WebPreviewConsole/index.tsx +0 -239
  358. package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialog.stories.tsx +0 -288
  359. package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialogSource.test.mjs +0 -62
  360. package/src/components/domain/browser/WebPreviewDialog/index.tsx +0 -82
  361. package/src/components/domain/browser/WebPreviewNav/WebPreviewNav.stories.tsx +0 -462
  362. package/src/components/domain/browser/WebPreviewNav/WebPreviewNavSource.test.mjs +0 -353
  363. package/src/components/domain/browser/WebPreviewNav/index.tsx +0 -351
  364. package/src/components/domain/browser/WebPreviewShell/WebPreviewShell.stories.tsx +0 -226
  365. package/src/components/domain/browser/WebPreviewShell/WebPreviewShellSource.test.mjs +0 -172
  366. package/src/components/domain/browser/WebPreviewShell/index.tsx +0 -324
  367. package/src/components/domain/browser/index.ts +0 -45
  368. package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegment.stories.tsx +0 -107
  369. package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegmentSource.test.mjs +0 -45
  370. package/src/components/domain/chat/AgentLoopSegment/index.tsx +0 -29
  371. package/src/components/domain/chat/AgentTurn/AgentTurn.stories.tsx +0 -162
  372. package/src/components/domain/chat/AgentTurn/AgentTurnSource.test.mjs +0 -98
  373. package/src/components/domain/chat/AgentTurn/beaconContext.ts +0 -37
  374. package/src/components/domain/chat/AgentTurn/index.tsx +0 -226
  375. package/src/components/domain/chat/ArtifactCard/ArtifactCard.stories.tsx +0 -127
  376. package/src/components/domain/chat/ArtifactCard/index.tsx +0 -249
  377. package/src/components/domain/chat/Attachment/Attachment.stories.tsx +0 -235
  378. package/src/components/domain/chat/Attachment/AttachmentSource.test.mjs +0 -160
  379. package/src/components/domain/chat/Attachment/index.tsx +0 -857
  380. package/src/components/domain/chat/AuthorizationCard/AuthorizationCard.stories.tsx +0 -53
  381. package/src/components/domain/chat/AuthorizationCard/AuthorizationCardSource.test.mjs +0 -80
  382. package/src/components/domain/chat/AuthorizationCard/index.tsx +0 -89
  383. package/src/components/domain/chat/ChatBubble/ChatBubble.stories.tsx +0 -32
  384. package/src/components/domain/chat/ChatBubble/index.tsx +0 -24
  385. package/src/components/domain/chat/ChatMessage/ChatMessage.stories.tsx +0 -31
  386. package/src/components/domain/chat/ChatMessage/index.tsx +0 -23
  387. package/src/components/domain/chat/ChatR2ReviewSource.test.mjs +0 -98
  388. package/src/components/domain/chat/ChatThinking/ChatThinking.stories.tsx +0 -125
  389. package/src/components/domain/chat/ChatThinking/index.tsx +0 -55
  390. package/src/components/domain/chat/Chatbot/Chatbot.stories.tsx +0 -49
  391. package/src/components/domain/chat/Chatbot/index.tsx +0 -37
  392. package/src/components/domain/chat/Composer/Composer.stories.tsx +0 -227
  393. package/src/components/domain/chat/Composer/ComposerSource.test.mjs +0 -175
  394. package/src/components/domain/chat/Composer/index.tsx +0 -450
  395. package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.stories.tsx +0 -203
  396. package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.tsx +0 -110
  397. package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrumSource.test.mjs +0 -54
  398. package/src/components/domain/chat/Composer/parts/ComposerAuthorization.stories.tsx +0 -155
  399. package/src/components/domain/chat/Composer/parts/ComposerAuthorization.tsx +0 -108
  400. package/src/components/domain/chat/Composer/parts/ComposerMentions.stories.tsx +0 -76
  401. package/src/components/domain/chat/Composer/parts/ComposerMentions.tsx +0 -83
  402. package/src/components/domain/chat/Composer/parts/ComposerMentionsSource.test.mjs +0 -85
  403. package/src/components/domain/chat/Composer/parts/ComposerMenu.stories.tsx +0 -266
  404. package/src/components/domain/chat/Composer/parts/ComposerMenu.tsx +0 -232
  405. package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.stories.tsx +0 -166
  406. package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.tsx +0 -87
  407. package/src/components/domain/chat/Composer/parts/ComposerMenuPopoverSource.test.mjs +0 -56
  408. package/src/components/domain/chat/Composer/parts/ComposerPopover.stories.tsx +0 -257
  409. package/src/components/domain/chat/Composer/parts/ComposerPopover.tsx +0 -221
  410. package/src/components/domain/chat/Composer/parts/ComposerPopoverSource.test.mjs +0 -71
  411. package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.stories.tsx +0 -260
  412. package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.tsx +0 -246
  413. package/src/components/domain/chat/Composer/parts/ComposerProjectPickerSource.test.mjs +0 -46
  414. package/src/components/domain/chat/Composer/parts/ComposerQueue.stories.tsx +0 -275
  415. package/src/components/domain/chat/Composer/parts/ComposerQueue.tsx +0 -155
  416. package/src/components/domain/chat/Composer/parts/ComposerQueueSource.test.mjs +0 -95
  417. package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.stories.tsx +0 -77
  418. package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.tsx +0 -70
  419. package/src/components/domain/chat/Composer/parts/mountChip.ts +0 -21
  420. package/src/components/domain/chat/ContextUsage/ContextUsage.stories.tsx +0 -62
  421. package/src/components/domain/chat/ContextUsage/index.tsx +0 -69
  422. package/src/components/domain/chat/ExecutionSummary/ExecutionSummary.stories.tsx +0 -238
  423. package/src/components/domain/chat/ExecutionSummary/ExecutionSummarySource.test.mjs +0 -210
  424. package/src/components/domain/chat/ExecutionSummary/index.tsx +0 -487
  425. package/src/components/domain/chat/Message/Message.stories.tsx +0 -264
  426. package/src/components/domain/chat/Message/index.tsx +0 -44
  427. package/src/components/domain/chat/MessageActions/MessageActions.stories.tsx +0 -132
  428. package/src/components/domain/chat/MessageActions/MessageActionsSource.test.mjs +0 -79
  429. package/src/components/domain/chat/MessageActions/index.tsx +0 -186
  430. package/src/components/domain/chat/PlanCard/PlanCard.stories.tsx +0 -87
  431. package/src/components/domain/chat/PlanCard/index.tsx +0 -170
  432. package/src/components/domain/chat/RichContent/RichContent.stories.tsx +0 -102
  433. package/src/components/domain/chat/RichContent/RichContentSource.test.mjs +0 -82
  434. package/src/components/domain/chat/RichContent/index.tsx +0 -465
  435. package/src/components/domain/chat/SubAgentThread/SubAgentThread.stories.tsx +0 -119
  436. package/src/components/domain/chat/SubAgentThread/index.tsx +0 -104
  437. package/src/components/domain/chat/Thinking/Thinking.stories.tsx +0 -196
  438. package/src/components/domain/chat/Thinking/ThinkingInlineSource.test.mjs +0 -154
  439. package/src/components/domain/chat/Thinking/index.tsx +0 -237
  440. package/src/components/domain/chat/ToolCallRow/ToolCallRow.stories.tsx +0 -105
  441. package/src/components/domain/chat/ToolCallRow/ToolCallRowSource.test.mjs +0 -83
  442. package/src/components/domain/chat/ToolCallRow/index.tsx +0 -113
  443. package/src/components/domain/chat/Transcript/Transcript.stories.tsx +0 -296
  444. package/src/components/domain/chat/Transcript/TranscriptSource.test.mjs +0 -189
  445. package/src/components/domain/chat/Transcript/index.tsx +0 -187
  446. package/src/components/domain/chat/TranscriptSpine/TranscriptSpine.stories.tsx +0 -124
  447. package/src/components/domain/chat/TranscriptSpine/index.tsx +0 -245
  448. package/src/components/domain/chat/UserTurn/UserTurn.stories.tsx +0 -176
  449. package/src/components/domain/chat/UserTurn/UserTurnSource.test.mjs +0 -150
  450. package/src/components/domain/chat/UserTurn/index.tsx +0 -194
  451. package/src/components/domain/chat/index.ts +0 -22
  452. package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuView.stories.tsx +0 -116
  453. package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuViewSource.test.mjs +0 -80
  454. package/src/components/domain/desktop/DesktopAccountMenuView/index.tsx +0 -355
  455. package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettings.stories.tsx +0 -96
  456. package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettingsSource.test.mjs +0 -89
  457. package/src/components/domain/desktop/DesktopAppearanceSettings/index.tsx +0 -155
  458. package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigView.stories.tsx +0 -275
  459. package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigViewSource.test.mjs +0 -37
  460. package/src/components/domain/desktop/DesktopAssistantConfigView/index.tsx +0 -221
  461. package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogView.stories.tsx +0 -537
  462. package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogViewSource.test.mjs +0 -339
  463. package/src/components/domain/desktop/DesktopCatalogView/index.tsx +0 -1074
  464. package/src/components/domain/desktop/DesktopChatBranchDivider/DesktopChatBranchDivider.stories.tsx +0 -58
  465. package/src/components/domain/desktop/DesktopChatBranchDivider/index.tsx +0 -33
  466. package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateView.stories.tsx +0 -75
  467. package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateViewSource.test.mjs +0 -54
  468. package/src/components/domain/desktop/DesktopChatEmptyStateView/index.tsx +0 -64
  469. package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderView.stories.tsx +0 -83
  470. package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderViewSource.test.mjs +0 -126
  471. package/src/components/domain/desktop/DesktopChatHeaderView/index.tsx +0 -169
  472. package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageView.stories.tsx +0 -170
  473. package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageViewSource.test.mjs +0 -47
  474. package/src/components/domain/desktop/DesktopChatMessageView/index.tsx +0 -213
  475. package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnView.stories.tsx +0 -498
  476. package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnViewSource.test.mjs +0 -187
  477. package/src/components/domain/desktop/DesktopChatTurnView/index.tsx +0 -490
  478. package/src/components/domain/desktop/DesktopComposer/DesktopComposer.stories.tsx +0 -195
  479. package/src/components/domain/desktop/DesktopComposer/DesktopComposerModelPickerSource.test.mjs +0 -132
  480. package/src/components/domain/desktop/DesktopComposer/DesktopComposerMountChipSource.test.mjs +0 -43
  481. package/src/components/domain/desktop/DesktopComposer/DesktopComposerResponsiveSource.test.mjs +0 -44
  482. package/src/components/domain/desktop/DesktopComposer/DesktopMcpFormThemeSource.test.mjs +0 -30
  483. package/src/components/domain/desktop/DesktopComposer/index.tsx +0 -206
  484. package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailView.stories.tsx +0 -72
  485. package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailViewSource.test.mjs +0 -81
  486. package/src/components/domain/desktop/DesktopConnectorDetailView/index.tsx +0 -301
  487. package/src/components/domain/desktop/DesktopHomeView/DesktopHomeView.stories.tsx +0 -103
  488. package/src/components/domain/desktop/DesktopHomeView/DesktopHomeViewSource.test.mjs +0 -51
  489. package/src/components/domain/desktop/DesktopHomeView/index.tsx +0 -122
  490. package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/DesktopLibraryAuthorizationDialog.stories.tsx +0 -55
  491. package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/index.tsx +0 -156
  492. package/src/components/domain/desktop/DesktopLibraryPageView/DesktopLibraryPageView.stories.tsx +0 -42
  493. package/src/components/domain/desktop/DesktopLibraryPageView/index.tsx +0 -35
  494. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.css +0 -75
  495. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.stories.tsx +0 -230
  496. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginViewSource.test.mjs +0 -149
  497. package/src/components/domain/desktop/DesktopLoginView/index.tsx +0 -418
  498. package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourView.stories.tsx +0 -103
  499. package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourViewSource.test.mjs +0 -57
  500. package/src/components/domain/desktop/DesktopOnboardingTourView/index.tsx +0 -189
  501. package/src/components/domain/desktop/DesktopPet/DesktopPet.fixture.ts +0 -243
  502. package/src/components/domain/desktop/DesktopPet/DesktopPet.stories.tsx +0 -337
  503. package/src/components/domain/desktop/DesktopPet/DesktopPetSource.test.mjs +0 -191
  504. package/src/components/domain/desktop/DesktopPet/index.tsx +0 -591
  505. package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettings.stories.tsx +0 -159
  506. package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettingsSource.test.mjs +0 -76
  507. package/src/components/domain/desktop/DesktopPetSettings/index.tsx +0 -140
  508. package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusView.stories.tsx +0 -166
  509. package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusViewSource.test.mjs +0 -51
  510. package/src/components/domain/desktop/DesktopRunStatusView/index.tsx +0 -34
  511. package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCard.stories.tsx +0 -122
  512. package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCardSource.test.mjs +0 -42
  513. package/src/components/domain/desktop/DesktopSelectionCard/index.tsx +0 -75
  514. package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySection.stories.tsx +0 -225
  515. package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySectionSource.test.mjs +0 -105
  516. package/src/components/domain/desktop/DesktopSettingsMemorySection/index.tsx +0 -340
  517. package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsView.stories.tsx +0 -177
  518. package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsViewSource.test.mjs +0 -195
  519. package/src/components/domain/desktop/DesktopSettingsView/index.tsx +0 -176
  520. package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarView.stories.tsx +0 -77
  521. package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarViewSource.test.mjs +0 -76
  522. package/src/components/domain/desktop/DesktopShareSelectionBarView/index.tsx +0 -55
  523. package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarView.stories.tsx +0 -454
  524. package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarViewSource.test.mjs +0 -386
  525. package/src/components/domain/desktop/DesktopSidebarView/index.tsx +0 -1075
  526. package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesView.stories.tsx +0 -369
  527. package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesViewSource.test.mjs +0 -123
  528. package/src/components/domain/desktop/DesktopSiteReleasesView/index.tsx +0 -392
  529. package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListView.stories.tsx +0 -244
  530. package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListViewSource.test.mjs +0 -198
  531. package/src/components/domain/desktop/DesktopSitesListView/index.tsx +0 -417
  532. package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageView.stories.tsx +0 -230
  533. package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageViewSource.test.mjs +0 -149
  534. package/src/components/domain/desktop/DesktopSkillsPageView/index.tsx +0 -235
  535. package/src/components/domain/desktop/DesktopTaskDetailView/index.tsx +0 -111
  536. package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallListViewSource.test.mjs +0 -302
  537. package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallView.stories.tsx +0 -409
  538. package/src/components/domain/desktop/DesktopToolCallView/index.tsx +0 -388
  539. package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShell.stories.tsx +0 -418
  540. package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShellSource.test.mjs +0 -151
  541. package/src/components/domain/desktop/DesktopWorkbenchShell/index.tsx +0 -167
  542. package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageView.stories.tsx +0 -135
  543. package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageViewSource.test.mjs +0 -57
  544. package/src/components/domain/desktop/DesktopWorkspacePageView/index.tsx +0 -114
  545. package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceView.stories.tsx +0 -227
  546. package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceViewSource.test.mjs +0 -175
  547. package/src/components/domain/desktop/DesktopWorkspaceView/index.tsx +0 -580
  548. package/src/components/domain/desktop/ResourceManagement/ResourceManagement.stories.tsx +0 -19
  549. package/src/components/domain/desktop/ResourceManagement/ResourceManagementSource.test.mjs +0 -54
  550. package/src/components/domain/desktop/ResourceManagement/SharesList.tsx +0 -323
  551. package/src/components/domain/desktop/ResourceManagement/SnapshotViews.tsx +0 -92
  552. package/src/components/domain/desktop/ResourceManagement/SnapshotViewsSource.test.mjs +0 -15
  553. package/src/components/domain/desktop/ResourceManagement/index.tsx +0 -246
  554. package/src/components/domain/desktop/ShareSettingsDialogView/index.tsx +0 -234
  555. package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmpty.stories.tsx +0 -100
  556. package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmptySource.test.mjs +0 -67
  557. package/src/components/domain/desktop/SidePanelEmpty/index.tsx +0 -113
  558. package/src/components/domain/desktop/StarterCapsules/StarterCapsules.stories.tsx +0 -65
  559. package/src/components/domain/desktop/StarterCapsules/StarterCapsulesSource.test.mjs +0 -43
  560. package/src/components/domain/desktop/StarterCapsules/index.tsx +0 -90
  561. package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanel.stories.tsx +0 -59
  562. package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanelSource.test.mjs +0 -51
  563. package/src/components/domain/desktop/WorkbenchSidePanel/index.tsx +0 -74
  564. package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirm.stories.tsx +0 -79
  565. package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirmSource.test.mjs +0 -34
  566. package/src/components/domain/desktop/WorkspaceMigrateConfirm/index.tsx +0 -92
  567. package/src/components/domain/desktop/index.ts +0 -64
  568. package/src/components/domain/files/FileBrowser/FileBrowser.stories.tsx +0 -397
  569. package/src/components/domain/files/FileBrowser/FileBrowserSource.test.mjs +0 -75
  570. package/src/components/domain/files/FileBrowser/index.tsx +0 -221
  571. package/src/components/domain/files/FileIcon/FileIcon.stories.tsx +0 -207
  572. package/src/components/domain/files/FileIcon/FileIconSource.test.mjs +0 -39
  573. package/src/components/domain/files/FileIcon/index.tsx +0 -133
  574. package/src/components/domain/files/FilePreviewContentView/FilePreviewContentView.stories.tsx +0 -242
  575. package/src/components/domain/files/FilePreviewContentView/FilePreviewContentViewSource.test.mjs +0 -44
  576. package/src/components/domain/files/FilePreviewContentView/index.tsx +0 -125
  577. package/src/components/domain/files/FileTree/FileTree.stories.tsx +0 -204
  578. package/src/components/domain/files/FileTree/FileTreeSource.test.mjs +0 -18
  579. package/src/components/domain/files/FileTree/index.tsx +0 -106
  580. package/src/components/domain/files/PreviewDialog/PreviewDialog.stories.tsx +0 -178
  581. package/src/components/domain/files/PreviewDialog/PreviewDialogSource.test.mjs +0 -92
  582. package/src/components/domain/files/PreviewDialog/index.tsx +0 -294
  583. package/src/components/domain/files/index.ts +0 -5
  584. package/src/components/domain/index.ts +0 -8
  585. package/src/components/domain/office/CsvPreview/CsvPreview.stories.tsx +0 -264
  586. package/src/components/domain/office/CsvPreview/CsvPreviewSource.test.mjs +0 -77
  587. package/src/components/domain/office/CsvPreview/index.tsx +0 -224
  588. package/src/components/domain/office/OfficePreview/OfficePreview.stories.tsx +0 -265
  589. package/src/components/domain/office/OfficePreview/OfficePreviewDialog.stories.tsx +0 -71
  590. package/src/components/domain/office/OfficePreview/OfficePreviewDialog.tsx +0 -43
  591. package/src/components/domain/office/OfficePreview/OfficePreviewSource.test.mjs +0 -126
  592. package/src/components/domain/office/OfficePreview/index.tsx +0 -782
  593. package/src/components/domain/office/PdfPreview/PdfPreview.stories.tsx +0 -280
  594. package/src/components/domain/office/PdfPreview/PdfPreviewDialog.stories.tsx +0 -61
  595. package/src/components/domain/office/PdfPreview/PdfPreviewDialog.tsx +0 -61
  596. package/src/components/domain/office/PdfPreview/PdfPreviewSource.test.mjs +0 -70
  597. package/src/components/domain/office/PdfPreview/index.tsx +0 -217
  598. package/src/components/domain/office/index.ts +0 -5
  599. package/src/components/domain/skills/McpServerListView/McpServerListView.stories.tsx +0 -510
  600. package/src/components/domain/skills/McpServerListView/McpServerListViewSource.test.mjs +0 -101
  601. package/src/components/domain/skills/McpServerListView/index.tsx +0 -250
  602. package/src/components/domain/skills/SkillAvatarView/SkillAvatarView.stories.tsx +0 -121
  603. package/src/components/domain/skills/SkillAvatarView/SkillAvatarViewSource.test.mjs +0 -67
  604. package/src/components/domain/skills/SkillAvatarView/index.tsx +0 -112
  605. package/src/components/domain/skills/SkillCardView/SkillCardView.stories.tsx +0 -374
  606. package/src/components/domain/skills/SkillCardView/SkillCardViewSource.test.mjs +0 -35
  607. package/src/components/domain/skills/SkillCardView/index.tsx +0 -88
  608. package/src/components/domain/skills/SkillDetailPanelView/SkillDetailPanelView.stories.tsx +0 -113
  609. package/src/components/domain/skills/SkillDetailPanelView/index.tsx +0 -115
  610. package/src/components/domain/skills/SkillDetailView/SkillDetailView.stories.tsx +0 -274
  611. package/src/components/domain/skills/SkillDetailView/index.tsx +0 -121
  612. package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogView.stories.tsx +0 -128
  613. package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogViewSource.test.mjs +0 -11
  614. package/src/components/domain/skills/SkillImportDialogView/index.tsx +0 -147
  615. package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalView.stories.tsx +0 -160
  616. package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalViewSource.test.mjs +0 -99
  617. package/src/components/domain/skills/ToolDetailModalView/index.tsx +0 -160
  618. package/src/components/domain/skills/index.ts +0 -7
  619. package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardView.stories.tsx +0 -120
  620. package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardViewSource.test.mjs +0 -40
  621. package/src/components/domain/tasks/ScheduledTaskCardView/index.tsx +0 -135
  622. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialog.stories.tsx +0 -56
  623. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialogSource.test.mjs +0 -35
  624. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/index.tsx +0 -73
  625. package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailView.stories.tsx +0 -121
  626. package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailViewSource.test.mjs +0 -115
  627. package/src/components/domain/tasks/ScheduledTaskDetailView/index.tsx +0 -223
  628. package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceView.stories.tsx +0 -526
  629. package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceViewSource.test.mjs +0 -85
  630. package/src/components/domain/tasks/ScheduledTasksSpaceView/index.tsx +0 -118
  631. package/src/components/domain/tasks/index.ts +0 -4
  632. package/src/components/domain/theme/SkinManager.stories.tsx +0 -43
  633. package/src/components/domain/theme/SkinManagerUI.tsx +0 -382
  634. package/src/components/domain/theme/ThemeDemo.stories.tsx +0 -12
  635. package/src/components/domain/theme/ThemeDemo.tsx +0 -224
  636. package/src/components/index.ts +0 -11
  637. package/src/components/primitives/Avatar/Avatar.stories.tsx +0 -170
  638. package/src/components/primitives/Avatar/AvatarSource.test.mjs +0 -37
  639. package/src/components/primitives/Avatar/index.tsx +0 -180
  640. package/src/components/primitives/BackTop/BackTop.stories.tsx +0 -122
  641. package/src/components/primitives/BackTop/BackTopSource.test.mjs +0 -61
  642. package/src/components/primitives/BackTop/index.tsx +0 -93
  643. package/src/components/primitives/Badge/Badge.stories.tsx +0 -376
  644. package/src/components/primitives/Badge/BadgeSource.test.mjs +0 -27
  645. package/src/components/primitives/Badge/index.tsx +0 -65
  646. package/src/components/primitives/Button/Button.stories.tsx +0 -287
  647. package/src/components/primitives/Button/ButtonSource.test.mjs +0 -84
  648. package/src/components/primitives/Button/index.tsx +0 -216
  649. package/src/components/primitives/Card/Card.stories.tsx +0 -186
  650. package/src/components/primitives/Card/CardSource.test.mjs +0 -73
  651. package/src/components/primitives/Card/index.tsx +0 -137
  652. package/src/components/primitives/Checkbox/Checkbox.stories.tsx +0 -79
  653. package/src/components/primitives/Checkbox/CheckboxSource.test.mjs +0 -43
  654. package/src/components/primitives/Checkbox/index.tsx +0 -87
  655. package/src/components/primitives/Chip/Chip.stories.tsx +0 -149
  656. package/src/components/primitives/Chip/ChipSource.test.mjs +0 -73
  657. package/src/components/primitives/Chip/index.tsx +0 -252
  658. package/src/components/primitives/Divider/Divider.stories.tsx +0 -68
  659. package/src/components/primitives/Divider/DividerSource.test.mjs +0 -26
  660. package/src/components/primitives/Divider/index.tsx +0 -65
  661. package/src/components/primitives/Dropdown/Dropdown.stories.tsx +0 -38
  662. package/src/components/primitives/Dropdown/DropdownSource.test.mjs +0 -23
  663. package/src/components/primitives/Dropdown/index.tsx +0 -29
  664. package/src/components/primitives/EmptyState/EmptyState.stories.tsx +0 -159
  665. package/src/components/primitives/EmptyState/EmptyStateSource.test.mjs +0 -169
  666. package/src/components/primitives/EmptyState/index.tsx +0 -185
  667. package/src/components/primitives/ErrorCard/ErrorCard.stories.tsx +0 -50
  668. package/src/components/primitives/ErrorCard/index.tsx +0 -78
  669. package/src/components/primitives/Field/Field.stories.tsx +0 -208
  670. package/src/components/primitives/Field/FieldSource.test.mjs +0 -70
  671. package/src/components/primitives/Field/index.tsx +0 -297
  672. package/src/components/primitives/InlineMessage/InlineMessage.stories.tsx +0 -137
  673. package/src/components/primitives/InlineMessage/InlineMessageSource.test.mjs +0 -50
  674. package/src/components/primitives/InlineMessage/index.tsx +0 -141
  675. package/src/components/primitives/Input/Input.stories.tsx +0 -30
  676. package/src/components/primitives/Input/index.tsx +0 -12
  677. package/src/components/primitives/Keycap/Keycap.stories.tsx +0 -93
  678. package/src/components/primitives/Keycap/KeycapSource.test.mjs +0 -30
  679. package/src/components/primitives/Keycap/index.tsx +0 -67
  680. package/src/components/primitives/Menu/Menu.stories.tsx +0 -416
  681. package/src/components/primitives/Menu/MenuEmptySource.test.mjs +0 -23
  682. package/src/components/primitives/Menu/MenuSource.test.mjs +0 -207
  683. package/src/components/primitives/Menu/index.tsx +0 -922
  684. package/src/components/primitives/Pagination/Pagination.stories.tsx +0 -77
  685. package/src/components/primitives/Pagination/PaginationSource.test.mjs +0 -24
  686. package/src/components/primitives/Pagination/index.tsx +0 -85
  687. package/src/components/primitives/Pagination/pagination.ts +0 -25
  688. package/src/components/primitives/Pagination/paginationModel.test.mjs +0 -18
  689. package/src/components/primitives/ProgressBar/ProgressBar.stories.tsx +0 -103
  690. package/src/components/primitives/ProgressBar/ProgressBarSource.test.mjs +0 -44
  691. package/src/components/primitives/ProgressBar/index.tsx +0 -68
  692. package/src/components/primitives/Radio/Radio.stories.tsx +0 -84
  693. package/src/components/primitives/Radio/RadioSource.test.mjs +0 -38
  694. package/src/components/primitives/Radio/index.tsx +0 -161
  695. package/src/components/primitives/SegmentedControl/SegmentedControl.stories.tsx +0 -110
  696. package/src/components/primitives/SegmentedControl/SegmentedControlSource.test.mjs +0 -75
  697. package/src/components/primitives/SegmentedControl/index.tsx +0 -188
  698. package/src/components/primitives/Select/Select.stories.tsx +0 -158
  699. package/src/components/primitives/Select/SelectSource.test.mjs +0 -94
  700. package/src/components/primitives/Select/index.tsx +0 -364
  701. package/src/components/primitives/Spinner/index.tsx +0 -58
  702. package/src/components/primitives/Switch/Switch.stories.tsx +0 -64
  703. package/src/components/primitives/Switch/SwitchSource.test.mjs +0 -38
  704. package/src/components/primitives/Switch/index.tsx +0 -84
  705. package/src/components/primitives/Tabs/Tabs.stories.tsx +0 -230
  706. package/src/components/primitives/Tabs/TabsSource.test.mjs +0 -91
  707. package/src/components/primitives/Tabs/index.tsx +0 -183
  708. package/src/components/primitives/index.ts +0 -24
  709. package/src/examples/ResourceManagementExample.tsx +0 -119
  710. package/src/examples/SiteWorkbenchExample.tsx +0 -96
  711. package/src/hooks/index.ts +0 -7
  712. package/src/hooks/useClickOutside.ts +0 -20
  713. package/src/hooks/useDragReorder.ts +0 -29
  714. package/src/hooks/useImeAwareEnter.ts +0 -59
  715. package/src/hooks/useImeAwareEnterSource.test.mjs +0 -65
  716. package/src/hooks/useKeyboard.ts +0 -16
  717. package/src/hooks/usePopover.ts +0 -67
  718. package/src/hooks/useSelectedOptionLocator.ts +0 -33
  719. package/src/hooks/useSidebarResize.ts +0 -107
  720. package/src/hooks/useTenantTheme.ts +0 -53
  721. package/src/hooks/useUnifiedTheme.ts +0 -85
  722. package/src/index.ts +0 -6
  723. package/src/lib/InjectedStyleTokenMirrorSource.test.mjs +0 -67
  724. package/src/lib/about-window.test.mjs +0 -46
  725. package/src/lib/about-window.ts +0 -218
  726. package/src/lib/appearance.test.mjs +0 -283
  727. package/src/lib/appearance.ts +0 -46
  728. package/src/lib/browser-annotation-popup.ts +0 -151
  729. package/src/lib/focusTrap.ts +0 -51
  730. package/src/lib/index.ts +0 -5
  731. package/src/lib/shortcut.test.mjs +0 -100
  732. package/src/lib/shortcut.ts +0 -97
  733. package/src/lib/twMergeOw.ts +0 -18
  734. package/src/lib/utils.ts +0 -6
  735. package/src/screens/Browser.stories.tsx +0 -353
  736. package/src/screens/Chat.stories.tsx +0 -808
  737. package/src/screens/Home.stories.tsx +0 -253
  738. package/src/screens/Login.stories.tsx +0 -134
  739. package/src/screens/McpManager.stories.tsx +0 -159
  740. package/src/screens/Onboarding.stories.tsx +0 -155
  741. package/src/screens/ScheduledTasks.stories.tsx +0 -134
  742. package/src/screens/ScreenFrameSource.test.mjs +0 -77
  743. package/src/screens/SettingsAppearance.stories.tsx +0 -117
  744. package/src/screens/SettingsMemory.stories.tsx +0 -128
  745. package/src/screens/SettingsModels.stories.tsx +0 -228
  746. package/src/screens/SettingsSections.stories.tsx +0 -164
  747. package/src/screens/Share.stories.tsx +0 -202
  748. package/src/screens/SharePage.stories.tsx +0 -29
  749. package/src/screens/Sites.stories.tsx +0 -183
  750. package/src/screens/Skills.stories.tsx +0 -83
  751. package/src/screens/Workspace.stories.tsx +0 -191
  752. package/src/screens/_home.tsx +0 -46
  753. package/src/screens/_screen.tsx +0 -355
  754. package/src/screens/_settingsNav.ts +0 -27
  755. package/src/screens/_skillsCatalog.tsx +0 -372
  756. package/src/theme/SkinDenylistSyncSource.test.mjs +0 -124
  757. package/src/theme/__tests__/skins.test.mjs +0 -84
  758. package/src/theme/core/semanticAdapter.ts +0 -116
  759. package/src/theme/core/skin.ts +0 -605
  760. package/src/theme/core/skinScoped.ts +0 -289
  761. package/src/theme/core/tenantTheme.test.mjs +0 -127
  762. package/src/theme/core/tenantTheme.ts +0 -124
  763. package/src/theme/core/types.ts +0 -60
  764. package/src/theme/core/unifiedTheme.ts +0 -157
  765. package/src/theme/index.ts +0 -33
  766. package/src/theme/providers/BrandingProvider.tsx +0 -57
  767. package/src/theme/providers/ThemeProvider.tsx +0 -221
  768. package/src/theme/skinDs2PropertyGate.test.mjs +0 -109
  769. package/src/theme/skins/index.ts +0 -107
  770. package/src/theme/utils/cssSafety.ts +0 -92
  771. package/src/theme/utils/skinManager.ts +0 -159
  772. package/src/theme/utils/themeApplier.ts +0 -75
  773. package/src/tokens/DesktopSurfacesSweep15Source.test.mjs +0 -77
  774. package/src/tokens/SharedStyleSheetsSource.test.mjs +0 -90
  775. package/src/tokens/TailwindThemeSupplySource.test.mjs +0 -129
  776. package/src/tokens/base.ts +0 -199
  777. package/src/tokens/dark.ts +0 -288
  778. package/src/tokens/index.ts +0 -4
  779. package/src/tokens/light.ts +0 -320
  780. package/src/tokens/tailwind.ts +0 -216
  781. package/src/types/desktop-pet.ts +0 -100
  782. package/src/types/file-browser.ts +0 -51
  783. package/src/types/file-tree.ts +0 -34
  784. package/src/types/index.ts +0 -3
  785. package/src/types/xspreadsheet.d.ts +0 -4
  786. package/src/utils/cn.ts +0 -6
  787. package/src/utils/glyphColor.ts +0 -32
  788. package/src/utils/index.ts +0 -4
  789. package/src/utils/localPathInline.test.mjs +0 -45
  790. package/src/utils/localPathInline.ts +0 -49
  791. package/src/utils/markdownFileRefs.test.mjs +0 -88
  792. package/src/utils/markdownFileRefs.ts +0 -140
  793. package/src/utils/office-excel.ts +0 -452
  794. package/src/utils/shiki.ts +0 -156
@@ -1,149 +0,0 @@
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
- /** story 文件同样只看生效代码:两处注释都在复述「原来写的是 picsum 外链」,不剥会被当违规。 */
7
- const stripComments = (text) => text.replace(/\/\*[\s\S]*?\*\//g, "").replace(/^\s*\/\/.*$/gm, "")
8
- const stories = stripComments(await readFile(new URL("./DesktopLoginView.stories.tsx", import.meta.url), "utf8"))
9
- const screenStories = stripComments(
10
- await readFile(new URL("../../../../screens/Login.stories.tsx", import.meta.url), "utf8"),
11
- )
12
- /** 登录样式已 colocate 到组件旁(L2 治理,见 DesktopLoginView.css 头注释)——
13
- * 整个文件就是断言段,不再依赖 surface 表的段横幅(横幅已被并行重排移除)。 */
14
- const loginSegment = await readFile(new URL("./DesktopLoginView.css", import.meta.url), "utf8")
15
-
16
- /** 同一段去掉注释后的纯规则文本——负向断言只看真正生效的声明,不看解释性注释。 */
17
- const loginRules = loginSegment.replace(/\/\*[\s\S]*?\*\//g, "")
18
-
19
- /** 段内文本压成单空格单行——biome 的 CSS 格式化把声明各居一行,
20
- * 正向断言按单空格断句写,先压平再匹配。 */
21
- const flatLogin = loginSegment.replace(/\s+/g, " ")
22
-
23
- // 裁决 7「登录页相关的用研发的吧」:P6-1 的 --ow-stage-* 平涂舞台版作废,KV 摄影板装回。
24
- // 本组断言整组翻向——原来断的是「禁背景图禁渐变」,现在断的是「三层到位 + 兜底不是渐变」。
25
- test("登录 KV 板=摄影图 + 黑渐变遮罩 + 宣传语三层(裁决 7)", () => {
26
- // CSS:三族回位
27
- assert.match(flatLogin, /\.login-bg \{[^}]*position: absolute; inset: 0; z-index: 0/)
28
- assert.match(flatLogin, /\.login-bg img \{[^}]*object-fit: cover/)
29
- assert.match(
30
- flatLogin,
31
- /\.login-kv-scrim \{[^}]*linear-gradient\(to bottom, rgba\(0, 0, 0, 0\.1\) 0%, rgba\(0, 0, 0, 0\.4\) 60%, rgba\(0, 0, 0, 0\.7\) 100%\)/,
32
- )
33
-
34
- // TSX:三层 DOM + onError 兜底通路
35
- assert.match(source, /const \[backgroundFailed, setBackgroundFailed\] = useState\(false\)/)
36
- assert.match(source, /className=\{`owshell login-v2 login-split\$\{showBackground \? "" : " fallback"\}`\}/)
37
- assert.match(source, /className="login-bg"/)
38
- assert.match(source, /onError=\{\(\) => setBackgroundFailed\(true\)\}/)
39
- assert.match(source, /className="login-kv-scrim"/)
40
- // backgroundSrc 重新生效:不再是 @deprecated 的兼容空入参
41
- assert.doesNotMatch(source, /@deprecated[\s\S]{0,200}backgroundSrc\?: string/)
42
- })
43
-
44
- test("KV 兜底是 --ow-navy 平涂,不是蓝紫渐变;舞台 token 已退出登录段", () => {
45
- assert.match(flatLogin, /\.login-v2\.fallback \.login-bg \{ background: var\(--ow-navy\); \}/)
46
- assert.match(flatLogin, /\.login-v2 \{[^}]*background: var\(--ow-navy\)/)
47
- assert.match(flatLogin, /\.login-kv-board \{[^}]*background: var\(--ow-navy\)/)
48
- assert.match(flatLogin, /\.login-slogan \{[^}]*color: var\(--ow-white\)/)
49
-
50
- // V1 的品牌外配色渐变兜底不随回退复活
51
- assert.doesNotMatch(loginRules, /#27C2FF|#5029FF|#20203A/)
52
- // 随主题翻转的 UI token 不得当 KV 底(浅 navy/暗 graphite)
53
- assert.doesNotMatch(loginRules, /--ow-bg-surface-dark/)
54
- // 平涂舞台版作废后,--ow-stage-* 在本段应当一个落点都不剩
55
- assert.doesNotMatch(loginRules, /--ow-stage-/)
56
- // 唯一一处 linear-gradient 就是 scrim(§5 具名例外),别处不得再有
57
- assert.equal((loginRules.match(/linear-gradient\(/g) ?? []).length, 1)
58
- })
59
-
60
- test("KV 图走本地 fixture,不走公网外链(离线/CI 下也能验出照片+遮罩)", () => {
61
- assert.doesNotMatch(stories, /picsum\.photos/)
62
- assert.match(stories, /const loginKv = "\/fixtures\/login_kv\.jpeg"/)
63
- // Screens/Login 每个渲染 KV 板的 story 都要带图,否则整屏一路掉 fallback
64
- assert.match(screenStories, /const loginKv = "\/fixtures\/login_kv\.jpeg"/)
65
- assert.ok(
66
- (screenStories.match(/backgroundSrc=\{loginKv\}/g) ?? []).length >= 3,
67
- "三态(及新增 story)都应传本地 fixture KV 图",
68
- )
69
- })
70
-
71
- test("login-mark 按 Mark 光学框 0.617 比例定高(aspect-ratio,不写非整数 px)", () => {
72
- // 光学框 73.4×45.3(比 0.617);方框会把标志缩到框内留白。
73
- // R2:原先写死 height: 28.4px —— 反算出来的非整数字面量,不在任何度量档上;
74
- // 改由光学框本身的 aspect-ratio 定高,渲染结果与 OrbitworkMark size=46 一致。
75
- assert.match(flatLogin, /\.login-mark \{[^}]*width: 46px; aspect-ratio: 73\.4 \/ 45\.3/)
76
- assert.doesNotMatch(loginSegment, /\.login-mark \{[^}]*height: 28\.4px/)
77
- // 同一个 40px 底距不再在 .login-split .login-mark 里重写一遍
78
- assert.doesNotMatch(loginSegment, /\.login-split \.login-mark \{/)
79
- assert.match(source, /<OrbitworkMark variant="auto" size=\{46\}/)
80
- })
81
-
82
- test("主行动钮走 Button primary,错误走 InlineMessage;浏览器登录已整族删除", () => {
83
- assert.match(source, /import \{ InlineMessage \}/)
84
- assert.match(source, /variant="primary"\s+size="lg"/)
85
- assert.match(source, /<InlineMessage\s+variant="error"/)
86
- assert.match(source, /<InlineMessage\s+variant="error"\s+tone="outline"/)
87
- // QR 失败态(expired/error)已改为 QR 上的实心覆盖层:提示一行+错误小字+主钮,
88
- // 不再出 outline 横幅;tone="outline" 现只剩欢迎面密码表单错误行一处落点。
89
- assert.match(source, /className="qr-veil failed"/)
90
- assert.match(source, /role="alert"/)
91
- assert.match(source, /二维码过期/)
92
- const uncommentedFailed = stripComments(source)
93
- assert.doesNotMatch(uncommentedFailed, /登录已超时|重新发起一次登录|这次没登上/)
94
- assert.match(flatLogin, /\.qr-veil\.failed \{ background: var\(--ow-bg\); backdrop-filter: none; padding: 0 24px; \}/)
95
- // 自搓 CTA 已退役:不再有 .login-cta 类与其规则
96
- assert.doesNotMatch(source, /login-cta/)
97
- assert.doesNotMatch(loginRules, /\.login-cta/)
98
- // 公司账户浏览器登录(onStartLogin / requesting-auth stage)是内嵌 QR 方案下的
99
- // 冗余废状态,已从底盘整族删除:props、stage、欢迎面主钮、表单分隔行一并清除。
100
- // 负向断言剥注释:组件 doc 里保留了这两个名字作删除记录,不应算违规。
101
- const uncommented = stripComments(source)
102
- assert.doesNotMatch(uncommented, /onStartLogin|requesting-auth/)
103
- assert.doesNotMatch(uncommented, /使用公司账户登录|正在打开登录页|或使用账号密码/)
104
- })
105
-
106
- test("登录段控件补齐 §6 状态:focus-visible 到位,禁用不用统一透明度", () => {
107
- assert.match(flatLogin, /\.lk \{[^}]*color: var\(--ow-link\)/)
108
- assert.match(flatLogin, /\.lk:focus-visible \{[^}]*outline: var\(--ow-focus-ring-w\) solid var\(--ow-focus-ring\)/)
109
- assert.match(flatLogin, /\.login-qr__head \.back:focus-visible \{[^}]*var\(--ow-focus-ring\)/)
110
- assert.match(flatLogin, /\.login-qr__head \.back:disabled \{[^}]*var\(--ow-disabled-text\)/)
111
- assert.doesNotMatch(loginRules, /\.back:disabled \{[^}]*opacity/)
112
- })
113
-
114
- // ── W5 终扫 ──────────────────────────────────────────────────────────────
115
- test("§7 图标:手搓件退役,归口 composite/Icons;QR 面渲染主进程编码的真图", () => {
116
- assert.match(
117
- source,
118
- /import \{ ChevLeft, DingTalk, Feishu, Globe, WeCom \} from "\.\.\/\.\.\/\.\.\/composite\/Icons"/,
119
- )
120
- assert.doesNotMatch(source, /function (?:BackIcon|CheckIcon)\(/)
121
- assert.doesNotMatch(source, /<Check \/>/)
122
- // 手搓假 QR(QrCode,固定 seed 的装饰品)与 QrIcon 随真内嵌 QR 退役:
123
- // QR 面改渲染主进程用 qrcode 包编码的 PNG data URL(<img className="qr-img">),
124
- // 钉钉/飞书/企业微信入口走 composite/Icons 的品牌件 providerBrandIcon 映射。
125
- assert.doesNotMatch(source, /function (?:QrCode|QrIcon)\(/)
126
- assert.match(source, /<img className="qr-img" src=\{qr\.src\}/)
127
- assert.match(source, /function providerBrandIcon\(/)
128
- // kind 契约映射:主进程把 protojson 的名字/数字两种线格式归一成枚举名,
129
- // 组件按枚举名分派;UNSPECIFIED/未来值回落 Globe 通用件,入口不再隐藏:
130
- assert.match(source, /case "IDENTITY_PROVIDER_KIND_DINGTALK": return DingTalk/)
131
- assert.match(source, /case "IDENTITY_PROVIDER_KIND_FEISHU": return Feishu/)
132
- assert.match(source, /case "IDENTITY_PROVIDER_KIND_WECOM": return WeCom/)
133
- assert.match(source, /default: return Globe/)
134
- // 未知 kind 的通用入口:Globe 标+displayName 文本,不再隐藏连接。
135
- assert.match(source, /login-provider--generic/)
136
- assert.match(source, /Icon === Globe \? <span>\{provider\.displayName\}<\/span>/)
137
- })
138
-
139
- test("§9 动效:登录段无 pop-in 缩放位移;成功屏无勾章,.okc 族已整族移除", () => {
140
- assert.doesNotMatch(loginRules, /animation: pop-in/)
141
- assert.doesNotMatch(loginRules, /\.okc/)
142
- })
143
-
144
- test("§7 字号:登录段字号全部落 --ow-fs-* 阶,无 13.5 / 11.5 半档裸值", () => {
145
- assert.doesNotMatch(loginRules, /font-size: 1[0-9](?:\.[0-9]+)?px/)
146
- assert.match(flatLogin, /\.login-sub \{ font: 400 var\(--ow-fs-ui\)/)
147
- assert.match(flatLogin, /\.login-foot \{ font: 400 var\(--ow-fs-body-sm\)/)
148
- assert.match(flatLogin, /\.qr-hint \.r \{ font: 400 var\(--ow-fs-ui\)/)
149
- })
@@ -1,418 +0,0 @@
1
- "use client"
2
-
3
- import { useState } from "react"
4
- import "./DesktopLoginView.css"
5
- import { BeaconSpinner } from "../../../composite/BeaconSpinner"
6
- import { ChevLeft, DingTalk, Feishu, Globe, WeCom } from "../../../composite/Icons"
7
- import { OrbitworkMark } from "../../../composite/OrbitworkLogo"
8
- import { Button } from "../../../primitives"
9
- import { Field } from "../../../primitives/Field"
10
- import { InlineMessage } from "../../../primitives/InlineMessage"
11
- import { Spinner } from "../../../primitives/Spinner"
12
-
13
- export type DesktopLoginStage = "welcome" | "qr" | "waiting-confirmation" | "mfa" | "success" | "expired" | "error"
14
-
15
- /** 联邦连接(钉钉/飞书/企业微信),由宿主经 Identity identity-providers 发现。 */
16
- export interface LoginProviderOption {
17
- id: string
18
- displayName: string
19
- /**
20
- * 契约 IdentityProviderKind(identity.authentication.v1)的归一化枚举名——
21
- * 主进程已把 protojson 的名字/数字两种线格式统一成枚举名,UI 只认枚举名;
22
- * UNSPECIFIED/未来值由 providerBrandIcon 回落 Globe 通用入口。
23
- */
24
- kind?: LoginProviderKind
25
- }
26
-
27
- /** 契约 kind 枚举名(与 packages/services 生成类型同一份字符串联合,本包自持副本)。 */
28
- export type LoginProviderKind =
29
- | "IDENTITY_PROVIDER_KIND_UNSPECIFIED"
30
- | "IDENTITY_PROVIDER_KIND_DINGTALK"
31
- | "IDENTITY_PROVIDER_KIND_FEISHU"
32
- | "IDENTITY_PROVIDER_KIND_WECOM"
33
-
34
- /** 正在展示的扫码登录 QR:src 是主进程编码好的 PNG data URL。 */
35
- export interface DesktopLoginQr {
36
- providerId: string
37
- providerName: string
38
- src: string
39
- }
40
-
41
- export interface DesktopLoginViewProps {
42
- stage: DesktopLoginStage
43
- /**
44
- * 左 KV 板的摄影背景图 URL(宿主传 `rendererAsset("login_kv.jpeg")`)。
45
- * 图上压一层 `.login-kv-scrim` 黑渐变保宣传语可读性;`onError` 触发兜底——
46
- * 根节点加 `fallback` 类,KV 板换成品牌藏蓝 `--ow-navy` 平涂(不是渐变)。
47
- * 不传等同于兜底。裁决 7:登录页采研发的照片版,不走 --ow-stage-* 平涂舞台。
48
- */
49
- backgroundSrc?: string
50
- /**
51
- * 自带标志图 URL。缺省用包内 OrbitworkMark(variant="auto",随 data-theme 走
52
- * 品牌四色制两档)——外部图是单档固定色,暗档下不会跟随,能不传就不传。
53
- */
54
- markSrc?: string
55
- /**
56
- * KV 板两行宣传语(品牌定制/白标场景)。缺省回落到导出的
57
- * DESKTOP_LOGIN_CLAIM / DESKTOP_LOGIN_CLAIM_NOTE 常量。
58
- */
59
- claim?: string
60
- claimNote?: string
61
- /** 品牌名:驱动欢迎标题「欢迎使用 {brandName}」与底部读数「{brandName} · {appVersion}」;
62
- * 缺省 "Orbitwork"。标志的 alt/label 也随它走。 */
63
- brandName?: string
64
- expiresText?: string
65
- error?: string | null
66
- appVersion?: string
67
- onBack: () => void
68
- /**
69
- * 密码登录(Identity signInWithPassword),欢迎面的主路径表单;
70
- * 提交由宿主走 IPC,loading 用 passwordSubmitting。
71
- */
72
- onPasswordLogin?: (identifier: string, password: string) => void
73
- passwordSubmitting?: boolean
74
- /**
75
- * 三方 IM 扫码登录(钉钉/飞书/企业微信):联邦连接由宿主经 Identity
76
- * identity-providers 发现后传入,欢迎面在密码表单下方渲染品牌按钮行;
77
- * 点击后经 onQrLogin 走 `auth:begin-qr-login`,QR 图经 `qr` 传回展示。
78
- */
79
- providers?: LoginProviderOption[]
80
- onQrLogin?: (connectionId: string) => void
81
- /** 正在发起 QR 登录的 connectionId(按钮 loading);无活动请求时为 null。 */
82
- qrRequesting?: string | null
83
- /** 当前展示的 QR:src 是主进程编码好的 PNG data URL(stage 为 qr 系时渲染)。 */
84
- qr?: DesktopLoginQr | null
85
- /**
86
- * MFA 续接:密码登录返回 secondFactor 后宿主把 stage 切到 "mfa",
87
- * 用户输入验证码/恢复码后通过 onCompleteMfa 提交。
88
- */
89
- onCompleteMfa?: (code: string) => void
90
- mfaSubmitting?: boolean
91
- }
92
-
93
- /**
94
- * Desktop 登录页的完整受控视图。认证、轮询和导航仍由宿主负责。
95
- *
96
- * 版面=左 KV 摄影板 + 右表单 rail:
97
- * - KV 板走 `backgroundSrc` 摄影图 + `.login-kv-scrim` 黑渐变遮罩 + 两行宣传语
98
- * (裁决 7「登录页相关的用研发的吧」:P6-1 的 --ow-stage-* 平涂舞台版作废)。
99
- * 遮罩是 §5「无渐变」的具名例外——它压的是照片不是 UI 面,登记在
100
- * scripts/ds2-allowlist.json 的 gradient 键;图挂了走 `fallback`,兜底是品牌
101
- * 藏蓝 --ow-navy 平涂(不是 V1 那道 #27C2FF→#5029FF 蓝紫渐变)。
102
- * - rail 是普通 UI 面(--ow-bg),密码表单错误行走 InlineMessage,样式段在
103
- * styles/desktop-surfaces.css 的 LOGIN FLOW 段。
104
- * QR 失败态(expired/error)的提示与「重新登录」收在 QR 上的实心覆盖层
105
- * (.qr-veil.failed):主文案一行+可选错误小字+主钮,覆盖层实心遮罩不洇边框。
106
- *
107
- * 现行登录路径=账号密码表单(主)+ 三方 IM 扫码(钉钉/飞书/企业微信,裸品牌图标
108
- * 点击件)。公司账户浏览器登录(onStartLogin / requesting-auth)已整族删除:
109
- * 内嵌 QR 方案下该路径是冗余废状态(docs/integration/desktop-qr-signin.md)。
110
- *
111
- * 荧黄记账(R2 裁决改写,原写的「全屏唯一一处」在暗档不成立):本屏暗档有两处荧黄,
112
- * 两处都合法、分属两类——
113
- * - **行动极 ×1 = 失败态「重新登录」钮**(`Button variant="primary"`,暗档
114
- * --ow-btn-primary-bg = #FFD23E)。欢迎面主路径是 secondary「登录」钮,不占行动极;
115
- * §4 配额用在这里。
116
- * - **品牌标志**:欢迎面 `OrbitworkMark` 的卫星点。标志是 §12 锁定件本体,
117
- * 荧黄是它的构成而非某一极的落点,**不计入三极配额**(同 OrbitworkLogo / BeaconIcons
118
- * 在 ds2-allowlist 里的 yellow 豁免口径)。
119
- * KV 板不另放标志——同屏两枚标志会重复品牌记号。
120
- * 状态极、位置极本屏 0 处。
121
- */
122
- /**
123
- * 登录 KV 板的两行宣传语——**全仓唯一出处**。
124
- * R2 复审前它在 DesktopLoginView 的 JSX 与 DesktopLoginChassis 的 props 默认值里各写一份,
125
- * 两份分头漂移;现由本处导出(Chassis 已随裁决 7 整件删除,本处仍是唯一出处)。
126
- */
127
- export const DESKTOP_LOGIN_CLAIM = "智能工作,从登录开始"
128
- export const DESKTOP_LOGIN_CLAIM_NOTE = "连接你的团队与 AI 助手"
129
-
130
- export function DesktopLoginView({
131
- markSrc,
132
- stage,
133
- backgroundSrc,
134
- claim = DESKTOP_LOGIN_CLAIM,
135
- claimNote = DESKTOP_LOGIN_CLAIM_NOTE,
136
- brandName = "Orbitwork",
137
- expiresText = "",
138
- error,
139
- appVersion = "v0.1.0",
140
- onBack,
141
- onPasswordLogin,
142
- passwordSubmitting = false,
143
- providers = [],
144
- onQrLogin,
145
- qrRequesting = null,
146
- qr = null,
147
- onCompleteMfa,
148
- mfaSubmitting = false,
149
- }: DesktopLoginViewProps) {
150
- const [backgroundFailed, setBackgroundFailed] = useState(false)
151
- const [identifier, setIdentifier] = useState("")
152
- const [password, setPassword] = useState("")
153
- const [mfaCode, setMfaCode] = useState("")
154
- const showBackground = Boolean(backgroundSrc) && !backgroundFailed
155
- const isQr = stage !== "welcome"
156
- const qrBoxClass = stage === "waiting-confirmation" ? "scanned" : stage === "expired" ? "error" : stage
157
- const canGoBack = stage === "qr" || stage === "expired" || stage === "error" || stage === "mfa"
158
- const failed = stage === "expired" || stage === "error"
159
- const passwordEnabled = Boolean(onPasswordLogin)
160
- const canSubmitPassword = identifier.trim().length > 0 && password.length > 0 && !passwordSubmitting
161
- const visibleProviders = providers.map((provider) => ({ provider, Icon: providerBrandIcon(provider.kind) }))
162
- const providersEnabled = Boolean(onQrLogin) && visibleProviders.length > 0
163
-
164
- const submitPassword = () => {
165
- if (!canSubmitPassword) return
166
- onPasswordLogin?.(identifier.trim(), password)
167
- }
168
-
169
- const submitMfa = () => {
170
- if (!onCompleteMfa || mfaCode.trim().length === 0 || mfaSubmitting) return
171
- onCompleteMfa(mfaCode.trim())
172
- }
173
-
174
- // 失败态「重新登录」:重发当前连接的 QR(failed 只可能从 QR 流程到达)。
175
- const retryLogin = () => {
176
- if (qr) onQrLogin?.(qr.providerId)
177
- }
178
-
179
- return (
180
- <div className={`owshell login-v2 login-split${showBackground ? "" : " fallback"}`}>
181
- {/* 左侧:KV 摄影板(图 → 黑渐变遮罩 → 宣传语 三层;图挂了 fallback 换藏蓝平涂) */}
182
- <div className="login-kv-board">
183
- <div className="login-bg">
184
- {backgroundSrc ? <img src={backgroundSrc} alt="" onError={() => setBackgroundFailed(true)} /> : null}
185
- </div>
186
- <div className="login-kv-scrim" />
187
- <div className="login-slogan">
188
- <div className="slogan-line">{claim}</div>
189
- <div className="slogan-note">{claimNote}</div>
190
- </div>
191
- </div>
192
-
193
- {/* 右侧:登录表单区 */}
194
- <div className="login-rail">
195
- <div className="login-content">
196
- {!isQr ? (
197
- <div className="login-pane login-welcome">
198
- {markSrc ? (
199
- <img src={markSrc} alt={brandName} className="login-mark" />
200
- ) : (
201
- <OrbitworkMark variant="auto" size={46} label={brandName} className="login-mark" />
202
- )}
203
- <div className="login-h1">欢迎使用 {brandName}</div>
204
- {passwordEnabled ? (
205
- <form
206
- className="login-password"
207
- onSubmit={(event) => {
208
- event.preventDefault()
209
- submitPassword()
210
- }}
211
- >
212
- {error && stage === "welcome" ? (
213
- <InlineMessage variant="error" tone="outline" className="text-left">
214
- {error}
215
- </InlineMessage>
216
- ) : null}
217
- <Field
218
- value={identifier}
219
- onChange={setIdentifier}
220
- placeholder="用户名 / 邮箱 / 手机号"
221
- autoComplete="username"
222
- />
223
- <Field
224
- type="password"
225
- value={password}
226
- onChange={setPassword}
227
- placeholder="密码"
228
- autoComplete="current-password"
229
- />
230
- <Button
231
- variant="primary"
232
- size="lg"
233
- className="w-full"
234
- type="submit"
235
- disabled={!canSubmitPassword}
236
- loading={passwordSubmitting}
237
- >
238
- 登录
239
- </Button>
240
- </form>
241
- ) : null}
242
- {providersEnabled ? (
243
- <div className="login-providers">
244
- <div className="login-divider">
245
- <span />
246
- 其他登录方式
247
- <span />
248
- </div>
249
- {/* 品牌图标按契约 kind 映射(dingtalk/feishu/wecom → 品牌件),
250
- 未知 kind 不渲染该入口——连接列表以后端 identity-providers
251
- 为准,不硬编码三家。裸图标点击件:品牌标自足辨识,不套按钮
252
- 边框底(hover/focus 态在本 CSS 的 .login-provider 一族),
253
- 可访问名取 displayName;发起中换小转子。 */}
254
- <div className="login-provider-row">
255
- {visibleProviders.map(({ provider, Icon }) => {
256
- const loading = qrRequesting === provider.id
257
- return (
258
- <button
259
- key={provider.id}
260
- type="button"
261
- className={`login-provider${Icon === Globe ? " login-provider--generic" : ""}`}
262
- disabled={loading}
263
- aria-label={`使用${provider.displayName}扫码登录`}
264
- aria-busy={loading || undefined}
265
- onClick={() => onQrLogin?.(provider.id)}
266
- >
267
- {loading ? <Spinner className="w-5 h-5" /> : <Icon />}
268
- {Icon === Globe ? <span>{provider.displayName}</span> : null}
269
- </button>
270
- )
271
- })}
272
- </div>
273
- </div>
274
- ) : null}
275
- <div className="login-foot">
276
- 登录即代表同意{" "}
277
- <Button variant="unstyled" className="lk">
278
- 服务条款
279
- </Button>{" "}
280
- 与{" "}
281
- <Button variant="unstyled" className="lk">
282
- 隐私政策
283
- </Button>
284
-
285
- </div>
286
- </div>
287
- ) : stage === "mfa" ? (
288
- <form
289
- className="login-pane login-mfa"
290
- onSubmit={(event) => {
291
- event.preventDefault()
292
- submitMfa()
293
- }}
294
- >
295
- <div className="login-qr__head">
296
- <Button variant="unstyled" className="back" onClick={onBack} disabled={!canGoBack}>
297
- <ChevLeft />
298
- 返回
299
- </Button>
300
- <div className="t">二次验证</div>
301
- <span style={{ width: 52 }} />
302
- </div>
303
- <div className="login-h1">输入验证码</div>
304
- <div className="login-sub">该账号开启了二次验证,请输入验证器验证码或恢复码。</div>
305
- {error ? (
306
- <InlineMessage variant="error" tone="outline" className="text-left">
307
- {error}
308
- </InlineMessage>
309
- ) : null}
310
- <Field
311
- value={mfaCode}
312
- onChange={setMfaCode}
313
- placeholder="6 位验证码或恢复码"
314
- autoComplete="one-time-code"
315
- />
316
- <Button
317
- variant="primary"
318
- size="lg"
319
- className="mt-2 w-full"
320
- type="submit"
321
- disabled={mfaCode.trim().length === 0}
322
- loading={mfaSubmitting}
323
- >
324
- 验证并登录
325
- </Button>
326
- </form>
327
- ) : stage === "success" ? (
328
- /* 密码/MFA 登录成功后的过渡屏:独立面板,不复用 QR 布局——
329
- 旧实现把 success 落在 QR 分支里,密码登录会闪一屏「扫码登录」。 */
330
- <div className="login-pane login-welcome">
331
- {markSrc ? (
332
- <img src={markSrc} alt={brandName} className="login-mark" />
333
- ) : (
334
- <OrbitworkMark variant="auto" size={46} label={brandName} className="login-mark" />
335
- )}
336
- <div className="login-h1">登录成功</div>
337
- <div className="login-sub">正在为你准备工作区…</div>
338
- </div>
339
- ) : (
340
- <div className="login-pane login-qr">
341
- <div className="login-qr__head">
342
- <Button variant="unstyled" className="back" onClick={onBack} disabled={!canGoBack}>
343
- <ChevLeft />
344
- 返回
345
- </Button>
346
- <div className="t">{qr ? `${qr.providerName}扫码登录` : "扫码登录"}</div>
347
- <span style={{ width: 52 }} />
348
- </div>
349
-
350
- <div className={`qr-box ${qrBoxClass}`}>
351
- {/* 真 QR:主进程把 Identity 下发的 QR 内容编码成 PNG data URL。
352
- 光学件保持恒白底高对比,img 不做主题翻转。 */}
353
- {qr ? <img className="qr-img" src={qr.src} alt={`${qr.providerName}登录二维码`} /> : null}
354
- {stage === "waiting-confirmation" && (
355
- <div className="qr-veil">
356
- {/* §9 旋转圈退役:26px 手搓自转圆环 → 锁定件 BeaconSpinner size=26
357
- (≥20px 出完整信标,卫星=--ow-beacon)。遮罩期它是本屏唯一
358
- 「正亮着的事」,占状态极·限一处;下面 .msg 出文字编码(§4 R1)。 */}
359
- <BeaconSpinner size={26} aria-label="等待确认" />
360
- <div className="msg">等待确认</div>
361
- <div className="sub">请在手机上完成确认,完成后将自动进入 {brandName}</div>
362
- </div>
363
- )}
364
- {/* 失效/失败:提示+重试都收进 QR 上的实心覆盖层(.failed)——
365
- 主文案一行(§6 人话一句),error 态附错误原因小字,「重新登录」
366
- 是本屏唯一行动极(§4);实心遮罩不再与 1px 边互相洇染。 */}
367
- {failed && (
368
- <div className="qr-veil failed" role="alert">
369
- <div className="msg">{stage === "expired" ? "二维码过期" : "登录失败"}</div>
370
- {stage === "error" && error ? <div className="sub">{error}</div> : null}
371
- <Button variant="primary" size="lg" className="w-full" onClick={retryLogin}>
372
- 重新登录
373
- </Button>
374
- </div>
375
- )}
376
- </div>
377
-
378
- <div className="qr-hint">
379
- {stage === "qr" && (
380
- <>
381
- <div className="r">
382
- 请使用 <b>{qr?.providerName ?? "手机应用"}</b> 扫码登录
383
- </div>
384
- <div className="r sub">{expiresText ? `二维码有效期至 ${expiresText}` : "二维码有效期 3 分钟"}</div>
385
- </>
386
- )}
387
- {stage === "waiting-confirmation" && (
388
- <>
389
- <div className="r">等待登录确认</div>
390
- <div className="r sub">完成后将自动进入协作中心</div>
391
- </>
392
- )}
393
- {/* 失败态文案与重试已收进 QR 上的覆盖层,qr-hint 不再重复出横幅。 */}
394
- </div>
395
- </div>
396
- )}
397
- </div>
398
-
399
- {/* Footer */}
400
- <div className="login-rail-foot">
401
- <div className="login-tag">
402
- {brandName} · {appVersion}
403
- </div>
404
- </div>
405
- </div>
406
- </div>
407
- )
408
- }
409
-
410
- // Unknown categories use a generic entry instead of hiding a usable connection.
411
- function providerBrandIcon(kind: LoginProviderOption['kind']) {
412
- switch (kind) {
413
- case "IDENTITY_PROVIDER_KIND_DINGTALK": return DingTalk
414
- case "IDENTITY_PROVIDER_KIND_FEISHU": return Feishu
415
- case "IDENTITY_PROVIDER_KIND_WECOM": return WeCom
416
- default: return Globe
417
- }
418
- }
@@ -1,103 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react"
2
- import { DesktopOnboardingTourView } from "./index"
3
-
4
- /**
5
- * DesktopOnboardingTourView — 首启引导(原型 template.dc.html 2975–2999,文案 3295–3301)。
6
- *
7
- * 受控件:`steps` / `index` / `anchorRect` 由调用方给。这里用**固定** anchorRect 喂,
8
- * 不依赖真锚点——件级 story 要能单独复现几何。
9
- */
10
- const meta = {
11
- title: "Desktop/DesktopOnboardingTourView",
12
- component: DesktopOnboardingTourView,
13
- parameters: { layout: "fullscreen" },
14
- } satisfies Meta<typeof DesktopOnboardingTourView>
15
-
16
- export default meta
17
- type Story = StoryObj<typeof meta>
18
-
19
- /** 原型 TOUR 五步(template.dc.html 3295–3301),锚点键=件头注里的锚点契约。
20
- 不 export——CSF 会把 stories 文件里的每个具名导出当成一张 story。 */
21
- const TOUR_STEPS = [
22
- {
23
- id: "new-task",
24
- title: "从这里开始一件事",
25
- body: "每次新任务都是一段新会话;上面那排胶囊会把要用的专家、技能与连接器一起挂上。",
26
- },
27
- { id: "projects", title: "会话按项目收纳", body: "同一件事的多轮对话留在一个项目里;正在跑的那条行尾有一颗点。" },
28
- { id: "plugins", title: "插件在这里安装", body: "专家、技能、连接器三段,装过的才会出现在输入框的 / 与 @ 里。" },
29
- {
30
- id: "workbench",
31
- title: "产物都落在工作台",
32
- body: "会话里做出来的站点、图片、文档先是草稿,满意了再发布成可分享的链接。",
33
- },
34
- { id: "composer", title: "这里可以边说边挂", body: "/ 调技能与指令,@ 引连接器;⏎ 发送、⇧⏎ 换行。" },
35
- ]
36
-
37
- const noop = () => {}
38
-
39
- function Stage({ index, rect }: { index: number; rect: { left: number; top: number; width: number; height: number } }) {
40
- return (
41
- <div style={{ position: "relative", width: "100%", height: 620, background: "var(--ow-bg)" }}>
42
- {/* 锚点替身:真机是侧栏导航项 / 输入框,这里画一个同尺寸的方块让环有东西可框。 */}
43
- <div
44
- style={{
45
- position: "absolute",
46
- left: rect.left,
47
- top: rect.top,
48
- width: rect.width,
49
- height: rect.height,
50
- borderRadius: "var(--ow-radius-sm)",
51
- background: "var(--ow-surface-2)",
52
- }}
53
- />
54
- <DesktopOnboardingTourView
55
- steps={TOUR_STEPS}
56
- index={index}
57
- anchorRect={rect}
58
- position="absolute"
59
- onNext={noop}
60
- onPrev={noop}
61
- onSkip={noop}
62
- onDone={noop}
63
- />
64
- </div>
65
- )
66
- }
67
-
68
- /** 第 1 步:没有「上一步」,主钮「下一步」。 */
69
- export const FirstStep: Story = {
70
- args: { steps: TOUR_STEPS, index: 0, onNext: noop, onSkip: noop },
71
- render: () => <Stage index={0} rect={{ left: 16, top: 56, width: 240, height: 32 }} />,
72
- }
73
-
74
- /** 中间步:三钮齐(跳过 / 上一步 / 下一步)。 */
75
- export const MiddleStep: Story = {
76
- args: { steps: TOUR_STEPS, index: 2, onNext: noop, onSkip: noop },
77
- render: () => <Stage index={2} rect={{ left: 16, top: 152, width: 240, height: 32 }} />,
78
- }
79
-
80
- /** 末步:主钮换「开始使用」,锚点在输入框——气泡纵向翻到锚点上方。 */
81
- export const LastStep: Story = {
82
- args: { steps: TOUR_STEPS, index: 4, onNext: noop, onSkip: noop },
83
- render: () => <Stage index={4} rect={{ left: 320, top: 520, width: 560, height: 64 }} />,
84
- }
85
-
86
- /** 量不到锚点时(宿主那一步的锚点没渲染):环不出,气泡居中。 */
87
- export const WithoutAnchor: Story = {
88
- args: { steps: TOUR_STEPS, index: 1, onNext: noop, onSkip: noop },
89
- render: () => (
90
- <div style={{ position: "relative", width: "100%", height: 620, background: "var(--ow-bg)" }}>
91
- <DesktopOnboardingTourView
92
- steps={TOUR_STEPS}
93
- index={1}
94
- anchorRect={null}
95
- position="absolute"
96
- onNext={noop}
97
- onPrev={noop}
98
- onSkip={noop}
99
- onDone={noop}
100
- />
101
- </div>
102
- ),
103
- }