@orbit-work/ui 0.1.2-preview.0 → 0.1.3

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 (810) 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.cjs +41 -1
  9. package/dist/appearance.cjs.map +1 -0
  10. package/dist/appearance.d.cts +7 -1
  11. package/dist/appearance.d.ts +7 -1
  12. package/dist/appearance.js +41 -1
  13. package/dist/appearance.js.map +1 -0
  14. package/dist/brand-preview.cjs +14 -0
  15. package/dist/brand-preview.cjs.map +1 -0
  16. package/dist/brand-preview.d.cts +13 -0
  17. package/dist/brand-preview.d.ts +13 -0
  18. package/dist/brand-preview.js +14 -0
  19. package/dist/brand-preview.js.map +1 -0
  20. package/dist/browser-annotation-popup.cjs +9 -1
  21. package/dist/browser-annotation-popup.cjs.map +1 -0
  22. package/dist/browser-annotation-popup.d.cts +6 -6
  23. package/dist/browser-annotation-popup.d.ts +6 -6
  24. package/dist/browser-annotation-popup.js +9 -1
  25. package/dist/browser-annotation-popup.js.map +1 -0
  26. package/dist/chunk-66VEV7G2.js +111 -0
  27. package/dist/chunk-66VEV7G2.js.map +1 -0
  28. package/dist/chunk-JC7BHKS4.cjs +734 -0
  29. package/dist/chunk-JC7BHKS4.cjs.map +1 -0
  30. package/dist/chunk-K7ONUTLA.cjs +240 -0
  31. package/dist/chunk-K7ONUTLA.cjs.map +1 -0
  32. package/dist/chunk-KTNWR3H5.js +399 -0
  33. package/dist/chunk-KTNWR3H5.js.map +1 -0
  34. package/dist/chunk-LSGO6AQR.js +734 -0
  35. package/dist/chunk-LSGO6AQR.js.map +1 -0
  36. package/dist/chunk-Q7B4M5GC.cjs +399 -0
  37. package/dist/chunk-Q7B4M5GC.cjs.map +1 -0
  38. package/dist/chunk-QS55W5Q5.cjs +111 -0
  39. package/dist/chunk-QS55W5Q5.cjs.map +1 -0
  40. package/dist/chunk-UT5LC6MR.js +38 -0
  41. package/dist/chunk-UT5LC6MR.js.map +1 -0
  42. package/dist/chunk-ZXMHCL6D.js +240 -0
  43. package/dist/chunk-ZXMHCL6D.js.map +1 -0
  44. package/dist/chunk-ZZTEY4YX.cjs +38 -0
  45. package/dist/chunk-ZZTEY4YX.cjs.map +1 -0
  46. package/dist/core.css +7895 -0
  47. package/dist/core.scoped.css +7888 -0
  48. package/dist/file-tree.css +85 -0
  49. package/dist/index-nLo7jMlP.d.cts +166 -0
  50. package/dist/index-nLo7jMlP.d.ts +166 -0
  51. package/dist/index.cjs +38996 -26
  52. package/dist/index.cjs.map +1 -0
  53. package/dist/index.d.cts +3797 -3027
  54. package/dist/index.d.ts +3797 -3027
  55. package/dist/index.js +38996 -26
  56. package/dist/index.js.map +1 -0
  57. package/dist/locale.cjs +15 -0
  58. package/dist/locale.cjs.map +1 -0
  59. package/dist/locale.d.cts +28 -0
  60. package/dist/locale.d.ts +28 -0
  61. package/dist/locale.js +15 -0
  62. package/dist/locale.js.map +1 -0
  63. package/dist/office.css +1146 -0
  64. package/dist/slot-core.cjs +200 -0
  65. package/dist/slot-core.cjs.map +1 -0
  66. package/dist/slot-core.d.cts +146 -0
  67. package/dist/slot-core.d.ts +146 -0
  68. package/dist/slot-core.js +200 -0
  69. package/dist/slot-core.js.map +1 -0
  70. package/dist/slot-react.cjs +153 -0
  71. package/dist/slot-react.cjs.map +1 -0
  72. package/dist/slot-react.d.cts +36 -0
  73. package/dist/slot-react.d.ts +36 -0
  74. package/dist/slot-react.js +153 -0
  75. package/dist/slot-react.js.map +1 -0
  76. package/dist/tailwind.css +137 -0
  77. package/dist/unifiedTheme-DQ-sETKO.d.cts +201 -0
  78. package/dist/unifiedTheme-DQ-sETKO.d.ts +201 -0
  79. package/dist/workbench.css +9023 -0
  80. package/package.json +126 -47
  81. package/dist/appearance-D5uQ53j3.d.cts +0 -210
  82. package/dist/appearance-D5uQ53j3.d.ts +0 -210
  83. package/dist/chunk-3KT7IU4X.js +0 -13
  84. package/dist/chunk-5VLBKOG7.cjs +0 -194
  85. package/dist/chunk-7YJY64LZ.js +0 -82
  86. package/dist/chunk-EF2BSN3K.cjs +0 -13
  87. package/dist/chunk-GMMYDILD.cjs +0 -82
  88. package/dist/chunk-VG7FQQ7K.js +0 -194
  89. package/dist/fonts/JetBrainsMono-Medium.ttf +0 -0
  90. package/dist/fonts/JetBrainsMono-Regular.ttf +0 -0
  91. package/dist/fonts/SpaceGrotesk-700-latin-ext.woff2 +0 -0
  92. package/dist/fonts/SpaceGrotesk-700-latin.woff2 +0 -0
  93. package/dist/index.css +0 -1
  94. package/dist/orbitwork.css +0 -22209
  95. package/src/components/Layout/AppLayout/AppLayout.stories.tsx +0 -246
  96. package/src/components/Layout/AppLayout/AppLayoutSource.test.mjs +0 -37
  97. package/src/components/Layout/AppLayout/index.tsx +0 -122
  98. package/src/components/Layout/Sidebar/index.tsx +0 -13
  99. package/src/components/Layout/SidebarShell/SidebarShell.stories.tsx +0 -676
  100. package/src/components/Layout/SidebarShell/SidebarShellSource.test.mjs +0 -161
  101. package/src/components/Layout/SidebarShell/index.tsx +0 -326
  102. package/src/components/Layout/index.ts +0 -10
  103. package/src/components/composite/ActionBar/ActionBar.stories.tsx +0 -26
  104. package/src/components/composite/ActionBar/index.tsx +0 -31
  105. package/src/components/composite/ActionStatus/ActionStatus.stories.tsx +0 -60
  106. package/src/components/composite/ActionStatus/index.tsx +0 -21
  107. package/src/components/composite/AskQuestionCardView/AskQuestionCardView.stories.tsx +0 -175
  108. package/src/components/composite/AskQuestionCardView/AskQuestionCardViewSource.test.mjs +0 -92
  109. package/src/components/composite/AskQuestionCardView/index.tsx +0 -119
  110. package/src/components/composite/AssistantChannelCard/AssistantChannelCard.stories.tsx +0 -265
  111. package/src/components/composite/AssistantChannelCard/AssistantChannelCardSource.test.mjs +0 -45
  112. package/src/components/composite/AssistantChannelCard/index.tsx +0 -102
  113. package/src/components/composite/AssistantToggleRow/AssistantToggleRow.stories.tsx +0 -197
  114. package/src/components/composite/AssistantToggleRow/index.tsx +0 -35
  115. package/src/components/composite/AttachmentCard/AttachmentCard.stories.tsx +0 -125
  116. package/src/components/composite/AttachmentCard/index.tsx +0 -80
  117. package/src/components/composite/BackButton/BackButton.stories.tsx +0 -93
  118. package/src/components/composite/BackButton/BackButtonSource.test.mjs +0 -29
  119. package/src/components/composite/BackButton/index.tsx +0 -48
  120. package/src/components/composite/Banner/Banner.stories.tsx +0 -180
  121. package/src/components/composite/Banner/BannerSource.test.mjs +0 -67
  122. package/src/components/composite/Banner/index.tsx +0 -125
  123. package/src/components/composite/BeaconIcons/BeaconIcons.stories.tsx +0 -153
  124. package/src/components/composite/BeaconIcons/index.tsx +0 -265
  125. package/src/components/composite/BeaconSpinner/BeaconSpinner.stories.tsx +0 -144
  126. package/src/components/composite/BeaconSpinner/index.tsx +0 -185
  127. package/src/components/composite/CatalogStates/CatalogEmptyState.stories.tsx +0 -108
  128. package/src/components/composite/CatalogStates/CatalogStates.stories.tsx +0 -53
  129. package/src/components/composite/CatalogStates/CatalogStatesSource.test.mjs +0 -149
  130. package/src/components/composite/CatalogStates/index.tsx +0 -113
  131. package/src/components/composite/Charts/Charts.stories.tsx +0 -174
  132. package/src/components/composite/Charts/ChartsSource.test.mjs +0 -111
  133. package/src/components/composite/Charts/index.tsx +0 -385
  134. package/src/components/composite/CodeBlock/CodeBlock.stories.tsx +0 -308
  135. package/src/components/composite/CodeBlock/CodeFaceSource.test.mjs +0 -89
  136. package/src/components/composite/CodeBlock/index.tsx +0 -300
  137. package/src/components/composite/CodeDiff/CodeDiff.stories.tsx +0 -169
  138. package/src/components/composite/CodeDiff/index.tsx +0 -373
  139. package/src/components/composite/CodePreview/CodePreview.stories.tsx +0 -127
  140. package/src/components/composite/CodePreview/CodePreviewSource.test.mjs +0 -43
  141. package/src/components/composite/CodePreview/index.tsx +0 -98
  142. package/src/components/composite/CommandPalette/CommandPalette.stories.tsx +0 -89
  143. package/src/components/composite/CommandPalette/CommandPaletteSource.test.mjs +0 -61
  144. package/src/components/composite/CommandPalette/index.tsx +0 -310
  145. package/src/components/composite/ContentRecommendation/ContentRecommendation.stories.tsx +0 -300
  146. package/src/components/composite/ContentRecommendation/ContentRecommendationSource.test.mjs +0 -48
  147. package/src/components/composite/ContentRecommendation/index.tsx +0 -116
  148. package/src/components/composite/ContextChip/ContextChip.stories.tsx +0 -123
  149. package/src/components/composite/ContextChip/ContextChipSource.test.mjs +0 -24
  150. package/src/components/composite/ContextChip/index.tsx +0 -25
  151. package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorSizeSource.test.mjs +0 -15
  152. package/src/components/composite/ContextUsageIndicatorView/ContextUsageIndicatorView.stories.tsx +0 -110
  153. package/src/components/composite/ContextUsageIndicatorView/ContextUsageLoadingSource.test.mjs +0 -23
  154. package/src/components/composite/ContextUsageIndicatorView/index.tsx +0 -139
  155. package/src/components/composite/Controls/Controls.stories.tsx +0 -227
  156. package/src/components/composite/Controls/index.tsx +0 -15
  157. package/src/components/composite/CreateProjectDialog/CreateProjectDialog.stories.tsx +0 -56
  158. package/src/components/composite/CreateProjectDialog/index.tsx +0 -70
  159. package/src/components/composite/DataManagementSectionView/DataManagementSectionView.stories.tsx +0 -123
  160. package/src/components/composite/DataManagementSectionView/DataManagementSectionViewSource.test.mjs +0 -45
  161. package/src/components/composite/DataManagementSectionView/index.tsx +0 -110
  162. package/src/components/composite/DataTable/DataTable.stories.tsx +0 -159
  163. package/src/components/composite/DataTable/DataTableSource.test.mjs +0 -96
  164. package/src/components/composite/DataTable/index.tsx +0 -373
  165. package/src/components/composite/DetailChrome/DetailChrome.stories.tsx +0 -61
  166. package/src/components/composite/DetailChrome/DetailChromeSource.test.mjs +0 -31
  167. package/src/components/composite/DetailChrome/index.tsx +0 -94
  168. package/src/components/composite/DetailPanel/DetailPanel.stories.tsx +0 -185
  169. package/src/components/composite/DetailPanel/DetailPanelSource.test.mjs +0 -49
  170. package/src/components/composite/DetailPanel/index.tsx +0 -120
  171. package/src/components/composite/DetailScaffold/DetailScaffold.stories.tsx +0 -203
  172. package/src/components/composite/DetailScaffold/DetailScaffoldSource.test.mjs +0 -38
  173. package/src/components/composite/DetailScaffold/index.tsx +0 -114
  174. package/src/components/composite/Dialog/Dialog.stories.tsx +0 -343
  175. package/src/components/composite/Dialog/DialogSource.test.mjs +0 -130
  176. package/src/components/composite/Dialog/index.tsx +0 -333
  177. package/src/components/composite/DropZone/DropZone.stories.tsx +0 -105
  178. package/src/components/composite/DropZone/DropZoneSource.test.mjs +0 -68
  179. package/src/components/composite/DropZone/index.tsx +0 -196
  180. package/src/components/composite/FSelect/FSelect.stories.tsx +0 -64
  181. package/src/components/composite/FSelect/index.tsx +0 -29
  182. package/src/components/composite/FeedbackContextMenuView/FeedbackContextMenuView.stories.tsx +0 -106
  183. package/src/components/composite/FeedbackContextMenuView/index.tsx +0 -51
  184. package/src/components/composite/FeedbackDialogView/FeedbackDialogView.stories.tsx +0 -291
  185. package/src/components/composite/FeedbackDialogView/index.tsx +0 -95
  186. package/src/components/composite/FileReferenceCard/FileReferenceCard.stories.tsx +0 -364
  187. package/src/components/composite/FileReferenceCard/FileReferenceCardSource.test.mjs +0 -48
  188. package/src/components/composite/FileReferenceCard/index.tsx +0 -122
  189. package/src/components/composite/FilterBar/FilterBar.stories.tsx +0 -167
  190. package/src/components/composite/FilterBar/FilterBarSource.test.mjs +0 -75
  191. package/src/components/composite/FilterBar/index.tsx +0 -206
  192. package/src/components/composite/FormField/FormField.stories.tsx +0 -158
  193. package/src/components/composite/FormField/FormFieldSource.test.mjs +0 -56
  194. package/src/components/composite/FormField/index.tsx +0 -219
  195. package/src/components/composite/HomeBackdrop/HomeBackdrop.stories.tsx +0 -54
  196. package/src/components/composite/HomeBackdrop/HomeBackdropSource.test.mjs +0 -50
  197. package/src/components/composite/HomeBackdrop/index.tsx +0 -53
  198. package/src/components/composite/Icons/Icons.stories.tsx +0 -153
  199. package/src/components/composite/Icons/IconsSource.test.mjs +0 -23
  200. package/src/components/composite/Icons/index.tsx +0 -1367
  201. package/src/components/composite/ImageCard/ImageCard.stories.tsx +0 -54
  202. package/src/components/composite/ImageCard/index.tsx +0 -33
  203. package/src/components/composite/ImagePreview/ImagePreview.stories.tsx +0 -172
  204. package/src/components/composite/ImagePreview/ImagePreviewSource.test.mjs +0 -95
  205. package/src/components/composite/ImagePreview/index.tsx +0 -339
  206. package/src/components/composite/ListRow/ListRow.stories.tsx +0 -257
  207. package/src/components/composite/ListRow/ListRowSource.test.mjs +0 -101
  208. package/src/components/composite/ListRow/index.tsx +0 -309
  209. package/src/components/composite/Markdown/Markdown.stories.tsx +0 -192
  210. package/src/components/composite/Markdown/MarkdownSource.test.mjs +0 -126
  211. package/src/components/composite/Markdown/MarkdownStyleSource.test.mjs +0 -167
  212. package/src/components/composite/Markdown/index.tsx +0 -702
  213. package/src/components/composite/MarkdownPreview/MarkdownPreview.stories.tsx +0 -174
  214. package/src/components/composite/MarkdownPreview/MarkdownPreviewTabsSource.test.mjs +0 -31
  215. package/src/components/composite/MarkdownPreview/MarkdownRenderedStyleSource.test.mjs +0 -84
  216. package/src/components/composite/MarkdownPreview/index.tsx +0 -140
  217. package/src/components/composite/MarkdownPreviewModalView/MarkdownPreviewModalView.stories.tsx +0 -104
  218. package/src/components/composite/MarkdownPreviewModalView/index.tsx +0 -85
  219. package/src/components/composite/MessageFeedbackDialog/MessageFeedbackDialog.stories.tsx +0 -66
  220. package/src/components/composite/MessageFeedbackDialog/index.tsx +0 -115
  221. package/src/components/composite/ModelCatalogErrorState/ModelCatalogErrorState.stories.tsx +0 -101
  222. package/src/components/composite/ModelCatalogErrorState/ModelCatalogRetrySource.test.mjs +0 -86
  223. package/src/components/composite/ModelCatalogErrorState/index.tsx +0 -59
  224. package/src/components/composite/ModelModalityFlow/ModelModalityFlow.stories.tsx +0 -224
  225. package/src/components/composite/ModelModalityFlow/ModelModalityFlowSource.test.mjs +0 -56
  226. package/src/components/composite/ModelModalityFlow/index.tsx +0 -113
  227. package/src/components/composite/ModelPickerList/ModelPickerList.stories.tsx +0 -313
  228. package/src/components/composite/ModelPickerList/index.tsx +0 -142
  229. package/src/components/composite/ModelSelect/ModelSelect.stories.tsx +0 -90
  230. package/src/components/composite/ModelSelect/index.tsx +0 -148
  231. package/src/components/composite/ModelsSettingsSectionView/ModelsSettingsSectionView.stories.tsx +0 -170
  232. package/src/components/composite/ModelsSettingsSectionView/index.tsx +0 -139
  233. package/src/components/composite/NativeControls/NativeControls.stories.tsx +0 -386
  234. package/src/components/composite/NativeControls/NativeControlsStyleSource.test.mjs +0 -63
  235. package/src/components/composite/NativeControls/index.tsx +0 -97
  236. package/src/components/composite/NavMenu/NavMenu.stories.tsx +0 -383
  237. package/src/components/composite/NavMenu/NavMenuSource.test.mjs +0 -56
  238. package/src/components/composite/NavMenu/index.tsx +0 -142
  239. package/src/components/composite/NoPlanPanelView/NoPlanPanelView.stories.tsx +0 -344
  240. package/src/components/composite/NoPlanPanelView/NoPlanPanelViewSource.test.mjs +0 -34
  241. package/src/components/composite/NoPlanPanelView/index.tsx +0 -97
  242. package/src/components/composite/OpenWithButton/OpenWithButton.stories.tsx +0 -78
  243. package/src/components/composite/OpenWithButton/index.tsx +0 -46
  244. package/src/components/composite/OrbitworkLogo/OrbitworkLogo.stories.tsx +0 -192
  245. package/src/components/composite/OrbitworkLogo/index.tsx +0 -207
  246. package/src/components/composite/OrbitworkModal/OrbitworkModal.stories.tsx +0 -58
  247. package/src/components/composite/OrbitworkModal/index.tsx +0 -31
  248. package/src/components/composite/PageHead/PageHead.stories.tsx +0 -235
  249. package/src/components/composite/PageHead/PageHeadSource.test.mjs +0 -76
  250. package/src/components/composite/PageHead/index.tsx +0 -128
  251. package/src/components/composite/PlanFeatureIcon/PlanFeatureIcon.stories.tsx +0 -205
  252. package/src/components/composite/PlanFeatureIcon/PlanFeatureIconSource.test.mjs +0 -38
  253. package/src/components/composite/PlanFeatureIcon/index.tsx +0 -48
  254. package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionView.stories.tsx +0 -231
  255. package/src/components/composite/PlanSettingsSectionView/PlanSettingsSectionViewSource.test.mjs +0 -85
  256. package/src/components/composite/PlanSettingsSectionView/index.tsx +0 -264
  257. package/src/components/composite/Popover/Popover.stories.tsx +0 -175
  258. package/src/components/composite/Popover/PopoverSource.test.mjs +0 -59
  259. package/src/components/composite/Popover/index.tsx +0 -176
  260. package/src/components/composite/PptxRenderer/ElementDispatcher/index.tsx +0 -70
  261. package/src/components/composite/PptxRenderer/PptxChromeStyleSource.test.mjs +0 -36
  262. package/src/components/composite/PptxRenderer/PptxRenderer.stories.tsx +0 -128
  263. package/src/components/composite/PptxRenderer/PptxSlide/index.tsx +0 -48
  264. package/src/components/composite/PptxRenderer/constants.ts +0 -2
  265. package/src/components/composite/PptxRenderer/elements/AudioElement/index.tsx +0 -48
  266. package/src/components/composite/PptxRenderer/elements/ChartElement/index.tsx +0 -172
  267. package/src/components/composite/PptxRenderer/elements/DiagramElement/index.tsx +0 -46
  268. package/src/components/composite/PptxRenderer/elements/GroupElement/index.tsx +0 -28
  269. package/src/components/composite/PptxRenderer/elements/ImageElement/index.tsx +0 -61
  270. package/src/components/composite/PptxRenderer/elements/MathElement/index.tsx +0 -57
  271. package/src/components/composite/PptxRenderer/elements/ShapeElement/index.tsx +0 -327
  272. package/src/components/composite/PptxRenderer/elements/TableElement/index.tsx +0 -90
  273. package/src/components/composite/PptxRenderer/elements/TextElement/index.tsx +0 -57
  274. package/src/components/composite/PptxRenderer/elements/VideoElement/index.tsx +0 -43
  275. package/src/components/composite/PptxRenderer/index.ts +0 -24
  276. package/src/components/composite/PptxRenderer/types.ts +0 -326
  277. package/src/components/composite/PptxRenderer/utils.ts +0 -129
  278. package/src/components/composite/ProjectSelect/ProjectSelect.stories.tsx +0 -112
  279. package/src/components/composite/ProjectSelect/ProjectSelectSource.test.mjs +0 -34
  280. package/src/components/composite/ProjectSelect/index.tsx +0 -155
  281. package/src/components/composite/RadioCard/RadioCard.stories.tsx +0 -130
  282. package/src/components/composite/RadioCard/RadioCardSource.test.mjs +0 -42
  283. package/src/components/composite/RadioCard/index.tsx +0 -171
  284. package/src/components/composite/RowOverflowMenu/RowOverflowMenu.stories.tsx +0 -113
  285. package/src/components/composite/RowOverflowMenu/RowOverflowMenuSource.test.mjs +0 -59
  286. package/src/components/composite/RowOverflowMenu/index.tsx +0 -101
  287. package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPrompt.stories.tsx +0 -159
  288. package/src/components/composite/SandboxPermissionPrompt/SandboxPermissionPromptSource.test.mjs +0 -71
  289. package/src/components/composite/SandboxPermissionPrompt/index.tsx +0 -157
  290. package/src/components/composite/SearchInput/SearchInput.stories.tsx +0 -127
  291. package/src/components/composite/SearchInput/index.tsx +0 -91
  292. package/src/components/composite/SearchResult/SearchResult.stories.tsx +0 -305
  293. package/src/components/composite/SearchResult/SearchResultSource.test.mjs +0 -45
  294. package/src/components/composite/SearchResult/index.tsx +0 -148
  295. package/src/components/composite/Section/Section.stories.tsx +0 -148
  296. package/src/components/composite/Section/SectionSource.test.mjs +0 -59
  297. package/src/components/composite/Section/index.tsx +0 -105
  298. package/src/components/composite/SelectionBulkBar/SelectionBulkBar.stories.tsx +0 -111
  299. package/src/components/composite/SelectionBulkBar/SelectionBulkBarSource.test.mjs +0 -44
  300. package/src/components/composite/SelectionBulkBar/index.tsx +0 -99
  301. package/src/components/composite/ShareStrip/ShareStrip.stories.tsx +0 -123
  302. package/src/components/composite/ShareStrip/index.tsx +0 -83
  303. package/src/components/composite/ShortcutSheet/ShortcutSheet.stories.tsx +0 -90
  304. package/src/components/composite/ShortcutSheet/ShortcutSheetSource.test.mjs +0 -49
  305. package/src/components/composite/ShortcutSheet/index.tsx +0 -163
  306. package/src/components/composite/SitesArtifactCardView/SitesArtifactCardView.stories.tsx +0 -328
  307. package/src/components/composite/SitesArtifactCardView/SitesArtifactCardViewSource.test.mjs +0 -45
  308. package/src/components/composite/SitesArtifactCardView/index.tsx +0 -100
  309. package/src/components/composite/Skeleton/Skeleton.stories.tsx +0 -188
  310. package/src/components/composite/Skeleton/SkeletonSource.test.mjs +0 -25
  311. package/src/components/composite/Skeleton/index.tsx +0 -152
  312. package/src/components/composite/Splash/Splash.stories.tsx +0 -150
  313. package/src/components/composite/Splash/index.tsx +0 -229
  314. package/src/components/composite/StatusTag/StatusTag.stories.tsx +0 -66
  315. package/src/components/composite/StatusTag/StatusTagSource.test.mjs +0 -64
  316. package/src/components/composite/StatusTag/index.tsx +0 -78
  317. package/src/components/composite/StepList/StepList.stories.tsx +0 -352
  318. package/src/components/composite/StepList/index.tsx +0 -23
  319. package/src/components/composite/Tag/Tag.stories.tsx +0 -279
  320. package/src/components/composite/Tag/TagSource.test.mjs +0 -67
  321. package/src/components/composite/Tag/index.tsx +0 -229
  322. package/src/components/composite/TimePicker/TimePicker.stories.tsx +0 -91
  323. package/src/components/composite/TimePicker/TimePickerSource.test.mjs +0 -98
  324. package/src/components/composite/TimePicker/index.tsx +0 -208
  325. package/src/components/composite/TitleBar/TitleBar.stories.tsx +0 -329
  326. package/src/components/composite/TitleBar/TitleBarSource.test.mjs +0 -140
  327. package/src/components/composite/TitleBar/index.tsx +0 -350
  328. package/src/components/composite/Toast/Toast.stories.tsx +0 -304
  329. package/src/components/composite/Toast/ToastSource.test.mjs +0 -63
  330. package/src/components/composite/Toast/index.tsx +0 -135
  331. package/src/components/composite/Tooltip/Tooltip.stories.tsx +0 -304
  332. package/src/components/composite/Tooltip/TooltipSource.test.mjs +0 -34
  333. package/src/components/composite/Tooltip/index.tsx +0 -204
  334. package/src/components/composite/TranscriptDividers/TranscriptDividers.stories.tsx +0 -160
  335. package/src/components/composite/TranscriptDividers/TranscriptDividersSource.test.mjs +0 -90
  336. package/src/components/composite/TranscriptDividers/index.tsx +0 -352
  337. package/src/components/composite/WCardShell/WCardShell.stories.tsx +0 -228
  338. package/src/components/composite/WCardShell/index.tsx +0 -101
  339. package/src/components/composite/index.ts +0 -81
  340. package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarView.stories.tsx +0 -128
  341. package/src/components/domain/artifacts/ArtifactPreviewSidebarView/ArtifactPreviewSidebarViewSource.test.mjs +0 -69
  342. package/src/components/domain/artifacts/ArtifactPreviewSidebarView/index.tsx +0 -212
  343. package/src/components/domain/artifacts/index.ts +0 -1
  344. package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupView.stories.tsx +0 -211
  345. package/src/components/domain/browser/BrowserAnnotationPopupView/BrowserAnnotationPopupViewSource.test.mjs +0 -82
  346. package/src/components/domain/browser/BrowserAnnotationPopupView/index.tsx +0 -235
  347. package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarView.stories.tsx +0 -260
  348. package/src/components/domain/browser/BrowserDeviceToolbarView/BrowserDeviceToolbarViewSource.test.mjs +0 -12
  349. package/src/components/domain/browser/BrowserDeviceToolbarView/index.tsx +0 -154
  350. package/src/components/domain/browser/BrowserFindBarView/BrowserFindBarView.stories.tsx +0 -52
  351. package/src/components/domain/browser/BrowserFindBarView/index.tsx +0 -111
  352. package/src/components/domain/browser/BrowserImportDialogView/BrowserImportDialogView.stories.tsx +0 -89
  353. package/src/components/domain/browser/BrowserImportDialogView/index.tsx +0 -155
  354. package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorView.stories.tsx +0 -197
  355. package/src/components/domain/browser/BrowserLoadErrorView/BrowserLoadErrorViewSource.test.mjs +0 -29
  356. package/src/components/domain/browser/BrowserLoadErrorView/index.tsx +0 -45
  357. package/src/components/domain/browser/BrowserMoreMenuView/BrowserMoreMenuView.stories.tsx +0 -66
  358. package/src/components/domain/browser/BrowserMoreMenuView/index.tsx +0 -268
  359. package/src/components/domain/browser/BrowserNavBarView/BrowserNavBarView.stories.tsx +0 -149
  360. package/src/components/domain/browser/BrowserNavBarView/index.tsx +0 -156
  361. package/src/components/domain/browser/BrowserTabBarView/index.tsx +0 -18
  362. package/src/components/domain/browser/SubAgentPane/SubAgentPane.stories.tsx +0 -96
  363. package/src/components/domain/browser/SubAgentPane/SubAgentPaneSource.test.mjs +0 -48
  364. package/src/components/domain/browser/SubAgentPane/index.tsx +0 -121
  365. package/src/components/domain/browser/TerminalPane/TerminalPane.stories.tsx +0 -95
  366. package/src/components/domain/browser/TerminalPane/TerminalPaneSource.test.mjs +0 -52
  367. package/src/components/domain/browser/TerminalPane/index.tsx +0 -75
  368. package/src/components/domain/browser/WebPreview/WebPreview.stories.tsx +0 -71
  369. package/src/components/domain/browser/WebPreview/index.tsx +0 -141
  370. package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsole.stories.tsx +0 -61
  371. package/src/components/domain/browser/WebPreviewConsole/WebPreviewConsoleSource.test.mjs +0 -66
  372. package/src/components/domain/browser/WebPreviewConsole/index.tsx +0 -239
  373. package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialog.stories.tsx +0 -288
  374. package/src/components/domain/browser/WebPreviewDialog/WebPreviewDialogSource.test.mjs +0 -62
  375. package/src/components/domain/browser/WebPreviewDialog/index.tsx +0 -82
  376. package/src/components/domain/browser/WebPreviewNav/WebPreviewNav.stories.tsx +0 -462
  377. package/src/components/domain/browser/WebPreviewNav/WebPreviewNavSource.test.mjs +0 -353
  378. package/src/components/domain/browser/WebPreviewNav/index.tsx +0 -351
  379. package/src/components/domain/browser/WebPreviewShell/WebPreviewShell.stories.tsx +0 -226
  380. package/src/components/domain/browser/WebPreviewShell/WebPreviewShellSource.test.mjs +0 -172
  381. package/src/components/domain/browser/WebPreviewShell/index.tsx +0 -324
  382. package/src/components/domain/browser/index.ts +0 -45
  383. package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegment.stories.tsx +0 -107
  384. package/src/components/domain/chat/AgentLoopSegment/AgentLoopSegmentSource.test.mjs +0 -45
  385. package/src/components/domain/chat/AgentLoopSegment/index.tsx +0 -29
  386. package/src/components/domain/chat/AgentTurn/AgentTurn.stories.tsx +0 -162
  387. package/src/components/domain/chat/AgentTurn/AgentTurnSource.test.mjs +0 -98
  388. package/src/components/domain/chat/AgentTurn/beaconContext.ts +0 -37
  389. package/src/components/domain/chat/AgentTurn/index.tsx +0 -226
  390. package/src/components/domain/chat/ArtifactCard/ArtifactCard.stories.tsx +0 -127
  391. package/src/components/domain/chat/ArtifactCard/index.tsx +0 -249
  392. package/src/components/domain/chat/Attachment/Attachment.stories.tsx +0 -235
  393. package/src/components/domain/chat/Attachment/AttachmentSource.test.mjs +0 -160
  394. package/src/components/domain/chat/Attachment/index.tsx +0 -857
  395. package/src/components/domain/chat/AuthorizationCard/AuthorizationCard.stories.tsx +0 -53
  396. package/src/components/domain/chat/AuthorizationCard/AuthorizationCardSource.test.mjs +0 -80
  397. package/src/components/domain/chat/AuthorizationCard/index.tsx +0 -89
  398. package/src/components/domain/chat/ChatBubble/ChatBubble.stories.tsx +0 -32
  399. package/src/components/domain/chat/ChatBubble/index.tsx +0 -24
  400. package/src/components/domain/chat/ChatMessage/ChatMessage.stories.tsx +0 -31
  401. package/src/components/domain/chat/ChatMessage/index.tsx +0 -23
  402. package/src/components/domain/chat/ChatR2ReviewSource.test.mjs +0 -98
  403. package/src/components/domain/chat/ChatThinking/ChatThinking.stories.tsx +0 -125
  404. package/src/components/domain/chat/ChatThinking/index.tsx +0 -55
  405. package/src/components/domain/chat/Chatbot/Chatbot.stories.tsx +0 -49
  406. package/src/components/domain/chat/Chatbot/index.tsx +0 -37
  407. package/src/components/domain/chat/Composer/Composer.stories.tsx +0 -227
  408. package/src/components/domain/chat/Composer/ComposerSource.test.mjs +0 -175
  409. package/src/components/domain/chat/Composer/index.tsx +0 -450
  410. package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.stories.tsx +0 -203
  411. package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrum.tsx +0 -110
  412. package/src/components/domain/chat/Composer/parts/ComposerAudioSpectrumSource.test.mjs +0 -54
  413. package/src/components/domain/chat/Composer/parts/ComposerAuthorization.stories.tsx +0 -155
  414. package/src/components/domain/chat/Composer/parts/ComposerAuthorization.tsx +0 -108
  415. package/src/components/domain/chat/Composer/parts/ComposerMentions.stories.tsx +0 -76
  416. package/src/components/domain/chat/Composer/parts/ComposerMentions.tsx +0 -83
  417. package/src/components/domain/chat/Composer/parts/ComposerMentionsSource.test.mjs +0 -85
  418. package/src/components/domain/chat/Composer/parts/ComposerMenu.stories.tsx +0 -266
  419. package/src/components/domain/chat/Composer/parts/ComposerMenu.tsx +0 -232
  420. package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.stories.tsx +0 -166
  421. package/src/components/domain/chat/Composer/parts/ComposerMenuPopover.tsx +0 -87
  422. package/src/components/domain/chat/Composer/parts/ComposerMenuPopoverSource.test.mjs +0 -56
  423. package/src/components/domain/chat/Composer/parts/ComposerPopover.stories.tsx +0 -257
  424. package/src/components/domain/chat/Composer/parts/ComposerPopover.tsx +0 -221
  425. package/src/components/domain/chat/Composer/parts/ComposerPopoverSource.test.mjs +0 -71
  426. package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.stories.tsx +0 -260
  427. package/src/components/domain/chat/Composer/parts/ComposerProjectPicker.tsx +0 -246
  428. package/src/components/domain/chat/Composer/parts/ComposerProjectPickerSource.test.mjs +0 -46
  429. package/src/components/domain/chat/Composer/parts/ComposerQueue.stories.tsx +0 -275
  430. package/src/components/domain/chat/Composer/parts/ComposerQueue.tsx +0 -155
  431. package/src/components/domain/chat/Composer/parts/ComposerQueueSource.test.mjs +0 -95
  432. package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.stories.tsx +0 -77
  433. package/src/components/domain/chat/Composer/parts/ComposerVoiceInput.tsx +0 -70
  434. package/src/components/domain/chat/Composer/parts/mountChip.ts +0 -21
  435. package/src/components/domain/chat/ContextUsage/ContextUsage.stories.tsx +0 -62
  436. package/src/components/domain/chat/ContextUsage/index.tsx +0 -69
  437. package/src/components/domain/chat/ExecutionSummary/ExecutionSummary.stories.tsx +0 -238
  438. package/src/components/domain/chat/ExecutionSummary/ExecutionSummarySource.test.mjs +0 -210
  439. package/src/components/domain/chat/ExecutionSummary/index.tsx +0 -487
  440. package/src/components/domain/chat/Message/Message.stories.tsx +0 -264
  441. package/src/components/domain/chat/Message/index.tsx +0 -44
  442. package/src/components/domain/chat/MessageActions/MessageActions.stories.tsx +0 -132
  443. package/src/components/domain/chat/MessageActions/MessageActionsSource.test.mjs +0 -79
  444. package/src/components/domain/chat/MessageActions/index.tsx +0 -186
  445. package/src/components/domain/chat/PlanCard/PlanCard.stories.tsx +0 -87
  446. package/src/components/domain/chat/PlanCard/index.tsx +0 -170
  447. package/src/components/domain/chat/RichContent/RichContent.stories.tsx +0 -102
  448. package/src/components/domain/chat/RichContent/RichContentSource.test.mjs +0 -82
  449. package/src/components/domain/chat/RichContent/index.tsx +0 -465
  450. package/src/components/domain/chat/SubAgentThread/SubAgentThread.stories.tsx +0 -119
  451. package/src/components/domain/chat/SubAgentThread/index.tsx +0 -104
  452. package/src/components/domain/chat/Thinking/Thinking.stories.tsx +0 -196
  453. package/src/components/domain/chat/Thinking/ThinkingInlineSource.test.mjs +0 -154
  454. package/src/components/domain/chat/Thinking/index.tsx +0 -237
  455. package/src/components/domain/chat/ToolCallRow/ToolCallRow.stories.tsx +0 -105
  456. package/src/components/domain/chat/ToolCallRow/ToolCallRowSource.test.mjs +0 -83
  457. package/src/components/domain/chat/ToolCallRow/index.tsx +0 -113
  458. package/src/components/domain/chat/Transcript/Transcript.stories.tsx +0 -296
  459. package/src/components/domain/chat/Transcript/TranscriptSource.test.mjs +0 -189
  460. package/src/components/domain/chat/Transcript/index.tsx +0 -187
  461. package/src/components/domain/chat/TranscriptSpine/TranscriptSpine.stories.tsx +0 -124
  462. package/src/components/domain/chat/TranscriptSpine/index.tsx +0 -245
  463. package/src/components/domain/chat/UserTurn/UserTurn.stories.tsx +0 -176
  464. package/src/components/domain/chat/UserTurn/UserTurnSource.test.mjs +0 -150
  465. package/src/components/domain/chat/UserTurn/index.tsx +0 -194
  466. package/src/components/domain/chat/index.ts +0 -22
  467. package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuView.stories.tsx +0 -116
  468. package/src/components/domain/desktop/DesktopAccountMenuView/DesktopAccountMenuViewSource.test.mjs +0 -80
  469. package/src/components/domain/desktop/DesktopAccountMenuView/index.tsx +0 -355
  470. package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettings.stories.tsx +0 -96
  471. package/src/components/domain/desktop/DesktopAppearanceSettings/DesktopAppearanceSettingsSource.test.mjs +0 -89
  472. package/src/components/domain/desktop/DesktopAppearanceSettings/index.tsx +0 -155
  473. package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigView.stories.tsx +0 -275
  474. package/src/components/domain/desktop/DesktopAssistantConfigView/DesktopAssistantConfigViewSource.test.mjs +0 -37
  475. package/src/components/domain/desktop/DesktopAssistantConfigView/index.tsx +0 -221
  476. package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogView.stories.tsx +0 -537
  477. package/src/components/domain/desktop/DesktopCatalogView/DesktopCatalogViewSource.test.mjs +0 -339
  478. package/src/components/domain/desktop/DesktopCatalogView/index.tsx +0 -1074
  479. package/src/components/domain/desktop/DesktopChatBranchDivider/DesktopChatBranchDivider.stories.tsx +0 -58
  480. package/src/components/domain/desktop/DesktopChatBranchDivider/index.tsx +0 -33
  481. package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateView.stories.tsx +0 -75
  482. package/src/components/domain/desktop/DesktopChatEmptyStateView/DesktopChatEmptyStateViewSource.test.mjs +0 -54
  483. package/src/components/domain/desktop/DesktopChatEmptyStateView/index.tsx +0 -64
  484. package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderView.stories.tsx +0 -83
  485. package/src/components/domain/desktop/DesktopChatHeaderView/DesktopChatHeaderViewSource.test.mjs +0 -126
  486. package/src/components/domain/desktop/DesktopChatHeaderView/index.tsx +0 -169
  487. package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageView.stories.tsx +0 -170
  488. package/src/components/domain/desktop/DesktopChatMessageView/DesktopChatMessageViewSource.test.mjs +0 -47
  489. package/src/components/domain/desktop/DesktopChatMessageView/index.tsx +0 -213
  490. package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnView.stories.tsx +0 -498
  491. package/src/components/domain/desktop/DesktopChatTurnView/DesktopChatTurnViewSource.test.mjs +0 -187
  492. package/src/components/domain/desktop/DesktopChatTurnView/index.tsx +0 -490
  493. package/src/components/domain/desktop/DesktopComposer/DesktopComposer.stories.tsx +0 -195
  494. package/src/components/domain/desktop/DesktopComposer/DesktopComposerModelPickerSource.test.mjs +0 -132
  495. package/src/components/domain/desktop/DesktopComposer/DesktopComposerMountChipSource.test.mjs +0 -43
  496. package/src/components/domain/desktop/DesktopComposer/DesktopComposerResponsiveSource.test.mjs +0 -44
  497. package/src/components/domain/desktop/DesktopComposer/DesktopMcpFormThemeSource.test.mjs +0 -30
  498. package/src/components/domain/desktop/DesktopComposer/index.tsx +0 -206
  499. package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailView.stories.tsx +0 -72
  500. package/src/components/domain/desktop/DesktopConnectorDetailView/DesktopConnectorDetailViewSource.test.mjs +0 -81
  501. package/src/components/domain/desktop/DesktopConnectorDetailView/index.tsx +0 -301
  502. package/src/components/domain/desktop/DesktopHomeView/DesktopHomeView.stories.tsx +0 -103
  503. package/src/components/domain/desktop/DesktopHomeView/DesktopHomeViewSource.test.mjs +0 -51
  504. package/src/components/domain/desktop/DesktopHomeView/index.tsx +0 -122
  505. package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/DesktopLibraryAuthorizationDialog.stories.tsx +0 -55
  506. package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/DesktopLibraryAuthorizationDialogSource.test.mjs +0 -22
  507. package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/index.tsx +0 -171
  508. package/src/components/domain/desktop/DesktopLibraryPageView/DesktopLibraryPageView.stories.tsx +0 -49
  509. package/src/components/domain/desktop/DesktopLibraryPageView/index.tsx +0 -49
  510. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.css +0 -75
  511. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.stories.tsx +0 -230
  512. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginViewSource.test.mjs +0 -156
  513. package/src/components/domain/desktop/DesktopLoginView/index.tsx +0 -432
  514. package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourView.stories.tsx +0 -103
  515. package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourViewSource.test.mjs +0 -57
  516. package/src/components/domain/desktop/DesktopOnboardingTourView/index.tsx +0 -189
  517. package/src/components/domain/desktop/DesktopPet/DesktopPet.fixture.ts +0 -243
  518. package/src/components/domain/desktop/DesktopPet/DesktopPet.stories.tsx +0 -337
  519. package/src/components/domain/desktop/DesktopPet/DesktopPetSource.test.mjs +0 -191
  520. package/src/components/domain/desktop/DesktopPet/index.tsx +0 -591
  521. package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettings.stories.tsx +0 -159
  522. package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettingsSource.test.mjs +0 -76
  523. package/src/components/domain/desktop/DesktopPetSettings/index.tsx +0 -140
  524. package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusView.stories.tsx +0 -166
  525. package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusViewSource.test.mjs +0 -51
  526. package/src/components/domain/desktop/DesktopRunStatusView/index.tsx +0 -34
  527. package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCard.stories.tsx +0 -122
  528. package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCardSource.test.mjs +0 -42
  529. package/src/components/domain/desktop/DesktopSelectionCard/index.tsx +0 -75
  530. package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySection.stories.tsx +0 -225
  531. package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySectionSource.test.mjs +0 -105
  532. package/src/components/domain/desktop/DesktopSettingsMemorySection/index.tsx +0 -340
  533. package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsView.stories.tsx +0 -177
  534. package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsViewSource.test.mjs +0 -195
  535. package/src/components/domain/desktop/DesktopSettingsView/index.tsx +0 -176
  536. package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarView.stories.tsx +0 -77
  537. package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarViewSource.test.mjs +0 -76
  538. package/src/components/domain/desktop/DesktopShareSelectionBarView/index.tsx +0 -55
  539. package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarView.stories.tsx +0 -454
  540. package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarViewSource.test.mjs +0 -388
  541. package/src/components/domain/desktop/DesktopSidebarView/index.tsx +0 -1111
  542. package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesView.stories.tsx +0 -369
  543. package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesViewSource.test.mjs +0 -123
  544. package/src/components/domain/desktop/DesktopSiteReleasesView/index.tsx +0 -392
  545. package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListView.stories.tsx +0 -244
  546. package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListViewSource.test.mjs +0 -198
  547. package/src/components/domain/desktop/DesktopSitesListView/index.tsx +0 -417
  548. package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageView.stories.tsx +0 -230
  549. package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageViewSource.test.mjs +0 -149
  550. package/src/components/domain/desktop/DesktopSkillsPageView/index.tsx +0 -235
  551. package/src/components/domain/desktop/DesktopTaskDetailView/index.tsx +0 -111
  552. package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallListViewSource.test.mjs +0 -302
  553. package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallView.stories.tsx +0 -409
  554. package/src/components/domain/desktop/DesktopToolCallView/index.tsx +0 -388
  555. package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShell.stories.tsx +0 -418
  556. package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShellSource.test.mjs +0 -151
  557. package/src/components/domain/desktop/DesktopWorkbenchShell/index.tsx +0 -167
  558. package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageView.stories.tsx +0 -135
  559. package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageViewSource.test.mjs +0 -57
  560. package/src/components/domain/desktop/DesktopWorkspacePageView/index.tsx +0 -114
  561. package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceView.stories.tsx +0 -227
  562. package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceViewSource.test.mjs +0 -175
  563. package/src/components/domain/desktop/DesktopWorkspaceView/index.tsx +0 -580
  564. package/src/components/domain/desktop/ResourceManagement/ResourceManagement.stories.tsx +0 -19
  565. package/src/components/domain/desktop/ResourceManagement/ResourceManagementSource.test.mjs +0 -54
  566. package/src/components/domain/desktop/ResourceManagement/SharesList.tsx +0 -323
  567. package/src/components/domain/desktop/ResourceManagement/SnapshotViews.tsx +0 -92
  568. package/src/components/domain/desktop/ResourceManagement/SnapshotViewsSource.test.mjs +0 -15
  569. package/src/components/domain/desktop/ResourceManagement/index.tsx +0 -246
  570. package/src/components/domain/desktop/ShareSettingsDialogView/index.tsx +0 -234
  571. package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmpty.stories.tsx +0 -100
  572. package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmptySource.test.mjs +0 -67
  573. package/src/components/domain/desktop/SidePanelEmpty/index.tsx +0 -113
  574. package/src/components/domain/desktop/StarterCapsules/StarterCapsules.stories.tsx +0 -65
  575. package/src/components/domain/desktop/StarterCapsules/StarterCapsulesSource.test.mjs +0 -43
  576. package/src/components/domain/desktop/StarterCapsules/index.tsx +0 -90
  577. package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanel.stories.tsx +0 -59
  578. package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanelSource.test.mjs +0 -51
  579. package/src/components/domain/desktop/WorkbenchSidePanel/index.tsx +0 -74
  580. package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirm.stories.tsx +0 -79
  581. package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirmSource.test.mjs +0 -34
  582. package/src/components/domain/desktop/WorkspaceMigrateConfirm/index.tsx +0 -92
  583. package/src/components/domain/desktop/index.ts +0 -64
  584. package/src/components/domain/files/FileBrowser/FileBrowser.stories.tsx +0 -397
  585. package/src/components/domain/files/FileBrowser/FileBrowserSource.test.mjs +0 -75
  586. package/src/components/domain/files/FileBrowser/index.tsx +0 -221
  587. package/src/components/domain/files/FileIcon/FileIcon.stories.tsx +0 -207
  588. package/src/components/domain/files/FileIcon/FileIconSource.test.mjs +0 -39
  589. package/src/components/domain/files/FileIcon/index.tsx +0 -133
  590. package/src/components/domain/files/FilePreviewContentView/FilePreviewContentView.stories.tsx +0 -242
  591. package/src/components/domain/files/FilePreviewContentView/FilePreviewContentViewSource.test.mjs +0 -44
  592. package/src/components/domain/files/FilePreviewContentView/index.tsx +0 -125
  593. package/src/components/domain/files/FileTree/FileTree.stories.tsx +0 -204
  594. package/src/components/domain/files/FileTree/FileTreeSource.test.mjs +0 -18
  595. package/src/components/domain/files/FileTree/index.tsx +0 -106
  596. package/src/components/domain/files/PreviewDialog/PreviewDialog.stories.tsx +0 -178
  597. package/src/components/domain/files/PreviewDialog/PreviewDialogSource.test.mjs +0 -92
  598. package/src/components/domain/files/PreviewDialog/index.tsx +0 -294
  599. package/src/components/domain/files/index.ts +0 -5
  600. package/src/components/domain/index.ts +0 -8
  601. package/src/components/domain/office/CsvPreview/CsvPreview.stories.tsx +0 -264
  602. package/src/components/domain/office/CsvPreview/CsvPreviewSource.test.mjs +0 -77
  603. package/src/components/domain/office/CsvPreview/index.tsx +0 -224
  604. package/src/components/domain/office/OfficePreview/OfficePreview.stories.tsx +0 -265
  605. package/src/components/domain/office/OfficePreview/OfficePreviewDialog.stories.tsx +0 -71
  606. package/src/components/domain/office/OfficePreview/OfficePreviewDialog.tsx +0 -43
  607. package/src/components/domain/office/OfficePreview/OfficePreviewSource.test.mjs +0 -126
  608. package/src/components/domain/office/OfficePreview/index.tsx +0 -782
  609. package/src/components/domain/office/PdfPreview/PdfPreview.stories.tsx +0 -280
  610. package/src/components/domain/office/PdfPreview/PdfPreviewDialog.stories.tsx +0 -61
  611. package/src/components/domain/office/PdfPreview/PdfPreviewDialog.tsx +0 -61
  612. package/src/components/domain/office/PdfPreview/PdfPreviewSource.test.mjs +0 -70
  613. package/src/components/domain/office/PdfPreview/index.tsx +0 -217
  614. package/src/components/domain/office/index.ts +0 -5
  615. package/src/components/domain/skills/McpServerListView/McpServerListView.stories.tsx +0 -510
  616. package/src/components/domain/skills/McpServerListView/McpServerListViewSource.test.mjs +0 -101
  617. package/src/components/domain/skills/McpServerListView/index.tsx +0 -250
  618. package/src/components/domain/skills/SkillAvatarView/SkillAvatarView.stories.tsx +0 -121
  619. package/src/components/domain/skills/SkillAvatarView/SkillAvatarViewSource.test.mjs +0 -67
  620. package/src/components/domain/skills/SkillAvatarView/index.tsx +0 -112
  621. package/src/components/domain/skills/SkillCardView/SkillCardView.stories.tsx +0 -374
  622. package/src/components/domain/skills/SkillCardView/SkillCardViewSource.test.mjs +0 -35
  623. package/src/components/domain/skills/SkillCardView/index.tsx +0 -88
  624. package/src/components/domain/skills/SkillDetailPanelView/SkillDetailPanelView.stories.tsx +0 -113
  625. package/src/components/domain/skills/SkillDetailPanelView/index.tsx +0 -115
  626. package/src/components/domain/skills/SkillDetailView/SkillDetailView.stories.tsx +0 -274
  627. package/src/components/domain/skills/SkillDetailView/index.tsx +0 -121
  628. package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogView.stories.tsx +0 -128
  629. package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogViewSource.test.mjs +0 -11
  630. package/src/components/domain/skills/SkillImportDialogView/index.tsx +0 -147
  631. package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalView.stories.tsx +0 -160
  632. package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalViewSource.test.mjs +0 -99
  633. package/src/components/domain/skills/ToolDetailModalView/index.tsx +0 -160
  634. package/src/components/domain/skills/index.ts +0 -7
  635. package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardView.stories.tsx +0 -120
  636. package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardViewSource.test.mjs +0 -40
  637. package/src/components/domain/tasks/ScheduledTaskCardView/index.tsx +0 -135
  638. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialog.stories.tsx +0 -56
  639. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialogSource.test.mjs +0 -35
  640. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/index.tsx +0 -73
  641. package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailView.stories.tsx +0 -121
  642. package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailViewSource.test.mjs +0 -115
  643. package/src/components/domain/tasks/ScheduledTaskDetailView/index.tsx +0 -223
  644. package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceView.stories.tsx +0 -526
  645. package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceViewSource.test.mjs +0 -85
  646. package/src/components/domain/tasks/ScheduledTasksSpaceView/index.tsx +0 -118
  647. package/src/components/domain/tasks/index.ts +0 -4
  648. package/src/components/domain/theme/SkinManager.stories.tsx +0 -43
  649. package/src/components/domain/theme/SkinManagerUI.tsx +0 -382
  650. package/src/components/domain/theme/ThemeDemo.stories.tsx +0 -12
  651. package/src/components/domain/theme/ThemeDemo.tsx +0 -224
  652. package/src/components/index.ts +0 -11
  653. package/src/components/primitives/Avatar/Avatar.stories.tsx +0 -170
  654. package/src/components/primitives/Avatar/AvatarSource.test.mjs +0 -37
  655. package/src/components/primitives/Avatar/index.tsx +0 -180
  656. package/src/components/primitives/BackTop/BackTop.stories.tsx +0 -122
  657. package/src/components/primitives/BackTop/BackTopSource.test.mjs +0 -61
  658. package/src/components/primitives/BackTop/index.tsx +0 -93
  659. package/src/components/primitives/Badge/Badge.stories.tsx +0 -376
  660. package/src/components/primitives/Badge/BadgeSource.test.mjs +0 -27
  661. package/src/components/primitives/Badge/index.tsx +0 -65
  662. package/src/components/primitives/Button/Button.stories.tsx +0 -287
  663. package/src/components/primitives/Button/ButtonSource.test.mjs +0 -84
  664. package/src/components/primitives/Button/index.tsx +0 -219
  665. package/src/components/primitives/Card/Card.stories.tsx +0 -186
  666. package/src/components/primitives/Card/CardSource.test.mjs +0 -73
  667. package/src/components/primitives/Card/index.tsx +0 -137
  668. package/src/components/primitives/Checkbox/Checkbox.stories.tsx +0 -79
  669. package/src/components/primitives/Checkbox/CheckboxSource.test.mjs +0 -43
  670. package/src/components/primitives/Checkbox/index.tsx +0 -87
  671. package/src/components/primitives/Chip/Chip.stories.tsx +0 -149
  672. package/src/components/primitives/Chip/ChipSource.test.mjs +0 -73
  673. package/src/components/primitives/Chip/index.tsx +0 -252
  674. package/src/components/primitives/Divider/Divider.stories.tsx +0 -68
  675. package/src/components/primitives/Divider/DividerSource.test.mjs +0 -26
  676. package/src/components/primitives/Divider/index.tsx +0 -65
  677. package/src/components/primitives/Dropdown/Dropdown.stories.tsx +0 -38
  678. package/src/components/primitives/Dropdown/DropdownSource.test.mjs +0 -23
  679. package/src/components/primitives/Dropdown/index.tsx +0 -29
  680. package/src/components/primitives/EmptyState/EmptyState.stories.tsx +0 -159
  681. package/src/components/primitives/EmptyState/EmptyStateSource.test.mjs +0 -169
  682. package/src/components/primitives/EmptyState/index.tsx +0 -185
  683. package/src/components/primitives/ErrorCard/ErrorCard.stories.tsx +0 -50
  684. package/src/components/primitives/ErrorCard/index.tsx +0 -78
  685. package/src/components/primitives/Field/Field.stories.tsx +0 -208
  686. package/src/components/primitives/Field/FieldSource.test.mjs +0 -70
  687. package/src/components/primitives/Field/index.tsx +0 -297
  688. package/src/components/primitives/InlineMessage/InlineMessage.stories.tsx +0 -137
  689. package/src/components/primitives/InlineMessage/InlineMessageSource.test.mjs +0 -50
  690. package/src/components/primitives/InlineMessage/index.tsx +0 -141
  691. package/src/components/primitives/Input/Input.stories.tsx +0 -30
  692. package/src/components/primitives/Input/index.tsx +0 -12
  693. package/src/components/primitives/Keycap/Keycap.stories.tsx +0 -93
  694. package/src/components/primitives/Keycap/KeycapSource.test.mjs +0 -30
  695. package/src/components/primitives/Keycap/index.tsx +0 -67
  696. package/src/components/primitives/Menu/Menu.stories.tsx +0 -416
  697. package/src/components/primitives/Menu/MenuEmptySource.test.mjs +0 -23
  698. package/src/components/primitives/Menu/MenuSource.test.mjs +0 -207
  699. package/src/components/primitives/Menu/index.tsx +0 -923
  700. package/src/components/primitives/Pagination/Pagination.stories.tsx +0 -77
  701. package/src/components/primitives/Pagination/PaginationSource.test.mjs +0 -24
  702. package/src/components/primitives/Pagination/index.tsx +0 -85
  703. package/src/components/primitives/Pagination/pagination.ts +0 -25
  704. package/src/components/primitives/Pagination/paginationModel.test.mjs +0 -18
  705. package/src/components/primitives/ProgressBar/ProgressBar.stories.tsx +0 -103
  706. package/src/components/primitives/ProgressBar/ProgressBarSource.test.mjs +0 -44
  707. package/src/components/primitives/ProgressBar/index.tsx +0 -68
  708. package/src/components/primitives/Radio/Radio.stories.tsx +0 -84
  709. package/src/components/primitives/Radio/RadioSource.test.mjs +0 -38
  710. package/src/components/primitives/Radio/index.tsx +0 -161
  711. package/src/components/primitives/SegmentedControl/SegmentedControl.stories.tsx +0 -110
  712. package/src/components/primitives/SegmentedControl/SegmentedControlSource.test.mjs +0 -75
  713. package/src/components/primitives/SegmentedControl/index.tsx +0 -188
  714. package/src/components/primitives/Select/Select.stories.tsx +0 -158
  715. package/src/components/primitives/Select/SelectSource.test.mjs +0 -94
  716. package/src/components/primitives/Select/index.tsx +0 -406
  717. package/src/components/primitives/Spinner/index.tsx +0 -58
  718. package/src/components/primitives/Switch/Switch.stories.tsx +0 -64
  719. package/src/components/primitives/Switch/SwitchSource.test.mjs +0 -38
  720. package/src/components/primitives/Switch/index.tsx +0 -84
  721. package/src/components/primitives/Tabs/Tabs.stories.tsx +0 -230
  722. package/src/components/primitives/Tabs/TabsSource.test.mjs +0 -91
  723. package/src/components/primitives/Tabs/index.tsx +0 -183
  724. package/src/components/primitives/index.ts +0 -24
  725. package/src/examples/ResourceManagementExample.tsx +0 -119
  726. package/src/examples/SiteWorkbenchExample.tsx +0 -96
  727. package/src/hooks/index.ts +0 -7
  728. package/src/hooks/useClickOutside.ts +0 -20
  729. package/src/hooks/useDragReorder.ts +0 -29
  730. package/src/hooks/useImeAwareEnter.ts +0 -59
  731. package/src/hooks/useImeAwareEnterSource.test.mjs +0 -65
  732. package/src/hooks/useKeyboard.ts +0 -16
  733. package/src/hooks/usePopover.ts +0 -67
  734. package/src/hooks/useSelectedOptionLocator.ts +0 -33
  735. package/src/hooks/useSidebarResize.ts +0 -107
  736. package/src/hooks/useTenantTheme.ts +0 -53
  737. package/src/hooks/useUnifiedTheme.ts +0 -85
  738. package/src/index.ts +0 -6
  739. package/src/lib/InjectedStyleTokenMirrorSource.test.mjs +0 -67
  740. package/src/lib/about-window.test.mjs +0 -46
  741. package/src/lib/about-window.ts +0 -218
  742. package/src/lib/appearance.test.mjs +0 -283
  743. package/src/lib/appearance.ts +0 -46
  744. package/src/lib/browser-annotation-popup.ts +0 -151
  745. package/src/lib/focusTrap.ts +0 -51
  746. package/src/lib/index.ts +0 -5
  747. package/src/lib/shortcut.test.mjs +0 -100
  748. package/src/lib/shortcut.ts +0 -97
  749. package/src/lib/twMergeOw.ts +0 -18
  750. package/src/lib/utils.ts +0 -6
  751. package/src/screens/Browser.stories.tsx +0 -353
  752. package/src/screens/Chat.stories.tsx +0 -808
  753. package/src/screens/Home.stories.tsx +0 -253
  754. package/src/screens/Login.stories.tsx +0 -134
  755. package/src/screens/McpManager.stories.tsx +0 -159
  756. package/src/screens/Onboarding.stories.tsx +0 -155
  757. package/src/screens/ScheduledTasks.stories.tsx +0 -134
  758. package/src/screens/ScreenFrameSource.test.mjs +0 -77
  759. package/src/screens/SettingsAppearance.stories.tsx +0 -117
  760. package/src/screens/SettingsMemory.stories.tsx +0 -128
  761. package/src/screens/SettingsModels.stories.tsx +0 -228
  762. package/src/screens/SettingsSections.stories.tsx +0 -164
  763. package/src/screens/Share.stories.tsx +0 -202
  764. package/src/screens/SharePage.stories.tsx +0 -29
  765. package/src/screens/Sites.stories.tsx +0 -183
  766. package/src/screens/Skills.stories.tsx +0 -83
  767. package/src/screens/Workspace.stories.tsx +0 -191
  768. package/src/screens/_home.tsx +0 -46
  769. package/src/screens/_screen.tsx +0 -355
  770. package/src/screens/_settingsNav.ts +0 -27
  771. package/src/screens/_skillsCatalog.tsx +0 -372
  772. package/src/theme/SkinDenylistSyncSource.test.mjs +0 -124
  773. package/src/theme/__tests__/skins.test.mjs +0 -84
  774. package/src/theme/core/semanticAdapter.ts +0 -116
  775. package/src/theme/core/skin.ts +0 -605
  776. package/src/theme/core/skinScoped.ts +0 -289
  777. package/src/theme/core/tenantTheme.test.mjs +0 -127
  778. package/src/theme/core/tenantTheme.ts +0 -124
  779. package/src/theme/core/types.ts +0 -60
  780. package/src/theme/core/unifiedTheme.ts +0 -157
  781. package/src/theme/index.ts +0 -33
  782. package/src/theme/providers/BrandingProvider.tsx +0 -57
  783. package/src/theme/providers/ThemeProvider.tsx +0 -221
  784. package/src/theme/skinDs2PropertyGate.test.mjs +0 -109
  785. package/src/theme/skins/index.ts +0 -107
  786. package/src/theme/utils/cssSafety.ts +0 -92
  787. package/src/theme/utils/skinManager.ts +0 -159
  788. package/src/theme/utils/themeApplier.ts +0 -75
  789. package/src/tokens/DesktopSurfacesSweep15Source.test.mjs +0 -77
  790. package/src/tokens/SharedStyleSheetsSource.test.mjs +0 -90
  791. package/src/tokens/TailwindThemeSupplySource.test.mjs +0 -129
  792. package/src/tokens/base.ts +0 -199
  793. package/src/tokens/dark.ts +0 -288
  794. package/src/tokens/index.ts +0 -4
  795. package/src/tokens/light.ts +0 -320
  796. package/src/tokens/tailwind.ts +0 -216
  797. package/src/types/desktop-pet.ts +0 -100
  798. package/src/types/file-browser.ts +0 -51
  799. package/src/types/file-tree.ts +0 -34
  800. package/src/types/index.ts +0 -3
  801. package/src/types/xspreadsheet.d.ts +0 -4
  802. package/src/utils/cn.ts +0 -6
  803. package/src/utils/glyphColor.ts +0 -32
  804. package/src/utils/index.ts +0 -4
  805. package/src/utils/localPathInline.test.mjs +0 -45
  806. package/src/utils/localPathInline.ts +0 -49
  807. package/src/utils/markdownFileRefs.test.mjs +0 -88
  808. package/src/utils/markdownFileRefs.ts +0 -140
  809. package/src/utils/office-excel.ts +0 -452
  810. package/src/utils/shiki.ts +0 -156
