@mcp-b/react-components 0.12.0 → 0.14.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 (229) hide show
  1. package/dist/{AgentChat-CRmsKg9B.d.ts → AgentChat-Cgb1xuT7.d.ts} +36 -5
  2. package/dist/{Button-Ct5I6aTu.d.ts → Button-FX_hpqxm.d.ts} +8 -11
  3. package/dist/{CodeBlock-XNQOupQ3.js → CodeBlock-BUFXG8HW.js} +22 -12
  4. package/dist/{CodeBlock-CxQXv3C4.d.ts → CodeBlock-DUh9WOGo.d.ts} +13 -7
  5. package/dist/{Combobox-D9anamNr.d.ts → Combobox-B9Fcd6q-.d.ts} +4 -14
  6. package/dist/{FileTree-wMyZhhHO.js → FileTree-mpEIcfzA.js} +1 -1
  7. package/dist/{Menu-BLhnNnRK.d.ts → Menu-Bgu-ufb5.d.ts} +26 -65
  8. package/dist/{ModelSelector-BB-xB-Es.js → ModelSelector-DVgVBdvw.js} +7 -7
  9. package/dist/{PromptInput-IyM6ZETj.d.ts → PromptInput-ClNqBiIw.d.ts} +313 -46
  10. package/dist/Select-Dl_vF_Bt.d.ts +213 -0
  11. package/dist/{Tabs-D9EAq09D.d.ts → Tabs-3Zc4tb9D.d.ts} +9 -6
  12. package/dist/{ThinkChat-B3wYahor.js → ThinkChat-7DQ2CogF.js} +34 -2
  13. package/dist/{ThinkChatActivity-F4KFPcJA.d.ts → ThinkChatActivity-m9orbdeI.d.ts} +1 -1
  14. package/dist/{attachment-preview-ChtC3HiU.js → attachment-preview-DIs50Q0h.js} +3 -3
  15. package/dist/components/Accordion.d.ts +17 -6
  16. package/dist/components/Accordion.js +23 -36
  17. package/dist/components/Activity.d.ts +5 -5
  18. package/dist/components/Activity.js +9 -9
  19. package/dist/components/AgentChat.d.ts +1 -1
  20. package/dist/components/AgentChat.js +309 -116
  21. package/dist/components/AgentConnection.js +2 -2
  22. package/dist/components/AlertDialog.d.ts +40 -32
  23. package/dist/components/AlertDialog.js +46 -39
  24. package/dist/components/Artifact.d.ts +1 -1
  25. package/dist/components/Artifact.js +5 -5
  26. package/dist/components/Autocomplete.js +10 -2
  27. package/dist/components/Avatar.d.ts +2 -2
  28. package/dist/components/Avatar.js +3 -3
  29. package/dist/components/Badge.d.ts +11 -14
  30. package/dist/components/Badge.js +10 -18
  31. package/dist/components/BrowserLiveView.js +26 -36
  32. package/dist/components/BrowserReplay.js +4 -4
  33. package/dist/components/BrowserRunPanel.js +1 -1
  34. package/dist/components/Button.d.ts +2 -2
  35. package/dist/components/Button.js +7 -30
  36. package/dist/components/ChainOfThought.d.ts +5 -5
  37. package/dist/components/ChainOfThought.js +8 -5
  38. package/dist/components/ChatGptSignInScreen.js +3 -3
  39. package/dist/components/Checkbox.d.ts +10 -2
  40. package/dist/components/Checkbox.js +13 -6
  41. package/dist/components/CheckboxGroup.d.ts +6 -6
  42. package/dist/components/CheckboxGroup.js +6 -6
  43. package/dist/components/CodeBlock.d.ts +1 -1
  44. package/dist/components/CodeBlock.js +1 -1
  45. package/dist/components/CodexModelSelector.d.ts +23 -28
  46. package/dist/components/CodexModelSelector.js +116 -94
  47. package/dist/components/Collapsible.d.ts +2 -4
  48. package/dist/components/Collapsible.js +9 -7
  49. package/dist/components/Combobox.d.ts +2 -2
  50. package/dist/components/Combobox.js +20 -22
  51. package/dist/components/Commit.d.ts +5 -5
  52. package/dist/components/Commit.js +6 -6
  53. package/dist/components/Context.js +5 -1
  54. package/dist/components/ContextMenu.d.ts +20 -72
  55. package/dist/components/ContextMenu.js +46 -56
  56. package/dist/components/Conversation.d.ts +1 -1
  57. package/dist/components/Conversation.js +1 -1
  58. package/dist/components/Dialog.d.ts +38 -30
  59. package/dist/components/Dialog.js +46 -34
  60. package/dist/components/EnvironmentVariables.d.ts +1 -1
  61. package/dist/components/EnvironmentVariables.js +5 -5
  62. package/dist/components/Field.d.ts +3 -3
  63. package/dist/components/Field.js +7 -8
  64. package/dist/components/Fieldset.d.ts +2 -2
  65. package/dist/components/Fieldset.js +2 -2
  66. package/dist/components/FileTree.js +1 -1
  67. package/dist/components/Label.d.ts +1 -1
  68. package/dist/components/Label.js +1 -1
  69. package/dist/components/McpServerPicker.js +21 -19
  70. package/dist/components/Menu.d.ts +2 -2
  71. package/dist/components/Menu.js +39 -49
  72. package/dist/components/Menubar.d.ts +16 -52
  73. package/dist/components/Menubar.js +44 -56
  74. package/dist/components/Message.d.ts +1 -1
  75. package/dist/components/Message.js +6 -6
  76. package/dist/components/MessageScroller.d.ts +1 -1
  77. package/dist/components/MessageScroller.js +1 -1
  78. package/dist/components/Meter.js +5 -0
  79. package/dist/components/ModelSelector.d.ts +1 -1
  80. package/dist/components/ModelSelector.js +1 -1
  81. package/dist/components/NavigationMenu.d.ts +3 -14
  82. package/dist/components/NavigationMenu.js +22 -38
  83. package/dist/components/NumberField.js +6 -0
  84. package/dist/components/Popover.d.ts +21 -44
  85. package/dist/components/Popover.js +33 -23
  86. package/dist/components/PreviewCard.d.ts +20 -18
  87. package/dist/components/PreviewCard.js +30 -20
  88. package/dist/components/PricingPage.js +30 -29
  89. package/dist/components/Progress.d.ts +7 -3
  90. package/dist/components/Progress.js +9 -4
  91. package/dist/components/PromptInput.d.ts +2 -2
  92. package/dist/components/PromptInput.js +306 -54
  93. package/dist/components/Queue.d.ts +7 -7
  94. package/dist/components/Queue.js +6 -6
  95. package/dist/components/RadioGroup.d.ts +10 -9
  96. package/dist/components/RadioGroup.js +8 -9
  97. package/dist/components/Reasoning.d.ts +4 -4
  98. package/dist/components/Reasoning.js +10 -6
  99. package/dist/components/ScrollArea.d.ts +2 -9
  100. package/dist/components/ScrollArea.js +5 -23
  101. package/dist/components/Select.d.ts +2 -2
  102. package/dist/components/Select.js +100 -134
  103. package/dist/components/Slider.d.ts +10 -7
  104. package/dist/components/Slider.js +12 -11
  105. package/dist/components/Sources.d.ts +4 -4
  106. package/dist/components/Sources.js +8 -5
  107. package/dist/components/Stepper.js +1 -1
  108. package/dist/components/Switch.d.ts +6 -3
  109. package/dist/components/Switch.js +7 -4
  110. package/dist/components/Tabs.d.ts +2 -2
  111. package/dist/components/Tabs.js +9 -4
  112. package/dist/components/Task.d.ts +4 -4
  113. package/dist/components/Task.js +10 -6
  114. package/dist/components/Terminal.d.ts +2 -2
  115. package/dist/components/Terminal.js +5 -5
  116. package/dist/components/TestResults.d.ts +4 -4
  117. package/dist/components/TestResults.js +5 -5
  118. package/dist/components/ThinkChat.d.ts +14 -2
  119. package/dist/components/ThinkChat.js +1 -1
  120. package/dist/components/ThinkChatActivity.d.ts +1 -1
  121. package/dist/components/ThinkChatActivity.js +1 -1
  122. package/dist/components/ThinkChatToolPanels.js +8 -8
  123. package/dist/components/ThinkExecutionWorkbench.js +28 -28
  124. package/dist/components/ThinkFullApp.js +8 -8
  125. package/dist/components/ThinkThreadPicker.js +1 -1
  126. package/dist/components/ThinkThreadShell.js +5 -5
  127. package/dist/components/Toast.js +7 -0
  128. package/dist/components/ToggleGroup.d.ts +6 -2
  129. package/dist/components/ToggleGroup.js +6 -2
  130. package/dist/components/Toolbar.js +6 -0
  131. package/dist/components/Tooltip.d.ts +36 -27
  132. package/dist/components/Tooltip.js +45 -29
  133. package/dist/components/WebPreview.d.ts +1 -1
  134. package/dist/components/WebPreview.js +3 -3
  135. package/dist/components/WorkspaceExplorer.d.ts +6 -8
  136. package/dist/components/WorkspaceExplorer.js +6 -6
  137. package/dist/components/icons.d.ts +2 -2
  138. package/dist/components/icons.js +2 -2
  139. package/dist/{copy-button-C6JSKtFE.js → copy-button-DUMLYdsk.js} +7 -6
  140. package/dist/{copy-button-BKXqGiNm.d.ts → copy-button-DtPMgN7e.d.ts} +3 -2
  141. package/dist/icons-Ba9THQKz.js +64 -0
  142. package/dist/icons-CUCz_Sft.d.ts +210 -0
  143. package/dist/styles/accessibility.css +14 -0
  144. package/dist/styles/accordion.css +21 -61
  145. package/dist/styles/activity.css +23 -58
  146. package/dist/styles/agent-chat.css +45 -4
  147. package/dist/styles/agent-connection.css +8 -10
  148. package/dist/styles/alert-dialog.css +20 -26
  149. package/dist/styles/artifact.css +6 -6
  150. package/dist/styles/attachment-preview.css +1 -1
  151. package/dist/styles/autocomplete.css +5 -170
  152. package/dist/styles/avatar.css +8 -8
  153. package/dist/styles/badge.css +8 -10
  154. package/dist/styles/base-ui-motion.css +176 -0
  155. package/dist/styles/base.css +19 -25
  156. package/dist/styles/browser-live-view.css +7 -7
  157. package/dist/styles/browser-replay.css +5 -5
  158. package/dist/styles/browser-run-panel.css +5 -5
  159. package/dist/styles/button.css +48 -43
  160. package/dist/styles/card.css +3 -5
  161. package/dist/styles/chain-of-thought.css +14 -70
  162. package/dist/styles/chatgpt-sign-in-screen.css +3 -3
  163. package/dist/styles/checkbox-group.css +1 -1
  164. package/dist/styles/checkbox.css +3 -7
  165. package/dist/styles/code-block.css +10 -10
  166. package/dist/styles/codex-model-selector.css +33 -44
  167. package/dist/styles/collapsible.css +11 -27
  168. package/dist/styles/combobox.css +3 -149
  169. package/dist/styles/commit.css +19 -35
  170. package/dist/styles/context-menu.css +1 -77
  171. package/dist/styles/context.css +12 -12
  172. package/dist/styles/conversation.css +7 -7
  173. package/dist/styles/dialog.css +34 -55
  174. package/dist/styles/environment-variables.css +10 -10
  175. package/dist/styles/field.css +16 -58
  176. package/dist/styles/fieldset.css +2 -2
  177. package/dist/styles/file-tree.css +7 -9
  178. package/dist/styles/index.css +8 -1
  179. package/dist/styles/input.css +1 -51
  180. package/dist/styles/label.css +2 -2
  181. package/dist/styles/marker.css +2 -4
  182. package/dist/styles/mcp-server-picker.css +5 -5
  183. package/dist/styles/menu.css +6 -153
  184. package/dist/styles/menubar.css +6 -105
  185. package/dist/styles/message-scroller.css +1 -1
  186. package/dist/styles/message.css +86 -8
  187. package/dist/styles/meter.css +4 -20
  188. package/dist/styles/model-selector.css +13 -13
  189. package/dist/styles/navigation-menu.css +14 -54
  190. package/dist/styles/number-field.css +8 -23
  191. package/dist/styles/popover.css +13 -68
  192. package/dist/styles/preview-card.css +5 -46
  193. package/dist/styles/pricing-page.css +43 -43
  194. package/dist/styles/progress.css +7 -16
  195. package/dist/styles/prompt-input.css +185 -44
  196. package/dist/styles/queue.css +12 -28
  197. package/dist/styles/radio.css +4 -8
  198. package/dist/styles/reasoning.css +3 -62
  199. package/dist/styles/recipes.css +475 -0
  200. package/dist/styles/select.css +7 -103
  201. package/dist/styles/shell.css +3 -3
  202. package/dist/styles/slider.css +5 -7
  203. package/dist/styles/sources.css +9 -66
  204. package/dist/styles/stepper.css +16 -14
  205. package/dist/styles/streamdown.css +9 -9
  206. package/dist/styles/switch.css +4 -7
  207. package/dist/styles/tabs.css +7 -8
  208. package/dist/styles/task.css +13 -42
  209. package/dist/styles/terminal.css +7 -7
  210. package/dist/styles/test-results.css +21 -37
  211. package/dist/styles/think-execution-workbench.css +23 -23
  212. package/dist/styles/think-full-app.css +12 -20
  213. package/dist/styles/think-resize-handle.css +2 -2
  214. package/dist/styles/think-thread-picker.css +19 -10
  215. package/dist/styles/think-thread-shell.css +7 -7
  216. package/dist/styles/toast.css +14 -25
  217. package/dist/styles/toggle-group.css +16 -14
  218. package/dist/styles/toggle.css +14 -15
  219. package/dist/styles/toolbar.css +13 -25
  220. package/dist/styles/tooltip.css +6 -16
  221. package/dist/styles/web-preview.css +15 -15
  222. package/dist/styles/workspace-explorer.css +14 -13
  223. package/dist/utils/codex-model-catalog.d.ts +142 -0
  224. package/dist/utils/codex-model-catalog.js +112 -0
  225. package/dist/utils/structured-code.d.ts +1 -1
  226. package/package.json +8 -2
  227. package/dist/Select-CRsKCJ9x.d.ts +0 -200
  228. package/dist/icons-CbjtbIJK.d.ts +0 -51
  229. package/dist/icons-D2Q5n5C1.js +0 -291
