@mcp-b/react-components 0.41.0 → 0.42.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 (114) hide show
  1. package/dist/{ThinkChatActivity-DyGHj01E.d.ts → ThinkChatActivity-CsDql-ER.d.ts} +3 -0
  2. package/dist/{WorkspaceFileView-D0yFwoDr.js → WorkspaceFileView-DwdXiKku.js} +15 -20
  3. package/dist/components/agents-sdk/AgentActivity.js +3 -2
  4. package/dist/components/agents-sdk/AgentChat.js +1 -0
  5. package/dist/components/agents-sdk/BrowserRunPanel.js +2 -1
  6. package/dist/components/agents-sdk/ManagerOffice.d.ts +39 -27
  7. package/dist/components/agents-sdk/ManagerOffice.js +80 -44
  8. package/dist/components/agents-sdk/McpPluginCatalog.js +4 -2
  9. package/dist/components/agents-sdk/ModelSelector.js +1 -1
  10. package/dist/components/agents-sdk/SubagentRunSelector.js +1 -1
  11. package/dist/components/agents-sdk/ThinkChat.d.ts +1 -1
  12. package/dist/components/agents-sdk/ThinkChat.js +1 -1
  13. package/dist/components/agents-sdk/ThinkChatActivity.d.ts +1 -1
  14. package/dist/components/agents-sdk/ThinkChatActivity.js +19 -5
  15. package/dist/components/agents-sdk/ThinkChatToolPanels.js +6 -2
  16. package/dist/components/agents-sdk/ThinkExecutionDetail.js +3 -1
  17. package/dist/components/agents-sdk/ThinkExecutionWorkbench.js +1 -0
  18. package/dist/components/agents-sdk/ThinkFullApp.d.ts +40 -88
  19. package/dist/components/agents-sdk/ThinkFullApp.js +75 -124
  20. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.d.ts +1 -1
  21. package/dist/components/agents-sdk/ThinkFullAppViewSwitch.js +1 -1
  22. package/dist/components/agents-sdk/ThinkRoutineDetail.js +1 -1
  23. package/dist/components/agents-sdk/ThinkRoutineLibrary.d.ts +7 -6
  24. package/dist/components/agents-sdk/ThinkRoutineLibrary.js +57 -65
  25. package/dist/components/agents-sdk/ThinkThreadPicker.js +2 -1
  26. package/dist/components/agents-sdk/WorkspaceExplorer.js +2 -1
  27. package/dist/components/agents-sdk/WorkspaceFileView.js +1 -1
  28. package/dist/components/ai-sdk/MessageScroller.js +2 -1
  29. package/dist/components/ai-sdk/MessageScrollerVirtual.js +1 -0
  30. package/dist/components/ai-sdk/PromptInput.js +20 -14
  31. package/dist/components/extension/ChatGptSignInScreen.js +1 -0
  32. package/dist/components/foundations/ToggleGroup.d.ts +79 -1
  33. package/dist/components/foundations/ToggleGroup.js +1 -1
  34. package/dist/components/foundations/Toolbar.d.ts +151 -1
  35. package/dist/components/general-purpose/AppFrame.js +1 -0
  36. package/dist/components/general-purpose/AppTopBar.d.ts +96 -1
  37. package/dist/components/general-purpose/PricingBillingToggle.js +1 -1
  38. package/dist/components/general-purpose/PricingUsageCalculator.js +1 -1
  39. package/dist/components/general-purpose/ResizableSidePanel.d.ts +8 -0
  40. package/dist/components/general-purpose/ResizableSidePanel.js +3 -2
  41. package/dist/components/general-purpose/ResponsiveSidebarShell.d.ts +59 -49
  42. package/dist/components/general-purpose/ResponsiveSidebarShell.js +74 -74
  43. package/dist/components/general-purpose/WebPreview.d.ts +3 -0
  44. package/dist/components/general-purpose/WebPreview.js +2 -2
  45. package/dist/components/nanites/AgentToolDetail.js +4 -3
  46. package/dist/styles/accordion.css +1 -0
  47. package/dist/styles/action-guide.css +8 -7
  48. package/dist/styles/activity-header.css +13 -39
  49. package/dist/styles/activity.css +40 -55
  50. package/dist/styles/agent-attention.css +14 -14
  51. package/dist/styles/agent-chat.css +62 -45
  52. package/dist/styles/agent-connection.css +10 -4
  53. package/dist/styles/agent-tool-detail.css +4 -4
  54. package/dist/styles/alert-dialog.css +4 -4
  55. package/dist/styles/app-frame.css +1 -3
  56. package/dist/styles/app-top-bar.css +5 -9
  57. package/dist/styles/approval.css +1 -0
  58. package/dist/styles/artifact.css +6 -6
  59. package/dist/styles/attachment-preview.css +5 -4
  60. package/dist/styles/browser-replay.css +6 -6
  61. package/dist/styles/browser-run-panel.css +1 -0
  62. package/dist/styles/button.css +15 -6
  63. package/dist/styles/card.css +5 -5
  64. package/dist/styles/chatgpt-sign-in-screen.css +1 -1
  65. package/dist/styles/code-block.css +14 -13
  66. package/dist/styles/codex-model-selector.css +2 -0
  67. package/dist/styles/collapsible.css +1 -0
  68. package/dist/styles/commit.css +6 -6
  69. package/dist/styles/context.css +9 -9
  70. package/dist/styles/conversation-tab-picker.css +1 -1
  71. package/dist/styles/conversation.css +6 -8
  72. package/dist/styles/dialog.css +4 -4
  73. package/dist/styles/empty-state.css +3 -3
  74. package/dist/styles/environment-variables.css +9 -9
  75. package/dist/styles/field.css +2 -1
  76. package/dist/styles/fieldset.css +2 -2
  77. package/dist/styles/index.css +3 -3
  78. package/dist/styles/manager-office.css +23 -29
  79. package/dist/styles/mcp-plugin-catalog.css +11 -10
  80. package/dist/styles/mcp-server-picker.css +3 -3
  81. package/dist/styles/message-scroller.css +9 -11
  82. package/dist/styles/message.css +43 -20
  83. package/dist/styles/navigation-menu.css +1 -0
  84. package/dist/styles/plan.css +13 -12
  85. package/dist/styles/pricing-page.css +26 -23
  86. package/dist/styles/prompt-input.css +18 -5
  87. package/dist/styles/queue.css +1 -0
  88. package/dist/styles/reasoning.css +1 -9
  89. package/dist/styles/recipes.css +28 -1
  90. package/dist/styles/responsive-sidebar-shell.css +44 -16
  91. package/dist/styles/separator.css +5 -5
  92. package/dist/styles/sources.css +4 -4
  93. package/dist/styles/stepper.css +1 -0
  94. package/dist/styles/streamdown.css +31 -21
  95. package/dist/styles/tabs.css +1 -0
  96. package/dist/styles/task.css +5 -17
  97. package/dist/styles/terminal.css +10 -10
  98. package/dist/styles/test-results.css +6 -6
  99. package/dist/styles/think-execution-status.css +2 -2
  100. package/dist/styles/think-execution-workbench.css +12 -15
  101. package/dist/styles/think-full-app.css +26 -64
  102. package/dist/styles/think-routine-library.css +26 -55
  103. package/dist/styles/think-thread-picker.css +9 -9
  104. package/dist/styles/utilities.css +33 -0
  105. package/dist/styles/web-preview.css +20 -19
  106. package/dist/styles/workspace-explorer.css +18 -21
  107. package/dist/styles/workspace-mount-manager.css +2 -2
  108. package/dist/utils/favicon.d.ts +6 -1
  109. package/dist/utils/favicon.js +18 -1
  110. package/package.json +2 -2
  111. package/dist/AppTopBar-ZdgmB_Lu.d.ts +0 -97
  112. package/dist/ToggleGroup-BrQZOQn_.d.ts +0 -80
  113. package/dist/Toolbar-CBOseBQr.d.ts +0 -152
  114. package/dist/{ThinkChat-BES_3Mb-.js → ThinkChat-DkA4Wr71.js} +1 -1