@@ -1,416 +0,0 @@
1
- import type { Meta, StoryObj } from "@storybook/react"
2
- import { useState } from "react"
3
- import { Copy, Doc, Download, Edit, Folder, Settings, Share, Sparkles, Sun, Trash } from "../../composite/Icons"
4
- import { Button } from "../Button"
5
- import { SegmentedControl } from "../SegmentedControl"
6
- import { Switch } from "../Switch"
7
- import { MENU_SEPARATOR, Menu, type MenuEntry, MenuSurface } from "./index"
8
-
9
- /**
10
- * Menu — 下拉菜单(DS 2.0 patterns,合并 Dropdown / RowOverflowMenu / DetailOverflowMenu)。
11
- *
12
- * 两个入口:`MenuSurface` 是「面」(自己管开合时用),`Menu` 是「触发器 + 面」。
13
- * 下面前半段展示面的全部形态与状态,后半段展示带触发器的完整菜单。
14
- * 主题不写死:颜色全部走 token,用工具栏的 theme 切换看双主题。
15
- */
16
- const meta = {
17
- title: "Primitives/Menu",
18
- component: MenuSurface,
19
- parameters: { layout: "centered" },
20
- tags: ["autodocs"],
21
- } satisfies Meta<typeof MenuSurface>
22
-
23
- export default meta
24
- type Story = StoryObj<typeof meta>
25
-
26
- const basicItems: MenuEntry[] = [
27
- { key: "edit", label: "重命名" },
28
- { key: "duplicate", label: "创建副本" },
29
- { key: "delete", label: "删除", danger: true },
30
- ]
31
-
32
- const iconItems: MenuEntry[] = [
33
- { key: "open", label: "打开", icon: <Doc /> },
34
- { key: "copy", label: "复制链接", icon: <Copy /> },
35
- { key: "share", label: "分享", icon: <Share /> },
36
- { key: "delete", label: "删除", icon: <Trash />, danger: true },
37
- ]
38
-
39
- /* ---------------------------------------------------------------- *
40
- * MenuSurface — 面
41
- * ---------------------------------------------------------------- */
42
-
43
- export const Default: Story = {
44
- args: { items: basicItems },
45
- }
46
-
47
- export const WithIcons: Story = {
48
- args: { items: iconItems },
49
- }
50
-
51
- export const WithShortcuts: Story = {
52
- name: "带快捷键(Keycap 列)",
53
- args: {
54
- width: 240,
55
- items: [
56
- { key: "new", label: "新建", icon: <Doc />, shortcut: "Ctrl+N" },
57
- { key: "open", label: "打开", icon: <Folder />, shortcut: "Ctrl+O" },
58
- { key: "save", label: "保存", icon: <Download />, shortcut: ["Ctrl", "S"] },
59
- MENU_SEPARATOR,
60
- { key: "settings", label: "设置", icon: <Settings />, shortcut: "Ctrl+," },
61
- ],
62
- },
63
- }
64
-
65
- export const WithDescriptions: Story = {
66
- name: "带说明行",
67
- args: {
68
- width: 260,
69
- items: [
70
- { key: "public", label: "公开", description: "任何拿到链接的人都能看" },
71
- { key: "team", label: "团队内", description: "只有工作区成员能看" },
72
- { key: "private", label: "仅自己", description: "别人看不到,也搜不到" },
73
- ],
74
- },
75
- }
76
-
77
- export const Checked: Story = {
78
- name: "勾选态",
79
- args: {
80
- width: 220,
81
- items: [
82
- { key: "list", label: "列表视图", selected: true },
83
- { key: "grid", label: "网格视图", selected: false },
84
- { key: "board", label: "看板视图", selected: false },
85
- ],
86
- },
87
- }
88
-
89
- export const Grouped: Story = {
90
- name: "分组 + 分隔线",
91
- args: {
92
- width: 240,
93
- items: [
94
- { type: "group", label: "文件" },
95
- { key: "new", label: "新建", icon: <Doc />, shortcut: "Ctrl+N" },
96
- { key: "open", label: "打开", icon: <Folder />, shortcut: "Ctrl+O" },
97
- MENU_SEPARATOR,
98
- { type: "group", label: "危险操作" },
99
- { key: "delete", label: "删除工作区", icon: <Trash />, danger: true },
100
- ],
101
- },
102
- }
103
-
104
- export const LegacyDivider: Story = {
105
- name: "兼容:旧 Dropdown 分隔项",
106
- parameters: {
107
- docs: { description: { story: '旧 items 数组里的 `{ key: "---" }` 仍被识别为分隔线,不用改数据。' } },
108
- },
109
- args: {
110
- items: [
111
- { key: "edit", label: "重命名" },
112
- { key: "---", label: "" },
113
- { key: "delete", label: "删除", danger: true },
114
- ],
115
- },
116
- }
117
-
118
- export const States: Story = {
119
- name: "状态全档",
120
- parameters: {
121
- docs: {
122
- description: {
123
- story:
124
- "default / hover(-pop 档,鼠标划过看)/ press / focus-visible(Tab 或方向键)/ disabled / 选中 / 危险。",
125
- },
126
- },
127
- },
128
- args: {
129
- width: 240,
130
- items: [
131
- { key: "default", label: "常态" },
132
- { key: "selected", label: "选中(打勾)", selected: true },
133
- { key: "active", label: "活动项(不打勾)" },
134
- { key: "disabled", label: "禁用", disabled: true },
135
- MENU_SEPARATOR,
136
- { key: "danger", label: "危险动作", icon: <Trash />, danger: true },
137
- { key: "danger-disabled", label: "危险且禁用", icon: <Trash />, danger: true, disabled: true },
138
- ],
139
- activeKey: "active",
140
- },
141
- }
142
-
143
- export const Searchable: Story = {
144
- name: "带搜索",
145
- args: {
146
- width: 260,
147
- searchable: true,
148
- searchPlaceholder: "搜索模型",
149
- items: Array.from({ length: 12 }, (_, i) => ({
150
- key: `model-${i + 1}`,
151
- label: `Model ${i + 1}`,
152
- selected: i === 2,
153
- })),
154
- },
155
- }
156
-
157
- export const EmptyResult: Story = {
158
- name: "空结果",
159
- parameters: {
160
- docs: { description: { story: "过滤没命中时只给一句 text-3;带主按钮的空态母题走 EmptyState 原语。" } },
161
- },
162
- args: {
163
- width: 240,
164
- searchable: true,
165
- searchValue: "找不到的东西",
166
- items: basicItems,
167
- },
168
- }
169
-
170
- export const HeaderAndFooter: Story = {
171
- name: "眉标 + 页脚",
172
- args: {
173
- width: 260,
174
- header: "当前项目",
175
- items: [
176
- { key: "a", label: "Orbitwork 桌面端", selected: true },
177
- { key: "b", label: "设计系统 2.0" },
178
- ],
179
- footer: (
180
- <Button variant="text" size="sm" className="w-full justify-start">
181
- 新建项目
182
- </Button>
183
- ),
184
- },
185
- }
186
-
187
- export const LongList: Story = {
188
- name: "长列表",
189
- args: {
190
- width: 220,
191
- className: "max-h-72 overflow-y-auto",
192
- items: Array.from({ length: 24 }, (_, i) => ({ key: `item-${i}`, label: `条目 ${i + 1}` })),
193
- },
194
- }
195
-
196
- export const CustomContent: Story = {
197
- name: "自定义内容(children)",
198
- parameters: {
199
- docs: { description: { story: "给了 children 时不加 menu 语义,条目的可读角色由调用方自己负责。" } },
200
- },
201
- args: {
202
- width: 240,
203
- children: (
204
- <div className="px-2 py-3 text-ow-fs-ui text-[color:var(--ow-text-2)]">域内选择器自己渲染条目时走这条路。</div>
205
- ),
206
- },
207
- }
208
-
209
- /* ---------------------------------------------------------------- *
210
- * Menu — 触发器 + 面
211
- * ---------------------------------------------------------------- */
212
-
213
- export const WithTrigger: Story = {
214
- name: "触发器 + 菜单",
215
- parameters: { layout: "padded" },
216
- render: () => (
217
- <div className="flex min-h-64 items-start gap-4">
218
- <Menu trigger={<Button variant="secondary">操作</Button>} items={iconItems} onSelect={() => {}} />
219
- </div>
220
- ),
221
- }
222
-
223
- export const TriggerRenderProp: Story = {
224
- name: "触发器:渲染函数",
225
- parameters: { layout: "padded" },
226
- render: () => (
227
- <div className="flex min-h-64 items-start gap-4">
228
- <Menu
229
- width={200}
230
- items={iconItems}
231
- onSelect={() => {}}
232
- trigger={({ open, triggerProps }) => (
233
- <Button variant="ghost" size="sm" {...triggerProps}>
234
- {open ? "收起菜单" : "展开菜单"}
235
- </Button>
236
- )}
237
- />
238
- </div>
239
- ),
240
- }
241
-
242
- export const AlignEnd: Story = {
243
- name: "右缘对齐(行末「…」)",
244
- parameters: { layout: "padded" },
245
- render: () => (
246
- <div className="flex min-h-64 w-96 justify-end">
247
- <Menu
248
- align="end"
249
- width={180}
250
- ariaLabel="更多操作"
251
- items={[
252
- { key: "edit", label: "编辑", icon: <Edit /> },
253
- { key: "copy", label: "复制链接", icon: <Copy /> },
254
- MENU_SEPARATOR,
255
- { key: "delete", label: "删除", icon: <Trash />, danger: true },
256
- ]}
257
- onSelect={() => {}}
258
- trigger={<Button variant="ghost" size="sm" aria-label="更多操作" icon={<Doc />} />}
259
- />
260
- </div>
261
- ),
262
- }
263
-
264
- export const Controlled: Story = {
265
- name: "受控开合",
266
- parameters: { layout: "padded" },
267
- render: function ControlledMenu() {
268
- const [open, setOpen] = useState(false)
269
- return (
270
- <div className="flex min-h-64 items-start gap-3">
271
- <Menu
272
- open={open}
273
- onOpenChange={setOpen}
274
- items={basicItems}
275
- onSelect={() => {}}
276
- trigger={<Button variant="secondary">受控菜单</Button>}
277
- />
278
- <Button variant="text" size="sm" onClick={() => setOpen((value) => !value)}>
279
- 外部开关:{open ? "开" : "关"}
280
- </Button>
281
- </div>
282
- )
283
- },
284
- }
285
-
286
- export const StaysOpenOnSelect: Story = {
287
- name: "选中不收起(多选)",
288
- parameters: { layout: "padded" },
289
- render: function MultiSelectMenu() {
290
- const [picked, setPicked] = useState<string[]>(["md"])
291
- const toggle = (key: string) =>
292
- setPicked((current) => (current.includes(key) ? current.filter((k) => k !== key) : [...current, key]))
293
- return (
294
- <div className="flex min-h-64 items-start">
295
- <Menu
296
- closeOnSelect={false}
297
- width={220}
298
- items={[
299
- { key: "md", label: "Markdown", selected: picked.includes("md") },
300
- { key: "pdf", label: "PDF", selected: picked.includes("pdf") },
301
- { key: "docx", label: "Word", selected: picked.includes("docx") },
302
- ]}
303
- onSelect={toggle}
304
- trigger={<Button variant="secondary">导出格式</Button>}
305
- />
306
- </div>
307
- )
308
- },
309
- }
310
-
311
- /* ---------------------------------------------------------------- *
312
- * R2 新槽:控件行 / banner 与 bare 眉标
313
- * ---------------------------------------------------------------- */
314
-
315
- export const ControlRows: Story = {
316
- name: "行尾控件 + mono 读数",
317
- parameters: {
318
- docs: {
319
- description: {
320
- story:
321
- '`control` 给行尾放交互控件:该行渲染成 `<div role="menuitem">` 外壳(button 套 button 非法),' +
322
- "控件自己吃掉点击,Tab 在「当前行 → 该行控件 → 下一行」间游走,走到末尾才交还焦点。" +
323
- "`hint` 收 ReactNode,`hintMono` 让它走读数档(mono + tabular-nums),版本号用。",
324
- },
325
- },
326
- },
327
- render: function ControlRowsMenu() {
328
- const [pet, setPet] = useState(true)
329
- const [theme, setTheme] = useState("light")
330
- return (
331
- <MenuSurface
332
- width={280}
333
- ariaLabel="控件行示例"
334
- items={[
335
- { key: "settings", label: "设置", icon: <Settings />, shortcut: "Ctrl+," },
336
- {
337
- key: "pet",
338
- label: "桌面宠物",
339
- icon: <Sparkles />,
340
- control: <Switch checked={pet} onChange={setPet} aria-label="桌面宠物" />,
341
- },
342
- {
343
- key: "theme",
344
- label: "外观",
345
- icon: <Sun />,
346
- control: (
347
- <SegmentedControl
348
- size="sm"
349
- variant="outline"
350
- aria-label="外观"
351
- value={theme}
352
- onChange={setTheme}
353
- options={[
354
- { value: "light", label: "浅色" },
355
- { value: "dark", label: "深色" },
356
- { value: "system", label: "自动" },
357
- ]}
358
- />
359
- ),
360
- },
361
- MENU_SEPARATOR,
362
- { key: "version", label: "检查更新", icon: <Download />, hint: "v1.4.2", hintMono: true },
363
- ]}
364
- onSelect={(key) => {
365
- if (key === "pet") setPet((value) => !value)
366
- }}
367
- />
368
- )
369
- },
370
- }
371
-
372
- export const BannerAndBareHeader: Story = {
373
- name: "banner 槽 + bare 眉标",
374
- parameters: {
375
- docs: {
376
- description: {
377
- story:
378
- '`headerBare` 让 header 原样渲染(不套 CAPS 眉标排版)并标 `role="none"`;' +
379
- '`banner` 是 header 与条目之间的整块自定义内容(套餐井这类),同样 `role="none"` 包裹 —— ' +
380
- '`role="menu"` 的子代只认 menuitem / group / separator,不标 none 会被读屏整块跳过。',
381
- },
382
- },
383
- },
384
- args: {
385
- width: 280,
386
- ariaLabel: "账户菜单示例",
387
- headerBare: true,
388
- header: (
389
- <div className="flex items-center gap-2.5 px-2 pt-2 pb-1.5">
390
- <span className="w-8 h-8 shrink-0 [border-radius:var(--ow-radius-pill)] bg-[var(--ow-surface-2)] inline-flex items-center justify-center text-ow-fs-ui font-medium text-[color:var(--ow-text-2)]">
391
- T
392
- </span>
393
- <span className="flex flex-col min-w-0 gap-0.5">
394
- <span className="text-ow-fs-ui font-semibold text-[color:var(--ow-text)] truncate">Terry</span>
395
- <span className="text-ow-fs-eyebrow font-normal text-[color:var(--ow-text-3)] truncate">
396
- terry@orbitwork.ai
397
- </span>
398
- </span>
399
- </div>
400
- ),
401
- banner: (
402
- <div className="mx-2 mb-1.5 px-3 py-2.5 bg-[var(--ow-surface-2)] [border-radius:var(--ow-radius-md)] flex items-center justify-between gap-2">
403
- <span className="text-ow-fs-ui font-medium text-[color:var(--ow-text)]">体验版</span>
404
- <span className="text-ow-fs-eyebrow font-normal text-[color:var(--ow-text-2)] font-[family-name:var(--ow-font-mono)] tabular-nums">
405
- 1,240 / 2,000
406
- </span>
407
- </div>
408
- ),
409
- items: [
410
- { key: "settings", label: "设置", icon: <Settings /> },
411
- { key: "help", label: "帮助与反馈", icon: <Doc /> },
412
- MENU_SEPARATOR,
413
- { key: "logout", label: "退出登录", icon: <Trash />, danger: true },
414
- ],
415
- },
416
- }
@@ -1,23 +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
-
7
- test("§6 / G5:弹层无结果走 EmptyState 的 text 档(原型 L923:一行灰字、无母题)", () => {
8
- assert.ok(source.includes('import { EmptyState } from "../EmptyState"'))
9
- // A5-B4:从 sm 紧凑档改到 text 档——弹层只有一两行高,塞 28px 母题会把面撑成两倍,
10
- // 还让「没搜到」看着像一屏正经空态。度量/字阶/颜色仍由原语给,不是退回手写灰字。
11
- assert.match(source, /<EmptyState message=\{empty\} variant="text" \/>/)
12
- assert.doesNotMatch(source, /<EmptyState size="sm"/)
13
- // 手搓的 text-3 居中小字块退役
14
- assert.doesNotMatch(source, /data-ow-part="empty"\s*\n\s*className="py-4 px-2 text-\[color:var\(--ow-text-3\)\]/)
15
- })
16
-
17
- test('定位钩子 data-ow-part="empty" 保留,调用点与 e2e 不断链', () => {
18
- assert.match(source, /<div data-ow-part="empty">/)
19
- })
20
-
21
- test("默认空态文案仍在(不改对外签名)", () => {
22
- assert.match(source, /empty = "暂无结果"/)
23
- })
@@ -1,207 +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
-
7
- // ---------------------------------------------------------------------------
8
- // 立面(COMPONENT-RULES §5 / §7)
9
- // ---------------------------------------------------------------------------
10
-
11
- test("menu surface keeps the DS 2.0 popover facade", () => {
12
- assert.match(source, /bg-\[var\(--ow-popover-bg\)\]/, "面底走 --ow-popover-bg")
13
- // 悬浮层永远保留 1px 边框,影子只属离地之物。
14
- assert.match(source, /border border-\[color:var\(--ow-border\)\]/)
15
- assert.match(source, /shadow-\[var\(--ow-shadow-pop\)\]/)
16
- // 圆角 10 = 菜单档(§7 形状表)。
17
- assert.match(source, /\[border-radius:var\(--ow-radius-menu\)\]/)
18
- // z 一律走 token 梯度,禁裸数字。
19
- assert.match(source, /zIndex: "var\(--ow-z-dropdown\)"/)
20
- assert.doesNotMatch(source, /zIndex:\s*\d/, "z 不许写死数字")
21
- })
22
-
23
- test("rows sit on the popover surface, so they take the -pop interaction tier", () => {
24
- // §5:坐在 --ow-popover-bg 上的行一律 hover-pop → press-pop,不是地面的 hover/press。
25
- assert.match(
26
- source,
27
- /compoundVariants:[\s\S]*?hovered:\s*true[\s\S]*?bg-\[var\(--ow-hover-pop\)\][\s\S]*?active:bg-\[var\(--ow-press-pop\)\]/s,
28
- )
29
- assert.match(source, /bg-\[var\(--ow-error-tint\)\][\s\S]*?active:bg-\[var\(--ow-error-tint-hover\)\]/s)
30
- assert.doesNotMatch(source, /hover:bg-\[var\(--ow-hover\)\]/, "弹层内不许用地面档 hover")
31
- // 行高 32 是常态档(§7 高度表)。
32
- assert.match(source, /hasDescription:\s*\{[\s\S]*?false:\s*"h-8"/s)
33
- })
34
-
35
- test("state completeness — focus-visible ring, per-token disabled, danger, selected", () => {
36
- assert.match(source, /ow-focus-ring/, "§6 focus-visible 必做")
37
- assert.match(source, /disabled:\s*\{\s*true:\s*"cursor-not-allowed text-\[color:var\(--ow-disabled-text\)\]"/s)
38
- // 禁统一透明度禁用态(逐 token 给禁用色)。正则拼出来写,免得这行字面量本身
39
- // 被 check-ds2 的 disabled 规则当成违规命中。
40
- assert.doesNotMatch(source, new RegExp(`disabled:${"opacity"}-`), "禁统一透明度禁用态")
41
- assert.match(source, /danger:\s*\{\s*true:\s*"text-\[color:var\(--ow-error\)\]"/s)
42
- assert.match(source, /selected:\s*\{\s*true:\s*"bg-\[var\(--ow-selected-bg\)\]"/s)
43
- })
44
-
45
- test("motion is the single beacon easing at the 120ms hover tier", () => {
46
- assert.match(source, /ease-\[var\(--ow-ease-beacon\)\]/)
47
- assert.match(source, /duration-\[var\(--ow-dur-1\)\]/)
48
- assert.doesNotMatch(source, /ease-\[var\(--ow-ease-out\)\]/)
49
- // §9:禁缩放、禁位移式 hover 反馈。
50
- assert.doesNotMatch(source, /hover:[a-z-]*(?:scale|translate)-/)
51
- })
52
-
53
- // ---------------------------------------------------------------------------
54
- // 条目形态
55
- // ---------------------------------------------------------------------------
56
-
57
- test("shortcut column renders keycaps, not plain text", () => {
58
- // §7 读数(快捷键)一律 mono + tabular-nums —— Keycap 原语已经包好这两条。
59
- assert.match(source, /import \{ KeycapCombo \} from "\.\.\/Keycap"/)
60
- assert.match(source, /<KeycapCombo[^>]*keys=\{keys\}/)
61
- assert.match(source, /shortcut\?: string \| string\[\]/)
62
- })
63
-
64
- test("selected rows are marked with a real check glyph", () => {
65
- // 暗档 hover-pop 与 current-bg 同值属有意,所以选中项靠勾区分而不是靠底色;
66
- // 勾是 Lucide 系图标,不是 "✓" 字符。
67
- assert.match(source, /import \{ Check \} from "\.\.\/\.\.\/composite\/Icons"/)
68
- assert.match(source, /\{item\.selected && \(\s*<Check/s)
69
- assert.doesNotMatch(source, /✓/, "勾用图标件,不用字符")
70
- })
71
-
72
- test("entries cover separators, group labels and the legacy divider shape", () => {
73
- assert.match(source, /export const MENU_SEPARATOR/)
74
- assert.match(source, /type: "group"/)
75
- // 旧 Dropdown 的 { key: "---" } 分隔项在兼容期必须继续识别,否则老 items 数组会
76
- // 把分隔线渲染成一个空条目。
77
- assert.match(source, /const LEGACY_DIVIDER_KEY = "---"/)
78
- assert.match(source, /entry\.key === LEGACY_DIVIDER_KEY/)
79
- })
80
-
81
- test("menu semantics are on by default for item mode and off for custom children", () => {
82
- assert.match(source, /const semantics = role \?\? \(children \? "none" : "menu"\)/)
83
- assert.match(source, /role=\{semantics === "menu" \? "menu" : undefined\}/)
84
- assert.match(source, /\? "menuitem"\s*:\s*"menuitemcheckbox"/s)
85
- })
86
-
87
- // ---------------------------------------------------------------------------
88
- // 键盘导航
89
- // ---------------------------------------------------------------------------
90
-
91
- test("keyboard navigation is complete", () => {
92
- assert.match(source, /event\.key === "ArrowDown" \|\| event\.key === "ArrowUp"/)
93
- assert.match(source, /event\.key === "Home" \|\| event\.key === "End"/)
94
- assert.match(source, /event\.key === "Enter"/)
95
- assert.match(source, /event\.key === "Escape"/)
96
- assert.match(source, /aria-activedescendant/)
97
- // 首字母跳转:搜索框、行尾控件在场时让位给它们,否则打字(含空格)会被当成跳转键吃掉。
98
- // R2:判据从「只让搜索框」扩到「搜索框 + 控件区」,见文件末尾控件行一节。
99
- assert.match(source, /if \(!inSearch && !inControl && event\.key\.length === 1/)
100
- })
101
-
102
- // ---------------------------------------------------------------------------
103
- // 弹层定位(这几条是组件存在的理由,改回去就等于把 bug 放回来)
104
- // ---------------------------------------------------------------------------
105
-
106
- test("the surface escapes clipping ancestors via a fixed-position portal", () => {
107
- // 菜单常住在带 overflow 的滚动容器里(设置页 .settings__content 是 overflow-y: auto),
108
- // absolute 定位的弹层会被祖先裁掉,而裁剪不是抬 z-index 能解决的。
109
- assert.match(source, /createPortal\(menuContent, document\.body\)/)
110
- assert.match(source, /position: "fixed"/)
111
- // transform/filter 祖先会给 fixed 造出新的包含块,坐标要把那段偏移减回去。
112
- assert.match(source, /findFixedOffsetAncestor/)
113
- // 行末「…」贴右缘,不然长菜单会从行的左边探出去。
114
- assert.match(source, /align === "end" \? anchorRect\.right - dropRect\.width : anchorRect\.left/)
115
- })
116
-
117
- test("outside-click ignores both the trigger and the portalled surface", () => {
118
- // 菜单 portal 之后不在触发器子树里,只判断触发器会让「点菜单项」先关掉菜单,
119
- // click 永远来不及触发 —— 那正是行菜单最初「点了没反应」的形态。
120
- assert.match(source, /anchorRef\.current\?\.contains\(target\) \|\| surfaceRef\.current\?\.contains\(target\)/)
121
- assert.match(source, /document\.addEventListener\("pointerdown", onPointerDown, true\)/)
122
- })
123
-
124
- test("escape returns focus to the trigger", () => {
125
- assert.match(source, /const closeAndRestore = useCallback\(/)
126
- assert.match(source, /focusTrigger\(\)/)
127
- })
128
-
129
- // ---------------------------------------------------------------------------
130
- // R3 中性件
131
- // ---------------------------------------------------------------------------
132
-
133
- test("menu is a neutral pattern — no beacon, no lime", () => {
134
- assert.doesNotMatch(source, /--ow-yellow|--ow-beacon|--ow-accent-dot/)
135
- assert.doesNotMatch(source, /BeaconIcons|BeaconSpinner/)
136
- })
137
-
138
- // ---------------------------------------------------------------------------
139
- // R2 基座:控件行 / hint 读数 / banner 与 bare 眉标(T4 账户菜单的前置)
140
- // ---------------------------------------------------------------------------
141
-
142
- test("行尾控件行是 div role=menuitem,不是 button 套 button", () => {
143
- assert.match(source, /control\?: ReactNode/, "MenuItem 收 control 槽")
144
- // button 里再嵌 button 是非法 HTML,浏览器会把内层拆出去,键盘与读屏一起错位。
145
- assert.match(source, /if \(item\.control\) \{\s*return \(\s*<div/s)
146
- assert.match(source, /\{\.\.\.rowProps\}\s*ref=\{\(node: HTMLDivElement \| null\)/s)
147
- // 行本身不抢 Tab:靠方向键/面内 Tab 程序化聚焦。
148
- assert.match(source, /tabIndex=\{-1\}\s*aria-disabled=\{item\.disabled \|\| undefined\}/s)
149
- // 两种壳共用同一套行属性(立面/状态/事件逐字同构,只差标签)。
150
- assert.match(source, /const rowProps = \{/)
151
- assert.match(source, /const rowContent = \(/)
152
- // 控件区自己吃掉点击,否则开关会被切两次;键盘事件必须继续冒泡(Esc 关面、Tab 游走)。
153
- assert.match(source, /data-ow-part="item-control"[\s\S]*?onClick=\{\(event\) => event\.stopPropagation\(\)\}/s)
154
- assert.doesNotMatch(source, /data-ow-part="item-control"[\s\S]{0,400}?onKeyDown=/s, "控件区不许拦键盘事件")
155
- })
156
-
157
- test("hint 收 ReactNode,hintMono 走读数档", () => {
158
- assert.match(source, /hint\?: ReactNode/)
159
- assert.match(source, /hintMono\?: boolean/)
160
- // §7 读数:mono + tabular-nums;不加 hintMono 的 hint 排版一字不变。
161
- assert.match(source, /item\.hintMono && "font-\[family-name:var\(--ow-font-mono\)\] tabular-nums"/)
162
- })
163
-
164
- test("banner 槽与 bare 眉标都标 role=none", () => {
165
- // role="menu" 的子代只认 menuitem / group / separator,非条目内容不标 none 会被整块跳过。
166
- assert.match(source, /banner\?: ReactNode/)
167
- assert.match(source, /headerBare\?: boolean/)
168
- assert.match(source, /data-ow-part="banner" role="none"/)
169
- assert.match(source, /data-ow-part="header" data-ow-variant="bare" role="none"/)
170
- // bare 档不套眉标排版;眉标档原样保留(六个既有消费方零变化)。
171
- assert.match(source, /headerBare \? \(/)
172
- assert.match(
173
- source,
174
- /className="font-medium text-ow-fs-eyebrow leading-none text-\[color:var\(--ow-eyebrow\)\] px-2 pt-2 pb-1\.5 uppercase tracking-\[var\(--ow-ls-eyebrow\)\]"/,
175
- )
176
- })
177
-
178
- test("Tab:有控件行时面内游走,无控件行仍是离面", () => {
179
- // 旧行为(Tab 即 onClose)是全库其它菜单的现状,只有出现 control 行才改道。
180
- assert.match(source, /if \(!rovingTab\) \{\s*onClose\?\.\(\)/s)
181
- assert.match(source, /const hasControlRow = useMemo\(\(\) => navigable\.some\(\(item\) => !!item\.control\)/)
182
- // 核对(Fable):bare 头部 / banner / footer 里的按钮(复制 ID、升级)也是停靠点,否则键盘够不着;
183
- // 有这三种槽或控件行才游走,都没有时照旧离面。
184
- assert.match(source, /const rovingTab = hasControlRow \|\| \(!!header && headerBare\) \|\| !!banner/)
185
- assert.match(source, /if \(headerBare\) stops\.push\(\.\.\.focusableStops\(slot\("header"\)\)\)/)
186
- assert.match(source, /stops\.push\(\.\.\.focusableStops\(slot\("banner"\)\)\)/)
187
- assert.match(source, /stops\.push\(\.\.\.focusableStops\(slot\("footer"\)\)\)/)
188
- // 控件自己吃掉的键(分段器的 ←→ / Home / End)面不再接手,否则 Home/End 一边切段一边甩焦点。
189
- assert.match(source, /if \(inControl && event\.isDefaultPrevented\(\)\) return/)
190
- // 停靠点顺序:行 → 该行控件 → 下一行;两端才交还焦点。
191
- assert.match(source, /const tabStops = useCallback\(/)
192
- assert.match(source, /stops\.push\(row\)/)
193
- assert.match(source, /if \(index < 0 \|\| next < 0 \|\| next >= stops\.length\) \{\s*onClose\?\.\(\)/s)
194
- assert.match(source, /event\.shiftKey \? -1 : 1/, "Shift+Tab 反向游走")
195
- // roving tabindex 的控件(分段器)内部只有一个 tabIndex=0 的段算停靠点。
196
- assert.match(source, /node\.tabIndex < 0 \|\| node\.hasAttribute\("disabled"\)/)
197
- })
198
-
199
- test("焦点落在行尾控件里时,字符键 / Enter / 空格归控件", () => {
200
- // 判据是「事件源在控件区内」,不是 tagName —— 否则开关上的空格会被首字母跳转吃掉。
201
- assert.match(source, /const inControl = !!target\.closest\?\.\('\[data-ow-part="item-control"\]'\)/)
202
- assert.match(source, /const inSearch = target\.tagName === "INPUT" && !inControl/)
203
- assert.match(source, /event\.key === "Enter" && hoveredKey && !inSearch && !inControl/)
204
- assert.match(source, /if \(!inSearch && !inControl && event\.key\.length === 1/)
205
- // 控件行没有 button 的原生空格触发,补一条;普通行的空格仍走原生 click。
206
- assert.match(source, /event\.key === " " && hoveredKey && !inSearch && !inControl[\s\S]*?row\?\.control/s)
207
- })