@@ -5,7 +5,7 @@
5
5
  gap: 0.5rem;
6
6
  width: 100%;
7
7
  min-height: 1rem;
8
- font-family: var(--sigvelo-font-sans);
8
+ font-family: inherit;
9
9
  font-size: var(--sigvelo-text-sm);
10
10
  line-height: 1.5;
11
11
  color: var(--sigvelo-color-text-muted);
@@ -32,9 +32,7 @@
32
32
  .marker:where(a, button):focus-visible {
33
33
  outline: none;
34
34
  border-radius: var(--sigvelo-radius-sm);
35
- box-shadow:
36
- 0 0 0 2px var(--sigvelo-color-canvas),
37
- 0 0 0 4px var(--sigvelo-color-focus);
35
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
38
36
  }
39
37
 
40
38
  .marker--separator::before,
@@ -80,7 +80,7 @@
80
80
  border-radius: var(--sigvelo-radius-sm);
81
81
  background-color: var(--sigvelo-color-neutral-bg-subtle);
82
82
  color: var(--sigvelo-color-neutral-text-on-subtle);
83
- font-size: 0.75rem;
83
+ font-size: var(--sigvelo-text-xs);
84
84
  font-weight: var(--sigvelo-font-weight-bold);
85
85
  line-height: 1;
