@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,198 +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
- const styles = await readFile(new URL("../../../../../styles/desktop-surfaces.css", import.meta.url), "utf8")
7
-
8
- test("sites page primary action matches the scheduled tasks action size", () => {
9
- assert.match(
10
- source,
11
- /<Button variant=["']primary["'] icon=\{<Plus \/>} onClick=\{onCreateSite\}>\s*新建站点\s*<\/Button>/,
12
- )
13
- assert.doesNotMatch(source, /<Button[^>]*\bonClick=\{onCreateSite\}[^>]*\bsize=["']sm["'][^>]*>/)
14
- assert.doesNotMatch(source, /<Button[^>]*\bsize=["']sm["'][^>]*\bonClick=\{onCreateSite\}[^>]*>/)
15
- })
16
-
17
- // ── A3-B3:页首归 composite/PageHead(原型 template.dc.html L1865–1903) ──────
18
-
19
- test("A3-B3:三行页头一件收,13px 小标题与 V1 彩色图标章都不复存在", () => {
20
- assert.match(source, /import \{ PageHead \} from ["']\.\.\/\.\.\/\.\.\/composite\/PageHead["']/)
21
- assert.match(source, /<PageHead\s+eyebrow="产物"\s+title="工作台"/)
22
- assert.match(source, /description="会话里产出的站点、图片与文档都在这里发布与管理。"/)
23
- assert.doesNotMatch(source, /desktop-page-head__icon/)
24
- // 13px/600 的 .sites-space__title 一族(含 __title-row / __subtitle / __toolbar / __search)整族退役
25
- assert.doesNotMatch(source, /sites-space__title/)
26
- assert.doesNotMatch(source, /sites-space__subtitle/)
27
- assert.doesNotMatch(source, /sites-space__toolbar/)
28
- assert.doesNotMatch(styles, /\.sites-space__(?:head|title|title-row|subtitle|toolbar|search) /)
29
- })
30
-
31
- test("A3-B3:载 / 错 / 常规三态共用同一个页头实例,态一换标题不再跳", () => {
32
- assert.match(source, /const head = \(\s*<PageHead/)
33
- // 三处渲染点都是 {head},不再各写一段小标题
34
- assert.equal(source.match(/^\s*\{head\}$/gm)?.length, 3)
35
- })
36
-
37
- test("A3-B3:页签=内容分段(站点/媒体库/档案馆);R2 L1-3-5 起页签行右端只剩「密集」", () => {
38
- assert.match(source, /const WORKBENCH_TABS[\s\S]*\{ key: "sites", label: "站点" \}/)
39
- assert.match(source, /\{ key: "media", label: "媒体库", disabled: true, title: "还没开放" \}/)
40
- assert.match(source, /\{ key: "archive", label: "档案馆", disabled: true, title: "还没开放" \}/)
41
- // R2 L1-3-5:原型 L1889 写死「三段都没有分类维度」,L1896–1901 那行只有页签 + 密集钮。
42
- // 「全部 / 已发布 / 草稿」这枚 Select 整枚撤(状态已由卡封面的 StatusTag 说过一遍),
43
- // 连同 FILTER_OPTIONS / SiteFilter / filter 状态一并退役——它是件内 useState,宿主无对应 prop。
44
- assert.doesNotMatch(source, /sites-space__filter/)
45
- assert.doesNotMatch(source, /FILTER_OPTIONS/)
46
- assert.doesNotMatch(source, /SiteFilter/)
47
- assert.doesNotMatch(source, /import \{ Select \}/)
48
- assert.match(source, /tabsExtra=\{\s*<>\s*\{\/\* 密集开关/)
49
- assert.doesNotMatch(source, /const FILTER_TABS/)
50
- assert.doesNotMatch(source, /import \{ Tabs \}/)
51
- })
52
-
53
- test("A3-B3:滚动体 20/28/28、列宽 340、gap 14 —— 与插件/定时任务三屏同一档", () => {
54
- assert.match(styles, /\.sites-grid \{[^}]*padding: 20px 28px 28px;[^}]*minmax\(340px, 1fr\)\);[^}]*gap: 14px;/s)
55
- })
56
-
57
- test("R2:容器错态归口 primitives/InlineMessage,手写错态块退役", () => {
58
- // 同簇 DesktopWorkspaceView 两处错态已是 InlineMessage variant="error"(人话一句 + mono 详情 + 重试);
59
- // 本页原是手写的 AlertCircle + strong + span + 重试钮,三种容器错态三套写法。
60
- assert.match(source, /<InlineMessage\n\s+variant="error"/)
61
- assert.doesNotMatch(source, /published-sites__state--error/)
62
- assert.doesNotMatch(source, /<AlertCircle \/>/)
63
- })
64
-
65
- test("site cards keep details and in-app URL preview as separate actions", () => {
66
- assert.match(source, /onViewDetails: \(site: DesktopSiteItem\) => void/)
67
- assert.match(source, /onPreviewSite: \(site: DesktopSiteItem\) => void/)
68
- assert.match(source, /<article key=\{site\.id\} className="site-card">/)
69
- // 描述位恒在,一排卡等高不靠数据凑齐
70
- assert.match(source, /<div className="site-card__desc">\{site\.description\}<\/div>/)
71
- assert.match(source, /className="site-card__open(?:\s[^"]*)?"/)
72
- assert.match(source, /data-ow-part="site-open"/)
73
- assert.match(source, /onClick=\{\(\) => onViewDetails\(site\)\}/)
74
- assert.doesNotMatch(source, /site-card__actions/)
75
- assert.doesNotMatch(source, />\s*详情\s*<\/Button>/)
76
- /* A4-B5:卡脚右下那枚 28 高动作钮接管「打开链接」(原型 L1943 / L4445:pub ? 打开链接 : 预览)。
77
- 原来这个动作挂在卡脚整宽的蓝色地址行上——地址既是读数又是按钮,还占掉两行卡脚。 */
78
- assert.match(source, /className="site-card__act"/)
79
- assert.match(source, /data-ow-part="site-act"/)
80
- assert.match(source, /\{canOpen \? "打开链接" : "预览"\}/)
81
- assert.match(source, /onClick=\{\(\) => onPreviewSite\(site\)\}/)
82
- assert.match(source, /aria-label=\{canOpen \? `在应用内预览站点 \$\{site\.name\}` : undefined\}/)
83
- assert.doesNotMatch(source, /site-card__url/)
84
- assert.doesNotMatch(source, /<button[^>]*className="site-card"/)
85
- })
86
-
87
- test("A4-B5:封面按比例给(原型产物卡 L1910),不再是写死的 150px 高", () => {
88
- assert.match(styles, /\.site-card__open\s*\{[^}]*width:\s*100%;[^}]*align-items:\s*stretch;/)
89
- /* 标准态 16:9、密集态 1:1(原型 L4425 随列宽 340→236 一起切);本批只留槽,开关排后续批次。
90
- 写死高度的卡在任何一档列宽下都会变成另一个比例。 */
91
- assert.match(styles, /\.site-card__cover\s*\{[^}]*aspect-ratio:\s*var\(--site-cover-ratio, 16 \/ 9\);/)
92
- assert.doesNotMatch(styles, /\.site-card__cover\s*\{[^}]*150px/)
93
- assert.match(styles, /\.sites-grid \{ --site-cover-ratio: 16 \/ 9;/)
94
- /* 比例封面的配套:行高不写死时 Chrome 按「最小内容贡献」给隐式行定尺,比例盒在那一趟里
95
- 按更窄的宽度折算高度(实测行高 265.6 对卡真高 335,第二排压进第一排 56px)。 */
96
- assert.match(styles, /\.sites-grid \{[^}]*grid-auto-rows: max-content;/)
97
- assert.match(
98
- styles,
99
- /\.sites-grid--dense \{ --site-cover-ratio: 1 \/ 1; grid-template-columns: repeat\(auto-fill, minmax\(236px, 1fr\)\);/,
100
- )
101
- })
102
-
103
- test("site card uses a centered cover image when cover URL is available and keeps the thumb fallback", () => {
104
- assert.match(source, /coverUrl\?: string/)
105
- assert.match(source, /site\.coverUrl \? \(/)
106
- assert.match(source, /className="site-card__cover-image"/)
107
- assert.match(source, /src=\{site\.coverUrl\}/)
108
- assert.match(source, /:\s*\(\s*<SiteThumbPreview \/>/)
109
- /* 封面是比例盒(无固定高),封面图要 absolute 填满才不塌成内容高 */
110
- assert.match(
111
- styles,
112
- /\.site-card__cover-image\s*\{[^}]*position:\s*absolute;[^}]*inset:\s*0;[^}]*width:\s*100%;[^}]*height:\s*100%;[^}]*object-fit:\s*cover;/,
113
- )
114
- })
115
-
116
- test("site card preview uses low-saturation semantic theme colors", () => {
117
- /* P6-8 渐变清剿后封面底是平色(§5 无渐变),两档同值不再要 dark 覆盖;
118
- A4-B5 底从嵌套井 --ow-surface-2 换成衬垫 --ow-mat(原型 L1910)——封面装的是
119
- 「别人的页面」,是摆在垫子上的对象,不是本页的输入井。 */
120
- const coverStyle = styles.match(/\.site-card__cover\s*\{[^}]*\}/)?.[0] ?? ""
121
- assert.match(coverStyle, /background:\s*var\(--ow-mat\);/)
122
- assert.doesNotMatch(coverStyle, /gradient/)
123
- assert.match(styles, /\.site-card__thumb\s*\{[^}]*background:\s*var\(--ow-surface\);/)
124
- assert.doesNotMatch(coverStyle, /#[0-9a-f]{3,8}/i)
125
- })
126
-
127
- test("A4-B5:缩略图是 74% 居中的三条灰杠,不占任何一极(原型 L1911–1917)", () => {
128
- /* 改前是铺满封面的浏览器窗框(导航条+首字字标+CTA+三块特性卡,九条 CSS):
129
- 垫色只剩 14px 一圈边,--ow-mat 等于白改。整族退役,只留原型的那张小示意。 */
130
- assert.doesNotMatch(styles, /\.site-card__mock/)
131
- assert.doesNotMatch(source, /SiteMockPreview|site-card__mock/)
132
- assert.match(styles, /\.site-card__thumb \{ width: 74%;[^}]*background: var\(--ow-surface\);/)
133
- /* §4:灰杠是装饰摆样,一律 --ow-text-3 按不透明度分主次;原字标吃 --ow-primary-bg、
134
- CTA 吃 --ow-primary,暗档下是黄底黄字与一条实心荧黄。 */
135
- const bar = styles.match(/\.site-card__thumb-bar \{[^}]*\}/)?.[0] ?? ""
136
- assert.match(bar, /background: var\(--ow-text-3\)/)
137
- assert.doesNotMatch(styles, /\.site-card__thumb[^{\n]*\{[^}]*var\(--ow-primary/)
138
- })
139
-
140
- test("site card readouts and status follow DS2 P6", () => {
141
- /* §7 读数:文件数 / 体积 / 版本号 / 相对时间一行 mono(原型 L1939 的卡脚左段);
142
- R1:状态角标 tint 面 + 文字。A4-B5 起状态签归 composite/StatusTag —— 原来是
143
- primitives/Badge(点形 + 另一套高度),与同屏目录卡的状态签形不同。 */
144
- assert.match(source, /<StatusTag className="site-card__status" tone=\{status\.tone\}>/)
145
- assert.doesNotMatch(source, /<Badge/)
146
- assert.match(source, /\{ label: "已上线", tone: "ok" \}/)
147
- assert.match(source, /\{ label: "草稿", tone: "mute" \}/)
148
- assert.match(styles, /\.site-card__status \{[^}]*position: absolute;[^}]*top: 10px; right: 10px;/)
149
- assert.match(styles, /\.site-card__meta \{[^}]*var\(--ow-font-mono\)[^}]*tabular-nums/)
150
- /* §4:卡上不再有蓝色地址链接——卡上唯一的可点落点是右下那枚动作钮,
151
- 地址搬到详情页头的 mono 行里(带复制)。 */
152
- assert.doesNotMatch(styles, /^\s*\.site-card__url/m)
153
- assert.doesNotMatch(styles, /^\s*\.site-card__(?:version|time|draft-hint|skel-url) /m)
154
- /* 卡 hover 禁位移(§9) */
155
- assert.doesNotMatch(styles, /\.site-card[^{\n]*\{[^}]*translateY/)
156
- })
157
-
158
- test("A4-B5:卡内两段与 A4-B2 的目录卡同表(原型 L1933–1944)", () => {
159
- /* 体 12/14/0 · 字段槽 4;名 500/14;描述 --ow-text-2 且 min-height:3em(一排卡等高的关键) */
160
- assert.match(styles, /\.site-card__body \{[^}]*gap: var\(--ow-space-1, 4px\);[^}]*padding: 12px 14px 0;/)
161
- assert.match(styles, /\.site-card__name \{[^}]*font: 500 var\(--ow-fs-body\)\/1\.3/)
162
- assert.match(styles, /\.site-card__desc \{[^}]*color: var\(--ow-text-2\);[^}]*min-height: 3em;/)
163
- /* 载态骨架与内容态同高:骨架的描述位借 .site-card__skel-desc 复现 min-height:3em
164
- (实测两态卡高同为 335;不设的话骨架矮 30) */
165
- assert.match(styles, /\.site-card__skel-desc \{[^}]*font-size: var\(--ow-fs-ui\); min-height: 3em;/)
166
- /* 卡脚一行两件:margin-top:auto 顶住卡底、gap 10、12/14 内距 */
167
- assert.match(
168
- styles,
169
- /\.site-card__footer \{ margin-top: auto; display: flex; align-items: center; gap: 10px; padding: 12px 14px; \}/,
170
- )
171
- })
172
-
173
- // ── A3-B4 密集开关(原型 L1898 + 口径 L4425) ──────────────────────────────
174
- test("A3-B4:密集开关落在页签行右端,接列宽 340↔236 与封面 16:9↔1:1", () => {
175
- // 开关本体:Button secondary sm(28 高 + 1px 边),按下态由 aria-pressed 承载,
176
- // 标签恒为「密集」——不在同一枚钮上既写当前态又写点了会变成什么。
177
- assert.match(source, /className="sites-space__dense"/)
178
- assert.match(source, /aria-pressed=\{dense\}/)
179
- assert.match(source, /icon=\{<Grid \/>\}/)
180
- // 受控优先、不受控自记(纯前端状态;是否持久化归研发)
181
- assert.match(source, /dense\?: boolean/)
182
- assert.match(source, /onDenseChange\?: \(dense: boolean\) => void/)
183
- assert.match(source, /const dense = denseProp \?\? denseState/)
184
- // 载态与内容态共用同一个网格类名,密集态两态同时生效
185
- assert.match(source, /const gridClassName = dense \? "sites-grid sites-grid--dense" : "sites-grid"/)
186
- assert.doesNotMatch(source, /className="sites-grid"/)
187
- // 按下态=--ow-current-bg 面 + 500 字重(R1 双编码,位置极语汇;不占状态极)
188
- assert.match(
189
- styles,
190
- /\.sites-space__dense\[aria-pressed="true"\] \{[^}]*background: var\(--ow-current-bg\);[^}]*font-weight: 500;/s,
191
- )
192
- // 密集态三件:列宽 236、封面 1/1、说明与主动作收掉
193
- assert.match(styles, /\.sites-grid--dense \{[^}]*--site-cover-ratio: 1 \/ 1;[^}]*minmax\(236px, 1fr\)\);/s)
194
- assert.match(
195
- styles,
196
- /\.sites-grid--dense \.site-card__desc, \.sites-grid--dense \.site-card__act \{ display: none; \}/,
197
- )
198
- })
@@ -1,417 +0,0 @@
1
- "use client"
2
-
3
- import { useLayoutEffect, useRef, useState } from "react"
4
- import { CatalogEmptyState } from "../../../composite/CatalogStates"
5
- import { Grid, Plus, Refresh } from "../../../composite/Icons"
6
- import { PageHead } from "../../../composite/PageHead"
7
- import { SearchInput } from "../../../composite/SearchInput"
8
- import { Skeleton } from "../../../composite/Skeleton"
9
- import { StatusTag, type StatusTagTone } from "../../../composite/StatusTag"
10
- import { Button } from "../../../primitives"
11
- import { InlineMessage } from "../../../primitives/InlineMessage"
12
-
13
- export interface DesktopSiteItem {
14
- id: string
15
- name: string
16
- status: string
17
- baseUrl: string
18
- coverUrl?: string
19
- version: number
20
- publishedAt?: string
21
- createdAt?: string
22
- sessionId: string
23
- description?: string
24
- /**
25
- * 卡脚 mono 元信息的两个读数(原型产物卡 L1939:「12 个文件 · 1.8 MB」)。
26
- * 站点列表 RPC 目前不带这两项(只有发布记录带),所以是可选的:拿不到就退回
27
- * 「v3 · 1 小时前」这组本来就有的读数,卡脚永远有一行、不留空。
28
- */
29
- fileCount?: number
30
- totalSizeBytes?: number
31
- }
32
-
33
- export interface DesktopSitesListViewProps {
34
- sites: DesktopSiteItem[]
35
- loading: boolean
36
- error?: string | null
37
- onCreateSite: () => void
38
- onViewDetails: (site: DesktopSiteItem) => void
39
- onPreviewSite: (site: DesktopSiteItem) => void
40
- onRetry: () => void
41
- /**
42
- * 密集态(A3-B4,原型 L1898 开关 + L4425 口径:列宽 340→236、封面 16:9→1:1、
43
- * 说明与主动作收掉)。不传=本件自己记(纯前端状态);宿主要持久化就传这一对受控属性。
44
- */
45
- dense?: boolean
46
- onDenseChange?: (dense: boolean) => void
47
- query?: string
48
- onQueryChange?: (query: string) => void
49
- onOpenShares?: () => void
50
- hasMore?: boolean
51
- onLoadMore?: () => void
52
- scrollTop?: number
53
- onScrollTopChange?: (top: number) => void
54
- }
55
-
56
- /**
57
- * A3-B3:页签位让给**内容分段**(原型 WB_TABS L3419「站点 / 媒体库 / 档案馆」),
58
- * 状态筛选从页签降级成页签行右端的一枚下拉——页签是「看哪一类产物」,
59
- * 状态是「看这一类里的哪一批」,两者不是同一个维度,不该抢同一排位置。
60
- * 媒体库与档案馆一期无数据线(研发未开发),置灰占位,鼠标悬停给一句「还没开放」;
61
- * 出而不通,是为了让「统一且固定的标题 + 页签」这套结构一眼可见。
62
- */
63
- const WORKBENCH_TABS = [
64
- { key: "sites", label: "站点" },
65
- { key: "media", label: "媒体库", disabled: true, title: "还没开放" },
66
- { key: "archive", label: "档案馆", disabled: true, title: "还没开放" },
67
- ]
68
-
69
- /**
70
- * 状态角标(原型 L4441:`pub ? '已上线' : '草稿'`,两档=success tint / 中性面)。
71
- * A4-B5 把 `primitives/Badge`(带点形、另一套高度)换成 `composite/StatusTag`——
72
- * 同屏的目录卡、详情页头用的都是这一枚 20 高 · radius-xs · 11px 的签。
73
- * 我们比原型多两档:已停用(站点还在但不对外,warn)与未知(mute)。
74
- */
75
- function statusTag(status: string): { label: string; tone: StatusTagTone } {
76
- if (status === "SITE_STATUS_ACTIVE") return { label: "已上线", tone: "ok" }
77
- if (status === "SITE_STATUS_DRAFT") return { label: "草稿", tone: "mute" }
78
- if (status === "SITE_STATUS_DISABLED") return { label: "已停用", tone: "warn" }
79
- return { label: "未知", tone: "mute" }
80
- }
81
-
82
- /** 体积读数:与发布记录表的「体积」列同一套换算,卡脚与详情页不会一个 MB 一个 M。 */
83
- function formatBytes(bytes: number): string {
84
- if (!Number.isFinite(bytes) || bytes <= 0) return "0 B"
85
- const units = ["B", "KB", "MB", "GB"]
86
- const index = Math.min(Math.floor(Math.log(bytes) / Math.log(1024)), units.length - 1)
87
- const value = bytes / 1024 ** index
88
- return `${value >= 10 || index === 0 ? value.toFixed(0) : value.toFixed(1)} ${units[index]}`
89
- }
90
-
91
- /**
92
- * 卡脚左侧那一行 mono 元信息。原型是「12 个文件 · 1.8 MB」;本页的列表数据暂时只有
93
- * 版本与时间,所以按可得性降级——两者都不会同时缺,卡脚不会空着(见 fileCount 注)。
94
- *
95
- * R2 L3-1-8:降级判据从「任一项存在就不再补版本/时间」改成「**两项都齐**才独占卡脚」。
96
- * 原来只给 fileCount 一项时,版本与时间会被整条吞掉,卡脚只剩「12 个文件」半句。
97
- */
98
- function cardMeta(site: DesktopSiteItem): string {
99
- const parts: string[] = []
100
- if (typeof site.fileCount === "number") parts.push(`${site.fileCount} 个文件`)
101
- if (typeof site.totalSizeBytes === "number") parts.push(formatBytes(site.totalSizeBytes))
102
- if (parts.length < 2) {
103
- parts.push(`v${site.version}`)
104
- const at = formatRelativeTime(site.publishedAt || site.createdAt)
105
- if (at) parts.push(at)
106
- }
107
- return parts.join(" · ")
108
- }
109
-
110
- function formatRelativeTime(value?: string): string {
111
- if (!value) return ""
112
- try {
113
- const date = new Date(value)
114
- const now = new Date()
115
- const diff = now.getTime() - date.getTime()
116
- if (diff < 60_000) return "刚刚"
117
- if (diff < 3_600_000) return `${Math.floor(diff / 60_000)} 分钟前`
118
- if (diff < 86_400_000) return `${Math.floor(diff / 3_600_000)} 小时前`
119
- if (diff < 604_800_000) return `${Math.floor(diff / 86_400_000)} 天前`
120
- return date.toLocaleDateString("zh-CN")
121
- } catch {
122
- return ""
123
- }
124
- }
125
-
126
- function isActive(site: DesktopSiteItem) {
127
- return site.status === "SITE_STATUS_ACTIVE"
128
- }
129
-
130
- /** Sites space page view — a standalone top-level page for managing published sites. */
131
- export function DesktopSitesListView({
132
- sites,
133
- loading,
134
- error,
135
- onCreateSite,
136
- onViewDetails,
137
- onPreviewSite,
138
- onRetry,
139
- dense: denseProp,
140
- onDenseChange,
141
- query: queryProp,
142
- onQueryChange,
143
- onOpenShares,
144
- hasMore = false,
145
- onLoadMore,
146
- scrollTop = 0,
147
- onScrollTopChange,
148
- }: DesktopSitesListViewProps) {
149
- const [queryState, setQueryState] = useState("")
150
- const query = queryProp ?? queryState
151
- const setQuery = (value: string) => {
152
- if (queryProp === undefined) setQueryState(value)
153
- onQueryChange?.(value)
154
- }
155
- const grid = useRef<HTMLDivElement>(null)
156
- useLayoutEffect(() => {
157
- if (grid.current) grid.current.scrollTop = scrollTop
158
- }, [scrollTop])
159
- /* 密集态:受控优先,不受控时本件自记。是否跨会话持久化归研发(写不写偏好)。 */
160
- const [denseState, setDenseState] = useState(false)
161
- const dense = denseProp ?? denseState
162
- const gridClassName = dense ? "sites-grid sites-grid--dense" : "sites-grid"
163
- const toggleDense = () => {
164
- const next = !dense
165
- if (denseProp === undefined) setDenseState(next)
166
- onDenseChange?.(next)
167
- }
168
-
169
- const keyword = query.trim().toLowerCase()
170
- /* R2 L1-3-5:页签行右端那枚「全部 ▾」状态筛选已撤(原型 L1889 的注释写死了口径——
171
- 「三段都没有分类维度」,L1896–1901 那一行里只有页签 + 弹性空档 + 一枚 26 高的「密集」)。
172
- 它给的信息卡封面右上的 StatusTag(已上线/草稿/已停用)已经说了一遍;filter 又是件内
173
- useState、宿主没有对应 prop,撤掉不动接口。要筛就并进搜索框的关键词匹配。 */
174
- let filtered = sites
175
- if (keyword && queryProp === undefined) {
176
- filtered = filtered.filter((site) =>
177
- [site.name, site.description, site.baseUrl].some((f) => f?.toLowerCase().includes(keyword)),
178
- )
179
- }
180
-
181
- /* A3-B3:三行页头一件收(原型 template.dc.html L1865–1903)。载 / 错 / 常规三态共用同一个
182
- 页头实例——原来三态各写一段「13px/600 站点」小标题,态一换标题就跳一次。
183
- · 眉标「产物」/大标题「工作台」(裁决 17:一期先把站点改名工作台,路由 id 不动);
184
- · 搜索从原来的页签行右端提到页头右上(PageHead 统一锁 216 宽);
185
- · 主钮一期保留「新建站点」(原型是「在会话里新建」,改口径要接主页技能,归研发);
186
- · 页签=内容分段(R2 L1-3-5:原来右端还有一枚状态筛选 Select,已撤——见 filtered 处注);
187
- · A3-B4:同一个槽里再落原型 L1898 那枚「密集」开关(列宽 340→236、封面 16:9→1:1、
188
- 说明与主动作收掉,规则在 `.sites-grid--dense`)。 */
189
- const head = (
190
- <PageHead
191
- eyebrow="产物"
192
- title="工作台"
193
- description="会话里产出的站点、图片与文档都在这里发布与管理。"
194
- search={<SearchInput value={query} onChange={setQuery} placeholder="搜索产物" />}
195
- actions={
196
- <>
197
- {onOpenShares && (
198
- <Button variant="ghost" onClick={onOpenShares}>
199
- 我的分享
200
- </Button>
201
- )}
202
- <Button variant="primary" icon={<Plus />} onClick={onCreateSite}>
203
- 新建站点
204
- </Button>
205
- </>
206
- }
207
- tabs={WORKBENCH_TABS}
208
- activeTabKey="sites"
209
- tabsExtra={
210
- <>
211
- {/* 密集开关(原型 L1898):跟页签同一行右端 —— 三段页签都没有分类维度,
212
- 不再单起一条只装它的空行。标签恒为「密集」,开没开由 aria-pressed +
213
- `--ow-current-bg` 面 + 500 字重三层一起说;原型让标签在「密集/标准」之间
214
- 翻字,那是把「当前态」和「点了会变成什么」写在同一枚钮上,按下态一亮就自相矛盾。 */}
215
- <Button
216
- type="button"
217
- size="sm"
218
- variant="secondary"
219
- className="sites-space__dense"
220
- icon={<Grid />}
221
- aria-pressed={dense}
222
- title={dense ? "回到标准视图" : "更密的排布:一屏多看一列,收起说明与动作"}
223
- onClick={toggleDense}
224
- >
225
- 密集
226
- </Button>
227
- </>
228
- }
229
- />
230
- )
231
-
232
- if (loading && sites.length === 0) {
233
- return (
234
- <div className="page sites-space">
235
- {head}
236
- {/* 载态骨架必须与内容态**同形同网格**:原来借的是技能广场那套
237
- `.plaza__grid` + `CardGridSkeleton`(36 头像 + 3 行 + 72×28 钮,卡高 83),
238
- 而本页内容态是 `.sites-grid` + `.site-card`(16:9 封面 + body + 卡脚),
239
- 载→内容之间整块布局跳变(3 列 6 张矮卡 → 3 列 4 张高卡)。改成站点卡自己的骨架。 */}
240
- <div className={gridClassName}>
241
- <SiteCardSkeletonGrid />
242
- </div>
243
- </div>
244
- )
245
- }
246
-
247
- if (error && sites.length === 0) {
248
- return (
249
- <div className="page sites-space">
250
- {head}
251
- {/* DS2 §6 容器错态一套写法:primitives/InlineMessage(一句人话 + mono 详情 + 重试),
252
- 与 DesktopWorkspaceView 两处错态同口径;原手写的错态块(图标+strong+span+重试钮)已退役。 */}
253
- <InlineMessage
254
- variant="error"
255
- title="暂时无法加载"
256
- detail={error}
257
- className="published-sites__error"
258
- action={
259
- <Button size="sm" variant="secondary" icon={<Refresh />} onClick={onRetry}>
260
- 重试
261
- </Button>
262
- }
263
- >
264
- 站点列表这次没取回来,稍后重试或检查网络。
265
- </InlineMessage>
266
- </div>
267
- )
268
- }
269
-
270
- return (
271
- <div className="page sites-space">
272
- {head}
273
- {filtered.length === 0 ? (
274
- /* R2 L2-1-4 + L2-3-2:两态两档。
275
- · 首次空态(无关键词)= §6 page 一级:母题 52 + 标题 + 副句 + 一枚钮。
276
- 钮复用页头的 `onCreateSite`,按 §4 记账表降 secondary(页头那枚是同屏行动极);
277
- 副句里原来那句「点右上角新建」随钮一并删——路标该是钮,不是一句话。
278
- · 搜索无结果=二级空态,显式 size="md"(母题 40 + 一句 +「清空搜索」描边钮)。 */
279
- <CatalogEmptyState
280
- grid
281
- size={keyword ? "md" : "page"}
282
- title={keyword ? "没有找到匹配的站点" : "还没有站点"}
283
- hint={
284
- keyword
285
- ? "换个关键词试试,或清空搜索查看全部站点。"
286
- : "在对话里让专家产出页面,发布成站点后就会出现在这里。"
287
- }
288
- action={keyword ? undefined : { label: "新建站点", onClick: onCreateSite }}
289
- onClearSearch={keyword ? () => setQuery("") : undefined}
290
- />
291
- ) : (
292
- <div
293
- ref={grid}
294
- className={gridClassName}
295
- onScroll={(event) => onScrollTopChange?.(event.currentTarget.scrollTop)}
296
- >
297
- {filtered.map((site) => {
298
- const status = statusTag(site.status)
299
- /* 卡上唯一的动作(原型 L4445:`pub ? '打开链接' : '预览'`)。我们没有本地草稿
300
- 预览通道,所以没链接时这枚钮禁用并写清原因——原型的目录卡也用同一档
301
- `actOff` 表达「这一步现在做不了」。 */
302
- const canOpen = isActive(site) && Boolean(site.baseUrl)
303
- return (
304
- <article key={site.id} className="site-card">
305
- <Button
306
- type="button"
307
- data-ow-part="site-open"
308
- variant="unstyled"
309
- className="site-card__open ow-focus-ring"
310
- aria-label={`查看站点 ${site.name} 的详情`}
311
- onClick={() => onViewDetails(site)}
312
- >
313
- <div className="site-card__cover">
314
- {site.coverUrl ? (
315
- <img className="site-card__cover-image" src={site.coverUrl} alt="" />
316
- ) : (
317
- <SiteThumbPreview />
318
- )}
319
- {/* R1 双编码:状态签是「tint 面 + 文字」,色不单独承担信息 */}
320
- <StatusTag className="site-card__status" tone={status.tone}>
321
- {status.label}
322
- </StatusTag>
323
- </div>
324
- <div className="site-card__body">
325
- <div className="site-card__name">{site.name}</div>
326
- {/* 描述位恒在(原型 L1935 的 showDesc 只随密集态切):条件渲染会让没有
327
- 描述的卡比同排矮两行,min-height:3em 也就白设了。 */}
328
- <div className="site-card__desc">{site.description}</div>
329
- </div>
330
- </Button>
331
- <div className="site-card__footer">
332
- <span className="site-card__meta" title={site.baseUrl || undefined}>
333
- {cardMeta(site)}
334
- </span>
335
- <Button
336
- type="button"
337
- data-ow-part="site-act"
338
- size="sm"
339
- variant="secondary"
340
- className="site-card__act"
341
- disabled={!canOpen}
342
- title={canOpen ? site.baseUrl : "尚未发布,还没有可打开的链接"}
343
- aria-label={canOpen ? `在应用内预览站点 ${site.name}` : undefined}
344
- onClick={() => onPreviewSite(site)}
345
- >
346
- {canOpen ? "打开链接" : "预览"}
347
- </Button>
348
- </div>
349
- </article>
350
- )
351
- })}
352
- {(hasMore || error) && (
353
- <div className="sites-grid__more">
354
- {error && <InlineMessage variant="error" title="暂时无法加载更多站点" detail={error} />}
355
- <Button disabled={loading} onClick={error ? onRetry : onLoadMore}>
356
- {loading ? "正在加载…" : error ? "重试" : "加载更多"}
357
- </Button>
358
- </div>
359
- )}
360
- </div>
361
- )}
362
- </div>
363
- )
364
- }
365
-
366
- /**
367
- * 站点卡骨架:逐件对齐它占位的真元素(同 W3 卡骨架口径)——
368
- * 16:9 封面块 + body 的名/描述两行(12/14 内距、4 槽)+ 卡脚一行两件(mono 元信息条 + 28 高动作钮)。
369
- * 走 `.site-card` 本体做外壳,所以边框、圆角、卡底与内容态一字不差。
370
- */
371
- function SiteCardSkeletonGrid({ count = 4 }: { count?: number }): React.ReactElement {
372
- return (
373
- <>
374
- {Array.from({ length: count }).map((_, index) => (
375
- <article key={index} className="site-card" aria-hidden="true">
376
- <div className="site-card__cover">
377
- <Skeleton variant="block" width="100%" height="100%" radius={0} />
378
- </div>
379
- <div className="site-card__body">
380
- <Skeleton variant="line" width="55%" height={18} />
381
- <span className="site-card__skel-desc">
382
- <Skeleton variant="line" width="90%" height={12} />
383
- <Skeleton variant="line" width="64%" height={12} />
384
- </span>
385
- </div>
386
- {/* 卡脚同为一行两件:左 mono 元信息条、右 28 高动作钮的占位块,载→内容卡高不跳 */}
387
- <div className="site-card__footer">
388
- <span className="site-card__meta">
389
- <Skeleton variant="line" width="60%" height={12} />
390
- </span>
391
- <Skeleton
392
- className="site-card__act"
393
- variant="block"
394
- width={76}
395
- height={28}
396
- radius="var(--ow-radius-action)"
397
- />
398
- </div>
399
- </article>
400
- ))}
401
- </>
402
- )
403
- }
404
-
405
- /**
406
- * 站点缩略图:原型 L1911–1917 的那张 74% 宽、居中的小页面示意(三条灰杠)。
407
- * 站点没有封面图时占封面位;有 coverUrl 时由 `.site-card__cover-image` 顶掉。
408
- */
409
- function SiteThumbPreview() {
410
- return (
411
- <div className="site-card__thumb" aria-hidden="true">
412
- <span className="site-card__thumb-bar site-card__thumb-bar--title" />
413
- <span className="site-card__thumb-bar site-card__thumb-bar--wide" />
414
- <span className="site-card__thumb-bar site-card__thumb-bar--mid" />
415
- </div>
416
- )
417
- }