@mcp-b/react-components 0.11.0 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (253) hide show
  1. package/dist/{AgentChat-B9LD_WF1.d.ts → AgentChat-Br6tKEl8.d.ts} +38 -10
  2. package/dist/{BrowserLiveView-ZktFZiMD.d.ts → BrowserLiveView-BV5qgFgI.d.ts} +11 -10
  3. package/dist/{BrowserReplay-6G-mnwcn.d.ts → BrowserReplay-xWvRjRAC.d.ts} +2 -1
  4. package/dist/{Button-Ct5I6aTu.d.ts → Button-FX_hpqxm.d.ts} +8 -11
  5. package/dist/{CodeBlock-XNQOupQ3.js → CodeBlock-BUFXG8HW.js} +22 -12
  6. package/dist/{CodeBlock-CxQXv3C4.d.ts → CodeBlock-DUh9WOGo.d.ts} +13 -7
  7. package/dist/{Combobox-D9anamNr.d.ts → Combobox-B9Fcd6q-.d.ts} +4 -14
  8. package/dist/{FileTree-wMyZhhHO.js → FileTree-mpEIcfzA.js} +1 -1
  9. package/dist/{Menu-B5vDqZe_.d.ts → Menu-Bgu-ufb5.d.ts} +29 -65
  10. package/dist/{ModelSelector-DXtpcRmT.js → ModelSelector-DVgVBdvw.js} +23 -20
  11. package/dist/{PromptInput-D6-G24p7.d.ts → PromptInput-p5KmOmt1.d.ts} +313 -89
  12. package/dist/Select-Dl_vF_Bt.d.ts +213 -0
  13. package/dist/{Tabs-D9EAq09D.d.ts → Tabs-3Zc4tb9D.d.ts} +9 -6
  14. package/dist/ThinkChat-7DQ2CogF.js +222 -0
  15. package/dist/{ThinkChatActivity-B2UD95My.d.ts → ThinkChatActivity-Cuk28Js_.d.ts} +4 -4
  16. package/dist/ThinkChatContext-C3Eb1Xpi.d.ts +16 -0
  17. package/dist/{ThinkChatToolParts-DnUiZgCC.d.ts → ThinkChatToolParts-Cv4o7j6F.d.ts} +13 -5
  18. package/dist/{attachment-preview-ChtC3HiU.js → attachment-preview-DIs50Q0h.js} +3 -3
  19. package/dist/components/Accordion.d.ts +17 -6
  20. package/dist/components/Accordion.js +23 -36
  21. package/dist/components/Activity.d.ts +5 -5
  22. package/dist/components/Activity.js +9 -9
  23. package/dist/components/AgentChat.d.ts +1 -1
  24. package/dist/components/AgentChat.js +354 -132
  25. package/dist/components/AgentConnection.js +6 -22
  26. package/dist/components/AlertDialog.d.ts +40 -32
  27. package/dist/components/AlertDialog.js +46 -39
  28. package/dist/components/Artifact.d.ts +1 -1
  29. package/dist/components/Artifact.js +5 -5
  30. package/dist/components/Autocomplete.js +10 -2
  31. package/dist/components/Avatar.d.ts +2 -2
  32. package/dist/components/Avatar.js +3 -3
  33. package/dist/components/Badge.d.ts +11 -14
  34. package/dist/components/Badge.js +11 -33
  35. package/dist/components/BrowserLiveView.d.ts +1 -1
  36. package/dist/components/BrowserLiveView.js +39 -45
  37. package/dist/components/BrowserReplay.d.ts +1 -1
  38. package/dist/components/BrowserReplay.js +4 -4
  39. package/dist/components/BrowserRunPanel.js +91 -55
  40. package/dist/components/Button.d.ts +2 -2
  41. package/dist/components/Button.js +7 -30
  42. package/dist/components/ChainOfThought.d.ts +5 -5
  43. package/dist/components/ChainOfThought.js +8 -5
  44. package/dist/components/ChatGptSignInScreen.js +3 -3
  45. package/dist/components/Checkbox.d.ts +10 -2
  46. package/dist/components/Checkbox.js +13 -6
  47. package/dist/components/CheckboxGroup.d.ts +6 -6
  48. package/dist/components/CheckboxGroup.js +6 -6
  49. package/dist/components/CodeBlock.d.ts +1 -1
  50. package/dist/components/CodeBlock.js +1 -1
  51. package/dist/components/CodexModelSelector.d.ts +58 -0
  52. package/dist/components/CodexModelSelector.js +170 -0
  53. package/dist/components/Collapsible.d.ts +2 -4
  54. package/dist/components/Collapsible.js +9 -7
  55. package/dist/components/Combobox.d.ts +2 -2
  56. package/dist/components/Combobox.js +20 -22
  57. package/dist/components/Commit.d.ts +6 -6
  58. package/dist/components/Commit.js +14 -26
  59. package/dist/components/Context.js +5 -1
  60. package/dist/components/ContextMenu.d.ts +20 -72
  61. package/dist/components/ContextMenu.js +46 -56
  62. package/dist/components/Conversation.d.ts +3 -7
  63. package/dist/components/Conversation.js +3 -4
  64. package/dist/components/Dialog.d.ts +38 -30
  65. package/dist/components/Dialog.js +46 -34
  66. package/dist/components/EnvironmentVariables.d.ts +2 -7
  67. package/dist/components/EnvironmentVariables.js +13 -36
  68. package/dist/components/Field.d.ts +3 -3
  69. package/dist/components/Field.js +7 -8
  70. package/dist/components/Fieldset.d.ts +2 -2
  71. package/dist/components/Fieldset.js +2 -2
  72. package/dist/components/FileTree.js +1 -1
  73. package/dist/components/Label.d.ts +1 -1
  74. package/dist/components/Label.js +1 -1
  75. package/dist/components/Marker.js +1 -15
  76. package/dist/components/McpServerPicker.d.ts +31 -6
  77. package/dist/components/McpServerPicker.js +136 -72
  78. package/dist/components/Menu.d.ts +2 -2
  79. package/dist/components/Menu.js +41 -51
  80. package/dist/components/Menubar.d.ts +16 -52
  81. package/dist/components/Menubar.js +44 -56
  82. package/dist/components/Message.d.ts +4 -3
  83. package/dist/components/Message.js +16 -9
  84. package/dist/components/MessageScroller.d.ts +1 -1
  85. package/dist/components/MessageScroller.js +1 -1
  86. package/dist/components/Meter.js +5 -0
  87. package/dist/components/ModelSelector.d.ts +12 -9
  88. package/dist/components/ModelSelector.js +1 -1
  89. package/dist/components/NavigationMenu.d.ts +3 -14
  90. package/dist/components/NavigationMenu.js +22 -38
  91. package/dist/components/NumberField.js +6 -0
  92. package/dist/components/Popover.d.ts +21 -44
  93. package/dist/components/Popover.js +33 -23
  94. package/dist/components/PreviewCard.d.ts +20 -18
  95. package/dist/components/PreviewCard.js +30 -20
  96. package/dist/components/PricingPage.js +30 -29
  97. package/dist/components/Progress.d.ts +7 -3
  98. package/dist/components/Progress.js +9 -4
  99. package/dist/components/PromptInput.d.ts +2 -2
  100. package/dist/components/PromptInput.js +184 -148
  101. package/dist/components/Queue.d.ts +8 -19
  102. package/dist/components/Queue.js +6 -6
  103. package/dist/components/RadioGroup.d.ts +10 -9
  104. package/dist/components/RadioGroup.js +8 -9
  105. package/dist/components/Reasoning.d.ts +4 -4
  106. package/dist/components/Reasoning.js +12 -21
  107. package/dist/components/ScrollArea.d.ts +2 -9
  108. package/dist/components/ScrollArea.js +5 -23
  109. package/dist/components/Select.d.ts +2 -2
  110. package/dist/components/Select.js +100 -134
  111. package/dist/components/Slider.d.ts +10 -7
  112. package/dist/components/Slider.js +12 -11
  113. package/dist/components/Sources.d.ts +4 -4
  114. package/dist/components/Sources.js +8 -5
  115. package/dist/components/Stepper.js +2 -8
  116. package/dist/components/Switch.d.ts +6 -3
  117. package/dist/components/Switch.js +7 -4
  118. package/dist/components/Tabs.d.ts +2 -2
  119. package/dist/components/Tabs.js +9 -4
  120. package/dist/components/Task.d.ts +4 -4
  121. package/dist/components/Task.js +10 -6
  122. package/dist/components/Terminal.d.ts +2 -2
  123. package/dist/components/Terminal.js +5 -5
  124. package/dist/components/TestResults.d.ts +4 -4
  125. package/dist/components/TestResults.js +5 -5
  126. package/dist/components/ThinkChat.d.ts +37 -30
  127. package/dist/components/ThinkChat.js +1 -152
  128. package/dist/components/ThinkChatActivity.d.ts +2 -2
  129. package/dist/components/ThinkChatActivity.js +4 -11
  130. package/dist/components/ThinkChatContext.d.ts +2 -2
  131. package/dist/components/ThinkChatContext.js +9 -2
  132. package/dist/components/ThinkChatToolPanels.d.ts +1 -1
  133. package/dist/components/ThinkChatToolPanels.js +27 -15
  134. package/dist/components/ThinkChatToolParts.d.ts +1 -1
  135. package/dist/components/ThinkExecutionWorkbench.d.ts +10 -7
  136. package/dist/components/ThinkExecutionWorkbench.js +382 -359
  137. package/dist/components/ThinkFullApp.d.ts +16 -13
  138. package/dist/components/ThinkFullApp.js +35 -25
  139. package/dist/components/ThinkThreadPicker.d.ts +1 -31
  140. package/dist/components/ThinkThreadPicker.js +32 -171
  141. package/dist/components/ThinkThreadShell.d.ts +35 -0
  142. package/dist/components/ThinkThreadShell.js +146 -0
  143. package/dist/components/Toast.js +7 -0
  144. package/dist/components/ToggleGroup.d.ts +6 -2
  145. package/dist/components/ToggleGroup.js +6 -2
  146. package/dist/components/Toolbar.js +6 -0
  147. package/dist/components/Tooltip.d.ts +36 -27
  148. package/dist/components/Tooltip.js +45 -29
  149. package/dist/components/WebPreview.d.ts +1 -1
  150. package/dist/components/WebPreview.js +3 -3
  151. package/dist/components/WorkspaceExplorer.d.ts +6 -8
  152. package/dist/components/WorkspaceExplorer.js +9 -7
  153. package/dist/components/icons.d.ts +2 -2
  154. package/dist/components/icons.js +2 -2
  155. package/dist/{copy-button-C6JSKtFE.js → copy-button-DUMLYdsk.js} +7 -6
  156. package/dist/{copy-button-BKXqGiNm.d.ts → copy-button-DtPMgN7e.d.ts} +3 -2
  157. package/dist/icons-Ba9THQKz.js +64 -0
  158. package/dist/icons-CUCz_Sft.d.ts +210 -0
  159. package/dist/merge-refs-DF_7w2x_.js +18 -0
  160. package/dist/styles/accessibility.css +14 -0
  161. package/dist/styles/accordion.css +21 -61
  162. package/dist/styles/activity.css +23 -58
  163. package/dist/styles/agent-chat.css +49 -5
  164. package/dist/styles/agent-connection.css +8 -10
  165. package/dist/styles/alert-dialog.css +20 -26
  166. package/dist/styles/artifact.css +6 -6
  167. package/dist/styles/attachment-preview.css +1 -1
  168. package/dist/styles/autocomplete.css +5 -170
  169. package/dist/styles/avatar.css +8 -8
  170. package/dist/styles/badge.css +8 -10
  171. package/dist/styles/base-ui-motion.css +176 -0
  172. package/dist/styles/base.css +19 -25
  173. package/dist/styles/browser-live-view.css +7 -7
  174. package/dist/styles/browser-replay.css +5 -5
  175. package/dist/styles/browser-run-panel.css +59 -112
  176. package/dist/styles/button.css +48 -43
  177. package/dist/styles/card.css +3 -5
  178. package/dist/styles/chain-of-thought.css +14 -70
  179. package/dist/styles/chatgpt-sign-in-screen.css +3 -3
  180. package/dist/styles/checkbox-group.css +1 -1
  181. package/dist/styles/checkbox.css +3 -7
  182. package/dist/styles/code-block.css +10 -10
  183. package/dist/styles/codex-model-selector.css +186 -0
  184. package/dist/styles/collapsible.css +11 -27
  185. package/dist/styles/combobox.css +3 -149
  186. package/dist/styles/commit.css +19 -35
  187. package/dist/styles/context-menu.css +1 -77
  188. package/dist/styles/context.css +12 -12
  189. package/dist/styles/conversation.css +7 -7
  190. package/dist/styles/dialog.css +34 -55
  191. package/dist/styles/environment-variables.css +10 -10
  192. package/dist/styles/field.css +16 -58
  193. package/dist/styles/fieldset.css +2 -2
  194. package/dist/styles/file-tree.css +7 -9
  195. package/dist/styles/index.css +12 -2
  196. package/dist/styles/input.css +1 -51
  197. package/dist/styles/label.css +2 -2
  198. package/dist/styles/marker.css +2 -4
  199. package/dist/styles/mcp-server-picker.css +66 -19
  200. package/dist/styles/menu.css +6 -153
  201. package/dist/styles/menubar.css +6 -105
  202. package/dist/styles/message-scroller.css +1 -1
  203. package/dist/styles/message.css +87 -9
  204. package/dist/styles/meter.css +4 -20
  205. package/dist/styles/model-selector.css +32 -20
  206. package/dist/styles/navigation-menu.css +14 -54
  207. package/dist/styles/number-field.css +8 -23
  208. package/dist/styles/popover.css +13 -68
  209. package/dist/styles/preview-card.css +5 -46
  210. package/dist/styles/pricing-page.css +43 -43
  211. package/dist/styles/progress.css +7 -16
  212. package/dist/styles/prompt-input.css +100 -44
  213. package/dist/styles/queue.css +12 -28
  214. package/dist/styles/radio.css +4 -8
  215. package/dist/styles/reasoning.css +3 -62
  216. package/dist/styles/recipes.css +475 -0
  217. package/dist/styles/select.css +7 -103
  218. package/dist/styles/shell.css +3 -3
  219. package/dist/styles/slider.css +5 -7
  220. package/dist/styles/sources.css +9 -66
  221. package/dist/styles/stepper.css +16 -14
  222. package/dist/styles/streamdown.css +11 -57
  223. package/dist/styles/switch.css +4 -7
  224. package/dist/styles/tabs.css +7 -8
  225. package/dist/styles/task.css +13 -42
  226. package/dist/styles/terminal.css +7 -7
  227. package/dist/styles/test-results.css +21 -37
  228. package/dist/styles/think-execution-workbench.css +337 -0
  229. package/dist/styles/think-full-app.css +27 -410
  230. package/dist/styles/think-resize-handle.css +33 -0
  231. package/dist/styles/think-thread-picker.css +18 -247
  232. package/dist/styles/think-thread-shell.css +219 -0
  233. package/dist/styles/toast.css +14 -25
  234. package/dist/styles/toggle-group.css +16 -14
  235. package/dist/styles/toggle.css +14 -15
  236. package/dist/styles/toolbar.css +13 -25
  237. package/dist/styles/tooltip.css +6 -16
  238. package/dist/styles/web-preview.css +15 -15
  239. package/dist/styles/workspace-explorer.css +21 -14
  240. package/dist/summarize-tool-input-BUJsENSn.js +12 -0
  241. package/dist/utils/codex-model-catalog.d.ts +142 -0
  242. package/dist/utils/codex-model-catalog.js +112 -0
  243. package/dist/utils/structured-code.d.ts +1 -1
  244. package/package.json +8 -2
  245. package/dist/Select-CRsKCJ9x.d.ts +0 -200
  246. package/dist/ThinkChatContext-BLAAb8J5.d.ts +0 -28
  247. package/dist/components/McpServerConnections.d.ts +0 -41
  248. package/dist/components/McpServerConnections.js +0 -188
  249. package/dist/components/useStickToBottom.d.ts +0 -33
  250. package/dist/components/useStickToBottom.js +0 -107
  251. package/dist/icons-CbjtbIJK.d.ts +0 -51
  252. package/dist/icons-D2Q5n5C1.js +0 -291
  253. package/dist/styles/mcp-server-connections.css +0 -145