@@ -8,20 +8,16 @@
8
8
  once; the bar adds the safe-area inset itself, so the hook stays a plain
9
9
  content height. */
10
10
  min-block-size: calc(
11
- var(
12
- --app-top-bar-block-size,
13
- calc(var(--sigvelo-density-compact-control-height) + var(--sigvelo-spacing-2))
14
- ) +
15
- env(safe-area-inset-top, 0px)
11
+ var(--app-top-bar-block-size, var(--sigvelo-layout-chrome)) + env(safe-area-inset-top, 0px)
16
12
  );
17
13
  display: grid;
18
- grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
14
+ grid-template-columns: var(--sigvelo-layout-track-fill) auto var(--sigvelo-layout-track-fill);
19
15
  align-items: center;
20
16
  gap: var(--sigvelo-density-compact-control-gap);
21
17
  padding-block: calc(var(--sigvelo-spacing-1) + env(safe-area-inset-top, 0px))
22
18
  var(--sigvelo-spacing-1);
23
- padding-inline: calc(var(--sigvelo-spacing-2) + env(safe-area-inset-left, 0px))
24
- calc(var(--sigvelo-spacing-2) + env(safe-area-inset-right, 0px));
19
+ padding-inline: calc(var(--sigvelo-layout-gutter) + env(safe-area-inset-left, 0px))
20
+ calc(var(--sigvelo-layout-gutter) + env(safe-area-inset-right, 0px));
25
21
  border: 0;