86
86
  text-transform: uppercase;
@@ -89,7 +89,7 @@
89
89
  .mcp-server-picker__copy {
90
90
  display: flex;
91
91
  align-items: baseline;
92
- gap: 0.625rem;
92
+ gap: var(--sigvelo-spacing-2-5);
93
93
  min-inline-size: 0;
94
94
  }
95
95
 
@@ -122,7 +122,7 @@
122
122
  .mcp-server-picker__row-actions {
123
123
  display: inline-flex;
124
124
  align-items: center;
125
- gap: 0.125rem;
125
+ gap: var(--sigvelo-spacing-0-5);
126
126
  padding-inline-end: 0.5rem;
127
127
  }
128
128
 
@@ -175,9 +175,9 @@
175
175
 
176
176
  .mcp-server-picker__empty {
177
177
  padding-block: 0.5rem;
178
- padding-inline: 0.75rem;
178
+ padding-inline: var(--sigvelo-spacing-3);
179
179
  color: var(--sigvelo-color-text-muted);
180
- font-size: 0.875rem;
180
+ font-size: var(--sigvelo-text-sm);
181
181
  }
182
182
 
183
183
  @media (width < 30rem) {
@@ -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
  }
@@ -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
  }
@@ -5,32 +5,16 @@
5
5
  width: 100%;