@@ -4,7 +4,7 @@
4
4
 
5
5
  .mcp-server-picker__trigger {
6
6
  flex-shrink: 0;
7
- color: var(--sigvelo-color-text);
7
+ color: var(--sigvelo-color-text-muted);
8
8
  background: none;
9
9
  }
10
10
 
@@ -14,6 +14,11 @@
14
14
  background: none;
15
15
  }
16
16
 
17
+ .mcp-server-picker__trigger > svg {
18
+ inline-size: 1rem;
19
+ block-size: 1rem;
20
+ }
21
+
17
22
  .mcp-server-picker__popup {
18
23
  inline-size: min(32rem, calc(100dvw - 1rem));
19
24
  max-block-size: min(28rem, calc(100dvh - 2rem));
@@ -22,8 +27,10 @@
22
27
  overscroll-behavior: contain;
23
28
  }
24
29
 
25
- .mcp-server-picker__group + .mcp-server-picker__group {
26
- margin-block-start: 0.25rem;
30
+ .mcp-server-picker__row-shell {
31
+ display: grid;
32
+ grid-template-columns: minmax(0, 1fr) auto;
33
+ align-items: center;
27
34
  }
28
35
 
29
36
  .mcp-server-picker__row {
@@ -34,6 +41,18 @@
34
41
  overflow: hidden;
35
42
  }
36
43
 
44
+ .mcp-server-picker__row-shell[data-connection="connected"] .mcp-server-picker__row {
45
+ opacity: 1;
46
+ }
47
+
48
+ .mcp-server-picker__row-shell[data-connection="disconnected"] .mcp-server-picker__row {
49
+ opacity: 0.68;
50
+ }
51
+
52
+ .mcp-server-picker__row-shell[data-connection="disconnected"] .mcp-server-picker__description {
53
+ color: var(--sigvelo-color-text);
54
+ }
55
+
37
56
  .mcp-server-picker__icon {
38
57
  display: inline-flex;
39
58
  flex: 0 0 auto;
@@ -61,7 +80,7 @@
61
80
  border-radius: var(--sigvelo-radius-sm);
62
81
  background-color: var(--sigvelo-color-neutral-bg-subtle);
63
82
  color: var(--sigvelo-color-neutral-text-on-subtle);
64
- font-size: 0.75rem;
83
+ font-size: var(--sigvelo-text-xs);
65
84
  font-weight: var(--sigvelo-font-weight-bold);
66
85
  line-height: 1;
67
86
  text-transform: uppercase;
@@ -70,7 +89,7 @@
70
89
  .mcp-server-picker__copy {
71
90
  display: flex;
72
91
  align-items: baseline;
73
- gap: 0.625rem;
92
+ gap: var(--sigvelo-spacing-2-5);
74
93
  min-inline-size: 0;
75
94
  }
76
95
 
@@ -83,17 +102,9 @@
83
102
  min-inline-size: 0;
84
103
  max-inline-size: 20rem;
85
104
  overflow: hidden;
86
- color: var(--sigvelo-color-text-muted);
87
105
  text-overflow: ellipsis;
88
106
  white-space: nowrap;
89
- }
90
-
91
- .mcp-server-picker__meta {
92
- display: inline-flex;
93
- align-items: center;
94
- justify-content: center;
95
- inline-size: 1rem;
96
- min-inline-size: max-content;
107
+ color: var(--sigvelo-color-text-muted);
97
108
  }
98
109
 
99
110
  .mcp-server-picker__status-label {
@@ -108,15 +119,47 @@
108
119
  border: 0;
109
120
  }
110
121
 
111
- .mcp-server-picker__row[data-status="ready"] .mcp-server-picker__meta {
122
+ .mcp-server-picker__row-actions {
123
+ display: inline-flex;
124
+ align-items: center;
125
+ gap: var(--sigvelo-spacing-0-5);
126
+ padding-inline-end: 0.5rem;
127
+ }
128
+
129
+ .mcp-server-picker__row-status {
130
+ display: inline-flex;
131
+ align-items: center;
132
+ justify-content: center;
133
+ inline-size: 1.5rem;
134
+ block-size: 1.5rem;
135
+ color: var(--sigvelo-color-text-muted);
136
+ }
137
+
138
+ .mcp-server-picker__action {
139
+ inline-size: 1.5rem;
140
+ block-size: 1.5rem;
141
+ min-block-size: 1.5rem;
142
+ justify-content: center;
143
+ padding: 0;
144
+ }
145
+
146
+ .mcp-server-picker__row-status > svg,
147
+ .mcp-server-picker__action > svg {
148
+ inline-size: 0.875rem;
149
+ block-size: 0.875rem;
150
+ }
151
+
152
+ .mcp-server-picker__row-shell[data-status="ready"] .mcp-server-picker__row-status,
153
+ .mcp-server-picker__row-shell[data-status="connected"] .mcp-server-picker__row-status {
112
154
  color: var(--sigvelo-color-success-text-on-subtle);
113
155
  }
114
156
 
115
- .mcp-server-picker__row[data-status="needs-auth"] .mcp-server-picker__meta {
157
+ .mcp-server-picker__row-shell[data-status="needs-auth"] .mcp-server-picker__row-status,
158
+ .mcp-server-picker__row-shell[data-status="authenticating"] .mcp-server-picker__row-status {
116
159
  color: var(--sigvelo-color-warning-text-on-subtle);
117
160
  }
118
161
 
119
- .mcp-server-picker__row[data-status="failed"] .mcp-server-picker__meta {
162
+ .mcp-server-picker__row-shell[data-status="failed"] .mcp-server-picker__row-status {
120
163
  color: var(--sigvelo-color-danger-text-on-subtle);
121
164
  }
122
165
 
@@ -132,9 +175,9 @@
132
175
 
133
176
  .mcp-server-picker__empty {
134
177
  padding-block: 0.5rem;
135
- padding-inline: 0.75rem;
178
+ padding-inline: var(--sigvelo-spacing-3);
136
179
  color: var(--sigvelo-color-text-muted);
137
- font-size: 0.875rem;
180
+ font-size: var(--sigvelo-text-sm);
138
181
  }
139
182
 
140
183
  @media (width < 30rem) {
@@ -142,6 +185,10 @@
142
185
  flex-direction: column;
143
186
  gap: 0;
144
187
  }
188
+
189
+ .mcp-server-picker__row-shell {
190
+ grid-template-columns: minmax(0, 1fr);
191
+ }
145
192
  }
146
193
 
147
194
  @media (forced-colors: active) {
@@ -1,84 +1,10 @@
1
- .menu__trigger {
2
- display: inline-flex;
3
- align-items: center;
4
- justify-content: center;
5
- gap: 0.5rem;
6
- padding-block: 0.5rem;
7
- padding-inline: 1rem;
8
- font-family: var(--sigvelo-font-sans);
9
- font-size: 0.875rem;
10
- font-weight: var(--sigvelo-font-weight-semibold);
11
- line-height: 1.25;
12
- color: var(--sigvelo-color-text);
13
- background-color: var(--sigvelo-color-canvas);
14
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
15
- var(--sigvelo-color-neutral-border-muted);
16
- border-radius: var(--sigvelo-radius-md);
17
- cursor: pointer;
18
- transition:
19
- background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
20
- border-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
21
- }
22
-
23
- .menu__trigger:hover {
24
- background-color: var(--sigvelo-color-neutral-bg-subtle);
25
- color: var(--sigvelo-color-neutral-text-on-subtle);
26
- }
27
-
28
- .menu__trigger:focus-visible {
29
- outline: none;
30
- box-shadow:
31
- 0 0 0 2px var(--sigvelo-color-canvas),
32
- 0 0 0 4px var(--sigvelo-color-focus);
33
- }
34
-
35
- .menu__trigger[data-popup-open] {
36
- background-color: var(--sigvelo-color-neutral-bg-subtle);
37
- }
38
-
39
1
  .menu__positioner {
40
- z-index: 50;
41
2
  outline: none;
42
3
  }
43
4
 
44
5
  .menu__popup {
45
6
  min-width: 10rem;
46
- padding: 0.25rem;
47
- font-family: var(--sigvelo-font-sans);
48
- background-color: var(--sigvelo-color-canvas);
49
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
50
- var(--sigvelo-color-neutral-border-muted);
51
- border-radius: var(--sigvelo-radius-md);
52
- box-shadow:
53
- 0 10px 15px -3px color-mix(in oklab, var(--sigvelo-color-text), transparent 90%),
54
- 0 4px 6px -4px color-mix(in oklab, var(--sigvelo-color-text), transparent 90%);
55
- outline: none;
56
- transform-origin: var(--transform-origin);
57
- transition:
58
- opacity var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
59
- transform var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
60
- }
61
-
62
- .menu__popup[data-starting-style],
63
- .menu__popup[data-ending-style] {
64
- opacity: 0;
65
- transform: scale(0.95);
66
- }
67
-
68
- .menu__item {
69
- display: flex;
70
- align-items: center;
71
- gap: 0.5rem;
72
- padding-block: 0.5rem;
73
- padding-inline: 0.75rem;
74
- font-size: 0.875rem;
75
- line-height: 1.25;
76
- color: var(--sigvelo-color-text);
77
- border-radius: var(--sigvelo-radius-sm);
78
- cursor: pointer;
79
- user-select: none;
80
- outline: none;
81
- transition: background-color 100ms ease;
7
+ overflow-y: auto;
82
8
  }
83
9
 
84
10
  .menu__item--inset,
@@ -86,11 +12,6 @@
86
12
  padding-inline-start: 2rem;
87
13
  }
88
14
 
89
- .menu__item[data-highlighted] {
90
- background-color: var(--sigvelo-color-neutral-bg-subtle);
91
- color: var(--sigvelo-color-neutral-text-on-subtle);
92
- }
93
-
94
15
  .menu__item[data-variant="destructive"] {
95
16
  color: var(--sigvelo-color-danger-text);
96
17
  }
@@ -100,27 +21,18 @@
100
21
  color: var(--sigvelo-color-danger-text-on-subtle);
101
22
  }
102
23
 
103
- .menu__item[data-disabled] {
104
- opacity: 0.5;
105
- pointer-events: none;
106
- }
107
-
108
24
  .menu__group {
109
25
  display: flex;
110
26
  flex-direction: column;
111
27
  }
112
28
 
113
29
  .menu__group-label {
114
- padding-block: 0.5rem;
115
- padding-inline: 0.75rem;
116
- font-size: 0.75rem;
117
- font-weight: var(--sigvelo-font-weight-semibold);
118
- color: var(--sigvelo-color-text-muted);
30
+ padding-block: var(--sigvelo-spacing-2);
119
31
  }
120
32
 
121
33
  .menu__arrow {
122
- width: 0.75rem;
123
- height: 0.75rem;
34
+ width: var(--sigvelo-spacing-3);
35
+ height: var(--sigvelo-spacing-3);
124
36
  background-color: var(--sigvelo-color-canvas);
125
37
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
126
38
  var(--sigvelo-color-neutral-border-muted);
@@ -147,46 +59,11 @@
147
59
  border-right: none;
148
60
  }
149
61
 
150
- .menu__separator {
151
- height: 1px;
152
- margin: 0.25rem 0;
153
- background-color: var(--sigvelo-color-neutral-border-muted);
154
- }
155
-
156
62
  .menu__radio-group {
157
63
  display: flex;
158
64
  flex-direction: column;
159
65
  }
160
66
 
161
- .menu__radio-item,
162
- .menu__checkbox-item {
163
- display: flex;
164
- align-items: center;
165
- gap: 0.5rem;
166
- padding-block: 0.5rem;
167
- padding-inline: 0.75rem;
168
- font-size: 0.875rem;
169
- line-height: 1.25;
170
- color: var(--sigvelo-color-text);
171
- border-radius: var(--sigvelo-radius-sm);
172
- cursor: pointer;
173
- user-select: none;
174
- outline: none;
175
- transition: background-color 100ms ease;
176
- }
177
-
178
- .menu__radio-item[data-highlighted],
179
- .menu__checkbox-item[data-highlighted] {
180
- background-color: var(--sigvelo-color-neutral-bg-subtle);
181
- color: var(--sigvelo-color-neutral-text-on-subtle);
182
- }
183
-
184
- .menu__radio-item[data-disabled],
185
- .menu__checkbox-item[data-disabled] {
186
- opacity: 0.5;
187
- pointer-events: none;
188
- }
189
-
190
67
  .menu__radio-indicator,
191
68
  .menu__checkbox-indicator {
192
69
  display: flex;
@@ -206,39 +83,15 @@
206
83
 
207
84
  .menu__checkbox-indicator::before {
208
85
  content: "";
209
- width: 0.625rem;
210
- height: 0.375rem;
86
+ width: var(--sigvelo-spacing-2-5);
87
+ height: var(--sigvelo-spacing-1-5);
211
88
  border-inline-start: 2px solid currentColor;
212
89
  border-block-end: 2px solid currentColor;
213
90
  transform: rotate(-45deg) translateY(-1px);
214
91
  }
215
92
 
216
- .menu__shortcut {
217
- margin-inline-start: auto;
218
- color: var(--sigvelo-color-text-muted);
219
- font-size: 0.75rem;
220
- }
221
-
222
93
  .menu__submenu-trigger {
223
- display: flex;
224
- align-items: center;
225
94
  justify-content: space-between;
226
- gap: 0.5rem;
227
- padding-block: 0.5rem;
228
- padding-inline: 0.75rem;
229
- font-size: 0.875rem;
230
- line-height: 1.25;
231
- color: var(--sigvelo-color-text);
232
- border-radius: var(--sigvelo-radius-sm);
233
- cursor: pointer;
234
- user-select: none;
235
- outline: none;
236
- transition: background-color 100ms ease;
237
- }
238
-
239
- .menu__submenu-trigger[data-highlighted] {
240
- background-color: var(--sigvelo-color-neutral-bg-subtle);
241
- color: var(--sigvelo-color-neutral-text-on-subtle);
242
95
  }
243
96
 
244
97
  .menu__submenu-trigger::after {
@@ -13,10 +13,10 @@
13
13
  display: inline-flex;
14
14
  align-items: center;
15
15
  justify-content: center;
16
- padding-block: 0.375rem;
17
- padding-inline: 0.75rem;
18
- font-family: var(--sigvelo-font-sans);
19
- font-size: 0.875rem;
16
+ padding-block: var(--sigvelo-spacing-1-5);
17
+ padding-inline: var(--sigvelo-spacing-3);
18
+ font-family: inherit;
19
+ font-size: var(--sigvelo-text-sm);
20
20
  font-weight: var(--sigvelo-font-weight-semibold);
21
21
  color: var(--sigvelo-color-text);
22
22
  background-color: transparent;
@@ -35,9 +35,7 @@
35
35
 
36
36
  .menubar__trigger:focus-visible {
37
37
  outline: none;
38
- box-shadow:
39
- 0 0 0 2px var(--sigvelo-color-canvas),
40
- 0 0 0 4px var(--sigvelo-color-focus);
38
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
41
39
  }
42
40
 
43
41
  .menubar__trigger[data-popup-open] {
@@ -45,69 +43,17 @@
45
43
  color: var(--sigvelo-color-neutral-text-on-subtle);
46
44
  }
47
45
 
48
- .menubar__positioner {
49
- z-index: 50;
50
- }
51
-
52
46
  .menubar__popup {
53
47
  min-width: 180px;
54
- padding: 0.25rem;
55
- background-color: var(--sigvelo-color-surface);
56
- color: var(--sigvelo-color-text);
57
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
58
- var(--sigvelo-color-neutral-border-muted);
59
- border-radius: var(--sigvelo-radius-md);
60
- box-shadow:
61
- 0 10px 15px -3px color-mix(in oklab, var(--sigvelo-color-text), transparent 90%),
62
- 0 4px 6px -4px color-mix(in oklab, var(--sigvelo-color-text), transparent 90%);
63
- animation: menubar-popup-enter var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
64
- }
65
-
66
- .menubar__popup[data-ending-style] {
67
- animation: menubar-popup-exit 100ms ease;
68
- }
69
-
70
- @keyframes menubar-popup-enter {
71
- from {
72
- opacity: 0;
73
- transform: translateY(-4px);
74
- }
75
- to {
76
- opacity: 1;
77
- transform: translateY(0);
78
- }
79
- }
80
-
81
- @keyframes menubar-popup-exit {
82
- from {
83
- opacity: 1;
84
- transform: translateY(0);
85
- }
86
- to {
87
- opacity: 0;
88
- transform: translateY(-4px);
89
- }
48
+ overflow-y: auto;
90
49
  }
91
50
 
92
51
  .menubar__item,
93
52
  .menubar__checkbox-item,
94
53
  .menubar__radio-item,
95
54
  .menubar__submenu-trigger {
96
- display: flex;
97
- align-items: center;
98
55
  justify-content: space-between;
99
56
  gap: 2rem;
100
- padding-block: 0.375rem;
101
- padding-inline: 0.5rem;
102
- font-family: var(--sigvelo-font-sans);
103
- font-size: 0.875rem;
104
- color: var(--sigvelo-color-text);
105
- border-radius: var(--sigvelo-radius-sm);
106
- cursor: pointer;
107
- outline: none;
108
- transition:
109
- background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
110
- color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
111
57
  }
112
58
 
113
59
  .menubar__item--inset,
@@ -134,56 +80,11 @@
134
80
  flex: 0 0 1rem;
135
81
  }
136
82
 
137
- .menubar__submenu-icon {
138
- margin-inline-start: auto;
139
- flex: 0 0 auto;
140
- }
141
-
142
- .menubar__item:hover,
143
- .menubar__item:focus,
144
- .menubar__item[data-highlighted],
145
- .menubar__checkbox-item:hover,
146
- .menubar__checkbox-item:focus,
147
- .menubar__checkbox-item[data-highlighted],
148
- .menubar__radio-item:hover,
149
- .menubar__radio-item:focus,
150
- .menubar__radio-item[data-highlighted],
151
- .menubar__submenu-trigger:hover,
152
- .menubar__submenu-trigger:focus,
153
- .menubar__submenu-trigger[data-highlighted] {
154
- background-color: var(--sigvelo-color-neutral-bg-subtle);
155
- color: var(--sigvelo-color-neutral-text-on-subtle);
156
- }
157
-
158
- .menubar__item[data-disabled],
159
- .menubar__checkbox-item[data-disabled],
160
- .menubar__radio-item[data-disabled],
161
- .menubar__submenu-trigger[data-disabled] {
162
- opacity: 0.5;
163
- pointer-events: none;
164
- }
165
-
166
- .menubar__separator {
167
- height: 1px;
168
- margin: 0.25rem 0;
169
- background-color: var(--sigvelo-color-neutral-border-muted);
170
- }
171
-
172
83
  .menubar__group {
173
84
  display: flex;
174
85
  flex-direction: column;
175
86
  }
176
87
 
177
88
  .menubar__group-label {
178
- padding-block: 0.375rem;
179
89
  padding-inline: 0.5rem;
180
- font-size: 0.75rem;
181
- font-weight: var(--sigvelo-font-weight-semibold);
182
- color: var(--sigvelo-color-text-muted);
183
- }
184
-
185
- .menubar__shortcut {
186
- margin-inline-start: auto;
187
- color: var(--sigvelo-color-text-muted);
188
- font-size: 0.75rem;
189
90
  }
@@ -6,7 +6,7 @@
6
6
  height: 100%;
7
7
  min-height: 0;
8
8
  overflow: hidden;
9
- font-family: var(--sigvelo-font-sans);
9
+ font-family: inherit;
10
10
  color: var(--sigvelo-color-text);
11
11
  }
12
12
 
@@ -3,7 +3,7 @@
3
3
  flex-direction: column;
4
4
  gap: 0.25rem;
5
5
  width: 100%;
6
- font-family: var(--sigvelo-font-sans);
6
+ font-family: inherit;
7
7
  color: var(--sigvelo-color-text);
8
8
  }
9
9
 
@@ -21,7 +21,7 @@
21
21
  display: inline-block;
22
22
  max-width: min(42rem, 85%);
23
23
  padding-block: 0.5rem;
24
- padding-inline: 0.75rem;
24
+ padding-inline: var(--sigvelo-spacing-3);
25
25
  border-radius: var(--sigvelo-radius-lg);
26
26
  font-size: var(--sigvelo-text-sm);
27
27
  line-height: 1.55;
@@ -66,9 +66,9 @@
66
66
  .message__attachment {
67
67
  display: inline-flex;
68
68
  align-items: center;
69
- gap: 0.375rem;
69
+ gap: var(--sigvelo-spacing-1-5);
70
70
  max-width: 100%;
71
- font-size: 0.8125rem;
71
+ font-size: var(--sigvelo-text-compact);
72
72
  color: inherit;
73
73
  text-decoration: none;
74
74
  }
@@ -89,9 +89,9 @@
89
89
 
90
90
  .message__attachment-zoom {
91
91
  display: block;
92
+ min-block-size: 0;
92
93
  max-width: 100%;
93
94
  padding: 0;
94
- border: none;
95
95
  background: none;
96
96
  cursor: zoom-in;
97
97
  }
@@ -114,7 +114,7 @@
114
114
  .message__actions {
115
115
  display: inline-flex;
116
116
  align-items: center;
117
- gap: 0.125rem;
117
+ gap: var(--sigvelo-spacing-0-5);
118
118
  padding: 0;
119
119
  color: var(--sigvelo-color-text-muted);
120
120
  }
@@ -131,6 +131,82 @@
131
131
  color: var(--sigvelo-color-text);
132
132
  }
