@mcp-b/react-components 0.20.1 → 0.20.5

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 (173) hide show
  1. package/dist/{CodeBlock-Bb-IPBc_.js → CodeBlock-ygtuzqJd.js} +1 -1
  2. package/dist/{FileTree-CUlXfnmc.js → FileTree-CdgfccsM.js} +5 -5
  3. package/dist/{Message-rZEaaD8Q.js → Message-DzuteocT.js} +4 -3
  4. package/dist/{ModelSelector-4GsCWcZV.js → ModelSelector-pecWyOFI.js} +4 -3
  5. package/dist/{WorkspaceFileView-CEdArlOT.js → WorkspaceFileView-Bxx4wEzJ.js} +5 -11
  6. package/dist/components/Accordion.js +4 -4
  7. package/dist/components/Activity.js +2 -2
  8. package/dist/components/AgentActivity.js +1 -1
  9. package/dist/components/AgentActivityPreview.js +1 -1
  10. package/dist/components/AgentAttention.js +2 -2
  11. package/dist/components/AgentChat.js +4 -4
  12. package/dist/components/AgentConnection.js +2 -2
  13. package/dist/components/AgentMessageParts.js +1 -1
  14. package/dist/components/AgentToolDetail.js +1 -1
  15. package/dist/components/AlertDialog.js +8 -8
  16. package/dist/components/AppTopBar.js +1 -1
  17. package/dist/components/Approval.js +1 -1
  18. package/dist/components/Artifact.js +1 -1
  19. package/dist/components/Autocomplete.js +11 -11
  20. package/dist/components/Avatar.js +6 -6
  21. package/dist/components/BrowserLiveView.js +2 -2
  22. package/dist/components/BrowserReplay.js +4 -7
  23. package/dist/components/BrowserRunPanel.js +2 -2
  24. package/dist/components/Card.js +8 -11
  25. package/dist/components/ChainOfThought.js +2 -2
  26. package/dist/components/ChatGptSignInScreen.js +2 -2
  27. package/dist/components/Checkbox.js +2 -2
  28. package/dist/components/CheckboxGroup.js +7 -7
  29. package/dist/components/Checkpoint.js +1 -1
  30. package/dist/components/CodeBlock.js +1 -1
  31. package/dist/components/CodexModelSelector.js +5 -4
  32. package/dist/components/Collapsible.js +2 -2
  33. package/dist/components/Combobox.js +11 -11
  34. package/dist/components/Commit.js +4 -4
  35. package/dist/components/Context.js +3 -1
  36. package/dist/components/ContextMenu.js +13 -13
  37. package/dist/components/Conversation.js +3 -8
  38. package/dist/components/Dialog.js +6 -6
  39. package/dist/components/EnvironmentVariables.js +3 -3
  40. package/dist/components/Field.js +7 -7
  41. package/dist/components/Fieldset.js +3 -3
  42. package/dist/components/FileTree.js +1 -1
  43. package/dist/components/Form.js +1 -1
  44. package/dist/components/InlineCitation.js +2 -2
  45. package/dist/components/Input.js +1 -1
  46. package/dist/components/Label.js +2 -1
  47. package/dist/components/McpConnectionRequest.js +1 -1
  48. package/dist/components/McpServerPicker.js +3 -3
  49. package/dist/components/MediaPreviewCard.js +5 -4
  50. package/dist/components/Menu.js +17 -17
  51. package/dist/components/Menubar.js +14 -14
  52. package/dist/components/Message.js +1 -1
  53. package/dist/components/MessageScroller.js +2 -1
  54. package/dist/components/Meter.js +5 -5
  55. package/dist/components/ModelSelector.js +1 -1
  56. package/dist/components/NaniteScene.js +2 -1
  57. package/dist/components/NavigationMenu.js +11 -11
  58. package/dist/components/NumberField.js +6 -6
  59. package/dist/components/Plan.js +1 -1
  60. package/dist/components/Popover.js +12 -14
  61. package/dist/components/PreviewCard.js +6 -6
  62. package/dist/components/PricingPage.js +2 -1
  63. package/dist/components/PricingPlanCard.js +1 -1
  64. package/dist/components/Progress.js +4 -4
  65. package/dist/components/PromptInput.js +10 -12
  66. package/dist/components/Queue.js +1 -1
  67. package/dist/components/RadioGroup.js +4 -4
  68. package/dist/components/Reasoning.js +2 -2
  69. package/dist/components/ResizableSidePanel.js +3 -5
  70. package/dist/components/ResponsiveSidebarShell.js +4 -3
  71. package/dist/components/ScrollArea.js +6 -6
  72. package/dist/components/SearchField.js +1 -1
  73. package/dist/components/Select.js +15 -15
  74. package/dist/components/Slider.js +7 -7
  75. package/dist/components/Sources.js +2 -2
  76. package/dist/components/Stepper.js +2 -6
  77. package/dist/components/SubagentRunDetails.js +2 -1
  78. package/dist/components/SubagentRunIndicator.js +1 -1
  79. package/dist/components/SubagentRunSelector.js +1 -1
  80. package/dist/components/Switch.js +3 -3
  81. package/dist/components/Tabs.js +2 -2
  82. package/dist/components/Task.js +2 -2
  83. package/dist/components/Terminal.js +2 -2
  84. package/dist/components/TestResults.js +18 -18
  85. package/dist/components/ThemeModeControl.js +1 -1
  86. package/dist/components/ThinkChatActivity.js +2 -1
  87. package/dist/components/ThinkChatActivitySummary.js +14 -5
  88. package/dist/components/ThinkChatToolPanels.js +1 -1
  89. package/dist/components/ThinkExecutionDetail.js +1 -1
  90. package/dist/components/ThinkExecutionRun.js +2 -2
  91. package/dist/components/ThinkExecutionStatus.js +1 -1
  92. package/dist/components/ThinkExecutionWorkbench.js +2 -2
  93. package/dist/components/ThinkFullApp.js +4 -74
  94. package/dist/components/ThinkPendingApproval.js +1 -3
  95. package/dist/components/ThinkRoutine.d.ts +1 -1
  96. package/dist/components/ThinkRoutine.js +3 -10
  97. package/dist/components/ThinkRoutineBrowser.js +9 -9
  98. package/dist/components/ThinkRoutineDetail.js +1 -1
  99. package/dist/components/ThinkRoutineForm.js +1 -1
  100. package/dist/components/ThinkRoutineLibrary.js +1 -1
  101. package/dist/components/ThinkThreadPicker.js +4 -3
  102. package/dist/components/ThinkThreadShell.js +2 -1
  103. package/dist/components/Toast.js +6 -6
  104. package/dist/components/ToggleGroup.js +2 -2
  105. package/dist/components/Tooltip.js +4 -4
  106. package/dist/components/WebPreview.js +1 -1
  107. package/dist/components/WorkspaceBrowser.js +1 -1
  108. package/dist/components/WorkspaceExplorer.js +2 -2
  109. package/dist/components/WorkspaceFileView.js +1 -1
  110. package/dist/components/WorkspaceHeader.js +1 -1
  111. package/dist/components/icons.js +1 -1
  112. package/dist/{copy-button-BtRwhRks.js → copy-button-vo1paUSi.js} +1 -1
  113. package/dist/format-S6uWyoSb.js +38 -0
  114. package/dist/{icons-DKXiSepE.js → icons-DyOM0EJs.js} +2 -1
  115. package/dist/{merge-refs-KlanQB7A.js → merge-refs-DF_7w2x_.js} +1 -1
  116. package/dist/styles/accordion.css +2 -1
  117. package/dist/styles/activity-header.css +4 -18
  118. package/dist/styles/activity.css +1 -1
  119. package/dist/styles/agent-activity-preview-overlay.css +12 -0
  120. package/dist/styles/agent-activity-preview.css +3 -3
  121. package/dist/styles/agent-attention.css +7 -21
  122. package/dist/styles/agent-connection.css +3 -3
  123. package/dist/styles/app-top-bar.css +2 -5
  124. package/dist/styles/artifact.css +1 -1
  125. package/dist/styles/attachment-preview.css +1 -1
  126. package/dist/styles/badge.css +1 -1
  127. package/dist/styles/base.css +15 -0
  128. package/dist/styles/browser-control-overlay.css +4 -3
  129. package/dist/styles/browser-live-view.css +2 -11
  130. package/dist/styles/browser-replay.css +3 -3
  131. package/dist/styles/browser-run-panel.css +3 -12
  132. package/dist/styles/button.css +1 -1
  133. package/dist/styles/chain-of-thought.css +3 -15
  134. package/dist/styles/chatgpt-sign-in-screen.css +2 -2
  135. package/dist/styles/checkbox-group.css +1 -7
  136. package/dist/styles/code-block.css +5 -5
  137. package/dist/styles/codex-model-selector.css +0 -6
  138. package/dist/styles/commit.css +2 -8
  139. package/dist/styles/environment-variables.css +4 -7
  140. package/dist/styles/fieldset.css +1 -1
  141. package/dist/styles/file-tree.css +2 -2
  142. package/dist/styles/github-motion-mark.css +1 -1
  143. package/dist/styles/inline-citation.css +1 -4
  144. package/dist/styles/label.css +1 -1
  145. package/dist/styles/mcp-server-picker.css +1 -4
  146. package/dist/styles/menu.css +1 -1
  147. package/dist/styles/message-scroller.css +3 -21
  148. package/dist/styles/message.css +1 -7
  149. package/dist/styles/model-selector.css +1 -1
  150. package/dist/styles/plan.css +1 -1
  151. package/dist/styles/pricing-page.css +37 -35
  152. package/dist/styles/prompt-input.css +4 -35
  153. package/dist/styles/queue.css +2 -2
  154. package/dist/styles/recipes.css +26 -2
  155. package/dist/styles/sources.css +2 -5
  156. package/dist/styles/stepper.css +1 -7
  157. package/dist/styles/streamdown.css +28 -25
  158. package/dist/styles/subagent-run.css +0 -3
  159. package/dist/styles/task.css +2 -2
  160. package/dist/styles/terminal.css +4 -4
  161. package/dist/styles/test-results.css +3 -18
  162. package/dist/styles/theme-mode-control.css +3 -4
  163. package/dist/styles/think-execution-status.css +1 -7
  164. package/dist/styles/think-execution-workbench.css +1 -4
  165. package/dist/styles/think-full-app.css +1 -4
  166. package/dist/styles/think-routine-library.css +8 -8
  167. package/dist/styles/think-thread-picker.css +14 -36
  168. package/dist/styles/toggle-group.css +1 -1
  169. package/dist/styles/utilities.css +6 -2
  170. package/dist/styles/web-preview.css +4 -4
  171. package/dist/styles/workspace-explorer.css +3 -3
  172. package/dist/view-transitions-DyUP0lSg.js +77 -0
  173. package/package.json +2 -2
