@marimo-team/islands 0.23.12-dev5 → 0.23.12-dev7

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 (46) hide show
  1. package/dist/{chat-ui-BElU7iES.js → chat-ui-BEOvjkmJ.js} +2 -2
  2. package/dist/{code-visibility-C4oGgzI1.js → code-visibility-43gCeXKe.js} +12 -12
  3. package/dist/{formats-CGj29bgR.js → formats-d6MhLuQ9.js} +1 -1
  4. package/dist/{html-to-image-Pd4oj3-L.js → html-to-image-Di0mtt6O.js} +58 -58
  5. package/dist/main.js +1214 -1201
  6. package/dist/{process-output-nrhrehth.js → process-output-BLd4KuwX.js} +1 -1
  7. package/dist/{reveal-component-BnYITWzo.js → reveal-component-BQHpjptH.js} +3 -3
  8. package/dist/style.css +2 -2
  9. package/dist/{vega-component-CKPImOhx.js → vega-component-Pk6lyc_a.js} +1 -1
  10. package/package.json +3 -3
  11. package/src/components/ai/display-helpers.tsx +5 -5
  12. package/src/components/app-config/ai-config.tsx +5 -5
  13. package/src/components/app-config/mcp-config.tsx +3 -3
  14. package/src/components/chat/acp/agent-panel.tsx +3 -3
  15. package/src/components/chat/acp/blocks.tsx +36 -38
  16. package/src/components/chat/acp/common.tsx +12 -16
  17. package/src/components/chat/acp/scroll-to-bottom-button.tsx +1 -1
  18. package/src/components/chat/acp/session-tabs.tsx +2 -2
  19. package/src/components/chat/chat-history-popover.tsx +1 -1
  20. package/src/components/data-table/columns.tsx +2 -2
  21. package/src/components/data-table/filter-pill-editor.tsx +1 -1
  22. package/src/components/dependency-graph/minimap-content.tsx +1 -1
  23. package/src/components/editor/RecoveryButton.tsx +1 -1
  24. package/src/components/editor/actions/pair-with-agent-modal.tsx +2 -2
  25. package/src/components/editor/ai/ai-completion-editor.tsx +1 -1
  26. package/src/components/editor/cell/CreateCellButton.tsx +1 -1
  27. package/src/components/editor/chrome/panels/empty-state.tsx +1 -1
  28. package/src/components/editor/chrome/panels/outline/floating-outline.tsx +1 -1
  29. package/src/components/editor/chrome/wrapper/pending-ai-cells.tsx +1 -1
  30. package/src/components/editor/columns/cell-column.tsx +1 -1
  31. package/src/components/editor/columns/sortable-column.tsx +2 -2
  32. package/src/components/editor/output/MarimoErrorOutput.tsx +1 -1
  33. package/src/components/editor/output/TextOutput.tsx +2 -2
  34. package/src/components/slides/minimap.tsx +2 -2
  35. package/src/components/slides/reveal-component.tsx +1 -1
  36. package/src/components/ui/alert.tsx +1 -1
  37. package/src/components/ui/command.tsx +2 -2
  38. package/src/components/ui/reorderable-list.tsx +1 -1
  39. package/src/components/ui/table.tsx +2 -5
  40. package/src/core/codemirror/language/languages/sql/renderers.tsx +60 -68
  41. package/src/plugins/impl/MatrixPlugin.tsx +2 -2
  42. package/src/plugins/impl/TabsPlugin.tsx +1 -1
  43. package/src/plugins/impl/matplotlib/matplotlib-renderer.ts +1 -1
  44. package/src/plugins/impl/mpl-interactive/MplInteractivePlugin.tsx +155 -98
  45. package/src/plugins/impl/mpl-interactive/__tests__/MplInteractivePlugin.test.tsx +154 -1
  46. package/src/plugins/impl/mpl-interactive/mpl-websocket-shim.ts +10 -0