133
133
 
134
+ .message__copy-status {
135
+ position: absolute;
136
+ inline-size: 1px;
137
+ block-size: 1px;
138
+ padding: 0;
139
+ margin: -1px;
140
+ overflow: hidden;
141
+ white-space: nowrap;
142
+ border: 0;
143
+ clip-path: inset(50%);
144
+ }
145
+
146
+ .message__edit-form {
147
+ display: grid;
148
+ gap: var(--sigvelo-spacing-3);
149
+ width: min(42rem, 85%);
150
+ padding: var(--sigvelo-spacing-3);
151
+ color: var(--sigvelo-color-text);
152
+ background-color: var(--sigvelo-color-surface);
153
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
154
+ var(--sigvelo-color-neutral-border-muted);
155
+ border-radius: var(--sigvelo-radius-lg);
156
+ box-shadow: var(--sigvelo-shadow-sm);
157
+ }
158
+
159
+ .message__edit-label {
160
+ font-size: var(--sigvelo-text-sm);
161
+ font-weight: var(--sigvelo-font-weight-semibold);
162
+ }
163
+
164
+ .message__edit-textarea {
165
+ box-sizing: border-box;
166
+ width: 100%;
167
+ min-height: 6rem;
168
+ max-height: 18rem;
169
+ padding-block: var(--sigvelo-spacing-2-5);
170
+ padding-inline: var(--sigvelo-spacing-3);
171
+ resize: vertical;
172
+ font: inherit;
173
+ font-size: var(--sigvelo-text-sm);
174
+ line-height: 1.55;
175
+ color: var(--sigvelo-color-text);
176
+ background-color: var(--sigvelo-color-canvas);
177
+ border: var(--sigvelo-border-style) var(--sigvelo-border-width)
178
+ var(--sigvelo-color-neutral-border-muted);
179
+ border-radius: var(--sigvelo-radius-md);
180
+ }
181
+
182
+ .message__edit-textarea:focus-visible {
183
+ outline: none;
184
+ border-color: var(--sigvelo-color-focus);
185
+ box-shadow: var(--sigvelo-recipe-focus-shadow-subtle);
186
+ }
187
+
188
+ .message__edit-textarea[aria-invalid="true"] {
189
+ border-color: var(--sigvelo-color-danger-border);
190
+ }
191
+
192
+ .message__edit-textarea:disabled {
193
+ cursor: wait;
194
+ opacity: 0.65;
195
+ }
196
+
197
+ .message__edit-error {
198
+ margin: 0;
199
+ font-size: var(--sigvelo-text-sm);
200
+ color: var(--sigvelo-color-danger-text);
201
+ }
202
+
203
+ .message__edit-actions {
204
+ display: flex;
205
+ flex-wrap: wrap;
206
+ justify-content: flex-end;
207
+ gap: 0.5rem;
208
+ }
209
+
134
210
  .message__toolbar {
135
211
  display: flex;
136
212
  align-items: center;
@@ -163,7 +239,7 @@
163
239
  .message__branch-selector {
164
240
  display: inline-flex;
165
241
  align-items: center;
166
- gap: 0.125rem;
242
+ gap: var(--sigvelo-spacing-0-5);
167
243
  color: var(--sigvelo-color-text-muted);
168
244
  }
169
245
 
@@ -171,12 +247,14 @@
171
247
  font-size: var(--sigvelo-text-xs);
172
248
  font-variant-numeric: tabular-nums;
173
249
  color: var(--sigvelo-color-text-muted);
174
- padding-inline: 0.375rem;
250
+ padding-inline: var(--sigvelo-spacing-1-5);
175
251
  user-select: none;
176
252
  }
177
253
 
178
254
  @media (forced-colors: active) {
179
- .message__content {
255
+ .message__content,
256
+ .message__edit-form,
257
+ .message__edit-textarea {
180
258
  border: 1px solid CanvasText;
181
259
  }
182
260
  }