@@ -21,7 +21,7 @@ import { Fieldset as Fieldset$1 } from "@base-ui/react/fieldset";
21
21
  * @see {@link https://base-ui.com/react/components/fieldset | Base UI Fieldset}
22
22
  */
23
23
  function FieldsetRoot({ className, ref, variant = "outlined", ...props }) {
24
- const classes = mergeBaseClassName(["fieldset"].filter(Boolean).join(" "), className);
24
+ const classes = mergeBaseClassName("fieldset", className);
25
25
  return /* @__PURE__ */ jsx(Fieldset$1.Root, {
26
26
  ref,
27
27
  className: classes,
@@ -34,7 +34,7 @@ function FieldsetRoot({ className, ref, variant = "outlined", ...props }) {
34
34
  * Renders a `<div>` element (styled as legend).
35
35
  */
36
36
  function FieldsetLegend({ className, ref, ...props }) {
37
- const classes = mergeBaseClassName(["fieldset__legend"].filter(Boolean).join(" "), className);
37
+ const classes = mergeBaseClassName("fieldset__legend", className);
38
38
  return /* @__PURE__ */ jsx(Fieldset$1.Legend, {
39
39
  ref,
40
40
  className: classes,
@@ -44,7 +44,7 @@ function FieldsetLegend({ className, ref, ...props }) {
44
44
  function FieldsetDescription({ className, ref, ...props }) {
45
45
  return /* @__PURE__ */ jsx("p", {
46
46
  ref,
47
- className: mergeBaseClassName(["fieldset__description"].filter(Boolean).join(" "), className),
47
+ className: mergeBaseClassName("fieldset__description", className),
48
48
  ...props
49
49
  });
50
50
  }
@@ -1,2 +1,2 @@
1
- import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../FileTree-CUlXfnmc.js";
1
+ import { a as FileTreeIcon, i as FileTreeFolder, n as FileTreeActions, o as FileTreeName, r as FileTreeFile, t as FileTree } from "../FileTree-CdgfccsM.js";
2
2
  export { FileTree, FileTreeActions, FileTreeFile, FileTreeFolder, FileTreeIcon, FileTreeName };
@@ -81,7 +81,7 @@ function Form({ className, ref, ...props }) {
81
81
  return /* @__PURE__ */ jsx(Form$1, {
82
82
  ref,
83
83
  "data-slot": "form",
84
- className: mergeBaseClassName(["form"].filter(Boolean).join(" "), className),
84
+ className: mergeBaseClassName("form", className),
85
85
  ...props
86
86
  });
87
87
  }
@@ -104,10 +104,10 @@ function CitationDetails({ source, titlePart }) {
104
104
  const title = source.title || defaultLabel(source);
105
105
  return /* @__PURE__ */ jsxs(InlineCitationCard, { children: [
106
106
  titlePart ? /* @__PURE__ */ jsx(Popover.Title, {
107
- className: "inline-citation__title",
107
+ className: "inline-citation__title sigvelo-truncate",
108
108
  children: title
109
109
  }) : /* @__PURE__ */ jsx("strong", {
110
- className: "inline-citation__title",
110
+ className: "inline-citation__title sigvelo-truncate",
111
111
  children: title
112
112
  }),
113
113
  source.type === "source-url" ? /* @__PURE__ */ jsx("span", {
@@ -20,7 +20,7 @@ function Input({ className, ref, ...props }) {
20
20
  return /* @__PURE__ */ jsx(Input$1, {
21
21
  ref,
22
22
  "data-slot": "input",
23
- className: mergeBaseClassName(["input"].filter(Boolean).join(" "), className),
23
+ className: mergeBaseClassName("input", className),
24
24
  ...props
25
25
  });
26
26
  }
@@ -1,3 +1,4 @@
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
1
2
  import "react";
2
3
  import { jsx } from "react/jsx-runtime";
3
4
  //#region src/components/Label.tsx
@@ -27,7 +28,7 @@ function Label({ className = "", children, onMouseDown, ref, ...props }) {
27
28
  return /* @__PURE__ */ jsx("label", {
28
29
  ref,
29
30
  "data-slot": "label",
30
- className: ["label", className].filter(Boolean).join(" "),
31
+ className: cx("label", className),
31
32
  onMouseDown: (event) => {
32
33
  if (event.target.closest("button, input, select, textarea")) return;
33
34
  onMouseDown?.(event);
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../class-names-BiMDVpUo.js";
2
- import { A as McpIcon, K as SpinnerIcon, Q as WarningIcon, u as CheckIcon } from "../icons-DKXiSepE.js";
2
+ import { A as McpIcon, K as SpinnerIcon, Q as WarningIcon, u as CheckIcon } from "../icons-DyOM0EJs.js";
3
3
  import { Button } from "./Button.js";
4
4
  import { AgentAttention, AgentAttentionActions, AgentAttentionBody, AgentAttentionHeader } from "./AgentAttention.js";
5
5
  import { getMcpServerEntry, getMcpServerRuntimeState } from "../utils/mcp-server-catalog.js";
@@ -1,5 +1,5 @@
1
1
  import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
- import { K as SpinnerIcon, N as MinusIcon, Q as WarningIcon, u as CheckIcon } from "../icons-DKXiSepE.js";
2
+ import { K as SpinnerIcon, N as MinusIcon, Q as WarningIcon, u as CheckIcon } from "../icons-DyOM0EJs.js";
3
3
  import { buttonVariants } from "./Button.js";
4
4
  import { Dialog } from "./Dialog.js";
5
5
  import { Menu } from "./Menu.js";
@@ -133,7 +133,7 @@ function McpServerPickerAction({ icon, label, description, className, ...props }
133
133
  className: "mcp-server-picker__name",
134
134
  children: label
135
135
  }), description ? /* @__PURE__ */ jsx("span", {
136
- className: "mcp-server-picker__description",
136
+ className: "mcp-server-picker__description sigvelo-truncate",
137
137
  children: description
138
138
  }) : null]
139
139
  })]
@@ -176,7 +176,7 @@ function McpServerPickerRow({ row, onConnect, onDisconnect, pendingAction }) {
176
176
  className: "mcp-server-picker__name",
177
177
  children: server.name
178
178
  }), description ? /* @__PURE__ */ jsx("span", {
179
- className: "mcp-server-picker__description",
179
+ className: "mcp-server-picker__description sigvelo-truncate",
180
180
  children: description
181
181
  }) : null]
182
182
  }),
@@ -1,7 +1,8 @@
1
1
  import { t as cx } from "../class-names-BiMDVpUo.js";
2
- import { B as PlayIcon } from "../icons-DKXiSepE.js";
3
- import { t as mergeRefs } from "../merge-refs-KlanQB7A.js";
2
+ import { B as PlayIcon } from "../icons-DyOM0EJs.js";
3
+ import { n as mergeRefs } from "../merge-refs-DF_7w2x_.js";
4
4
  import { Card } from "./Card.js";
5
+ import { t as motionIsReduced } from "../view-transitions-DyUP0lSg.js";
5
6
  import * as React from "react";
6
7
  import { jsx, jsxs } from "react/jsx-runtime";
7
8
  //#region src/components/MediaPreviewCard.tsx
@@ -37,7 +38,7 @@ function MediaPreviewCard({ children, className, onBlurCapture, onFocusCapture,
37
38
  }, []);
38
39
  const startPreview = React.useCallback(() => {
39
40
  const video = videoRef.current;
40
- if (!video || typeof window !== "undefined" && (window.matchMedia("(prefers-reduced-motion: reduce)").matches || document.documentElement.dataset.motion === "reduce")) return;
41
+ if (!video || motionIsReduced()) return;
41
42
  video.play().catch(() => {
42
43
  setPlaying(false);
43
44
  });
@@ -46,7 +47,7 @@ function MediaPreviewCard({ children, className, onBlurCapture, onFocusCapture,
46
47
  const media = window.matchMedia("(prefers-reduced-motion: reduce)");
47
48
  const root = document.documentElement;
48
49
  const stopWhenReduced = () => {
49
- if (media.matches || root.dataset.motion === "reduce") stopPreview();
50
+ if (motionIsReduced()) stopPreview();
50
51
  };
51
52
  const observer = new MutationObserver(stopWhenReduced);
52
53
  media.addEventListener("change", stopWhenReduced);
@@ -1,4 +1,4 @@
1
- import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
1
+ import { n as mergeBaseClassName, t as cx } from "../class-names-BiMDVpUo.js";
2
2
  import "react";
3
3
  import { jsx } from "react/jsx-runtime";
4
4
  import { Menu as Menu$1 } from "@base-ui/react/menu";
@@ -33,7 +33,7 @@ const MenuRoot = (props) => {
33
33
  * Button that toggles the menu visibility.
34
34
  */
35
35
  function MenuTrigger({ className, unstyled = false, ref, ...props }) {
36
- const classes = mergeBaseClassName([!unstyled && "menu__trigger"].filter(Boolean).join(" "), className);
36
+ const classes = mergeBaseClassName(cx(!unstyled && "menu__trigger"), className);
37
37
  return /* @__PURE__ */ jsx(Menu$1.Trigger, {
38
38
  ref,
39
39
  "data-slot": "dropdown-menu-trigger",
@@ -55,7 +55,7 @@ const MenuPortal = (props) => {
55
55
  * Positions the menu popup relative to the trigger.
56
56
  */
57
57
  function MenuPositioner({ className, ref, ...props }) {
58
- const classes = mergeBaseClassName(["menu__positioner", "base-ui-positioner"].filter(Boolean).join(" "), className);
58
+ const classes = mergeBaseClassName("menu__positioner base-ui-positioner", className);
59
59
  return /* @__PURE__ */ jsx(Menu$1.Positioner, {
60
60
  ref,
61
61
  "data-slot": "dropdown-menu-positioner",
@@ -67,7 +67,7 @@ function MenuPositioner({ className, ref, ...props }) {
67
67
  * Container for menu items.
68
68
  */
69
69
  function MenuPopup({ className, ref, ...props }) {
70
- const classes = mergeBaseClassName(["menu__popup", "base-ui-popup"].filter(Boolean).join(" "), className);
70
+ const classes = mergeBaseClassName("menu__popup base-ui-popup", className);
71
71
  return /* @__PURE__ */ jsx(Menu$1.Popup, {
72
72
  ref,
73
73
  "data-slot": "dropdown-menu-content",
@@ -81,7 +81,7 @@ function MenuPopup({ className, ref, ...props }) {
81
81
  * positioner, popup, and this viewport when that behavior is needed.
82
82
  */
83
83
  function MenuViewport({ className, ref, ...props }) {
84
- const classes = mergeBaseClassName(["menu__viewport"].filter(Boolean).join(" "), className);
84
+ const classes = mergeBaseClassName("menu__viewport", className);
85
85
  return /* @__PURE__ */ jsx(Menu$1.Viewport, {
86
86
  ref,
87
87
  "data-slot": "dropdown-menu-viewport",
@@ -93,7 +93,7 @@ function MenuViewport({ className, ref, ...props }) {
93
93
  * Interactive menu item.
94
94
  */
95
95
  function MenuItem({ className, inset, variant = "default", ref, ...props }) {
96
- const classes = mergeBaseClassName(["menu__item", inset && "menu__item--inset"].filter(Boolean).join(" "), className);
96
+ const classes = mergeBaseClassName(cx("menu__item", inset && "menu__item--inset"), className);
97
97
  return /* @__PURE__ */ jsx(Menu$1.Item, {
98
98
  ref,
99
99
  "data-slot": "dropdown-menu-item",
@@ -107,7 +107,7 @@ function MenuItem({ className, inset, variant = "default", ref, ...props }) {
107
107
  * Groups related menu items.
108
108
  */
109
109
  function MenuGroup({ className, ref, ...props }) {
110
- const classes = mergeBaseClassName(["menu__group"].filter(Boolean).join(" "), className);
110
+ const classes = mergeBaseClassName("menu__group", className);
111
111
  return /* @__PURE__ */ jsx(Menu$1.Group, {
112
112
  ref,
113
113
  "data-slot": "dropdown-menu-group",
@@ -119,7 +119,7 @@ function MenuGroup({ className, ref, ...props }) {
119
119
  * Label for a group of menu items.
120
120
  */
121
121
  function MenuGroupLabel({ className, inset, ref, ...props }) {
122
- const classes = mergeBaseClassName(["menu__group-label", inset && "menu__group-label--inset"].filter(Boolean).join(" "), className);
122
+ const classes = mergeBaseClassName(cx("menu__group-label", inset && "menu__group-label--inset"), className);
123
123
  return /* @__PURE__ */ jsx(Menu$1.GroupLabel, {
124
124
  ref,
125
125
  "data-slot": "dropdown-menu-label",
@@ -132,7 +132,7 @@ function MenuGroupLabel({ className, inset, ref, ...props }) {
132
132
  * Arrow pointing to the trigger.
133
133
  */
134
134
  function MenuArrow({ className, ref, ...props }) {
135
- const classes = mergeBaseClassName(["menu__arrow"].filter(Boolean).join(" "), className);
135
+ const classes = mergeBaseClassName("menu__arrow", className);
136
136
  return /* @__PURE__ */ jsx(Menu$1.Arrow, {
137
137
  ref,
138
138
  "data-slot": "dropdown-menu-arrow",
@@ -144,7 +144,7 @@ function MenuArrow({ className, ref, ...props }) {
144
144
  * Visual separator between menu sections.
145
145
  */
146
146
  function MenuSeparator({ className, ref, ...props }) {
147
- const classes = mergeBaseClassName(["menu__separator"].filter(Boolean).join(" "), className);
147
+ const classes = mergeBaseClassName("menu__separator", className);
148
148
  return /* @__PURE__ */ jsx(Menu$1.Separator, {
149
149
  ref,
150
150
  "data-slot": "dropdown-menu-separator",
@@ -156,7 +156,7 @@ function MenuSeparator({ className, ref, ...props }) {
156
156
  * Group for exclusive radio selection.
157
157
  */
158
158
  function MenuRadioGroup({ className, ref, ...props }) {
159
- const classes = mergeBaseClassName(["menu__radio-group"].filter(Boolean).join(" "), className);
159
+ const classes = mergeBaseClassName("menu__radio-group", className);
160
160
  return /* @__PURE__ */ jsx(Menu$1.RadioGroup, {
161
161
  ref,
162
162
  "data-slot": "dropdown-menu-radio-group",
@@ -168,7 +168,7 @@ function MenuRadioGroup({ className, ref, ...props }) {
168
168
  * Radio item for exclusive selection.
169
169
  */
170
170
  function MenuRadioItem({ className, ref, ...props }) {
171
- const classes = mergeBaseClassName(["menu__radio-item"].filter(Boolean).join(" "), className);
171
+ const classes = mergeBaseClassName("menu__radio-item", className);
172
172
  return /* @__PURE__ */ jsx(Menu$1.RadioItem, {
173
173
  ref,
174
174
  "data-slot": "dropdown-menu-radio-item",
@@ -180,7 +180,7 @@ function MenuRadioItem({ className, ref, ...props }) {
180
180
  * Indicator for selected radio item.
181
181
  */
182
182
  function MenuRadioItemIndicator({ className, ref, ...props }) {
183
- const classes = mergeBaseClassName(["menu__radio-indicator"].filter(Boolean).join(" "), className);
183
+ const classes = mergeBaseClassName("menu__radio-indicator", className);
184
184
  return /* @__PURE__ */ jsx(Menu$1.RadioItemIndicator, {
185
185
  ref,
186
186
  "data-slot": "dropdown-menu-radio-item-indicator",
@@ -192,7 +192,7 @@ function MenuRadioItemIndicator({ className, ref, ...props }) {
192
192
  * Checkbox item for toggling options.
193
193
  */
194
194
  function MenuCheckboxItem({ className, ref, ...props }) {
195
- const classes = mergeBaseClassName(["menu__checkbox-item"].filter(Boolean).join(" "), className);
195
+ const classes = mergeBaseClassName("menu__checkbox-item", className);
196
196
  return /* @__PURE__ */ jsx(Menu$1.CheckboxItem, {
197
197
  ref,
198
198
  "data-slot": "dropdown-menu-checkbox-item",
@@ -204,7 +204,7 @@ function MenuCheckboxItem({ className, ref, ...props }) {
204
204
  * Indicator for checked checkbox item.
205
205
  */
206
206
  function MenuCheckboxItemIndicator({ className, ref, ...props }) {
207
- const classes = mergeBaseClassName(["menu__checkbox-indicator"].filter(Boolean).join(" "), className);
207
+ const classes = mergeBaseClassName("menu__checkbox-indicator", className);
208
208
  return /* @__PURE__ */ jsx(Menu$1.CheckboxItemIndicator, {
209
209
  ref,
210
210
  "data-slot": "dropdown-menu-checkbox-item-indicator",
@@ -216,7 +216,7 @@ function MenuShortcut({ className, ref, ...props }) {
216
216
  return /* @__PURE__ */ jsx("span", {
217
217
  ref,
218
218
  "data-slot": "dropdown-menu-shortcut",
219
- className: mergeBaseClassName(["menu__shortcut"].filter(Boolean).join(" "), className),
219
+ className: mergeBaseClassName("menu__shortcut", className),
220
220
  ...props
221
221
  });
222
222
  }
@@ -230,7 +230,7 @@ function MenuSubmenuRoot(props) {
230
230
  * Trigger that opens a submenu.
231
231
  */
232
232
  function MenuSubmenuTrigger({ className, inset, ref, ...props }) {
233
- const classes = mergeBaseClassName(["menu__submenu-trigger", inset && "menu__item--inset"].filter(Boolean).join(" "), className);
233
+ const classes = mergeBaseClassName(cx("menu__submenu-trigger", inset && "menu__item--inset"), className);
234
234
  return /* @__PURE__ */ jsx(Menu$1.SubmenuTrigger, {
235
235
  ref,
236
236
  "data-slot": "dropdown-menu-sub-trigger",
@@ -1,5 +1,5 @@
1
- import { n as mergeBaseClassName } from "../class-names-BiMDVpUo.js";
2
- import { _ as DotIcon, u as CheckIcon } from "../icons-DKXiSepE.js";
1
+ import { n as mergeBaseClassName, t as cx } from "../class-names-BiMDVpUo.js";
2
+ import { _ as DotIcon, u as CheckIcon } from "../icons-DyOM0EJs.js";
3
3
  import { buttonVariants } from "./Button.js";
4
4
  import "react";
5
5
  import { jsx } from "react/jsx-runtime";
@@ -33,7 +33,7 @@ function MenubarRoot({ className, ref, ...props }) {
33
33
  return /* @__PURE__ */ jsx(Menubar$1, {
34
34
  ref,
35
35
  "data-slot": "menubar",
36
- className: mergeBaseClassName(["menubar"].filter(Boolean).join(" "), className),
36
+ className: mergeBaseClassName("menubar", className),
37
37
  ...props
38
38
  });
39
39
  }
@@ -74,7 +74,7 @@ const MenubarPortal = (props) => {
74
74
  * Positions the menu popup.
75
75
  */
76
76
  function MenubarPositioner({ className, ref, ...props }) {
77
- const classes = mergeBaseClassName(["menubar__positioner", "base-ui-positioner"].filter(Boolean).join(" "), className);
77
+ const classes = mergeBaseClassName("menubar__positioner base-ui-positioner", className);
78
78
  return /* @__PURE__ */ jsx(Menu.Positioner, {
79
79
  ref,
80
80
  "data-slot": "menubar-positioner",
@@ -86,7 +86,7 @@ function MenubarPositioner({ className, ref, ...props }) {
86
86
  * Container for menu items.
87
87
  */
88
88
  function MenubarPopup({ className, ref, ...props }) {
89
- const classes = mergeBaseClassName(["menubar__popup", "base-ui-popup"].filter(Boolean).join(" "), className);
89
+ const classes = mergeBaseClassName("menubar__popup base-ui-popup", className);
90
90
  return /* @__PURE__ */ jsx(Menu.Popup, {
91
91
  ref,
92
92
  "data-slot": "menubar-content",
@@ -98,7 +98,7 @@ function MenubarPopup({ className, ref, ...props }) {
98
98
  * Interactive menu item.
99
99
  */
100
100
  function MenubarItem({ className, inset, variant = "default", ref, ...props }) {
101
- const classes = mergeBaseClassName(["menubar__item", inset && "menubar__item--inset"].filter(Boolean).join(" "), className);
101
+ const classes = mergeBaseClassName(cx("menubar__item", inset && "menubar__item--inset"), className);
102
102
  return /* @__PURE__ */ jsx(Menu.Item, {
103
103
  ref,
104
104
  "data-slot": "menubar-item",
@@ -112,7 +112,7 @@ function MenubarItem({ className, inset, variant = "default", ref, ...props }) {
112
112
  * Visual separator between menu sections.
113
113
  */
114
114
  function MenubarSeparator({ className, ref, ...props }) {
115
- const classes = mergeBaseClassName(["menubar__separator"].filter(Boolean).join(" "), className);
115
+ const classes = mergeBaseClassName("menubar__separator", className);
116
116
  return /* @__PURE__ */ jsx(Menu.Separator, {
117
117
  ref,
118
118
  "data-slot": "menubar-separator",
@@ -124,7 +124,7 @@ function MenubarSeparator({ className, ref, ...props }) {
124
124
  * Groups related menu items.
125
125
  */
126
126
  function MenubarGroup({ className, ref, ...props }) {
127
- const classes = mergeBaseClassName(["menubar__group"].filter(Boolean).join(" "), className);
127
+ const classes = mergeBaseClassName("menubar__group", className);
128
128
  return /* @__PURE__ */ jsx(Menu.Group, {
129
129
  ref,
130
130
  "data-slot": "menubar-group",
@@ -136,7 +136,7 @@ function MenubarGroup({ className, ref, ...props }) {
136
136
  * Label for a menu item group.
137
137
  */
138
138
  function MenubarGroupLabel({ className, inset, ref, ...props }) {
139
- const classes = mergeBaseClassName(["menubar__group-label", inset && "menubar__group-label--inset"].filter(Boolean).join(" "), className);
139
+ const classes = mergeBaseClassName(cx("menubar__group-label", inset && "menubar__group-label--inset"), className);
140
140
  return /* @__PURE__ */ jsx(Menu.GroupLabel, {
141
141
  ref,
142
142
  "data-slot": "menubar-label",
@@ -146,7 +146,7 @@ function MenubarGroupLabel({ className, inset, ref, ...props }) {
146
146
  });
147
147
  }
148
148
  function MenubarCheckboxItem({ className, ref, ...props }) {
149
- const classes = mergeBaseClassName(["menubar__checkbox-item"].filter(Boolean).join(" "), className);
149
+ const classes = mergeBaseClassName("menubar__checkbox-item", className);
150
150
  return /* @__PURE__ */ jsx(Menu.CheckboxItem, {
151
151
  ref,
152
152
  "data-slot": "menubar-checkbox-item",
@@ -163,7 +163,7 @@ function MenubarCheckboxItemIndicator({ children, className, ...props }) {
163
163
  });
164
164
  }
165
165
  function MenubarRadioGroup({ className, ref, ...props }) {
166
- const classes = mergeBaseClassName(["menubar__radio-group"].filter(Boolean).join(" "), className);
166
+ const classes = mergeBaseClassName("menubar__radio-group", className);
167
167
  return /* @__PURE__ */ jsx(Menu.RadioGroup, {
168
168
  ref,
169
169
  "data-slot": "menubar-radio-group",
@@ -172,7 +172,7 @@ function MenubarRadioGroup({ className, ref, ...props }) {
172
172
  });
173
173
  }
174
174
  function MenubarRadioItem({ className, ref, ...props }) {
175
- const classes = mergeBaseClassName(["menubar__radio-item"].filter(Boolean).join(" "), className);
175
+ const classes = mergeBaseClassName("menubar__radio-item", className);
176
176
  return /* @__PURE__ */ jsx(Menu.RadioItem, {
177
177
  ref,
178
178
  "data-slot": "menubar-radio-item",
@@ -192,7 +192,7 @@ function MenubarShortcut({ className, ref, ...props }) {
192
192
  return /* @__PURE__ */ jsx("span", {
193
193
  ref,
194
194
  "data-slot": "menubar-shortcut",
195
- className: mergeBaseClassName(["menubar__shortcut"].filter(Boolean).join(" "), className),
195
+ className: mergeBaseClassName("menubar__shortcut", className),
196
196
  ...props
197
197
  });
198
198
  }
@@ -200,7 +200,7 @@ function MenubarSubmenuRoot(props) {
200
200
  return /* @__PURE__ */ jsx(Menu.SubmenuRoot, { ...props });
201
201
  }
202
202
  function MenubarSubmenuTrigger({ className, inset, ref, ...props }) {
203
- const classes = mergeBaseClassName(["menubar__submenu-trigger", inset && "menubar__item--inset"].filter(Boolean).join(" "), className);
203
+ const classes = mergeBaseClassName(cx("menubar__submenu-trigger", inset && "menubar__item--inset"), className);
204
204
  return /* @__PURE__ */ jsx(Menu.SubmenuTrigger, {
205
205
  ref,
206
206
  "data-slot": "menubar-sub-trigger",
@@ -1,2 +1,2 @@
1
- import { a as MessageBranch, c as MessageBranchPage, d as MessageContent, f as MessageResponse, i as MessageAttachment, l as MessageBranchPrevious, n as MessageAction, o as MessageBranchContent, p as MessageToolbar, r as MessageActions, s as MessageBranchNext, t as Message, u as MessageBranchSelector } from "../Message-rZEaaD8Q.js";
1
+ import { a as MessageBranch, c as MessageBranchPage, d as MessageContent, f as MessageResponse, i as MessageAttachment, l as MessageBranchPrevious, n as MessageAction, o as MessageBranchContent, p as MessageToolbar, r as MessageActions, s as MessageBranchNext, t as Message, u as MessageBranchSelector } from "../Message-DzuteocT.js";
2
2
  export { Message, MessageAction, MessageActions, MessageAttachment, MessageBranch, MessageBranchContent, MessageBranchNext, MessageBranchPage, MessageBranchPrevious, MessageBranchSelector, MessageContent, MessageResponse, MessageToolbar };
@@ -1,5 +1,5 @@
1
1
  import { t as cx } from "../class-names-BiMDVpUo.js";
2
- import { n as ArrowDownIcon } from "../icons-DKXiSepE.js";
2
+ import { n as ArrowDownIcon } from "../icons-DyOM0EJs.js";
3
3
  import { Button } from "./Button.js";
4
4
  import "react";
5
5
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
@@ -22,6 +22,7 @@ function MessageScroller({ className, ...props }) {
22
22
  function MessageScrollerViewport({ className, ...props }) {
23
23
  return /* @__PURE__ */ jsx(MessageScroller$1.Viewport, {
24
24
  "data-slot": "message-scroller-viewport",
25
+ "data-recipe": "scroll-fade-y",
25
26
  className: cx("message-scroller__viewport", className),
26
27
  ...props
27
28
  });
@@ -20,7 +20,7 @@ import { Meter as Meter$1 } from "@base-ui/react/meter";
20
20
  * @see {@link https://base-ui.com/react/components/meter | Base UI Meter}
21
21
  */
22
22
  function MeterRoot({ className, ref, ...props }) {
23
- const classes = mergeBaseClassName(["meter"].filter(Boolean).join(" "), className);
23
+ const classes = mergeBaseClassName("meter", className);
24
24
  return /* @__PURE__ */ jsx(Meter$1.Root, {
25
25
  ref,
26
26
  "data-slot": "meter",
@@ -32,7 +32,7 @@ function MeterRoot({ className, ref, ...props }) {
32
32
  * The track that contains the indicator. Represents the full range.
33
33
  */
34
34
  function MeterTrack({ className, ref, ...props }) {
35
- const classes = mergeBaseClassName(["meter__track"].filter(Boolean).join(" "), className);
35
+ const classes = mergeBaseClassName("meter__track", className);
36
36
  return /* @__PURE__ */ jsx(Meter$1.Track, {
37
37
  ref,
38
38
  "data-slot": "meter-track",
@@ -44,7 +44,7 @@ function MeterTrack({ className, ref, ...props }) {
44
44
  * The indicator that visualizes the current value.
45
45
  */
46
46
  function MeterIndicator({ className, ref, ...props }) {
47
- const classes = mergeBaseClassName(["meter__indicator"].filter(Boolean).join(" "), className);
47
+ const classes = mergeBaseClassName("meter__indicator", className);
48
48
  return /* @__PURE__ */ jsx(Meter$1.Indicator, {
49
49
  ref,
50
50
  "data-slot": "meter-indicator",
@@ -56,7 +56,7 @@ function MeterIndicator({ className, ref, ...props }) {
56
56
  * Accessible label for the meter.
57
57
  */
58
58
  function MeterLabel({ className, ref, ...props }) {
59
- const classes = mergeBaseClassName(["meter__label"].filter(Boolean).join(" "), className);
59
+ const classes = mergeBaseClassName("meter__label", className);
60
60
  return /* @__PURE__ */ jsx(Meter$1.Label, {
61
61
  ref,
62
62
  "data-slot": "meter-label",
@@ -68,7 +68,7 @@ function MeterLabel({ className, ref, ...props }) {
68
68
  * Displays the current value as text.
69
69
  */
70
70
  function MeterValue({ className, ref, ...props }) {
71
- const classes = mergeBaseClassName(["meter__value"].filter(Boolean).join(" "), className);
71
+ const classes = mergeBaseClassName("meter__value", className);
72
72
  return /* @__PURE__ */ jsx(Meter$1.Value, {
73
73
  ref,
74
74
  "data-slot": "meter-value",
@@ -1,2 +1,2 @@
1
- import { _ as getCloudflareModelProvider, a as ModelSelectorEmpty, b as normalizeCloudflareModelSelectorModels, c as ModelSelectorItem, d as ModelSelectorLogoGroup, f as ModelSelectorName, g as formatCloudflareModelProvider, h as ModelSelectorTrigger, i as ModelSelectorDialog, l as ModelSelectorList, m as ModelSelectorShortcut, n as ModelSelector, o as ModelSelectorGroup, p as ModelSelectorSeparator, r as ModelSelectorContent, s as ModelSelectorInput, t as CloudflareModelSelector, u as ModelSelectorLogo, v as isCloudflareRunnableModelId, x as readCloudflareModelId, y as listCloudflareModelSelectorOptions } from "../ModelSelector-4GsCWcZV.js";
1
+ import { _ as getCloudflareModelProvider, a as ModelSelectorEmpty, b as normalizeCloudflareModelSelectorModels, c as ModelSelectorItem, d as ModelSelectorLogoGroup, f as ModelSelectorName, g as formatCloudflareModelProvider, h as ModelSelectorTrigger, i as ModelSelectorDialog, l as ModelSelectorList, m as ModelSelectorShortcut, n as ModelSelector, o as ModelSelectorGroup, p as ModelSelectorSeparator, r as ModelSelectorContent, s as ModelSelectorInput, t as CloudflareModelSelector, u as ModelSelectorLogo, v as isCloudflareRunnableModelId, x as readCloudflareModelId, y as listCloudflareModelSelectorOptions } from "../ModelSelector-pecWyOFI.js";
2
2
  export { CloudflareModelSelector, ModelSelector, ModelSelectorContent, ModelSelectorDialog, ModelSelectorEmpty, ModelSelectorGroup, ModelSelectorInput, ModelSelectorItem, ModelSelectorList, ModelSelectorLogo, ModelSelectorLogoGroup, ModelSelectorName, ModelSelectorSeparator, ModelSelectorShortcut, ModelSelectorTrigger, formatCloudflareModelProvider, getCloudflareModelProvider, isCloudflareRunnableModelId, listCloudflareModelSelectorOptions, normalizeCloudflareModelSelectorModels, readCloudflareModelId };
@@ -1,3 +1,4 @@
1
+ import { t as cx } from "../class-names-BiMDVpUo.js";
1
2
  import { Fragment, jsx, jsxs } from "react/jsx-runtime";
2
3
  //#region src/components/NaniteScene.tsx
3
4
  const BODY_COLORS = [
@@ -25,7 +26,7 @@ const TRIO_XS = [
25
26
  /** Compact decorative Nanite identity mark for dense agent and task UI. */
26
27
  function NaniteMark({ index = 0, className }) {
27
28
  return /* @__PURE__ */ jsx("span", {
28
- className: ["nanite-mark", className].filter(Boolean).join(" "),
29
+ className: cx("nanite-mark", className),
29
30
  "aria-hidden": "true",
30
31
  children: /* @__PURE__ */ jsxs("svg", {
31
32
  viewBox: "-18 -34 36 54",
@@ -39,7 +39,7 @@ import { NavigationMenu as NavigationMenu$1 } from "@base-ui/react/navigation-me
39
39
  * @see {@link https://base-ui.com/react/components/navigation-menu | Base UI NavigationMenu}
40
40
  */
41
41
  function Root({ className, ref, ...props }) {
42
- const classes = mergeBaseClassName(["navigation-menu"].filter(Boolean).join(" "), className);
42
+ const classes = mergeBaseClassName("navigation-menu", className);
43
43
  return /* @__PURE__ */ jsx(NavigationMenu$1.Root, {
44
44
  ref,
45
45
  render: /* @__PURE__ */ jsx("nav", {}),
@@ -49,7 +49,7 @@ function Root({ className, ref, ...props }) {
49
49
  });
50
50
  }
51
51
  function NavigationMenuList({ className, ref, ...props }) {
52
- const classes = mergeBaseClassName(["navigation-menu__list"].filter(Boolean).join(" "), className);
52
+ const classes = mergeBaseClassName("navigation-menu__list", className);
53
53
  return /* @__PURE__ */ jsx(NavigationMenu$1.List, {
54
54
  ref,
55
55
  "data-slot": "navigation-menu-list",
@@ -59,7 +59,7 @@ function NavigationMenuList({ className, ref, ...props }) {
59
59
  });
60
60
  }
61
61
  function NavigationMenuItem({ className, ref, ...props }) {
62
- const classes = mergeBaseClassName(["navigation-menu__item"].filter(Boolean).join(" "), className);
62
+ const classes = mergeBaseClassName("navigation-menu__item", className);
63
63
  return /* @__PURE__ */ jsx(NavigationMenu$1.Item, {
64
64
  ref,
65
65
  "data-slot": "navigation-menu-item",
@@ -68,7 +68,7 @@ function NavigationMenuItem({ className, ref, ...props }) {
68
68
  });
69
69
  }
70
70
  function NavigationMenuTrigger({ className, ref, ...props }) {
71
- const classes = mergeBaseClassName(["navigation-menu__trigger"].filter(Boolean).join(" "), className);
71
+ const classes = mergeBaseClassName("navigation-menu__trigger", className);
72
72
  return /* @__PURE__ */ jsx(NavigationMenu$1.Trigger, {
73
73
  ref,
74
74
  "data-slot": "navigation-menu-trigger",
@@ -77,7 +77,7 @@ function NavigationMenuTrigger({ className, ref, ...props }) {
77
77
  });
78
78
  }
79
79
  function NavigationMenuIcon({ className, ref, ...props }) {
80
- const classes = mergeBaseClassName(["navigation-menu__icon"].filter(Boolean).join(" "), className);
80
+ const classes = mergeBaseClassName("navigation-menu__icon", className);
81
81
  return /* @__PURE__ */ jsx(NavigationMenu$1.Icon, {
82
82
  ref,
83
83
  "data-slot": "navigation-menu-icon",
@@ -86,7 +86,7 @@ function NavigationMenuIcon({ className, ref, ...props }) {
86
86
  });
87
87
  }
88
88
  function NavigationMenuContent({ className, ref, ...props }) {
89
- const classes = mergeBaseClassName(["navigation-menu__content"].filter(Boolean).join(" "), className);
89
+ const classes = mergeBaseClassName("navigation-menu__content", className);
90
90
  return /* @__PURE__ */ jsx(NavigationMenu$1.Content, {
91
91
  ref,
92
92
  "data-slot": "navigation-menu-content",
@@ -95,7 +95,7 @@ function NavigationMenuContent({ className, ref, ...props }) {
95
95
  });
96
96
  }
97
97
  function NavigationMenuLink({ className, ref, ...props }) {
98
- const classes = mergeBaseClassName(["navigation-menu__link"].filter(Boolean).join(" "), className);
98
+ const classes = mergeBaseClassName("navigation-menu__link", className);
99
99
  return /* @__PURE__ */ jsx(NavigationMenu$1.Link, {
100
100
  ref,
101
101
  "data-slot": "navigation-menu-link",
@@ -110,7 +110,7 @@ function NavigationMenuPortal(props) {
110
110
  });
111
111
  }
112
112
  function NavigationMenuPositioner({ className, ref, ...props }) {
113
- const classes = mergeBaseClassName(["navigation-menu__positioner", "base-ui-positioner"].filter(Boolean).join(" "), className);
113
+ const classes = mergeBaseClassName("navigation-menu__positioner base-ui-positioner", className);
114
114
  return /* @__PURE__ */ jsx(NavigationMenu$1.Positioner, {
115
115
  ref,
116
116
  "data-slot": "navigation-menu-positioner",
@@ -119,7 +119,7 @@ function NavigationMenuPositioner({ className, ref, ...props }) {
119
119
  });
120
120
  }
121
121
  function NavigationMenuPopup({ className, ref, ...props }) {
122
- const classes = mergeBaseClassName(["navigation-menu__popup", "base-ui-popup"].filter(Boolean).join(" "), className);
122
+ const classes = mergeBaseClassName("navigation-menu__popup base-ui-popup", className);
123
123
  return /* @__PURE__ */ jsx(NavigationMenu$1.Popup, {
124
124
  ref,
125
125
  "data-slot": "navigation-menu-popup",
@@ -128,7 +128,7 @@ function NavigationMenuPopup({ className, ref, ...props }) {
128
128
  });
129
129
  }
130
130
  function NavigationMenuViewport({ className, ref, ...props }) {
131
- const classes = mergeBaseClassName(["navigation-menu__viewport"].filter(Boolean).join(" "), className);
131
+ const classes = mergeBaseClassName("navigation-menu__viewport", className);
132
132
  return /* @__PURE__ */ jsx(NavigationMenu$1.Viewport, {
133
133
  ref,
134
134
  "data-slot": "navigation-menu-viewport",
@@ -137,7 +137,7 @@ function NavigationMenuViewport({ className, ref, ...props }) {
137
137
  });
138
138
  }
139
139
  function NavigationMenuArrow({ className, ref, ...props }) {
140
- const classes = mergeBaseClassName(["navigation-menu__arrow"].filter(Boolean).join(" "), className);
140
+ const classes = mergeBaseClassName("navigation-menu__arrow", className);
141
141
  return /* @__PURE__ */ jsx(NavigationMenu$1.Arrow, {
142
142
  ref,
143
143
  "data-slot": "navigation-menu-arrow",
@@ -20,7 +20,7 @@ import { NumberField as NumberField$1 } from "@base-ui/react/number-field";
20
20
  * @see {@link https://base-ui.com/react/components/number-field | Base UI NumberField}
21
21
  */
22
22
  function NumberFieldRoot({ className, ref, ...props }) {
23
- const classes = mergeBaseClassName(["number-field"].filter(Boolean).join(" "), className);
23
+ const classes = mergeBaseClassName("number-field", className);
24
24
  return /* @__PURE__ */ jsx(NumberField$1.Root, {
25
25
  ref,
26
26
  "data-slot": "number-field",
@@ -32,7 +32,7 @@ function NumberFieldRoot({ className, ref, ...props }) {
32
32
  * Groups the input with increment and decrement buttons.
33
33
  */
34
34
  function NumberFieldGroup({ className, ref, ...props }) {
35
- const classes = mergeBaseClassName(["number-field__group"].filter(Boolean).join(" "), className);
35
+ const classes = mergeBaseClassName("number-field__group", className);
36
36
  return /* @__PURE__ */ jsx(NumberField$1.Group, {
37
37
  ref,
38
38
  "data-slot": "number-field-group",
@@ -44,7 +44,7 @@ function NumberFieldGroup({ className, ref, ...props }) {
44
44
  * The native input control for the number field.
45
45
  */
46
46
  function NumberFieldInput({ className, ref, ...props }) {
47
- const classes = mergeBaseClassName(["number-field__input"].filter(Boolean).join(" "), className);
47
+ const classes = mergeBaseClassName("number-field__input", className);
48
48
  return /* @__PURE__ */ jsx(NumberField$1.Input, {
49
49
  ref,
50
50
  "data-slot": "number-field-input",
@@ -56,7 +56,7 @@ function NumberFieldInput({ className, ref, ...props }) {
56
56
  * Button that increases the value.
57
57
  */
58
58
  function NumberFieldIncrement({ className, ref, ...props }) {
59
- const classes = mergeBaseClassName(["number-field__increment"].filter(Boolean).join(" "), className);
59
+ const classes = mergeBaseClassName("number-field__increment", className);
60
60
  return /* @__PURE__ */ jsx(NumberField$1.Increment, {
61
61
  ref,
62
62
  "data-slot": "number-field-increment",
@@ -68,7 +68,7 @@ function NumberFieldIncrement({ className, ref, ...props }) {
68
68
  * Button that decreases the value.
69
69
  */
70
70
  function NumberFieldDecrement({ className, ref, ...props }) {
71
- const classes = mergeBaseClassName(["number-field__decrement"].filter(Boolean).join(" "), className);
71
+ const classes = mergeBaseClassName("number-field__decrement", className);
72
72
  return /* @__PURE__ */ jsx(NumberField$1.Decrement, {
73
73
  ref,
74
74
  "data-slot": "number-field-decrement",
@@ -80,7 +80,7 @@ function NumberFieldDecrement({ className, ref, ...props }) {
80
80
  * Interactive area for click-and-drag value changes.
81
81
  */
82
82
  function NumberFieldScrubArea({ className, ref, ...props }) {
83
- const classes = mergeBaseClassName(["number-field__scrub-area"].filter(Boolean).join(" "), className);
83
+ const classes = mergeBaseClassName("number-field__scrub-area", className);
84
84
  return /* @__PURE__ */ jsx(NumberField$1.ScrubArea, {
85
85
  ref,
86
86
  "data-slot": "number-field-scrub-area",