@illuma-ai/codeviz 1.0.8 → 1.0.9

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
@@ -24583,10 +24583,12 @@ const Xm = `
24583
24583
  /* ── Banking Theme: CSS Custom Properties ── */
24584
24584
  .theme-light {
24585
24585
  --surface-primary: #ffffff;
24586
+ --surface-primary-alt: #efefef;
24586
24587
  --surface-secondary: #f7f7f8;
24587
24588
  --surface-tertiary: #ececec;
24588
24589
  --surface-left-nav: #ededee;
24589
24590
  --surface-active: #e3e3e3;
24591
+ --surface-hover: #e3e3e3;
24590
24592
  --text-primary: #212121;
24591
24593
  --text-secondary: #424242;
24592
24594
  --text-tertiary: #595959;
@@ -24600,10 +24602,12 @@ const Xm = `
24600
24602
  }
24601
24603
  .theme-dark {
24602
24604
  --surface-primary: #0d0d0d;
24605
+ --surface-primary-alt: #171717;
24603
24606
  --surface-secondary: #212121;
24604
24607
  --surface-tertiary: #2f2f2f;
24605
24608
  --surface-left-nav: #1a1a1b;
24606
24609
  --surface-active: #595959;
24610
+ --surface-hover: #424242;
24607
24611
  --text-primary: #ececec;
24608
24612
  --text-secondary: #cdcdcd;
24609
24613
  --text-tertiary: #595959;
@@ -24629,8 +24633,10 @@ const Xm = `
24629
24633
  .text-accent-navy { color: var(--accent-navy); }
24630
24634
  .bg-accent-cyan { background-color: var(--accent-cyan); }
24631
24635
  .bg-accent-navy { background-color: var(--accent-navy); }
24636
+ .bg-surface-primary-alt { background-color: var(--surface-primary-alt); }
24632
24637
  .bg-surface-left-nav { background-color: var(--surface-left-nav); }
24633
24638
  .bg-surface-active { background-color: var(--surface-active); }
24639
+ .bg-surface-hover { background-color: var(--surface-hover); }
24634
24640
  .text-status-positive { color: var(--status-positive); }
24635
24641
  .text-status-negative { color: var(--status-negative); }
24636
24642
  .text-status-warning { color: var(--status-warning); }
@@ -24690,7 +24696,7 @@ function DataTable({ columns = [], data = [], searchable = true, pageSize = 10,
24690
24696
  };
24691
24697
 
24692
24698
  return (
24693
- <div className="bg-surface-secondary border border-border-light rounded-lg overflow-hidden">
24699
+ <div className="bg-surface-secondary border border-border-light rounded-xl overflow-hidden">
24694
24700
  {searchable && (
24695
24701
  <div className="px-4 py-3 border-b border-border-light">
24696
24702
  <input
@@ -24705,13 +24711,13 @@ function DataTable({ columns = [], data = [], searchable = true, pageSize = 10,
24705
24711
  <div className="overflow-x-auto">
24706
24712
  <table className="w-full">
24707
24713
  <thead>
24708
- <tr className="bg-surface-tertiary">
24714
+ <tr className="bg-surface-primary-alt border-b border-border-medium">
24709
24715
  {columns.map(col => (
24710
24716
  <th
24711
24717
  key={col.key}
24712
24718
  onClick={() => col.sortable !== false && handleSort(col.key)}
24713
24719
  className={cn(
24714
- 'px-4 py-2.5 text-xs font-semibold text-text-secondary whitespace-nowrap',
24720
+ 'px-4 py-3 text-xs font-semibold uppercase tracking-wider text-text-secondary whitespace-nowrap',
24715
24721
  col.align === 'right' ? 'text-right' : 'text-left',
24716
24722
  col.sortable !== false && 'cursor-pointer hover:text-text-primary select-none'
24717
24723
  )}
@@ -24731,13 +24737,13 @@ function DataTable({ columns = [], data = [], searchable = true, pageSize = 10,
24731
24737
  <tr
24732
24738
  key={idx}
24733
24739
  onClick={() => onRowClick && onRowClick(row, idx)}
24734
- className={cn('transition-colors', onRowClick && 'cursor-pointer', 'hover:bg-surface-tertiary')}
24740
+ className={cn('border-b border-border-light last:border-b-0 transition-colors', onRowClick && 'cursor-pointer hover:bg-surface-hover')}
24735
24741
  >
24736
24742
  {columns.map(col => (
24737
24743
  <td
24738
24744
  key={col.key}
24739
24745
  className={cn(
24740
- 'px-4 py-2.5 text-sm',
24746
+ 'px-4 py-3 text-sm',
24741
24747
  col.align === 'right' ? 'text-right tabular-nums' : 'text-left',
24742
24748
  'text-text-primary'
24743
24749
  )}
@@ -24800,15 +24806,19 @@ function MetricCard({ label, value, trend, trendLabel, icon, iconColor = '#00C1D
24800
24806
  const IconComp = icon;
24801
24807
 
24802
24808
  return (
24803
- <div className="bg-surface-secondary border border-border-light rounded-lg p-3">
24804
- <div className="flex items-center justify-between mb-1.5">
24805
- <p className="text-text-secondary text-xs font-medium uppercase tracking-wide">{label}</p>
24806
- {IconComp && <IconComp className="w-4 h-4" style={{ color: iconColor }} />}
24809
+ <div className="bg-surface-secondary border border-border-light rounded-xl p-4 transition-all">
24810
+ <div className="flex items-center justify-between mb-1">
24811
+ <p className="text-text-secondary text-xs font-medium">{label}</p>
24812
+ {IconComp && (
24813
+ <div className="flex items-center justify-center w-8 h-8 rounded-lg bg-surface-tertiary">
24814
+ <IconComp className="w-4 h-4" style={{ color: iconColor }} />
24815
+ </div>
24816
+ )}
24807
24817
  </div>
24808
24818
  <p className="text-xl font-bold text-text-primary tabular-nums">{value}</p>
24809
24819
  {trend && (
24810
- <div className="flex items-center gap-1.5 mt-2">
24811
- <span className={cn('text-xs font-semibold', isPositive && 'text-status-positive', isNegative && 'text-status-negative')}>
24820
+ <div className="flex items-center gap-1.5 mt-1.5">
24821
+ <span className={cn('text-xs font-medium', isPositive && 'text-status-positive', isNegative && 'text-status-negative')}>
24812
24822
  {isPositive && '▲'}{isNegative && '▼'} {trend}
24813
24823
  </span>
24814
24824
  {trendLabel && <span className="text-text-tertiary text-xs">{trendLabel}</span>}
@@ -24855,11 +24865,11 @@ function DetailCard({ title, subtitle, status, fields = [], tabs, children }) {
24855
24865
  const [activeTab, setActiveTab] = useState(tabs?.[0]?.id || '');
24856
24866
 
24857
24867
  return (
24858
- <div className="bg-surface-secondary border border-border-light rounded-lg overflow-hidden">
24859
- <div className="p-3 border-b border-border-light">
24868
+ <div className="bg-surface-secondary border border-border-light rounded-xl overflow-hidden">
24869
+ <div className="p-4 border-b border-border-light">
24860
24870
  <div className="flex items-start justify-between mb-2">
24861
24871
  <div>
24862
- <h2 className="text-base font-bold text-text-primary">{title}</h2>
24872
+ <h2 className="text-base font-semibold text-text-primary">{title}</h2>
24863
24873
  {subtitle && <p className="text-text-secondary text-sm mt-0.5">{subtitle}</p>}
24864
24874
  </div>
24865
24875
  {status && <StatusBadge status={status.status} label={status.label} />}
@@ -24923,8 +24933,8 @@ function StepWizard({ steps = [], onComplete }) {
24923
24933
  const prev = () => setCurrent(c => Math.max(0, c - 1));
24924
24934
 
24925
24935
  return (
24926
- <div className="bg-surface-secondary border border-border-light rounded-lg overflow-hidden">
24927
- <div className="flex items-center px-3 py-2.5 border-b border-border-light gap-2">
24936
+ <div className="bg-surface-secondary border border-border-light rounded-xl overflow-hidden">
24937
+ <div className="flex items-center px-4 py-3 border-b border-border-light gap-2">
24928
24938
  {steps.map((step, i) => (
24929
24939
  <div key={step.id} className="flex items-center gap-2">
24930
24940
  <div className={cn(