26
22
  border-radius: 0;
27
23
  /* No surface of its own: the bar occupies a layout row, so whatever plane
@@ -64,7 +60,7 @@
64
60
  way — one hairline and a breath of shadow, still no fill. */
65
61
  .app-top-bar[data-title-align="start"] {
66
62
  position: relative;
67
- grid-template-columns: auto auto minmax(0, 1fr);
63
+ grid-template-columns: auto auto var(--sigvelo-layout-track-fill);
68
64
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
69
65
  var(--sigvelo-color-neutral-border-subtle);
70
66
  box-shadow: var(--sigvelo-elevation-bar);
@@ -11,6 +11,7 @@
11
11
  .approval__header {
12
12
  display: flex;
13
13
  align-items: baseline;
14
+ /* Widget density, not --sigvelo-layout-cluster. */
14
15
  gap: var(--sigvelo-spacing-2);
15
16
  line-height: var(--sigvelo-leading-snug);
16
17
  }
@@ -15,9 +15,9 @@
15
15
  display: flex;
16
16
  align-items: flex-start;
17
17
  justify-content: space-between;
18
- gap: var(--sigvelo-spacing-3);
19
- padding-block: var(--sigvelo-spacing-3);
20
- padding-inline: var(--sigvelo-spacing-4);
18
+ gap: var(--sigvelo-layout-gutter);
19
+ padding-block: var(--sigvelo-layout-cluster);
20
+ padding-inline: var(--sigvelo-layout-gutter);
21
21
  background-color: var(--sigvelo-color-surface);
22
22
  }
23
23
 
@@ -54,8 +54,8 @@
54
54
  }
55
55
 
56
56
  .artifact__content {
57
- padding-block: var(--sigvelo-spacing-4);
58
- padding-inline: var(--sigvelo-spacing-4);
57
+ padding-block: var(--sigvelo-layout-stack);
58
+ padding-inline: var(--sigvelo-layout-gutter);
59
59
  font-size: var(--sigvelo-text-sm);
60
60
  line-height: var(--sigvelo-leading-normal);
61
61
  overflow-wrap: anywhere;
@@ -104,7 +104,7 @@
104
104
  justify-content: center;
105
105
  flex-wrap: wrap;
106
106
  gap: var(--sigvelo-spacing-2);
107
- padding: var(--sigvelo-spacing-4);
107
+ padding: var(--sigvelo-layout-stack);
108
108
  color: var(--sigvelo-color-text-muted);
109
109
  text-align: center;
110
110
  }
@@ -2,14 +2,15 @@
2
2
  Scoped as .dialog__popup.attachment-preview so it beats the base dialog
3
3
  sizing regardless of import order. */
4
4
  .dialog__popup.attachment-preview {
5
- width: fit-content;
6
- max-width: min(90vw, 56rem);
5
+ inline-size: fit-content;
6
+ /* Lightbox measure. Not --sigvelo-layout-break-compact. */
7
+ max-inline-size: min(90dvi, 56rem);
7
8
  }
8
9
 
9
10
  .attachment-preview__image {
10
11
  display: block;
11
- max-width: 100%;
12
- max-height: 70vh;
12
+ max-inline-size: 100%;
13
+ max-block-size: 70dvb;
13
14
  border-radius: var(--sigvelo-radius-md);
14
15
  }
15
16
 