6
6
  }
7
7
 
8
- .meter__track {
9
- position: relative;
10
- width: 100%;
11
- height: 0.5rem;
12
- overflow: hidden;
13
- background-color: var(--sigvelo-color-neutral-bg-subtle);
14
- border-radius: var(--sigvelo-radius-full);
15
- }
16
-
17
- .meter__indicator {
18
- height: 100%;
19
- background-color: var(--sigvelo-color-primary-bg);
20
- border-radius: var(--sigvelo-radius-full);
21
- transition: width 300ms ease;
22
- }
23
-
24
8
  .meter__label {
25
- font-family: var(--sigvelo-font-sans);
26
- font-size: 0.875rem;
9
+ font-family: inherit;
10
+ font-size: var(--sigvelo-text-sm);
27
11
  font-weight: var(--sigvelo-font-weight-semibold);
28
12
  color: var(--sigvelo-color-text);
29
13
  }
30
14
 
31
15
  .meter__value {
32
- font-family: var(--sigvelo-font-sans);
33
- font-size: 0.875rem;
16
+ font-family: inherit;
17
+ font-size: var(--sigvelo-text-sm);
34
18
  font-weight: var(--sigvelo-font-weight-semibold);
35
19
  color: var(--sigvelo-color-text-muted);
36
20
  }
