@orbit-work/ui 0.1.2-preview.0 → 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 (795) 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 +3769 -3032
  41. package/dist/index.d.ts +3769 -3032
  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 -22209
  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 -1367
  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 -167
  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/DesktopLibraryAuthorizationDialogSource.test.mjs +0 -22
  492. package/src/components/domain/desktop/DesktopLibraryAuthorizationDialog/index.tsx +0 -171
  493. package/src/components/domain/desktop/DesktopLibraryPageView/DesktopLibraryPageView.stories.tsx +0 -49
  494. package/src/components/domain/desktop/DesktopLibraryPageView/index.tsx +0 -49
  495. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.css +0 -75
  496. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginView.stories.tsx +0 -230
  497. package/src/components/domain/desktop/DesktopLoginView/DesktopLoginViewSource.test.mjs +0 -156
  498. package/src/components/domain/desktop/DesktopLoginView/index.tsx +0 -432
  499. package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourView.stories.tsx +0 -103
  500. package/src/components/domain/desktop/DesktopOnboardingTourView/DesktopOnboardingTourViewSource.test.mjs +0 -57
  501. package/src/components/domain/desktop/DesktopOnboardingTourView/index.tsx +0 -189
  502. package/src/components/domain/desktop/DesktopPet/DesktopPet.fixture.ts +0 -243
  503. package/src/components/domain/desktop/DesktopPet/DesktopPet.stories.tsx +0 -337
  504. package/src/components/domain/desktop/DesktopPet/DesktopPetSource.test.mjs +0 -191
  505. package/src/components/domain/desktop/DesktopPet/index.tsx +0 -591
  506. package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettings.stories.tsx +0 -159
  507. package/src/components/domain/desktop/DesktopPetSettings/DesktopPetSettingsSource.test.mjs +0 -76
  508. package/src/components/domain/desktop/DesktopPetSettings/index.tsx +0 -140
  509. package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusView.stories.tsx +0 -166
  510. package/src/components/domain/desktop/DesktopRunStatusView/DesktopRunStatusViewSource.test.mjs +0 -51
  511. package/src/components/domain/desktop/DesktopRunStatusView/index.tsx +0 -34
  512. package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCard.stories.tsx +0 -122
  513. package/src/components/domain/desktop/DesktopSelectionCard/DesktopSelectionCardSource.test.mjs +0 -42
  514. package/src/components/domain/desktop/DesktopSelectionCard/index.tsx +0 -75
  515. package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySection.stories.tsx +0 -225
  516. package/src/components/domain/desktop/DesktopSettingsMemorySection/DesktopSettingsMemorySectionSource.test.mjs +0 -105
  517. package/src/components/domain/desktop/DesktopSettingsMemorySection/index.tsx +0 -340
  518. package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsView.stories.tsx +0 -177
  519. package/src/components/domain/desktop/DesktopSettingsView/DesktopSettingsViewSource.test.mjs +0 -195
  520. package/src/components/domain/desktop/DesktopSettingsView/index.tsx +0 -176
  521. package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarView.stories.tsx +0 -77
  522. package/src/components/domain/desktop/DesktopShareSelectionBarView/DesktopShareSelectionBarViewSource.test.mjs +0 -76
  523. package/src/components/domain/desktop/DesktopShareSelectionBarView/index.tsx +0 -55
  524. package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarView.stories.tsx +0 -454
  525. package/src/components/domain/desktop/DesktopSidebarView/DesktopSidebarViewSource.test.mjs +0 -388
  526. package/src/components/domain/desktop/DesktopSidebarView/index.tsx +0 -1111
  527. package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesView.stories.tsx +0 -369
  528. package/src/components/domain/desktop/DesktopSiteReleasesView/DesktopSiteReleasesViewSource.test.mjs +0 -123
  529. package/src/components/domain/desktop/DesktopSiteReleasesView/index.tsx +0 -392
  530. package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListView.stories.tsx +0 -244
  531. package/src/components/domain/desktop/DesktopSitesListView/DesktopSitesListViewSource.test.mjs +0 -198
  532. package/src/components/domain/desktop/DesktopSitesListView/index.tsx +0 -417
  533. package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageView.stories.tsx +0 -230
  534. package/src/components/domain/desktop/DesktopSkillsPageView/DesktopSkillsPageViewSource.test.mjs +0 -149
  535. package/src/components/domain/desktop/DesktopSkillsPageView/index.tsx +0 -235
  536. package/src/components/domain/desktop/DesktopTaskDetailView/index.tsx +0 -111
  537. package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallListViewSource.test.mjs +0 -302
  538. package/src/components/domain/desktop/DesktopToolCallView/DesktopToolCallView.stories.tsx +0 -409
  539. package/src/components/domain/desktop/DesktopToolCallView/index.tsx +0 -388
  540. package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShell.stories.tsx +0 -418
  541. package/src/components/domain/desktop/DesktopWorkbenchShell/DesktopWorkbenchShellSource.test.mjs +0 -151
  542. package/src/components/domain/desktop/DesktopWorkbenchShell/index.tsx +0 -167
  543. package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageView.stories.tsx +0 -135
  544. package/src/components/domain/desktop/DesktopWorkspacePageView/DesktopWorkspacePageViewSource.test.mjs +0 -57
  545. package/src/components/domain/desktop/DesktopWorkspacePageView/index.tsx +0 -114
  546. package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceView.stories.tsx +0 -227
  547. package/src/components/domain/desktop/DesktopWorkspaceView/DesktopWorkspaceViewSource.test.mjs +0 -175
  548. package/src/components/domain/desktop/DesktopWorkspaceView/index.tsx +0 -580
  549. package/src/components/domain/desktop/ResourceManagement/ResourceManagement.stories.tsx +0 -19
  550. package/src/components/domain/desktop/ResourceManagement/ResourceManagementSource.test.mjs +0 -54
  551. package/src/components/domain/desktop/ResourceManagement/SharesList.tsx +0 -323
  552. package/src/components/domain/desktop/ResourceManagement/SnapshotViews.tsx +0 -92
  553. package/src/components/domain/desktop/ResourceManagement/SnapshotViewsSource.test.mjs +0 -15
  554. package/src/components/domain/desktop/ResourceManagement/index.tsx +0 -246
  555. package/src/components/domain/desktop/ShareSettingsDialogView/index.tsx +0 -234
  556. package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmpty.stories.tsx +0 -100
  557. package/src/components/domain/desktop/SidePanelEmpty/SidePanelEmptySource.test.mjs +0 -67
  558. package/src/components/domain/desktop/SidePanelEmpty/index.tsx +0 -113
  559. package/src/components/domain/desktop/StarterCapsules/StarterCapsules.stories.tsx +0 -65
  560. package/src/components/domain/desktop/StarterCapsules/StarterCapsulesSource.test.mjs +0 -43
  561. package/src/components/domain/desktop/StarterCapsules/index.tsx +0 -90
  562. package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanel.stories.tsx +0 -59
  563. package/src/components/domain/desktop/WorkbenchSidePanel/WorkbenchSidePanelSource.test.mjs +0 -51
  564. package/src/components/domain/desktop/WorkbenchSidePanel/index.tsx +0 -74
  565. package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirm.stories.tsx +0 -79
  566. package/src/components/domain/desktop/WorkspaceMigrateConfirm/WorkspaceMigrateConfirmSource.test.mjs +0 -34
  567. package/src/components/domain/desktop/WorkspaceMigrateConfirm/index.tsx +0 -92
  568. package/src/components/domain/desktop/index.ts +0 -64
  569. package/src/components/domain/files/FileBrowser/FileBrowser.stories.tsx +0 -397
  570. package/src/components/domain/files/FileBrowser/FileBrowserSource.test.mjs +0 -75
  571. package/src/components/domain/files/FileBrowser/index.tsx +0 -221
  572. package/src/components/domain/files/FileIcon/FileIcon.stories.tsx +0 -207
  573. package/src/components/domain/files/FileIcon/FileIconSource.test.mjs +0 -39
  574. package/src/components/domain/files/FileIcon/index.tsx +0 -133
  575. package/src/components/domain/files/FilePreviewContentView/FilePreviewContentView.stories.tsx +0 -242
  576. package/src/components/domain/files/FilePreviewContentView/FilePreviewContentViewSource.test.mjs +0 -44
  577. package/src/components/domain/files/FilePreviewContentView/index.tsx +0 -125
  578. package/src/components/domain/files/FileTree/FileTree.stories.tsx +0 -204
  579. package/src/components/domain/files/FileTree/FileTreeSource.test.mjs +0 -18
  580. package/src/components/domain/files/FileTree/index.tsx +0 -106
  581. package/src/components/domain/files/PreviewDialog/PreviewDialog.stories.tsx +0 -178
  582. package/src/components/domain/files/PreviewDialog/PreviewDialogSource.test.mjs +0 -92
  583. package/src/components/domain/files/PreviewDialog/index.tsx +0 -294
  584. package/src/components/domain/files/index.ts +0 -5
  585. package/src/components/domain/index.ts +0 -8
  586. package/src/components/domain/office/CsvPreview/CsvPreview.stories.tsx +0 -264
  587. package/src/components/domain/office/CsvPreview/CsvPreviewSource.test.mjs +0 -77
  588. package/src/components/domain/office/CsvPreview/index.tsx +0 -224
  589. package/src/components/domain/office/OfficePreview/OfficePreview.stories.tsx +0 -265
  590. package/src/components/domain/office/OfficePreview/OfficePreviewDialog.stories.tsx +0 -71
  591. package/src/components/domain/office/OfficePreview/OfficePreviewDialog.tsx +0 -43
  592. package/src/components/domain/office/OfficePreview/OfficePreviewSource.test.mjs +0 -126
  593. package/src/components/domain/office/OfficePreview/index.tsx +0 -782
  594. package/src/components/domain/office/PdfPreview/PdfPreview.stories.tsx +0 -280
  595. package/src/components/domain/office/PdfPreview/PdfPreviewDialog.stories.tsx +0 -61
  596. package/src/components/domain/office/PdfPreview/PdfPreviewDialog.tsx +0 -61
  597. package/src/components/domain/office/PdfPreview/PdfPreviewSource.test.mjs +0 -70
  598. package/src/components/domain/office/PdfPreview/index.tsx +0 -217
  599. package/src/components/domain/office/index.ts +0 -5
  600. package/src/components/domain/skills/McpServerListView/McpServerListView.stories.tsx +0 -510
  601. package/src/components/domain/skills/McpServerListView/McpServerListViewSource.test.mjs +0 -101
  602. package/src/components/domain/skills/McpServerListView/index.tsx +0 -250
  603. package/src/components/domain/skills/SkillAvatarView/SkillAvatarView.stories.tsx +0 -121
  604. package/src/components/domain/skills/SkillAvatarView/SkillAvatarViewSource.test.mjs +0 -67
  605. package/src/components/domain/skills/SkillAvatarView/index.tsx +0 -112
  606. package/src/components/domain/skills/SkillCardView/SkillCardView.stories.tsx +0 -374
  607. package/src/components/domain/skills/SkillCardView/SkillCardViewSource.test.mjs +0 -35
  608. package/src/components/domain/skills/SkillCardView/index.tsx +0 -88
  609. package/src/components/domain/skills/SkillDetailPanelView/SkillDetailPanelView.stories.tsx +0 -113
  610. package/src/components/domain/skills/SkillDetailPanelView/index.tsx +0 -115
  611. package/src/components/domain/skills/SkillDetailView/SkillDetailView.stories.tsx +0 -274
  612. package/src/components/domain/skills/SkillDetailView/index.tsx +0 -121
  613. package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogView.stories.tsx +0 -128
  614. package/src/components/domain/skills/SkillImportDialogView/SkillImportDialogViewSource.test.mjs +0 -11
  615. package/src/components/domain/skills/SkillImportDialogView/index.tsx +0 -147
  616. package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalView.stories.tsx +0 -160
  617. package/src/components/domain/skills/ToolDetailModalView/ToolDetailModalViewSource.test.mjs +0 -99
  618. package/src/components/domain/skills/ToolDetailModalView/index.tsx +0 -160
  619. package/src/components/domain/skills/index.ts +0 -7
  620. package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardView.stories.tsx +0 -120
  621. package/src/components/domain/tasks/ScheduledTaskCardView/ScheduledTaskCardViewSource.test.mjs +0 -40
  622. package/src/components/domain/tasks/ScheduledTaskCardView/index.tsx +0 -135
  623. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialog.stories.tsx +0 -56
  624. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/ScheduledTaskDeleteDialogSource.test.mjs +0 -35
  625. package/src/components/domain/tasks/ScheduledTaskDeleteDialog/index.tsx +0 -73
  626. package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailView.stories.tsx +0 -121
  627. package/src/components/domain/tasks/ScheduledTaskDetailView/ScheduledTaskDetailViewSource.test.mjs +0 -115
  628. package/src/components/domain/tasks/ScheduledTaskDetailView/index.tsx +0 -223
  629. package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceView.stories.tsx +0 -526
  630. package/src/components/domain/tasks/ScheduledTasksSpaceView/ScheduledTasksSpaceViewSource.test.mjs +0 -85
  631. package/src/components/domain/tasks/ScheduledTasksSpaceView/index.tsx +0 -118
  632. package/src/components/domain/tasks/index.ts +0 -4
  633. package/src/components/domain/theme/SkinManager.stories.tsx +0 -43
  634. package/src/components/domain/theme/SkinManagerUI.tsx +0 -382
  635. package/src/components/domain/theme/ThemeDemo.stories.tsx +0 -12
  636. package/src/components/domain/theme/ThemeDemo.tsx +0 -224
  637. package/src/components/index.ts +0 -11
  638. package/src/components/primitives/Avatar/Avatar.stories.tsx +0 -170
  639. package/src/components/primitives/Avatar/AvatarSource.test.mjs +0 -37
  640. package/src/components/primitives/Avatar/index.tsx +0 -180
  641. package/src/components/primitives/BackTop/BackTop.stories.tsx +0 -122
  642. package/src/components/primitives/BackTop/BackTopSource.test.mjs +0 -61
  643. package/src/components/primitives/BackTop/index.tsx +0 -93
  644. package/src/components/primitives/Badge/Badge.stories.tsx +0 -376
  645. package/src/components/primitives/Badge/BadgeSource.test.mjs +0 -27
  646. package/src/components/primitives/Badge/index.tsx +0 -65
  647. package/src/components/primitives/Button/Button.stories.tsx +0 -287
  648. package/src/components/primitives/Button/ButtonSource.test.mjs +0 -84
  649. package/src/components/primitives/Button/index.tsx +0 -219
  650. package/src/components/primitives/Card/Card.stories.tsx +0 -186
  651. package/src/components/primitives/Card/CardSource.test.mjs +0 -73
  652. package/src/components/primitives/Card/index.tsx +0 -137
  653. package/src/components/primitives/Checkbox/Checkbox.stories.tsx +0 -79
  654. package/src/components/primitives/Checkbox/CheckboxSource.test.mjs +0 -43
  655. package/src/components/primitives/Checkbox/index.tsx +0 -87
  656. package/src/components/primitives/Chip/Chip.stories.tsx +0 -149
  657. package/src/components/primitives/Chip/ChipSource.test.mjs +0 -73
  658. package/src/components/primitives/Chip/index.tsx +0 -252
  659. package/src/components/primitives/Divider/Divider.stories.tsx +0 -68
  660. package/src/components/primitives/Divider/DividerSource.test.mjs +0 -26
  661. package/src/components/primitives/Divider/index.tsx +0 -65
  662. package/src/components/primitives/Dropdown/Dropdown.stories.tsx +0 -38
  663. package/src/components/primitives/Dropdown/DropdownSource.test.mjs +0 -23
  664. package/src/components/primitives/Dropdown/index.tsx +0 -29
  665. package/src/components/primitives/EmptyState/EmptyState.stories.tsx +0 -159
  666. package/src/components/primitives/EmptyState/EmptyStateSource.test.mjs +0 -169
  667. package/src/components/primitives/EmptyState/index.tsx +0 -185
  668. package/src/components/primitives/ErrorCard/ErrorCard.stories.tsx +0 -50
  669. package/src/components/primitives/ErrorCard/index.tsx +0 -78
  670. package/src/components/primitives/Field/Field.stories.tsx +0 -208
  671. package/src/components/primitives/Field/FieldSource.test.mjs +0 -70
  672. package/src/components/primitives/Field/index.tsx +0 -297
  673. package/src/components/primitives/InlineMessage/InlineMessage.stories.tsx +0 -137
  674. package/src/components/primitives/InlineMessage/InlineMessageSource.test.mjs +0 -50
  675. package/src/components/primitives/InlineMessage/index.tsx +0 -141
  676. package/src/components/primitives/Input/Input.stories.tsx +0 -30
  677. package/src/components/primitives/Input/index.tsx +0 -12
  678. package/src/components/primitives/Keycap/Keycap.stories.tsx +0 -93
  679. package/src/components/primitives/Keycap/KeycapSource.test.mjs +0 -30
  680. package/src/components/primitives/Keycap/index.tsx +0 -67
  681. package/src/components/primitives/Menu/Menu.stories.tsx +0 -416
  682. package/src/components/primitives/Menu/MenuEmptySource.test.mjs +0 -23
  683. package/src/components/primitives/Menu/MenuSource.test.mjs +0 -207
  684. package/src/components/primitives/Menu/index.tsx +0 -923
  685. package/src/components/primitives/Pagination/Pagination.stories.tsx +0 -77
  686. package/src/components/primitives/Pagination/PaginationSource.test.mjs +0 -24
  687. package/src/components/primitives/Pagination/index.tsx +0 -85
  688. package/src/components/primitives/Pagination/pagination.ts +0 -25
  689. package/src/components/primitives/Pagination/paginationModel.test.mjs +0 -18
  690. package/src/components/primitives/ProgressBar/ProgressBar.stories.tsx +0 -103
  691. package/src/components/primitives/ProgressBar/ProgressBarSource.test.mjs +0 -44
  692. package/src/components/primitives/ProgressBar/index.tsx +0 -68
  693. package/src/components/primitives/Radio/Radio.stories.tsx +0 -84
  694. package/src/components/primitives/Radio/RadioSource.test.mjs +0 -38
  695. package/src/components/primitives/Radio/index.tsx +0 -161
  696. package/src/components/primitives/SegmentedControl/SegmentedControl.stories.tsx +0 -110
  697. package/src/components/primitives/SegmentedControl/SegmentedControlSource.test.mjs +0 -75
  698. package/src/components/primitives/SegmentedControl/index.tsx +0 -188
  699. package/src/components/primitives/Select/Select.stories.tsx +0 -158
  700. package/src/components/primitives/Select/SelectSource.test.mjs +0 -94
  701. package/src/components/primitives/Select/index.tsx +0 -406
  702. package/src/components/primitives/Spinner/index.tsx +0 -58
  703. package/src/components/primitives/Switch/Switch.stories.tsx +0 -64
  704. package/src/components/primitives/Switch/SwitchSource.test.mjs +0 -38
  705. package/src/components/primitives/Switch/index.tsx +0 -84
  706. package/src/components/primitives/Tabs/Tabs.stories.tsx +0 -230
  707. package/src/components/primitives/Tabs/TabsSource.test.mjs +0 -91
  708. package/src/components/primitives/Tabs/index.tsx +0 -183
  709. package/src/components/primitives/index.ts +0 -24
  710. package/src/examples/ResourceManagementExample.tsx +0 -119
  711. package/src/examples/SiteWorkbenchExample.tsx +0 -96
  712. package/src/hooks/index.ts +0 -7
  713. package/src/hooks/useClickOutside.ts +0 -20
  714. package/src/hooks/useDragReorder.ts +0 -29
  715. package/src/hooks/useImeAwareEnter.ts +0 -59
  716. package/src/hooks/useImeAwareEnterSource.test.mjs +0 -65
  717. package/src/hooks/useKeyboard.ts +0 -16
  718. package/src/hooks/usePopover.ts +0 -67
  719. package/src/hooks/useSelectedOptionLocator.ts +0 -33
  720. package/src/hooks/useSidebarResize.ts +0 -107
  721. package/src/hooks/useTenantTheme.ts +0 -53
  722. package/src/hooks/useUnifiedTheme.ts +0 -85
  723. package/src/index.ts +0 -6
  724. package/src/lib/InjectedStyleTokenMirrorSource.test.mjs +0 -67
  725. package/src/lib/about-window.test.mjs +0 -46
  726. package/src/lib/about-window.ts +0 -218
  727. package/src/lib/appearance.test.mjs +0 -283
  728. package/src/lib/appearance.ts +0 -46
  729. package/src/lib/browser-annotation-popup.ts +0 -151
  730. package/src/lib/focusTrap.ts +0 -51
  731. package/src/lib/index.ts +0 -5
  732. package/src/lib/shortcut.test.mjs +0 -100
  733. package/src/lib/shortcut.ts +0 -97
  734. package/src/lib/twMergeOw.ts +0 -18
  735. package/src/lib/utils.ts +0 -6
  736. package/src/screens/Browser.stories.tsx +0 -353
  737. package/src/screens/Chat.stories.tsx +0 -808
  738. package/src/screens/Home.stories.tsx +0 -253
  739. package/src/screens/Login.stories.tsx +0 -134
  740. package/src/screens/McpManager.stories.tsx +0 -159
  741. package/src/screens/Onboarding.stories.tsx +0 -155
  742. package/src/screens/ScheduledTasks.stories.tsx +0 -134
  743. package/src/screens/ScreenFrameSource.test.mjs +0 -77
  744. package/src/screens/SettingsAppearance.stories.tsx +0 -117
  745. package/src/screens/SettingsMemory.stories.tsx +0 -128
  746. package/src/screens/SettingsModels.stories.tsx +0 -228
  747. package/src/screens/SettingsSections.stories.tsx +0 -164
  748. package/src/screens/Share.stories.tsx +0 -202
  749. package/src/screens/SharePage.stories.tsx +0 -29
  750. package/src/screens/Sites.stories.tsx +0 -183
  751. package/src/screens/Skills.stories.tsx +0 -83
  752. package/src/screens/Workspace.stories.tsx +0 -191
  753. package/src/screens/_home.tsx +0 -46
  754. package/src/screens/_screen.tsx +0 -355
  755. package/src/screens/_settingsNav.ts +0 -27
  756. package/src/screens/_skillsCatalog.tsx +0 -372
  757. package/src/theme/SkinDenylistSyncSource.test.mjs +0 -124
  758. package/src/theme/__tests__/skins.test.mjs +0 -84
  759. package/src/theme/core/semanticAdapter.ts +0 -116
  760. package/src/theme/core/skin.ts +0 -605
  761. package/src/theme/core/skinScoped.ts +0 -289
  762. package/src/theme/core/tenantTheme.test.mjs +0 -127
  763. package/src/theme/core/tenantTheme.ts +0 -124
  764. package/src/theme/core/types.ts +0 -60
  765. package/src/theme/core/unifiedTheme.ts +0 -157
  766. package/src/theme/index.ts +0 -33
  767. package/src/theme/providers/BrandingProvider.tsx +0 -57
  768. package/src/theme/providers/ThemeProvider.tsx +0 -221
  769. package/src/theme/skinDs2PropertyGate.test.mjs +0 -109
  770. package/src/theme/skins/index.ts +0 -107
  771. package/src/theme/utils/cssSafety.ts +0 -92
  772. package/src/theme/utils/skinManager.ts +0 -159
  773. package/src/theme/utils/themeApplier.ts +0 -75
  774. package/src/tokens/DesktopSurfacesSweep15Source.test.mjs +0 -77
  775. package/src/tokens/SharedStyleSheetsSource.test.mjs +0 -90
  776. package/src/tokens/TailwindThemeSupplySource.test.mjs +0 -129
  777. package/src/tokens/base.ts +0 -199
  778. package/src/tokens/dark.ts +0 -288
  779. package/src/tokens/index.ts +0 -4
  780. package/src/tokens/light.ts +0 -320
  781. package/src/tokens/tailwind.ts +0 -216
  782. package/src/types/desktop-pet.ts +0 -100
  783. package/src/types/file-browser.ts +0 -51
  784. package/src/types/file-tree.ts +0 -34
  785. package/src/types/index.ts +0 -3
  786. package/src/types/xspreadsheet.d.ts +0 -4
  787. package/src/utils/cn.ts +0 -6
  788. package/src/utils/glyphColor.ts +0 -32
  789. package/src/utils/index.ts +0 -4
  790. package/src/utils/localPathInline.test.mjs +0 -45
  791. package/src/utils/localPathInline.ts +0 -49
  792. package/src/utils/markdownFileRefs.test.mjs +0 -88
  793. package/src/utils/markdownFileRefs.ts +0 -140
  794. package/src/utils/office-excel.ts +0 -452
  795. package/src/utils/shiki.ts +0 -156