@@ -514,7 +514,7 @@ const SlideThumbnailRow = ({
514
514
  tabIndex={0}
515
515
  data-cell-id={cell.id}
516
516
  className={cn(
517
- "relative shrink-0 appearance-none text-left p-0 bg-transparent outline-none",
517
+ "relative shrink-0 appearance-none text-left p-0 bg-transparent outline-hidden",
518
518
  className,
519
519
  )}
520
520
  style={rowStyle}
@@ -591,7 +591,7 @@ const InsertCellLine = ({
591
591
  data-testid="minimap-insert-cell"
592
592
  className={cn(
593
593
  "absolute left-0 right-0 z-30 flex h-3 items-center justify-center",
594
- "opacity-0 transition-opacity hover:opacity-80 focus-visible:opacity-100 focus:outline-none",
594
+ "opacity-0 transition-opacity hover:opacity-80 focus-visible:opacity-100 focus:outline-hidden",
595
595
  position === "below"
596
596
  ? "bottom-0 translate-y-1/2"
597
597
  : "top-0 -translate-y-1/2",
@@ -684,7 +684,7 @@ const RevealSlidesComponent = ({
684
684
  <div className="group relative" style={{ width, height }}>
685
685
  <Deck
686
686
  deckRef={deckRef}
687
- className="aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-none focus-visible:outline-none"
687
+ className="aspect-video w-full overflow-hidden border rounded bg-background mo-slides-theme prose-slides focus:outline-hidden focus-visible:outline-hidden"
688
688
  config={revealConfig}
689
689
  onReady={handleDeckReady}
690
690
  onSlideChange={handleSlideChange}
@@ -6,7 +6,7 @@ import * as React from "react";
6
6
  import { cn } from "@/utils/cn";
7
7
 
8
8
  const alertVariants = cva(
9
- "relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] [&:has(svg)]:pl-11",
9
+ "relative w-full rounded-lg border p-4 [&>svg]:absolute [&>svg]:text-foreground [&>svg]:left-4 [&>svg]:top-4 [&>svg+div]:translate-y-[-3px] has-[svg]:pl-11",
10
10
  {
11
11
  variants: {
12
12
  variant: {
@@ -44,7 +44,7 @@ const CommandDialog = ({ children, ...props }: CommandDialogProps) => {
44
44
  className="overflow-hidden p-0 shadow-2xl"
45
45
  usePortal={true}
46
46
  >
47
- <Command className="[&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 [&_[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 [&_[cmdk-input]]:h-12 [&_[cmdk-item]]:px-2 [&_[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
47
+ <Command className="**:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground [&_[cmdk-group]:not([hidden])_~[cmdk-group]]:pt-0 **:[[cmdk-group]]:px-2 [&_[cmdk-input-wrapper]_svg]:h-5 [&_[cmdk-input-wrapper]_svg]:w-5 **:[[cmdk-input]]:h-12 **:[[cmdk-item]]:px-2 **:[[cmdk-item]]:py-3 [&_[cmdk-item]_svg]:h-5 [&_[cmdk-item]_svg]:w-5">
48
48
  {children}
49
49
  </Command>
50
50
  </DialogContent>
@@ -113,7 +113,7 @@ const CommandGroup = React.forwardRef<
113
113
  <CommandPrimitive.Group
114
114
  ref={ref}
115
115
  className={cn(
116
- "overflow-hidden p-1 text-foreground [&_[cmdk-group-heading]]:px-2 [&_[cmdk-group-heading]]:py-1.5 [&_[cmdk-group-heading]]:text-xs [&_[cmdk-group-heading]]:font-medium [&_[cmdk-group-heading]]:text-muted-foreground",
116
+ "overflow-hidden p-1 text-foreground **:[[cmdk-group-heading]]:px-2 **:[[cmdk-group-heading]]:py-1.5 **:[[cmdk-group-heading]]:text-xs **:[[cmdk-group-heading]]:font-medium **:[[cmdk-group-heading]]:text-muted-foreground",
117
117
  className,
118
118
  )}
119
119
  {...props}
@@ -300,7 +300,7 @@ export const ReorderableList = <T extends object>({
300
300
  <ListBoxItem
301
301
  key={getKey(item)}
302
302
  id={getKey(item)}
303
- className="active:cursor-grabbing data-[dragging]:opacity-60 outline-none"
303
+ className="active:cursor-grabbing data-dragging:opacity-60 outline-hidden"
304
304
  onHoverStart={
305
305
  onItemPreloadHint ? () => onItemPreloadHint(item) : undefined
306
306
  }
@@ -75,7 +75,7 @@ const TableHead = React.forwardRef<
75
75
  <th
76
76
  ref={ref}
77
77
  className={cn(
78
- "h-10 px-2 text-left align-middle font-medium text-muted-foreground [&:has([role=checkbox])]:pr-0",
78
+ "h-10 px-2 text-left align-middle font-medium text-muted-foreground has-[[role=checkbox]]:pr-0",
79
79
  className,
80
80
  )}
81
81
  {...props}
@@ -89,10 +89,7 @@ const TableCell = React.forwardRef<
89
89
  >(({ className, ...props }, ref) => (
90
90
  <td
91
91
  ref={ref}
92
- className={cn(
93
- "p-1.5 align-middle [&:has([role=checkbox])]:pr-0",
94
- className,
95
- )}
92
+ className={cn("p-1.5 align-middle has-[[role=checkbox]]:pr-0", className)}
96
93
  {...props}
97
94
  />
98
95
  ));
@@ -34,22 +34,22 @@ const PREVIEW_ITEM_LIMIT = 5;
34
34
 
35
35
  // Color mappings for data types (Tailwind-safe)
36
36
  const DATA_TYPE_COLORS: Record<DataType, string> = {
37
- boolean: "bg-[var(--orange-4)] text-[var(--orange-11)]",
38
- date: "bg-[var(--grass-4)] text-[var(--grass-11)]",
39
- time: "bg-[var(--grass-4)] text-[var(--grass-11)]",
40
- datetime: "bg-[var(--grass-4)] text-[var(--grass-11)]",
41
- number: "bg-[var(--purple-4)] text-[var(--purple-11)]",
42
- integer: "bg-[var(--purple-4)] text-[var(--purple-11)]",
43
- string: "bg-[var(--blue-4)] text-[var(--blue-11)]",
44
- unknown: "bg-[var(--slate-4)] text-[var(--slate-11)]",
37
+ boolean: "bg-(--orange-4) text-(--orange-11)",
38
+ date: "bg-(--grass-4) text-(--grass-11)",
39
+ time: "bg-(--grass-4) text-(--grass-11)",
40
+ datetime: "bg-(--grass-4) text-(--grass-11)",
41
+ number: "bg-(--purple-4) text-(--purple-11)",
42
+ integer: "bg-(--purple-4) text-(--purple-11)",
43
+ string: "bg-(--blue-4) text-(--blue-11)",
44
+ unknown: "bg-(--slate-4) text-(--slate-11)",
45
45
  };
46
46
 
47
47
  // Source type colors
48
48
  const SOURCE_TYPE_COLORS = {
49
- local: "bg-[var(--blue-4)] text-[var(--blue-11)]",
50
- duckdb: "bg-[var(--amber-4)] text-[var(--amber-11)]",
51
- connection: "bg-[var(--green-4)] text-[var(--green-11)]",
52
- catalog: "bg-[var(--purple-4)] text-[var(--purple-11)]",
49
+ local: "bg-(--blue-4) text-(--blue-11)",
50
+ duckdb: "bg-(--amber-4) text-(--amber-11)",
51
+ connection: "bg-(--green-4) text-(--green-11)",
52
+ catalog: "bg-(--purple-4) text-(--purple-11)",
53
53
  } as const;
54
54
 
55
55
  const CONTAINER_STYLES = "p-3 min-w-[250px] flex flex-col divide-y";
@@ -78,7 +78,7 @@ const MetadataRow: React.FC<{
78
78
  value: React.ReactNode;
79
79
  }> = ({ label, value }) => (
80
80
  <div className="flex items-center justify-between text-xs">
81
- <span className="text-[var(--slate-11)]">{label}:</span>
81
+ <span className="text-(--slate-11)">{label}:</span>
82
82
  {value}
83
83
  </div>
84
84
  );
@@ -89,7 +89,7 @@ const StatisticItem: React.FC<{
89
89
  }> = ({ icon, text }) => (
90
90
  <div className="flex items-center gap-1">
91
91
  {icon}
92
- <span className="text-xs text-[var(--slate-11)]">{text}</span>
92
+ <span className="text-xs text-(--slate-11)">{text}</span>
93
93
  </div>
94
94
  );
95
95
 
@@ -109,14 +109,12 @@ const PreviewList: React.FC<{
109
109
  return (
110
110
  <div className="py-2">
111
111
  {title && (
112
- <h4 className="text-xs font-medium text-[var(--slate-11)] mb-2">
113
- {title}:
114
- </h4>
112
+ <h4 className="text-xs font-medium text-(--slate-11) mb-2">{title}:</h4>
115
113
  )}
116
114
  <div className="flex flex-col gap-1 overflow-y-auto">
117
115
  {visibleItems}
118
116
  {hasMore && (
119
- <div className="text-xs text-[var(--slate-10)] text-center py-1">
117
+ <div className="text-xs text-(--slate-10) text-center py-1">
120
118
  ... and {totalCount - limit} more
121
119
  </div>
122
120
  )}
@@ -132,9 +130,9 @@ const getDataTypeColorClass = (dataType: DataType): string => {
132
130
  export const renderTableInfo = (table: DataTable): React.ReactNode => {
133
131
  const tableIcon =
134
132
  table.type === "view" ? (
135
- <ViewIcon className="w-4 h-4 text-[var(--blue-9)]" />
133
+ <ViewIcon className="w-4 h-4 text-(--blue-9)" />
136
134
  ) : (
137
- <TableIcon className="w-4 h-4 text-[var(--green-9)]" />
135
+ <TableIcon className="w-4 h-4 text-(--green-9)" />
138
136
  );
139
137
 
140
138
  const typeBadge = (
@@ -142,8 +140,8 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
142
140
  variant="secondary"
143
141
  className={`text-xs ${
144
142
  table.type === "view"
145
- ? "bg-[var(--blue-4)] text-[var(--blue-11)]"
146
- : "bg-[var(--green-4)] text-[var(--green-11)]"
143
+ ? "bg-(--blue-4) text-(--blue-11)"
144
+ : "bg-(--green-4) text-(--green-11)"
147
145
  }`}
148
146
  >
149
147
  {table.type}
@@ -158,7 +156,7 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
158
156
  className="flex items-center justify-between text-xs rounded"
159
157
  >
160
158
  <div className="flex items-center gap-2">
161
- <TypeIcon className="w-3 h-3 text-[var(--slate-9)]" />
159
+ <TypeIcon className="w-3 h-3 text-(--slate-9)" />
162
160
  <span className="font-mono">{column.name}</span>
163
161
  </div>
164
162
  <Badge
@@ -196,7 +194,7 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
196
194
  <MetadataRow
197
195
  label="Variable"
198
196
  value={
199
- <code className="text-xs bg-[var(--slate-4)] px-1 rounded">
197
+ <code className="text-xs bg-(--slate-4) px-1 rounded">
200
198
  {table.variable_name}
201
199
  </code>
202
200
  }
@@ -207,7 +205,7 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
207
205
  <MetadataRow
208
206
  label="Engine"
209
207
  value={
210
- <code className="text-xs bg-[var(--slate-4)] px-1 rounded">
208
+ <code className="text-xs bg-(--slate-4) px-1 rounded">
211
209
  {table.engine}
212
210
  </code>
213
211
  }
@@ -220,13 +218,13 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
220
218
  <div className="grid grid-cols-2 gap-2 py-2">
221
219
  {table.num_columns != null && (
222
220
  <StatisticItem
223
- icon={<ColumnIcon className="w-3 h-3 text-[var(--slate-9)]" />}
221
+ icon={<ColumnIcon className="w-3 h-3 text-(--slate-9)" />}
224
222
  text={`${table.num_columns} ${columnsText.pluralize(table.num_columns)}`}
225
223
  />
226
224
  )}
227
225
  {table.num_rows != null && (
228
226
  <StatisticItem
229
- icon={<HashIcon className="w-3 h-3 text-[var(--slate-9)]" />}
227
+ icon={<HashIcon className="w-3 h-3 text-(--slate-9)" />}
230
228
  text={`${table.num_rows} ${rowsText.pluralize(table.num_rows)}`}
231
229
  />
232
230
  )}
@@ -242,8 +240,8 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
242
240
  {hasPrimaryKeys && (
243
241
  <div className="flex flex-row gap-1">
244
242
  <div className="flex items-center gap-1">
245
- <PrimaryKeyIcon className="w-3 h-3 text-[var(--amber-9)]" />
246
- <span className="text-xs font-medium text-[var(--slate-11)]">
243
+ <PrimaryKeyIcon className="w-3 h-3 text-(--amber-9)" />
244
+ <span className="text-xs font-medium text-(--slate-11)">
247
245
  Primary Keys:
248
246
  </span>
249
247
  </div>
@@ -251,7 +249,7 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
251
249
  <Badge
252
250
  key={key}
253
251
  variant="outline"
254
- className="text-xs text-[var(--slate-11)]"
252
+ className="text-xs text-(--slate-11)"
255
253
  >
256
254
  {key}
257
255
  </Badge>
@@ -262,8 +260,8 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
262
260
  {hasIndexes && (
263
261
  <div className="flex flex-row gap-1">
264
262
  <div className="flex items-center gap-1 mb-1">
265
- <IndexIcon className="w-3 h-3 text-[var(--purple-9)]" />
266
- <span className="text-xs font-medium text-[var(--slate-11)]">
263
+ <IndexIcon className="w-3 h-3 text-(--purple-9)" />
264
+ <span className="text-xs font-medium text-(--slate-11)">
267
265
  Indexes:
268
266
  </span>
269
267
  </div>
@@ -271,7 +269,7 @@ export const renderTableInfo = (table: DataTable): React.ReactNode => {
271
269
  <Badge
272
270
  key={index}
273
271
  variant="outline"
274
- className="text-xs text-[var(--slate-11)]"
272
+ className="text-xs text-(--slate-11)"
275
273
  >
276
274
  {index}
277
275
  </Badge>
@@ -303,10 +301,7 @@ export const renderColumnInfo = (column: DataTableColumn): React.ReactNode => {
303
301
 
304
302
  const sampleItems =
305
303
  column.sample_values?.map((value, index) => (
306
- <div
307
- key={index}
308
- className="text-xs bg-[var(--slate-3)] rounded font-mono"
309
- >
304
+ <div key={index} className="text-xs bg-(--slate-3) rounded font-mono">
310
305
  {value === null || value === undefined ? "null" : String(value)}
311
306
  </div>
312
307
  )) || [];
@@ -314,7 +309,7 @@ export const renderColumnInfo = (column: DataTableColumn): React.ReactNode => {
314
309
  return (
315
310
  <div className={CONTAINER_STYLES}>
316
311
  <SectionHeader
317
- icon={<TypeIcon className="w-4 h-4 text-[var(--slate-9)]" />}
312
+ icon={<TypeIcon className="w-4 h-4 text-(--slate-9)" />}
318
313
  title={column.name}
319
314
  badge={typeBadge}
320
315
  />
@@ -328,7 +323,7 @@ export const renderColumnInfo = (column: DataTableColumn): React.ReactNode => {
328
323
  <MetadataRow
329
324
  label="External Type"
330
325
  value={
331
- <code className="text-xs bg-[var(--slate-4)] px-1 rounded">
326
+ <code className="text-xs bg-(--slate-4) px-1 rounded">
332
327
  {column.external_type}
333
328
  </code>
334
329
  }
@@ -349,10 +344,7 @@ export const renderColumnInfo = (column: DataTableColumn): React.ReactNode => {
349
344
 
350
345
  export const renderDatabaseInfo = (database: Database): React.ReactNode => {
351
346
  const dialectBadge = (
352
- <Badge
353
- variant="outline"
354
- className="text-xs bg-[var(--blue-4)] text-[var(--blue-11)]"
355
- >
347
+ <Badge variant="outline" className="text-xs bg-(--blue-4) text-(--blue-11)">
356
348
  {database.dialect}
357
349
  </Badge>
358
350
  );
@@ -360,10 +352,10 @@ export const renderDatabaseInfo = (database: Database): React.ReactNode => {
360
352
  const schemaItems = database.schemas.map((schema) => (
361
353
  <div
362
354
  key={schema.name}
363
- className="flex items-center justify-between text-xs rounded hover:bg-[var(--slate-3)]"
355
+ className="flex items-center justify-between text-xs rounded hover:bg-(--slate-3)"
364
356
  >
365
357
  <div className="flex items-center gap-2">
366
- <SchemaIcon className="w-3 h-3 text-[var(--slate-9)]" />
358
+ <SchemaIcon className="w-3 h-3 text-(--slate-9)" />
367
359
  <span>{schema.name}</span>
368
360
  </div>
369
361
  <Badge variant="outline" className="text-xs">
@@ -375,7 +367,7 @@ export const renderDatabaseInfo = (database: Database): React.ReactNode => {
375
367
  return (
376
368
  <div className={CONTAINER_STYLES}>
377
369
  <SectionHeader
378
- icon={<DatabaseIcon className="w-4 h-4 text-[var(--blue-9)]" />}
370
+ icon={<DatabaseIcon className="w-4 h-4 text-(--blue-9)" />}
379
371
  title={database.name}
380
372
  badge={dialectBadge}
381
373
  />
@@ -390,7 +382,7 @@ export const renderDatabaseInfo = (database: Database): React.ReactNode => {
390
382
  <MetadataRow
391
383
  label="Engine"
392
384
  value={
393
- <code className="text-xs bg-[var(--slate-4)] px-1 rounded">
385
+ <code className="text-xs bg-(--slate-4) px-1 rounded">
394
386
  {database.engine}
395
387
  </code>
396
388
  }
@@ -400,7 +392,7 @@ export const renderDatabaseInfo = (database: Database): React.ReactNode => {
400
392
  {/* Schema Statistics */}
401
393
  <div className="py-2">
402
394
  <StatisticItem
403
- icon={<SchemaIcon className="w-3 h-3 text-[var(--slate-9)]" />}
395
+ icon={<SchemaIcon className="w-3 h-3 text-(--slate-9)" />}
404
396
  text={`${database.schemas.length} schema${database.schemas.length === 1 ? "" : "s"}`}
405
397
  />
406
398
  </div>
@@ -423,7 +415,7 @@ export const renderSchemaInfo = (schema: DatabaseSchema): React.ReactNode => {
423
415
  const schemaBadge = (
424
416
  <Badge
425
417
  variant="outline"
426
- className="text-xs bg-[var(--green-4)] text-[var(--green-11)]"
418
+ className="text-xs bg-(--green-4) text-(--green-11)"
427
419
  >
428
420
  Schema
429
421
  </Badge>
@@ -432,13 +424,13 @@ export const renderSchemaInfo = (schema: DatabaseSchema): React.ReactNode => {
432
424
  const tableItems = schema.tables.map((table) => (
433
425
  <div
434
426
  key={table.name}
435
- className="flex items-center justify-between text-xs rounded hover:bg-[var(--slate-3)]"
427
+ className="flex items-center justify-between text-xs rounded hover:bg-(--slate-3)"
436
428
  >
437
429
  <div className="flex items-center gap-2">
438
430
  {table.type === "view" ? (
439
- <ViewIcon className="w-3 h-3 text-[var(--blue-9)]" />
431
+ <ViewIcon className="w-3 h-3 text-(--blue-9)" />
440
432
  ) : (
441
- <TableIcon className="w-3 h-3 text-[var(--green-9)]" />
433
+ <TableIcon className="w-3 h-3 text-(--green-9)" />
442
434
  )}
443
435
  <span>{table.name}</span>
444
436
  </div>
@@ -446,8 +438,8 @@ export const renderSchemaInfo = (schema: DatabaseSchema): React.ReactNode => {
446
438
  variant="outline"
447
439
  className={`text-xs ${
448
440
  table.type === "view"
449
- ? "bg-[var(--blue-4)] text-[var(--blue-11)]"
450
- : "bg-[var(--green-4)] text-[var(--green-11)]"
441
+ ? "bg-(--blue-4) text-(--blue-11)"
442
+ : "bg-(--green-4) text-(--green-11)"
451
443
  }`}
452
444
  >
453
445
  {table.type}
@@ -458,7 +450,7 @@ export const renderSchemaInfo = (schema: DatabaseSchema): React.ReactNode => {
458
450
  return (
459
451
  <div className={CONTAINER_STYLES}>
460
452
  <SectionHeader
461
- icon={<SchemaIcon className="w-4 h-4 text-[var(--green-9)]" />}
453
+ icon={<SchemaIcon className="w-4 h-4 text-(--green-9)" />}
462
454
  title={schema.name}
463
455
  badge={schemaBadge}
464
456
  />
@@ -466,7 +458,7 @@ export const renderSchemaInfo = (schema: DatabaseSchema): React.ReactNode => {
466
458
  {/* Table Statistics */}
467
459
  <div className="py-2">
468
460
  <StatisticItem
469
- icon={<TableIcon className="w-3 h-3 text-[var(--slate-9)]" />}
461
+ icon={<TableIcon className="w-3 h-3 text-(--slate-9)" />}
470
462
  text={`${schema.tables.length} table${schema.tables.length === 1 ? "" : "s"}`}
471
463
  />
472
464
  </div>
@@ -516,7 +508,7 @@ export const renderDatasourceInfo = (
516
508
  .map((table) => {
517
509
  return (
518
510
  <div key={table.name} className="flex items-center gap-2 ml-4">
519
- <TableIcon className="w-3 h-3 text-[var(--green-9)]" />
511
+ <TableIcon className="w-3 h-3 text-(--green-9)" />
520
512
  <span className="text-xs">{table.name}</span>
521
513
  </div>
522
514
  );
@@ -525,8 +517,8 @@ export const renderDatasourceInfo = (
525
517
 
526
518
  return (
527
519
  <div key={schema.name}>
528
- <div className="flex items-center gap-2 text-xs rounded hover:bg-[var(--slate-3)] ml-2">
529
- <SchemaIcon className="w-3 h-3 text-[var(--slate-9)]" />
520
+ <div className="flex items-center gap-2 text-xs rounded hover:bg-(--slate-3) ml-2">
521
+ <SchemaIcon className="w-3 h-3 text-(--slate-9)" />
530
522
  <span>{schema.name}</span>
531
523
  {isDefaultSchema && DefaultBadge}
532
524
  <Badge variant="outline" className="text-xs ml-auto">
@@ -554,7 +546,7 @@ export const renderDatasourceInfo = (
554
546
  return (
555
547
  <div key={db.name}>
556
548
  <div className="flex items-center gap-2">
557
- <DatabaseIcon className="w-3 h-3 text-[var(--blue-9)]" />
549
+ <DatabaseIcon className="w-3 h-3 text-(--blue-9)" />
558
550
  <span className="text-xs">{db.name}</span>
559
551
  {isDefaultDb && DefaultBadge}
560
552
  </div>
@@ -572,7 +564,7 @@ export const renderDatasourceInfo = (
572
564
 
573
565
  const dataframeItems = dataframes?.map((table) => (
574
566
  <div key={table.name} className="flex items-center gap-2">
575
- <TableIcon className="w-3 h-3 text-[var(--blue-9)]" />
567
+ <TableIcon className="w-3 h-3 text-(--blue-9)" />
576
568
  <span className="text-xs">{table.name}</span>
577
569
  </div>
578
570
  ));
@@ -580,7 +572,7 @@ export const renderDatasourceInfo = (
580
572
  return (
581
573
  <div className={`${CONTAINER_STYLES} px-1`}>
582
574
  <SectionHeader
583
- icon={<DatasourceIcon className="w-4 h-4 text-[var(--purple-9)]" />}
575
+ icon={<DatasourceIcon className="w-4 h-4 text-(--purple-9)" />}
584
576
  title={title}
585
577
  />
586
578
 
@@ -599,7 +591,7 @@ export const renderDatasourceInfo = (
599
591
  value={
600
592
  <Badge
601
593
  variant="outline"
602
- className="text-xs bg-[var(--green-4)] text-[var(--green-11)]"
594
+ className="text-xs bg-(--green-4) text-(--green-11)"
603
595
  >
604
596
  {connection.source}
605
597
  </Badge>
@@ -610,11 +602,11 @@ export const renderDatasourceInfo = (
610
602
  {/* Statistics */}
611
603
  <div className="flex flex-row justify-between py-2">
612
604
  <StatisticItem
613
- icon={<DatabaseIcon className="w-3 h-3 text-[var(--slate-9)]" />}
605
+ icon={<DatabaseIcon className="w-3 h-3 text-(--slate-9)" />}
614
606
  text={`${databaseCount} ${databasesText.pluralize(databaseCount)}`}
615
607
  />
616
608
  <StatisticItem
617
- icon={<SchemaIcon className="w-3 h-3 text-[var(--slate-9)]" />}
609
+ icon={<SchemaIcon className="w-3 h-3 text-(--slate-9)" />}
618
610
  text={`${schemasCount} ${schemasText.pluralize(schemasCount)}`}
619
611
  />
620
612
  </div>
@@ -641,10 +633,10 @@ export const renderEmptyInfo = (
641
633
  ) => {
642
634
  return (
643
635
  <div className="flex items-start gap-2 mt-3">
644
- <InfoIcon size={10} className="mt-1 text-[var(--slate-10)] shrink-0" />
645
- <span className="text-xs text-[var(--slate-11)]">
636
+ <InfoIcon size={10} className="mt-1 text-(--slate-10) shrink-0" />
637
+ <span className="text-xs text-(--slate-11)">
646
638
  No {type} information available.{" \n"}
647
- <span className="text-[var(--blue-10)]">
639
+ <span className="text-(--blue-10)">
648
640
  Introspect to see more details.
649
641
  </span>
650
642
  </span>
@@ -244,10 +244,10 @@ const MatrixComponent = ({
244
244
  <td
245
245
  key={j}
246
246
  className={cn(
247
- "relative text-center min-w-14 h-8 px-2 transition-colors touch-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-none",
247
+ "relative text-center min-w-14 h-8 px-2 transition-colors touch-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:outline-hidden",
248
248
  isDisabled
249
249
  ? "cursor-default text-muted-foreground"
250
- : "cursor-ew-resize text-[var(--link)] hover:bg-accent",
250
+ : "cursor-ew-resize text-link hover:bg-accent",
251
251
  isActive && "bg-accent",
252
252
  j === 0 && "bracket-l",
253
253
  j === numCols - 1 && "bracket-r",
@@ -90,7 +90,7 @@ const TabComponent = ({
90
90
  className={cn(
91
91
  "scrollbar-thin",
92
92
  isVertical
93
- ? "flex flex-col items-stretch justify-start h-auto max-h-none shrink-0 min-w-[10rem] overflow-y-auto"
93
+ ? "flex flex-col items-stretch justify-start h-auto max-h-none shrink-0 min-w-40 overflow-y-auto"
94
94
  : "max-w-full overflow-x-auto justify-start",
95
95
  )}
96
96
  >
@@ -292,7 +292,7 @@ export class MatplotlibRenderer {
292
292
  // Configure container
293
293
  container.tabIndex = -1;
294
294
  container.role = "application";
295
- container.className = "relative inline-block select-none outline-none";
295
+ container.className = "relative inline-block select-none outline-hidden";
296
296
 
297
297
  // Create canvas
298
298
  const canvas = document.createElement("canvas");