@@ -1,6 +1,6 @@
1
1
  .model-selector {
2
2
  display: inline-block;
3
- font-family: var(--sigvelo-font-sans);
3
+ font-family: inherit;
4
4
  }
5
5
 
6
6
  .model-selector__trigger {
@@ -33,7 +33,7 @@
33
33
  max-height: min(32rem, calc(100vh - 4rem));
34
34
  padding: 0;
35
35
  overflow: hidden;
36
- font-family: var(--sigvelo-font-sans);
36
+ font-family: inherit;
37
37
  color: var(--sigvelo-color-text);
38
38
  }
39
39
 
@@ -41,7 +41,7 @@
41
41
  display: flex;
42
42
  align-items: center;
43
43
  gap: 0.5rem;
44
- padding-block: 0.75rem;
44
+ padding-block: var(--sigvelo-spacing-3);
45
45
  padding-inline: 1rem;
46
46
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
47
47
  var(--sigvelo-color-neutral-border-subtle);
@@ -62,7 +62,7 @@
62
62
  background-color: transparent;
63
63
  color: var(--sigvelo-color-text);
64
64
  font-family: inherit;
65
- font-size: 0.875rem;
65
+ font-size: var(--sigvelo-text-sm);
66
66
  }
67
67
 
68
68
  .model-selector__input.input:focus-visible {
@@ -89,9 +89,9 @@
89
89
  }
90
90
 
91
91
  .model-selector__group-label {
92
- padding-block: 0.375rem;
92
+ padding-block: var(--sigvelo-spacing-1-5);
93
93
  padding-inline: 1rem;
94
- font-size: 0.6875rem;
94
+ font-size: var(--sigvelo-text-2xs);
95
95
  font-weight: var(--sigvelo-font-weight-bold);
96
96
  text-transform: uppercase;
97
97
  letter-spacing: 0.05em;
@@ -102,17 +102,17 @@
102
102
  display: flex;
103
103
  align-items: center;
104
104
  justify-content: flex-start;
105
- gap: 0.625rem;
105
+ gap: var(--sigvelo-spacing-2-5);
106
106
  width: 100%;
107
107
  padding-block: 0.5rem;
108
108
  padding-inline: 1rem;
109
109
  border-radius: 0;
110
110
  color: var(--sigvelo-color-text);
111
111
  font-family: inherit;
112
- font-size: 0.875rem;
112
+ font-size: var(--sigvelo-text-sm);
113
113
  font-weight: var(--sigvelo-font-weight-normal);
114
114
  text-align: start;
115
- transition: background-color 120ms ease;
115
+ transition: background-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
116
116
  }
117
117
 
118
118
  .model-selector__item:hover:not(:disabled):not([data-disabled]),
@@ -133,14 +133,14 @@
133
133
 
134
134
  .model-selector__item:is(:disabled, [data-disabled]) {
135
135
  cursor: not-allowed;
136
- opacity: 0.5;
136
+ opacity: var(--sigvelo-recipe-disabled-opacity);
137
137
  }
138
138
 
139
139
  .model-selector__empty {
140
140
  padding-block: 1.5rem;
141
141
  padding-inline: 1rem;
142
142
  text-align: center;
143
- font-size: 0.8125rem;
143
+ font-size: var(--sigvelo-text-compact);
144
144
  color: var(--sigvelo-color-text-muted);
145
145
  }
146
146
 
@@ -180,9 +180,9 @@
180
180
 
181
181
  .model-selector__shortcut {
182
182
  padding-block: 0.0625rem;
183
- padding-inline: 0.375rem;
183
+ padding-inline: var(--sigvelo-spacing-1-5);
184
184
  font-family: var(--sigvelo-font-mono);
185
- font-size: 0.6875rem;
185
+ font-size: var(--sigvelo-text-2xs);
186
186
  color: var(--sigvelo-color-text-muted);
187
187
  background-color: var(--sigvelo-color-neutral-bg-subtle);
188
188
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)