package/README.md CHANGED
@@ -11,7 +11,7 @@ npm i @orbit-work/ui
11
11
  在 React 应用入口引入样式,并从包根路径导入组件:
12
12
 
13
13
  ```tsx
14
- import '@orbit-work/ui/styles/orbitwork.css'
14
+ import '@orbit-work/ui/styles/core.css'
15
15
  import { Button, ThemeProvider } from '@orbit-work/ui'
16
16
 
17
17
  export default function App() {
@@ -23,31 +23,81 @@ export default function App() {
23
23
  }
24
24
  ```
25
25
 
26
- 项目需要提供 React 18 或更高版本以及 React DOM 18 或更高版本。
26
+ 项目需要提供 React 19 或更高版本以及 React DOM 19 或更高版本。
27
+
28
+ ### 公共入口
29
+
30
+ 包根入口只面向 Renderer/Web。不要从 `components/*`、`theme/*` 或其他源码目录深层导入;不同运行环境使用对应的稳定子入口:
31
+
32
+ | 入口 | 使用环境 |
33
+ | --- | --- |
34
+ | `@orbit-work/ui` | React 组件、Hooks、Theme Provider |
35
+ | `@orbit-work/ui/appearance` | Electron main/preload、SDK/CLI 的无 React 主题合同 |
36
+ | `@orbit-work/ui/slot/core` | Slot registry、声明和类型(运行时无 React) |
37
+ | `@orbit-work/ui/slot/react` | `SlotProvider`、`SlotOutlet` 和 React Hooks |
38
+ | `@orbit-work/ui/about-window` | Electron main 的 About Window HTML |
39
+ | `@orbit-work/ui/browser-annotation-popup` | WebView preload 的批注浮层合同 |
40
+ | `@orbit-work/ui/styles/core.css` | Renderer/Web 必需的 Token、基础样式和共享组件样式 |
41
+ | `@orbit-work/ui/styles/office.css` | OfficePreview 第三方适配;在 `core.css` 后按需引入 |
42
+ | `@orbit-work/ui/styles/file-tree.css` | FileTree 的 rc-tree 适配;在 `core.css` 后按需引入 |
43
+ | `@orbit-work/ui/styles/workbench.css` | 完整 Workbench 样式 profile(core + Office + FileTree) |
44
+ | `@orbit-work/ui/styles/tailwind.css` | 宿主构建期使用的 Tailwind 语义 token 合同;只用于 `@reference` |
45
+
46
+ Web 应用先引入一次 `core.css`,再按实际功能增加可选适配。完整 Workbench renderer 引入
47
+ `workbench.css`;Electron 的 `app-region` 命中区由 Desktop 宿主自己的
48
+ `renderer/electron-shell.css` 持有。组件视觉由组件源码自身持有,
49
+ 不要与其他 profile 重复组合。不存在隐式的“全量入口”;每个消费者必须明确选择职责。
50
+ UI 样式不扫描消费方源码。需要在应用层使用 Tailwind utility 的宿主必须由自己的构建入口扫描自己的源码,
51
+ 并通过 `@reference "@orbit-work/ui/styles/tailwind.css"` 复用同一套语义 token。
52
+
53
+ Token 的唯一可编辑产品源是 `src/tokens/*.ts`,`styles/tokens*.css` 均由脚本生成。
54
+ `contracts/ds2-spec.json` 只保存设计仓库上游快照;Orbitwork 自有 token 与经过审查的上游覆盖登记在
55
+ `contracts/ds2-extensions.json`。`pnpm check:ds2` 双向校验上游合同、本地扩展和最终 CSS,禁止静默缺失、
56
+ 未登记新增、单主题 token 或陈旧登记。
57
+
58
+ ## 样式所有权与定制合同
59
+
60
+ 组件的结构、几何和交互态由组件自己持有。优先在组件内使用 Tailwind utility 与 DS2 `--ow-*` 语义 token;只有第三方内容、复杂伪元素或确有级联需要时才使用同目录 CSS。`styles/` 根目录只保留 token、reset、跨组件壳体和明确的第三方适配,不能成为页面私有样式仓库。
61
+
62
+ 视觉类名是实现细节,不是 API。公开结构合同统一为:
63
+
64
+ - `data-slot="component-name"`:组件根或稳定子组件;
65
+ - `data-ow-part="part-name"`:必须在所属 `data-slot` 下定位的公开部件;
66
+ - `data-ow-state` / `data-ow-role` / `data-ow-kind`:文档列出的状态维度;
67
+ - props、具名 ReactNode 槽和回调:调整内容、布局和行为的首选入口。
68
+
69
+ 对外导出的组件中,已由 Story 与 Source test 固化的 slot/part 名是组件和自动化合同,但它们不会自动成为皮肤权限。可由皮肤精准覆写的 selector 及属性以 `ORBITWORK_SKIN_PUBLIC_PARTS` 为唯一白名单。不要用裸 `[data-ow-part="body"]`;`body`、`title`、`action` 会在很多组件重复。精准规则必须从组件根开始:
70
+
71
+ ```css
72
+ [data-slot="artifact-preview-card"] [data-ow-part="meta"] {
73
+ color: var(--ow-text-2);
74
+ font-weight: 500;
75
+ }
76
+ ```
77
+
78
+ 消费顺序从稳定到精细依次为:组件 props/组合槽 → 主题 token → 官方开放且由皮肤登记用途的 public-part 精准规则。OEM 改页面结构应走 Slot 的包裹或替换,不应复制宿主 DOM 后覆盖内部类名。运行时皮肤的每条精准规则都必须写入 `contributes.registry`,且 selector 与 CSS 属性都必须出现在 UI 官方白名单中;导入器会拒绝自报 selector、裸 part、视觉类、未登记规则、外部 URL、锁定件和 DS2 禁止的几何/动效/颜色。
27
79
 
