@mcp-b/react-components 0.12.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 (229) hide show
  1. package/dist/{AgentChat-CRmsKg9B.d.ts → AgentChat-Br6tKEl8.d.ts} +29 -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-p5KmOmt1.d.ts} +302 -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-Cuk28Js_.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 +304 -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 +139 -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 +9 -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 +95 -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
@@ -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)
@@ -19,11 +19,12 @@
19
19
  .navigation-menu__trigger {
20
20
  display: inline-flex;
21
21
  align-items: center;
22
- gap: 0.25rem;
23
- padding-block: 0.5rem;
24
- padding-inline: 0.75rem;
25
- font-family: var(--sigvelo-font-sans);
26
- font-size: 0.875rem;
22
+ gap: var(--sigvelo-spacing-1);
23
+ min-block-size: var(--sigvelo-recipe-control-height);
24
+ padding-block: 0;
25
+ padding-inline: var(--sigvelo-recipe-control-padding-inline);
26
+ font-family: inherit;
27
+ font-size: var(--sigvelo-recipe-control-font-size);
27
28
  font-weight: var(--sigvelo-font-weight-semibold);
28
29
  color: var(--sigvelo-color-text);
29
30
  background-color: transparent;
@@ -42,9 +43,7 @@
42
43
 
43
44
  .navigation-menu__trigger:focus-visible {
44
45
  outline: none;
45
- box-shadow:
46
- 0 0 0 2px var(--sigvelo-color-canvas),
47
- 0 0 0 4px var(--sigvelo-color-focus);
46
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
48
47
  }
49
48
 
50
49
  .navigation-menu__trigger[data-popup-open] {
@@ -68,10 +67,10 @@
68
67
 
69
68
  .navigation-menu__link {
70
69
  display: block;
71
- padding-block: 0.5rem;
72
- padding-inline: 0.75rem;
73
- font-family: var(--sigvelo-font-sans);
74
- font-size: 0.875rem;
70
+ padding-block: var(--sigvelo-recipe-row-padding-block);
71
+ padding-inline: var(--sigvelo-recipe-row-padding-inline);
72
+ font-family: inherit;
73
+ font-size: var(--sigvelo-recipe-row-font-size);
75
74
  color: var(--sigvelo-color-text);
76
75
  text-decoration: none;
77
76
  border-radius: var(--sigvelo-radius-sm);
@@ -87,9 +86,7 @@
87
86
 
88
87
  .navigation-menu__link:focus-visible {
89
88
  outline: none;
90
- box-shadow:
91
- 0 0 0 2px var(--sigvelo-color-canvas),
92
- 0 0 0 4px var(--sigvelo-color-focus);
89
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
93
90
  }
94
91
 
95
92
  .navigation-menu__link[data-active] {
@@ -97,50 +94,13 @@
97
94
  color: var(--sigvelo-color-primary-bg);
98
95
  }
99
96
 
100
- .navigation-menu__positioner {
101
- z-index: 50;
102
- }
103
-
104
97
  .navigation-menu__popup {
98
+ --sigvelo-recipe-surface-padding: 0;
99
+
105
100
  min-width: 200px;
106
- background-color: var(--sigvelo-color-surface);
107
- color: var(--sigvelo-color-text);
108
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
109
- var(--sigvelo-color-neutral-border-muted);
110
- border-radius: var(--sigvelo-radius-md);
111
- box-shadow:
112
- 0 10px 15px -3px color-mix(in oklab, var(--sigvelo-color-text), transparent 90%),
113
- 0 4px 6px -4px color-mix(in oklab, var(--sigvelo-color-text), transparent 90%);
114
- animation: navigation-menu-enter var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
115
101
  overflow: hidden;
116
102
  }
117
103
 
118
- .navigation-menu__popup[data-ending-style] {
119
- animation: navigation-menu-exit 100ms ease;
120
- }
121
-
122
- @keyframes navigation-menu-enter {
123
- from {
124
- opacity: 0;
125
- transform: translateY(-4px);
126
- }
127
- to {
128
- opacity: 1;
129
- transform: translateY(0);
130
- }
131
- }
132
-
133
- @keyframes navigation-menu-exit {
134
- from {
135
- opacity: 1;
136
- transform: translateY(0);
137
- }
138
- to {
139
- opacity: 0;
140
- transform: translateY(-4px);
141
- }
142
- }
143
-
144
104
  .navigation-menu__viewport {
145
105
  position: relative;
146
106
  overflow: hidden;
@@ -1,7 +1,7 @@
1
1
  .number-field {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- gap: 0.375rem;
4
+ gap: var(--sigvelo-spacing-1-5);
5
5
  }
6
6
 
7
7
  .number-field__group {
@@ -12,21 +12,8 @@
12
12
  .number-field__input {
13
13
  flex: 1;
14
14
  width: 100%;
15
- height: 2.5rem;
16
- padding-block: 0.5rem;
17
- padding-inline: 0.75rem;
18
- font-family: var(--sigvelo-font-sans);
19
- font-size: 0.875rem;
20
- line-height: 1.25;
21
15
  text-align: center;
22
- color: var(--sigvelo-color-text);
23
- background-color: var(--sigvelo-color-canvas);
24
- border: var(--sigvelo-border-style) var(--sigvelo-border-width)
25
- var(--sigvelo-color-neutral-border-muted);
26
16
  border-inline: none;
27
- transition:
28
- border-color var(--sigvelo-duration-fast) var(--sigvelo-ease-standard),
29
- box-shadow var(--sigvelo-duration-fast) var(--sigvelo-ease-standard);
30
17
  }
31
18
 
32
19
  .number-field__input:focus-visible {
@@ -36,7 +23,7 @@
36
23
  }
37
24
 
38
25
  .number-field__input:disabled {
39
- opacity: 0.5;
26
+ opacity: var(--sigvelo-recipe-disabled-opacity);
40
27
  cursor: not-allowed;
41
28
  }
42
29
 
@@ -49,10 +36,10 @@
49
36
  display: flex;
50
37
  align-items: center;
51
38
  justify-content: center;
52
- width: 2.5rem;
53
- height: 2.5rem;
54
- font-family: var(--sigvelo-font-sans);
55
- font-size: 1rem;
39
+ inline-size: var(--sigvelo-recipe-control-height);
40
+ block-size: var(--sigvelo-recipe-control-height);
41
+ font-family: inherit;
42
+ font-size: var(--sigvelo-text-base);
56
43
  font-weight: var(--sigvelo-font-weight-semibold);
57
44
  color: var(--sigvelo-color-text);
58
45
  background-color: var(--sigvelo-color-canvas);
@@ -84,15 +71,13 @@
84
71
  .number-field__decrement:focus-visible,
85
72
  .number-field__increment:focus-visible {
86
73
  outline: none;
87
- box-shadow:
88
- 0 0 0 2px var(--sigvelo-color-canvas),
89
- 0 0 0 4px var(--sigvelo-color-focus);
74
+ box-shadow: var(--sigvelo-recipe-focus-shadow);
90
75
  z-index: 1;
91
76
  }
92
77
 
93
78
  .number-field__decrement:disabled,
94
79
  .number-field__increment:disabled {
95
- opacity: 0.5;
80
+ opacity: var(--sigvelo-recipe-disabled-opacity);
96
81
  pointer-events: none;
97
82
  }
98
83