mywhy-ui 0.4.0 → 0.5.1

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.
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
- import React9, { useRef, useEffect, useState, useCallback } from 'react';
2
+ import React10, { useMemo, useCallback, useRef, useEffect, useState } from 'react';
3
3
  import { Play, Pause, AlertCircle, Download, CheckCircle2, HelpCircle, AlertTriangle } from 'lucide-react';
4
4
  import { parseRos2idl, parse } from '@foxglove/rosmsg';
5
5
  import { MessageReader, MessageWriter } from '@foxglove/rosmsg2-serialization';
@@ -178,43 +178,117 @@ function Input({
178
178
  error && /* @__PURE__ */ jsx("p", { className: "text-sm text-danger-text", children: error })
179
179
  ] });
180
180
  }
181
- var sizeClasses4 = {
182
- sm: "h-7 px-2 text-sm",
183
- md: "h-8 px-2.5 text-base",
184
- lg: "h-9 px-3 text-md"
185
- };
186
- function Select({
181
+ var Select = ({
187
182
  size = "md",
188
- label,
189
- error,
183
+ variant = "outline",
184
+ disabled = false,
185
+ value,
186
+ placeholder = "Select option",
190
187
  options,
191
- id,
192
- className = "",
193
- ...props
194
- }) {
195
- const selectId = id ?? (label ? label.toLowerCase().replace(/\s+/g, "-") : void 0);
196
- const selectClass = [
197
- "w-full rounded-md border bg-surface-subtle text-ink appearance-none pr-8",
198
- "focus:outline-none focus:ring-2 focus:ring-brand focus:border-brand",
199
- "disabled:opacity-50 disabled:cursor-not-allowed",
200
- "transition-colors",
201
- error ? "border-danger-border focus:ring-danger-icon" : "border-outline hover:border-outline-strong",
202
- sizeClasses4[size],
203
- className
204
- ].filter(Boolean).join(" ");
205
- return /* @__PURE__ */ jsxs("div", { className: "flex flex-col gap-1", children: [
206
- label && /* @__PURE__ */ jsx("label", { htmlFor: selectId, className: "text-sm font-medium text-ink-gray", children: label }),
207
- /* @__PURE__ */ jsxs("div", { className: "relative", children: [
208
- /* @__PURE__ */ jsx("select", { id: selectId, className: selectClass, ...props, children: options.map((opt) => {
209
- const value = typeof opt === "string" ? opt : opt.value;
210
- const label2 = typeof opt === "string" ? opt : opt.label;
211
- return /* @__PURE__ */ jsx("option", { value, children: label2 }, value);
212
- }) }),
213
- /* @__PURE__ */ jsx("span", { className: "absolute right-2.5 top-1/2 -translate-y-1/2 pointer-events-none text-ink-faint", children: /* @__PURE__ */ jsx("svg", { width: "12", height: "12", viewBox: "0 0 12 12", fill: "none", children: /* @__PURE__ */ jsx("path", { d: "M2 4l4 4 4-4", stroke: "currentColor", strokeWidth: "1.5", strokeLinecap: "round", strokeLinejoin: "round" }) }) })
214
- ] }),
215
- error && /* @__PURE__ */ jsx("p", { className: "text-sm text-danger-text", children: error })
188
+ onChange,
189
+ htmlId,
190
+ prefix
191
+ }) => {
192
+ const selectOptions = useMemo(() => {
193
+ return options?.map((option) => {
194
+ if (typeof option === "string") {
195
+ return {
196
+ label: option,
197
+ value: option
198
+ };
199
+ }
200
+ return option;
201
+ }).filter(Boolean) || [];
202
+ }, [options]);
203
+ const handleChange = useCallback(
204
+ (e) => {
205
+ onChange?.(e);
206
+ },
207
+ [onChange]
208
+ );
209
+ const heightClasses = useMemo(() => {
210
+ return {
211
+ sm: "h-8",
212
+ md: "h-9",
213
+ lg: "h-10",
214
+ xl: "h-11"
215
+ }[size];
216
+ }, [size]);
217
+ const fontSizeClasses = useMemo(() => {
218
+ return {
219
+ sm: "text-sm",
220
+ md: "text-sm",
221
+ lg: "text-base",
222
+ xl: "text-base"
223
+ }[size];
224
+ }, [size]);
225
+ const paddingClasses2 = useMemo(() => {
226
+ return {
227
+ sm: "px-3 py-1.5",
228
+ md: "px-3 py-2",
229
+ lg: "px-4 py-2.5",
230
+ xl: "px-4 py-3"
231
+ }[size];
232
+ }, [size]);
233
+ const variantClasses2 = useMemo(() => {
234
+ if (disabled) {
235
+ return "opacity-50 cursor-not-allowed";
236
+ }
237
+ return {
238
+ subtle: "border border-outline-gray-2 bg-surface-gray-2 hover:bg-surface-gray-3 hover:border-outline-gray-3",
239
+ outline: "border border-outline-gray-2 bg-surface-white hover:border-outline-gray-3",
240
+ ghost: "border border-transparent bg-transparent hover:bg-surface-gray-3"
241
+ }[variant];
242
+ }, [variant, disabled]);
243
+ const selectClass = useMemo(() => {
244
+ return `
245
+ relative w-full ${heightClasses} ${fontSizeClasses} ${paddingClasses2}
246
+ rounded pr-10
247
+ ${variantClasses2}
248
+ text-ink-gray-8 transition-colors cursor-pointer
249
+ focus:outline-none focus-visible:ring-2 focus-visible:ring-offset-0 focus-visible:ring-brand-light
250
+ `;
251
+ }, [heightClasses, fontSizeClasses, paddingClasses2, variantClasses2]);
252
+ const selectedOption = selectOptions.find((opt) => opt.value === value);
253
+ selectedOption?.label || placeholder;
254
+ return /* @__PURE__ */ jsxs("div", { className: "relative w-full", children: [
255
+ prefix && /* @__PURE__ */ jsx("div", { className: "absolute inset-y-0 left-0 flex items-center pl-2.5 pointer-events-none text-ink-gray-6", children: prefix?.(size) }),
256
+ /* @__PURE__ */ jsxs(
257
+ "select",
258
+ {
259
+ id: htmlId,
260
+ className: selectClass,
261
+ disabled,
262
+ value: value || "",
263
+ onChange: handleChange,
264
+ "data-testid": "select",
265
+ style: {
266
+ WebkitAppearance: "none",
267
+ MozAppearance: "none",
268
+ appearance: "none",
269
+ backgroundImage: `url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%235a6c7d' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M2 5l6 6 6-6'/%3e%3c/svg%3e")`,
270
+ backgroundRepeat: "no-repeat",
271
+ backgroundPosition: "right 0.5rem center",
272
+ backgroundSize: "1.5em 1.5em",
273
+ paddingRight: "2.5rem"
274
+ },
275
+ children: [
276
+ !value && /* @__PURE__ */ jsx("option", { value: "", children: placeholder }),
277
+ selectOptions.map((option) => /* @__PURE__ */ jsx(
278
+ "option",
279
+ {
280
+ value: option.value,
281
+ disabled: option.disabled,
282
+ children: option.label
283
+ },
284
+ option.value
285
+ ))
286
+ ]
287
+ }
288
+ )
216
289
  ] });
217
- }
290
+ };
291
+ var Select_default = Select;
218
292
  function Switch({
219
293
  label,
220
294
  description,
@@ -318,7 +392,7 @@ function Badge({
318
392
  }
319
393
  );
320
394
  }
321
- var sizeClasses5 = {
395
+ var sizeClasses4 = {
322
396
  xs: "w-5 h-5 text-2xs",
323
397
  sm: "w-6 h-6 text-xs",
324
398
  md: "w-8 h-8 text-sm",
@@ -331,10 +405,17 @@ var shapeClasses = {
331
405
  };
332
406
  var themeClasses = {
333
407
  brand: "bg-brand text-white",
334
- admin: "bg-role-admin text-white",
335
- operator: "bg-role-operator text-white",
336
- viewer: "bg-surface-gray text-ink-light",
337
- gray: "bg-surface-overlay text-ink-light"
408
+ admin: "text-white",
409
+ operator: "text-white",
410
+ viewer: "text-ink-light",
411
+ gray: "text-ink-light"
412
+ };
413
+ var themeStyles = {
414
+ brand: { backgroundColor: "#1A4B8C" },
415
+ admin: { backgroundColor: "#7C3AED" },
416
+ operator: { backgroundColor: "#0EA5E9" },
417
+ viewer: { backgroundColor: "#F8FAFC" },
418
+ gray: { backgroundColor: "#F1F5F9" }
338
419
  };
339
420
  function Avatar({
340
421
  src,
@@ -345,7 +426,7 @@ function Avatar({
345
426
  theme = "brand",
346
427
  className = ""
347
428
  }) {
348
- const baseClass = `inline-flex items-center justify-center shrink-0 font-semibold overflow-hidden ${sizeClasses5[size]} ${shapeClasses[shape]}`;
429
+ const baseClass = `inline-flex items-center justify-center shrink-0 font-semibold overflow-hidden ${sizeClasses4[size]} ${shapeClasses[shape]}`;
349
430
  if (src) {
350
431
  return /* @__PURE__ */ jsx(
351
432
  "img",
@@ -357,7 +438,14 @@ function Avatar({
357
438
  );
358
439
  }
359
440
  const displayInitials = initials ? initials.slice(0, 2).toUpperCase() : alt ? alt.slice(0, 2).toUpperCase() : "?";
360
- return /* @__PURE__ */ jsx("span", { className: `${baseClass} ${themeClasses[theme]} ${className}`, children: displayInitials });
441
+ return /* @__PURE__ */ jsx(
442
+ "span",
443
+ {
444
+ className: `${baseClass} ${themeClasses[theme]} ${className}`,
445
+ style: themeStyles[theme],
446
+ children: displayInitials
447
+ }
448
+ );
361
449
  }
362
450
  var paddingClasses = {
363
451
  none: "",
@@ -417,7 +505,7 @@ function Checkbox({
417
505
  error && /* @__PURE__ */ jsx("p", { className: "text-sm text-danger-text ml-6", children: error })
418
506
  ] });
419
507
  }
420
- var sizeClasses6 = {
508
+ var sizeClasses5 = {
421
509
  sm: "px-2 py-1.5 text-sm",
422
510
  md: "px-2.5 py-2 text-base",
423
511
  lg: "px-3 py-2.5 text-md"
@@ -444,7 +532,7 @@ function Textarea({
444
532
  "disabled:opacity-50 disabled:cursor-not-allowed",
445
533
  "transition-colors",
446
534
  error ? "border-danger-border focus:ring-danger-icon" : "border-outline hover:border-outline-strong",
447
- sizeClasses6[size],
535
+ sizeClasses5[size],
448
536
  resizeClasses[resize],
449
537
  className
450
538
  ].filter(Boolean).join(" ");
@@ -482,7 +570,7 @@ function Alert({
482
570
  className = "",
483
571
  ...props
484
572
  }) {
485
- const [isVisible, setIsVisible] = React9.useState(true);
573
+ const [isVisible, setIsVisible] = React10.useState(true);
486
574
  const handleClose = () => {
487
575
  setIsVisible(false);
488
576
  onClose?.();
@@ -528,8 +616,8 @@ function MultiSelect({
528
616
  className = "",
529
617
  ...props
530
618
  }) {
531
- const [isOpen, setIsOpen] = React9.useState(false);
532
- const [searchTerm, setSearchTerm] = React9.useState("");
619
+ const [isOpen, setIsOpen] = React10.useState(false);
620
+ const [searchTerm, setSearchTerm] = React10.useState("");
533
621
  const containerRef = useRef(null);
534
622
  const inputRef = useRef(null);
535
623
  const filteredOptions = searchable ? options.filter(
@@ -560,7 +648,7 @@ function MultiSelect({
560
648
  document.removeEventListener("mousedown", handleClickOutside);
561
649
  };
562
650
  }, [isOpen]);
563
- const sizeClasses13 = {
651
+ const sizeClasses12 = {
564
652
  sm: "h-7 px-2 text-sm",
565
653
  md: "h-8 px-3 text-base",
566
654
  lg: "h-9 px-4 text-base"
@@ -578,7 +666,7 @@ function MultiSelect({
578
666
  "focus-within:ring-2 focus-within:ring-brand focus-within:ring-offset-1",
579
667
  disabled ? "bg-surface-gray opacity-50 cursor-not-allowed" : "bg-white",
580
668
  error ? "border-danger-border" : "border-outline",
581
- sizeClasses13[size]
669
+ sizeClasses12[size]
582
670
  ].join(" "),
583
671
  onClick: () => !disabled && setIsOpen(!isOpen),
584
672
  children: [
@@ -701,7 +789,7 @@ function Tabs({
701
789
  tabsClassName = "",
702
790
  contentClassName = ""
703
791
  }) {
704
- const [internalActiveTab, setInternalActiveTab] = React9.useState(activeTab || tabs[0]?.value || "");
792
+ const [internalActiveTab, setInternalActiveTab] = React10.useState(activeTab || tabs[0]?.value || "");
705
793
  const active = activeTab !== void 0 ? activeTab : internalActiveTab;
706
794
  const handleTabChange = (value) => {
707
795
  setInternalActiveTab(value);
@@ -758,7 +846,7 @@ function Breadcrumbs({
758
846
  className = "",
759
847
  ...props
760
848
  }) {
761
- return /* @__PURE__ */ jsx("nav", { className: `flex items-center gap-0 text-sm ${className}`, ...props, children: items.map((item, index) => /* @__PURE__ */ jsxs(React9.Fragment, { children: [
849
+ return /* @__PURE__ */ jsx("nav", { className: `flex items-center gap-0 text-sm ${className}`, ...props, children: items.map((item, index) => /* @__PURE__ */ jsxs(React10.Fragment, { children: [
762
850
  index > 0 && /* @__PURE__ */ jsx("span", { className: "text-ink-light px-1.5", children: separator }),
763
851
  item.href ? /* @__PURE__ */ jsxs(
764
852
  "a",
@@ -800,7 +888,7 @@ function Dropdown({
800
888
  triggerClassName = "",
801
889
  menuClassName = ""
802
890
  }) {
803
- const [internalIsOpen, setInternalIsOpen] = React9.useState(false);
891
+ const [internalIsOpen, setInternalIsOpen] = React10.useState(false);
804
892
  const containerRef = useRef(null);
805
893
  const menuRef = useRef(null);
806
894
  const isOpen = controlledIsOpen !== void 0 ? controlledIsOpen : internalIsOpen;
@@ -867,7 +955,7 @@ function Dropdown({
867
955
  )
868
956
  ] });
869
957
  }
870
- var sizeClasses7 = {
958
+ var sizeClasses6 = {
871
959
  sm: "max-w-sm",
872
960
  md: "max-w-md",
873
961
  lg: "max-w-lg",
@@ -914,7 +1002,7 @@ function Dialog({
914
1002
  role: "dialog",
915
1003
  "aria-modal": "true",
916
1004
  "aria-labelledby": title ? "dialog-title" : void 0,
917
- className: `relative w-full ${sizeClasses7[size]} bg-surface rounded-xl shadow-dialog border border-outline flex flex-col max-h-[90vh] ${className}`,
1005
+ className: `relative w-full ${sizeClasses6[size]} bg-surface rounded-xl shadow-dialog border border-outline flex flex-col max-h-[90vh] ${className}`,
918
1006
  children: [
919
1007
  title && /* @__PURE__ */ jsxs("div", { className: "flex items-center justify-between px-5 py-4 border-b border-outline shrink-0", children: [
920
1008
  /* @__PURE__ */ jsx("h2", { id: "dialog-title", className: "text-md font-semibold text-ink", children: title }),
@@ -1092,9 +1180,9 @@ function FileUploader({
1092
1180
  className = "",
1093
1181
  ...props
1094
1182
  }) {
1095
- const [dragActive, setDragActive] = React9.useState(false);
1096
- const [files, setFiles] = React9.useState([]);
1097
- const inputRef = React9.useRef(null);
1183
+ const [dragActive, setDragActive] = React10.useState(false);
1184
+ const [files, setFiles] = React10.useState([]);
1185
+ const inputRef = React10.useRef(null);
1098
1186
  const handleFiles = (fileList) => {
1099
1187
  if (!fileList) return;
1100
1188
  let newFiles = Array.from(fileList);
@@ -1244,7 +1332,7 @@ function DatePicker({
1244
1332
  className = "",
1245
1333
  ...props
1246
1334
  }) {
1247
- const [isOpen, setIsOpen] = React9.useState(false);
1335
+ const [isOpen, setIsOpen] = React10.useState(false);
1248
1336
  const containerRef = useRef(null);
1249
1337
  const handleDateChange = (e) => {
1250
1338
  onChange?.(e.target.value);
@@ -1335,7 +1423,7 @@ function TimePicker({
1335
1423
  className = "",
1336
1424
  ...props
1337
1425
  }) {
1338
- const [isOpen, setIsOpen] = React9.useState(false);
1426
+ const [isOpen, setIsOpen] = React10.useState(false);
1339
1427
  const containerRef = useRef(null);
1340
1428
  const handleTimeChange = (e) => {
1341
1429
  onChange?.(e.target.value);
@@ -1414,7 +1502,7 @@ function TimePicker({
1414
1502
  error && /* @__PURE__ */ jsx("p", { className: "text-xs text-danger-text mt-1", children: error })
1415
1503
  ] });
1416
1504
  }
1417
- var sizeClasses8 = {
1505
+ var sizeClasses7 = {
1418
1506
  sm: "h-1.5",
1419
1507
  md: "h-2.5",
1420
1508
  lg: "h-4"
@@ -1445,11 +1533,11 @@ function Progress({
1445
1533
  "%"
1446
1534
  ] })
1447
1535
  ] }),
1448
- /* @__PURE__ */ jsx("div", { className: `w-full bg-surface-gray rounded-full overflow-hidden ${sizeClasses8[size]}`, children: /* @__PURE__ */ jsx(
1536
+ /* @__PURE__ */ jsx("div", { className: `w-full bg-surface-gray rounded-full overflow-hidden ${sizeClasses7[size]}`, children: /* @__PURE__ */ jsx(
1449
1537
  "div",
1450
1538
  {
1451
1539
  className: [
1452
- `${themeClasses3[theme]} ${sizeClasses8[size]} rounded-full transition-all duration-300`,
1540
+ `${themeClasses3[theme]} ${sizeClasses7[size]} rounded-full transition-all duration-300`,
1453
1541
  striped ? "bg-gradient-to-r from-transparent to-white opacity-30" : "",
1454
1542
  animated ? "animate-pulse" : ""
1455
1543
  ].join(" "),
@@ -1458,7 +1546,7 @@ function Progress({
1458
1546
  ) })
1459
1547
  ] });
1460
1548
  }
1461
- var sizeClasses9 = {
1549
+ var sizeClasses8 = {
1462
1550
  sm: "w-4 h-4",
1463
1551
  md: "w-5 h-5",
1464
1552
  lg: "w-6 h-6"
@@ -1479,7 +1567,7 @@ function Rating({
1479
1567
  className = "",
1480
1568
  ...props
1481
1569
  }) {
1482
- const [hoverValue, setHoverValue] = React9.useState(0);
1570
+ const [hoverValue, setHoverValue] = React10.useState(0);
1483
1571
  const displayValue = hoverValue || value;
1484
1572
  return /* @__PURE__ */ jsxs("div", { className, ...props, children: [
1485
1573
  label && /* @__PURE__ */ jsx("label", { className: "block text-sm font-medium text-ink mb-2", children: label }),
@@ -1494,7 +1582,7 @@ function Rating({
1494
1582
  children: /* @__PURE__ */ jsx(
1495
1583
  "svg",
1496
1584
  {
1497
- className: `${sizeClasses9[size]} ${starValue <= displayValue ? `fill-current ${colorClasses2[color]}` : "text-outline"}`,
1585
+ className: `${sizeClasses8[size]} ${starValue <= displayValue ? `fill-current ${colorClasses2[color]}` : "text-outline"}`,
1498
1586
  viewBox: "0 0 20 20",
1499
1587
  fill: "currentColor",
1500
1588
  children: /* @__PURE__ */ jsx("path", { d: "M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z" })
@@ -1787,7 +1875,7 @@ function EmptyState({
1787
1875
  }
1788
1876
  var ChevronUpIcon = ({ size }) => /* @__PURE__ */ jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("polyline", { points: "18 15 12 9 6 15" }) });
1789
1877
  var ChevronDownIcon = ({ size }) => /* @__PURE__ */ jsx("svg", { width: size, height: size, viewBox: "0 0 24 24", fill: "none", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round", children: /* @__PURE__ */ jsx("polyline", { points: "6 9 12 15 18 9" }) });
1790
- var sizeClasses10 = {
1878
+ var sizeClasses9 = {
1791
1879
  sm: "text-xs px-2 py-1 h-8",
1792
1880
  md: "text-sm px-3 py-2 h-10",
1793
1881
  lg: "text-base px-4 py-2.5 h-12"
@@ -1841,7 +1929,7 @@ function NumberInput({
1841
1929
  max,
1842
1930
  className: `
1843
1931
  flex-1 bg-transparent outline-none text-ink disabled:text-ink-faint disabled:cursor-not-allowed
1844
- ${sizeClasses10[size]}
1932
+ ${sizeClasses9[size]}
1845
1933
  `
1846
1934
  }
1847
1935
  ),
@@ -2001,7 +2089,7 @@ function Timeline({
2001
2089
  ] }, item.id);
2002
2090
  }) });
2003
2091
  }
2004
- var sizeClasses11 = {
2092
+ var sizeClasses10 = {
2005
2093
  xs: "text-xs px-1.5 py-0.5 min-w-5 h-5",
2006
2094
  sm: "text-xs px-2 py-1 min-w-6 h-6",
2007
2095
  md: "text-sm px-2.5 py-1.5 min-w-8 h-8"
@@ -2018,14 +2106,14 @@ function Kbd({
2018
2106
  className = ""
2019
2107
  }) {
2020
2108
  const keyArray = Array.isArray(keys) ? keys : [keys];
2021
- return /* @__PURE__ */ jsx("span", { className: `inline-flex items-center gap-1 ${className}`, children: keyArray.map((key, i) => /* @__PURE__ */ jsxs(React9.Fragment, { children: [
2109
+ return /* @__PURE__ */ jsx("span", { className: `inline-flex items-center gap-1 ${className}`, children: keyArray.map((key, i) => /* @__PURE__ */ jsxs(React10.Fragment, { children: [
2022
2110
  /* @__PURE__ */ jsx(
2023
2111
  "kbd",
2024
2112
  {
2025
2113
  className: `
2026
2114
  inline-flex items-center justify-center rounded font-mono font-medium
2027
2115
  border border-b-2 shadow-sm
2028
- ${sizeClasses11[size]}
2116
+ ${sizeClasses10[size]}
2029
2117
  ${themeClasses5[theme]}
2030
2118
  `,
2031
2119
  children: key
@@ -2108,7 +2196,7 @@ function StatusBadge({
2108
2196
  }
2109
2197
  );
2110
2198
  }
2111
- var sizeClasses12 = {
2199
+ var sizeClasses11 = {
2112
2200
  sm: "text-xs gap-1.5",
2113
2201
  md: "text-sm gap-2",
2114
2202
  lg: "text-base gap-2"
@@ -2127,7 +2215,7 @@ function ConnectionIndicator({
2127
2215
  className = ""
2128
2216
  }) {
2129
2217
  const status = connected ? "online" : "offline";
2130
- return /* @__PURE__ */ jsxs("div", { className: `inline-flex items-center ${sizeClasses12[size]} ${className}`, children: [
2218
+ return /* @__PURE__ */ jsxs("div", { className: `inline-flex items-center ${sizeClasses11[size]} ${className}`, children: [
2131
2219
  /* @__PURE__ */ jsx(
2132
2220
  StatusBadge,
2133
2221
  {
@@ -3069,7 +3157,7 @@ var ROS2Diagnostics = ({
3069
3157
  {
3070
3158
  variant: isPaused ? "solid" : "subtle",
3071
3159
  theme: "brand",
3072
- size: "sm",
3160
+ size: "md",
3073
3161
  onClick: () => {
3074
3162
  if (isPaused) clearDiagHistory();
3075
3163
  setIsPaused(!isPaused);
@@ -3172,6 +3260,6 @@ function useToast() {
3172
3260
  return { toasts, addToast, removeToast };
3173
3261
  }
3174
3262
 
3175
- export { Alert, Avatar, Badge, Breadcrumbs, Button, Card, Checkbox, CodeBlock, ConnectionIcon, ConnectionIndicator, DatePicker, Dialog, Dropdown, EmptyState, FileUploader, FormControl, Input, Kbd, Link, MultiSelect, NumberInput, Pagination, Progress, ROS2Diagnostics, Rating, Select, Sidebar, Slider, Spinner, StatusBadge, Switch, Table, Tabs, Textarea, TimePicker, Timeline, Toast, ToastContainer, Tooltip, useDisclosure, useToast };
3263
+ export { Alert, Avatar, Badge, Breadcrumbs, Button, Card, Checkbox, CodeBlock, ConnectionIcon, ConnectionIndicator, DatePicker, Dialog, Dropdown, EmptyState, FileUploader, FormControl, Input, Kbd, Link, MultiSelect, NumberInput, Pagination, Progress, ROS2Diagnostics, Rating, Select_default as Select, Sidebar, Slider, Spinner, StatusBadge, Switch, Table, Tabs, Textarea, TimePicker, Timeline, Toast, ToastContainer, Tooltip, useDisclosure, useToast };
3176
3264
  //# sourceMappingURL=index.js.map
3177
3265
  //# sourceMappingURL=index.js.map