28
80
  ## 目录结构
29
81
 
30
82
  ```text
31
83
  packages/ui/
32
84
  ├── src/
33
- │ ├── components/ # React 组件(primitives / composite / domain / Layout
85
+ │ ├── components/ # React 组件(primitives / composite / domain / layout
34
86
  │ ├── hooks/ # 通用 Hooks
87
+ │ ├── slot/ # Slot 的 React-free core 与 React bindings
35
88
  │ ├── theme/ # 主题、皮肤(skins)与 ThemeProvider
36
89
  │ ├── tokens/ # Design Tokens 定义
37
90
  │ ├── lib/ # 独立入口(appearance / about-window / browser-annotation-popup)
38
91
  │ └── utils/ # 工具函数
39
92
  ├── styles/ # 全局样式与组件样式源文件
93
+ ├── contracts/ # 上游 DS2 快照与 Orbitwork Token 扩展合同
40
94
  ├── scripts/ # 构建与代码生成脚本
41
95
  └── .storybook/ # Storybook 文档站配置
42
96
  ```
43
97
 
44
- ## 研发与测试规范
45
-
46
- 开发或修改组件前,Coding Agent 应先阅读以下规范文档:
98
+ ## 维护指南
47
99
 
48
- - **研发规范**:仓库根 [`AGENTS.md`](../../AGENTS.md) 硬性规则、Token 约束、Story 强制、工程纪律
49
- - **组件开发工作流**:[`.agents/skills/ui-development/`](../../.agents/skills/ui-development/SKILL.md) — 新组件的创建流程与目录约定
50
- - **测试规范**:[`AGENTS.md`](../../AGENTS.md) 的「测试分层」章节 + [`.agents/skills/ui-quality/`](../../.agents/skills/ui-quality/) — 单元测试与 Storybook 视觉测试标准
100
+ 修改组件、样式、公共入口或质量守卫前,请阅读同目录的 [`AGENTS.md`](./AGENTS.md)。其中记录了 UI 包的代码所有权、分层边界、组件生产流程、DS 2.0 约束和验证要求。
51
101
 