@@ -4,7 +4,7 @@
4
4
  .browser-replay {
5
5
  display: flex;
6
6
  flex-direction: column;
7
- width: 100%;
7
+ inline-size: 100%;
8
8
  font-family: inherit;
9
9
  color: var(--sigvelo-color-text);
10
10
  background-color: var(--sigvelo-color-surface);
@@ -16,7 +16,7 @@
16
16
 
17
17
  .browser-replay__stage-wrap {
18
18
  position: relative;
19
- width: 100%;
19
+ inline-size: 100%;
20
20
  aspect-ratio: 16 / 10;
21
21
  background-color: var(--sigvelo-color-neutral-bg-subtle);
22
22
  overflow: hidden;
@@ -44,9 +44,9 @@
44
44
  .browser-replay__controls {
45
45
  display: flex;
46
46
  align-items: center;
47
- gap: var(--sigvelo-spacing-2-5);
48
- padding-block: var(--sigvelo-spacing-2);
49
- padding-inline: var(--sigvelo-spacing-3);
47
+ gap: var(--sigvelo-layout-cluster);
48
+ padding-block: var(--sigvelo-layout-cluster);
49
+ padding-inline: var(--sigvelo-layout-gutter);
50
50
  border-block-start: var(--sigvelo-border-style) var(--sigvelo-border-width)
51
51
  var(--sigvelo-color-neutral-border-subtle);
52
52
  background-color: var(--sigvelo-color-surface);
@@ -60,7 +60,7 @@
60
60
 
61
61
  .browser-replay__scrubber {
62
62
  flex: 1;
63
- min-width: 0;
63
+ min-inline-size: 0;
64
64
  }
65
65
 
66
66
  .browser-replay__time {
@@ -85,6 +85,7 @@
85
85
  /* The panel owns the space allotted to whichever direct surface it hosts. */
86
86
  .browser-run-panel__body > * {
87
87
  flex: 1;
88
+ /* Hosted preview floor. Not --sigvelo-layout-sidebar. */
88
89
  min-block-size: 16rem;
89
90
  }
90
91
 
@@ -38,10 +38,7 @@
38
38
  flex: none;
39
39
  }
40
40
 
41
- /* ponytail: one brightness rule covers press feedback for every variant;
42
- upgrade to per-variant color-mix rules if filter side effects ever bite */
43
41
  .button:active:not([data-disabled]) {
44
- filter: brightness(0.94);
45
42
  translate: 0 var(--sigvelo-motion-distance-xs);
46
43
  }
47
44
 
@@ -65,7 +62,11 @@
65
62
  }
66
63
 
67
64
  .button--normal.button--primary:hover:not([data-disabled]) {
68
- background-color: color-mix(in oklab, var(--sigvelo-color-primary-bg), black 5%);
65
+ background-color: var(--sigvelo-color-primary-bg-hover);
66
+ }
67
+
68
+ .button--normal.button--primary:active:not([data-disabled]) {
69
+ background-color: var(--sigvelo-color-primary-bg-press);
69
70
  }
70
71
 
71
72
  .button--normal.button--neutral {
@@ -74,7 +75,11 @@
74
75
  }
75
76
 
76
77
  .button--normal.button--neutral:hover:not([data-disabled]) {
77
- background-color: color-mix(in oklab, var(--sigvelo-color-neutral-bg-subtle), black 5%);
78
+ background-color: var(--sigvelo-color-neutral-bg-hover);
79
+ }
80
+
81
+ .button--normal.button--neutral:active:not([data-disabled]) {
82
+ background-color: var(--sigvelo-color-neutral-bg-press);
78
83
  }
79
84
 
80
85
  .button--normal.button--destructive {
@@ -83,7 +88,11 @@
83
88
  }
84
89
 
85
90
  .button--normal.button--destructive:hover:not([data-disabled]) {
86
- background-color: color-mix(in oklab, var(--sigvelo-color-danger-bg), black 5%);
91
+ background-color: var(--sigvelo-color-danger-bg-hover);
92
+ }
93
+
94
+ .button--normal.button--destructive:active:not([data-disabled]) {
95
+ background-color: var(--sigvelo-color-danger-bg-press);
87
96
  }
88
97
 
89
98
  /* Outline appearance */
@@ -3,14 +3,14 @@
3
3
  color: var(--sigvelo-color-text);
4
4
  /* Shadow-led elevation: the hairline ring in the stack is the perimeter. */
5
5
  border-radius: var(--sigvelo-radius-lg);
6
- padding: var(--sigvelo-spacing-4);
6
+ padding: var(--sigvelo-layout-stack);
7
7
  box-shadow: var(--sigvelo-elevation-raised);
8
8
  transition: box-shadow var(--sigvelo-motion-duration-interaction)
9
9
  var(--sigvelo-motion-ease-change);
10
10
  }
11
11
 
12
12
  .card[data-size="sm"] {
13
- padding: var(--sigvelo-spacing-3);
13
+ padding: var(--sigvelo-layout-gutter);
14
14
  border-radius: var(--sigvelo-radius-md);
15
15
  }
16
16
 
@@ -39,13 +39,13 @@
39
39
  .card__header {
40
40
  display: grid;
41
41
  grid-template-rows: auto auto;
42
- grid-template-columns: minmax(0, 1fr);
42
+ grid-template-columns: var(--sigvelo-layout-track-fill);
43
43
  align-items: start;
44
- margin-block-end: var(--sigvelo-spacing-3);
44
+ margin-block-end: var(--sigvelo-layout-gutter);
45
45
  }
46
46
 
47
47
  .card__header:has(.card__action) {
48
- grid-template-columns: minmax(0, 1fr) auto;
48
+ grid-template-columns: var(--sigvelo-layout-track-fill) auto;
49
49
  }
50
50
 
51
51
  .card__action {
@@ -67,7 +67,7 @@
67
67
  z-index: 1;
68
68
  display: flex;
69
69
  justify-content: center;
70
- margin-block-start: var(--sigvelo-spacing-4);
70
+ margin-block-start: var(--sigvelo-layout-stack);
71
71
  }
72
72
 
73
73
  .chatgpt-sign-in__error {
@@ -1,7 +1,7 @@
1
1
  .code-block {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- width: 100%;
4
+ inline-size: 100%;
5
5
  min-inline-size: 0;
6
6
  font-family: inherit;
7
7
  /* Fill-based containment: no perimeter border */
@@ -13,9 +13,9 @@
13
13
  .code-block__header {
14
14
  display: flex;
15
15
  align-items: center;
16
- gap: var(--sigvelo-spacing-2);
17
- padding-block: var(--sigvelo-spacing-2);
18
- padding-inline: var(--sigvelo-spacing-3);
16
+ gap: var(--sigvelo-layout-cluster);
17
+ padding-block: var(--sigvelo-layout-cluster);
18
+ padding-inline: var(--sigvelo-layout-gutter);
19
19
  background-color: transparent;
20
20
  }
21
21
 
@@ -23,14 +23,14 @@
23
23
  display: inline-flex;
24
24
  align-items: center;
25
25
  gap: var(--sigvelo-spacing-2);
26
- font-size: var(--sigvelo-text-xs);
26
+ font-size: var(--sigvelo-text-meta);
27
27
  font-weight: var(--sigvelo-font-weight-semibold);
28
28
  color: var(--sigvelo-color-text);
29
29
  }
30
30
 
31
31
  .code-block__filename {
32
32
  font-family: var(--sigvelo-font-mono);
33
- font-size: var(--sigvelo-text-xs);
33
+ font-size: var(--sigvelo-text-meta);
34
34
  color: var(--sigvelo-color-text-muted);
35
35
  }
36
36
 
@@ -55,11 +55,11 @@
55
55
 
56
56
  .code-block__content {
57
57
  margin: 0;
58
- padding-block: var(--sigvelo-spacing-3);
58
+ padding-block: var(--sigvelo-layout-gutter);
59
59
  padding-inline: var(--sigvelo-spacing-3-5);
60
60
  font-family: var(--sigvelo-font-mono);
61
- font-size: var(--sigvelo-text-compact);
62
- line-height: var(--sigvelo-leading-normal);
61
+ font-size: var(--sigvelo-text-code);
62
+ line-height: var(--sigvelo-text-code-leading);
63
63
  color: var(--sigvelo-color-text);
64
64
  overflow: visible;
65
65
  }
@@ -70,12 +70,12 @@
70
70
 
71
71
  .code-block__content--highlighted pre.shiki {
72
72
  margin: 0;
73
- padding-block: var(--sigvelo-spacing-3);
73
+ padding-block: var(--sigvelo-layout-gutter);
74
74
  padding-inline: var(--sigvelo-spacing-3-5);
75
75
  background-color: transparent !important;
76
76
  font-family: var(--sigvelo-font-mono);
77
- font-size: var(--sigvelo-text-compact);
78
- line-height: var(--sigvelo-leading-normal);
77
+ font-size: var(--sigvelo-text-code);
78
+ line-height: var(--sigvelo-text-code-leading);
79
79
  overflow: visible;
80
80
  }
81
81
 
@@ -100,7 +100,8 @@
100
100
  .code-block__content--numbered pre code .line::before {
101
101
  content: counter(line);
102
102
  display: inline-block;
103
- width: 2rem;
103
+ inline-size: 2rem;
104
+ /* Line-number column. Not --sigvelo-layout-gutter. */
104
105
  padding-inline-end: var(--sigvelo-spacing-3);
105
106
  margin-inline-end: var(--sigvelo-spacing-3);
106
107
  color: var(--sigvelo-color-text-muted);
@@ -184,6 +184,7 @@
184
184
  margin-inline-start: auto;
185
185
  }
186
186
 
187
+ /* Local wrap. Not --sigvelo-layout-break-compact. */
187
188
  @container prompt-input (inline-size <= 36rem) {
188
189
  .codex-model-selector__trigger {
189
190
  justify-content: center;
@@ -200,6 +201,7 @@
200
201
  }
201
202
  }
202
203
 
204
+ /* Local wrap. Not --sigvelo-layout-break-compact. */
203
205
  @container prompt-input (inline-size <= 22rem) {
204
206
  .codex-model-selector__trigger {
205
207
  inline-size: var(--sigvelo-control-height-xs);
@@ -69,6 +69,7 @@
69
69
  }
70
70
 
71
71
  .collapsible__panel > * {
72
+ /* Disclosure content, not --sigvelo-layout-stack. */
72
73
  padding: var(--sigvelo-spacing-4);
73
74
  background-color: var(--sigvelo-color-surface);
74
75
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
@@ -1,10 +1,10 @@
1
1
  .commit__header {
2
2
  display: flex;
3
3
  align-items: center;
4
- gap: var(--sigvelo-spacing-2);
4
+ gap: var(--sigvelo-layout-cluster);
5
5
  inline-size: 100%;
6
- padding-block: var(--sigvelo-spacing-2-5);
7
- padding-inline: var(--sigvelo-spacing-3);
6
+ padding-block: var(--sigvelo-layout-cluster);
7
+ padding-inline: var(--sigvelo-layout-gutter);
8
8
  background-color: transparent;
9
9
  border: none;
10
10
  color: var(--sigvelo-color-text);
@@ -113,9 +113,9 @@
113
113
  .commit__file {
114
114
  display: flex;
115
115
  align-items: center;
116
- gap: var(--sigvelo-spacing-2);
117
- padding-block: var(--sigvelo-spacing-2);
118
- padding-inline: var(--sigvelo-spacing-3);
116
+ gap: var(--sigvelo-layout-cluster);
117
+ padding-block: var(--sigvelo-layout-cluster);
118
+ padding-inline: var(--sigvelo-layout-gutter);
119
119
  font-size: var(--sigvelo-text-compact);
120
120
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
121
121
  var(--sigvelo-color-neutral-border-subtle);
@@ -28,9 +28,9 @@
28
28
  .context__header {
29
29
  display: flex;
30
30
  align-items: center;
31
- gap: var(--sigvelo-spacing-3);
32
- padding-block: var(--sigvelo-spacing-3);
33
- padding-inline: var(--sigvelo-spacing-3);
31
+ gap: var(--sigvelo-layout-gutter);
32
+ padding-block: var(--sigvelo-layout-gutter);
33
+ padding-inline: var(--sigvelo-layout-gutter);
34
34
  }
35
35
 
36
36
  .context__ring {
@@ -90,16 +90,16 @@
90
90
  display: flex;
91
91
  flex-direction: column;
92
92
  margin: 0;
93
- padding-block: var(--sigvelo-spacing-2);
94
- padding-inline: var(--sigvelo-spacing-3);
93
+ padding-block: var(--sigvelo-layout-cluster);
94
+ padding-inline: var(--sigvelo-layout-gutter);
95
95
  list-style: none;
96
96
  gap: var(--sigvelo-spacing-1-5);
97
97
  }
98
98
 
99
99
  .context__row {
100
100
  display: grid;
101
- grid-template-columns: 1fr auto;
102
- gap: var(--sigvelo-spacing-3);
101
+ grid-template-columns: var(--sigvelo-layout-track-fill) auto;
102
+ gap: var(--sigvelo-layout-gutter);
103
103
  font-size: var(--sigvelo-text-xs);
104
104
  align-items: baseline;
105
105
  }
@@ -129,8 +129,8 @@
129
129
  display: flex;
130
130
  justify-content: space-between;
131
131
  align-items: center;
132
- padding-block: var(--sigvelo-spacing-2);
133
- padding-inline: var(--sigvelo-spacing-3);
132
+ padding-block: var(--sigvelo-layout-cluster);
133
+ padding-inline: var(--sigvelo-layout-gutter);
134
134
  font-size: var(--sigvelo-text-xs);
135
135
  font-weight: var(--sigvelo-font-weight-semibold);
136
136
  }
@@ -9,7 +9,7 @@
9
9
  font-size: var(--sigvelo-text-sm);
10
10
  gap: var(--sigvelo-spacing-2);
11
11
  overflow-wrap: anywhere;
12
- padding: var(--sigvelo-spacing-2) var(--sigvelo-spacing-3);
12
+ padding: var(--sigvelo-layout-cluster) var(--sigvelo-layout-gutter);
13
13
  }
14
14
 
15
15
  .conversation-tab-picker__error > svg {
@@ -1,7 +1,5 @@
1
1
  .conversation {
2
2
  position: relative;
3
- inline-size: 100%;
4
- block-size: 100%;
5
3
  font-family: inherit;
6
4
  color: var(--sigvelo-color-text);
7
5
  }
@@ -21,8 +19,8 @@
21
19
  .conversation__content {
22
20
  display: flex;
23
21
  flex-direction: column;
24
- gap: var(--sigvelo-spacing-3);
25
- padding: var(--sigvelo-spacing-4);
22
+ gap: var(--sigvelo-layout-stack);
23
+ padding: var(--sigvelo-layout-gutter);
26
24
  min-block-size: 100%;
27
25
  }
28
26
 
@@ -34,8 +32,8 @@
34
32
 
35
33
  .conversation__scroll-button {
36
34
  position: absolute;
37
- inset-inline-end: var(--sigvelo-spacing-3);
38
- inset-block-end: var(--sigvelo-spacing-3);
35
+ inset-inline-end: var(--sigvelo-layout-gutter);
36
+ inset-block-end: var(--sigvelo-layout-gutter);
39
37
  z-index: 1;
40
38
  /* Hovers over the transcript rather than sitting in it, so it takes the
41
39
  floating stack: the wide ambient layer is what separates it from whatever
@@ -46,8 +44,8 @@
46
44
 
47
45
  .conversation__download-button {
48
46
  position: absolute;
49
- inset-inline-end: var(--sigvelo-spacing-3);
50
- inset-block-start: var(--sigvelo-spacing-3);
47
+ inset-inline-end: var(--sigvelo-layout-gutter);
48
+ inset-block-start: var(--sigvelo-layout-gutter);
51
49
  z-index: 1;
52
50
  box-shadow: var(--sigvelo-elevation-floating);
53
51
  background-color: var(--sigvelo-color-surface-raised);
@@ -18,7 +18,7 @@
18
18
  }
19
19
 
20
20
  .dialog__popup {
21
- --sigvelo-recipe-surface-padding: var(--sigvelo-spacing-4);
21
+ --sigvelo-recipe-surface-padding: var(--sigvelo-layout-stack);
22
22
 
23
23
  position: fixed;
24
24
  inset-block-start: 50%;
@@ -59,15 +59,15 @@
59
59
  font-size: var(--sigvelo-text-sm);
60
60
  line-height: var(--sigvelo-text-sm-leading);
61
61
  color: var(--sigvelo-color-text-muted);
62
- margin-block-end: var(--sigvelo-spacing-3);
62
+ margin-block-end: var(--sigvelo-layout-gutter);
63
63
  }
64
64
 
65
65
  .dialog__header {
66
66
  display: grid;
67
67
  gap: var(--sigvelo-spacing-1);
68
- margin-block-end: var(--sigvelo-spacing-3);
68
+ margin-block-end: var(--sigvelo-layout-gutter);
69
69
  }
70
70
 
71
71
  .dialog__footer {
72
- margin-block-start: var(--sigvelo-spacing-4);
72
+ margin-block-start: var(--sigvelo-layout-stack);
73
73
  }
@@ -5,15 +5,15 @@
5
5
  * lives in one variable and the centring lives in the parent.
6
6
  */
7
7
  .empty-state {
8
- --sigvelo-recipe-empty-state-padding-block: var(--sigvelo-spacing-4);
8
+ --sigvelo-recipe-empty-state-padding-block: var(--sigvelo-layout-stack);
9
9
 
10
10
  display: flex;
11
11
  flex-direction: column;
12
12
  align-items: center;
13
13
  justify-content: center;
14
- gap: var(--sigvelo-spacing-2);
14
+ gap: var(--sigvelo-layout-cluster);
15
15
  padding-block: var(--sigvelo-recipe-empty-state-padding-block);
16
- padding-inline: var(--sigvelo-spacing-3);
16
+ padding-inline: var(--sigvelo-layout-gutter);
17
17
  color: var(--sigvelo-color-text-muted);
18
18
  font-size: var(--sigvelo-text-compact);
19
19
  line-height: var(--sigvelo-text-compact-leading);
@@ -2,9 +2,9 @@
2
2
  display: flex;
3
3
  align-items: center;
4
4
  justify-content: space-between;
5
- gap: var(--sigvelo-spacing-3);
6
- padding-block: var(--sigvelo-spacing-2-5);
7
- padding-inline: var(--sigvelo-spacing-3-5);
5
+ gap: var(--sigvelo-layout-gutter);
6
+ padding-block: var(--sigvelo-layout-cluster);
7
+ padding-inline: var(--sigvelo-layout-gutter);
8
8
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
9
9
  var(--sigvelo-color-neutral-border-subtle);
10
10
  }
@@ -42,7 +42,7 @@
42
42
 
43
43
  .environment-variables__group-label {
44
44
  padding-block: var(--sigvelo-spacing-1-5);
45
- padding-inline: var(--sigvelo-spacing-3-5);
45
+ padding-inline: var(--sigvelo-layout-gutter);
46
46
  font-size: var(--sigvelo-text-2xs);
47
47
  font-weight: var(--sigvelo-font-weight-bold);
48
48
  text-transform: uppercase;
@@ -56,9 +56,9 @@
56
56
  .environment-variables__row {
57
57
  display: flex;
58
58
  align-items: center;
59
- gap: var(--sigvelo-spacing-2-5);
60
- padding-block: var(--sigvelo-spacing-2);
61
- padding-inline: var(--sigvelo-spacing-3-5);
59
+ gap: var(--sigvelo-layout-cluster);
60
+ padding-block: var(--sigvelo-layout-cluster);
61
+ padding-inline: var(--sigvelo-layout-gutter);
62
62
  border-block-end: var(--sigvelo-border-style) var(--sigvelo-border-width)
63
63
  var(--sigvelo-color-neutral-border-subtle);
64
64
  }
@@ -73,12 +73,12 @@
73
73
  font-weight: var(--sigvelo-font-weight-semibold);
74
74
  color: var(--sigvelo-color-text);
75
75
  flex-shrink: 0;
76
- min-width: 10rem;
76
+ min-inline-size: 10rem;
77
77
  }
78
78
 
79
79
  .environment-variables__value {
80
80
  flex: 1;
81
- min-width: 0;
81
+ min-inline-size: 0;
82
82
  padding-block: var(--sigvelo-spacing-1-5);
83
83
  padding-inline: var(--sigvelo-spacing-2);
84
84
  font-family: var(--sigvelo-font-mono);
@@ -32,7 +32,8 @@
32
32
  flex-direction: column;
33
33
  }
34
34
 
35
- @container (min-width: 28rem) {
35
+ /* Local wrap. Not --sigvelo-layout-break-compact. */
36
+ @container (inline-size >= 28rem) {
36
37
  .field--responsive {
37
38
  flex-direction: row;
38
39
  align-items: center;
@@ -1,8 +1,8 @@
1
1
  .fieldset {
2
2
  display: flex;
3
3
  flex-direction: column;
4
- gap: var(--sigvelo-spacing-3);
5
- padding: var(--sigvelo-spacing-4);
4
+ gap: var(--sigvelo-layout-gutter);
5
+ padding: var(--sigvelo-layout-stack);
6
6
  margin: 0;
7
7
  border: var(--sigvelo-border-style) var(--sigvelo-border-width)
8
8
  var(--sigvelo-color-neutral-border-muted);
@@ -18,7 +18,6 @@
18
18
  @import "./agent-attention.css" layer(components);
19
19
  @import "./agent-connection.css" layer(components);
20
20
  @import "./agent-chat.css" layer(components);
21
- @import "./agent-tool-detail.css" layer(components);
22
21
  @import "./approval.css" layer(components);
23
22
  @import "./alert-dialog.css" layer(components);
24
23
  @import "./attachment-preview.css" layer(components);
@@ -87,7 +86,6 @@
87
86
  @import "./browser-live-screen.css" layer(components);
88
87
  @import "./browser-control-overlay.css" layer(components);
89
88
  @import "./browser-run-panel.css" layer(components);
90
- @import "./browser-replay.css" layer(components);
91
89
  @import "./chain-of-thought.css" layer(components);
92
90
  @import "./checkpoint.css" layer(components);
93
91
  @import "./code-block.css" layer(components);
@@ -96,12 +94,14 @@
96
94
  @import "./conversation.css" layer(components);
97
95
  @import "./conversation-tab-picker.css" layer(components);
98
96
  @import "./codex-model-selector.css" layer(components);
97
+ @import "./model-selector.css" layer(components);
98
+ @import "./agent-tool-detail.css" layer(components);
99
+ @import "./browser-replay.css" layer(components);
99
100
  @import "./environment-variables.css" layer(components);
100
101
  @import "./file-tree.css" layer(components);
101
102
  @import "./goal.css" layer(components);
102
103
  @import "./inline-citation.css" layer(components);
103
104
  @import "./message.css" layer(components);
104
- @import "./model-selector.css" layer(components);
105
105
  @import "./chatgpt-sign-in-screen.css" layer(components);
106
106
  @import "./plan.css" layer(components);
107
107
  @import "./prompt-input.css" layer(components);