52
102
  ## 本地开发
53
103
 
@@ -60,51 +110,3 @@ pnpm build # 构建组件库(ESM/CJS + 样式产物)
60
110
  pnpm typecheck # TypeScript 类型检查
61
111
  pnpm test # 运行单元测试
62
112
  ```
63
-
64
- ## DS 2.0 守卫(`pnpm check:ds2`)
65
-
66
- `scripts/check-ds2.mjs` 扫 `src/components/**` 与 `styles/*.css`(`tokens*.css` 是生成物,跳过;
67
- `*.test.mjs` 也跳过——源码守卫测试的正文本来就是「被禁写法的正则字面量」),把 DS 2.0 契约里
68
- **改一次就会全库漂**的那几条钉成 HARD 规则(`exit 1`);另有 WARN 级只打印不拦。
69
- 规则体在 `scripts/ds2-rules.mjs`(纯函数,可单测),测试在 `scripts/check-ds2.test.mjs`
70
- (`pnpm test:ds2`,也含在 `pnpm test` 里)。
71
-
72
- | 规则 | 抓什么 | 正解 |
73
- | --- | --- | --- |
74
- | `yellow` | 荧黄/信标极色写死 | 经语义 token 或品牌锁定件取色 |
75
- | `paper` / `stage` / `term` | 恒定域 token 越出各自语境 | 只在文档纸面 / login·share·splash / 终端语境用 |
76
- | `primary` | 共享 CSS 里裸引 `--ow-primary` 族 | 见下 `primary-nonpole` |
77
- | `v1-naming` | V1 token 与类名回流 | DS2 语义 token |
78
- | `disabled` | 统一透明度禁用态 | 逐 token 禁用色 |
79
- | `hover-move` | hover 位移/缩放 | hover 只换色 |
80
- | `shimmer` | 流光扫过动效 | 呼吸(opacity)或静止 |
81
- | `drift` | `styles/tokens.css` 与设计侧规格 `tokens/ds2-spec.json` 逐值比对 | 改设计仓库后 `--update-spec` 重抽 |
82
-
83
- W5 防回流批(新增):
84
-
85
- | 规则 | 抓什么 | 正解 |
86
- | --- | --- | --- |
87
- | `radius-literal` | `border-radius: Npx` / `rounded-[Npx]`,N ∉ {0,4,6,8,10,12,16,999,9999};组件层的裸 Tailwind 圆角刻度类(`rounded-md/lg/2xl…`,含侧向变体) | `[border-radius:var(--ow-radius-*)]` 或 ow 圆角类。`rounded-none` / `rounded-full` 不禁;`calc()/min()/max()/clamp()` 里的 px 不计 |
88
- | `grounded-shadow` | 在贴地面上消费 `var(--ow-shadow-1\|-2)` / `shadow-ow-shadow-1\|2` | §5 平面贴地零影:分层用 `1px var(--ow-border)`。投影只属 popover/menu/modal/dialog/toast/tooltip/pet/floating 等真悬浮层,且要逐条进 allowlist |
89
- | `bare-transition` | `transition-all/-colors/-opacity/-shadow/-transform/-[…]` 未配 `duration-[var(--ow-dur-*)]`;CSS/内联/`duration-…` 里的字面时长 ∉ {120,200,320}ms | `--ow-dur-1/2/3` + `--ow-ease(-beacon)`。reduced-motion 兜底(0.01ms)、skeleton/呼吸(1.6s)、自转、第三方皮肤在 allowlist |
90
- | `primary-nonpole` | 组件层的 `var(--ow-primary…)`、全库的 `(bg\|text\|border)-ow-primary*` 类 | §4 行动极唯一:焦点→`--ow-focus-ring`、选中→`--ow-current-bg`/`--ow-control-on`、链接→`--ow-link`、hover→`--ow-hover`、tint→`--ow-info-tint` 族、实底字→`--ow-on-fill`、真主按钮→`--ow-btn-primary-*` |
91
- | `control-height` | `h-9` / `h-11` / `h-[NNpx]` / `min-h-[NNpx]` 与 `height\|min-height: NNpx`,NN ∈ {22,24,26,30,34,35,36,38,44,46,48} | §7 控件高只有 {28,32,40}:`--ow-h-sm/md/lg`、行高 `--ow-row-h(-dense)`;48 只属标题带,写成 `var(--ow-titlebar-h)`。`max-height`/`line-height` 与算式里的 px 不计 |
92
- | `unlayered-global` | `styles/*.css` 里 `@layer` 之外、选择器是 `*` 或裸元素名的规则 | 收进 `@layer base { }`。Tailwind v4 里未分层声明永远压过 `@layer utilities`,这种规则会静默压死整库工具类 |
93
-
94
- ### allowlist
95
-
96
- `scripts/ds2-allowlist.json`:规则名 → 条目数组,每条都要在 `$reasons` 里写理由
97
- (测试会验「有条目必有 `$reasons`」)。条目两种写法:
98
-
99
- ```jsonc
100
- "src/components/composite/Splash/**", // 整路径豁免
101
- "styles/desktop-surfaces.css::.scroll-fab" // 只豁免该文件里 scope 含 needle 的命中
102
- ```
103
-
104
- `needle` 按子串、大小写不敏感地匹配命中的 **scope**:CSS 命中的 scope 是
105
- `选择器 { 声明原文 }`,源码命中的 scope 是出事那行。选择器级豁免是新规的必需品——
106
- `desktop-surfaces.css` 是六千行共享表,整文件豁免等于把规则关掉。
107
-
108
- 写 `$reasons` 的要求是**说清它凭什么是例外**,不是「历史如此」:`control-height` 要写
109
- 它为什么不是控件(图标位/头像位/内容缩略盒/只读标签/文本块下限),`grounded-shadow`
110
- 要写它凭什么算悬浮层,`primary-nonpole` 要写它凭什么占行动极。
@@ -1 +1,271 @@
1
- 'use strict';var chunk5VLBKOG7_cjs=require('./chunk-5VLBKOG7.cjs');Object.defineProperty(exports,"renderAboutWindowHtml",{enumerable:true,get:function(){return chunk5VLBKOG7_cjs.a}});
1
+ "use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }// src/lib/about-window.ts
2
+ function renderAboutWindowHtml({
3
+ version,
4
+ notes,
5
+ logoSvg,
6
+ logoDataUrl,
7
+ theme,
8
+ productName = "Orbitwork"
9
+ }) {
10
+ const versionText = escapeHtml(version.trim() || "\u672A\u77E5");
11
+ const notesText = escapeHtml(notes.trim() || "\u6682\u65E0\u7248\u672C\u8BF4\u660E");
12
+ const brandText = escapeHtml(productName.trim() || "Orbitwork");
13
+ const logoMarkup = logoDataUrl ? `<img src="${escapeHtml(logoDataUrl)}" alt="" aria-hidden="true" />` : logoSvg;
14
+ const light = resolvePalette(_optionalChain([theme, 'optionalAccess', _ => _.light]), {
15
+ bg: "#F7F6F1",
16
+ surface: "#FDFDFC",
17
+ border: "#DCDCD7",
18
+ text: "#333B50",
19
+ text2: "#646B7A"
20
+ });
21
+ const dark = resolvePalette(_optionalChain([theme, 'optionalAccess', _2 => _2.dark]), {
22
+ bg: "#16171B",
23
+ surface: "#1E2025",
24
+ border: "#2A2C33",
25
+ text: "#ECEBE5",
26
+ text2: "#82878F"
27
+ });
28
+ const brandPaletteCss = _optionalChain([theme, 'optionalAccess', _3 => _3.light]) || _optionalChain([theme, 'optionalAccess', _4 => _4.dark]) ? `
29
+ :root {
30
+ --about-bg: ${light.bg};
31
+ --about-surface: ${light.surface};
32
+ --about-border: ${light.border};
33
+ --about-text: ${light.text};
34
+ --about-text-2: ${light.text2};
35
+ }
36
+ @media (prefers-color-scheme: dark) {
37
+ :root:not([data-theme="light"]) {
38
+ --about-bg: ${dark.bg};
39
+ --about-surface: ${dark.surface};
40
+ --about-border: ${dark.border};
41
+ --about-text: ${dark.text};
42
+ --about-text-2: ${dark.text2};
43
+ }
44
+ }
45
+ :root[data-theme="dark"] {
46
+ --about-bg: ${dark.bg};
47
+ --about-surface: ${dark.surface};
48
+ --about-border: ${dark.border};
49
+ --about-text: ${dark.text};
50
+ --about-text-2: ${dark.text2};
51
+ }` : "";
52
+ return `<!doctype html>
53
+ <html lang="zh-CN">
54
+ <head>
55
+ <meta charset="utf-8" />
56
+ <meta http-equiv="Content-Security-Policy" content="default-src 'none'; style-src 'unsafe-inline'; img-src data:;" />
57
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
58
+ <title>\u5173\u4E8E ${brandText}</title>
59
+ <style>
60
+ /*
61
+ * \u8FD9\u662F\u4E00\u4EFD\u72EC\u7ACB document\uFF08Electron \u81EA\u7ED8\u7A97\uFF0Cdata: URL \u8F7D\u5165\uFF09\uFF0C--ow-* \u4E3B token \u8868\u4E0D\u5728\u573A\uFF0C
62
+ * \u4E5F\u6CA1\u6709\u4EFB\u4F55\u5B57\u4F53\u6587\u4EF6\u53EF\u52A0\u8F7D\uFF08CSP \u65E0 font-src\uFF09\u3002\u6240\u4EE5\u914D\u8272\u4E00\u5F8B\u300C\u6284 DS 2.0 \u7EC8\u503C\u300D\u800C\u975E\u5F15\u7528\u53D8\u91CF\uFF0C
63
+ * \u6BCF\u7EC4\u503C\u65C1\u6CE8\u660E\u51FA\u5904\uFF1B\u5B57\u4F53\u53EA\u5199\u65CF\u540D\u6808\u5E76\u7ED9\u5230\u7CFB\u7EDF\u7EA7\u56DE\u9000\u3002
64
+ * \u9ED8\u8BA4\u503C\u51FA\u5904\uFF1Apackages/ui/src/tokens/light.ts \xB7 dark.ts \xB7 base.ts \xB7 metrics.ts\uFF1B
65
+ * \u767D\u6807\u5BBF\u4E3B\u53EF\u901A\u8FC7\u5DF2\u7ECF\u5BA1\u8BA1\u7684\u660E\u6697 palette \u8986\u76D6\u5BF9\u5E94\u8BED\u4E49\u8272\u3002
66
+ */
67
+ :root {
68
+ /* ---- \u6D45\u6863\uFF1A\u6284\u81EA tokens light \u7EC8\u503C ---- */
69
+ --about-bg: #F7F6F1; /* light --ow-bg = gray-00 */
70
+ --about-surface: #FDFDFC; /* light --ow-surface */
71
+ --about-border: #DCDCD7; /* light --ow-border = gray-10 */
72
+ --about-text: #333B50; /* light --ow-text = gray-70 */
73
+ --about-text-2: #646B7A; /* light --ow-text-2 = gray-50\uFF08--ow-eyebrow \u540C\u503C\uFF09 */
74
+ --about-scrollbar: #C2C3C1; /* light --ow-scrollbar = gray-20 */
75
+ --about-scrollbar-hover: #A2A5A9; /* light --ow-scrollbar-hover = gray-30 */
76
+ --about-selection-bg: #0F1B3D; /* light --ow-selection-bg = navy */
77
+ --about-selection-fg: #F7F6F1; /* light --ow-selection-text = white */
78
+
79
+ /* ---- \u5F62\u72B6\u4E0E\u5EA6\u91CF\uFF1A\u6284\u81EA base.ts / metrics.ts\uFF08\u5F62\u72B6\u8868 \xA77\uFF09 ---- */
80
+ --about-space-2: 8px; /* --ow-space-2 */
81
+ --about-space-4: 16px; /* --ow-space-4 */
82
+ --about-space-5: 20px; /* --ow-space-5 */
83
+ --about-space-6: 24px; /* --ow-space-6 */
84
+ --about-space-8: 32px; /* --ow-space-8 */
85
+ --about-radius-lg: 12px; /* --ow-radius-lg\uFF08\u5361\u7247\u6863\uFF09 */
86
+ --about-radius-pill: 999px; /* --ow-radius-pill */
87
+ --about-border-w: 1px; /* --ow-border-width-default\uFF08\u8D34\u5730 1px \u8FB9\u6846\uFF09 */
88
+ --about-fs-body: 14px; /* --ow-fs-body */
89
+ --about-fs-ui: 13px; /* --ow-fs-ui */
90
+ --about-fs-eyebrow-cjk: 12px; /* --ow-fs-eyebrow-cjk */
91
+ --about-ls-eyebrow-cjk: 0.08em; /* --ow-ls-eyebrow-cjk */
92
+ --about-lh-ui: 1.5; /* --ow-lh-ui */
93
+ --about-lh-body: 1.75; /* --ow-lh-body */
94
+ --about-fw-medium: 500; /* --ow-font-weight-medium */
95
+ --about-fw-semibold: 600; /* --ow-font-weight-semibold */
96
+ --about-dur-2: 200ms; /* --ow-dur-2\uFF08\u4E3B\u9898\u5207\u6362\u8FC7\u6E21\uFF0C\xA79\uFF09 */
97
+ --about-ease: cubic-bezier(0.22, 1, 0.36, 1); /* --ow-ease-beacon\uFF08\u552F\u4E00\u7F13\u52A8\uFF09 */
98
+
99
+ /* ---- \u5B57\u65CF\u6808\uFF1A\u6284\u81EA base.ts \u7684\u65CF\u540D\uFF0C\u5C3E\u90E8\u8865\u72EC\u7ACB document \u53EF\u7528\u7684\u7CFB\u7EDF\u56DE\u9000\uFF1Bemoji \u65CF\u7F6E\u6808\u5C3E\uFF08\xA78\uFF09 ---- */
100
+ --about-font-sans: "HarmonyOS Sans SC", "Noto Sans SC", -apple-system, BlinkMacSystemFont,
101
+ "Segoe UI", "PingFang SC", "Microsoft YaHei", sans-serif, "Apple Color Emoji",
102
+ "Segoe UI Emoji", "Noto Color Emoji";
103
+ --about-font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas,
104
+ "HarmonyOS Sans SC", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", monospace,
105
+ "Apple Color Emoji", "Segoe UI Emoji", "Noto Color Emoji";
106
+
107
+ color-scheme: light dark;
108
+ }
109
+ /* ---- \u6697\u6863\uFF1A\u6284\u81EA tokens dark \u7EC8\u503C\u3002\u5C5E\u6027\u4F18\u5148\uFF08\u5BBF\u4E3B\u53EF\u9489 data-theme\uFF09\uFF0C\u65E0\u5C5E\u6027\u65F6\u968F\u7CFB\u7EDF ---- */
110
+ @media (prefers-color-scheme: dark) {
111
+ :root:not([data-theme="light"]) {
112
+ --about-bg: #16171B; /* dark --ow-bg = graphite */
113
+ --about-surface: #1E2025; /* dark --ow-surface = graphite-raised */
114
+ --about-border: #2A2C33; /* dark --ow-border = graphite-border */
115
+ --about-text: #ECEBE5; /* dark --ow-text = gray-05 */
116
+ --about-text-2: #82878F; /* dark --ow-text-2 = gray-40 */
117
+ --about-scrollbar: #3A3D46; /* dark --ow-scrollbar */
118
+ --about-scrollbar-hover: #4A5164; /* dark --ow-scrollbar-hover */
119
+ --about-selection-bg: #F7F6F1; /* dark --ow-selection-bg */
120
+ --about-selection-fg: #0F1B3D; /* dark --ow-selection-text = navy */
121
+ }
122
+ }
123
+ :root[data-theme="dark"] {
124
+ /* \u4E0E\u4E0A\u65B9\u5A92\u4F53\u67E5\u8BE2\u5757\u9010\u503C\u4E00\u81F4 */
125
+ --about-bg: #16171B;
126
+ --about-surface: #1E2025;
127
+ --about-border: #2A2C33;
128
+ --about-text: #ECEBE5;
129
+ --about-text-2: #82878F;
130
+ --about-scrollbar: #3A3D46;
131
+ --about-scrollbar-hover: #4A5164;
132
+ --about-selection-bg: #F7F6F1;
133
+ --about-selection-fg: #0F1B3D;
134
+ }
135
+
136
+ ${brandPaletteCss}
137
+ * { box-sizing: border-box; }
138
+ html {
139
+ width: 100%;
140
+ height: 100%;
141
+ background: var(--about-bg);
142
+ }
143
+ body {
144
+ width: 100%;
145
+ height: 100%;
146
+ margin: 0;
147
+ overflow: hidden;
148
+ color: var(--about-text);
149
+ background: var(--about-bg);
150
+ font-family: var(--about-font-sans);
151
+ -webkit-font-smoothing: antialiased;
152
+ -webkit-user-select: none;
153
+ user-select: none;
154
+ transition: background-color var(--about-dur-2) var(--about-ease),
155
+ color var(--about-dur-2) var(--about-ease);
156
+ }
157
+ ::selection {
158
+ background: var(--about-selection-bg);
159
+ color: var(--about-selection-fg);
160
+ }
161
+ /* \u62D6\u62FD\u6761 28px\uFF1D\u4E0E trafficLightPosition y:14 \u5BF9\u79F0\u7684\u529F\u80FD\u51E0\u4F55\uFF0C\u975E\u95F4\u8DDD\u9636\uFF0C\u4FDD\u6301\u4E0D\u52A8 */
162
+ [data-slot="about-window"] [data-ow-part="drag-region"] { height: 28px; -webkit-app-region: drag; }
163
+ [data-slot="about-window"] [data-ow-part="content"] {
164
+ height: calc(100% - 28px);
165
+ min-height: 0;
166
+ display: flex;
167
+ flex-direction: column;
168
+ align-items: center;
169
+ padding: var(--about-space-2) var(--about-space-8) var(--about-space-6);
170
+ }
171
+ /* \u5B57\u6807\u8D34\u5730\uFF1A\xA75\u300C\u5F71\u5B50\u53EA\u5C5E\u79BB\u5730\u4E4B\u7269\u300D\u2014\u2014\u539F\u6765\u7684\u88C5\u9970\u6295\u5F71\uFF08filter \u8F89\u5149\uFF092.0 \u4E00\u5F8B\u6E05\u9664 */
172
+ [data-slot="about-window"] [data-ow-part="logo"] {
173
+ width: 84px;
174
+ height: 84px;
175
+ flex: 0 0 auto;
176
+ display: grid;
177
+ place-items: center;
178
+ }
179
+ [data-slot="about-window"] [data-ow-part="logo"] svg,
180
+ [data-slot="about-window"] [data-ow-part="logo"] img {
181
+ width: 84px;
182
+ height: 84px;
183
+ display: block;
184
+ object-fit: contain;
185
+ }
186
+ [data-slot="about-window"] [data-ow-part="version"] {
187
+ margin-top: var(--about-space-4);
188
+ color: var(--about-text);
189
+ /* \u7248\u672C\u53F7\uFF1D\u8BFB\u6570\uFF0C\xA77 \u4E00\u5F8B mono\uFF0Btabular-nums */
190
+ font-family: var(--about-font-mono);
191
+ font-size: var(--about-fs-body);
192
+ font-weight: var(--about-fw-semibold);
193
+ line-height: var(--about-lh-ui);
194
+ font-variant-numeric: tabular-nums;
195
+ -webkit-user-select: text;
196
+ user-select: text;
197
+ }
198
+ [data-slot="about-window"] [data-ow-part="notes"] {
199
+ width: 100%;
200
+ min-height: 0;
201
+ flex: 1 1 auto;
202
+ margin-top: var(--about-space-5);
203
+ overflow-y: auto;
204
+ /* \u8D34\u5730\u4E4B\u7269\uFF1A0 \u5F71\uFF0B1px \u8FB9\u6846\uFF08\xA75\uFF09 */
205
+ border: var(--about-border-w) solid var(--about-border);
206
+ border-radius: var(--about-radius-lg);
207
+ padding: var(--about-space-4);
208
+ background: var(--about-surface);
209
+ -webkit-user-select: text;
210
+ user-select: text;
211
+ transition: background-color var(--about-dur-2) var(--about-ease),
212
+ border-color var(--about-dur-2) var(--about-ease);
213
+ }
214
+ /* \u300C\u7248\u672C\u8BF4\u660E\u300D\uFF1D\u4E2D\u6587\u7709\u6807\uFF1A500 / 12px / +0.08em / --ow-eyebrow\uFF08\xA78\uFF09 */
215
+ [data-slot="about-window"] [data-ow-part="notes-title"] {
216
+ margin: 0;
217
+ color: var(--about-text-2);
218
+ font-size: var(--about-fs-eyebrow-cjk);
219
+ font-weight: var(--about-fw-medium);
220
+ letter-spacing: var(--about-ls-eyebrow-cjk);
221
+ line-height: var(--about-lh-ui);
222
+ }
223
+ [data-slot="about-window"] [data-ow-part="notes-body"] {
224
+ margin: var(--about-space-2) 0 0;
225
+ color: var(--about-text);
226
+ font-size: var(--about-fs-ui);
227
+ line-height: var(--about-lh-body);
228
+ white-space: pre-wrap;
229
+ overflow-wrap: anywhere;
230
+ }
231
+ ::-webkit-scrollbar { width: var(--about-space-2); }
232
+ ::-webkit-scrollbar-thumb {
233
+ border-radius: var(--about-radius-pill);
234
+ background: var(--about-scrollbar);
235
+ }
236
+ ::-webkit-scrollbar-thumb:hover { background: var(--about-scrollbar-hover); }
237
+ @media (prefers-reduced-motion: reduce) {
238
+ body, [data-slot="about-window"] [data-ow-part="notes"] { transition: none; }
239
+ }
240
+ </style>
241
+ </head>
242
+ <body data-slot="about-window">
243
+ <div data-ow-part="drag-region" aria-hidden="true"></div>
244
+ <main data-ow-part="content">
245
+ <div data-ow-part="logo" aria-label="${brandText} Logo" role="img">${logoMarkup}</div>
246
+ <div data-ow-part="version">\u7248\u672C ${versionText}</div>
247
+ <section data-ow-part="notes" aria-labelledby="about-notes-title">
248
+ <h1 data-ow-part="notes-title" id="about-notes-title">\u7248\u672C\u8BF4\u660E</h1>
249
+ <p data-ow-part="notes-body">${notesText}</p>
250
+ </section>
251
+ </main>
252
+ </body>
253
+ </html>`;
254
+ }
255
+ function escapeHtml(value) {
256
+ return value.replaceAll("&", "&amp;").replaceAll("<", "&lt;").replaceAll(">", "&gt;").replaceAll('"', "&quot;").replaceAll("'", "&#39;");
257
+ }
258
+ function resolvePalette(source, fallback) {
259
+ const color = (value, defaultValue) => value && /^#[0-9a-f]{6}$/i.test(value) ? value : defaultValue;
260
+ return {
261
+ bg: color(_optionalChain([source, 'optionalAccess', _5 => _5.bg]), fallback.bg),
262
+ surface: color(_optionalChain([source, 'optionalAccess', _6 => _6.surface]), fallback.surface),
263
+ border: color(_optionalChain([source, 'optionalAccess', _7 => _7.border]), fallback.border),
264
+ text: color(_optionalChain([source, 'optionalAccess', _8 => _8.text]), fallback.text),
265
+ text2: color(_optionalChain([source, 'optionalAccess', _9 => _9.text2]), fallback.text2)
266
+ };
267
+ }
268
+
269
+
270
+ exports.renderAboutWindowHtml = renderAboutWindowHtml;
271
+ //# sourceMappingURL=about-window.cjs.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["/Users/wowzin/projects/orbit/packages/ui/dist/about-window.cjs","../src/lib/about-window.ts"],"names":[],"mappings":"AAAA;AC0BO,SAAS,qBAAA,CAAsB;AAAA,EACpC,OAAA;AAAA,EACA,KAAA;AAAA,EACA,OAAA;AAAA,EACA,WAAA;AAAA,EACA,KAAA;AAAA,EACA,YAAA,EAAc;AAChB,CAAA,EAA+B;AAC7B,EAAA,MAAM,YAAA,EAAc,UAAA,CAAW,OAAA,CAAQ,IAAA,CAAK,EAAA,GAAK,cAAI,CAAA;AACrD,EAAA,MAAM,UAAA,EAAY,UAAA,CAAW,KAAA,CAAM,IAAA,CAAK,EAAA,GAAK,sCAAQ,CAAA;AACrD,EAAA,MAAM,UAAA,EAAY,UAAA,CAAW,WAAA,CAAY,IAAA,CAAK,EAAA,GAAK,WAAW,CAAA;AAC9D,EAAA,MAAM,WAAA,EAAa,YAAA,EAAc,CAAA,UAAA,EAAa,UAAA,CAAW,WAAW,CAAC,CAAA,8BAAA,EAAA,EAAmC,OAAA;AACxG,EAAA,MAAM,MAAA,EAAQ,cAAA,iBAAe,KAAA,2BAAO,OAAA,EAAO;AAAA,IACzC,EAAA,EAAI,SAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO;AAAA,EACT,CAAC,CAAA;AACD,EAAA,MAAM,KAAA,EAAO,cAAA,iBAAe,KAAA,6BAAO,MAAA,EAAM;AAAA,IACvC,EAAA,EAAI,SAAA;AAAA,IACJ,OAAA,EAAS,SAAA;AAAA,IACT,MAAA,EAAQ,SAAA;AAAA,IACR,IAAA,EAAM,SAAA;AAAA,IACN,KAAA,EAAO;AAAA,EACT,CAAC,CAAA;AACD,EAAA,MAAM,gBAAA,kBACJ,KAAA,6BAAO,QAAA,mBAAS,KAAA,6BAAO,OAAA,EACnB,CAAA;AAAA;AAAA,gBAAA,EAEU,KAAA,CAAM,EAAE,CAAA;AAAA,qBAAA,EACH,KAAA,CAAM,OAAO,CAAA;AAAA,oBAAA,EACd,KAAA,CAAM,MAAM,CAAA;AAAA,kBAAA,EACd,KAAA,CAAM,IAAI,CAAA;AAAA,oBAAA,EACR,KAAA,CAAM,KAAK,CAAA;AAAA;AAAA;AAAA;AAAA,kBAAA,EAIb,IAAA,CAAK,EAAE,CAAA;AAAA,uBAAA,EACF,IAAA,CAAK,OAAO,CAAA;AAAA,sBAAA,EACb,IAAA,CAAK,MAAM,CAAA;AAAA,oBAAA,EACb,IAAA,CAAK,IAAI,CAAA;AAAA,sBAAA,EACP,IAAA,CAAK,KAAK,CAAA;AAAA;AAAA;AAAA;AAAA,gBAAA,EAIhB,IAAA,CAAK,EAAE,CAAA;AAAA,qBAAA,EACF,IAAA,CAAK,OAAO,CAAA;AAAA,oBAAA,EACb,IAAA,CAAK,MAAM,CAAA;AAAA,kBAAA,EACb,IAAA,CAAK,IAAI,CAAA;AAAA,oBAAA,EACP,IAAA,CAAK,KAAK,CAAA;AAAA,GAAA,EAAA,EAExB,EAAA;AAEN,EAAA,OAAO,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,oBAAA,EAMG,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,EAAA,EA8EjB,eAAe,CAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,yCAAA,EA6GwB,SAAS,CAAA,kBAAA,EAAqB,UAAU,CAAA;AAAA,6CAAA,EAC9C,WAAW,CAAA;AAAA;AAAA;AAAA,mCAAA,EAGX,SAAS,CAAA;AAAA;AAAA;AAAA;AAAA,OAAA,CAAA;AAK9C;AAEA,SAAS,UAAA,CAAW,KAAA,EAAuB;AACzC,EAAA,OAAO,KAAA,CACJ,UAAA,CAAW,GAAA,EAAK,OAAO,CAAA,CACvB,UAAA,CAAW,GAAA,EAAK,MAAM,CAAA,CACtB,UAAA,CAAW,GAAA,EAAK,MAAM,CAAA,CACtB,UAAA,CAAW,GAAA,EAAK,QAAQ,CAAA,CACxB,UAAA,CAAW,GAAA,EAAK,OAAO,CAAA;AAC5B;AAEA,SAAS,cAAA,CAAe,MAAA,EAAwC,QAAA,EAAwC;AACtG,EAAA,MAAM,MAAA,EAAQ,CAAC,KAAA,EAA2B,YAAA,EAAA,GACxC,MAAA,GAAS,iBAAA,CAAkB,IAAA,CAAK,KAAK,EAAA,EAAI,MAAA,EAAQ,YAAA;AACnD,EAAA,OAAO;AAAA,IACL,EAAA,EAAI,KAAA,iBAAM,MAAA,6BAAQ,IAAA,EAAI,QAAA,CAAS,EAAE,CAAA;AAAA,IACjC,OAAA,EAAS,KAAA,iBAAM,MAAA,6BAAQ,SAAA,EAAS,QAAA,CAAS,OAAO,CAAA;AAAA,IAChD,MAAA,EAAQ,KAAA,iBAAM,MAAA,6BAAQ,QAAA,EAAQ,QAAA,CAAS,MAAM,CAAA;AAAA,IAC7C,IAAA,EAAM,KAAA,iBAAM,MAAA,6BAAQ,MAAA,EAAM,QAAA,CAAS,IAAI,CAAA;AAAA,IACvC,KAAA,EAAO,KAAA,iBAAM,MAAA,6BAAQ,OAAA,EAAO,QAAA,CAAS,KAAK;AAAA,EAC5C,CAAA;AACF;ADpCA;AACE;AACF,sDAAC","file":"/Users/wowzin/projects/orbit/packages/ui/dist/about-window.cjs","sourcesContent":[null,"export type AboutWindowPalette = {\n bg?: string\n surface?: string\n border?: string\n text?: string\n text2?: string\n}\n\nexport interface AboutWindowContent {\n version: string\n notes: string\n logoSvg: string\n /** Audited build-time image for branded native hosts. Takes precedence over logoSvg. */\n logoDataUrl?: string\n theme?: { light?: AboutWindowPalette; dark?: AboutWindowPalette }\n /**\n * 品牌名:驱动文档标题与 logo 无障碍标签。缺省 \"Orbitwork\" 是 DS2 默认\n * 品牌值(非旧格式兼容)——白标宿主经桌面端 brand.json 注入。\n */\n productName?: string\n}\n\n/**\n * Renders the shared, self-contained content for Orbitwork's native About window.\n * Electron owns the window lifecycle; ow-ui owns its visual structure and CSS.\n */\nexport function renderAboutWindowHtml({\n version,\n notes,\n logoSvg,\n logoDataUrl,\n theme,\n productName = \"Orbitwork\",\n}: AboutWindowContent): string {\n const versionText = escapeHtml(version.trim() || \"未知\")\n const notesText = escapeHtml(notes.trim() || \"暂无版本说明\")\n const brandText = escapeHtml(productName.trim() || \"Orbitwork\")\n const logoMarkup = logoDataUrl ? `<img src=\"${escapeHtml(logoDataUrl)}\" alt=\"\" aria-hidden=\"true\" />` : logoSvg\n const light = resolvePalette(theme?.light, {\n bg: \"#F7F6F1\",\n surface: \"#FDFDFC\",\n border: \"#DCDCD7\",\n text: \"#333B50\",\n text2: \"#646B7A\",\n })\n const dark = resolvePalette(theme?.dark, {\n bg: \"#16171B\",\n surface: \"#1E2025\",\n border: \"#2A2C33\",\n text: \"#ECEBE5\",\n text2: \"#82878F\",\n })\n const brandPaletteCss =\n theme?.light || theme?.dark\n ? `\n :root {\n --about-bg: ${light.bg};\n --about-surface: ${light.surface};\n --about-border: ${light.border};\n --about-text: ${light.text};\n --about-text-2: ${light.text2};\n }\n @media (prefers-color-scheme: dark) {\n :root:not([data-theme=\"light\"]) {\n --about-bg: ${dark.bg};\n --about-surface: ${dark.surface};\n --about-border: ${dark.border};\n --about-text: ${dark.text};\n --about-text-2: ${dark.text2};\n }\n }\n :root[data-theme=\"dark\"] {\n --about-bg: ${dark.bg};\n --about-surface: ${dark.surface};\n --about-border: ${dark.border};\n --about-text: ${dark.text};\n --about-text-2: ${dark.text2};\n }`\n : \"\"\n\n return `<!doctype html>\n<html lang=\"zh-CN\">\n<head>\n<meta charset=\"utf-8\" />\n<meta http-equiv=\"Content-Security-Policy\" content=\"default-src 'none'; style-src 'unsafe-inline'; img-src data:;\" />\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n<title>关于 ${brandText}</title>\n<style>\n /*\n * 这是一份独立 document(Electron 自绘窗,data: URL 载入),--ow-* 主 token 表不在场,\n * 也没有任何字体文件可加载(CSP 无 font-src)。所以配色一律「抄 DS 2.0 终值」而非引用变量,\n * 每组值旁注明出处;字体只写族名栈并给到系统级回退。\n * 默认值出处:packages/ui/src/tokens/light.ts · dark.ts · base.ts · metrics.ts;\n * 白标宿主可通过已经审计的明暗 palette 覆盖对应语义色。\n */\n :root {\n /* ---- 浅档:抄自 tokens light 终值 ---- */\n --about-bg: #F7F6F1; /* light --ow-bg = gray-00 */\n --about-surface: #FDFDFC; /* light --ow-surface */\n --about-border: #DCDCD7; /* light --ow-border = gray-10 */\n --about-text: #333B50; /* light --ow-text = gray-70 */\n --about-text-2: #646B7A; /* light --ow-text-2 = gray-50(--ow-eyebrow 同值) */\n --about-scrollbar: #C2C3C1; /* light --ow-scrollbar = gray-20 */\n --about-scrollbar-hover: #A2A5A9; /* light --ow-scrollbar-hover = gray-30 */\n --about-selection-bg: #0F1B3D; /* light --ow-selection-bg = navy */\n --about-selection-fg: #F7F6F1; /* light --ow-selection-text = white */\n\n /* ---- 形状与度量:抄自 base.ts / metrics.ts(形状表 §7) ---- */\n --about-space-2: 8px; /* --ow-space-2 */\n --about-space-4: 16px; /* --ow-space-4 */\n --about-space-5: 20px; /* --ow-space-5 */\n --about-space-6: 24px; /* --ow-space-6 */\n --about-space-8: 32px; /* --ow-space-8 */\n --about-radius-lg: 12px; /* --ow-radius-lg(卡片档) */\n --about-radius-pill: 999px; /* --ow-radius-pill */\n --about-border-w: 1px; /* --ow-border-width-default(贴地 1px 边框) */\n --about-fs-body: 14px; /* --ow-fs-body */\n --about-fs-ui: 13px; /* --ow-fs-ui */\n --about-fs-eyebrow-cjk: 12px; /* --ow-fs-eyebrow-cjk */\n --about-ls-eyebrow-cjk: 0.08em; /* --ow-ls-eyebrow-cjk */\n --about-lh-ui: 1.5; /* --ow-lh-ui */\n --about-lh-body: 1.75; /* --ow-lh-body */\n --about-fw-medium: 500; /* --ow-font-weight-medium */\n --about-fw-semibold: 600; /* --ow-font-weight-semibold */\n --about-dur-2: 200ms; /* --ow-dur-2(主题切换过渡,§9) */\n --about-ease: cubic-bezier(0.22, 1, 0.36, 1); /* --ow-ease-beacon(唯一缓动) */\n\n /* ---- 字族栈:抄自 base.ts 的族名,尾部补独立 document 可用的系统回退;emoji 族置栈尾(§8) ---- */\n --about-font-sans: \"HarmonyOS Sans SC\", \"Noto Sans SC\", -apple-system, BlinkMacSystemFont,\n \"Segoe UI\", \"PingFang SC\", \"Microsoft YaHei\", sans-serif, \"Apple Color Emoji\",\n \"Segoe UI Emoji\", \"Noto Color Emoji\";\n --about-font-mono: \"IBM Plex Mono\", ui-monospace, \"SF Mono\", Menlo, Consolas,\n \"HarmonyOS Sans SC\", \"Noto Sans SC\", \"PingFang SC\", \"Microsoft YaHei\", monospace,\n \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Noto Color Emoji\";\n\n color-scheme: light dark;\n }\n /* ---- 暗档:抄自 tokens dark 终值。属性优先(宿主可钉 data-theme),无属性时随系统 ---- */\n @media (prefers-color-scheme: dark) {\n :root:not([data-theme=\"light\"]) {\n --about-bg: #16171B; /* dark --ow-bg = graphite */\n --about-surface: #1E2025; /* dark --ow-surface = graphite-raised */\n --about-border: #2A2C33; /* dark --ow-border = graphite-border */\n --about-text: #ECEBE5; /* dark --ow-text = gray-05 */\n --about-text-2: #82878F; /* dark --ow-text-2 = gray-40 */\n --about-scrollbar: #3A3D46; /* dark --ow-scrollbar */\n --about-scrollbar-hover: #4A5164; /* dark --ow-scrollbar-hover */\n --about-selection-bg: #F7F6F1; /* dark --ow-selection-bg */\n --about-selection-fg: #0F1B3D; /* dark --ow-selection-text = navy */\n }\n }\n :root[data-theme=\"dark\"] {\n /* 与上方媒体查询块逐值一致 */\n --about-bg: #16171B;\n --about-surface: #1E2025;\n --about-border: #2A2C33;\n --about-text: #ECEBE5;\n --about-text-2: #82878F;\n --about-scrollbar: #3A3D46;\n --about-scrollbar-hover: #4A5164;\n --about-selection-bg: #F7F6F1;\n --about-selection-fg: #0F1B3D;\n }\n\n ${brandPaletteCss}\n * { box-sizing: border-box; }\n html {\n width: 100%;\n height: 100%;\n background: var(--about-bg);\n }\n body {\n width: 100%;\n height: 100%;\n margin: 0;\n overflow: hidden;\n color: var(--about-text);\n background: var(--about-bg);\n font-family: var(--about-font-sans);\n -webkit-font-smoothing: antialiased;\n -webkit-user-select: none;\n user-select: none;\n transition: background-color var(--about-dur-2) var(--about-ease),\n color var(--about-dur-2) var(--about-ease);\n }\n ::selection {\n background: var(--about-selection-bg);\n color: var(--about-selection-fg);\n }\n /* 拖拽条 28px=与 trafficLightPosition y:14 对称的功能几何,非间距阶,保持不动 */\n [data-slot=\"about-window\"] [data-ow-part=\"drag-region\"] { height: 28px; -webkit-app-region: drag; }\n [data-slot=\"about-window\"] [data-ow-part=\"content\"] {\n height: calc(100% - 28px);\n min-height: 0;\n display: flex;\n flex-direction: column;\n align-items: center;\n padding: var(--about-space-2) var(--about-space-8) var(--about-space-6);\n }\n /* 字标贴地:§5「影子只属离地之物」——原来的装饰投影(filter 辉光)2.0 一律清除 */\n [data-slot=\"about-window\"] [data-ow-part=\"logo\"] {\n width: 84px;\n height: 84px;\n flex: 0 0 auto;\n display: grid;\n place-items: center;\n }\n [data-slot=\"about-window\"] [data-ow-part=\"logo\"] svg,\n [data-slot=\"about-window\"] [data-ow-part=\"logo\"] img {\n width: 84px;\n height: 84px;\n display: block;\n object-fit: contain;\n }\n [data-slot=\"about-window\"] [data-ow-part=\"version\"] {\n margin-top: var(--about-space-4);\n color: var(--about-text);\n /* 版本号=读数,§7 一律 mono+tabular-nums */\n font-family: var(--about-font-mono);\n font-size: var(--about-fs-body);\n font-weight: var(--about-fw-semibold);\n line-height: var(--about-lh-ui);\n font-variant-numeric: tabular-nums;\n -webkit-user-select: text;\n user-select: text;\n }\n [data-slot=\"about-window\"] [data-ow-part=\"notes\"] {\n width: 100%;\n min-height: 0;\n flex: 1 1 auto;\n margin-top: var(--about-space-5);\n overflow-y: auto;\n /* 贴地之物:0 影+1px 边框(§5) */\n border: var(--about-border-w) solid var(--about-border);\n border-radius: var(--about-radius-lg);\n padding: var(--about-space-4);\n background: var(--about-surface);\n -webkit-user-select: text;\n user-select: text;\n transition: background-color var(--about-dur-2) var(--about-ease),\n border-color var(--about-dur-2) var(--about-ease);\n }\n /* 「版本说明」=中文眉标:500 / 12px / +0.08em / --ow-eyebrow(§8) */\n [data-slot=\"about-window\"] [data-ow-part=\"notes-title\"] {\n margin: 0;\n color: var(--about-text-2);\n font-size: var(--about-fs-eyebrow-cjk);\n font-weight: var(--about-fw-medium);\n letter-spacing: var(--about-ls-eyebrow-cjk);\n line-height: var(--about-lh-ui);\n }\n [data-slot=\"about-window\"] [data-ow-part=\"notes-body\"] {\n margin: var(--about-space-2) 0 0;\n color: var(--about-text);\n font-size: var(--about-fs-ui);\n line-height: var(--about-lh-body);\n white-space: pre-wrap;\n overflow-wrap: anywhere;\n }\n ::-webkit-scrollbar { width: var(--about-space-2); }\n ::-webkit-scrollbar-thumb {\n border-radius: var(--about-radius-pill);\n background: var(--about-scrollbar);\n }\n ::-webkit-scrollbar-thumb:hover { background: var(--about-scrollbar-hover); }\n @media (prefers-reduced-motion: reduce) {\n body, [data-slot=\"about-window\"] [data-ow-part=\"notes\"] { transition: none; }\n }\n</style>\n</head>\n<body data-slot=\"about-window\">\n <div data-ow-part=\"drag-region\" aria-hidden=\"true\"></div>\n <main data-ow-part=\"content\">\n <div data-ow-part=\"logo\" aria-label=\"${brandText} Logo\" role=\"img\">${logoMarkup}</div>\n <div data-ow-part=\"version\">版本 ${versionText}</div>\n <section data-ow-part=\"notes\" aria-labelledby=\"about-notes-title\">\n <h1 data-ow-part=\"notes-title\" id=\"about-notes-title\">版本说明</h1>\n <p data-ow-part=\"notes-body\">${notesText}</p>\n </section>\n </main>\n</body>\n</html>`\n}\n\nfunction escapeHtml(value: string): string {\n return value\n .replaceAll(\"&\", \"&amp;\")\n .replaceAll(\"<\", \"&lt;\")\n .replaceAll(\">\", \"&gt;\")\n .replaceAll('\"', \"&quot;\")\n .replaceAll(\"'\", \"&#39;\")\n}\n\nfunction resolvePalette(source: AboutWindowPalette | undefined, fallback: Required<AboutWindowPalette>) {\n const color = (value: string | undefined, defaultValue: string) =>\n value && /^#[0-9a-f]{6}$/i.test(value) ? value : defaultValue\n return {\n bg: color(source?.bg, fallback.bg),\n surface: color(source?.surface, fallback.surface),\n border: color(source?.border, fallback.border),\n text: color(source?.text, fallback.text),\n text2: color(source?.text2, fallback.text2),\n }\n}\n"]}
@@ -1,12 +1,30 @@
1
+ type AboutWindowPalette = {
2
+ bg?: string;
3
+ surface?: string;
4
+ border?: string;
5
+ text?: string;
6
+ text2?: string;
7
+ };
1
8
  interface AboutWindowContent {
2
9
  version: string;
3
10
  notes: string;
4
11
  logoSvg: string;
12
+ /** Audited build-time image for branded native hosts. Takes precedence over logoSvg. */
13
+ logoDataUrl?: string;
14
+ theme?: {
15
+ light?: AboutWindowPalette;
16
+ dark?: AboutWindowPalette;
17
+ };
18
+ /**
19
+ * 品牌名:驱动文档标题与 logo 无障碍标签。缺省 "Orbitwork" 是 DS2 默认
20
+ * 品牌值(非旧格式兼容)——白标宿主经桌面端 brand.json 注入。
21
+ */
22
+ productName?: string;
5
23
  }
6
24
  /**
7
25
  * Renders the shared, self-contained content for Orbitwork's native About window.
8
26
  * Electron owns the window lifecycle; ow-ui owns its visual structure and CSS.
9
27
  */
10
- declare function renderAboutWindowHtml({ version, notes, logoSvg }: AboutWindowContent): string;
28
+ declare function renderAboutWindowHtml({ version, notes, logoSvg, logoDataUrl, theme, productName, }: AboutWindowContent): string;
11
29
 
12
- export { type AboutWindowContent, renderAboutWindowHtml };
30
+ export { type AboutWindowContent, type AboutWindowPalette, renderAboutWindowHtml };
@@ -1,12 +1,30 @@
1
+ type AboutWindowPalette = {
2
+ bg?: string;
3
+ surface?: string;
4
+ border?: string;
5
+ text?: string;
6
+ text2?: string;
7
+ };
1
8
  interface AboutWindowContent {
2
9
  version: string;
3
10
  notes: string;
4
11
  logoSvg: string;
12
+ /** Audited build-time image for branded native hosts. Takes precedence over logoSvg. */
13
+ logoDataUrl?: string;
14
+ theme?: {
15
+ light?: AboutWindowPalette;
16
+ dark?: AboutWindowPalette;
17
+ };
18
+ /**
19
+ * 品牌名:驱动文档标题与 logo 无障碍标签。缺省 "Orbitwork" 是 DS2 默认
20
+ * 品牌值(非旧格式兼容)——白标宿主经桌面端 brand.json 注入。
21
+ */
22
+ productName?: string;
5
23
  }
6
24
  /**
7
25
  * Renders the shared, self-contained content for Orbitwork's native About window.
8
26
  * Electron owns the window lifecycle; ow-ui owns its visual structure and CSS.
9
27
  */
10
- declare function renderAboutWindowHtml({ version, notes, logoSvg }: AboutWindowContent): string;
28
+ declare function renderAboutWindowHtml({ version, notes, logoSvg, logoDataUrl, theme, productName, }: AboutWindowContent): string;
11
29
 
12
- export { type AboutWindowContent, renderAboutWindowHtml };
30
+ export { type AboutWindowContent, type AboutWindowPalette, renderAboutWindowHtml };